A Webpack Plugin for babel-minify - A babel based minifier
npm install babel-minify-webpack-plugin --save-dev
// webpack.config.js
const MinifyPlugin = require("babel-minify-webpack-plugin");
module.exports = {
entry: //...,
output: //...,
plugins: [
new MinifyPlugin(minifyOpts, pluginOpts)
]
}
###
minifyOpts are passed on to babel-preset-minify. You can find a list of all available options in the package directory.
Default: {}
test: JS file extension regex. Default: /\.js($|\?)/icomments: Preserve Comments. Default: /^\**!|@preserve|@license|@cc_on/, falsy value to remove all comments. Accepts function, object with property test (regex), and values.sourceMap: Default: uses webpackConfig.devtool. Set this to override that.parserOpts: Configure babel with special parser options.babel: Pass in a custom babel-core instead. require("babel-core")minifyPreset: Pass in a custom minify preset instead - require("babel-preset-minify").You can also use babel-loader for webpack and include minify as a preset and should be much faster than using this - as babel-minify will operate on smaller file sizes. But then, why does this plugin exist at all? -
mangle: { topLevel: true } in minifyOptions.node_modules from being run through the babel-loader, babel-minify optimizations are not applied to the excluded files as it doesn't pass through the minifier.Boopathi Rajaa |
Juho Vepsäläinen |
Joshua Wiens |
Kees Kluskens |
Sean Larkin |