const Webpack = require('webpack'); const { merge } = require('webpack-merge'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const common = require('./webpack.common.js'); module.exports = merge(common, { mode: 'production', devtool: 'source-map', stats: 'errors-only', bail: true, output: { filename: 'js/[name].js', chunkFilename: 'js/[name].chunk.js', }, plugins: [ new Webpack.DefinePlugin({ 'process.env.NODE_ENV': JSON.stringify('production'), }), new MiniCssExtractPlugin({ filename: 'css/[name].css', chunkFilename: 'css/[name].chunk.js', }), ], module: { rules: [ { test: /\.js$/, exclude: /node_modules/, use: 'babel-loader', }, { test: /\.s?css/i, use: [MiniCssExtractPlugin.loader, 'css-loader', 'postcss-loader', 'sass-loader'], }, ], }, });