@@ -7,13 +7,13 @@ function RequireJsResolverPlugin(options) {
7
7
this . sandbox = options . sandbox || { } ;
8
8
}
9
9
10
- RequireJsResolverPlugin . prototype . getConfig = function ( fs ) {
10
+ RequireJsResolverPlugin . prototype . getConfig = function ( fs ) {
11
11
return new Promise ( ( resolve , reject ) => {
12
12
if ( this . configData ) {
13
13
return resolve ( this . configData ) ;
14
14
}
15
15
16
- fs . readFile ( this . configPath , function ( err , buffer ) {
16
+ fs . readFile ( this . configPath , ( err , buffer ) => {
17
17
if ( err ) {
18
18
reject ( err ) ;
19
19
} else {
@@ -27,15 +27,15 @@ RequireJsResolverPlugin.prototype.getConfig = function(fs) {
27
27
28
28
let sandbox = Object . assign ( {
29
29
paths : { } ,
30
- require : function ( ) {
30
+ require : ( ) => {
31
31
} ,
32
32
} , this . sandbox ) ;
33
- sandbox . require . addPaths = function ( paths ) {
34
- for ( var path in paths ) {
33
+ sandbox . require . addPaths = function ( paths ) {
34
+ for ( let path in paths ) {
35
35
sandbox . paths [ path ] = paths [ path ] ;
36
36
}
37
37
} ;
38
- sandbox . require . config = function ( config ) {
38
+ sandbox . require . config = function ( config ) {
39
39
if ( config . paths ) {
40
40
this . addPaths ( config . paths ) ;
41
41
}
@@ -55,14 +55,24 @@ RequireJsResolverPlugin.prototype.getConfig = function(fs) {
55
55
} ) ;
56
56
} ;
57
57
58
- RequireJsResolverPlugin . prototype . apply = function ( resolver ) {
59
- resolver . plugin ( 'module' , ( request , callback ) => {
58
+ function registerHook ( object , oldName , newName , cb ) {
59
+ if ( object . hooks ) {
60
+ object . hooks [ newName ] . tapAsync ( 'RequireJsResolverPlugin' , cb ) ;
61
+ } else {
62
+ object . plugin ( oldName , cb ) ;
63
+ }
64
+ }
65
+
66
+ RequireJsResolverPlugin . prototype . apply = function ( resolver ) {
67
+ const target = resolver . ensureHook ( 'resolve' ) ;
68
+ registerHook ( resolver , 'module' , 'module' , ( request , resolveContext , callback ) => {
69
+ if ( ! callback ) {
70
+ callback = resolveContext ;
71
+ }
60
72
this . getConfig ( resolver . fileSystem ) . then ( config => {
61
73
if ( config [ request . request ] ) {
62
- var nextRequest = Object . assign ( { } , request , { request : config [ request . request ] } ) ;
63
- return resolver . doResolve ( 'resolve' , nextRequest , 'mapping via requirejs-config' , function ( err , result ) {
64
- callback ( err , result ) ;
65
- } ) ;
74
+ const nextRequest = Object . assign ( { } , request , { request : config [ request . request ] } ) ;
75
+ return resolver . doResolve ( target , nextRequest , 'mapping via requirejs-config' , callback ) ;
66
76
} else {
67
77
callback ( ) ;
68
78
}
0 commit comments