From 9bce51f651aad297ef9eb6df832bfdaf1de05d84 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期三, 22 四月 2026 14:27:54 +0800
Subject: [PATCH] 青岛推送
---
node_modules/webpack/lib/ContextModuleFactory.js | 36 ++++++++++++++++++++++++++++++------
1 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/node_modules/webpack/lib/ContextModuleFactory.js b/node_modules/webpack/lib/ContextModuleFactory.js
index 9ddc7a6..2b6b461 100644
--- a/node_modules/webpack/lib/ContextModuleFactory.js
+++ b/node_modules/webpack/lib/ContextModuleFactory.js
@@ -15,6 +15,8 @@
const { createFakeHook } = require("./util/deprecation");
const { join } = require("./util/fs");
+/** @typedef {import("enhanced-resolve").ResolveRequest} ResolveRequest */
+/** @typedef {import("./Compilation").FileSystemDependencies} FileSystemDependencies */
/** @typedef {import("./ContextModule").ContextModuleOptions} ContextModuleOptions */
/** @typedef {import("./ContextModule").ResolveDependenciesCallback} ResolveDependenciesCallback */
/** @typedef {import("./ModuleFactory").ModuleFactoryCreateData} ModuleFactoryCreateData */
@@ -22,8 +24,9 @@
/** @typedef {import("./ResolverFactory")} ResolverFactory */
/** @typedef {import("./dependencies/ContextDependency")} ContextDependency */
/** @typedef {import("./dependencies/ContextDependency").ContextOptions} ContextOptions */
-/** @typedef {import("enhanced-resolve").ResolveRequest} ResolveRequest */
+
/**
+ * Defines the shared type used by this module.
* @template T
* @typedef {import("./util/deprecation").FakeHook<T>} FakeHook<T>
*/
@@ -32,13 +35,14 @@
/** @typedef {{ context: string, request: string }} ContextAlternativeRequest */
/**
+ * Defines the context resolve data type used by this module.
* @typedef {object} ContextResolveData
* @property {string} context
* @property {string} request
* @property {ModuleFactoryCreateData["resolveOptions"]} resolveOptions
- * @property {LazySet<string>} fileDependencies
- * @property {LazySet<string>} missingDependencies
- * @property {LazySet<string>} contextDependencies
+ * @property {FileSystemDependencies} fileDependencies
+ * @property {FileSystemDependencies} missingDependencies
+ * @property {FileSystemDependencies} contextDependencies
* @property {ContextDependency[]} dependencies
*/
@@ -49,6 +53,7 @@
class ContextModuleFactory extends ModuleFactory {
/**
+ * Creates an instance of ContextModuleFactory.
* @param {ResolverFactory} resolverFactory resolverFactory
*/
constructor(resolverFactory) {
@@ -95,10 +100,12 @@
),
alternativeRequests
});
+ /** @type {ResolverFactory} */
this.resolverFactory = resolverFactory;
}
/**
+ * Processes the provided data.
* @param {ModuleFactoryCreateData} data data object
* @param {ModuleFactoryCallback} callback callback
* @returns {void}
@@ -108,8 +115,11 @@
const dependencies = /** @type {ContextDependency[]} */ (data.dependencies);
const resolveOptions = data.resolveOptions;
const dependency = dependencies[0];
+ /** @type {FileSystemDependencies} */
const fileDependencies = new LazySet();
+ /** @type {FileSystemDependencies} */
const missingDependencies = new LazySet();
+ /** @type {FileSystemDependencies} */
const contextDependencies = new LazySet();
this.hooks.beforeResolve.callAsync(
{
@@ -152,6 +162,7 @@
const idx = request.lastIndexOf("!");
if (idx >= 0) {
let loadersRequest = request.slice(0, idx + 1);
+ /** @type {number} */
let i;
for (
i = 0;
@@ -163,7 +174,7 @@
loadersRequest = loadersRequest
.slice(i)
.replace(/!+$/, "")
- .replace(/!!+/g, "!");
+ .replace(/!{2,}/g, "!");
loaders = loadersRequest === "" ? [] : loadersRequest.split("!");
resource = request.slice(idx + 1);
} else {
@@ -188,6 +199,7 @@
(callback) => {
const results = /** @type {ResolveRequest[]} */ ([]);
/**
+ * Processes the provided obj.
* @param {ResolveRequest} obj obj
* @returns {void}
*/
@@ -297,6 +309,7 @@
}
/**
+ * Resolves dependencies.
* @param {InputFileSystem} fs file system
* @param {ContextModuleOptions} options options
* @param {ResolveDependenciesCallback} callback callback function
@@ -320,6 +333,7 @@
if (!regExp || !resource) return callback(null, []);
/**
+ * Adds directory checked.
* @param {string} ctx context
* @param {string} directory directory
* @param {Set<string>} visited visited
@@ -349,6 +363,7 @@
};
/**
+ * Adds the provided ctx to the context module factory.
* @param {string} ctx context
* @param {string} directory directory
* @param {(context: string, subResource: string, callback: () => void) => void} addSubDirectory addSubDirectoryFn
@@ -437,6 +452,7 @@
if (!result) return callback(null, []);
+ /** @type {ContextElementDependency[]} */
const flattenedResult = [];
for (const item of result) {
@@ -450,6 +466,7 @@
};
/**
+ * Adds sub directory.
* @param {string} ctx context
* @param {string} dir dir
* @param {ResolveDependenciesCallback} callback callback
@@ -459,12 +476,19 @@
addDirectory(ctx, dir, addSubDirectory, callback);
/**
+ * Processes the provided resource.
* @param {string} resource resource
* @param {ResolveDependenciesCallback} callback callback
*/
const visitResource = (resource, callback) => {
if (typeof fs.realpath === "function") {
- addDirectoryChecked(resource, resource, new Set(), callback);
+ addDirectoryChecked(
+ resource,
+ resource,
+ /** @type {Set<string>} */
+ new Set(),
+ callback
+ );
} else {
addDirectory(resource, resource, addSubDirectory, callback);
}
--
Gitblit v1.9.3