Babel 6 kommt mit größtem Update in der Versionsgeschichte

Babel 6.0.0 erschienen
1 Kommentar

Der JavaScript-Transpiler Babel feierte vor kurzem seinen ersten Geburtstag. Nun ist der Transpiler in Version 6.0.0 erschienen – dem größten Update in der Versionsgeschichte. Das Projekt hat sich von einem reinen Transpiler hin zu einer Plattform entwickelt.

Babel hat sich innerhalb eines Jahres stark weiterentwickelt: Bereits im Februar bekam das Projekt einen neuen Namen verpasst – aus 6to5 wurde Babel. Denn der bisherige Name sorgte für die Annahme, dass es sich hierbei nur um eine Lösung für die Umwandlung von ECMAScript 6 zu ES5 handle. Gleichzeitig fiel auch der Startschuss zu einer Expansion von Babel: Nur ein ES6-Transpiler zu sein, war nicht genug. Aus diesem Grund wurde Babel zu einer Plattform, einem Set von Werkzeugen, das die nächste Generation des JavaScript-Toolings einläuten sollte.

Mit dem Release von Babel 5 erschien ein Plugin-API, das es ermöglichte, direkt in den Transformierungsprozess integrierte Tools zu erstellen. Allerdings war auch das dem Entwicklerteam nicht genug:

Babel should be able to power minifiers, linters, formatters, syntax highlighters, code completion tools, type checkers, codemod tools, and every other tool to be using the same foundation to do their job better than ever before.

Jetzt ist also Babel 6 erschienen. James Kyle fasst im Babel-Blog alle Neuerungen und Änderungen ausführlich zusammen.

Babel 6.0.0 – Was ist neu?

Die größte Änderung in Babel 6 ist die komplette Restrukturierung des Transpilers, sodass dieser so modular wie möglich ist. Alle Transformatoren wurden als Plugins neugeschrieben, die dasselbe API wie alle User nutzen. Alle Internals wurden in einzelne Packages aufgeteilt – jede Einheit definiert ein leichtgewichtiges öffentliches API, das unabhängig verwendet werden kann. Im Packages Directory finden sich alle bestehenden Packages und Plugins.

Zusätzlich sind nun alle Plugins optional, sodass Babel nicht mehr automatisch den ES2015-Code transpiliert. Um das öffentliche API von Babel zu vereinfachen, ist nun jeder Transformer komplett unabhängig, die blacklist-, whitelist-, optional-, nonStandard-, und modules-Optionen wurden entfernt. Des Weiteren führt Babel 6 das Konzept der Plugin Presets ein, das ähnliche Plugins gruppiert. So soll das Spezifizieren und die Wartung von Transformatoren wesentlich vereinfacht werden.

Performance-Verbesserungen und das Plugin API

Performance bleibt auch weiterhin das Hauptaugenmerk von Babel. Was bereits in Version 5 begonnen hat, wird nun mit einer Beschleunigung des Traversal-Prozess‘ fortgeführt. In Babel 6 werden alle Plugins in einem einzigen Traversal zusammengefügt. Die neue Optimierung verwaltet den gesamten Traversal-Prozess, sodass sich Entwickler nun ganz auf das Schreiben der Transforms konzentrieren können.

Das Plugin API sorgte bei Nutzern oftmals für Verwirrung, weswegen es in Babel 6 nun einfacher ist:

Babel 5

export default function({ Plugin, types: t }) {
return new Plugin(‘ast-transform’, {
visitor: { … }
});
}

Babel 6

export default function({ types: t }) {
return {
visitor: { … }
};
}

Beim Updaten der Plugins müssen auch die Major-Versionen angepasst werden, da das Update Babel 5 und 6 inkompatibel macht. Semantic Versioning ist dabei unerlässlich.


Ein Überblick über alle weiteren Änderungen und Neuerungen findet sich im Babel-Blog oder auf GitHub. Von dort lässt sich auch die aktuelle Version herunterladen. Zum Abschluss noch ein wichtiger Hinweis:

NOTE: Not all integrations have been updated yet. This is a very disruptive major so please bear with us as we smooth out the edges.

webinale – the holistic web conference

Diversity matters – Onlinemarketing 2020

mit Astrid Kramer (Astrid Kramer Consulting)

Das Recht auf Privatsphäre – eine Chance für UX

mit Lutz Schmitt (Lutz Schmitt Design & Consulting)

The Revenge of Structured Data

mit Stephan Cifka (Performics Germany GmbH)

IT Security Summit 2020

Zero Trust – why are we having this conversation?

mit Victoria Almazova (Microsoft)

Digitaler Ersthelfer

mit Martin Wundram (DigiTrace GmbH)

Aufmacherbild: Turmbau von Babel (Babylon), ein berühmtes Gemälde von Pieter Brueghel der Ältere ;1563 erstellt von Shutterstock / Urheberrecht: jorisvo

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

1 Kommentar auf "Babel 6.0.0 erschienen"

avatar
400
  Subscribe  
Benachrichtige mich zu:
trackback

[…] JavaScript-Transpiler Babel ist knapp drei Monate nach dem Major-Release Babel 6.0.0 in Version 6.5 veröffentlicht worden. Mit an Bord sind Verbesserungen am Plugin-System, etwas […]

X
- Gib Deinen Standort ein -
- or -