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

@babel/preset-flow

このプリセットは、JavaScriptコードの静的型チェッカーであるFlowを使用する場合に推奨されます。以下のプラグインが含まれています。

入力

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

出力

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

インストール

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

使用方法

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

CLI経由

シェル
babel --presets @babel/preset-flow script.js

Node API経由

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

オプション

all

boolean、デフォルトはfalse

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

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

たとえば、上記のいずれも設定されていない場合、型引数を持つ以下の呼び出し式は

f<T>(e)

入れ子になった二項演算式として解析されます

JavaScript
f < T > e;

allowDeclareFields

boolean、デフォルトはfalse

追加バージョン: v7.9.0

注記

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

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

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

ignoreExtensions

`boolean`、デフォルトは `true`

追加バージョン: `v7.24.0`

`true` に設定すると、Babel はすべての拡張子に Flow 変換を適用します。 `false` に設定すると、Babel は `*.tsx` ファイルの Flow 変換を回避します。

experimental_useHermesParser

boolean、デフォルトはfalse

追加バージョン: `v7.24.0`

Hermes チームは、Babel 用の代替 Flow パーサーを保守しており、最新の Flow 構文機能に合わせて最新の状態に保たれています。このオプションを true に設定することで有効にすることができます。

警告

Hermesパーサーは、現在、コメントをASTに添付していません。これは、特定のコメントの存在に依存する変換で問題を引き起こす可能性があります。

プリセットオプションの設定について詳しくは、こちらをご覧ください。