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.

Artikel veröffentlicht am , Kristian Kißling/Linux Magazin/
Durcheinander wie beim Turmbau zu Babel (Pieter Bruegel der Ältere): die verschiedenen Sprachversionen von Javascript
Durcheinander wie beim Turmbau zu Babel (Pieter Bruegel der Ältere): die verschiedenen Sprachversionen von Javascript (Bild: Pieter Bruegel der Ältere von Pieter Bruegel dem Älteren)

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.

Stellenmarkt
  1. CRM & CPQ Inhouse Consultant Sales International (m/w/d)
    NETZSCH-Gerätebau GmbH, Selb
  2. SAP Logistik-Berater (m/w/x)
    über duerenhoff GmbH, Raum Darmstadt
Detailsuche

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

Golem Akademie
  1. Container Technologie: Docker und Kubernetes - Theorie und Praxis: virtueller Drei-Tage-Workshop
    04.-07.07.2022, virtuell
  2. LDAP Identitätsmanagement Fundamentals: virtueller Drei-Tage-Workshop
    18.-20.07.2022, Virtuell
Weitere IT-Trainings

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Google
Russland will Youtube aus Selbstschutz nicht blockieren

Die zahlreichen Drohungen der russischen Zensurbehörde zur Blockade von Youtube werden wohl nicht umgesetzt. Die Auswirkungen wären zu stark.

Google: Russland will Youtube aus Selbstschutz nicht blockieren
Artikel
  1. Nordvpn, Expressvpn, Mullvad & Co: Die Qual der VPN-Wahl
    Nordvpn, Expressvpn, Mullvad & Co
    Die Qual der VPN-Wahl

    Wer sicher im Internet unterwegs sein will, braucht ein VPN - oder doch nicht? Viele Anbieter kommen jedenfalls gar nicht erst in Frage.
    Von Moritz Tremmel

  2. Biontech: Mainz kann 365-Euro-ÖPNV-Ticket dank Corona einführen
    Biontech
    Mainz kann 365-Euro-ÖPNV-Ticket dank Corona einführen

    In Mainz ist Biontech beheimatet, was die Steuereinnahmen explodieren lässt. Mit dem Geld wird nun ein 365-Euro-Jahresticket für Schüler und Azubis finanziert.

  3. Krankenkassen: GFF erzielt ersten Erfolg im Streit um Gesundheitsdaten
    Krankenkassen
    GFF erzielt ersten Erfolg im Streit um Gesundheitsdaten

    Dürfen Krankenkassen pseudonymisierte Gesundheitsdaten aller Versicherten in eine Datenbank einspeisen? Im Fall von CCC-Sprecherin Kurz vorerst nicht.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • PS5 jetzt bestellbar • Cyber Week: Bis zu 900€ Rabatt auf E-Bikes • MindStar (u. a. Intel Core i9 529€, MSI RTX 3060 Ti 609€) • Gigabyte Waterforce Mainboard günstig wie nie: 480,95€ • Razer Ornata V2 Gaming-Tastatur günstig wie nie: 54,99€ • AOC G3 Gaming-Monitor 34" 165 Hz günstig wie nie: 404€ [Werbung]
    •  /