Aller au contenu principal

7.29.0 Disponible : La dernière version mineure de Babel 7

· 4 min de lecture
Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Babel 7.29.0 est disponible !

Il s'agit de la dernière version mineure de Babel 7, car nous nous apprêtons à publier Babel 8.0.0. La version candidate de Babel 8.0.0 est également disponible aujourd'hui : essayez-la !

Cette version inclut la prise en charge de la définition des cibles de transpilation dans @babel/standalone via un attribut data-target sur les éléments <script>. Elle ajoute également la prise en charge de l'API asynchrone de @babel/core à @babel/standalone.

Ces deux changements visent à faciliter la migration de Babel 7 vers Babel 8.

Vous pouvez lire l'intégralité du journal des modifications sur GitHub. Si vous utilisez déjà la bêta de Babel 8, toutes les nouvelles fonctionnalités de la 7.29.0 sont incluses dans v8.0.0-rc.1.

Si vous ou votre entreprise souhaitez soutenir Babel et l'évolution de JavaScript mais ne savez pas comment, vous pouvez nous soutenir via notre Open Collective et, mieux encore, collaborer directement avec nous à l'implémentation de nouvelles propositions ECMAScript ! En tant que projet porté par des bénévoles, nous dépendons du soutien communautaire pour financer nos efforts visant à accompagner la diversité des utilisateurs JavaScript. Contactez-nous à team@babeljs.io pour en discuter !

Principales fonctionnalités

Prise en charge de l'attribut data-targets dans @babel/standalone (#17482)

Par défaut, @babel/preset-env transforme votre code jusqu'à ES5. Cela change dans Babel 8, où il utilisera par défaut la requête defaults de Browserslist.

Il est recommandé de toujours spécifier vos targets explicitement, dès Babel 7, afin que votre sortie ne change pas avec la mise à jour majeure. Ce nouvel attribut rend cela possible lors de l'utilisation de @babel/standalone pour transformer automatiquement les balises <script> :

<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>

<script type="text/babel" data-targets="firefox 97, chrome 102">
const getMessage = () => "Hello World";
document.getElementById("output").innerHTML = getMessage();
</script>

Notez que Browserslist ne prend pas en charge la spécification du "navigateur actuel" comme cible : c'est à vous de choisir des cibles suffisamment anciennes pour que les navigateurs de vos utilisateurs soient pris en charge.

Babel 8.0.0-rc.1

Après des années de développement, Babel 8 est enfin prêt. Nous le publions en version 8.0.0-rc.1, afin que davantage d'utilisateurs puissent l'essayer et signaler des problèmes avant la version finale. Nous ne prévoyons pas d'autres changements, sauf en raison des retours des utilisateurs testant les dernières pré-versions.

Notre principe directeur pour les changements cassants a été de rendre la mise à jour vers Babel 8 aussi simple que possible : la plupart ont déjà été introduits dans Babel 7 derrière une option, vous permettant d'adapter votre code avant même d'effectuer la mise à jour.

Nous avons préparé d'excellentes ressources pour vous guider dans la migration depuis Babel 7 vers Babel 8 :

De nombreux changements cassants ne devraient pas impacter nos utilisateurs, mais nous en sommes particulièrement enthousiastes : par exemple, Babel 8 sera livré exclusivement sous forme de module ESM. Nous cherchions depuis très longtemps comment y parvenir, et avec la prise en charge de require(esm) intégrée dans Node.js 20, nous sommes désormais à l'aise pour ne plus fournir d'alternative CommonJS.

Vous pouvez également lire l'intégralité du journal des modifications de chaque pré-version de Babel 8 sur GitHub.