@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
- Yarn
- pnpm
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
使用方法
設定ファイルを使用する(推奨)
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
}
ヒント
プラグインオプションの設定について詳しくは、こちらをご覧ください。