@sanpjs/bundler-webpack
Version:
@sanpjs/bundler-webpack
42 lines • 1.6 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const css_minimizer_webpack_plugin_1 = __importDefault(require("css-minimizer-webpack-plugin"));
const terser_webpack_plugin_1 = __importDefault(require("terser-webpack-plugin"));
const utils_1 = require("../utils");
exports.default = (context, args) => {
const { sourceMap, optimization, hash, assetDir } = context.config.build;
const filename = (0, utils_1.getAssetPath)(assetDir, `js/[name]${hash ? '.[contenthash:8]' : ''}.js`);
const devtool = sourceMap
? typeof sourceMap === 'string' ? sourceMap : 'source-map'
: false;
const nanoOptions = {
preset: ['default', optimization.cssnano]
};
const webpackConfig = {
devtool,
output: {
filename,
chunkFilename: filename
},
optimization: {
minimizer: [
new css_minimizer_webpack_plugin_1.default({
parallel: true,
minimizerOptions: nanoOptions
}),
new terser_webpack_plugin_1.default({
extractComments: false,
parallel: true,
terserOptions: optimization.terser
})
],
splitChunks: optimization.splitChunks,
realContentHash: false
},
};
return webpackConfig;
};
//# sourceMappingURL=production.js.map