From 2cc85c64f1c64a2dbaeae276a3e2ca8420de76b7 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期三, 22 四月 2026 18:09:58 +0800
Subject: [PATCH] 上报转运调试

---
 node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js |   62 ++++--------------------------
 1 files changed, 9 insertions(+), 53 deletions(-)

diff --git a/node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js b/node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js
index 8ed78cd..4f19fc3 100644
--- a/node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js
+++ b/node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js
@@ -5,22 +5,20 @@
 
 "use strict";
 
-const forEachBail = require("./forEachBail");
-const getPaths = require("./getPaths");
+const { modulesResolveHandler } = require("./ModulesUtils");
 
 /** @typedef {import("./Resolver")} Resolver */
-/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */
 /** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */
 
 module.exports = class ModulesInHierarchicalDirectoriesPlugin {
 	/**
 	 * @param {string | ResolveStepHook} source source
-	 * @param {string | Array<string>} directories directories
+	 * @param {string | string[]} directories directories
 	 * @param {string | ResolveStepHook} target target
 	 */
 	constructor(source, directories, target) {
 		this.source = source;
-		this.directories = /** @type {Array<string>} */ [...directories];
+		this.directories = /** @type {string[]} */ [...directories];
 		this.target = target;
 	}
 
@@ -35,54 +33,12 @@
 			.tapAsync(
 				"ModulesInHierarchicalDirectoriesPlugin",
 				(request, resolveContext, callback) => {
-					const fs = resolver.fileSystem;
-					const addrs = getPaths(/** @type {string} */ (request.path))
-						.paths.map((path) =>
-							this.directories.map((directory) =>
-								resolver.join(path, directory),
-							),
-						)
-						.reduce((array, path) => {
-							array.push(...path);
-							return array;
-						}, []);
-					forEachBail(
-						addrs,
-						/**
-						 * @param {string} addr addr
-						 * @param {(err?: null|Error, result?: null|ResolveRequest) => void} callback callback
-						 * @returns {void}
-						 */
-						(addr, callback) => {
-							fs.stat(addr, (err, stat) => {
-								if (!err && stat && stat.isDirectory()) {
-									/** @type {ResolveRequest} */
-									const obj = {
-										...request,
-										path: addr,
-										request: `./${request.request}`,
-										module: false,
-									};
-									const message = `looking for modules in ${addr}`;
-									return resolver.doResolve(
-										target,
-										obj,
-										message,
-										resolveContext,
-										callback,
-									);
-								}
-								if (resolveContext.log) {
-									resolveContext.log(
-										`${addr} doesn't exist or is not a directory`,
-									);
-								}
-								if (resolveContext.missingDependencies) {
-									resolveContext.missingDependencies.add(addr);
-								}
-								return callback();
-							});
-						},
+					modulesResolveHandler(
+						resolver,
+						this.directories,
+						target,
+						request,
+						resolveContext,
 						callback,
 					);
 				},

--
Gitblit v1.9.3