Aller au contenu principal

@babel/preset-flow

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 →

Ce préréglage est recommandé si vous utilisez Flow, un vérificateur de types statique pour le code JavaScript. Il inclut les plugins suivants :

Exemple

Entrée

JavaScript
function foo(one: any, two: number, three?): string {}

Sortie

JavaScript
function foo(one, two, three) {}

Installation

npm install --save-dev @babel/preset-flow

Utilisation

Avec un fichier de configuration (Recommandé)

babel.config.json
{
"presets": ["@babel/preset-flow"]
}

Via CLI

Shell
babel --presets @babel/preset-flow script.js

Via l'API Node

JavaScript
require("@babel/core").transformSync("code", {
presets: ["@babel/preset-flow"],
});

Options

all

boolean, valeur par défaut : false.

Flow ne traitera les fonctionnalités spécifiques à Flow que si une directive @flow est présente en haut du fichier, ou si l'option all est activée dans le .flowconfig.

Si vous utilisez l'option all dans votre configuration Flow, assurez-vous de définir cette option à true pour obtenir un comportement cohérent.

Par exemple, sans aucun des deux paramètres précédents, l'expression d'appel suivante avec un argument de type :

f<T>(e)

serait analysée comme une expression binaire imbriquée :

JavaScript
f < T > e;

allowDeclareFields

boolean, valeur par défaut : false

Ajouté dans : v7.9.0

note

Activé par défaut dans Babel 8

Lorsqu'activé, les champs de classe purement typés ne sont supprimés que s'ils sont préfixés par le modificateur declare :

JavaScript
class A {
declare foo: string; // Removed
bar: string; // Initialized to undefined
}

ignoreExtensions

boolean, valeur par défaut : true

Ajouté dans : v7.24.0

Lorsqu'elle est définie à true, Babel appliquera la transformation flow à toutes les extensions. Lorsqu'elle est définie à false, Babel évitera la transformation flow pour les fichiers *.tsx.

experimental_useHermesParser

boolean, valeur par défaut : false

Ajouté dans : v7.24.0

L'équipe Hermes maintient un analyseur Flow alternatif pour Babel, qui est mieux tenu à jour avec les dernières fonctionnalités syntaxiques de Flow. Vous pouvez l'activer en définissant cette option à true.

avertissement

L'analyseur Hermes n'attache actuellement pas les commentaires à l'AST. Cela peut causer des problèmes avec les transformations qui dépendent de la présence de commentaires spécifiques.

Vous pouvez en savoir plus sur la configuration des options des préconfigurations ici