File tree Expand file tree Collapse file tree 2 files changed +8
-4
lines changed Expand file tree Collapse file tree 2 files changed +8
-4
lines changed Original file line number Diff line number Diff line change 1
- /* eslint-disable no-console */
2
- /* eslint-disable import/no-named-as-default-member */
1
+ /* eslint-disable import/no-named-as-default-member, no-console */
3
2
import { createRequestHandler } from "@remix-run/express" ;
4
3
import type { ServerBuild } from "@remix-run/node" ;
5
4
import * as Sentry from "@sentry/remix" ;
@@ -11,6 +10,7 @@ import { config } from "./services/env/env.server";
11
10
import { createRateLimitRequestHandler } from "./services/rateLimit" ;
12
11
import { createRedisClient , quitRedis } from "./services/redis/redisClient" ;
13
12
13
+ // expressApp() itself is not hot reloaded
14
14
export const expressApp = (
15
15
build : ServerBuild ,
16
16
viteDevServer : ViteDevServer ,
Original file line number Diff line number Diff line change @@ -8,10 +8,14 @@ const viteDevServer = shouldStartDevServer
8
8
: undefined ;
9
9
10
10
const build = viteDevServer
11
- ? await viteDevServer . ssrLoadModule ( "virtual:remix/server-build" )
11
+ ? ( ) => viteDevServer . ssrLoadModule ( "virtual:remix/server-build" )
12
12
: await import ( "./build/server/index.js" ) ;
13
13
14
- const { app, cleanup } = build . entry . module . expressApp ( build , viteDevServer ) ;
14
+ // When running a dev server, build() is a function to enable HMR
15
+ // To access expressApp(), we need to execute it once
16
+ const initialBuild = typeof build === "function" ? await build ( ) : build ;
17
+ const { expressApp } = await initialBuild . entry . module ;
18
+ const { app, cleanup } = expressApp ( build , viteDevServer ) ;
15
19
16
20
const port = process . env . PORT || 3000 ;
17
21
const server = app . listen ( port , ( ) =>
You can’t perform that action at this time.
0 commit comments