const path = require('path'); const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); const TerserPlugin = require('terser-webpack-plugin'); const { CleanWebpackPlugin } = require('clean-webpack-plugin'); module.exports = { entry: './src/index.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'readability.min.js', library: 'ReadabilityBundle', libraryTarget: 'umd', globalObject: 'this' }, mode: 'production', module: { rules: [ { test: /\.js$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-env'] } } } ] }, optimization: { minimize: true, minimizer: [ new TerserPlugin({ extractComments: false }) ], usedExports: true, sideEffects: true }, plugins: [ new CleanWebpackPlugin(), new BundleAnalyzerPlugin({ analyzerMode: 'static', openAnalyzer: false, generateStatsFile: true, statsOptions: { source: false } }) ] };