Paketmanager: Yarn 2 strickt sich neu
Rund ein Jahr nach der ersten Roadmap fĂĽr die neue Version des Paketmanagers Yarn hat das dahinterstehende Entwicklerteam die Arbeiten abgeschlossen.
- Björn Bohn
Der als Alternative zu npm vorgesehene Paketmanager Yarn ist in Version 2.0 erschienen. Die Liste der Änderungen im Paketverwaltungswerkzeug für JavaScript und Node.js ist lang und umfasst neben neuen Features auch Breaking Changes. Entwickler sollen aber wohl nicht mit größeren Schwierigkeiten zu kämpfen haben, wenn sie bei ihren Projekten auf die neusten Versionen ihrer Tools (ESLint, Babel, TypeScript etc.) setzen. Lediglich React-Native- und Flow-Nutzer haben ein Problem: Ein Einsatz in Plug'n'Play-Umgebungen ist derzeit nicht möglich. Anwender sollen dafür weiterhin auf Yarn 1 setzen, für das mit Yarn 1.22 nächste Woche das letzte Release erscheint. Danach folgen keine Updates mehr, außer es gibt gravierende Sicherheitslücken.
Ein Ăśberblick ĂĽber Yarn 2
Das Team hinter Yarn hatte im Januar 2019 erstmals Pläne für die nächste Hauptversion des Paketmanagers veröffentlicht. Es trägt den Codenamen "Berry", was auch weiterhin der zu verwendende Tag für 2.x-Versionen bleiben wird. Das Repository bleibt yarnpkg/berry, da ein Umzug zu yarnpkg/yarn zu viel Backlink-Historie kaputtmachen würde. Das Docker-Image von Node.js liefert Yarn 2 aller Wahrscheinlichkeit mit Node 14 im April 2020 aus – bis dahin können Entwickler die neue Version via yarnPath
in allen Node-Images nutzen.
In Yarn 2 können Entwickler nun Fehlercodes direkt im CLI sehen, die in der Dokumentation ausführliche Beschreibungen und Hilfestellungen liefern. Darüber hinaus bietet Yarn neue Funktionen, die die Arbeit in mehreren Workspaces vereinfachen sollen. So liefert yarn up <name>
ein Update fĂĽr ein Paket in allen Workspaces, yarn add -i <name>
bietet hingegen die Option, die Version von anderen Workspaces zu verwenden.
Entwickler können außerdem auf die neuen Befehle yarn dlx
, yarn workspaces foreach
und die neuen Protokolle patch:
und potal:
nutzen. Ersteres funktioniert dabei ähnlich wie yarn npx
, fĂĽhrt aber nur externe Skripte und keine lokalen aus. Der zweite Befehl erlaubt es, Befehle ĂĽber mehrere Repositorys hinweg auszufĂĽhren. Die neuen Protokolle dienen dazu, Ă„nderungen an einem bestimmten Paket im Dependency-Tree vorzunehmen (patch) beziehungsweise ein GegenstĂĽck zum existierenden Link-Protokoll zu bilden (portal).
Einen vollständigen Überblick übe die Neuerungen bietet der offizielle Beitrag zum Release. (bbo)