summaryrefslogtreecommitdiff
path: root/electron/.electron-vue/webpack.main.config.js
diff options
context:
space:
mode:
authorLex Neva <lexelby@users.noreply.github.com>2020-04-28 12:34:05 -0400
committerGitHub <noreply@github.com>2020-04-28 18:34:05 +0200
commitcb2b4e3522cb7f426ba5ad3e68deb9e6ccc581ec (patch)
tree2a2f38823c3c9f0b5439ce2aa7c9040299109292 /electron/.electron-vue/webpack.main.config.js
parenteb526927e16954390d06929535d6f5c3766b5f6c (diff)
electron simulator (#531)
Diffstat (limited to 'electron/.electron-vue/webpack.main.config.js')
-rw-r--r--electron/.electron-vue/webpack.main.config.js72
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