NPM 7.0 pakketbeheerder beschikbaar

gepubliceerd pakketbeheerder release NPM 7.0, meegeleverd met Node.js en gebruikt om modules in JavaScript te distribueren. De NPM-repository bedient meer dan 1.3 miljoen pakketten, gebruikt door ongeveer 12 miljoen ontwikkelaars. Er worden maandelijks ongeveer 75 miljard downloads geregistreerd. NPM 7.0 was de eerste belangrijke release die daarna ontstond aankoop NPM Inc door GitHub. De nieuwe versie zal worden opgenomen in de levering van een toekomstige release van het platform Knooppunt.js 15, die op 20 oktober wordt verwacht. Om NPM 7.0 te installeren zonder te wachten op een nieuwe versie van Node.js, kunt u de opdracht “npm i -g npm@7” uitvoeren.

Toets innovaties:

  • Werkruimtes (workspaces), waardoor u afhankelijkheden van verschillende pakketten in één pakket kunt samenvoegen en ze in één stap kunt installeren.
  • Automatische installatie afhankelijkheden van leeftijdsgenoten (gebruikt in plug-ins om te bepalen met welke basispakketten het huidige pakket moet werken, zelfs als het er niet rechtstreeks in wordt gebruikt). Peer-afhankelijkheden worden gespecificeerd in het package.json-bestand in de sectie “peerDependencies”. Voorheen werden dergelijke afhankelijkheden handmatig door ontwikkelaars geïnstalleerd, maar NPM 7.0 implementeert een algoritme om ervoor te zorgen dat een correct gedefinieerde peer-afhankelijkheid wordt gevonden op hetzelfde niveau of boven het afhankelijke pakket in de node_modules-boom.
  • De tweede versie van het lock-formaat (package-lock v2) en ondersteuning voor het garen.lock lock-bestand. Het nieuwe formaat maakt herhaalbare builds mogelijk en bevat alles wat nodig is om een ​​pakketboom volledig te bouwen. NPM kan nu ook garen.lock-bestanden gebruiken als bron van pakketmetadata en vergrendelingsinformatie.
  • Er is een aanzienlijke refactoring van de interne componenten uitgevoerd, gericht op het scheiden van functionaliteit om het onderhoud te vereenvoudigen en de betrouwbaarheid te vergroten. De code voor het inspecteren en beheren van de node_modules-boom is bijvoorbeeld verplaatst naar een aparte module Boomkweker.
  • We zijn overgestapt op het gebruik van het veld package.exports, waardoor het onmogelijk is om interne modules te verbinden via de require()-aanroep.
  • Het pakket is volledig herschreven npx, dat nu de opdracht "npm exec" gebruikt om uitvoerbare bestanden uit pakketten uit te voeren.
  • De uitvoer van de opdracht "npm audit" is aanzienlijk gewijzigd, zowel bij uitvoer in een door mensen leesbaar formaat als wanneer de modus "--json" is geselecteerd.

Bron: opennet.ru

Voeg een reactie