[Tips] หมดปัญหา Upgrade Node Package Dependencies ด้วย yarn-upgrade-all
โปรแกรมเมอร์ Node.JS หลายคนเจอปัญหาในการอัพเกรดตัว Modules Dependency ใช่ไหมครับ เพราะโปรเจคหนึ่งมี หลัก 10 จนถึงหลัก 100 Modules
วิธีที่ 1 ไล่เช็คไปทีละตัว
ผมใช้ Yarn เป็นตัวจัดการ Package ต่างๆในโปรเจคของผม เมื่อถึงเวลาต้อง Upgrade ตัว package ผมก็ต้องไล่เช็คที่ละ Package ว่ามี Version ใหม่ๆออกมาบ้างไหม หน้าตาก็จะเป็นแบบนี้ครับ
วิธีนี้เราต้องนั่งเลือก Version ของแต่ละ Packge เองทั้งหมดทีละตัว ดูเป็นงานถึก ดูไม่ Engineer เลย
วิธีที่ 2 ใช้คำสั่ง
yarn upgrade — latest
การใช้ yarn upgrade — latest จะอัพเดทเพียงบ้าง Package เท่านั้น
จะเห็นว่าอัพเดทเฉพาะ Module ใหญ่ๆที่เปลี่ยน Version เท่านั้น เช่น Next.js จาก 4.0.1 เป็น 5.1.0 แต่เราอยากให้ทุกๆ Modules อัพเดทหนะสิ
ผมขอนำเสนอ yarn-upgrade-all
ทำให้เราสามารถอัพเดททุกๆ Package ในโปรเจคได้ใน Command เดียว ลดเวลามานั่งหา Version ของแต่ละ Package ไปได้เยอะเลย
- วิธีติดตั้งก็ง่ายเหมือนปลอกกล้วยเข้าปาก
2. วิธีใช้งานก็ พิมพ์ yarn-upgrade-all
เพียงเท่านี้เราก็จะได้ Package Stable ที่ล่าสุดใช้งานในโปรเจคของเราแล้วครับ
หลักการทำงานของ yarn-upgrade-all
ก็คือใช้ Script ที่ไล่เช็ค Dependencies ในโปรเจคของเรา และทำการ Remove ออก และ Add กลับเข้าไปใหม่ทำให้ได้ package ที่ update แล้วครับ
yarn remove <package-name> && yarn add <package-name>
ทำไมถึงไม่ใช้ yarn upgrade --latest
บ้างครั้งเราเจอ Bug ในการ upgrade ด้วยวิธีนี้ การ Remove และ Add เข้าไปใหม่อาจจะเป็นวิธีที่ทำให้ Dependencies ที่เชื่อมโยงกันอยู่ได้รับการ Upgrade กลับเข้าไปด้วยครับ
ปล. อย่าลืมเทสโปรเจคหลัง Upgrade Modules ด้วยนะครับ เผื่อมีบางคำสั่งที่ Deprecated เดี๋ยวจะรันไม่ผ่านครับ