{"id":21873,"library":"remove-flow-types-loader","title":"remove-flow-types-loader","description":"A webpack loader that strips Flow type annotations from JavaScript files during bundling using flow-remove-types. Current stable version is 1.1.0, with low release cadence (last update in 2017). Designed as a lightweight alternative to full Babel transpilation, it operates as a pre-loader to remove Flow types without transforming other syntax. Useful for projects that only need type stripping and want faster builds. Compared to babel-plugin-flow-strip-types, this loader is leaner but lacks plugin ecosystem integration.","status":"maintenance","version":"1.1.0","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","flow","webpack","loader","remove-types"],"install":[{"cmd":"npm install remove-flow-types-loader","lang":"bash","label":"npm"},{"cmd":"yarn add remove-flow-types-loader","lang":"bash","label":"yarn"},{"cmd":"pnpm add remove-flow-types-loader","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core dependency for stripping Flow type annotations","package":"flow-remove-types","optional":false}],"imports":[{"note":"Webpack 2+ uses rules array with enforce: 'pre'. Using the deprecated loaders or preLoaders syntax is the most common mistake.","wrong":"module.exports = { module: { loaders: [{ test: /\\.jsx?$/, loader: 'remove-flow-types' }] } }","symbol":"Loader (in webpack config)","correct":"module.exports = { module: { rules: [{ test: /\\.jsx?$/, enforce: 'pre', use: ['remove-flow-types-loader'] }] } }"}],"quickstart":{"code":"// webpack.config.js\nconst path = require('path');\n\nmodule.exports = {\n  mode: 'development',\n  entry: './src/index.js',\n  output: {\n    filename: 'bundle.js',\n    path: path.resolve(__dirname, 'dist')\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.jsx?$/,\n        enforce: 'pre',\n        use: ['remove-flow-types-loader'],\n        include: path.join(__dirname, 'src')\n      }\n    ]\n  }\n};","lang":"javascript","description":"Configures webpack to run remove-flow-types-loader as a pre-loader on all .js/.jsx files inside the src directory, stripping Flow types before other loaders."},"warnings":[{"fix":"Add 'enforce: \"pre\"' to the rule object in webpack configuration.","message":"Loader must be used with enforce: 'pre' in webpack 2+; otherwise it runs after other loaders and may corrupt output.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Use module.rules with enforce: 'pre' instead of module.preLoaders.","message":"Webpack 1 preLoaders syntax is deprecated and will cause errors in webpack 2+.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Refer to flow-remove-types documentation for valid options.","message":"Options are passed through to flow-remove-types; invalid options may cause silent failures.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run 'npm install --save-dev remove-flow-types-loader'","cause":"Missing npm install of the loader.","error":"Error: 'remove-flow-types-loader' not found"},{"fix":"Run 'npm install --save-dev flow-remove-types'","cause":"Missing peer dependency flow-remove-types.","error":"Module build failed: Error: Failed to read config directory .../node_modules/remove-flow-types-loader"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}