Utgivelsen av den nye versjonen av NPM-pakkebehandleren 7.0 , som er inkludert i Node.js-distribusjonen og brukes til å distribuere JavaScript-moduler, ble nylig annonsert.
Denne nye versjonen av NPM 7.0 kommer med arbeidsområder (et sett med funksjoner i npm CLI), som gir støtte for å administrere flere pakker, avhengig av flere pakker for å installere dem i ett trinn.
God tirsdagslansering! I dag er det en stor milepæl for npm CLI-teamet: Vi har offisielt lansert [email protected] Hvis du har fulgt oss det siste året, eller mer, vet du at vi har jobbet hardt for å gi deg denne utgivelsen.
Automatisk installasjon av peer-avhengighet er også tilgjengelig (brukes i plugins for å bestemme basispakkene som den gjeldende pakken er designet for å fungere med, selv om den ikke brukes direkte i den).
Riktig peer-avhengighet for pakker blir nå automatisk funnet da tidligere utviklere måtte installere dem manuelt.
Peer-avhengigheter er spesifisert i package.json-filen i delen "peerDependencies". NPM 7.0 implementerer en algoritme for å sikre at en riktig definert peer-avhengighet finnes på eller over nivået til den avhengige pakken i node_modules-treet.
Vårt fokus og besluttsomhet overgikk de siste 3 månedene da vi plukket opp en ukentlig utgivelseskadens og begynte å adressere feil / kommentarer under beta- / rc-vinduene våre.
Som jeg nevnte tidligere, har vi fortsatt mye rom for forbedring, men vi synes cli er på et veldig stabilt sted i dag og klar til bruk. npm v7 sendes med Node.js v15 (en PR for å lande dette arbeidet vil åpne snart), og vi ser frem til å fortsette tempoet i endring / forbedring når vi nærmer oss dette siste kvartalet av året.
Videre presenteres den andre versjonen av låseformatet (package-lock v2) og støtte for låsefilen yarn.lock.
Pakkeblokkeringsformatet har blitt revidert for nå å inneholde tilsynelatende alt som npm trenger for å opprette pakketreet fullt ut. Så langt har yarn.lock-filer tilsynelatende blitt ignorert, siden V7 kan npm-klienten også lese pakkemetadata og oppløsningsinformasjon fra dem.
Det nye formatet tillater repeterbare bygg og inkluderer alt som trengs for å bygge et komplett pakketre.
I tillegg blir det nevnt at til tross for den massive revisjonen av npm internals, har teamet arbeidet utrettelig for å sikre at det er minimale forstyrrelser i de fleste arbeidsflyter.
En større omstrukturering av interne komponenter har blitt utført , med sikte på å separere funksjonalitet for å forenkle vedlikehold og øke påliteligheten.
For eksempel har koden for å inspisere og administrere node_modules-treet blitt flyttet til en egen Arborist-modul.
Overført til å bruke package.exports-feltet, som gjør det umulig å koble til interne moduler via krever () samtale.
Fullstendig omskrevet npx-pakke, som nå bruker kommandoen "npm exec" for å kjøre kjørbare filer fra pakker.
Resultatet av kommandoen "npm audit" har endret seg betydelig, både når den genereres i menneskelig lesbart format og når "–json" -modus er valgt.
Lad
Den nye versjonen er nå tilgjengelig for allmennheten, og du kan raskt oppdatere den forrige versjonen eller installere denne nye versjonen fullstendig.
Til slutt er det viktig å vite at NPM-depotet serverer mer enn 1,3 millioner pakker, som brukes av rundt 12 millioner utviklere. Cirka 75 milliarder nedlastinger registreres per måned. NPM 7.0 var den første betydelige utgivelsen som ble dannet etter kjøpet av NPM Inc av GitHub.
Den nye versjonen vil bli levert med en fremtidig utgivelse av Node.js-plattformen, versjon 15, som er planlagt til 20. oktober. For å installere NPM 7.0 uten å vente på en ny versjon av Node.js, kan du kjøre følgende kommando i terminalen din:
npm i -g npm@7
Hvis du vil vite mer om den nye versjonen som er utgitt, kan du sjekke detaljene i den offisielle kunngjøringen.