UNPKG

@alicloud/console-toolkit-plugin-react

Version:

console toolkit plugin for base react app

45 lines (44 loc) 1.58 kB
"use strict"; 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;