diff --git a/package.json b/package.json index ff7d8a9d8..3ca23f351 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "electron-publisher-s3": "^20.8.1", "electron-updater": "^2.23.3", "electron-window-state": "^4.1.1", + "filewatcher-webpack-plugin": "^1.2.0", "find-process": "^1.1.0", "formik": "^0.10.4", "hast-util-sanitize": "^1.1.2", diff --git a/webpack.renderer.additions.js b/webpack.renderer.additions.js index b0887e7a0..a04ecab0f 100644 --- a/webpack.renderer.additions.js +++ b/webpack.renderer.additions.js @@ -1,7 +1,16 @@ 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: { @@ -20,4 +29,9 @@ module.exports = { modules: [ELECTRON_RENDERER_PROCESS_ROOT, 'node_modules', __dirname], extensions: ['.js', '.jsx', '.scss'], }, + plugins: isDev ? [ + new FilewatcherPlugin({ + watchFileRegex: [require.resolve('lbry-redux')], + }), + ] : [], };