JavaScript-Compiler Babel wird in Version 6 modular

Die Babel-Macher haben den JavaScript-Compiler umstrukturiert, um ihn so modular wie möglich zu machen. So können Entwickler auch Teile davon für eigene Projekte nutzen.

vorlesen Druckansicht
Babel wird in Version 6 modular
Lesezeit: 2 Min.

Babel ist ein Compiler, der unter Berücksichtigung künftiger Standards verfassten JavaScript-Code in aktuellen übersetzt. Die Motivation des Initiators Sebastian McKenzie ist dieselbe wie bei Googles Traceur-Compiler: Entwickler sollen in der Lage sein, JavaScript in der neuesten Spezifikation zu schreiben, die von aktuellen Browsern noch nicht vollständig unterstützt wird. Eine Tabelle auf GitHub zeigt die Kompatibilität von Werkzeugen, Browsern und Servern zum im Juni veröffentlichten Sprachkern ECMAScript 6 (ES 2015) und dem kommenden ES7.

Seit Version 5 hat Babel eine Plug-in-API zur Integration externer Werkzeuge in den Übersetzungsprozess. Daraus ist inzwischen ein eigenes Ökosystem geworden, auf das der Blog-Beitrag zur Veröffentlichung von Version 6 verweist. Daraus entstand bei den Machern von Babel die Idee, das Werkzeug selbst zu modularisieren, damit andere Entwickler Teile des Compilers für eigene Projekte nutzen können. Die internen Prozesse haben ihren Weg in separate Pakete gefunden, die jeweils eigene, voneinander unabhängige APIs haben.

Mit der neuen Version möchten die Macher weg vom ES2015-Transpiler, als der Babel derzeit hauptsächlich genutzt wird, und hin zu einem generischen JavaScript-Werkzeugset. Anwender entscheiden über Opt-in, welche Plug-ins sie installieren möchten. Um die Vorgehensweise für Standardaufgaben zu vereinfachen, gibt es Plug-in-Presets. Derzeit existieren offizielle Voreinstellungen für ES2015 und React.

Die Plug-in-API haben die Macher ĂĽberarbeitet, da einige Anwender die alte Vorgehensweise verwirrend fanden. In Babel 6 wird die Struktur zwar ĂĽbersichtlicher, erfordert aber von den Plug-in-Autoren Anpassungen, da sie zu den Plug-ins fĂĽr Babel 5 inkompatibel ist.

Weitere Details zur neuen Version und Begründungen zu den Neuerungen finden sich in dem Blog-Beitrag zum Release. Babel 6 steht unter der MIT-Lizenz und ist auf GitHub zum Download verfügbar. Auf ihrer Website bieten die Entwickler eine interaktive Vorschau der Funktionsweise, die allerdings bei Veröffentlichung dieses Artikels noch Babel 5.x verwendete. (rme)