Javascript-Transpiler: Babel erscheint nach drei Jahren in Version 7
Drei Jahre nach Version 6 ist nun Babel 7 erschienen. Der Javascript-Compiler verwandelt modernes Javascript in altes, damit das auch für betagte Browser ausführbar wird. Das Team hat das Projekt aufgeräumt, Support für alte Abhängigkeiten entfernt und unterstützt neue Syntax.

Moderne Javascript-Entwicklung hat ein Problem: Ältere Browser können modernes Javascript nicht lesen, wie es etwa die jährlichen Ecmascript-Standards vorgeben. Unternehmen und Entwickler, die modernes Javascript verwenden, können also nicht sicher sein, tatsächlich alle Nutzer zu erreichen. Hier kommt Babel ins Spiel. Der Compiler kann die neue Syntax in ältere übersetzen und verändert dabei den Sourcecode von Javascript-Programmen. Das hilft, wenn Zielsysteme neue Funktionen nicht unterstützen. Babel ist nun drei Jahre nach der vorangegangenen Veröffentlichung in Version 7 erschienen.
Die Neuerungen listet die Ankündigung auf. So gibt es keine Unterstützung mehr für die nicht mehr betreuten Node-Versionen 0.10, 0.12, 4 und 5. Neu ist der Wechsel zum @babel-Namespace mit sogenannten Scoped-Packages auf NPM. Aus babel-cli wird dann zum Beispiel @babel/cli und so weiter. Das soll Namenskollisionen mit anderen oder geforkten Paketen vermeiden.
Zudem hat das Team die jahresabhängigen Presets abgeschafft, mit denen etwa bestimmte Versionen des jährlichen Ecmascript-Standards ausgewählt werden konnten wie etwa ES2015. Ersatz für diese Funktion liefert künftig @babel/preset-env. Ebenso werden die Presets für sogenannte Staging-Spracherweiterungen fallengelassen. Dabei handelt es sich um Javascript-Erweiterungen, die noch nicht vollständig standardisiert sind. In einem gesonderten Blog-Eintrag erklärt das Team die Gründe für seine Entscheidung, die ihm nicht leicht gefallen sei.
Entwickler, die dennoch Staging-Funktionen nutzen wollen, können dies auch weiterhin. Dies geht jedoch nur über eine explizites Opt-in. Zu der neuen unterstützten Syntax in Babel 7 gehören einige Standards aus ES2018, ES2015 sowie verschiedene Erweiterungen der Stages 1, 2 und 3.
Maintainer sind auch nur Menschen
In der Ankündigung zur neuen Version weist Entwickler Henry Zhu eingangs auf die Rolle von Babel hin und gibt Informationen zum Stand des Projekts. Demnach verwenden 1,3 Millionen Repositories Babel als Abhängigkeit, es gibt 17 Millionen Downloads pro Monat auf NPM und Hunderte aktive, große Nutzer, darunter Firmen wie Facebook, Netflix, Airbnb, aber auch Javascript-Frameworks wie React, Vue und Ember.
Trotzdem sei Babel eher ein kleines Open-Source-Projekt, die wenigen Entwickler haben sehr viel zu tun und sind dabei nicht selten überfordert. Zhu selbst gehört zu einer neuen Gruppe von Entwicklern, die an Babel mitarbeiten. Wie viele andere der Babel-Maintainer sei er in die Rolle hineingestolpert, die vorherigen Maintainer hätten das Projekt wegen Überarbeitung verlassen. Er ruft Nutzer der Software dazu auf, sich aktiv an der Entwicklung zu beteiligen oder die Arbeit daran mit Spenden zu unterstützen.
Weitere Details zu den Neuerungen liefert der Blogpost mit der Ankündigung, der Quellcode für Babel 7 ist auf Github zu finden.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Fast alle "super modernen" Projekte benutzen irgendwie Babel. Typescript wandert auch in...