Skip to content

Commit

Permalink
Fix/#638 (#837)
Browse files Browse the repository at this point in the history
  • Loading branch information
agcty authored Sep 6, 2024
1 parent 802f079 commit e632246
Showing 1 changed file with 21 additions and 9 deletions.
30 changes: 21 additions & 9 deletions server/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ app.set('trust proxy', true)
// ensure HTTPS only (X-Forwarded-Proto comes from Fly)
app.use((req, res, next) => {
if (req.method !== 'GET') return next()

const proto = req.get('X-Forwarded-Proto')
const host = getHost(req)
if (proto === 'http') {
Expand Down Expand Up @@ -198,13 +197,19 @@ app.use((req, res, next) => {
})

async function getBuild() {
const build = viteDevServer
? viteDevServer.ssrLoadModule('virtual:remix/server-build')
: // @ts-ignore this should exist before running the server
// but it may not exist just yet.
await import('../build/server/index.js')
// not sure how to make this happy 🤷‍♂️
return build as unknown as ServerBuild
try {
const build = viteDevServer
? await viteDevServer.ssrLoadModule('virtual:remix/server-build')
: // @ts-expect-error - the file might not exist yet but it will
// eslint-disable-next-line import/no-unresolved
await import('../build/server/index.js')

return { build: build as unknown as ServerBuild, error: null }
} catch (error) {
// Catch error and return null to make express happy and avoid an unrecoverable crash
console.error('Error creating build:', error)
return { error: error, build: null as unknown as ServerBuild }
}
}

if (!ALLOW_INDEXING) {
Expand All @@ -222,7 +227,14 @@ app.all(
serverBuild: getBuild(),
}),
mode: MODE,
build: getBuild,
build: async () => {
const { error, build } = await getBuild()
// gracefully "catch" the error
if (error) {
throw error
}
return build
},
}),
)

Expand Down

0 comments on commit e632246

Please sign in to comment.