mirror of https://github.com/webpack/webpack.git
				
				
				
			add resolve dependencies to compilation
This commit is contained in:
		
							parent
							
								
									ddd3745942
								
							
						
					
					
						commit
						a2601eb5c8
					
				|  | @ -7,16 +7,18 @@ | |||
| 
 | ||||
| const ModuleNotFoundError = require("../ModuleNotFoundError"); | ||||
| const RuntimeGlobals = require("../RuntimeGlobals"); | ||||
| const { | ||||
| 	toConstantDependency, | ||||
| 	evaluateToString | ||||
| } = require("../javascript/JavascriptParserHelpers"); | ||||
| const LazySet = require("../util/LazySet"); | ||||
| const OverridableModule = require("./OverridableModule"); | ||||
| const OverridableOriginalDependency = require("./OverridableOriginalDependency"); | ||||
| const OverridableOriginalModuleFactory = require("./OverridableOriginalModuleFactory"); | ||||
| const OverridablesRuntimeModule = require("./OverridablesRuntimeModule"); | ||||
| const parseOptions = require("./parseOptions"); | ||||
| const { | ||||
| 	toConstantDependency, | ||||
| 	evaluateToString | ||||
| } = require("../javascript/JavascriptParserHelpers"); | ||||
| 
 | ||||
| /** @typedef {import("enhanced-resolve").ResolveContext} ResolveContext */ | ||||
| /** @typedef {import("../Compiler")} Compiler */ | ||||
| 
 | ||||
| class OverridablesPlugin { | ||||
|  | @ -37,6 +39,14 @@ class OverridablesPlugin { | |||
| 				); | ||||
| 
 | ||||
| 				const resolvedOverridables = new Map(); | ||||
| 				const resolveContext = { | ||||
| 					/** @type {LazySet<string>} */ | ||||
| 					fileDependencies: new LazySet(), | ||||
| 					/** @type {LazySet<string>} */ | ||||
| 					contextDependencies: new LazySet(), | ||||
| 					/** @type {LazySet<string>} */ | ||||
| 					missingDependencies: new LazySet() | ||||
| 				}; | ||||
| 				const promise = Promise.all( | ||||
| 					this.overridables.map(([key, request]) => { | ||||
| 						const resolver = compilation.resolverFactory.get("normal"); | ||||
|  | @ -45,7 +55,7 @@ class OverridablesPlugin { | |||
| 								{}, | ||||
| 								compiler.context, | ||||
| 								request, | ||||
| 								{}, | ||||
| 								resolveContext, | ||||
| 								(err, result) => { | ||||
| 									if (err) { | ||||
| 										compilation.errors.push( | ||||
|  | @ -61,7 +71,15 @@ class OverridablesPlugin { | |||
| 							); | ||||
| 						}); | ||||
| 					}) | ||||
| 				); | ||||
| 				).then(() => { | ||||
| 					compilation.contextDependencies.addAll( | ||||
| 						resolveContext.contextDependencies | ||||
| 					); | ||||
| 					compilation.fileDependencies.addAll(resolveContext.fileDependencies); | ||||
| 					compilation.missingDependencies.addAll( | ||||
| 						resolveContext.missingDependencies | ||||
| 					); | ||||
| 				}); | ||||
| 				normalModuleFactory.hooks.afterResolve.tapAsync( | ||||
| 					"OverridablesPlugin", | ||||
| 					(resolveData, callback) => { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue