fix: Don't mangle class names in production

This commit is contained in:
Tom Moor
2020-08-12 19:28:15 -07:00
parent ffe8c046ef
commit 221ee48429
3 changed files with 216 additions and 10 deletions

View File

@@ -2,6 +2,7 @@
const path = require('path');
const webpack = require('webpack');
const ManifestPlugin = require('webpack-manifest-plugin');
const TerserPlugin = require('terser-webpack-plugin');
commonWebpackConfig = require('./webpack.config');
@@ -15,8 +16,29 @@ productionWebpackConfig = Object.assign(commonWebpackConfig, {
filename: 'bundle.[hash].js',
publicPath: '/static/',
},
stats: "normal"
stats: "normal",
optimization: {
minimizer: [
new TerserPlugin({
terserOptions: {
ecma: undefined,
parse: {},
compress: {},
mangle: true, // Note `mangle.properties` is `false` by default.
module: false,
output: null,
toplevel: false,
nameCache: null,
ie8: false,
keep_classnames: undefined,
keep_fnames: true,
safari10: false,
},
}),
],
},
});
productionWebpackConfig.plugins = [
...productionWebpackConfig.plugins,
new ManifestPlugin()