- พื้นที่ทำงาน (
พื้นที่ทำงาน ) ช่วยให้คุณสามารถรวมการขึ้นต่อกันจากหลายแพ็คเกจเป็นแพ็คเกจเดียวเพื่อติดตั้งในขั้นตอนเดียว - การติดตั้งอัตโนมัติ
การพึ่งพาเพื่อน (ใช้ในปลั๊กอินเพื่อกำหนดแพ็กเกจพื้นฐานที่แพ็กเกจปัจจุบันได้รับการออกแบบให้ใช้งานได้ แม้ว่าจะไม่ได้ใช้งานโดยตรงก็ตาม) การพึ่งพาเพียร์ระบุไว้ในไฟล์ package.json ในส่วน "peerDependencies" ก่อนหน้านี้ การขึ้นต่อกันดังกล่าวได้รับการติดตั้งด้วยตนเองโดยนักพัฒนา แต่ NPM 7.0 ใช้อัลกอริธึมเพื่อให้แน่ใจว่าการขึ้นต่อกันของเพียร์ที่กำหนดไว้อย่างถูกต้องจะพบในระดับเดียวกันหรือสูงกว่าแพ็คเกจที่ต้องพึ่งพาในแผนผัง node_modules - รูปแบบการล็อคเวอร์ชันที่สอง (package-lock v2) และรองรับไฟล์ล็อคเส้นด้าย.lock รูปแบบใหม่ช่วยให้สามารถสร้างซ้ำได้และมีทุกสิ่งที่จำเป็นในการสร้างแผนผังแพ็คเกจอย่างสมบูรณ์ ขณะนี้ NPM ยังสามารถใช้ไฟล์เส้นด้าย.lock เป็นแหล่งข้อมูลเมตาของแพ็คเกจและข้อมูลการล็อคได้อีกด้วย
- มีการดำเนินการปรับโครงสร้างส่วนประกอบภายในใหม่อย่างมีนัยสำคัญ โดยมีเป้าหมายเพื่อแยกฟังก์ชันการทำงานเพื่อทำให้การบำรุงรักษาง่ายขึ้นและเพิ่มความน่าเชื่อถือ ตัวอย่างเช่น รหัสสำหรับการตรวจสอบและการจัดการแผนผัง node_modules ได้ถูกย้ายไปยังโมดูลที่แยกต่างหาก
Arborist . - เราเปลี่ยนมาใช้ช่อง package.exports ซึ่งทำให้ไม่สามารถเชื่อมต่อโมดูลภายในผ่านการเรียก need() ได้
- แพคเกจได้รับการเขียนใหม่ทั้งหมด
npx ซึ่งตอนนี้ใช้คำสั่ง "npm exec" เพื่อเรียกใช้ไฟล์ปฏิบัติการจากแพ็คเกจ - เอาต์พุตของคำสั่ง "การตรวจสอบ npm" มีการเปลี่ยนแปลงอย่างมาก ทั้งเมื่อเอาต์พุตในรูปแบบที่มนุษย์สามารถอ่านได้ และเมื่อเลือกโหมด "--json"
ที่มา: opennet.ru