Skip to content

Commit 6b677a7

Browse files
Avoid ssrLoadModule usage with Vite Environment API (#13054)
1 parent 8677247 commit 6b677a7

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

.changeset/new-houses-hug.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
"@react-router/dev": patch
33
---
44

5-
Fix `future.unstable_viteEnvironmentApi` when the `ssr` environment has been configured by another plugin to be a custom `Vite.DevEnvironment` rather than a `Vite.RunnableDevEnvironment`
5+
Fix errors with `future.unstable_viteEnvironmentApi` when the `ssr` environment has been configured by another plugin to be a custom `Vite.DevEnvironment` rather than the default `Vite.RunnableDevEnvironment`

packages/react-router-dev/vite/plugin.ts

+15-3
Original file line numberDiff line numberDiff line change
@@ -1393,9 +1393,21 @@ export const reactRouterVitePlugin: ReactRouterVitePlugin = () => {
13931393
if (!viteDevServer.config.server.middlewareMode) {
13941394
viteDevServer.middlewares.use(async (req, res, next) => {
13951395
try {
1396-
let build = (await viteDevServer.ssrLoadModule(
1397-
virtual.serverBuild.id
1398-
)) as ServerBuild;
1396+
let build: ServerBuild;
1397+
if (ctx.reactRouterConfig.future.unstable_viteEnvironmentApi) {
1398+
let vite = getVite();
1399+
let ssrEnvironment = viteDevServer.environments.ssr;
1400+
if (!vite.isRunnableDevEnvironment(ssrEnvironment)) {
1401+
return;
1402+
}
1403+
build = (await ssrEnvironment.runner.import(
1404+
virtual.serverBuild.id
1405+
)) as ServerBuild;
1406+
} else {
1407+
build = (await viteDevServer.ssrLoadModule(
1408+
virtual.serverBuild.id
1409+
)) as ServerBuild;
1410+
}
13991411

14001412
let handler = createRequestHandler(build, "development");
14011413
let nodeHandler: NodeRequestHandler = async (

0 commit comments

Comments
 (0)