lbry-desktop/webpack.renderer.additions.js
2019-02-22 00:01:59 -05:00

52 lines
1.4 KiB
JavaScript

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 = {
module: {
rules: [
{
test: /\.jsx?$/,
use: [
// This rule is temporarily necessary until https://github.com/electron-userland/electron-webpack/issues/60 is fixed.
{
loader: 'babel-loader',
options: {
presets: ['env', 'react', 'stage-2'],
},
},
{
loader: 'preprocess-loader',
options: {
TARGET: 'app',
ppOptions: {
type: 'js',
},
},
},
],
},
],
},
// 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')],
}),
]
: [],
};