5
5
*/
6
6
7
7
import { PassThrough } from "node:stream" ;
8
-
9
- import type { AppLoadContext , EntryContext } from "@remix-run/node" ;
10
- import { createReadableStreamFromReadable } from "@remix-run/node" ;
11
- import { RemixServer } from "@remix-run/react" ;
8
+ import { createReadableStreamFromReadable } from "@react-router/node" ;
9
+ import { type AppLoadContext , type EntryContext , ServerRouter } from "react-router"
12
10
import { isbot } from "isbot" ;
13
11
import { renderToPipeableStream } from "react-dom/server" ;
14
12
@@ -18,7 +16,7 @@ export default function handleRequest(
18
16
request : Request ,
19
17
responseStatusCode : number ,
20
18
responseHeaders : Headers ,
21
- remixContext : EntryContext ,
19
+ reactRouterContext : EntryContext ,
22
20
// This is ignored so we can keep it in the template for visibility. Feel
23
21
// free to delete this parameter in your app if you're not using it!
24
22
// eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -29,30 +27,26 @@ export default function handleRequest(
29
27
request ,
30
28
responseStatusCode ,
31
29
responseHeaders ,
32
- remixContext
30
+ reactRouterContext
33
31
)
34
32
: handleBrowserRequest (
35
33
request ,
36
34
responseStatusCode ,
37
35
responseHeaders ,
38
- remixContext
36
+ reactRouterContext
39
37
) ;
40
38
}
41
39
42
40
function handleBotRequest (
43
41
request : Request ,
44
42
responseStatusCode : number ,
45
43
responseHeaders : Headers ,
46
- remixContext : EntryContext
44
+ reactRouterContext : EntryContext
47
45
) {
48
46
return new Promise ( ( resolve , reject ) => {
49
47
let shellRendered = false ;
50
48
const { pipe, abort } = renderToPipeableStream (
51
- < RemixServer
52
- context = { remixContext }
53
- url = { request . url }
54
- abortDelay = { ABORT_DELAY }
55
- /> ,
49
+ < ServerRouter context = { reactRouterContext } url = { request . url } /> ,
56
50
{
57
51
onAllReady ( ) {
58
52
shellRendered = true ;
@@ -93,16 +87,12 @@ function handleBrowserRequest(
93
87
request : Request ,
94
88
responseStatusCode : number ,
95
89
responseHeaders : Headers ,
96
- remixContext : EntryContext
90
+ reactRouterContext : EntryContext
97
91
) {
98
92
return new Promise ( ( resolve , reject ) => {
99
93
let shellRendered = false ;
100
94
const { pipe, abort } = renderToPipeableStream (
101
- < RemixServer
102
- context = { remixContext }
103
- url = { request . url }
104
- abortDelay = { ABORT_DELAY }
105
- /> ,
95
+ < ServerRouter context = { reactRouterContext } url = { request . url } /> ,
106
96
{
107
97
onShellReady ( ) {
108
98
shellRendered = true ;
0 commit comments