diff options
Diffstat (limited to 'electron/.electron-vue/webpack.main.config.js')
| -rw-r--r-- | electron/.electron-vue/webpack.main.config.js | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/electron/.electron-vue/webpack.main.config.js b/electron/.electron-vue/webpack.main.config.js new file mode 100644 index 00000000..cfdbdf22 --- /dev/null +++ b/electron/.electron-vue/webpack.main.config.js @@ -0,0 +1,72 @@ +'use strict' + +process.env.BABEL_ENV = 'main' + +const path = require('path') +const { dependencies } = require('../package.json') +const webpack = require('webpack') + +const BabiliWebpackPlugin = require('babili-webpack-plugin') + +let mainConfig = { + entry: { + main: path.join(__dirname, '../src/main/index.js') + }, + externals: [ + ...Object.keys(dependencies || {}) + ], + module: { + rules: [ + { + test: /\.js$/, + use: 'babel-loader', + exclude: /node_modules/ + }, + { + test: /\.node$/, + use: 'node-loader' + } + ] + }, + node: { + __dirname: process.env.NODE_ENV !== 'production', + __filename: process.env.NODE_ENV !== 'production' + }, + output: { + filename: '[name].js', + libraryTarget: 'commonjs2', + path: path.join(__dirname, '../dist/electron') + }, + plugins: [ + new webpack.NoEmitOnErrorsPlugin() + ], + resolve: { + extensions: ['.js', '.json', '.node'] + }, + target: 'electron-main' +} + +/** + * Adjust mainConfig for development settings + */ +if (process.env.NODE_ENV !== 'production') { + mainConfig.plugins.push( + new webpack.DefinePlugin({ + '__static': `"${path.join(__dirname, '../static').replace(/\\/g, '\\\\')}"` + }) + ) +} + +/** + * Adjust mainConfig for production settings + */ +if (process.env.NODE_ENV === 'production') { + mainConfig.plugins.push( + new BabiliWebpackPlugin(), + new webpack.DefinePlugin({ + 'process.env.NODE_ENV': '"production"' + }) + ) +} + +module.exports = mainConfig |
