Aller au contenu principal

Version 7.12.0 : TypeScript 4.1, noms d'import/export sous forme de chaînes et blocs statiques de classes

· 6 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 une nouvelle version mineure de Babel !

Cette version ajoute la prise en charge des nouvelles fonctionnalités bêta de TypeScript 4.1 : les types littéraux de gabarit et le remappage des clés dans les types mappés.

De plus, nous avons implémenté deux nouvelles propositions ECMAScript : les blocs statiques de classes et les imports/exports avec noms sous forme de chaînes.

Enfin, nous avons renommé @babel/plugin-syntax-module-attributes (et le plugin d'analyse syntaxique correspondant moduleAttributes) en @babel/plugin-syntax-import-assertions (et importAssertions), pour refléter les évolutions récentes de la proposition. L'ancien plugin restera fonctionnel jusqu'à Babel 8 mais est désormais déprécié.

Vous pouvez consulter le journal complet des modifications sur GitHub.

Version 7.11.0 publiée : Prise en charge d'ECMAScript 2021 dans preset-env, TypeScript 4.0, affichage de configuration et avenir de `babel-eslint`

· 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 une nouvelle version mineure de Babel !

Cette version 7.11 inclut :

  • Prise en charge dans preset-env des assignations logiques (??=), séparateurs numériques (1_2) et ré-exports de namespace (export * as ns from ...)

  • Prise en charge de TypeScript 4.0

  • Support dans le parser de la proposition Stage-1 Decimal (7.11m)

  • Un indicateur d'environnement pour afficher la configuration Babel résolue d'un fichier (BABEL_SHOW_CONFIG_FOR)

En complément, nous publions le successeur de babel-eslint : @babel/eslint-parser !

Vous pouvez consulter l'intégralité du changelog sur GitHub.

7.10.0 publiée : Champs de classe dans preset-env, vérifications '#private in' et meilleur tree-shaking React

· 11 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 une nouvelle version mineure de Babel !

Cette version 7.10 inclut :

  • Support complet de la nouvelle proposition Stage 1 : vérifications #prop in obj pour les champs privés proposition.

  • @babel/preset-env compile désormais les échappements Unicode au format ES2015 (\u{Babe1}) vers la syntaxe legacy équivalente (\uDAAA\uDFE1).

  • Deux améliorations de l'opérateur Optional Chaining (?.)

  • Support du parser pour la nouvelle proposition Stage 1 Module Attributes (import a from "./a.json" with type: "json").

  • Meilleur support du tree-shaking pour le code React (ex: React.memo) !

  • Création du dépôt RFCs et des pages GitHub Discussions !

Vous pouvez consulter le changelog complet sur GitHub.

Version 7.9.0 : Sortie réduite pour preset-env, support de TypeScript 3.8 et nouvelle transformation JSX

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

Alors que nous préparons la version 8.0.0 (dans les prochains mois), nous venons de finaliser une nouvelle version mineure incluant des mises à jour concernant @babel/preset-env, TypeScript 3.8, Flow et JSX !

Il y a quelques mois, Jason Miller a commencé à travailler sur @babel/preset-modules : une expérience visant à réduire considérablement la taille des bundles grâce au modèle module/nomodule. Nous sommes ravis d'annoncer que ces fonctionnalités ont été intégrées à @babel/preset-env ! Ainsi, ces optimisations s'appliquent désormais à toutes les valeurs cibles de preset-env, sans nécessiter de preset supplémentaire.

Note : Ces optimisations seront activées par défaut dans Babel 8. Elles peuvent être activées manuellement dans Babel 7.9 en passant l'option { bugfixes: true } à preset-env.

Cette version prend également pleinement en charge TypeScript 3.8 avec ses imports/exports typés explicites (ex. export type { foo }), ainsi que Flow 0.120 et son modificateur declare pour les champs de classe (ex. class C { declare foo: string }).

Nous avons également collaboré avec l'équipe React pour proposer une nouvelle transformation JSX, permettant à React et aux bibliothèques similaires d'optimiser la création d'éléments JSX via la fonction jsx plutôt que React.createElement.

Enfin, @babel/parser prend désormais en charge une nouvelle proposition ECMAScript : Record & Tuple. Notez qu'il s'agit uniquement d'un support dans l'analyseur syntaxique, les transformations étant encore en développement.

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

Version 7.8.0 : Support ECMAScript 2020, fichiers de configuration .mjs et améliorations de @babel/cli

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

Voici la première version de l'année ! 🎉

Babel 7.8.0 prend désormais en charge nativement les nouvelles fonctionnalités ECMAScript 2020 : vous n'avez plus besoin d'activer manuellement les plugins pour le coalescement nul (??), le chaînage optionnel (?.) et l'import() dynamique avec preset-env.

Nous avons également finalisé l'alignement de nos différents formats de fichiers de configuration avec ceux supportés nativement par Node.js, un processus initié dans la version 7.7.0.

Enfin, l'interface en ligne de commande de Babel propose désormais deux nouvelles options : --out-file-extension et --copy-ignored.

Vous pouvez consulter le journal complet des modifications sur GitHub.

Plan de financement de Babel

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

L'un des plus grands atouts du logiciel open source est d'être ouvert et gratuit pour toute contribution. Cela engendre aussi l'un de ses principaux défis : assurer une maintenance cohérente et durable.

Babel n'est pas une entreprise. Comme mentionné dans le billet 7.0.0, l'équipe entièrement bénévole de Babel (Henry excepté) a fait de son mieux pour piloter le projet et répondre aux attentes de la communauté. Nous sommes heureux d'avoir continué à publier des versions, mais même suivre les problèmes signalés est difficile à gérer, sans parler de nos intégrations avec d'autres outils, des nouvelles propositions et de notre impact sur l'écosystème.

En mars 2018, Henry a quitté son emploi pour travailler au financement de Babel. Après beaucoup d'efforts et avec le soutien de la communauté, l'équipe a pu financer Henry comme mainteneur à temps plein.

Cela a été une grande victoire pour l'équipe, mais nous constatons que ce n'est pas suffisant.

7.7.0 est disponible : Récupération d'erreurs et TypeScript 3.7

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

Aujourd'hui, nous publions Babel 7.7.0 !

Cette version inclut de nouvelles fonctionnalités de parseur comme l'attente de haut niveau (await x(), Stage 3) et les déclarations d'énumération Flow (enum) (proposition Flow). Désormais, @babel/parser peut récupérer après certaines erreurs de syntaxe !

Nous avons également ajouté la prise en charge de TypeScript 3.7 : Babel peut analyser et transformer les champs privés de classe avec annotations de type, les annotations de champs publics de classe définies avec le mot-clé declare, les signatures de fonctions d'assertion de type et les littéraux de gabarit dans les déclarations enum.

Babel comprend désormais trois nouveaux fichiers de configuration : babel.config.json, babel.config.cjs et .babelrc.cjs, qui se comportent comme les fichiers babel.config.js et .babelrc.js.

Enfin, Babel 7.7.0 utilise 20 % de mémoire en moins que la version 7.6.0.

Vous pouvez consulter l'intégralité du changelog sur GitHub.

Version 7.6.0 : Accesseurs statiques privés et syntaxe intrinsèque V8

· 6 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 une nouvelle version mineure de Babel !

Elle inclut le support des accesseurs statiques privés dans les classes et la prise en charge par le parseur de la syntaxe intrinsèque V8. Nous avons également corrigé plusieurs problèmes de longue date liés à la gestion de la TDZ (Temporal Dead Zone) et amélioré le support des do-expressions. Vous pouvez consulter l'intégralité du changelog sur GitHub.

Version 7.5.0 : import dynamique et pipelines F#

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

Nous publions aujourd'hui Babel 7.5.0 !

Cette version améliore le support de plusieurs propositions ECMAScript : la variante F# de l'opérateur pipeline (Stage 1) et un plugin officiel pour la proposition d'import() dynamique (Stage 4) avec support dans preset-env. Elle inclut également une prise en charge expérimentale des namespace TypeScript et de la requête default de Browserslist dans preset-env.

Consultez le changelog complet sur GitHub.