'use strict' const webpack = require('webpack') const merge = require('webpack-merge') const baseConfig = require('./webpack.config.base') const MiniCssExtractPlugin = require('mini-css-extract-plugin') // const UglifyJSPlugin = require('uglifyjs-webpack-plugin') // ERROR in vendor.js from UglifyJs // RangeError: Maximum call stack size exceeded module.exports = merge(baseConfig, { mode: 'production', output: { publicPath: '/' }, optimization: { // minimizer: [ // new UglifyJSPlugin({ // uglifyOptions: { // // Eliminate comments // comments: false, // // remove warnings // warnings: false, // minimize: false, // mangle: false, // compress: { // // Drop console statements // drop_console: true, // } // } // }) // ], splitChunks: { cacheGroups: { commons: { test: /[\\/]node_modules[\\/]/, name: "vendor", chunks: "all", } } } }, module: { rules: [ { test: /\.css?$/, use: [ MiniCssExtractPlugin.loader, 'css-loader' ] }, { test: /\.scss$/, use: [ MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader' ] } ] }, plugins: [ new MiniCssExtractPlugin({ filename: 'main.css' }), new webpack.DefinePlugin({ "process.env": "'prod'" }) ] })