···11-/**
22- * Webpack config for production electron main process
33- */
44-55-import webpack from 'webpack';
66-import merge from 'webpack-merge';
77-import UglifyJSPlugin from 'uglifyjs-webpack-plugin';
88-import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
99-import baseConfig from './webpack.config.base';
1010-import CheckNodeEnv from './internals/scripts/CheckNodeEnv';
1111-1212-CheckNodeEnv('production');
1313-1414-export default merge.smart(baseConfig, {
1515- devtool: 'source-map',
1616-1717- mode: 'production',
1818-1919- target: 'electron-main',
2020-2121- entry: './app/main.dev',
2222-2323- output: {
2424- path: __dirname,
2525- filename: './app/main.prod.js',
2626- },
2727-2828- plugins: [
2929- new UglifyJSPlugin({
3030- parallel: true,
3131- sourceMap: true,
3232- }),
3333-3434- new BundleAnalyzerPlugin({
3535- analyzerMode: process.env.OPEN_ANALYZER === 'true' ? 'server' : 'disabled',
3636- openAnalyzer: process.env.OPEN_ANALYZER === 'true',
3737- }),
3838-3939- /**
4040- * Create global constants which can be configured at compile time.
4141- *
4242- * Useful for allowing different behaviour between development builds and
4343- * release builds
4444- *
4545- * NODE_ENV should be production so that modules do not perform certain
4646- * development checks
4747- */
4848- new webpack.EnvironmentPlugin({
4949- NODE_ENV: 'production',
5050- DEBUG_PROD: 'true',
5151- }),
5252- ],
5353-5454- /**
5555- * Disables webpack processing of __dirname and __filename.
5656- * If you run the bundle in node.js it falls back to these values of node.js.
5757- * https://github.com/webpack/webpack/issues/2010
5858- */
5959- node: {
6060- __dirname: false,
6161- __filename: false,
6262- },
6363-});