Update-Zeit bei Yarn

Yarn verkleinert Lockfiles mit Dedupe: Yarn 2.2 veröffentlicht
Keine Kommentare

Yarn kann Dependency-Versionen ab sofort besser sortieren: Mit v2.2 ist der Befehl yarn dedupe eingeführt worden, der kontrolliert, ob das Lockfile mehrere Versionen der gleichen Dependency enthält. Was genau ändert sich dadurch?

Yarn 2.2 ist da und bringt mit yarn dedupe eine grundlegende Neuerung am Verhalten des Package-Managers mit. Wer in Yarn einmal festgelegt hat, welche Version einer Dependency für ein bestimmtes Package verwendet werden soll, konnte sich bisher unter allen Umständen darauf verlassen, dass genau diese Version auch in diesem Kontext genutzt wurde. Das Lockfile von Yarn hat Package und Version streng miteinander gekoppelt und als distinktive Einheit betrachtet. Auch dann, wenn im selben Projekt später eine neuere, kompatible Version der selben Dependency verwendet wurde, hat Yarn also an exakt der jeweils spezifizierten Version festgehalten. Das hatte jedoch auch zur Folge, dass das Lockfile mit der Zeit ziemlich groß werden konnte, wenn sich dort Duplikate von Packages in verschiedenen Versionen ansammelten; um das zu vermeiden, mussten manuelle Anpassungen vorgenommen werden. Das Dedupe-Kommando ändert das nun. Wenn mehrere untereinander kompatible Versionen einer Dependency vorhanden sind, beispielsweise v4.0 und v4.1 eines semantisch versionierten Packages, verwendet Yarn 2.2 automatisch die höhere Version und entfernt alle niedrigeren. So wird vermieden, dass Duplikate innerhalb eines Projekts vorhanden sind. Bei Major-Versionen und anderen inkompatiblen Updates greift der Package-Manager aber weiterhin nicht ein, um das Verhalten des Codes nicht zu verändern.

Yarn: Dedupe offiziell implementiert

Mit Dedupe begegnet Yarn einem Bedarf, den Anwender der npm-Alternative schon lange diskutieren. Für Yarn 1.x steht sogar eine Implementierung des Verhaltens auf GitHub bereit, die von Atlassian entwickelt wurde. npm bietet schon lange eine vergleichbare Option: npm dedupe prüft, ob mehrere Versionen eines Packages in Verwendung sind und platziert das entsprechende Package im Fall von Duplikaten so weit oben im Dependency Tree, dass alle Packages auf den gleichen Eintrag zugreifen.

Weitere Informationen zur neuen Dedupe-Funktion in Yarn 2.2 können dem Blogpost zum Release entnommen werden.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -