NPM v7: Nächste Version des Node.js-Paketmanagers wird schneller und schlanker

Was zunächst eine kleine Schockwelle durch die Entwickler-Community schickte, scheint sich zumindest nicht negativ auszuwirken. In diesem Jahr hatte Github NPM, das Paketverwaltungssystem, das kurz zuvor erst seinen zehnjährigen Geburtstag gefeiert hatte, übernommen.
NPM v7 auf Github Satellite erstmals präsentiert
Dabei gab die Microsoft-Tochter nicht nur das Versprechen, dass das Produkt kostenlos bleiben sollte. Vielmehr wollte Github dazu beitragen, dass NPM mit größerer Tatkraft nach vorne gebracht wird. Die damals bereits laufenden Arbeiten an der Version 7 des NPM nähern sich nun dem Ende.
Auf der virtuellen Konferenz Github Satellite am 6. Mai 2020 hatte NPM-Produktmanager Edward Thompson NPM v7 vorgestellt und damit eine regelrechte Welle der Begeisterung losgetreten. Dabei sind die wesentlichen Neuerungen eher subtiler Natur.
NPM v7 ist schlanker und damit schneller
Zunächst fällt auf, dass NPM weitaus schneller arbeitet. Das haben die Entwickler durch eine Art Bootstrapping erreicht. Sie reduzierten die Zahl der Outputs und entfernten alle Behandlungsmethoden für Node.js-Versionen, die es schon lange nicht mehr gibt. NPM v7 unterstützt ausschließlich Node.js 10 aufwärts.
Zudem nahmen sie aus dem Kommandozeilen-Interface alle Funktionen heraus, die mehr konnten als es die Kommandozeile erfordert, etwa das Tree Management. Zudem sollen mit NPM v7 sämtliche manuellen Eingriffsnotwendigkeiten beim Package-Handling überflüssig geworden sein.
Das neue Modul Arborist stellt ein Refactoring des Umgangs mit Package Trees in NPM dar, wodurch etwa die Nutzung von Dependency Trees ermöglicht wird, die mit yarn und pnpm erstellt wurden.
NPM bewegt gewaltige Datenmengen
NPM bedient nach Angaben seines Ex-Technikchefs Ahmad Nassri inzwischen monatlich rund 125 Milliarden Requests mit einem Transfervolumen von gigantischen sechs Petabyte, also 6.000 Terabyte oder 125.000 Gigabyte. Insgesamt werden 1,3 Millionen Pakete gehostet. Die Bedeutung des NPM für das Javascript-Ökosystem ist damit kaum zu überschätzen.
Mit der Github-Übernahme soll das bislang fragile Geschäftsmodell, das darauf basierte, dass sich genügend zahlende Kunden für private, also nicht frei verwendbare Pakete, finden lassen, beendet werden. Github will das kostenpflichtige Geschäft unter eigenem Namen übernehmen und NPM als rein kostenloses, öffentliches Paketverwaltungssystem fortbestehen lassen.
Passend dazu: Statt Grunt, Gulp und Co.: Wie man npm als Build-Tool verwendet