fix: retain require.resolve source facts

Fixes #6678
This commit is contained in:
morluto committed 2026-10-23 21:29:20 +08:00
1 parent 529038f557
commit 1a430f055d
7 files changed
+214 -57

No files matched your search

@@ -12,6 +12,7 @@ import {
semanticMutableBuiltinOrigin,
semanticRequireExportsIdentity,
semanticRequireOrigin,
semanticRequireLoaderAt,
hasSemanticCreateRequireFactoryOrigin,
} from "./javascriptSemanticRequireOrigin.js";
@@ -840,6 +841,17 @@ export function* collectSemanticMemberMutationsSteps(
}
const markReceiver = (callee: t.Node, mutation: t.Node): void => {
const expression = unwrapJavaScriptExpression(callee).node;
if (
(t.isCallExpression(mutation) || t.isOptionalCallExpression(mutation)) &&
(t.isMemberExpression(expression) ||
t.isOptionalMemberExpression(expression)) &&
semanticStaticPropertyKey(expression.property, expression.computed) ===
"resolve" &&
["commonjs-loader", "create-require"].includes(
semanticRequireLoaderAt(mutation, state, new Set()),
)
)
return;
if (
t.isMemberExpression(expression) ||
t.isOptionalMemberExpression(expression)