@alicloud/console-toolkit-plugin-react
Version:
console toolkit plugin for base react app
45 lines (44 loc) • 1.58 kB
JavaScript
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.uglifyPlugin = void 0;
var UglifyPlugin = require("uglifyjs-webpack-plugin");
var TerserPlugin = require("terser-webpack-plugin");
var OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin");
function uglifyPlugin(config, option) {
var optimization = config.optimization;
var uglifyOptions = __assign({ safari10: true, compress: {
collapse_vars: false
}, sourceMap: !!option.sourceMap }, option.uglifyOptions);
if (!option.useTerserPlugin) {
optimization.minimizer('Uglify')
.use(UglifyPlugin, [{
parallel: true,
sourceMap: !!option.sourceMap,
uglifyOptions: uglifyOptions,
}]);
}
else {
optimization.minimizer('Terser')
.use(TerserPlugin, [{
parallel: true,
sourceMap: !!option.sourceMap,
terserOptions: uglifyOptions,
}]);
}
config
.optimization
.minimizer('OptimizeCSSAssetsPlugin')
.use(OptimizeCSSAssetsPlugin, [{}]);
}
exports.uglifyPlugin = uglifyPlugin;
;