fix(javascript): preserve import-equals declaration and export evidence (#2062)

* fix(javascript): retain TypeScript import-equals dependencies

* test(mcp): align completion checks with warm provider state

* fix(javascript): propagate require origins through exported aliases

* fix(javascript): normalize equivalent CTS binding origins

---------

Co-authored-by: hhang <169027046+xu91102@users.noreply.github.com>
This commit is contained in:
hhang
2026-10-13 05:04:21 +08:00
committed by GitHub
parent 6ce5903e7a
commit 86fab11fbe
16 changed files with 498 additions and 48 deletions
@@ -68,12 +68,20 @@ export interface ResolveArtifactPathInput {
export const moduleKindForJavaScriptReference = (
sourcePath: string,
referenceKind: "static-import" | "dynamic-import" | "require",
resolutionMode?: "import" | "require",
): "import" | "require" =>
referenceKind === "require" ||
resolutionMode ??
(referenceKind === "require" ||
(referenceKind === "static-import" &&
posix.extname(sourcePath).toLowerCase() === ".cts")
? "require"
: "import";
: "import");
/** Preserve an explicitly retained loader mode on graph relationships. */
export const moduleResolutionModeProperties = (
mode: "import" | "require" | undefined,
): Readonly<Record<string, "import" | "require">> =>
mode === undefined ? {} : { resolution_mode: mode };
const EXTENSIONS = [
".js",