นักพัฒนาลองของ สร้างแพ็กเกจ everything ใน NPM ลากทุกแพ็กเกจเข้ามา ทำนักพัฒนาคนอื่นลบแพ็กเกจไม่ได้

by lew
4 January 2024 - 17:12

นักพัฒนาที่ใช้ชื่อบัญชี PatrickJS ทดลองสร้างแพ็กเกจ "everything" โดยลากเอาทุกแพ็กเกจใน NPM เข้ามาเป็น dependency แล้วปล่อยแพ็กเกจนี้ขึ้นสู่ NPM ส่งผลให้นักพัฒนาทั้งระบบไม่สามารถลบหรือซ่อนแพ็กเกจออกไปได้

แนวทางของ PatrickJS คือสร้างแพ็กเกจย่อยจำนวน 5 แพ็กเกจ แต่ละตัวระบุว่าต้องใช้งานแพ็กเกจอื่นๆ ใน NPM ประมาณ 800 รายการ จากนั้นทุกตัวมารวมกันที่ everything ตัวหลัก หากผู้ใช้คนใดสั่ง npm install everything ก็จะเป็นการลากทุกแพ็กเกจใน NPM ลงมาในเครื่องทันที โดยรวมน่าจะดาวน์โหลดแพ็กเกจทั้งหมดนับล้านรายการ

ผลกระทบข้างเคียงคือนักพัฒนาบางรายต้องการซ่อนแพ็กเกจของตัวเองกลับไม่สามารถซ่อนได้ เนื่องจาก NPM มองว่ามีแพ็กเกจอื่นใช้งานอยู่ โดยแนวทางนี้มีไว้เพื่อป้องกันเหตุการณ์ที่นักพัฒนาแพ็กเกจ left-pad ลบแพ็กเกจออก ทำให้ซอฟต์แวร์จำนวนมากใช้งานไม่ได้

ภาพสุดท้ายของ everything มีการดาวน์โหลดไปประมาณ 235 ครั้ง

ที่มา - Bleeping Computer

Blognone Jobs Premium