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.

7.28.0 Publiée : `babel.config.ts`, gestion explicite des ressources et proposition de liaison de rejet

· 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.28.0 est disponible !

Cette version inclut la prise en charge de babel.config.ts et babel.config.mts, la fonctionnalité ES2026 de gestion explicite des ressources, la proposition de liaison de rejet et l'option sourceType: "commonjs".

Vous pouvez consulter 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.28.0 sont incluses dans la v8.0.0-beta.1.

Annonce de la bêta de Babel 8

· 3 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 →

Près de deux ans après la première version alpha de Babel 8 (8.0.0-alpha.0), nous sommes enfin prêts.

Tous les changements cassants prévus pour Babel 8 sont implémentés, et nous avons éliminé une grande partie de la dette technique accumulée au fil des années et que nous n'avions pu résoudre pendant le cycle de vie de Babel 7.

Nous devons maintenant le tester sur des projets réels pour nous assurer que tout fonctionne correctement. Nous utilisons Babel 8 pour transpiler notre propre code depuis les premières versions alpha, mais un seul utilisateur en préversion ne suffit pas. 😉

7.27.0 est disponible : meilleure intégration à l'écosystème

· 3 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.27.0 est disponible !

Cette version n'introduit pas de nouvelle fonctionnalité majeure, mais améliore l'alignement du comportement de Babel avec le JavaScript standard et les autres outils.

L'imprimante de code génère désormais par défaut la syntaxe correcte des import attributes, sans nécessiter d'activation manuelle d'option.

Nous avons également ajusté le comportement de l'option rewriteImportExtensions de @babel/preset-typescript pour corriger certaines divergences par rapport à --rewriteRelativeImportExtensions de TypeScript.

Enfin, nous avons mis à jour notre plugin de compatibilité estree dans @babel/parser pour générer des nœuds AccessorProperty pour les propriétés de classe accessor foo = "val", introduites par la proposition de décorateurs en étape 3. Notez que, pour des raisons de compatibilité ascendante, @babel/parser ne génère un AST compatible ESTree pour les fonctionnalités de classe que lorsque l'option classFeatures du plugin estree est activée.

Plusieurs changements pourraient bénéficier aux auteurs de plugins : vous pouvez consulter l'intégralité du journal des modifications sur GitHub.

7.26.0 publié : fonctionnalités de stage 4 activées par défaut et nouveau générateur de code expérimental

· 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.26.0 vient d'être publié !

Il active par défaut le support de deux propositions ECMAScript devenues standards lors de la dernière réunion TC39, les attributs d'import et les modificateurs d'expressions régulières en ligne, ainsi que l'analyse des énumérations Flow.

Babel permet désormais aussi aux plugins de fournir des hooks pre/post asynchrones, et propose un [mode expérimental](TODO: Link) pour préserver les positions des tokens lors de la génération du code transformé.

Vous pouvez consulter le changelog complet sur GitHub.

7.25.0 : Correctifs pour Safari et groupes de capture nommés dupliqués

· 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.25.0 est disponible !

@babel/preset-env prend désormais en charge par défaut la proposition de groupes de capture nommés dupliqués pour les expressions régulières, ainsi qu'un correctif pour les champs de classe lors du ciblage de Safari. Cette version améliore également la prise en charge de la compilation des imports de modules JSON en CommonJS, et ajoute la prise en charge des fichiers de configuration au mode --eval de @babel/node.

Vous pouvez consulter l'intégralité du journal des modifications sur GitHub.

Version 7.24.0 : Mise à jour des décorateurs et importation de modules JSON

· 5 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.24.0 est disponible !

Nous avons mis à jour notre implémentation des décorateurs pour correspondre à la dernière version de la proposition, et amélioré la transformation des champs et méthodes privés de classe. Nous avons également ajouté la prise en charge de l'importation de modules JSON dans les navigateurs et Node.js, une proposition de Stage 3 plus ancienne dépendant des attributs d'import.

Vous pouvez consulter l'intégralité du journal des modifications sur GitHub.

CVE-2023-45133 : Découverte d'une vulnérabilité d'exécution de code arbitraire dans Babel

· 12 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 →

Le 10 octobre 2023, j'ai découvert par hasard une vulnérabilité d'exécution de code arbitraire dans Babel, qui s'est vu attribuer l'identifiant CVE-2023-45133. Dans cet article, je vous dévoile le processus de découverte et d'exploitation de cette faille intrigante.

Version 7.23.0 : Métadonnées de décorateurs et nombreuses nouvelles fonctionnalités `import` !

· 7 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 →

Nous venons de publier Babel 7.23.0 ! 🎉

Cette version inclut le support de transformation pour les propositions Decorator Metadata, Source Phase Import, Deferred Import Evaluation et Optional Chaining Assignment. Nous avons également mis à jour notre parser pour supporter TypeScript 5.2 et ajouté une option permettant d'utiliser l'extension .ts dans les imports TypeScript.

En plus de la version 7.23.0, nous avons récemment publié la première version alpha de Babel 8 !

Consultez le changelog complet sur GitHub.

Version 7.22.0 : Prise en charge de la gestion explicite des ressources et analyse des attributs d'import

· 8 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.22.0 est disponible, avec la prise en charge de l'analyse et de la transformation pour la proposition Explicit Resource Management, incluant les variantes synchrones et asynchrones, ainsi que la prise en charge de l'analyse pour les Import Attributes (une évolution de l'ancienne proposition Import Assertions).

Nous avons également mis à jour notre implémentation des décorateurs suite à des changements dans la proposition, et ajouté la prise en charge des instructions TypeScript import ... = et export ... =.

@babel/preset-env inclut désormais par défaut la prise en charge de la transformation du flag v pour les expressions régulières, récemment approuvé dans le standard ECMAScript. Enfin, nous avons renommé tous les plugins pour les fonctionnalités stables d'ECMAScript, passant de -proposal- à -transform-.

Vous pouvez consulter l'intégralité du journal des modifications sur GitHub.