diff --git a/.changeset/thirty-pots-lay.md b/.changeset/thirty-pots-lay.md new file mode 100644 index 00000000000..e5cbade3ba4 --- /dev/null +++ b/.changeset/thirty-pots-lay.md @@ -0,0 +1,5 @@ +--- +"@remix-run/server-runtime": patch +--- + +Make the loadContext parameter not optional so that augmenting AppLoadContext does not require checking if the context is undefined diff --git a/contributors.yml b/contributors.yml index 27682b60675..3e5f92aa748 100644 --- a/contributors.yml +++ b/contributors.yml @@ -204,6 +204,7 @@ - juliaqiuxy - justinnoel - justinsalasdev +- justinwaite - justsml - juwiragiye - jveldridge diff --git a/packages/remix-server-runtime/data.ts b/packages/remix-server-runtime/data.ts index 82c54f7bf80..f5a6ca0f1fe 100644 --- a/packages/remix-server-runtime/data.ts +++ b/packages/remix-server-runtime/data.ts @@ -20,7 +20,7 @@ export async function callRouteAction({ match, request, }: { - loadContext?: AppLoadContext; + loadContext: AppLoadContext; match: RouteMatch; request: Request; }) { @@ -67,7 +67,7 @@ export async function callRouteLoader({ }: { request: Request; match: RouteMatch; - loadContext?: AppLoadContext; + loadContext: AppLoadContext; }) { let loader = match.route.module.loader; diff --git a/packages/remix-server-runtime/routeModules.ts b/packages/remix-server-runtime/routeModules.ts index ffea0987576..b6bdf23c74a 100644 --- a/packages/remix-server-runtime/routeModules.ts +++ b/packages/remix-server-runtime/routeModules.ts @@ -15,7 +15,7 @@ export interface RouteModules { */ export interface DataFunctionArgs { request: Request; - context?: AppLoadContext; + context: AppLoadContext; params: Params; } diff --git a/packages/remix-server-runtime/server.ts b/packages/remix-server-runtime/server.ts index 33cc2dd22a1..23d38ea1768 100644 --- a/packages/remix-server-runtime/server.ts +++ b/packages/remix-server-runtime/server.ts @@ -31,7 +31,7 @@ export const createRequestHandler: CreateRequestHandlerFunction = ( let routes = createRoutes(build.routes); let serverMode = isServerMode(mode) ? mode : ServerMode.Production; - return async function requestHandler(request, loadContext) { + return async function requestHandler(request, loadContext = {}) { let url = new URL(request.url); let matches = matchServerRoutes(routes, url.pathname); @@ -82,7 +82,7 @@ async function handleDataRequest({ serverMode, }: { handleDataRequest?: HandleDataRequestFunction; - loadContext?: AppLoadContext; + loadContext: AppLoadContext; matches: RouteMatch[]; request: Request; serverMode: ServerMode; @@ -180,7 +180,7 @@ async function handleDocumentRequest({ serverMode, }: { build: ServerBuild; - loadContext?: AppLoadContext; + loadContext: AppLoadContext; matches: RouteMatch[] | null; request: Request; routes: ServerRoute[]; @@ -516,7 +516,7 @@ async function handleResourceRequest({ serverMode, }: { request: Request; - loadContext?: AppLoadContext; + loadContext: AppLoadContext; matches: RouteMatch[]; serverMode: ServerMode; }): Promise {