Lanseringen av den nya versionen av NPM-pakethanteraren 7.0 , som ingår i Node.js-distributionen och används för att distribuera JavaScript-moduler, tillkännagavs nyligen .
Den här nya versionen av NPM 7.0 levereras med Workspaces (en uppsättning funktioner i npm CLI), vilket ger stöd för att hantera flera paket, beroende på flera paket för att installera dem i ett enda steg.
Trevlig tisdagslansering! Idag markerar en viktig milstolpe för npm CLI-teamet: vi har officiellt släppt [email protected] Om du har följt oss det senaste året, eller mer, vet du att vi har arbetat hårt för att ge dig den här lanseringen.
Automatisk installation av peer-beroenden finns också (används i plugins för att bestämma de baspaket som det aktuella paketet är utformat för att fungera med, även om det inte används direkt i det).
Korrekt beroendeberoende för paket hittas nu automatiskt eftersom tidigare utvecklare var tvungna att installera dem manuellt.
Peer-beroenden anges i filen package.json i avsnittet "peerDependencies". NPM 7.0 implementerar en algoritm för att säkerställa att ett korrekt definierat peer-beroende hittas på eller över nivån för det beroende paketet i node_modules-trädet.
Vårt fokus och beslutsamhet överträffade de senaste tre månaderna när vi tog upp en kadens varje vecka och började ta itu med buggar / kommentarer under våra beta / rc-fönster.
Som jag nämnde tidigare har vi fortfarande mycket utrymme för förbättringar, men vi tycker att cli ligger på en mycket stabil plats idag och är redo att användas. npm v7 levereras med Node.js v15 (en PR för att landa detta arbete kommer att öppnas inom kort) och vi ser fram emot att fortsätta takten med förändring / förbättring när vi närmar oss det sista kvartalet av året.
Vidare presenteras den andra versionen av låsformatet (package-lock v2) och stöd för låsfilen yarn.lock.
Paketblockeringsformatet har reviderats för att tydligen innehålla allt som npm behöver för att helt bygga paketträdet. Hittills har yarn.lock-filer tydligen ignorerats, eftersom V7 kan npm-klienten också läsa paketmetadata och upplösningsinformation från dem.
Det nya formatet möjliggör repeterbara byggen och inkluderar allt som behövs för att bygga ett komplett paketträd.
Dessutom nämns det att trots den massiva översynen av npm-interner har teamet arbetat outtröttligt för att säkerställa att det finns minimala störningar i de flesta arbetsflöden.
En större omstrukturering av interna komponenter har genomförts , i syfte att separera funktionalitet för att förenkla underhåll och öka tillförlitligheten.
Till exempel har koden för att inspektera och hantera trädet node_modules flyttats till en separat Arborist-modul.
Övergången till att använda package.exports-fältet, vilket gör det omöjligt att ansluta interna moduler via kräver () samtal.
Helt omskrivet npx-paket, som nu använder kommandot "npm exec" för att köra körbara filer från paket.
Utdata från kommandot "npm audit" har förändrats avsevärt, både när det genereras i mänskligt läsbart format och när "–json" -läget är valt.
Ansvarsfrihet
Den nya versionen är nu tillgänglig för allmänheten och du kan snabbt uppdatera den tidigare versionen eller helt installera den nya versionen.
Slutligen är det viktigt att veta att NPM-förvaret serverar mer än 1,3 miljoner paket som används av cirka 12 miljoner utvecklare. Cirka 75 miljarder nedladdningar registreras per månad. NPM 7.0 var den första betydande utgåvan som bildades efter köp av NPM Inc av GitHub.
Den nya versionen kommer att levereras med en framtida utgåva av Node.js-plattformen, version 15, planerad till den 20 oktober. För att installera NPM 7.0 utan att vänta på en ny version av Node.js kan du köra följande kommando i din terminal:
npm i -g npm@7
Om du vill veta mer om den nya versionen som släppts kan du läsa mer i det officiella tillkännagivandet.