@react-router/dev 0.0.0-experimental-f9e19c91c → 0.0.0-experimental-3fe27584d

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
@@ -1,5 +1,23 @@
1
1
  # `@react-router/dev`
2
2
 
3
+ ## 7.11.0
4
+
5
+ ### Minor Changes
6
+
7
+ - feat: add `vite preview` support ([#14507](https://github.com/remix-run/react-router/pull/14507))
8
+
9
+ ### Patch Changes
10
+
11
+ - rsc framework mode manual chunking for react and react-router deps ([#14655](https://github.com/remix-run/react-router/pull/14655))
12
+ - add support for throwing redirect Response's at RSC render time ([#14596](https://github.com/remix-run/react-router/pull/14596))
13
+ - support custom entrypoints for RSC framework mode ([#14643](https://github.com/remix-run/react-router/pull/14643))
14
+ - `routeRSCServerRequest` replace `fetchServer` with `serverResponse` ([#14597](https://github.com/remix-run/react-router/pull/14597))
15
+ - rsc framewlrk mode - optimize react-server-dom-webpack if in project package.json ([#14656](https://github.com/remix-run/react-router/pull/14656))
16
+ - Updated dependencies:
17
+ - `react-router@7.11.0`
18
+ - `@react-router/serve@7.11.0`
19
+ - `@react-router/node@7.11.0`
20
+
3
21
  ## 7.10.1
4
22
 
5
23
  ### Patch Changes
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-f9e19c91c
3
+ * @react-router/dev v0.0.0-experimental-3fe27584d
4
4
  *
5
5
  * Copyright (c) Remix Software Inc.
6
6
  *
@@ -506,6 +506,7 @@ async function resolveConfig({
506
506
  let future = {
507
507
  unstable_optimizeDeps: userAndPresetConfigs.future?.unstable_optimizeDeps ?? false,
508
508
  unstable_subResourceIntegrity: userAndPresetConfigs.future?.unstable_subResourceIntegrity ?? false,
509
+ unstable_trailingSlashAwareDataRequests: userAndPresetConfigs.future?.unstable_trailingSlashAwareDataRequests ?? false,
509
510
  v8_middleware: userAndPresetConfigs.future?.v8_middleware ?? false,
510
511
  v8_splitRouteModules: userAndPresetConfigs.future?.v8_splitRouteModules ?? false,
511
512
  v8_viteEnvironmentApi: userAndPresetConfigs.future?.v8_viteEnvironmentApi ?? false
package/dist/config.d.ts CHANGED
@@ -39,6 +39,7 @@ type ServerModuleFormat = "esm" | "cjs";
39
39
  interface FutureConfig {
40
40
  unstable_optimizeDeps: boolean;
41
41
  unstable_subResourceIntegrity: boolean;
42
+ unstable_trailingSlashAwareDataRequests: boolean;
42
43
  /**
43
44
  * Enable route middleware
44
45
  */
package/dist/config.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-f9e19c91c
2
+ * @react-router/dev v0.0.0-experimental-3fe27584d
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
package/dist/routes.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-f9e19c91c
2
+ * @react-router/dev v0.0.0-experimental-3fe27584d
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-f9e19c91c
2
+ * @react-router/dev v0.0.0-experimental-3fe27584d
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -535,6 +535,7 @@ async function resolveConfig({
535
535
  let future = {
536
536
  unstable_optimizeDeps: userAndPresetConfigs.future?.unstable_optimizeDeps ?? false,
537
537
  unstable_subResourceIntegrity: userAndPresetConfigs.future?.unstable_subResourceIntegrity ?? false,
538
+ unstable_trailingSlashAwareDataRequests: userAndPresetConfigs.future?.unstable_trailingSlashAwareDataRequests ?? false,
538
539
  v8_middleware: userAndPresetConfigs.future?.v8_middleware ?? false,
539
540
  v8_splitRouteModules: userAndPresetConfigs.future?.v8_splitRouteModules ?? false,
540
541
  v8_viteEnvironmentApi: userAndPresetConfigs.future?.v8_viteEnvironmentApi ?? false
package/dist/vite.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-f9e19c91c
2
+ * @react-router/dev v0.0.0-experimental-3fe27584d
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -562,6 +562,7 @@ async function resolveConfig({
562
562
  let future = {
563
563
  unstable_optimizeDeps: userAndPresetConfigs.future?.unstable_optimizeDeps ?? false,
564
564
  unstable_subResourceIntegrity: userAndPresetConfigs.future?.unstable_subResourceIntegrity ?? false,
565
+ unstable_trailingSlashAwareDataRequests: userAndPresetConfigs.future?.unstable_trailingSlashAwareDataRequests ?? false,
565
566
  v8_middleware: userAndPresetConfigs.future?.v8_middleware ?? false,
566
567
  v8_splitRouteModules: userAndPresetConfigs.future?.v8_splitRouteModules ?? false,
567
568
  v8_viteEnvironmentApi: userAndPresetConfigs.future?.v8_viteEnvironmentApi ?? false
@@ -3536,6 +3537,9 @@ var reactRouterVitePlugin = () => {
3536
3537
  },
3537
3538
  configurePreviewServer(previewServer) {
3538
3539
  return () => {
3540
+ if (!ctx.reactRouterConfig.ssr) {
3541
+ return;
3542
+ }
3539
3543
  previewServer.middlewares.use(async (req, res, next) => {
3540
3544
  try {
3541
3545
  let serverBuildDirectory = getServerBuildDirectory(
@@ -4099,10 +4103,8 @@ var reactRouterVitePlugin = () => {
4099
4103
  if (this.environment.name !== "ssr" && modules.length <= 0) {
4100
4104
  return;
4101
4105
  }
4102
- let clientModules = uniqueNodes(
4103
- modules.flatMap(
4104
- (mod) => getParentClientNodes(server.environments.client.moduleGraph, mod)
4105
- )
4106
+ let clientModules = modules.flatMap(
4107
+ (mod) => getParentClientNodes(server.environments.client.moduleGraph, mod)
4106
4108
  );
4107
4109
  for (let clientModule of clientModules) {
4108
4110
  server.environments.client.reloadModule(clientModule);
@@ -4113,30 +4115,22 @@ var reactRouterVitePlugin = () => {
4113
4115
  warnOnClientSourceMaps()
4114
4116
  ];
4115
4117
  };
4116
- function getParentClientNodes(clientModuleGraph, module2) {
4118
+ function getParentClientNodes(clientModuleGraph, module2, seenNodes = /* @__PURE__ */ new Set()) {
4117
4119
  if (!module2.id) {
4118
4120
  return [];
4119
4121
  }
4122
+ if (seenNodes.has(module2.url)) {
4123
+ return [];
4124
+ }
4125
+ seenNodes.add(module2.url);
4120
4126
  let clientModule = clientModuleGraph.getModuleById(module2.id);
4121
4127
  if (clientModule) {
4122
4128
  return [clientModule];
4123
4129
  }
4124
4130
  return [...module2.importers].flatMap(
4125
- (importer) => getParentClientNodes(clientModuleGraph, importer)
4131
+ (importer) => getParentClientNodes(clientModuleGraph, importer, seenNodes)
4126
4132
  );
4127
4133
  }
4128
- function uniqueNodes(nodes) {
4129
- let nodeUrls = /* @__PURE__ */ new Set();
4130
- let unique = [];
4131
- for (let node of nodes) {
4132
- if (nodeUrls.has(node.url)) {
4133
- continue;
4134
- }
4135
- nodeUrls.add(node.url);
4136
- unique.push(node);
4137
- }
4138
- return unique;
4139
- }
4140
4134
  function addRefreshWrapper(reactRouterConfig, code, id) {
4141
4135
  let route = getRoute(reactRouterConfig, id);
4142
4136
  let acceptExports = route ? CLIENT_NON_COMPONENT_EXPORTS : [];
@@ -4411,7 +4405,21 @@ function getStaticPrerenderPaths(routes) {
4411
4405
  };
4412
4406
  }
4413
4407
  async function prerenderData(handler, prerenderPath, onlyRoutes, clientBuildDirectory, reactRouterConfig, viteConfig, requestInit) {
4414
- let normalizedPath = `${reactRouterConfig.basename}${prerenderPath === "/" ? "/_root.data" : `${prerenderPath.replace(/\/$/, "")}.data`}`.replace(/\/\/+/g, "/");
4408
+ let dataRequestPath;
4409
+ if (reactRouterConfig.future.unstable_trailingSlashAwareDataRequests) {
4410
+ if (prerenderPath.endsWith("/")) {
4411
+ dataRequestPath = `${prerenderPath}_.data`;
4412
+ } else {
4413
+ dataRequestPath = `${prerenderPath}.data`;
4414
+ }
4415
+ } else {
4416
+ if (prerenderPath === "/") {
4417
+ dataRequestPath = "/_root.data";
4418
+ } else {
4419
+ dataRequestPath = `${prerenderPath.replace(/\/$/, "")}.data`;
4420
+ }
4421
+ }
4422
+ let normalizedPath = `${reactRouterConfig.basename}${dataRequestPath}`.replace(/\/\/+/g, "/");
4415
4423
  let url2 = new URL(`http://localhost${normalizedPath}`);
4416
4424
  if (onlyRoutes?.length) {
4417
4425
  url2.searchParams.set("_routes", onlyRoutes.join(","));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-router/dev",
3
- "version": "0.0.0-experimental-f9e19c91c",
3
+ "version": "0.0.0-experimental-3fe27584d",
4
4
  "description": "Dev tools and CLI for React Router",
5
5
  "homepage": "https://reactrouter.com",
6
6
  "bugs": {
@@ -92,7 +92,7 @@
92
92
  "tinyglobby": "^0.2.14",
93
93
  "valibot": "^1.2.0",
94
94
  "vite-node": "^3.2.2",
95
- "@react-router/node": "0.0.0-experimental-f9e19c91c"
95
+ "@react-router/node": "0.0.0-experimental-3fe27584d"
96
96
  },
97
97
  "devDependencies": {
98
98
  "@types/babel__core": "^7.20.5",
@@ -106,7 +106,7 @@
106
106
  "@types/node": "^20.0.0",
107
107
  "@types/npmcli__package-json": "^4.0.0",
108
108
  "@types/semver": "^7.7.0",
109
- "@vitejs/plugin-rsc": "~0.5.6",
109
+ "@vitejs/plugin-rsc": "~0.5.7",
110
110
  "esbuild-register": "^3.6.0",
111
111
  "execa": "5.1.1",
112
112
  "express": "^4.19.2",
@@ -116,17 +116,17 @@
116
116
  "vite": "^6.3.0",
117
117
  "wireit": "0.14.9",
118
118
  "wrangler": "^4.23.0",
119
- "@react-router/serve": "0.0.0-experimental-f9e19c91c",
120
- "react-router": "^0.0.0-experimental-f9e19c91c"
119
+ "react-router": "^0.0.0-experimental-3fe27584d",
120
+ "@react-router/serve": "0.0.0-experimental-3fe27584d"
121
121
  },
122
122
  "peerDependencies": {
123
- "@vitejs/plugin-rsc": "~0.5.6",
124
- "react-server-dom-webpack": "^19.2.2",
123
+ "@vitejs/plugin-rsc": "~0.5.7",
124
+ "react-server-dom-webpack": "^19.2.3",
125
125
  "typescript": "^5.1.0",
126
126
  "vite": "^5.1.0 || ^6.0.0 || ^7.0.0",
127
127
  "wrangler": "^3.28.2 || ^4.0.0",
128
- "@react-router/serve": "^0.0.0-experimental-f9e19c91c",
129
- "react-router": "^0.0.0-experimental-f9e19c91c"
128
+ "@react-router/serve": "^0.0.0-experimental-3fe27584d",
129
+ "react-router": "^0.0.0-experimental-3fe27584d"
130
130
  },
131
131
  "peerDependenciesMeta": {
132
132
  "@vitejs/plugin-rsc": {