JavaScript-Paketmanager Yarn 4.0 bringt neuen Security-Modus

Das Major Release integriert Funktionen aus Plug-ins, bietet ein überarbeitetes User Interface sowie eine neue Security-Funktion und erhöht die Performance.

In Pocket speichern vorlesen Druckansicht 7 Kommentare lesen

(Bild: Nice to meet you / Shutterstock.com)

Lesezeit: 3 Min.
Inhaltsverzeichnis

Das Yarn-Team hat Version 4.0 des JavaScript-Paketmanagers veröffentlicht, der eine Alternative zu weiteren Paketmanagern wie npm oder pnpm darstellt. Im neuen Release steckt mehr als ein Jahr Entwicklungszeit. Unter anderem bringt es den optionalen Hardened Mode für eine höhere Sicherheit mit und integriert Plug-in-Features in die Hauptdistribution. Das User Interface sowie die Website des Open-Source-Projekts haben eine Überarbeitung erfahren.

Yarn erschien erstmals 2016 und entstammt der Zusammenarbeit von Meta (damals Facebook) mit Exponent, Google und der Entwicklerfirma Tilde. Inzwischen ist Yarn in einer eigenen GitHub-Organisation beheimatet.

Die neue Yarn-Hauptversion bringt einige mit früheren Releases inkompatiblen Änderungen. Dazu zählt, dass die JavaScript-Runtime Node.js – kürzlich in Version 21 erschienen – mindestens in Version 18 vorliegen muss und dass der Befehl yarn workspaces foreach eine leicht veränderte Syntax aufweist.

Neue, mit yarn init erstellte Projekte, haben nun Zero-Install nicht mehr standardmäßig aktiviert und verwenden Corepack statt yarnPath. Zero-Install bezeichnet die Kombination zweier Yarn-Features, damit Entwicklerinnen und Entwickler beim Wechseln zwischen Branches nicht darauf achten müssen, yarn install auszuführen. Bei Corepack handelt es sich um ein experimentelles Node.js-Tool zum Verwalten von Versionen eines Paketmanagers.

Zudem sind alle offiziellen Plug-ins, darunter typescript und interactive-tools, standardmäßig in Yarn 4.0 enthalten. Bisher waren einige Yarn-Features als Sideloaded-Plug-ins verfügbar, was für Nutzerinnen und Nutzer laut dem Entwicklungsteam schwierig zu verwalten gewesen sei. Alle Features und Befehle, die das Yarn-Team erstellt, werden jetzt Teil der Hauptdistribution sein, während Yarn weiterhin mit Drittanbieter-Plug-ins umgehen kann.

Heise-Konferenz: Advanced Angular Day

Am 30. November 2023 richten iX und dpunkt.verlag den Advanced Angular Day aus. Die Online-Konferenz wirft einen tieferen Blick auf das Webframework – von Performance über Accessibility und Testing bis hin zu den neuen Angular Signals. Das Programm bietet sechs Vorträge sowie drei Ganztages-Workshops am 20. November, 1. und 4. Dezember.

Als optionale Funktion führt Yarn 4.0 den Hardened Mode ein. Er soll die Security-Features von Yarn weiter ausbauen, birgt jedoch einen Nachteil: Weil Installationen deutlich langsamer ablaufen, rät das Entwicklungsteam davon ab, diesen Modus standardmäßig zu aktivieren. Stattdessen solle der Hardened Mode in spezifischen CI-Jobs (Continuous Integration) zum Einsatz kommen.

Er lässt sich durch eine Umgebungsvariable aktivieren:

export YARN_ENABLE_HARDENED_MODE=1

Dann führt Yarn zwei zusätzliche Validationen in Bezug auf Lockfiles aus. Das soll verhindern, dass Angreifer Lockfiles beim Hinzufügen von Pull Requests unter Verwendung von Yarn unerkannt verändern.

Das mit Yarn 4.0 überarbeitete User Interface (UI) soll Informationen besser mitteilen können. Beispielsweise gibt yarn install Auskunft über hinzugefügte Packages sowie deren Größe und geht sparsamer mit Warnungen um:

Yarn 4.0 präsentiert ein informativeres User Interface.

(Bild: Yarn-Blog)

Das Entwicklungsteam hat auch die Webseite einer umfassenden Erneuerung unterzogen – sowohl in Bezug auf Erscheinung als auch auf den Inhalt. Die meisten Seiten hat das Team umgeschrieben, sodass diese einfacher und verständlicher sind; und die Package-Seite zeigt konfigurierbare Checks, zum Beispiel, ob ein Package CommonJS oder ECMAScript-Module unterstützt.

Auf der Website erwähnte Befehle weisen nun einen Link zu ihrer jeweiligen Dokumentation auf, und zu allen referenzierten Optionen erscheint beim Hovern ein Tooltip, der ihr jeweiliges Ziel erklärt. Das zeigt sich auch beim Blick auf den Blogeintrag zum aktuellen Release, der weitere Informationen bietet.

(mai)