DEPREACTED due to lack of support/bug fixes/ new features, project abandoned, please migrate on https://github.com/webpack-contrib/terser-webpack-plugin
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
: Test to match files against. Default: /\.js($|\?)/i
include
: Files to include
. Default: undefined
exclude
: Files to exclude
. Default: undefined
comments
: Preserve Comments. Default: /^\**!|@preserve|@license|@cc_on/
, falsy value to remove all comments. Accepts function, object with property test (regex), and values.sourceMap
: Configure a sourcemap style. Default: webpackConfig.devtoolparserOpts
: Configure babel with special parser options.babel
: Pass in a custom babel-core
instead. Default: require("babel-core")
minifyPreset
: Pass in a custom babel-minify
preset instead. Default: 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 |