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