const path = require('path'); const FilewatcherPlugin = require('filewatcher-webpack-plugin'); const ELECTRON_RENDERER_PROCESS_ROOT = path.resolve(__dirname, 'src/renderer/'); let PROCESS_ARGV = process.env.npm_config_argv; if (PROCESS_ARGV) { PROCESS_ARGV = JSON.parse(PROCESS_ARGV); } const isDev = PROCESS_ARGV && PROCESS_ARGV.original && (PROCESS_ARGV.original.indexOf('dev') !== -1); module.exports = { // This rule is temporarily necessary until https://github.com/electron-userland/electron-webpack/issues/60 is fixed. module: { rules: [ { test: /\.jsx?$/, loader: 'babel-loader', options: { presets: ['env', 'react', 'stage-2'], }, }, ], }, // This allows imports to be made from the renderer process root (https://moduscreate.com/blog/es6-es2015-import-no-relative-path-webpack/). resolve: { modules: [ELECTRON_RENDERER_PROCESS_ROOT, 'node_modules', __dirname], extensions: ['.js', '.jsx', '.scss'], }, plugins: isDev ? [ new FilewatcherPlugin({ watchFileRegex: [require.resolve('lbry-redux'), require.resolve('lbryinc')], }), ] : [], };