diff --git a/packages/plugin-vite/src/plugins/deno.ts b/packages/plugin-vite/src/plugins/deno.ts index 97f6ad7c5e0..4cf0b98f083 100644 --- a/packages/plugin-vite/src/plugins/deno.ts +++ b/packages/plugin-vite/src/plugins/deno.ts @@ -47,8 +47,7 @@ export function deno(): Plugin { platform: "browser", preserveJsx: true, cachedOnly: true, - }) - .createLoader(); + }).createLoader(); }, applyToEnvironment() { return true; diff --git a/packages/plugin-vite/src/plugins/dev_server.ts b/packages/plugin-vite/src/plugins/dev_server.ts index 729594ea73e..3d5ddc1c616 100644 --- a/packages/plugin-vite/src/plugins/dev_server.ts +++ b/packages/plugin-vite/src/plugins/dev_server.ts @@ -1,9 +1,19 @@ -import type { DevEnvironment, Plugin } from "vite"; +import { + type DevEnvironment, + isRunnableDevEnvironment, + type Plugin, +} from "vite"; import * as path from "@std/path"; import { ASSET_CACHE_BUST_KEY } from "fresh/internal"; import { createRequest, sendResponse } from "@remix-run/node-fetch-server"; import { hashCode } from "../shared.ts"; +interface FetchHandler { + default: { + fetch: (req: Request) => Promise; + }; +} + export function devServer(): Plugin[] { let publicDir = ""; return [ @@ -69,16 +79,15 @@ export function devServer(): Plugin[] { // Ignore } + if (!isRunnableDevEnvironment(server.environments.ssr)) return; + try { - const mod = await server.ssrLoadModule("fresh:server_entry"); - const req = createRequest(nodeReq, nodeRes); - mod.setErrorInterceptor((err: unknown) => { - if (err instanceof Error) { - server.ssrFixStacktrace(err); - } - }); + const mod = await server.environments.ssr.runner.import( + "fresh:server_entry", + ) as FetchHandler; - const res = (await mod.default.fetch(req)) as Response; + const req = createRequest(nodeReq, nodeRes); + const res = await mod.default.fetch(req); // Collect css eagerly to avoid FOUC. This is a workaround for // Vite not supporting css natively. It's a bit hacky, but @@ -107,9 +116,6 @@ export function devServer(): Plugin[] { await sendResponse(nodeRes, res); } catch (err) { - if (err instanceof Error) { - server.ssrFixStacktrace(err); - } return next(err); } });