@@ -84,7 +84,10 @@ class ContextModule extends Module {
8484
8585 needRebuild ( fileTimestamps , contextTimestamps ) {
8686 const ts = contextTimestamps [ this . context ] ;
87- if ( ! ts ) return true ;
87+ if ( ! ts ) {
88+ return true ;
89+ }
90+
8891 return ts >= this . builtTime ;
8992 }
9093
@@ -96,27 +99,35 @@ class ContextModule extends Module {
9699 build ( options , compilation , resolver , fs , callback ) {
97100 this . built = true ;
98101 this . builtTime = new Date ( ) . getTime ( ) ;
99- const addon = this . addon ;
100102 this . resolveDependencies ( fs , this . context , this . recursive , this . regExp , ( err , dependencies ) => {
101103 if ( err ) return callback ( err ) ;
102104
103- if ( dependencies ) {
104- dependencies . forEach ( function ( dep ) {
105- dep . loc = dep . userRequest ;
106- dep . request = addon + dep . request ;
107- } ) ;
105+ if ( ! dependencies ) {
106+ callback ( ) ;
107+ return ;
108108 }
109- if ( this . async ) {
110- if ( dependencies ) {
111- dependencies . forEach ( dep => {
112- const block = new AsyncDependenciesBlock ( null , dep . module , dep . loc ) ;
113- block . addDependency ( dep ) ;
114- this . addBlock ( block ) ;
115- } ) ;
116- }
117- } else {
109+
110+ // enhance dependencies
111+ dependencies . forEach ( dep => {
112+ dep . loc = dep . userRequest ;
113+ dep . request = this . addon + dep . request ;
114+ } ) ;
115+
116+ // if these we are not a async context
117+ // add dependencies and continue
118+ if ( ! this . async ) {
118119 this . dependencies = dependencies ;
120+ callback ( ) ;
121+ return ;
119122 }
123+
124+ // if we are async however create a new async dependency block
125+ // and add that block to this context
126+ dependencies . forEach ( dep => {
127+ const block = new AsyncDependenciesBlock ( null , dep . module , dep . loc ) ;
128+ block . addDependency ( dep ) ;
129+ this . addBlock ( block ) ;
130+ } ) ;
120131 callback ( ) ;
121132 } ) ;
122133 }
0 commit comments