summaryrefslogtreecommitdiff
path: root/electron/.electron-vue/webpack.main.config.js
diff options
context:
space:
mode:
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