{"id":19294,"library":"babel-preset-flow","title":"babel-preset-flow","description":"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.","status":"deprecated","version":"6.23.0","language":"javascript","source_language":"en","source_url":"https://github.com/babel/babel/tree/master/packages/babel-preset-flow","tags":["javascript","babel-preset","flowtype","flow","types"],"install":[{"cmd":"npm install babel-preset-flow","lang":"bash","label":"npm"},{"cmd":"yarn add babel-preset-flow","lang":"bash","label":"yarn"},{"cmd":"pnpm add babel-preset-flow","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Parsing flow syntax; included in preset but also a peer dependency of the transform plugin","package":"babel-plugin-syntax-flow","optional":false},{"reason":"Strips Flow types; core plugin of the preset","package":"babel-plugin-transform-flow-strip-types","optional":false}],"imports":[{"note":"CJS-only; no default ESM export. In Node.js, use require.","wrong":"import babelPresetFlow from 'babel-preset-flow'","symbol":"default","correct":"require('babel-preset-flow')"},{"note":"Dynamic import works but not recommended; the preset exports a plain object with a plugins array.","wrong":"import('babel-preset-flow').then(m => m.plugins)","symbol":"plugins","correct":"require('babel-preset-flow').plugins"}],"quickstart":{"code":"// Install: npm install --save-dev babel-preset-flow\n// .babelrc\n{\n  \"presets\": [\"flow\"]\n}\n// Or programmatically:\nconst babel = require('babel-core');\nbabel.transform('type A = string; let a: A = \"hello\"; console.log(a);', {\n  presets: ['flow']\n}, (err, result) => {\n  if (err) throw err;\n  console.log(result.code);\n});\n// Output: let a = \"hello\"; console.log(a);","lang":"javascript","description":"Shows how to configure babel-preset-flow in .babelrc and programmatically via babel-core to strip Flow type annotations."},"warnings":[{"fix":"Replace with @babel/preset-flow and update to Babel 7+.","message":"babel-preset-flow is deprecated in favor of @babel/preset-flow for Babel 7+.","severity":"deprecated","affected_versions":">=6.0.0"},{"fix":"Use @babel/preset-flow with Babel 7+.","message":"Babel 7 changed the plugin naming convention; babel-preset-flow is not compatible with Babel 7's @babel/core.","severity":"breaking","affected_versions":">=6.0.0 <7.0.0"},{"fix":"Use a more recent version of @babel/preset-flow for better Flow coverage.","message":"This preset only strips types; it does not parse all Flow features (e.g., Flow enums or opaque types may not be fully supported).","severity":"gotcha","affected_versions":">=6.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Migrate to @babel/preset-flow for Babel 7+.","cause":"Using babel-preset-flow with Babel 7+ which expects @babel/preset-flow export format.","error":"Error: Plugin/Preset files are not allowed to export objects, only functions."},{"fix":"Run: npm install --save-dev babel-preset-flow","cause":"Missing dependency; babel-preset-flow is not installed.","error":"Module not found: Can't resolve 'babel-preset-flow' in '/path/to/project'"},{"fix":"Use @babel/preset-flow with Babel 7.","cause":"Incompatible Babel version; babel-preset-flow's internal plugins expect older Babel 6 helpers.","error":"TypeError: this.addHelper is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}