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/UnsafeCachePlugin.js |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 54 insertions(+), 3 deletions(-)

diff --git a/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js b/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js
index 56c6217..0355bf7 100644
--- a/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js
+++ b/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js
@@ -5,11 +5,54 @@
 
 "use strict";
 
+const { cachedJoin } = require("./util/path");
+
 /** @typedef {import("./Resolver")} Resolver */
 /** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */
 /** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */
 /** @typedef {import("./Resolver").ResolveContextYield} ResolveContextYield */
 /** @typedef {{ [k: string]: undefined | ResolveRequest | ResolveRequest[] }} Cache */
+
+const RELATIVE_REQUEST_REGEXP = /^\.\.?(?:\/|$)/;
+
+/**
+ * @param {string} relativePath relative path from package root
+ * @param {string} request relative request
+ * @returns {string} normalized request with a preserved leading dot
+ */
+function joinRelativePreservingLeadingDot(relativePath, request) {
+	const normalized = cachedJoin(relativePath, request);
+	return RELATIVE_REQUEST_REGEXP.test(normalized)
+		? normalized
+		: `./${normalized}`;
+}
+
+/**
+ * @param {ResolveRequest} request request
+ * @returns {string | false | undefined} normalized path
+ */
+function getCachePath(request) {
+	if (request.descriptionFileRoot && !request.module) {
+		return request.descriptionFileRoot;
+	}
+	return request.path;
+}
+
+/**
+ * @param {ResolveRequest} request request
+ * @returns {string | undefined} normalized request string
+ */
+function getCacheRequest(request) {
+	const requestString = request.request;
+	if (
+		!requestString ||
+		!request.relativePath ||
+		!RELATIVE_REQUEST_REGEXP.test(requestString)
+	) {
+		return requestString;
+	}
+	return joinRelativePreservingLeadingDot(request.relativePath, requestString);
+}
 
 /**
  * @param {string} type type of cache
@@ -21,10 +64,10 @@
 	return JSON.stringify({
 		type,
 		context: withContext ? request.context : "",
-		path: request.path,
+		path: getCachePath(request),
 		query: request.query,
 		fragment: request.fragment,
-		request: request.request,
+		request: getCacheRequest(request),
 	});
 }
 
@@ -53,7 +96,15 @@
 		resolver
 			.getHook(this.source)
 			.tapAsync("UnsafeCachePlugin", (request, resolveContext, callback) => {
-				if (!this.filterPredicate(request)) return callback();
+				if (!this.filterPredicate(request)) {
+					return resolver.doResolve(
+						target,
+						request,
+						null,
+						resolveContext,
+						callback,
+					);
+				}
 				const isYield = typeof resolveContext.yield === "function";
 				const cacheId = getCacheId(
 					isYield ? "yield" : "default",

--
Gitblit v1.9.3