51 lines
1.4 KiB
JavaScript
51 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')],
|
|
}),
|
|
]
|
|
: [],
|
|
};
|