Paketverwaltung: npm 5.1 bekommt Performance-Boost

Parallelisierung, das Weglassen unter Umständen unnötiger Arbeitsschritte und mehr Caching sollen Nutzern der aktuellen Version die Wartezeiten verkürzen. Außerdem konnten die Entwickler eine Reihe von Fehlfunktionen beheben.

In Pocket speichern vorlesen Druckansicht
npm 5.1 bekommt Performance-Boost
Lesezeit: 2 Min.
Von
  • Julia Schmidt

Gut anderthalb Monate nach dem letzten Major Release der JavaScript-Paketverwaltung sind nun die Arbeiten an der wohl deutlich performanteren ersten Nebenversion der 5.x-Reihe abgeschlossen. Da die Entwickler den Schwerpunkt auf die Stabilisierung der letzten größeren Veröffentlichung gelegt haben, ist in den Release Notes eine ganze Reihe von Bugfixes, etwa zum Installieren via Package Locks, zu finden. Darüber hinaus enthält npm 5.1 allerdings auch Neuerungen, wie das requires-Feld in package-lock.json, das Informationen über den logischen Abhängigkeitsbaum enthält und sich etwa zum Konvertieren in andere Lockfile-Formate eignen soll.

Die neue Version ist zudem wohl in der Lage, mit npm ls herauszufinden, welche Abhängigkeiten fehlen, sollte zuvor bereits ein Package Lock damit erstellt worden sein. Wenn Nutzer die package.json-Datei manuell um Abhängigkeiten ergänzen oder sie entfernen, erkennt der Paketmanager das nun und aktualisiert sowohl den zugehörigen Baum als auch das Lockfile. Außerdem warnt das Programm nun beim falschen Umgang mit npm build.

Durch Beiträge einiger Community-Mitglieder soll npm nach dem Update zudem deutlich schneller arbeiten, sodass er in einigen Benchmarks zum Teil wohl nur die Hälfte der Zeit im Vergleich zu Version 5.0 braucht. Das liegt unter anderem daran, dass er nun unnötige Schritte überspringt, was etwa den Umgebungsaufbau für leere Skripte anbelangt, einige Arbeitsschritte parallelisiert und fromURL, das viele Male vom Installer aufgerufen wird, mit Caching ausgestattet wurde. Zudem steht ein zuvor entfernter Zwischenspeicher nun wieder zur Verfügung und sollte nun korrekt funktionieren. Weitere Details lassen sich den Release Notes entnehmen. (jul)