Version des Paketmanagers , der mit Node.js geliefert wird und zur Verteilung von Modulen in JavaScript verwendet wird. Das NPM-Repository verwaltet ĂŒber 1,3 Millionen Pakete, die von etwa 12 Millionen Entwicklern genutzt werden. Monatlich werden etwa 75 Milliarden Downloads verzeichnet. NPM 7.0 war die erste bedeutende Version, die nach NPM Inc. von GitHub veröffentlicht wurde. Die neue Version wird Teil der zukĂŒnftigen Veröffentlichung der Plattform , die am 20. Oktober erwartet wird. Um NPM 7.0 zu installieren, ohne auf die neue Version von Node.js zu warten, kann der Befehl ânpm i -g npm@7â ausgefĂŒhrt werden.
:
- Arbeitsbereiche (), die es ermöglichen, AbhÀngigkeiten aus mehreren Paketen in einem Paket zu aggregieren, um sie in einem Schritt zu installieren.
- Automatische Installation (werden in Plugins verwendet, um die Basispakete zu definieren, mit denen das aktuelle Paket arbeiten soll, auch wenn sie nicht direkt darin verwendet werden). Peer-AbhĂ€ngigkeiten werden in der Datei package.json im Abschnitt âpeerDependenciesâ angegeben. Bisher wurden solche AbhĂ€ngigkeiten manuell von Entwicklern installiert, aber in NPM 7.0 wurde ein Algorithmus implementiert, der garantiert, dass eine korrekt definierte Peer-AbhĂ€ngigkeit auf der gleichen oder einer höheren Ebene des abhĂ€ngigen Pakets im node_modules-Baum gefunden wird.
- Die zweite Version des Lockdateiformats (package-lock v2) und die UnterstĂŒtzung der yarn.lock-Datei. Das neue Format ermöglicht reproduzierbare Builds und enthĂ€lt alles, was fĂŒr den vollstĂ€ndigen Aufbau des Paketbaums erforderlich ist. NPM kann nun auch yarn.lock-Dateien als Quelle fĂŒr Paketmetadaten und Blockierungsinformationen verwenden.
- Es wurde ein umfassendes Refactoring der internen Komponenten durchgefĂŒhrt, das darauf abzielt, die FunktionalitĂ€t zu trennen, um die Wartung zu erleichtern und die ZuverlĂ€ssigkeit zu erhöhen. Beispielsweise wurde der Code zur ĂberprĂŒfung und Verwaltung des node_modules-Baums in ein separates Modul verschoben. .
- Der Ăbergang zur Nutzung des Feldes package.exports wurde vollzogen, was es unmöglich macht, interne Module ĂŒber den Aufruf von require() anzuschlieĂen.
- Das Paket , wurde vollstĂ€ndig neu geschrieben und verwendet jetzt den Befehl ânpm execâ, um ausfĂŒhrbare Dateien aus Paketen zu starten.
- Die Ausgabe des Befehls ânpm auditâ wurde erheblich geĂ€ndert, sowohl im lesbaren Format als auch im ââjsonâ-Modus.
Quelle: opennet.ru
