Skip to content

Commit 5fa1f6d

Browse files
committed
Do not pass down promises.
1 parent dac9f1a commit 5fa1f6d

File tree

3 files changed

+13
-23
lines changed

3 files changed

+13
-23
lines changed

dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/server.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ app.all(
4444
'*',
4545
sentryCreateRequestHandler({
4646
build: viteDevServer
47-
? viteDevServer.ssrLoadModule('virtual:remix/server-build')
47+
? () => viteDevServer.ssrLoadModule('virtual:remix/server-build')
4848
: await import('./build/server/index.js'),
4949
}),
5050
);

dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/yarn.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2418,7 +2418,7 @@ esbuild@0.17.6:
24182418
"@esbuild/win32-ia32" "0.17.6"
24192419
"@esbuild/win32-x64" "0.17.6"
24202420

2421-
esbuild@^0.19.3, "esbuild@npm:esbuild@~0.17.6 || ~0.18.0 || ~0.19.0":
2421+
esbuild@0.19.12, esbuild@^0.19.3, "esbuild@npm:esbuild@~0.17.6 || ~0.18.0 || ~0.19.0":
24222422
version "0.19.12"
24232423
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.12.tgz#dc82ee5dc79e82f5a5c3b4323a2a641827db3e04"
24242424
integrity sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==

packages/remix/src/utils/serverAdapters/express.ts

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import type {
2020

2121
function wrapExpressRequestHandler(
2222
origRequestHandler: ExpressRequestHandler,
23-
build: ServerBuild | Promise<ServerBuild> | (() => Promise<ServerBuild> | ServerBuild),
23+
build: ServerBuild | (() => Promise<ServerBuild> | ServerBuild),
2424
): ExpressRequestHandler {
2525
let routes: ServerRoute[];
2626

@@ -52,20 +52,14 @@ function wrapExpressRequestHandler(
5252
const url = new URL(request.url);
5353

5454
// This is only meant to be used on development servers, so we don't need to worry about performance here
55-
if (!routes) {
56-
if (build instanceof Promise) {
57-
const resolvedBuild = await build;
58-
routes = createRoutes(resolvedBuild.routes);
59-
}
55+
if (!routes && typeof build === 'function') {
56+
const resolvedBuild = build();
6057

61-
if (typeof build === 'function') {
62-
const resolvedBuild = build();
63-
if (resolvedBuild instanceof Promise) {
64-
const resolved = await resolvedBuild;
65-
routes = createRoutes(resolved.routes);
66-
} else {
67-
routes = createRoutes(resolvedBuild.routes);
68-
}
58+
if (resolvedBuild instanceof Promise) {
59+
const resolved = await resolvedBuild;
60+
routes = createRoutes(resolved.routes);
61+
} else {
62+
routes = createRoutes(resolvedBuild.routes);
6963
}
7064
}
7165

@@ -98,16 +92,12 @@ function wrapGetLoadContext(origGetLoadContext: () => AppLoadContext): GetLoadCo
9892
// A wrapper around build if it's a Promise or a function that returns a Promise that calls instrumentServer on the resolved value
9993
// This is currently only required for Vite development mode with HMR
10094
function wrapBuild(
101-
build: ServerBuild | Promise<ServerBuild> | (() => Promise<ServerBuild> | ServerBuild),
102-
): ServerBuild | Promise<ServerBuild> {
103-
if (build instanceof Promise) {
104-
return build.then(resolved => instrumentBuild(resolved, true));
105-
}
106-
95+
build: ServerBuild | (() => Promise<ServerBuild> | ServerBuild),
96+
): ServerBuild | (() => Promise<ServerBuild> | ServerBuild) {
10797
if (typeof build === 'function') {
10898
const resolved = build();
10999
if (resolved instanceof Promise) {
110-
return resolved.then(resolved => instrumentBuild(resolved, true));
100+
return () => resolved.then(resolved => instrumentBuild(resolved, true));
111101
}
112102

113103
return instrumentBuild(resolved, true);

0 commit comments

Comments
 (0)