@react-router/dev 7.8.2 → 7.9.0-pre.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -7
- package/dist/cli/index.js +185 -84
- package/dist/config/default-rsc-entries/entry.client.tsx +9 -1
- package/dist/config/default-rsc-entries/entry.rsc.tsx +9 -1
- package/dist/config/default-rsc-entries/entry.ssr.tsx +7 -1
- package/dist/config/defaults/entry.server.node.tsx +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.js +1 -1
- package/dist/internal.js +341 -99
- package/dist/routes.js +1 -1
- package/dist/vite/cloudflare.d.ts +2 -2
- package/dist/vite/cloudflare.js +19 -5
- package/dist/vite.js +318 -264
- package/package.json +11 -7
|
@@ -24,7 +24,11 @@ setServerCallback(
|
|
|
24
24
|
);
|
|
25
25
|
|
|
26
26
|
createFromReadableStream<RSCPayload>(getRSCStream()).then((payload) => {
|
|
27
|
-
|
|
27
|
+
// @ts-expect-error - on 18 types, requires 19.
|
|
28
|
+
startTransition(async () => {
|
|
29
|
+
const formState =
|
|
30
|
+
payload.type === "render" ? await payload.formState : undefined;
|
|
31
|
+
|
|
28
32
|
hydrateRoot(
|
|
29
33
|
document,
|
|
30
34
|
<StrictMode>
|
|
@@ -33,6 +37,10 @@ createFromReadableStream<RSCPayload>(getRSCStream()).then((payload) => {
|
|
|
33
37
|
createFromReadableStream={createFromReadableStream}
|
|
34
38
|
/>
|
|
35
39
|
</StrictMode>,
|
|
40
|
+
{
|
|
41
|
+
// @ts-expect-error - no types for this yet
|
|
42
|
+
formState,
|
|
43
|
+
},
|
|
36
44
|
);
|
|
37
45
|
});
|
|
38
46
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createTemporaryReferenceSet,
|
|
3
3
|
decodeAction,
|
|
4
|
+
decodeFormState,
|
|
4
5
|
decodeReply,
|
|
5
6
|
loadServerAction,
|
|
6
7
|
renderToReadableStream,
|
|
@@ -8,15 +9,18 @@ import {
|
|
|
8
9
|
import { unstable_matchRSCServerRequest as matchRSCServerRequest } from "react-router";
|
|
9
10
|
|
|
10
11
|
import routes from "virtual:react-router/unstable_rsc/routes";
|
|
12
|
+
import basename from "virtual:react-router/unstable_rsc/basename";
|
|
11
13
|
|
|
12
14
|
export async function fetchServer(request: Request) {
|
|
13
15
|
return await matchRSCServerRequest({
|
|
14
16
|
createTemporaryReferenceSet,
|
|
15
|
-
decodeReply,
|
|
16
17
|
decodeAction,
|
|
18
|
+
decodeFormState,
|
|
19
|
+
decodeReply,
|
|
17
20
|
loadServerAction,
|
|
18
21
|
request,
|
|
19
22
|
routes,
|
|
23
|
+
basename,
|
|
20
24
|
generateResponse(match, options) {
|
|
21
25
|
return new Response(renderToReadableStream(match.payload, options), {
|
|
22
26
|
status: match.statusCode,
|
|
@@ -32,3 +36,7 @@ export default async function handler(request: Request) {
|
|
|
32
36
|
>("ssr", "index");
|
|
33
37
|
return ssr.default(request, fetchServer);
|
|
34
38
|
}
|
|
39
|
+
|
|
40
|
+
if (import.meta.hot) {
|
|
41
|
+
import.meta.hot.accept();
|
|
42
|
+
}
|
|
@@ -12,16 +12,22 @@ export default async function handler(
|
|
|
12
12
|
) {
|
|
13
13
|
const bootstrapScriptContent =
|
|
14
14
|
await import.meta.viteRsc.loadBootstrapScriptContent("index");
|
|
15
|
+
|
|
15
16
|
return routeRSCServerRequest({
|
|
16
17
|
request,
|
|
17
18
|
fetchServer,
|
|
18
19
|
createFromReadableStream,
|
|
19
|
-
renderHTML(getPayload) {
|
|
20
|
+
async renderHTML(getPayload) {
|
|
21
|
+
const payload = await getPayload();
|
|
22
|
+
const formState =
|
|
23
|
+
payload.type === "render" ? await payload.formState : undefined;
|
|
24
|
+
|
|
20
25
|
return ReactDomServer.renderToReadableStream(
|
|
21
26
|
<RSCStaticRouter getPayload={getPayload} />,
|
|
22
27
|
{
|
|
23
28
|
bootstrapScriptContent,
|
|
24
29
|
signal: request.signal,
|
|
30
|
+
formState,
|
|
25
31
|
},
|
|
26
32
|
);
|
|
27
33
|
},
|
|
@@ -16,7 +16,7 @@ export default function handleRequest(
|
|
|
16
16
|
routerContext: EntryContext,
|
|
17
17
|
loadContext: AppLoadContext,
|
|
18
18
|
// If you have middleware enabled:
|
|
19
|
-
// loadContext:
|
|
19
|
+
// loadContext: RouterContextProvider
|
|
20
20
|
) {
|
|
21
21
|
return new Promise((resolve, reject) => {
|
|
22
22
|
let shellRendered = false;
|
package/dist/config.d.ts
CHANGED
package/dist/config.js
CHANGED