2019-03-16 01:05:31 +11:00
|
|
|
const { join, resolve } = require('path');
|
2023-05-24 01:15:17 +10:00
|
|
|
|
2019-03-16 01:05:31 +11:00
|
|
|
const { env, settings } = require('../configuration');
|
|
|
|
|
2024-07-24 18:13:09 +10:00
|
|
|
// Those modules contain modern ES code that need to be transpiled for Webpack to process it
|
|
|
|
const nodeModulesToProcess = [
|
|
|
|
'@reduxjs', 'fuzzysort'
|
|
|
|
];
|
|
|
|
|
2019-03-16 01:05:31 +11:00
|
|
|
module.exports = {
|
2023-04-03 11:31:39 +10:00
|
|
|
test: /\.(js|jsx|mjs|ts|tsx)$/,
|
2019-03-16 01:05:31 +11:00
|
|
|
include: [
|
|
|
|
settings.source_path,
|
|
|
|
...settings.resolved_paths,
|
2024-07-24 18:13:09 +10:00
|
|
|
...nodeModulesToProcess.map(p => resolve(`node_modules/${p}`)),
|
2019-03-16 01:05:31 +11:00
|
|
|
].map(p => resolve(p)),
|
2024-07-24 18:13:09 +10:00
|
|
|
exclude: new RegExp('node_modules\\/(?!(' + nodeModulesToProcess.join('|')+')\\/).*'),
|
2019-03-16 01:05:31 +11:00
|
|
|
use: [
|
|
|
|
{
|
|
|
|
loader: 'babel-loader',
|
|
|
|
options: {
|
|
|
|
cacheDirectory: join(settings.cache_path, 'babel-loader'),
|
|
|
|
cacheCompression: env.NODE_ENV === 'production',
|
|
|
|
compact: env.NODE_ENV === 'production',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
],
|
|
|
|
};
|