/ webpack_config / webpack.electron-dev.js
webpack.electron-dev.js
 1  'use strict';
 2  const webpack = require('webpack');
 3  const path = require('path');
 4  const ClearDistPlugin = require('./plugins/clearDist');
 5  const config = require('./config');
 6  
 7  const electronConfig = {
 8    target: 'electron-main',
 9    mode: 'development',
10    entry: {
11      main: path.join(config.path.electron, 'main/index.ts'),
12      preload: path.join(config.path.electron, 'preload/index.ts')
13    },
14    module: {
15      rules: [
16        config.typescriptRule,
17        // HTML as string
18        {
19          test: /\.html$/,
20          use: 'raw-loader',
21        }
22      ]
23    },
24    resolve: {
25      extensions: ['.ts', '.js', '.json'],
26      modules: config.resolve.modules
27    },
28    output: {
29      filename: '[name].js',
30      path: path.resolve(config.path.output, 'electron-js')
31    },
32    plugins: [
33      new ClearDistPlugin(),
34      new webpack.DefinePlugin({
35        'process.env.NODE_ENV': JSON.stringify('development')
36      })
37    ],
38    externals: {
39      'node-hid': 'commonjs node-hid'
40    },
41    node: {
42      __dirname: false,
43      __filename: false
44    },
45    devtool: 'eval'
46  };
47  
48  module.exports = electronConfig;