babel-preset-flow

raw JSON →
6.23.0 verified Sat Apr 25 auth: no javascript deprecated

Babel preset that strips Flow type annotations from JavaScript code. Contains babel-plugin-syntax-flow and babel-plugin-transform-flow-strip-types. Current stable version 6.23.0 (last published 2016-10-24); superseded by @babel/preset-flow in Babel 7. No releases since 2016. Use @babel/preset-flow for modern Babel 7+ projects.

error Error: Plugin/Preset files are not allowed to export objects, only functions.
cause Using babel-preset-flow with Babel 7+ which expects @babel/preset-flow export format.
fix
Migrate to @babel/preset-flow for Babel 7+.
error Module not found: Can't resolve 'babel-preset-flow' in '/path/to/project'
cause Missing dependency; babel-preset-flow is not installed.
fix
Run: npm install --save-dev babel-preset-flow
error TypeError: this.addHelper is not a function
cause Incompatible Babel version; babel-preset-flow's internal plugins expect older Babel 6 helpers.
fix
Use @babel/preset-flow with Babel 7.
deprecated babel-preset-flow is deprecated in favor of @babel/preset-flow for Babel 7+.
fix Replace with @babel/preset-flow and update to Babel 7+.
breaking Babel 7 changed the plugin naming convention; babel-preset-flow is not compatible with Babel 7's @babel/core.
fix Use @babel/preset-flow with Babel 7+.
gotcha This preset only strips types; it does not parse all Flow features (e.g., Flow enums or opaque types may not be fully supported).
fix Use a more recent version of @babel/preset-flow for better Flow coverage.
npm install babel-preset-flow
yarn add babel-preset-flow
pnpm add babel-preset-flow

Shows how to configure babel-preset-flow in .babelrc and programmatically via babel-core to strip Flow type annotations.

// Install: npm install --save-dev babel-preset-flow
// .babelrc
{
  "presets": ["flow"]
}
// Or programmatically:
const babel = require('babel-core');
babel.transform('type A = string; let a: A = "hello"; console.log(a);', {
  presets: ['flow']
}, (err, result) => {
  if (err) throw err;
  console.log(result.code);
});
// Output: let a = "hello"; console.log(a);