From 724ce469cc9b2c56c2a7c004dc1458e73b6766c7 Mon Sep 17 00:00:00 2001 From: yeliex Date: Tue, 9 Apr 2024 11:00:12 +0800 Subject: [PATCH] fix(register): fix esm entry resolver for third-party executer, close #762 (#766) * fix(register): fix esm entry resolver for third-party executor, close #762 * Create great-goats-trade.md * fix: bug fix --- .changeset/great-goats-trade.md | 5 +++++ packages/register/esm.mts | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 .changeset/great-goats-trade.md diff --git a/.changeset/great-goats-trade.md b/.changeset/great-goats-trade.md new file mode 100644 index 000000000..c8e0e8efd --- /dev/null +++ b/.changeset/great-goats-trade.md @@ -0,0 +1,5 @@ +--- +"@fake-scope/fake-pkg": patch +--- + +fix(register): fix esm entry resolver for third-party executor, close #762 diff --git a/packages/register/esm.mts b/packages/register/esm.mts index d454b4d4a..1b11c9e54 100644 --- a/packages/register/esm.mts +++ b/packages/register/esm.mts @@ -11,11 +11,13 @@ interface ResolveContext { conditions: string[] parentURL: string | undefined } + interface ResolveResult { format?: string shortCircuit?: boolean url: string } + type ResolveArgs = [ specifier: string, context?: ResolveContext, @@ -51,7 +53,7 @@ export const resolve: ResolveFn = async (specifier, context, nextResolve) => { } const { resolvedModule } = ts.resolveModuleName( - specifier, + specifier.startsWith('file:') ? fileURLToPath(specifier) : specifier, fileURLToPath(context.parentURL), tsconfig, host, @@ -82,11 +84,13 @@ interface LoadContext { conditions: string[] format: string | null | undefined } + interface LoadResult { format: string shortCircuit?: boolean source: string | ArrayBuffer | SharedArrayBuffer | Uint8Array } + type LoadArgs = [url: string, context: LoadContext, nextLoad?: (...args: LoadArgs) => Promise] type LoadFn = (...args: Required) => Promise