diff --git a/cli/auth/callback-server.ts b/cli/auth/callback-server.ts index 437e5211b3..2d89155258 100644 --- a/cli/auth/callback-server.ts +++ b/cli/auth/callback-server.ts @@ -185,8 +185,9 @@ function tryStartDenoServer(port: number): CallbackServer { resolveCallback = resolve; }); - // @ts-ignore - Deno global - const server = Deno.serve( + // Access native Deno.serve via `self` to bypass dnt shim transform. + const nativeDeno = (self as unknown as Record)["Deno"]!; + const server = nativeDeno.serve( { port, hostname: "127.0.0.1", onListen: () => {} }, (request: Request) => { const url = new URL(request.url); diff --git a/deno.json b/deno.json index 71e7b8fc03..e0daf45016 100644 --- a/deno.json +++ b/deno.json @@ -1,6 +1,6 @@ { "name": "veryfront", - "version": "0.1.13", + "version": "0.1.14", "nodeModulesDir": "auto", "exclude": [ "npm/", diff --git a/src/platform/adapters/runtime/deno/adapter.ts b/src/platform/adapters/runtime/deno/adapter.ts index ffc9497a1b..1415f9a562 100644 --- a/src/platform/adapters/runtime/deno/adapter.ts +++ b/src/platform/adapters/runtime/deno/adapter.ts @@ -392,7 +392,11 @@ export class DenoAdapter implements RuntimeAdapter { } : handler; - const server = Deno.serve({ + // Access native Deno.serve via `self` to bypass dnt shim transform. + // dnt rewrites both `Deno.*` and `globalThis.*` to use @deno/shim-deno which lacks .serve. + // `self` is not shimmed by dnt and equals `globalThis` in Deno. + const nativeDeno = (self as unknown as Record)["Deno"]!; + const server = nativeDeno.serve({ port, hostname, signal, diff --git a/src/platform/compat/http/deno-server.ts b/src/platform/compat/http/deno-server.ts index 933aba2cd6..8616689c15 100644 --- a/src/platform/compat/http/deno-server.ts +++ b/src/platform/compat/http/deno-server.ts @@ -12,7 +12,9 @@ export class DenoHttpServer implements HttpServer { onListen?.({ hostname, port }); - await Deno.serve({ port, hostname, signal: serveSignal }, handler); + // Access native Deno.serve via `self` to bypass dnt shim transform. + const nativeDeno = (self as unknown as Record)["Deno"]!; + await nativeDeno.serve({ port, hostname, signal: serveSignal }, handler); } close(): Promise {