Aller au contenu principal

@babel/plugin-transform-flow-strip-types

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 →

info

Ce plugin est inclus dans @babel/preset-flow

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/plugin-transform-flow-strip-types

Utilisation

Avec un fichier de configuration (Recommandé)

babel.config.json
{
"plugins": ["@babel/plugin-transform-flow-strip-types"]
}

Via CLI

Shell
babel --plugins @babel/plugin-transform-flow-strip-types script.js

Via l'API Node

JavaScript
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 :

JavaScript
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

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
}
astuce

Vous pouvez en savoir plus sur la configuration des options de plugin ici