@babel/plugin-transform-flow-strip-types
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 plugin est inclus dans @babel/preset-flow
Exemple
Entrée
function foo(one: any, two: number, three?): string {}
Sortie
function foo(one, two, three) {}
Installation
- npm
- Yarn
- pnpm
- Bun
npm install --save-dev @babel/plugin-transform-flow-strip-types
yarn add --dev @babel/plugin-transform-flow-strip-types
pnpm add --save-dev @babel/plugin-transform-flow-strip-types
bun add --dev @babel/plugin-transform-flow-strip-types
Utilisation
Avec un fichier de configuration (Recommandé)
{
"plugins": ["@babel/plugin-transform-flow-strip-types"]
}
Via CLI
babel --plugins @babel/plugin-transform-flow-strip-types script.js
Via l'API Node
require("@babel/core").transformSync("code", {
plugins: ["@babel/plugin-transform-flow-strip-types"],
});
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 l'une de ces conditions, l'expression d'appel suivante avec un argument de type :
f<T>(e)
serait analysée comme une expression binaire imbriquée :
f < T > e;
requireDirective
boolean, valeur par défaut : false.
Si défini à true, seules les annotations et déclarations des fichiers contenant la directive // @flow seront supprimées. Cette option générera aussi des erreurs pour toutes annotations Flow trouvées dans des fichiers sans la directive.
allowDeclareFields
boolean, valeur par défaut : false
Ajouté dans : v7.9.0
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 :
class A {
declare foo: string; // Removed
bar: string; // Initialized to undefined
}
Vous pouvez en savoir plus sur la configuration des options de plugin ici