UNPKG

webpack-genius

Version:

**For chinese developers:** you'd better add taobao mirror before everything start. Or you may fail to install. ```bash yarn config set registry http://registry.npm.taobao.org ```

46 lines (45 loc) 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setOptimizationAfter = exports.setOptimization = void 0; var tslib_1 = require("tslib"); var terser_webpack_plugin_1 = tslib_1.__importDefault(require("terser-webpack-plugin")); exports.setOptimization = function (config, webpack) { config.nodeEnv = webpack.getEnvironment(); if (webpack.isHot()) { config.removeAvailableModules = false; config.removeEmptyChunks = false; config.splitChunks = {}; } else { config.runtimeChunk = true; config.minimize = true; config.minimizer = []; config.splitChunks = { chunks: 'all', cacheGroups: { vendors: { test: /[\\/]node_modules[\\/]/, priority: -10, chunks: 'all', }, default: { minChunks: 2, chunks: 'all', priority: -20, reuseExistingChunk: true, }, }, }; } }; exports.setOptimizationAfter = function (uglifyConfig, optimization, genius) { var options = uglifyConfig || {}; var devtool = genius.getConfig().devtool; if (devtool !== undefined && devtool !== false && options.sourceMap === undefined) { options.sourceMap = true; } if (optimization.minimize) { optimization.minimizer = optimization.minimizer || []; optimization.minimizer.push(new terser_webpack_plugin_1.default(uglifyConfig)); } };