@react-router/dev 0.0.0-experimental-4a4201184 → 0.0.0-experimental-795b50c5b

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/dist/cli/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * @react-router/dev v0.0.0-experimental-4a4201184
3
+ * @react-router/dev v0.0.0-experimental-795b50c5b
4
4
  *
5
5
  * Copyright (c) Remix Software Inc.
6
6
  *
@@ -24,7 +24,11 @@ setServerCallback(
24
24
  );
25
25
 
26
26
  createFromReadableStream<RSCPayload>(getRSCStream()).then((payload) => {
27
- startTransition(() => {
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,
@@ -12,8 +13,9 @@ import routes from "virtual:react-router/unstable_rsc/routes";
12
13
  export async function fetchServer(request: Request) {
13
14
  return await matchRSCServerRequest({
14
15
  createTemporaryReferenceSet,
15
- decodeReply,
16
16
  decodeAction,
17
+ decodeFormState,
18
+ decodeReply,
17
19
  loadServerAction,
18
20
  request,
19
21
  routes,
@@ -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
  },
package/dist/config.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-4a4201184
2
+ * @react-router/dev v0.0.0-experimental-795b50c5b
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
package/dist/internal.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-4a4201184
2
+ * @react-router/dev v0.0.0-experimental-795b50c5b
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1868,7 +1868,13 @@ function reactRouterRSCVitePlugin() {
1868
1868
  name: "react-router/rsc/hmr/updates",
1869
1869
  async hotUpdate({ server, file, modules }) {
1870
1870
  if (this.environment.name !== "rsc") return;
1871
- const isServerOnlyChange = (server.environments.client.moduleGraph.getModulesByFile(file)?.size ?? 0) === 0;
1871
+ const clientModules = server.environments.client.moduleGraph.getModulesByFile(file);
1872
+ const vite2 = await import("vite");
1873
+ const isServerOnlyChange = !clientModules || clientModules.size === 0 || // Handle CSS injected from server-first routes (with ?direct query
1874
+ // string) since the client graph has a reference to the CSS
1875
+ vite2.isCSSRequest(file) && Array.from(clientModules).some(
1876
+ (mod) => mod.id?.includes("?direct")
1877
+ );
1872
1878
  for (const mod of getModulesWithImporters(modules)) {
1873
1879
  if (!mod.file) continue;
1874
1880
  const normalizedPath = import_pathe5.default.normalize(mod.file);
package/dist/routes.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-4a4201184
2
+ * @react-router/dev v0.0.0-experimental-795b50c5b
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-4a4201184
2
+ * @react-router/dev v0.0.0-experimental-795b50c5b
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
package/dist/vite.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-4a4201184
2
+ * @react-router/dev v0.0.0-experimental-795b50c5b
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-router/dev",
3
- "version": "0.0.0-experimental-4a4201184",
3
+ "version": "0.0.0-experimental-795b50c5b",
4
4
  "description": "Dev tools and CLI for React Router",
5
5
  "homepage": "https://reactrouter.com",
6
6
  "bugs": {
@@ -73,7 +73,7 @@
73
73
  "@babel/traverse": "^7.27.7",
74
74
  "@babel/types": "^7.27.7",
75
75
  "@npmcli/package-json": "^4.0.1",
76
- "@vitejs/plugin-rsc": "0.4.24",
76
+ "@vitejs/plugin-rsc": "0.4.25",
77
77
  "arg": "^5.0.1",
78
78
  "babel-dead-code-elimination": "^1.0.6",
79
79
  "chokidar": "^4.0.0",
@@ -91,7 +91,7 @@
91
91
  "tinyglobby": "^0.2.14",
92
92
  "valibot": "^0.41.0",
93
93
  "vite-node": "^3.2.2",
94
- "@react-router/node": "0.0.0-experimental-4a4201184"
94
+ "@react-router/node": "0.0.0-experimental-795b50c5b"
95
95
  },
96
96
  "devDependencies": {
97
97
  "@types/babel__core": "^7.20.5",
@@ -114,15 +114,15 @@
114
114
  "vite": "^6.1.0",
115
115
  "wireit": "0.14.9",
116
116
  "wrangler": "^4.23.0",
117
- "react-router": "^0.0.0-experimental-4a4201184",
118
- "@react-router/serve": "0.0.0-experimental-4a4201184"
117
+ "@react-router/serve": "0.0.0-experimental-795b50c5b",
118
+ "react-router": "^0.0.0-experimental-795b50c5b"
119
119
  },
120
120
  "peerDependencies": {
121
121
  "typescript": "^5.1.0",
122
122
  "vite": "^5.1.0 || ^6.0.0 || ^7.0.0",
123
123
  "wrangler": "^3.28.2 || ^4.0.0",
124
- "@react-router/serve": "^0.0.0-experimental-4a4201184",
125
- "react-router": "^0.0.0-experimental-4a4201184"
124
+ "@react-router/serve": "^0.0.0-experimental-795b50c5b",
125
+ "react-router": "^0.0.0-experimental-795b50c5b"
126
126
  },
127
127
  "peerDependenciesMeta": {
128
128
  "@react-router/serve": {