เมื่อเร็ว ๆ นี้ การเปิดตัวของ เวอร์ชันใหม่ของตัวจัดการแพ็คเกจ เอ็นพีเอ็ม 7.0รวมอยู่ในการแจกจ่าย Node.js และใช้เพื่อแจกจ่ายโมดูล JavaScript
NPM 7.0 เวอร์ชันใหม่นี้ มาพร้อมกับพื้นที่ทำงาน(ชุดคุณลักษณะของ npm CLI) ซึ่งให้การสนับสนุนสำหรับการจัดการหลายแพ็กเกจขึ้นอยู่กับหลายแพ็กเกจที่จะติดตั้งในขั้นตอนเดียว
เปิดตัววันอังคารอย่างมีความสุข! วันนี้นับเป็นก้าวสำคัญของทีม npm CLI - เราได้ตัด npm@7.0.0 อย่างเป็นทางการ หากคุณติดตามเมื่อปีที่แล้วหรือนานกว่านั้นตอนนี้เรากำลังทำงานอย่างเต็มที่เพื่อนำเสนอเวอร์ชันนี้ให้คุณ
ดิ การติดตั้งการอ้างอิงโดยอัตโนมัติ เพียร์ทูเพียร์ (ใช้ในปลั๊กอินเพื่อกำหนดแพ็กเกจพื้นฐานที่แพ็กเกจปัจจุบันออกแบบมาให้ใช้งานได้แม้ว่าจะไม่ได้ใช้โดยตรงก็ตาม)
ตอนนี้การอ้างอิงเพียร์ที่เหมาะสมสำหรับแพ็กเกจจะถูกพบโดยอัตโนมัติเนื่องจากก่อนหน้านี้นักพัฒนาต้องติดตั้งด้วยตนเอง
การอ้างอิงเพียร์ระบุไว้ในไฟล์ package.json ในส่วน "peerDependencies" NPM 7.0 ใช้อัลกอริทึมเพื่อให้แน่ใจว่าพบการพึ่งพาเพียร์ที่กำหนดอย่างถูกต้องที่หรือสูงกว่าระดับแพ็กเกจที่ขึ้นต่อกันในโครงสร้าง node_modules
ความมุ่งมั่นและความมุ่งมั่นของเราแซงหน้าในช่วง 3 เดือนที่ผ่านมาเนื่องจากเราเลือกจังหวะการเผยแพร่รายสัปดาห์และเริ่มแก้ไขข้อบกพร่อง / ความคิดเห็นในช่วงเบต้า / rc ของเรา
ดังที่ได้กล่าวไว้ก่อนหน้านี้เรายังมีช่องว่างสำหรับการปรับปรุงอีกมาก แต่เราคิดว่า cli อยู่ในสถานที่ที่มั่นคงมากในวันนี้และพร้อมใช้งานแล้ว npm v7 จะจัดส่งพร้อมกับ Node.js v15 (PR ที่จะเข้าสู่งานนี้จะเปิดในไม่ช้า) และเราหวังว่าจะก้าวต่อไปของการเปลี่ยนแปลง / การปรับปรุงเมื่อเราเข้าใกล้ไตรมาสสุดท้ายของปีนี้
ในทางกลับกัน มีการนำเสนอรูปแบบการล็อกเวอร์ชันที่สอง (แพคเกจล็อค v2) และรองรับไฟล์ล็อก yarn.lock
รูปแบบการบล็อกแพ็กเก็ตได้รับการแก้ไขเพื่อให้เห็นได้ชัดว่าตอนนี้มีทุกสิ่งที่ npm ต้องการเพื่อสร้างโครงสร้างแพ็กเก็ตอย่างสมบูรณ์ จนถึงขณะนี้ไฟล์ yarn.lock ถูกละเว้นเนื่องจาก V7 ไคลเอนต์ npm ยังสามารถอ่านข้อมูลเมตาของแพ็กเกจและข้อมูลความละเอียดจากไฟล์เหล่านี้ได้
รูปแบบใหม่ อนุญาตให้สร้างซ้ำได้และรวมทุกสิ่งที่คุณต้องการเพื่อสร้างแผนผังแพ็คเกจที่สมบูรณ์.
นอกจากนี้ยังมีการกล่าวถึงว่าแม้จะมีการยกเครื่องภายในครั้งใหญ่ของ npm แต่ทีมงานก็ทำงานอย่างไม่รู้จักเหน็ดเหนื่อยเพื่อให้แน่ใจว่าขั้นตอนการทำงานส่วนใหญ่จะหยุดชะงักน้อยที่สุด
สาขา การปรับโครงสร้างส่วนประกอบภายในโดยมีจุดประสงค์เพื่อแยกฟังก์ชันการทำงานเพื่อลดความซับซ้อนของการบำรุงรักษาและเพิ่มความน่าเชื่อถือ
ตัวอย่างเช่นรหัสสำหรับตรวจสอบและจัดการโครงสร้าง node_modules ถูกย้ายไปยังโมดูล Arborist แยกต่างหาก
เปลี่ยนไปใช้ฟิลด์ package.exports ซึ่งทำให้ไม่สามารถเชื่อมต่อโมดูลภายในผ่านการโทร require ()
แพ็กเกจ npx ที่เขียนใหม่ทั้งหมดซึ่งตอนนี้ใช้คำสั่ง "npm exec" เพื่อเรียกใช้ไฟล์ปฏิบัติการจากแพ็กเกจ
ผลลัพธ์ของคำสั่ง "npm audit" มีการเปลี่ยนแปลงอย่างมากทั้งเมื่อสร้างในรูปแบบที่มนุษย์อ่านได้และเมื่อเลือกโหมด "–json"
ปล่อย
เวอร์ชันใหม่พร้อมให้บริการแก่บุคคลทั่วไปแล้วและคุณสามารถอัปเดตเวอร์ชันก่อนหน้าหรือติดตั้งเวอร์ชันใหม่นี้ได้อย่างรวดเร็ว
สุดท้ายสิ่งสำคัญคือต้องทราบว่าที่เก็บ NPM ให้บริการมากกว่า 1,3 ล้านแพ็กเกจซึ่งนักพัฒนาประมาณ 12 ล้านคนใช้งาน มีการบันทึกการดาวน์โหลดประมาณ 75 พันล้านครั้งต่อเดือน NPM 7.0 เป็นรุ่นสำคัญรุ่นแรกที่เกิดขึ้นหลังจากการซื้อ NPM Inc โดย GitHub
เวอร์ชันใหม่จะมาพร้อมกับแพลตฟอร์ม Node.js 15 เวอร์ชันอนาคต กำหนดไว้วันที่ 20 ตุลาคม ในการติดตั้ง NPM 7.0 โดยไม่ต้องรอ Node.js เวอร์ชันใหม่สามารถทำได้โดยรันคำสั่งในเทอร์มินัลของคุณ:
npm i -g npm@7
หากคุณต้องการทราบข้อมูลเพิ่มเติม เกี่ยวกับเวอร์ชันใหม่ที่เปิดตัวคุณสามารถตรวจสอบรายละเอียดได้ในประกาศอย่างเป็นทางการ