const path = require('path'); const common = require('./webpack.common'); const merge = require('webpack-merge'); const CleanWebpackPlugin = require('clean-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin'); const TerserPlugin = require('terser-webpack-plugin'); var HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = merge(common, { mode: 'production', output: { filename: '[name].js', path: path.resolve(__dirname, 'static-assets/bundle'), }, optimization: { minimizer: [ new OptimizeCssAssetsPlugin(), new TerserPlugin(), ], }, plugins: [ new MiniCssExtractPlugin({filename: '[name].css'}), new CleanWebpackPlugin(), ], module: { rules: [ { test: /\.scss$/, use: [ MiniCssExtractPlugin.loader, //3. Extract css into files 'css-loader', //2. Turns css into commonjs 'sass-loader', //1. Turns sass into css ], }, ], }, }); /* * new HtmlWebpackPlugin({ template: path.resolve(__dirname, 'output', 'index.html'), minify: { removeAttributeQuotes: true, collapseWhitespace: true, removeComments: true, }, }), new HtmlWebpackPlugin({ filename: 'register/index.html', // output filename template: path.resolve(__dirname, 'output/register/', 'index.html'), minify: { removeAttributeQuotes: true, collapseWhitespace: true, removeComments: true, }, }), new HtmlWebpackPlugin({ filename: 'panel/index.html', template: './output/panel/index.html', minify: { removeAttributeQuotes: true, collapseWhitespace: true, removeComments: true, } }), */