@react-router/dev 0.0.0-experimental-61f2749d7 → 0.0.0-experimental-6336d71a9

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 CHANGED
@@ -17,7 +17,6 @@
17
17
  - Stabilize middleware and context APIs. ([#14215](https://github.com/remix-run/react-router/pull/14215))
18
18
 
19
19
  We have removed the `unstable_` prefix from the following APIs and they are now considered stable and ready for production use:
20
-
21
20
  - [`RouterContextProvider`](https://reactrouter.com/api/utils/RouterContextProvider)
22
21
  - [`createContext`](https://reactrouter.com/api/utils/createContext)
23
22
  - `createBrowserRouter` [`getContext`](https://reactrouter.com/api/data-routers/createBrowserRouter#optsgetcontext) option
@@ -760,7 +759,6 @@
760
759
  ```
761
760
 
762
761
  This initial implementation targets type inference for:
763
-
764
762
  - `Params` : Path parameters from your routing config in `routes.ts` including file-based routing
765
763
  - `LoaderData` : Loader data from `loader` and/or `clientLoader` within your route module
766
764
  - `ActionData` : Action data from `action` and/or `clientAction` within your route module
@@ -775,7 +773,6 @@
775
773
  ```
776
774
 
777
775
  Check out our docs for more:
778
-
779
776
  - [_Explanations > Type Safety_](https://reactrouter.com/dev/guides/explanation/type-safety)
780
777
  - [_How-To > Setting up type safety_](https://reactrouter.com/dev/guides/how-to/setting-up-type-safety)
781
778
 
@@ -975,7 +972,6 @@
975
972
  - Vite: Provide `Unstable_ServerBundlesFunction` and `Unstable_VitePluginConfig` types ([#8654](https://github.com/remix-run/remix/pull/8654))
976
973
 
977
974
  - Vite: add `--sourcemapClient` and `--sourcemapServer` flags to `remix vite:build` ([#8613](https://github.com/remix-run/remix/pull/8613))
978
-
979
975
  - `--sourcemapClient`
980
976
 
981
977
  - `--sourcemapClient=inline`
@@ -1312,7 +1308,6 @@
1312
1308
  - Add support for `clientLoader`/`clientAction`/`HydrateFallback` route exports ([RFC](https://github.com/remix-run/remix/discussions/7634)) ([#8173](https://github.com/remix-run/remix/pull/8173))
1313
1309
 
1314
1310
  Remix now supports loaders/actions that run on the client (in addition to, or instead of the loader/action that runs on the server). While we still recommend server loaders/actions for the majority of your data needs in a Remix app - these provide some levers you can pull for more advanced use-cases such as:
1315
-
1316
1311
  - Leveraging a data source local to the browser (i.e., `localStorage`)
1317
1312
  - Managing a client-side cache of server data (like `IndexedDB`)
1318
1313
  - Bypassing the Remix server in a BFF setup and hitting your API directly from the browser
@@ -1716,7 +1711,6 @@
1716
1711
  - Output esbuild metafiles for bundle analysis ([#6772](https://github.com/remix-run/remix/pull/6772))
1717
1712
 
1718
1713
  Written to server build directory (`build/` by default):
1719
-
1720
1714
  - `metafile.css.json`
1721
1715
  - `metafile.js.json` (browser JS)
1722
1716
  - `metafile.server.json` (server JS)
@@ -1814,7 +1808,6 @@
1814
1808
  - built-in tls support ([#6483](https://github.com/remix-run/remix/pull/6483))
1815
1809
 
1816
1810
  New options:
1817
-
1818
1811
  - `--tls-key` / `tlsKey`: TLS key
1819
1812
  - `--tls-cert` / `tlsCert`: TLS Certificate
1820
1813
 
@@ -2085,7 +2078,6 @@
2085
2078
  ```
2086
2079
 
2087
2080
  The dev server will:
2088
-
2089
2081
  - force `NODE_ENV=development` and warn you if it was previously set to something else
2090
2082
  - rebuild your app whenever your Remix app code changes
2091
2083
  - restart your app server whenever rebuilds succeed
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-61f2749d7
3
+ * @react-router/dev v0.0.0-experimental-6336d71a9
4
4
  *
5
5
  * Copyright (c) Remix Software Inc.
6
6
  *
@@ -1331,15 +1331,11 @@ var init_has_rsc_plugin = __esm({
1331
1331
  });
1332
1332
 
1333
1333
  // vite/node-adapter.ts
1334
- var import_node_events, import_node_tls, import_node_stream, import_set_cookie_parser, import_node;
1334
+ var import_node_fetch_server;
1335
1335
  var init_node_adapter = __esm({
1336
1336
  "vite/node-adapter.ts"() {
1337
1337
  "use strict";
1338
- import_node_events = require("events");
1339
- import_node_tls = require("tls");
1340
- import_node_stream = require("stream");
1341
- import_set_cookie_parser = require("set-cookie-parser");
1342
- import_node = require("@react-router/node");
1338
+ import_node_fetch_server = require("@remix-run/node-fetch-server");
1343
1339
  init_invariant();
1344
1340
  }
1345
1341
  });
@@ -1752,7 +1748,7 @@ function resolveEnvironmentsOptions(environmentResolvers, resolverOptions) {
1752
1748
  function isNonNullable(x) {
1753
1749
  return x != null;
1754
1750
  }
1755
- var import_node_crypto, import_node_fs3, import_promises2, path7, url, babel2, import_react_router2, import_es_module_lexer, import_pick3, import_jsesc, import_picocolors5, import_kebabCase, CLIENT_NON_COMPONENT_EXPORTS, CLIENT_ROUTE_EXPORTS, BUILD_CLIENT_ROUTE_QUERY_STRING, SSR_BUNDLE_PREFIX, virtualHmrRuntime, virtualInjectHmrRuntime, virtual, getServerBuildDirectory, getClientBuildDirectory, defaultEntriesDir, defaultEntries, REACT_REFRESH_HEADER;
1751
+ var import_node_crypto, import_node_fs3, import_promises2, path7, url, babel2, import_node_fetch_server2, import_react_router2, import_es_module_lexer, import_pick3, import_jsesc, import_picocolors5, import_kebabCase, CLIENT_NON_COMPONENT_EXPORTS, CLIENT_ROUTE_EXPORTS, BUILD_CLIENT_ROUTE_QUERY_STRING, SSR_BUNDLE_PREFIX, virtualHmrRuntime, virtualInjectHmrRuntime, virtual, getServerBuildDirectory, getClientBuildDirectory, defaultEntriesDir, defaultEntries, REACT_REFRESH_HEADER;
1756
1752
  var init_plugin = __esm({
1757
1753
  "vite/plugin.ts"() {
1758
1754
  "use strict";
@@ -1762,6 +1758,7 @@ var init_plugin = __esm({
1762
1758
  path7 = __toESM(require("path"));
1763
1759
  url = __toESM(require("url"));
1764
1760
  babel2 = __toESM(require("@babel/core"));
1761
+ import_node_fetch_server2 = require("@remix-run/node-fetch-server");
1765
1762
  import_react_router2 = require("react-router");
1766
1763
  import_es_module_lexer = require("es-module-lexer");
1767
1764
  import_pick3 = __toESM(require("lodash/pick"));
@@ -10,6 +10,7 @@ import { unstable_matchRSCServerRequest as matchRSCServerRequest } from "react-r
10
10
 
11
11
  import routes from "virtual:react-router/unstable_rsc/routes";
12
12
  import basename from "virtual:react-router/unstable_rsc/basename";
13
+ import unstable_reactRouterServeConfig from "virtual:react-router/unstable_rsc/react-router-serve-config";
13
14
 
14
15
  export async function fetchServer(request: Request) {
15
16
  return await matchRSCServerRequest({
@@ -30,6 +31,8 @@ export async function fetchServer(request: Request) {
30
31
  });
31
32
  }
32
33
 
34
+ export { unstable_reactRouterServeConfig };
35
+
33
36
  export default async function handler(request: Request) {
34
37
  const ssr = await import.meta.viteRsc.loadModule<
35
38
  typeof import("./entry.ssr")
@@ -18,16 +18,14 @@ export default async function handler(
18
18
  fetchServer,
19
19
  createFromReadableStream,
20
20
  async renderHTML(getPayload) {
21
- const payload = await getPayload();
22
- const formState =
23
- payload.type === "render" ? await payload.formState : undefined;
21
+ const payload = getPayload();
24
22
 
25
23
  return ReactDomServer.renderToReadableStream(
26
24
  <RSCStaticRouter getPayload={getPayload} />,
27
25
  {
28
26
  bootstrapScriptContent,
29
27
  signal: request.signal,
30
- formState,
28
+ formState: await payload.formState,
31
29
  },
32
30
  );
33
31
  },
package/dist/config.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-61f2749d7
2
+ * @react-router/dev v0.0.0-experimental-6336d71a9
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-61f2749d7
2
+ * @react-router/dev v0.0.0-experimental-6336d71a9
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1781,6 +1781,7 @@ function reactRouterRSCVitePlugin() {
1781
1781
  let configLoader;
1782
1782
  let typegenWatcherPromise;
1783
1783
  let viteCommand;
1784
+ let resolvedViteConfig;
1784
1785
  let routeIdByFile;
1785
1786
  let logger;
1786
1787
  const defaultEntries = getDefaultEntries();
@@ -1892,6 +1893,12 @@ ${errors.map((x) => ` - ${x}`).join("\n")}
1892
1893
  }
1893
1894
  },
1894
1895
  outDir: (0, import_pathe6.join)(config.buildDirectory, "client")
1896
+ },
1897
+ optimizeDeps: {
1898
+ include: [
1899
+ "react-router > cookie",
1900
+ "react-router > set-cookie-parser"
1901
+ ]
1895
1902
  }
1896
1903
  },
1897
1904
  rsc: {
@@ -1953,6 +1960,9 @@ ${errors.map((x) => ` - ${x}`).join("\n")}
1953
1960
  }
1954
1961
  };
1955
1962
  },
1963
+ configResolved(viteConfig) {
1964
+ resolvedViteConfig = viteConfig;
1965
+ },
1956
1966
  async configureServer(viteDevServer) {
1957
1967
  configLoader.onChange(
1958
1968
  async ({
@@ -1986,6 +1996,24 @@ ${errors.map((x) => ` - ${x}`).join("\n")}
1986
1996
  await configLoader.close();
1987
1997
  }
1988
1998
  },
1999
+ /* @__PURE__ */ (() => {
2000
+ let logged = false;
2001
+ function logExperimentalNotice() {
2002
+ if (logged) return;
2003
+ logged = true;
2004
+ logger.info(
2005
+ import_picocolors4.default.yellow(
2006
+ `${viteCommand === "serve" ? " " : ""}\u{1F9EA} Using React Router's RSC Framework Mode (experimental)`
2007
+ )
2008
+ );
2009
+ }
2010
+ return {
2011
+ name: "react-router/rsc/log-experimental-notice",
2012
+ sharedDuringBuild: true,
2013
+ buildStart: logExperimentalNotice,
2014
+ configureServer: logExperimentalNotice
2015
+ };
2016
+ })(),
1989
2017
  {
1990
2018
  name: "react-router/rsc/typegen",
1991
2019
  async config(viteUserConfig, { command, mode }) {
@@ -2186,6 +2214,28 @@ ${errors.map((x) => ` - ${x}`).join("\n")}
2186
2214
  return modules;
2187
2215
  }
2188
2216
  },
2217
+ {
2218
+ name: "react-router/rsc/virtual-react-router-serve-config",
2219
+ resolveId(id) {
2220
+ if (id === virtual.reactRouterServeConfig.id) {
2221
+ return virtual.reactRouterServeConfig.resolvedId;
2222
+ }
2223
+ },
2224
+ load(id) {
2225
+ if (id === virtual.reactRouterServeConfig.resolvedId) {
2226
+ const rscOutDir = resolvedViteConfig.environments.rsc?.build?.outDir;
2227
+ invariant(rscOutDir, "RSC build directory config not found");
2228
+ const clientOutDir = resolvedViteConfig.environments.client?.build?.outDir;
2229
+ invariant(clientOutDir, "Client build directory config not found");
2230
+ const assetsBuildDirectory = Path5.relative(rscOutDir, clientOutDir);
2231
+ const publicPath = resolvedViteConfig.base;
2232
+ return `export default ${JSON.stringify({
2233
+ assetsBuildDirectory,
2234
+ publicPath
2235
+ })};`;
2236
+ }
2237
+ }
2238
+ },
2189
2239
  validatePluginOrder(),
2190
2240
  warnOnClientSourceMaps()
2191
2241
  ];
@@ -2195,7 +2245,8 @@ var virtual = {
2195
2245
  injectHmrRuntime: create("unstable_rsc/inject-hmr-runtime"),
2196
2246
  hmrRuntime: create("unstable_rsc/runtime"),
2197
2247
  basename: create("unstable_rsc/basename"),
2198
- rscEntry: create("unstable_rsc/rsc-entry")
2248
+ rscEntry: create("unstable_rsc/rsc-entry"),
2249
+ reactRouterServeConfig: create("unstable_rsc/react-router-serve-config")
2199
2250
  };
2200
2251
  function invalidateVirtualModules(viteDevServer) {
2201
2252
  for (const vmod of Object.values(virtual)) {
package/dist/routes.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-61f2749d7
2
+ * @react-router/dev v0.0.0-experimental-6336d71a9
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-61f2749d7
2
+ * @react-router/dev v0.0.0-experimental-6336d71a9
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -45,14 +45,11 @@ __export(cloudflare_exports, {
45
45
  module.exports = __toCommonJS(cloudflare_exports);
46
46
 
47
47
  // vite/cloudflare-dev-proxy.ts
48
+ var import_node_fetch_server2 = require("@remix-run/node-fetch-server");
48
49
  var import_react_router = require("react-router");
49
50
 
50
51
  // vite/node-adapter.ts
51
- var import_node_events = require("events");
52
- var import_node_tls = require("tls");
53
- var import_node_stream = require("stream");
54
- var import_set_cookie_parser = require("set-cookie-parser");
55
- var import_node = require("@react-router/node");
52
+ var import_node_fetch_server = require("@remix-run/node-fetch-server");
56
53
 
57
54
  // invariant.ts
58
55
  function invariant(value, message) {
@@ -65,76 +62,13 @@ function invariant(value, message) {
65
62
  }
66
63
 
67
64
  // vite/node-adapter.ts
68
- function fromNodeHeaders(nodeReq) {
69
- let nodeHeaders = nodeReq.headers;
70
- if (nodeReq.httpVersionMajor >= 2) {
71
- nodeHeaders = { ...nodeHeaders };
72
- if (nodeHeaders[":authority"]) {
73
- nodeHeaders.host = nodeHeaders[":authority"];
74
- }
75
- delete nodeHeaders[":authority"];
76
- delete nodeHeaders[":method"];
77
- delete nodeHeaders[":path"];
78
- delete nodeHeaders[":scheme"];
79
- }
80
- let headers = new Headers();
81
- for (let [key, values] of Object.entries(nodeHeaders)) {
82
- if (values) {
83
- if (Array.isArray(values)) {
84
- for (let value of values) {
85
- headers.append(key, value);
86
- }
87
- } else {
88
- headers.set(key, values);
89
- }
90
- }
91
- }
92
- return headers;
93
- }
94
65
  function fromNodeRequest(nodeReq, nodeRes) {
95
- let protocol = nodeReq.socket instanceof import_node_tls.TLSSocket && nodeReq.socket.encrypted ? "https" : "http";
96
- let origin = nodeReq.headers.origin && "null" !== nodeReq.headers.origin ? nodeReq.headers.origin : `${protocol}://${nodeReq.headers.host}`;
97
66
  invariant(
98
67
  nodeReq.originalUrl,
99
68
  "Expected `nodeReq.originalUrl` to be defined"
100
69
  );
101
- let url = new URL(nodeReq.originalUrl, origin);
102
- let controller = new AbortController();
103
- let init = {
104
- method: nodeReq.method,
105
- headers: fromNodeHeaders(nodeReq),
106
- signal: controller.signal
107
- };
108
- nodeRes.on("finish", () => controller = null);
109
- nodeRes.on("close", () => controller?.abort());
110
- if (nodeReq.method !== "GET" && nodeReq.method !== "HEAD") {
111
- init.body = (0, import_node.createReadableStreamFromReadable)(nodeReq);
112
- init.duplex = "half";
113
- }
114
- return new Request(url.href, init);
115
- }
116
- async function toNodeRequest(res, nodeRes) {
117
- nodeRes.statusCode = res.status;
118
- if (!nodeRes.req || nodeRes.req.httpVersionMajor < 2) {
119
- nodeRes.statusMessage = res.statusText;
120
- }
121
- let cookiesStrings = [];
122
- for (let [name, value] of res.headers) {
123
- if (name === "set-cookie") {
124
- cookiesStrings.push(...(0, import_set_cookie_parser.splitCookiesString)(value));
125
- } else nodeRes.setHeader(name, value);
126
- }
127
- if (cookiesStrings.length) {
128
- nodeRes.setHeader("set-cookie", cookiesStrings);
129
- }
130
- if (res.body) {
131
- let responseBody = res.body;
132
- let readable = import_node_stream.Readable.from(responseBody);
133
- readable.pipe(nodeRes);
134
- await (0, import_node_events.once)(readable, "end");
135
- } else {
136
- nodeRes.end();
137
- }
70
+ nodeReq.url = nodeReq.originalUrl;
71
+ return (0, import_node_fetch_server.createRequest)(nodeReq, nodeRes);
138
72
  }
139
73
 
140
74
  // vite/vite.ts
@@ -884,7 +818,7 @@ var cloudflareDevProxyVitePlugin = (options = {}) => {
884
818
  context ??= await getContext();
885
819
  let loadContext = getLoadContext ? await getLoadContext({ request: req, context }) : context;
886
820
  let res = await handler(req, loadContext);
887
- await toNodeRequest(res, nodeRes);
821
+ await (0, import_node_fetch_server2.sendResponse)(nodeRes, res);
888
822
  } catch (error) {
889
823
  next(error);
890
824
  }
package/dist/vite.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-61f2749d7
2
+ * @react-router/dev v0.0.0-experimental-6336d71a9
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -51,6 +51,7 @@ var import_promises2 = require("fs/promises");
51
51
  var path6 = __toESM(require("path"));
52
52
  var url = __toESM(require("url"));
53
53
  var babel = __toESM(require("@babel/core"));
54
+ var import_node_fetch_server2 = require("@remix-run/node-fetch-server");
54
55
  var import_react_router2 = require("react-router");
55
56
  var import_es_module_lexer = require("es-module-lexer");
56
57
  var import_pick3 = __toESM(require("lodash/pick"));
@@ -1254,81 +1255,14 @@ async function watch(rootDirectory, { mode, logger, rsc }) {
1254
1255
  }
1255
1256
 
1256
1257
  // vite/node-adapter.ts
1257
- var import_node_events = require("events");
1258
- var import_node_tls = require("tls");
1259
- var import_node_stream = require("stream");
1260
- var import_set_cookie_parser = require("set-cookie-parser");
1261
- var import_node = require("@react-router/node");
1262
- function fromNodeHeaders(nodeReq) {
1263
- let nodeHeaders = nodeReq.headers;
1264
- if (nodeReq.httpVersionMajor >= 2) {
1265
- nodeHeaders = { ...nodeHeaders };
1266
- if (nodeHeaders[":authority"]) {
1267
- nodeHeaders.host = nodeHeaders[":authority"];
1268
- }
1269
- delete nodeHeaders[":authority"];
1270
- delete nodeHeaders[":method"];
1271
- delete nodeHeaders[":path"];
1272
- delete nodeHeaders[":scheme"];
1273
- }
1274
- let headers = new Headers();
1275
- for (let [key, values] of Object.entries(nodeHeaders)) {
1276
- if (values) {
1277
- if (Array.isArray(values)) {
1278
- for (let value of values) {
1279
- headers.append(key, value);
1280
- }
1281
- } else {
1282
- headers.set(key, values);
1283
- }
1284
- }
1285
- }
1286
- return headers;
1287
- }
1258
+ var import_node_fetch_server = require("@remix-run/node-fetch-server");
1288
1259
  function fromNodeRequest(nodeReq, nodeRes) {
1289
- let protocol = nodeReq.socket instanceof import_node_tls.TLSSocket && nodeReq.socket.encrypted ? "https" : "http";
1290
- let origin = nodeReq.headers.origin && "null" !== nodeReq.headers.origin ? nodeReq.headers.origin : `${protocol}://${nodeReq.headers.host}`;
1291
1260
  invariant(
1292
1261
  nodeReq.originalUrl,
1293
1262
  "Expected `nodeReq.originalUrl` to be defined"
1294
1263
  );
1295
- let url2 = new URL(nodeReq.originalUrl, origin);
1296
- let controller = new AbortController();
1297
- let init = {
1298
- method: nodeReq.method,
1299
- headers: fromNodeHeaders(nodeReq),
1300
- signal: controller.signal
1301
- };
1302
- nodeRes.on("finish", () => controller = null);
1303
- nodeRes.on("close", () => controller?.abort());
1304
- if (nodeReq.method !== "GET" && nodeReq.method !== "HEAD") {
1305
- init.body = (0, import_node.createReadableStreamFromReadable)(nodeReq);
1306
- init.duplex = "half";
1307
- }
1308
- return new Request(url2.href, init);
1309
- }
1310
- async function toNodeRequest(res, nodeRes) {
1311
- nodeRes.statusCode = res.status;
1312
- if (!nodeRes.req || nodeRes.req.httpVersionMajor < 2) {
1313
- nodeRes.statusMessage = res.statusText;
1314
- }
1315
- let cookiesStrings = [];
1316
- for (let [name, value] of res.headers) {
1317
- if (name === "set-cookie") {
1318
- cookiesStrings.push(...(0, import_set_cookie_parser.splitCookiesString)(value));
1319
- } else nodeRes.setHeader(name, value);
1320
- }
1321
- if (cookiesStrings.length) {
1322
- nodeRes.setHeader("set-cookie", cookiesStrings);
1323
- }
1324
- if (res.body) {
1325
- let responseBody = res.body;
1326
- let readable = import_node_stream.Readable.from(responseBody);
1327
- readable.pipe(nodeRes);
1328
- await (0, import_node_events.once)(readable, "end");
1329
- } else {
1330
- nodeRes.end();
1331
- }
1264
+ nodeReq.url = nodeReq.originalUrl;
1265
+ return (0, import_node_fetch_server.createRequest)(nodeReq, nodeRes);
1332
1266
  }
1333
1267
 
1334
1268
  // vite/styles.ts
@@ -3480,7 +3414,7 @@ var reactRouterVitePlugin = () => {
3480
3414
  req2,
3481
3415
  await reactRouterDevLoadContext(req2)
3482
3416
  );
3483
- await toNodeRequest(res2, nodeRes);
3417
+ await (0, import_node_fetch_server2.sendResponse)(nodeRes, res2);
3484
3418
  };
3485
3419
  await nodeHandler(req, res);
3486
3420
  } catch (error) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-router/dev",
3
- "version": "0.0.0-experimental-61f2749d7",
3
+ "version": "0.0.0-experimental-6336d71a9",
4
4
  "description": "Dev tools and CLI for React Router",
5
5
  "homepage": "https://reactrouter.com",
6
6
  "bugs": {
@@ -64,7 +64,6 @@
64
64
  }
65
65
  },
66
66
  "dependencies": {
67
- "isbot": "^5.1.11",
68
67
  "@babel/core": "^7.27.7",
69
68
  "@babel/generator": "^7.27.5",
70
69
  "@babel/parser": "^7.27.7",
@@ -73,12 +72,14 @@
73
72
  "@babel/traverse": "^7.27.7",
74
73
  "@babel/types": "^7.27.7",
75
74
  "@npmcli/package-json": "^4.0.1",
75
+ "@remix-run/node-fetch-server": "^0.9.0",
76
76
  "arg": "^5.0.1",
77
77
  "babel-dead-code-elimination": "^1.0.6",
78
78
  "chokidar": "^4.0.0",
79
79
  "dedent": "^1.5.3",
80
80
  "es-module-lexer": "^1.3.1",
81
81
  "exit-hook": "2.2.1",
82
+ "isbot": "^5.1.11",
82
83
  "jsesc": "3.0.2",
83
84
  "lodash": "^4.17.21",
84
85
  "pathe": "^1.1.2",
@@ -86,11 +87,10 @@
86
87
  "prettier": "^3.6.2",
87
88
  "react-refresh": "^0.14.0",
88
89
  "semver": "^7.3.7",
89
- "set-cookie-parser": "^2.6.0",
90
90
  "tinyglobby": "^0.2.14",
91
91
  "valibot": "^0.41.0",
92
92
  "vite-node": "^3.2.2",
93
- "@react-router/node": "0.0.0-experimental-61f2749d7"
93
+ "@react-router/node": "0.0.0-experimental-6336d71a9"
94
94
  },
95
95
  "devDependencies": {
96
96
  "@types/babel__core": "^7.20.5",
@@ -102,9 +102,8 @@
102
102
  "@types/lodash": "^4.14.182",
103
103
  "@types/node": "^20.0.0",
104
104
  "@types/npmcli__package-json": "^4.0.0",
105
- "@types/set-cookie-parser": "^2.4.1",
106
105
  "@types/semver": "^7.7.0",
107
- "@vitejs/plugin-rsc": "0.4.26",
106
+ "@vitejs/plugin-rsc": "0.4.30",
108
107
  "esbuild-register": "^3.6.0",
109
108
  "execa": "5.1.1",
110
109
  "express": "^4.19.2",
@@ -114,16 +113,16 @@
114
113
  "vite": "^6.1.0",
115
114
  "wireit": "0.14.9",
116
115
  "wrangler": "^4.23.0",
117
- "react-router": "^0.0.0-experimental-61f2749d7",
118
- "@react-router/serve": "0.0.0-experimental-61f2749d7"
116
+ "react-router": "^0.0.0-experimental-6336d71a9",
117
+ "@react-router/serve": "0.0.0-experimental-6336d71a9"
119
118
  },
120
119
  "peerDependencies": {
121
120
  "@vitejs/plugin-rsc": "*",
122
121
  "typescript": "^5.1.0",
123
122
  "vite": "^5.1.0 || ^6.0.0 || ^7.0.0",
124
123
  "wrangler": "^3.28.2 || ^4.0.0",
125
- "@react-router/serve": "^0.0.0-experimental-61f2749d7",
126
- "react-router": "^0.0.0-experimental-61f2749d7"
124
+ "@react-router/serve": "^0.0.0-experimental-6336d71a9",
125
+ "react-router": "^0.0.0-experimental-6336d71a9"
127
126
  },
128
127
  "peerDependenciesMeta": {
129
128
  "@vitejs/plugin-rsc": {