สารจากนักเขียน
วันนี้เราจะมาดูวิธีง่าย ๆ ที่จะสนับสนุนนักพัฒนา Package (Library) จากคำสั่ง NPM Fund กัน
เขียนโดย
Sutthinai Boonyingyongchai
MidLevel Software Developer
บทความนี้ตีพิมพ์ และ เผยแพร่เมื่อ 13 กรกฎาคม 2566
NPM Fund คืออะไร
“npm fund” คือคำสั่งที่ใช้เพื่อรับข้อมูลเกี่ยวกับวิธีการให้ทุนกับโปรเจกต์ที่กำหนด ถ้าเราลองไปดูที่ เว็บไซต์ ของ NPM จะพบว่ามีมาใน npm-cli ตั้งแต่เวอร์ชัน 6 เป็นต้นมา
ในฐานะ JavaScript Dev สิ่งที่ทำกันเป็นประจำอย่างการติดตั้ง Package ใหม่ซักตัวนึงเข้ามาในโปรเจกต์ ปกติแล้วตอนที่ติดตั้งเสร็จ ทุกคนได้สังเกตกันบ้างรึเปล่าครับว่าข้อความที่ขึ้นมาเขียนบอกอะไรเราบ้าง ?
อย่างในภาพตัวอย่างหลังจากที่พิมพ์คำสั่งติดตั้ง Package ใหม่ บางคนอาจจะดูแค่ว่าไม่มี Error ก็เป็นอันใช้ได้ หรือบางคนก็อาจจะโฟกัสจรง “1 high severity vulnerability” ที่เน้นสีแดงให้เราอ่าน
แต่ถ้าไล่อ่านดูอีกทีเราจะเห็น
ซึ่งถ้าเราลองใช้คำสั่ง “npm fund” ดูก็จะเจอผลลัพธ์หน้าตาประมาณนี้
ซึ่งผลลัพธ์ที่เราเห็นนั้น NPM จะทำการจัดกลุ่ม Package ที่มีลิงก์เดียวกันมารวมเอาไว้ จะได้ไม่แสดงเป็นลิงก์ซ้ำกัน จากตัวอย่างก็จะเป็น OAuth2orize และ Passport.js ที่ถูกจัดรวมอยู่ใต้ลิงก์เดียวกัน
ถ้าเราตามลิงก์ไปก็จะเป็นเว็บไซต์ที่ผู้พัฒนาแต่ละ Package เอาไว้ให้เราสนับสนุนเงินทุน อย่างของ ioredis จะใช้เป็นเว็บ Open Collective
จะเห็นว่าในหน้าเว็บที่เราเปิดไปจะมีตัวเลือกให้เราสนับสนุนหลาย ๆ แบบ ซึ่งจำนวนเงินและสิ่งที่เราจะได้รับต่างกันออกไป ขึ้นอยู่กับเจ้าของ Package จะกำหนดไว้ โดยอาจจะมีตั้งแต่การบริจาคเฉย ๆ การได้ปรากฏในรายชื่อผู้สนับสนุนระดับต่าง ๆ ไปจนถึงการ Support แบบพิเศษจากทางผู้พัฒนาเลยก็มี
ioredis
nest
จะปิด NPM Fund ต้องทำยังไง ?
ถ้าหากว่าใครไม่อยากให้ข้อความจาก NPM Fund โผล่ขึ้นมาทุกครั้งที่ติดตั้ง Package เราก็สามารถเลือกปิดหรือซ่อนได้เช่นกัน
ปิดแค่ครั้งเดียว
ตอนที่เราติดตั้ง Package ด้วยคำสั่ง “npm install” หรือ “npm i” แค่เพิ่ม Flag “–no-fund” เข้าไปก็จะไม่มีข้อความโผล่ขึ้นมาแล้ว เช่น
ติดตั้งปกติ
ใส่ “–no-fund”
npm i –no-fund ioredis |
ปิดถาวร (จนกว่าจะไปเปิดใหม่)
ถ้าขี้เกียจที่จะต้องใส่ “–no-fund” ทุกครั้ง เราก็สามารถเลือกการปิดแบบถาวรได้เช่นกัน ด้วยการกำหนดไว้ใน npm config แบบนี้
npm config set fund false |
โดยค่าเริ่มต้นของ npm config จะเป็นการกำหนดในระดับ “user” ถ้าจะกำหนดกับทุกที่ในเครื่อง ก็สามารถใส่ “–global” เข้าไปได้
npm config set fund false –global |
ถ้าจะเปิดกลับมาก็เพียงแค่ set ค่าเป็น “true” เท่านั้นเอง โดยส่วนตัวแล้วก็แนะนำให้เปิดไว้แบบค่าเริ่มต้นน่าจะดีอยู่แล้วครับ
เพราะทุก ๆ Package ย่อมมีนักพัฒนาที่ใช้เวลาของตัวเองไปกับการเขียนมันขึ้นมา เพื่อแบ่งปันให้พวกเราได้โหลดมาใช้กันฟรี ๆ ถ้า Package ไหนโหลดมาแล้วใช้งานดี ใช้แล้วชอบ หรือว่าช่วยให้งานในโปรเจกต์ของเราง่ายขึ้น ก็อย่าลืมนึกถึงคนที่สร้างมันขึ้นมากันด้วยนะครับ
ระบบฝึกทักษะ การเขียนโปรแกรม
ที่พร้อมตรวจผลงานคุณ 24 ชั่วโมง
- โจทย์ปัญหากว่า 200 ข้อ ที่รอท้าทายคุณอยู่
- รองรับ 9 ภาษาโปรแกรมหลัก ไม่ว่าจะ Java, Python, C ก็เขียนได้
- ใช้งานได้ฟรี ! ครบ 20 ข้อขึ้นไป รับ Certificate ไปเลย !!