JavaScript/TypeScript: Inkrementelles Turborepo beherrscht den Workspace

Vercel hat Version 1.8 von Turborepo vorgestellt. Die Software bietet eine bessere Workspace-Verwaltung und vereinfacht die Migration beim Upgrade.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
Woman,Working,At,Home,Office,Hand,On,Keyboard,Close,Up

(Bild: Undrey/Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Frank-Michael Schlede
Inhaltsverzeichnis

Turborepo wird vom Entwicklerteam bei Vercel als leistungsfähiges Build-System für JavaScript- und TypeScript-Codebasen charakterisiert und steht jetzt in der aktuellen Version 1.8 bereit. Mit diesem Release soll die Software besser mit den Arbeitsbereichen der Entwickler und Entwicklerinnen zusammenarbeiten. Auch ein Upgrade auf die neue Version soll deutlich einfacher vonstattengehen, als bei den vorherigen Releases.

Turborepo ist einer von drei Bestandteilen der von Vercel entwickelten Toolchain Turbo: Neben dem Webpack-Nachfolger Turbopack beinhaltet das Paket Turborepo und die Turbo Engine, die für inkrementelle Berechnungen und Memoisierung (Technik zur Beschleunigung von Programmen) auf niedriger Ebene gedacht ist.

Das Entwicklerteam hat mit dieser Version von Turborepo die Konfigurationsmöglichkeiten für die Arbeitsbereiche deutlich erweitert: So können Entwicklerinnen nun beispielsweise einem Arbeitsbereich eine turbo.json-Konfigurationsdatei hinzufügen, um auf diese Weise die Stammkonfiguration in Ihrem Repository zu überschreiben. Zudem wurde automatisches "Workspace Scoping" eingeführt. Dadurch erkennt Global turbo jetzt automatisch den aktuellen Arbeitsbereich, sodass nur die Aufgaben dieses Arbeitsbereichs ausgeführt werden.

Dadurch, dass Entwickler und Entwicklerinnen in den Verzeichnissen von Arbeitsbereichen eine turbo.json-Datei hinzufügen können, ist es ihnen jetzt auch möglich, Aufgaben hinzuzufügen, die für diesen Arbeitsbereich spezifisch sind oder die Konfiguration für bestimmte Aufgaben außer Kraft zu setzen. Das soll es den Entwicklerteams ermöglichen, die Verantwortung für die Projekte in ihren Monorepos zu skalieren, indem sie von der globalen Konfiguration zur genaueren Kontrolle über Aufgaben in Arbeitsbereichen übergehen.

Bereits in der Version 1.7 von Turborepo ließ sich turbo global installieren, was Programmierern die Möglichkeit gab, Ihre Tasks von überall in Ihrer Codebasis auszuführen. Allerdings startete turbo so immer noch Aufgaben vom Stammverzeichnis aus und führte dabei Aufgaben in Arbeitsbereichen aus, in denen es ein Entwickler vielleicht nicht beabsichtigt hatte.

Mit der aktuellen Version 1.8 erkennt turbo automatisch den Arbeitsbereich, in dem die Entwicklerin sich befindet und generiert die Syntax —filter, um die Aufgabe auf diesen Arbeitsbereich zu beschränken. Handelt es sich beispielsweise bei dem aktuellen Verzeichnis um apps/admin und der Entwickler setzt den Befehl turbo build ein, führt turbo unter der Haube automatisch den Befehl build --filter=admin aus und konzentriert sich so auf den aktuellen Arbeitsbereich.

Als einen weiteren wichtigen Vorteil der neuen Version führt das Entwicklerteam auf, dass ein manuelles Ausführen einzelner Codemods in der richtigen Reihenfolge beim Upgrade von Turborepo-Versionen nun nicht mehr erforderlich ist. Der Aufruf von @turbo/codemod bietet jetzt einen einfachen migrate-Befehl, der sowohl das entsprechende Repository auf die angegebene Version (standardmäßiglatest) von turbo aktualisiert als auch alle erforderlichen Codemods ausführt.

Weitere Information zur neuen Version finden sich in einem Blog-Eintrag sowie in der umfangreichen Online-Dokumentation der Software.

(fms)