import { fileURLToPath } from 'url'; import path from 'path'; import webpack from 'webpack'; import MiniCssExtractPlugin from 'mini-css-extract-plugin'; import CssMinimizerPlugin from 'css-minimizer-webpack-plugin'; import TerserPlugin from 'terser-webpack-plugin'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); export default { mode: 'production', entry: { bundle: [ './src/webui.js', ], }, output: { path: path.resolve(__dirname, './www'), publicPath: '/', filename: '[name].js', }, performance: { hints: false, }, module: { rules: [ { test: /.s?css$/, use: [MiniCssExtractPlugin.loader, "css-loader", "sass-loader"], }, ], }, optimization: { minimizer: [ new CssMinimizerPlugin(), ], }, plugins: [ new TerserPlugin(), new MiniCssExtractPlugin(), new webpack.LoaderOptionsPlugin({ minimize: true, }), new webpack.ProvidePlugin({ Buffer: [ 'buffer', 'Buffer' ], process: 'process/browser', url: 'url' }), ], };