UNPKG

1.08 kBJavaScriptView Raw
1const path = require('path')
2
3module.exports = (config, { babel, transformModules }) => {
4 // Ensure that transformModules is an array
5 if (typeof transformModules === 'string') {
6 transformModules = [transformModules]
7 }
8
9 config.module
10 .rule('js')
11 .test(/\.jsx?$/)
12 .include
13 .add(filepath => {
14 // For anything outside node_modules
15 if (filepath.indexOf(`${path.sep}node_modules${path.sep}`) === -1) {
16 return true
17 }
18 // For specified modules
19 if (Array.isArray(transformModules)) {
20 const hasModuleToTransform = transformModules.some(name => {
21 return filepath.indexOf(`${path.sep}node_modules${path.sep}${name}${path.sep}`) >= 0
22 })
23 if (hasModuleToTransform) {
24 return true
25 }
26 }
27 return false
28 })
29 .end()
30 .use('babel-loader')
31 .loader('babel-loader')
32 .options(babel)
33
34 config.module
35 .rule('es')
36 .test(/\.es6?$/)
37 .use('babel-loader')
38 .loader('babel-loader')
39 .options(babel)
40}