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