lbry-desktop/webpack.renderer.additions.js

52 lines
1.4 KiB
JavaScript
Raw Normal View History

2018-01-18 03:13:08 +01:00
const path = require('path');
2018-07-26 01:38:47 +02:00
const FilewatcherPlugin = require('filewatcher-webpack-plugin');
2017-12-04 20:45:18 +01:00
2018-01-18 03:13:08 +01:00
const ELECTRON_RENDERER_PROCESS_ROOT = path.resolve(__dirname, 'src/renderer/');
2017-12-04 20:45:18 +01:00
let PROCESS_ARGV = process.env.npm_config_argv;
if (PROCESS_ARGV) {
PROCESS_ARGV = JSON.parse(PROCESS_ARGV);
}
2019-02-22 06:01:59 +01:00
const isDev = PROCESS_ARGV && PROCESS_ARGV.original && PROCESS_ARGV.original.indexOf('dev') !== -1;
2017-12-04 20:45:18 +01:00
module.exports = {
module: {
rules: [
{
test: /\.jsx?$/,
2019-02-22 06:01:59 +01:00
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',
},
},
},
],
},
],
2017-12-04 20:45:18 +01:00
},
// 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'],
},
2019-02-22 06:01:59 +01:00
plugins: isDev
? [
new FilewatcherPlugin({
watchFileRegex: [require.resolve('lbry-redux'), require.resolve('lbryinc')],
}),
]
: [],
};