46 lines
1.8 KiB
JavaScript
46 lines
1.8 KiB
JavaScript
const excludeNodeModulesExcept = require('./../helpers/excludeNodeModulesExcept.js');
|
|
|
|
function transpileJavaScript(mode) {
|
|
const exclude =
|
|
mode === 'production'
|
|
? excludeNodeModulesExcept([
|
|
// 'dicomweb-client',
|
|
// https://github.com/react-dnd/react-dnd/blob/master/babel.config.js
|
|
'react-dnd',
|
|
// https://github.com/dcmjs-org/dcmjs/blob/master/.babelrc
|
|
// https://github.com/react-dnd/react-dnd/issues/1342
|
|
// 'dcmjs', // contains: loglevelnext
|
|
// https://github.com/shellscape/loglevelnext#browser-support
|
|
// 'loglevelnext',
|
|
// https://github.com/dcmjs-org/dicom-microscopy-viewer/issues/35
|
|
// 'dicom-microscopy-viewer',
|
|
// https://github.com/openlayers/openlayers#supported-browsers
|
|
// 'ol', --> Should be fine
|
|
])
|
|
: excludeNodeModulesExcept([]);
|
|
|
|
return {
|
|
// Include mjs, ts, tsx, js, and jsx files.
|
|
test: /\.(mjs|ts|js)x?$/,
|
|
// These are packages that are not transpiled to our lowest supported
|
|
// JS version (currently ES5). Most of these leverage ES6+ features,
|
|
// that we need to transpile to a different syntax.
|
|
exclude: [/(codecs)/, /(dicomicc)/, exclude],
|
|
loader: 'babel-loader',
|
|
options: {
|
|
// Find babel.config.js in monorepo root
|
|
// https://babeljs.io/docs/en/options#rootmode
|
|
rootMode: 'upward',
|
|
envName: mode,
|
|
cacheCompression: false,
|
|
// Note: This was causing a lot of issues with yarn link of the cornerstone
|
|
// only set this to true if you don't have a yarn link to external libs
|
|
// otherwise expect the lib changes not to be reflected in the dev server
|
|
// as it will be cached
|
|
cacheDirectory: false,
|
|
},
|
|
};
|
|
}
|
|
|
|
module.exports = transpileJavaScript;
|