9 คะแนน โดย hiddenest 2023-03-13 | 2 ความคิดเห็น | แชร์ทาง WhatsApp

บทความนี้สรุปสิ่งที่รู้สึกหลังจากย้ายแพ็กเกจแมเนเจอร์ที่ใช้ในฝั่งฟรอนต์เอนด์ของ Airbridge จาก Yarn Berry ไปเป็น pnpm และใช้งานมาเป็นเวลา 1 ปี

ปัญหาที่พบจาก Yarn Berry

  • Yarn PnP สร้างภาระให้กับ Git อย่างต่อเนื่อง
  • การต่อสู้อันยืดเยื้อกับ Ghost Dependency
  • บั๊กจุกจิกต่าง ๆ ของ Yarn Workspace

วิธีแก้ที่ได้จากการนำ pnpm มาใช้

  • เวลาติดตั้งแพ็กเกจระหว่างกระบวนการดีพลอยเร็วขึ้นประมาณ 30 วินาที ~ 1 นาที
    • เก็บแพ็กเกจไว้ในสโตร์ส่วนกลาง (Virtual Store) / เชื่อมกับ node_modules ของโปรเจ็กต์ด้วย symlink
    • ไม่ติดตั้งแพ็กเกจที่ซ้ำกัน จึงประหยัดทั้งพื้นที่จัดเก็บและเครือข่าย
  • ตั้งค่า monorepo ได้ง่ายขึ้น เพราะมีการลิงก์ระหว่างแพ็กเกจให้อัตโนมัติ
  • ฟีเจอร์ที่เคยใช้ใน Yarn Berry เช่น patch-package, dedupe แทบทั้งหมดก็ยังใช้งานได้เหมือนเดิม

2 ความคิดเห็น

 
[ความคิดเห็นนี้ถูกซ่อน]
 
hiddenest 2023-03-13

ผมคิดว่าน่าจะมีส่วนแบบนั้นอยู่เหมือนกัน และในกรณีของ Yarn Berry เอง จุดที่มีระบบปลั๊กอินที่ทรงพลังก็น่าจะเป็นอีกปัจจัยหนึ่งด้วยครับ