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