const path = require('path'); const {CleanWebpackPlugin} = require('clean-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const ProgressBarPlugin = require('progress-bar-webpack-plugin'); const webpack = require('webpack'); module.exports = env => { return { // mode: 'production', // devtool: 'source-map', // entry: { // index: './src/index.js' // }, // output: { // filename: '[name].bundle.js', // path: path.resolve(__dirname, '../dist') // }, module: { rules: [ { test: /\.s?css$/, use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader'] }, { test: /\.(woff|woff2|eot|ttf|otf)$/, type: 'asset/resource' } ] }, stats: { orphanModules: true }, resolve: { fallback: { util: require.resolve("util/") } }, plugins: [ // new ProgressBarPlugin(), // new CleanWebpackPlugin(), new MiniCssExtractPlugin({ filename: '[name].css' }), new webpack.EnvironmentPlugin({ DEBUG: false, NODE_DEBUG: false, }), new webpack.IgnorePlugin({ resourceRegExp: /^\.\/locale$/, contextRegExp: /moment$/, }) ], // // devServer: { // contentBase: './dist', // hot: true // }, // optimization: { usedExports: true, splitChunks: { cacheGroups: { commons: { test: /[\\/]node_modules[\\/]/, name: 'vendors', chunks: 'all' }, styles: { name: 'styles', test: /\.css$/, chunks: 'all', enforce: true, }, } } } } };