const webpack = require('webpack'); const path = require('path'); const productionConfig = require('./webpack.config.production.babel'); const pkg = require('../package.json'); const PORT = pkg.dev['dev-server-port']; let devtool; let plugins; const output = { libraryTarget: 'commonjs2', filename: 'main.min.js', }; if (process.env.NODE_ENV === 'development') { output.path = path.join(__dirname, '../app'); devtool = 'eval-source-map'; plugins = [ new webpack.DefinePlugin({ 'process.env.APP_RENDER_URL': JSON.stringify(`http://localhost:${PORT}/renderer.html`), 'process.env.NODE_ENV': JSON.stringify('development'), 'process.env.INSOMNIA_ENV': JSON.stringify('development'), 'process.env.RELEASE_DATE': JSON.stringify(new Date()), }), ]; } else { output.path = path.join(__dirname, '../build', process.env.APP_ID); devtool = productionConfig.devtool; plugins = productionConfig.plugins; } module.exports = { ...productionConfig, devtool: devtool, entry: ['./main.development.js'], output: output, node: { __dirname: false, // Use node.js __dirname }, target: 'electron-main', plugins: plugins, };