12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- 'use strict'
- process.env.BABEL_ENV = 'main'
- const path = require('path')
- const { dependencies } = require('../package.json')
- const webpack = require('webpack')
- const MinifyPlugin = require("babel-minify-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 MinifyPlugin(),
- new webpack.DefinePlugin({
- 'process.env.NODE_ENV': '"production"'
- })
- )
- }
- module.exports = mainConfig
|