@ali-i18n-fe/dada-component
Version:
46 lines (42 loc) • 1.21 kB
JavaScript
const { getDocsEntries, getPreviewFiles } = require("./utils");
const { mergeWebpack } = require("./mergeWebpack");
const CopyPlugin = require("copy-webpack-plugin");
const OptimizeCssAssetsPlugin = require("optimize-css-assets-webpack-plugin");
const TerserPlugin = require("terser-webpack-plugin");
const common = require("./webpack.common.js");
const webpack = require("webpack");
const path = require("path");
module.exports = (options) => {
const { docsEntry } = getDocsEntries();
const previewFiles = getPreviewFiles();
return mergeWebpack(
common(options),
{
entry: {
...docsEntry,
},
mode: "production",
optimization: {
usedExports: true,
minimizer: [
new TerserPlugin({
parallel: true,
}),
],
},
plugins: [
new OptimizeCssAssetsPlugin(),
new webpack.DefinePlugin({
"process.env.NODE_ENV": JSON.stringify("production"),
}),
new CopyPlugin(
previewFiles.map((preview) => ({
from: path.resolve("src", preview),
to: `docs/${preview}`,
}))
),
],
},
options.webpackMerge || {}
);
};