const webpack = require('webpack') const Dotenv = require('dotenv-webpack'); const TerserPlugin = require("terser-webpack-plugin"); const FileManagerPlugin = require('filemanager-webpack-plugin'); const { merge } = require('webpack-merge'); const common = require('./webpack.common.js'); const sourceCodeArchiveInclude = [ 'src/**', 'static/**', '.env.development', '.env.development', '.env.production', 'package.json', 'webpack.common.js', 'webpack.development.js', 'webpack.production.js' ]; module.exports = merge(common, { mode: 'production', optimization: { minimize: true, minimizer: [new TerserPlugin()], }, plugins: [ new webpack.EnvironmentPlugin({ PROD: true, }), new Dotenv({ path: './.env.production' }), new FileManagerPlugin({ events: { onEnd: { archive: [ { source: `dist/widget`, destination: 'dist/widget.zip', }, { source: `{${sourceCodeArchiveInclude}}`, destination: 'widget_source.zip', }, ], }, }, }), ] });