const webpack = require('webpack'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const PurgeCSSPlugin = require('purgecss-webpack-plugin'); const { SubresourceIntegrityPlugin } = require('webpack-subresource-integrity'); module.exports = { context: __dirname + '/src', entry: { dashboard: [ './dashboard.js', //'./dashboard.css', ], }, mode: 'production', output: { publicPath: '/', path: __dirname + '/assets', filename: '[name]-[contenthash].min.js', assetModuleFilename: 'assets/[name][ext]', crossOriginLoading: 'anonymous', clean: true, }, plugins: [ /** new MiniCssExtractPlugin({ filename: '[name]-[contenthash].css', }), **/ new HtmlWebpackPlugin({ template: 'index.html', minify: false, inject: false, }), /** new PurgeCSSPlugin({ paths: [__dirname + '/src/index.html'], safelist: [/^oi/, /show/, /tooltip/], }), **/ new SubresourceIntegrityPlugin(), ], module: { rules: [ { test: /\.css$/, use: [MiniCssExtractPlugin.loader, 'css-loader'], }, { test: /\.(ico|png|gif|jpe?g|svg|eot|otf|ttf|woff)$/, type: 'asset/resource', }, ], }, };