JavaScript-Compiler Babel 7 erscheint nach drei Jahren Entwicklung

Eines der wichtigsten Werkzeuge des JavaScript-Ökosystems vollzieht nach langer Entwicklungszeit den nächsten großen Versionssprung.

 –  4 Kommentare
Nach rund drei Jahren Entwicklung: JavaScript-Compiler Babel 7 ist erschienen

Version 7 des JavaScript-Compilers Babel ist erschienen. Sie folgt auf das schon im November 2015 erschienene Babel 6. In Zwischenzeit gab es rund 4000 Commits und 50 Prereleases. Es ist jedoch auch von mittlerweile rund 5,1 Millionen Downloads pro Monat die Rede, die zustande kommen, weil Babel von Werkzeugen wie Next.js, vue-cli sowie React Native sowie im WordPress-Frontend genutzt wird.

Nicht verwunderlich bei der langen Entwicklungszeit ist, dass gewisse Dinge früherer Releases nicht mehr kompatibel mit Babel 7 sind. Doch stellen die Entwickler mit babel upgrade ein Werkzeug bereit, das die meisten Änderungen wohl automatisch berücksichtigt. Die Empfehlung hierfür lautet, es in einem Git-Repository mit npx babel-upgrade laufen zu lassen oder es "global" mit npm i babel-upgrade -g zu installieren.

Dann haben die Entwickler babel.config.js vorgestellt, was bei der Konfiguration der JavaScript-Dateien helfen soll. In Babel bleiben die JavaScript-Config-Files aber optional. Außerdem haben sie mit dem TypeScript-Team zusammengearbeitet mit dem Ziel, die von Microsoft als JavaScript-Aufsatz konzipierte Programmiersprache zu unterstützen. Es hakt aber noch an der einen oder anderen Stelle. Beispielsweise lassen sich Namensräume aus TypeScript in Babel nicht kompilieren. Ein separater Blogbeitrag geht auf die Kooperation ein.

Des Weiteren werden die jüngsten Neuerungen des ECMAScript-Standards wie Object Rest/Spread Properties, Unicode Property Regex und ein JSON Superset, aber auch noch in der Entwicklung befindliche JavaScript-Features unterstützt. Die Ankündigung listet diese im TC39 festgeschriebenen Entwicklungen auf. Jedoch enthält Babel nun keine Presets mehr für ECMAScript-Proposals unterhalb der Stage 4. Diese sind nun manuell zu installieren. Anwender sollen so keinen automatischen Zugriff auf noch nicht finalisierte Syntax bekommen.

Zudem haben die Entwickler an der Performance von Babel geschraubt. So sind wohl viele Änderungen vorgenommen worden, um den Code zu optimieren und Patches des V8-Teams zu nutzen. Letztlich sind die Entwickler stolz darauf, Teil des Web Tooling Benchmark zu sein.

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 etwa 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.

Siehe dazu auf heise Developer: