JavaScript: Babel 7.5.0 bringt Support für ECMAScript-Proposals

Der JavaScript-Compiler Babel integriert in der neuen Version zwei weitere Vorschläge für kommende Versionen des ECMAScript-Standards.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
JavaScript: Babel 7.5.0 bringt Support für ECMAScript-Proposals

(Bild: Blackboard/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Björn Bohn

Der JavaScript-Compiler Babel ist in Version 7.5 erschienen. Das Babel-Entwicklerteam hat dabei vor allem einige neue Proposals des Sprachstandards ECMAScript im Blick. Zum einen unterstützt Babel jetzt die mit F# vergleichbare Variante des Stage 1 Pipeline Operator. Zum anderen kann der Compiler ein offizielles Plug-in für das Stage 4 Proposal für ein dynamisches import() vorweisen, inklusive Support für preset-env.

Ebenfalls neu für Babel sind die experimentellen Namespaces (namespace) des JavaScript-Superset TypeScript sowie das default-Query von Browserslist in preset-env.

Die Pipeline Operator befinden sich zwar noch in einem frühen Vorschlagsstadium für ECMAScript, das Babel-Team möchte den Autoren des Proposals allerdings die Möglichkeit geben, mehr über die Funktionsweise der Operator zu lernen. Derzeit geistern wohl eine Reihe an Varianten der Operator durch das Technical Comittee von ECMAScript – die Varianten "minimal" und "smart" landeten bereits in Babel 7.0.0 beziehungsweise 7.3.0. Nun können Entwickler auch auf die "#"-Alternative zurückgreifen – sie setzt nicht auf das Konzept der Topic References, sondern nutzt stattdessen Arrow-Funktionen. Damit sei das Proposal näher an aktuellem JavaScript, die Syntax wäre aber weniger kompakt.

Babel kann zwar wohl seit längerem dynamische Imports parsen, allerdings gab es bislang keine konsistente Möglichkeit diese umzuwandeln. Da das Proposal für Dynamic Import mittlerweile in der Hauptspezifikation von ECMAScript gelandet ist, hat Babel die verschiedenen Anwendungsfälle unter @babel/plugin-proposal-dynamic-import zusammengefasst. Das Plug-in muss allerdings zusammen mit einem der Module-Transform-Plug-ins genutzt werden, da Babel wissen muss, auf welches Module-Loading-System Nutzer abzielen.

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.

Detaillierte Informationen zu den Änderungen finden sich in einem Beitrag im Babel-Blog. Alle Neuerungen der neuen Version finden sich in den Release Notes auf GitHub.

[Ergänzung, 8.7.19, 11:45]: Ein Absatz zum Funktionszweck von Babel wurde ergänzt. (bbo)