forked from M3-Academy/m3-academy-template-checkout
48 lines
1.4 KiB
JavaScript
48 lines
1.4 KiB
JavaScript
|
const { merge } = require("webpack-merge");
|
||
|
const common = require("./webpack.common.js");
|
||
|
const TerserPlugin = require("terser-webpack-plugin");
|
||
|
|
||
|
module.exports = merge(common, {
|
||
|
externals: {
|
||
|
jquery: "jQuery",
|
||
|
vtexjs: "vtexjs",
|
||
|
},
|
||
|
mode: "production",
|
||
|
module: {
|
||
|
rules: [
|
||
|
{
|
||
|
test: /\.(js|jsx)$/,
|
||
|
exclude: /node_modules\/(?!(@agenciam3\/pkg)\/).*/,
|
||
|
use: {
|
||
|
loader: "babel-loader",
|
||
|
options: {
|
||
|
presets: [["@babel/preset-env"], "@babel/react"],
|
||
|
plugins: ["@babel/plugin-transform-async-to-generator"],
|
||
|
cacheDirectory: true,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
],
|
||
|
},
|
||
|
optimization: {
|
||
|
usedExports: true,
|
||
|
minimize: true,
|
||
|
minimizer: [
|
||
|
new TerserPlugin({
|
||
|
extractComments: true,
|
||
|
terserOptions: {
|
||
|
keep_classnames: true,
|
||
|
keep_fnames: true,
|
||
|
compress: {
|
||
|
pure_funcs: [
|
||
|
"console.table",
|
||
|
"console.debug",
|
||
|
"console.log",
|
||
|
],
|
||
|
},
|
||
|
},
|
||
|
}),
|
||
|
],
|
||
|
},
|
||
|
});
|