Versionsverwaltung: isomorphic-git erscheint in aufgeräumter Version 1.0

Die vollständig in JavaScript verfasste Versionsverwaltung isomorphic-git zielt in Version 1.0 auf bessere IDE-Integration und Standardeinstellungen.

Lesezeit: 1 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 13 Beiträge
Von

Das Open-Source-Projekt isomorphic-git ist in Version 1.0 erschienen. Das Tool zur Versionsverwaltung ist komplett in JavaScript geschrieben und lässt sich sowohl serverseitig unter Node.js als auch clientseitig in aktuellen – auch mobilen – Browsern nutzen. Die Versionsnummer 1 markiert wie bei den meisten Projekten einen stabilen Stand der Software, und isomorphic-git bringt zahlreiche Breaking Changes gegenüber den vorherigen Releases mit.

Unter anderem verabschiedet sich das Tool vom Plug-in-System und setzt stattdessen auf Dependency Injection über Funktionsparameter. Außerdem tragen zahlreiche Funktionen neue Namen oder sind gänzlich verschwunden. Das gilt unter anderem für Funktionen, die "beta" im Namen tragen: So heißt die Funktion zum Traversieren eines Baums walkBeta2 nun schlicht walk, und die ähnliche Funktion walkBeta1 existiert nicht mehr.

Die Datei index.d.ts erstellen die Entwickler ab Version 1.0 nicht wie zuvor manuell, sondern generieren sie mit TypeScript über tsc --declaration --allowJs. Dadurch enthält sie die passende Dokumentation in JSDoc, die IDEs und Sourcecode-Editors wie Visual Studio Code anzeigen. Allerdings sind die Informationen noch nicht vollständig. Unter anderem fehlen die Details zu den Parametern der Funktionen.

Der Tooltip in Visual Studio Code bringt eine Beschreibung der jeweiligen Funktion mit.

(Bild: isomorphic-git)

Auch die TypeScript-Integration haben die Entwickler verbessert und die Rückgabetypen geändert. Unter anderem gibt readObject nun Discriminated Unions zurück. Exceptions sind ebenfalls wohltypisiert, um einen konsistenten Zugriff auf die .data-Property zu gewähren.

Die Standardeinstellungen sind in Version 1.0 deutlich vorsichtiger gewählt. So überschreibt die init-Funktion anders als zuvor eine vorhandene Konfigurationsdatei nicht. checkout warnt bei Konflikten, statt blind Dateien zu überschreiben, und die commit-Funktion entfernt nicht mehr ungefragt Submodule.

Weitere Details zu isomorphic-git 1.0 lassen sich dem Blogbeitrag entnehmen. Der Sourcecode findet sich auf GitHub. Das unter MIT-Lizenz stehende Projekt ist zudem über den Paketmanager npm verfügbar. Der Initiator und Hauptentwickler William Hilton hat das Projekt vor zwei Jahren gestartet, mit dem Ziel eine Git-Implementierung im Browser beziehungsweise für Node.js als reine JavaScript-Variante zu schreiben.

Einige Änderungen an der API in Version 1.0 sollen eine mittelfristige Stabilität gewährleisten. Laut dem Blogbeitrag soll es mindestens ein Jahr lang keine Breaking Changes, also Änderungen, die zu Inkompatibilitäten führen, im Projekt geben. Erklärtes Ziel ist, dass Entwickler die jeweils aktuelle Version nutzen können, ohne ihren Code anzupassen.

Siehe zum Thema Git auf heise Developer:

(rme)