File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -158,8 +158,6 @@ class Compilation extends Tapable {
158158 beforeChunkAssets : new SyncHook ( [ ] ) ,
159159 additionalChunkAssets : new SyncHook ( [ "chunks" ] ) ,
160160
161- records : new SyncHook ( [ "compilation" , "records" ] ) ,
162-
163161 additionalAssets : new AsyncSeriesHook ( [ ] ) ,
164162 optimizeChunkAssets : new AsyncSeriesHook ( [ "chunks" ] ) ,
165163 afterOptimizeChunkAssets : new SyncHook ( [ "chunks" ] ) ,
@@ -277,6 +275,9 @@ class Compilation extends Tapable {
277275 if ( this . cache && this . cache [ cacheName ] ) {
278276 const cacheModule = this . cache [ cacheName ] ;
279277
278+ if ( typeof cacheModule . updateCacheModule === "function" )
279+ cacheModule . updateCacheModule ( module ) ;
280+
280281 let rebuild = true ;
281282 if ( this . fileTimestamps && this . contextTimestamps ) {
282283 rebuild = cacheModule . needRebuild (
Original file line number Diff line number Diff line change @@ -45,6 +45,12 @@ class ContextModule extends Module {
4545 throw new Error ( "options.mode is a required option" ) ;
4646 }
4747
48+ updateCacheModule ( module ) {
49+ this . resolveDependencies = module . resolveDependencies ;
50+ this . options = module . options ;
51+ this . resolveOptions = module . resolveOptions ;
52+ }
53+
4854 prettyRegExp ( regexString ) {
4955 // remove the "/" at the front and the beginning
5056 // "/foo/" -> "foo"
Original file line number Diff line number Diff line change @@ -47,7 +47,7 @@ module.exports = class HotUpdateChunkTemplate extends Tapable {
4747 hotUpdateChunk . removedModules = removedModules ;
4848 const modulesSource = Template . renderChunkModules (
4949 hotUpdateChunk ,
50- ( ) => true ,
50+ m => typeof m . source === "function" ,
5151 moduleTemplate ,
5252 dependencyTemplates
5353 ) ;
Original file line number Diff line number Diff line change @@ -336,5 +336,6 @@ Module.prototype.build = null;
336336Module . prototype . source = null ;
337337Module . prototype . size = null ;
338338Module . prototype . nameForCondition = null ;
339+ Module . prototype . updateCacheModule = null ;
339340
340341module . exports = Module ;
Original file line number Diff line number Diff line change @@ -122,6 +122,15 @@ class NormalModule extends Module {
122122 return this . resource ;
123123 }
124124
125+ updateCacheModule ( module ) {
126+ this . userRequest = module . userRequest ;
127+ this . parser = module . parser ;
128+ this . generator = module . generator ;
129+ this . resource = module . resource ;
130+ this . loaders = module . loaders ;
131+ this . resolveOptions = module . resolveOptions ;
132+ }
133+
125134 createSourceForAsset ( name , content , sourceMap ) {
126135 if ( ! sourceMap ) {
127136 return new RawSource ( content ) ;
You can’t perform that action at this time.
0 commit comments