@@ -7,16 +7,17 @@ const getBabelRc = (pathToLook) => {
7
7
return JSON . parse ( file ) ;
8
8
}
9
9
10
- const moduleIsAvailable = ( modulePath ) => {
10
+ const moduleIsAvailable = ( modulePath , compilerNodeModules ) => {
11
11
try {
12
- return require . resolve ( modulePath ) ; ;
12
+ return require . resolve ( modulePath , { paths : [ compilerNodeModules ] } ) ;
13
13
} catch ( e ) {
14
14
return null ;
15
15
}
16
16
}
17
17
18
- const addBabelPrefixAndResolve = ( prefixType , obj ) => {
19
- const resolvedModule = moduleIsAvailable ( obj ) ;
18
+ const addBabelPrefixAndResolve = ( prefixType , obj , compilerRootFolder ) => {
19
+ const compilerNodeModules = path . join ( compilerRootFolder , 'node_modules' ) ;
20
+ const resolvedModule = moduleIsAvailable ( obj , compilerNodeModules ) ;
20
21
if ( resolvedModule ) {
21
22
return resolvedModule ;
22
23
}
@@ -27,8 +28,7 @@ const addBabelPrefixAndResolve = (prefixType, obj) => {
27
28
} else if ( ! obj . startsWith ( `babel-${ prefixType } ` ) ) {
28
29
obj = `babel-${ prefixType } -${ obj } ` ;
29
30
}
30
-
31
- return require . resolve ( obj ) ;
31
+ return require . resolve ( obj , { paths : [ compilerNodeModules ] } ) ;
32
32
}
33
33
34
34
/**
@@ -45,20 +45,20 @@ const getBabelOptions = (pathToLook) => {
45
45
46
46
options . plugins = options . plugins . map ( plugin => {
47
47
if ( Array . isArray ( plugin ) ) {
48
- plugin [ 0 ] = addBabelPrefixAndResolve ( 'plugin' , plugin [ 0 ] ) ;
48
+ plugin [ 0 ] = addBabelPrefixAndResolve ( 'plugin' , plugin [ 0 ] , pathToLook ) ;
49
49
return plugin ;
50
50
}
51
51
52
- return addBabelPrefixAndResolve ( 'plugin' , plugin ) ;
52
+ return addBabelPrefixAndResolve ( 'plugin' , plugin , pathToLook ) ;
53
53
} ) ;
54
54
55
55
options . presets = options . presets . map ( preset => {
56
56
if ( Array . isArray ( preset ) ) {
57
- preset [ 0 ] = addBabelPrefixAndResolve ( 'preset' , preset [ 0 ] ) ;
57
+ preset [ 0 ] = addBabelPrefixAndResolve ( 'preset' , preset [ 0 ] , pathToLook ) ;
58
58
return preset ;
59
59
}
60
60
61
- return addBabelPrefixAndResolve ( 'preset' , preset ) ;
61
+ return addBabelPrefixAndResolve ( 'preset' , preset , pathToLook ) ;
62
62
} ) ;
63
63
64
64
return options ;
0 commit comments