De pakketbeheerder NPM 7.0 is beschikbaar

Gepubliceerd uitgave van de pakketbeheerder NPM 7.0, dat deel uitmaakt van de Node.js-levering en wordt gebruikt voor de distributie van modules in JavaScript. De NPM-repository bedient meer dan 1,3 miljoen pakketten die door ongeveer 12 miljoen ontwikkelaars worden gebruikt. Er worden maandelijks ongeveer 75 miljard downloads geregistreerd. NPM 7.0 is de eerste belangrijke uitgave, gevormd na aankoop van NPM Inc door GitHub. De nieuwe versie zal worden opgenomen in de levering van de toekomstige uitgave van het platform Node.js 15, die op 20 oktober wordt verwacht. Om NPM 7.0 te installeren, zonder te wachten op de nieuwe versie van Node.js, kunt u de opdracht «npm i -g npm@7» uitvoeren.

Belangrijkste vernieuwingen:

  • Werkruimtes (Workspaces), waarmee afhankelijkheden uit meerdere pakketten in één pakket kunnen worden samengevoegd voor installatie in één stap.
  • Automatische installatie peer-afhankelijkheden (worden gebruikt in plug-ins om de basispakketten te definiëren waarvoor het huidige pakket is ontworpen, zelfs als het daar niet direct in wordt gebruikt). Peer-afhankelijkheden worden vermeld in het bestand package.json in de sectie «peerDependencies». Voorheen werden dergelijke afhankelijkheden handmatig door ontwikkelaars geïnstalleerd, maar in NPM 7.0 is er een algoritme geïmplementeerd dat garandeert dat de correct gedefinieerde peer-afhankelijkheid op hetzelfde niveau of hoger wordt gevonden in de boom van node_modules.
  • De tweede versie van het vergrendelingsformaat (package-lock v2) en ondersteuning voor het bestand yarn.lock. Het nieuwe formaat maakt reproduceerbare builds mogelijk en bevat alles wat nodig is voor een volledige bouw van de pakketboom. NPM kan nu ook yarn.lock-bestanden gebruiken als een bron van pakketmetadata en vergrendelingsinformatie.
  • Er is een aanzienlijke herstructurering van interne componenten uitgevoerd, gericht op het scheiden van functionaliteit voor vereenvoudiging van het onderhoud en het verhogen van de betrouwbaarheid. Bijvoorbeeld, de code voor het inspecteren en beheren van de boom van node_modules is verplaatst naar een aparte module Arborist.
  • De overgang naar het gebruik van het veld package.exports is gerealiseerd, wat het onmogelijk maakt interne modules aan te roepen via require().
  • Het pakket npx, dat nu het commando «npm exec» gebruikt om uitvoerbare bestanden vanuit pakketten uit te voeren.
  • De output van het commando «npm audit» is aanzienlijk gewijzigd, zowel bij uitvoer in leesformaat als bij het kiezen van de optie «—json».

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster