{"id":807,"date":"2023-10-26T15:49:59","date_gmt":"2023-10-26T15:49:59","guid":{"rendered":"https:\/\/byte-bucket.com\/2023\/10\/26\/yarn-4-0-der-javascript-paketmanager-mit-neuen-funktionen\/"},"modified":"2023-10-26T15:49:59","modified_gmt":"2023-10-26T15:49:59","slug":"yarn-4-0-der-javascript-paketmanager-mit-neuen-funktionen","status":"publish","type":"post","link":"https:\/\/byte-bucket.com\/?p=807","title":{"rendered":"Yarn 4.0 &#8211; Der JavaScript-Paketmanager mit neuen Funktionen"},"content":{"rendered":"<p>Das Yarn-Team hat die Version 4.0 seines JavaScript-Paketmanagers ver\u00f6ffentlicht. Yarn ist eine Alternative zu anderen Paketmanagern wie npm oder pnpm. Das neue Release wurde \u00fcber einen Zeitraum von mehr als einem Jahr entwickelt und bringt einige spannende Neuerungen mit sich.<\/p>\n<p>Eine der wichtigsten Funktionen ist der optionale Hardened Mode, der die Sicherheit erh\u00f6ht. In diesem Modus f\u00fchrt Yarn zus\u00e4tzliche Validierungen in Bezug auf Lockfiles durch, um sicherzustellen, dass potenzielle Angreifer diese beim Hinzuf\u00fcgen von Pull Requests nicht unbemerkt ver\u00e4ndern k\u00f6nnen. Allerdings kann die Aktivierung des Hardened Mode zu einer deutlich langsameren Installation f\u00fchren. Das Entwicklungsteam empfiehlt daher, diesen Modus nicht standardm\u00e4\u00dfig zu aktivieren, sondern gezielt in spezifischen CI-Jobs (Continuous Integration) einzusetzen.<\/p>\n<p>Eine weitere Neuerung ist die Integration von Plug-in-Funktionen in die Hauptdistribution. Bisher wurden einige Yarn-Funktionen als Sideloaded-Plug-ins angeboten, was f\u00fcr die Nutzer laut dem Entwicklungsteam schwer zu verwalten war. Mit der neuen Version werden alle von dem Yarn-Team entwickelten Features und Befehle in die Hauptdistribution integriert, w\u00e4hrend Yarn weiterhin mit Drittanbieter-Plug-ins umgehen kann.<\/p>\n<p>Auch das User Interface (UI) von Yarn 4.0 wurde \u00fcberarbeitet und verbessert, um Informationen effektiver zu vermitteln. So liefert beispielsweise der Befehl &#8222;yarn install&#8220; nun Informationen \u00fcber hinzugef\u00fcgte Pakete sowie deren Gr\u00f6\u00dfe und behandelt Warnungen sparsamer. Auf der Website gibt es nun Links zu den genannten Befehlen, die zur entsprechenden Dokumentation f\u00fchren, und beim \u00dcberfahren von referenzierten Optionen erscheint ein Tooltip, der deren Funktion erkl\u00e4rt.<\/p>\n<p>Yarn wurde erstmals im Jahr 2016 ver\u00f6ffentlicht und resultierte aus einer Kooperation zwischen Meta (damals Facebook), Exponent, Google und der Entwicklerfirma Tilde. Das Open-Source-Projekt hat mittlerweile eine dedizierte GitHub-Organisation und erfreut sich gro\u00dfer Beliebtheit in der JavaScript-Community.<\/p>\n<p>Die aktuelle Hauptversion von Yarn enth\u00e4lt auch einige \u00c4nderungen, die nicht mit fr\u00fcheren Releases kompatibel sind. Eine Voraussetzung ist beispielsweise, dass die JavaScript-Runtime Node.js in Version 18 oder h\u00f6her vorliegen muss. K\u00fcrzlich wurde Node.js Version 21 ver\u00f6ffentlicht.<\/p>\n<p>Zus\u00e4tzlich gibt es einige kleinere \u00c4nderungen, wie eine leicht ver\u00e4nderte Syntax des Befehls &#8222;yarn workspaces foreach&#8220; und die Verwendung von Corepack anstelle von yarnPath bei neuen Projekten, die mit &#8222;yarn init&#8220; erstellt wurden. Zero-Install, die Kombination von zwei Yarn-Funktionen, die Entwicklern erm\u00f6glichen, beim Wechseln zwischen Branches nicht extra &#8222;yarn install&#8220; ausf\u00fchren zu m\u00fcssen, ist standardm\u00e4\u00dfig bei neuen Projekten deaktiviert.<\/p>\n<p>Insgesamt bietet Yarn 4.0 viele Verbesserungen und neue Funktionen. Weitere Informationen k\u00f6nnen im Blogbeitrag zum aktuellen Release gefunden werden. Entwickler k\u00f6nnen die neue Version \u00fcber den offiziellen Kanal herunterladen und ausprobieren.<\/p>\n<p>Schlagw\u00f6rter: Yarn 40 + Hardened Mode + PluginFeatures<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das Yarn-Team hat die Version 4.0 seines JavaScript-Paketmanagers ver\u00f6ffentlicht. Yarn ist eine Alternative zu anderen Paketmanagern wie npm oder pnpm. Das neue Release wurde \u00fcber einen Zeitraum von mehr als einem Jahr entwickelt und bringt einige spannende Neuerungen mit sich. Eine der wichtigsten Funktionen ist der optionale Hardened Mode, der&#46;&#46;&#46;<\/p>\n","protected":false},"author":4,"featured_media":806,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-807","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/807","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=807"}],"version-history":[{"count":0,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/807\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/media\/806"}],"wp:attachment":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=807"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=807"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}