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.
Common errors
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.
Warnings
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.
Install
npm install babel-preset-flow yarn add babel-preset-flow pnpm add babel-preset-flow Imports
- default wrong
import babelPresetFlow from 'babel-preset-flow'correctrequire('babel-preset-flow') - plugins wrong
import('babel-preset-flow').then(m => m.plugins)correctrequire('babel-preset-flow').plugins
Quickstart
// 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);