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.
- Frank-Michael Schlede
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.
Workspaces einfacher konfigurieren
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.
Automatisches Scoping des Arbeitsbereichs
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.
Update ist jetzt einfacher
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)