const path = require('path'); const CopyPlugin = require('copy-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { entry: { background: './src/background/service-worker.ts', popup: './src/popup/popup.ts', tracking: './src/tracking/tracking.ts' }, output: { path: path.resolve(__dirname, 'dist'), filename: '[name].js', clean: true }, module: { rules: [ { test: /\.ts$/, use: 'ts-loader', exclude: /node_modules/ }, { test: /\.css$/, use: ['style-loader', 'css-loader'] } ] }, resolve: { extensions: ['.ts', '.js'] }, plugins: [ new HtmlWebpackPlugin({ template: './src/popup/popup.html', filename: 'popup.html', chunks: ['popup'] }), new HtmlWebpackPlugin({ template: './src/tracking/tracking.html', filename: 'tracking.html', chunks: ['tracking'] }), new CopyPlugin({ patterns: [ { from: 'public/manifest.json', to: 'manifest.json' }, { from: 'public/icons', to: 'icons' }, { from: 'public/_locales', to: '_locales' } ] }) ] };