pnpm 6.0 führt Fetch-Befehl zum schnelleren Erstellen von Docker-Images ein

Der JavaScript-Paketmanager hat mit dem Update auf die sechste Hauptversion einige neue, mit der Abwärtskompatibilität brechende Features im Gepäck.

Lesezeit: 1 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen

(Bild: Da Da Diamond/Shutterstock.com)

Von
  • Madeleine Domogalla

Der Paketmanager pnpm ist in Version 6.0 erschienen. Er lässt sich als Alternative zu npm und Yarn verwenden und ist vor allem für Monorepos optimiert. Im Gegensatz zu den anderen Paketmanagern setzt er nicht auf eine flache Struktur, sondern gruppiert die Pakete mit ihren Dependencies. Version 6 bringt einige neue Features, die mit der Abwärtskompatibilität brechen und führt einen neuen Fetch-Befehl ein, der speziell für das schnelle Erstellen von Docker-Images entwickelt wurde.

Als Basis verabschiedet sich pnpm 6.0 von Node.js 10 und setzt auf Version 12.17 der serverseitigen Laufzeitumgebung für JavaScript. Die Lockfile-Version wurde auf 5.3 angehoben. Neu hinzugefügte Leerzeichen zwischen Paket- beziehungsweise Projekteinträgen sollen die Lesbarkeit verbessern und Probleme beim Zusammenführen verringern. Darüber hinaus sollen die Felder resolution, engines, os und cpu ab sofort in einer einzigen Zeile geschrieben werden. Sie fungieren als erste Schlüssel der Paketobjekte. Mit transitivePeerDependencies haben die Paketobjekte ein neues Feld erhalten.

Mit pnpm 6 hat das verantwortliche Entwicklerteam Änderungen am Layout des Verzeichnisses des virtuellen Speichers vorgenommen (node_modules/.pnpm). Diese Änderung soll es möglichen, den Cache darin aufzubewahren. Alle Pakete innerhalb des Verzeichnisses des virtuellen Speichers befinden sich nun auf gleicher Ebene. Statt Unterverzeichnissen wird ein Verzeichnis mit # anstelle von Schrägstrichen verwendet.

Das Kommandozeilen-Tool PNPm eXecute (pnpx) installiert Pakete ab sofort nicht mehr automatisch. Eine Eingabeaufforderung fragt Benutzer, ob ein Paket installiert werden soll, wenn es nicht vorhanden ist. pnpx --yes weist pnpx an, jedes fehlende Paket zu installieren. pnpx --no lässt pnpx fehlschlagen, wenn das aufgerufene Paket nicht installiert ist. Das Tool holt ein Paket aus der Registrierung, ohne es als Abhängigkeit zu installieren, lädt es per Hotload hoch und führt die Standard-Befehlsbinärdatei aus, die es bereitstellt.

Der Paketmanager erhält mit dem Update einen neuen Befehl: pnpm fetch. Damit lassen sich Pakete aus einem Lockfile in den virtuellen Speicher bringen, Manifest-Dateien (Package Manifest) werden ignoriert. Der Fetch-Befehl soll das Erstellen eines Docker-Images beschleunigen. Nähere Informationen zu pnpm 6 finden sich in den Release Notes auf GitHub.

(mdo)