23 lines
629 B
TypeScript
23 lines
629 B
TypeScript
import { createRequestHandler, RouterContextProvider } from 'react-router'
|
|
import { cloudflareContext } from '@repo/auth/context'
|
|
|
|
declare module '@repo/auth/context' {
|
|
interface CloudflareEnv extends Env {}
|
|
interface CloudflareCtx extends ExecutionContext {}
|
|
}
|
|
|
|
const requestHandler = createRequestHandler(
|
|
() => import('virtual:react-router/server-build'),
|
|
import.meta.env.MODE
|
|
)
|
|
|
|
export default {
|
|
async fetch(request, env, ctx) {
|
|
const context = new RouterContextProvider(
|
|
new Map([[cloudflareContext, { env, ctx }]])
|
|
)
|
|
|
|
return requestHandler(request, context)
|
|
}
|
|
} satisfies ExportedHandler<Env>
|