Skip to content

Commit 4c150ee

Browse files
committed
feat: add default fetch handler export for server build
1 parent 3f168fb commit 4c150ee

File tree

10 files changed

+769
-51
lines changed

10 files changed

+769
-51
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@react-router/dev": minor
3+
---
4+
5+
Add `@react-router/dev/config/default-fetch-handler` package export that provides a default fetch handler for the server build.

integration/helpers/vite-plugin-cloudflare-template/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"serialize-javascript": "^6.0.1"
2020
},
2121
"devDependencies": {
22-
"@cloudflare/vite-plugin": "^1.9.0",
22+
"@cloudflare/vite-plugin": "^1.24.0",
2323
"@react-router/dev": "workspace:*",
2424
"@react-router/fs-routes": "workspace:*",
2525
"@types/node": "^20.0.0",
@@ -29,7 +29,7 @@
2929
"typescript": "catalog:",
3030
"vite": "^6.3.0",
3131
"vite-tsconfig-paths": "^4.2.1",
32-
"wrangler": "^4.23.0"
32+
"wrangler": "^4.64.0"
3333
},
3434
"engines": {
3535
"node": ">=20.0.0"

integration/helpers/vite-plugin-cloudflare-template/tsconfig.cloudflare.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
"app/**/*",
66
"app/**/.server/**/*",
77
"app/**/.client/**/*",
8-
"workers/**/*",
98
"worker-configuration.d.ts"
109
],
1110
"compilerOptions": {

integration/helpers/vite-plugin-cloudflare-template/workers/app.ts

Lines changed: 0 additions & 27 deletions
This file was deleted.

integration/helpers/vite-plugin-cloudflare-template/wrangler.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "react-router-app"
22
compatibility_date = "2025-03-17"
3-
main = "./workers/app.ts"
3+
main = "@react-router/dev/config/default-fetch-handler"
44

55
assets = {}
66

integration/vite-plugin-cloudflare-test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,10 @@ function defineFiles({
2424
});
2525
`,
2626
"app/routes/env.tsx": tsx`
27+
import { env } from "cloudflare:workers";
2728
import type { Route } from "./+types/env";
28-
export function loader({ context }: Route.LoaderArgs) {
29-
return { message: context.cloudflare.env.VALUE_FROM_CLOUDFLARE };
29+
export function loader() {
30+
return { message: env.VALUE_FROM_CLOUDFLARE };
3031
}
3132
export default function EnvRoute({ loaderData }: Route.RouteComponentProps) {
3233
return <div data-loader-message>{loaderData.message}</div>;
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { createRequestHandler } from "react-router";
2+
3+
const handler = createRequestHandler(
4+
// @ts-expect-error - no types for this
5+
() => import("virtual:react-router/server-build"),
6+
import.meta.env.MODE,
7+
);
8+
9+
export default {
10+
async fetch(request: Request) {
11+
return handler(request);
12+
},
13+
};

packages/react-router-dev/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
"./config/default-rsc-entries/entry.client": "./dist/config/default-rsc-entries/entry.client.tsx",
1717
"./config/default-rsc-entries/entry.rsc": "./dist/config/default-rsc-entries/entry.rsc.tsx",
1818
"./config/default-rsc-entries/entry.ssr": "./dist/config/default-rsc-entries/entry.ssr.tsx",
19+
"./config/default-fetch-handler": "./dist/config/default-fetch-handler.ts",
1920
"./config": {
2021
"types": "./dist/config.d.ts",
2122
"default": "./dist/config.js"

packages/react-router-dev/tsup.config.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@ export default defineConfig([
7272
`dist/config/default-rsc-entries/${file}`,
7373
);
7474
}
75+
76+
await fsp.copyFile(
77+
"config/default-fetch-handler.ts",
78+
"dist/config/default-fetch-handler.ts",
79+
);
7580
},
7681
},
7782
],

0 commit comments

Comments
 (0)