メインコンテンツにスキップ

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

情報

このプラグインは@babel/preset-flowに含まれています。

入力

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

出力

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

インストール

npm install --save-dev @babel/plugin-transform-flow-strip-types

使用方法

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

CLI経由

シェル
babel --plugins @babel/plugin-transform-flow-strip-types script.js

Node API経由

JavaScript
require("@babel/core").transformSync("code", {
plugins: ["@babel/plugin-transform-flow-strip-types"],
});

オプション

all

boolean、デフォルトはfalse

Flowは、ファイルの先頭に@flowプラグマが存在する場合、または.flowconfig内にallオプションが設定されている場合にのみ、Flow固有の機能を解析します。

Flow設定でallオプションを使用している場合は、このオプションをtrueに設定して、動作を一致させてください。

たとえば、上記のいずれもない場合、型引数を持つ次の呼び出し式

f<T>(e)

は、ネストされた二項演算式として解析されます

JavaScript
f < T > e;

requireDirective

boolean、デフォルトはfalse

これをtrueに設定すると、// @flowディレクティブを含むファイルからのみアノテーションと宣言が削除されます。また、ディレクティブのないファイルで見つかったFlowアノテーションについてはエラーがスローされます。

allowDeclareFields

boolean、デフォルトはfalse

追加バージョン: v7.9.0

注記

これはBabel 8でデフォルトで有効になります。

有効にすると、型のみのクラスフィールドは、`declare`修飾子が前に付いている場合にのみ削除されます。

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

プラグインオプションの設定について詳しくは、こちらをご覧ください。