@babel/plugin-transform-flow-strip-types
Example
In
function foo(one: any, two: number, three?): string {}
Out
function foo(one, two, three) {}
Installation
npm install --save-dev @babel/plugin-transform-flow-strip-types
Usage
Via .babelrc (Recommended)
.babelrc
{
"plugins": ["@babel/plugin-transform-flow-strip-types"]
}
Via CLI
babel --plugins @babel/plugin-transform-flow-strip-types script.js
Via Node API
require("@babel/core").transform("code", {
plugins: ["@babel/plugin-transform-flow-strip-types"],
});
Options
all
boolean
, defaults to false
.
Flow will only parse Flow-specific features if a @flow
pragma is present atop the file, or the all
option isset inside the .flowconfig
.
If you are using the all
option in your Flow config, be sure to set this option to true
to get matching behavior.
For example, without either of the above, the following call expression with a type argument:
f<T>(e)
Would get parsed as a nested binary expression:
f < T > e;
requireDirective
boolean
, defaults to false
.
Setting this to true will only strip annotations and declarations from filesthat contain the // @flow
directive. It will also throw errors for any Flowannotations found in files without the directive.
You can read more about configuring plugin options here