@react-router/dev 0.0.0-experimental-426e5caec → 0.0.0-experimental-7ed11be

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,15 +1,5 @@
1
1
  # `@react-router/dev`
2
2
 
3
- ## 7.8.2
4
-
5
- ### Patch Changes
6
-
7
- - fix: memory leak in default entry.server ([#14200](https://github.com/remix-run/react-router/pull/14200))
8
- - Updated dependencies:
9
- - `react-router@7.8.2`
10
- - `@react-router/node@7.8.2`
11
- - `@react-router/serve@7.8.2`
12
-
13
3
  ## 7.8.1
14
4
 
15
5
  ### 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-426e5caec
3
+ * @react-router/dev v0.0.0-experimental-7ed11be
4
4
  *
5
5
  * Copyright (c) Remix Software Inc.
6
6
  *
@@ -477,7 +477,7 @@ async function resolveConfig({
477
477
  }
478
478
  }
479
479
  let future = {
480
- v8_middleware: reactRouterUserConfig.future?.v8_middleware ?? false,
480
+ unstable_middleware: reactRouterUserConfig.future?.unstable_middleware ?? false,
481
481
  unstable_optimizeDeps: reactRouterUserConfig.future?.unstable_optimizeDeps ?? false,
482
482
  unstable_splitRouteModules: reactRouterUserConfig.future?.unstable_splitRouteModules ?? false,
483
483
  unstable_subResourceIntegrity: reactRouterUserConfig.future?.unstable_subResourceIntegrity ?? false,
@@ -897,7 +897,7 @@ function generateFuture(ctx) {
897
897
 
898
898
  declare module "react-router" {
899
899
  interface Future {
900
- middleware: ${ctx.config.future.v8_middleware}
900
+ unstable_middleware: ${ctx.config.future.unstable_middleware}
901
901
  }
902
902
  }
903
903
  `;
@@ -1118,11 +1118,11 @@ function getRouteAnnotations({
1118
1118
  export type HeadersArgs = Annotations["HeadersArgs"];
1119
1119
  export type HeadersFunction = Annotations["HeadersFunction"];
1120
1120
 
1121
- // middleware
1122
- export type MiddlewareFunction = Annotations["MiddlewareFunction"];
1121
+ // unstable_middleware
1122
+ export type unstable_MiddlewareFunction = Annotations["unstable_MiddlewareFunction"];
1123
1123
 
1124
- // clientMiddleware
1125
- export type ClientMiddlewareFunction = Annotations["ClientMiddlewareFunction"];
1124
+ // unstable_clientMiddleware
1125
+ export type unstable_ClientMiddlewareFunction = Annotations["unstable_ClientMiddlewareFunction"];
1126
1126
 
1127
1127
  // loader
1128
1128
  export type LoaderArgs = Annotations["LoaderArgs"];
@@ -1393,7 +1393,7 @@ var init_route_chunks = __esm({
1393
1393
  routeChunkExportNames = [
1394
1394
  "clientAction",
1395
1395
  "clientLoader",
1396
- "clientMiddleware",
1396
+ "unstable_clientMiddleware",
1397
1397
  "HydrateFallback"
1398
1398
  ];
1399
1399
  mainChunkName = "main";
@@ -1403,7 +1403,7 @@ var init_route_chunks = __esm({
1403
1403
  main: `${routeChunkQueryStringPrefix}main`,
1404
1404
  clientAction: `${routeChunkQueryStringPrefix}clientAction`,
1405
1405
  clientLoader: `${routeChunkQueryStringPrefix}clientLoader`,
1406
- clientMiddleware: `${routeChunkQueryStringPrefix}clientMiddleware`,
1406
+ unstable_clientMiddleware: `${routeChunkQueryStringPrefix}unstable_clientMiddleware`,
1407
1407
  HydrateFallback: `${routeChunkQueryStringPrefix}HydrateFallback`
1408
1408
  };
1409
1409
  }
@@ -1696,7 +1696,7 @@ var init_plugin = __esm({
1696
1696
  CLIENT_NON_COMPONENT_EXPORTS = [
1697
1697
  "clientAction",
1698
1698
  "clientLoader",
1699
- "clientMiddleware",
1699
+ "unstable_clientMiddleware",
1700
1700
  "handle",
1701
1701
  "meta",
1702
1702
  "links",
@@ -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: RouterContextProvider
19
+ // loadContext: unstable_RouterContextProvider
20
20
  ) {
21
21
  return new Promise((resolve, reject) => {
22
22
  let shellRendered = false;
package/dist/config.d.ts CHANGED
@@ -40,7 +40,7 @@ interface FutureConfig {
40
40
  /**
41
41
  * Enable route middleware
42
42
  */
43
- v8_middleware: boolean;
43
+ unstable_middleware: boolean;
44
44
  unstable_optimizeDeps: boolean;
45
45
  /**
46
46
  * Automatically split route modules into multiple chunks when possible.
package/dist/config.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-426e5caec
2
+ * @react-router/dev v0.0.0-experimental-7ed11be
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-426e5caec
2
+ * @react-router/dev v0.0.0-experimental-7ed11be
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -510,7 +510,7 @@ async function resolveConfig({
510
510
  }
511
511
  }
512
512
  let future = {
513
- v8_middleware: reactRouterUserConfig.future?.v8_middleware ?? false,
513
+ unstable_middleware: reactRouterUserConfig.future?.unstable_middleware ?? false,
514
514
  unstable_optimizeDeps: reactRouterUserConfig.future?.unstable_optimizeDeps ?? false,
515
515
  unstable_splitRouteModules: reactRouterUserConfig.future?.unstable_splitRouteModules ?? false,
516
516
  unstable_subResourceIntegrity: reactRouterUserConfig.future?.unstable_subResourceIntegrity ?? false,
@@ -801,7 +801,7 @@ function generateFuture(ctx) {
801
801
 
802
802
  declare module "react-router" {
803
803
  interface Future {
804
- middleware: ${ctx.config.future.v8_middleware}
804
+ unstable_middleware: ${ctx.config.future.unstable_middleware}
805
805
  }
806
806
  }
807
807
  `;
@@ -1023,11 +1023,11 @@ function getRouteAnnotations({
1023
1023
  export type HeadersArgs = Annotations["HeadersArgs"];
1024
1024
  export type HeadersFunction = Annotations["HeadersFunction"];
1025
1025
 
1026
- // middleware
1027
- export type MiddlewareFunction = Annotations["MiddlewareFunction"];
1026
+ // unstable_middleware
1027
+ export type unstable_MiddlewareFunction = Annotations["unstable_MiddlewareFunction"];
1028
1028
 
1029
- // clientMiddleware
1030
- export type ClientMiddlewareFunction = Annotations["ClientMiddlewareFunction"];
1029
+ // unstable_clientMiddleware
1030
+ export type unstable_ClientMiddlewareFunction = Annotations["unstable_ClientMiddlewareFunction"];
1031
1031
 
1032
1032
  // loader
1033
1033
  export type LoaderArgs = Annotations["LoaderArgs"];
@@ -1348,43 +1348,23 @@ function invalidDestructureError(name) {
1348
1348
  }
1349
1349
 
1350
1350
  // vite/rsc/virtual-route-modules.ts
1351
- var SERVER_ONLY_COMPONENT_EXPORTS = ["ServerComponent"];
1352
1351
  var SERVER_ONLY_ROUTE_EXPORTS = [
1353
- ...SERVER_ONLY_COMPONENT_EXPORTS,
1354
1352
  "loader",
1355
1353
  "action",
1356
- "middleware",
1357
- "headers"
1354
+ "unstable_middleware",
1355
+ "headers",
1356
+ "ServerComponent"
1358
1357
  ];
1359
- var SERVER_ONLY_ROUTE_EXPORTS_SET = new Set(SERVER_ONLY_ROUTE_EXPORTS);
1360
- function isServerOnlyRouteExport(name) {
1361
- return SERVER_ONLY_ROUTE_EXPORTS_SET.has(name);
1362
- }
1363
- var COMMON_COMPONENT_EXPORTS = [
1358
+ var COMPONENT_EXPORTS = [
1359
+ "default",
1364
1360
  "ErrorBoundary",
1365
1361
  "HydrateFallback",
1366
1362
  "Layout"
1367
1363
  ];
1368
- var SERVER_FIRST_COMPONENT_EXPORTS = [
1369
- ...COMMON_COMPONENT_EXPORTS,
1370
- ...SERVER_ONLY_COMPONENT_EXPORTS
1371
- ];
1372
- var SERVER_FIRST_COMPONENT_EXPORTS_SET = new Set(
1373
- SERVER_FIRST_COMPONENT_EXPORTS
1374
- );
1375
- function isServerFirstComponentExport(name) {
1376
- return SERVER_FIRST_COMPONENT_EXPORTS_SET.has(
1377
- name
1378
- );
1379
- }
1380
- var CLIENT_COMPONENT_EXPORTS = [
1381
- ...COMMON_COMPONENT_EXPORTS,
1382
- "default"
1383
- ];
1384
1364
  var CLIENT_NON_COMPONENT_EXPORTS = [
1385
1365
  "clientAction",
1386
1366
  "clientLoader",
1387
- "clientMiddleware",
1367
+ "unstable_clientMiddleware",
1388
1368
  "handle",
1389
1369
  "meta",
1390
1370
  "links",
@@ -1396,43 +1376,25 @@ function isClientNonComponentExport(name) {
1396
1376
  }
1397
1377
  var CLIENT_ROUTE_EXPORTS = [
1398
1378
  ...CLIENT_NON_COMPONENT_EXPORTS,
1399
- ...CLIENT_COMPONENT_EXPORTS
1379
+ ...COMPONENT_EXPORTS
1400
1380
  ];
1401
1381
  var CLIENT_ROUTE_EXPORTS_SET = new Set(CLIENT_ROUTE_EXPORTS);
1402
1382
  function isClientRouteExport(name) {
1403
1383
  return CLIENT_ROUTE_EXPORTS_SET.has(name);
1404
1384
  }
1405
- var ROUTE_EXPORTS = [
1406
- ...SERVER_ONLY_ROUTE_EXPORTS,
1407
- ...CLIENT_ROUTE_EXPORTS
1408
- ];
1409
- var ROUTE_EXPORTS_SET = new Set(ROUTE_EXPORTS);
1410
- function isRouteExport(name) {
1411
- return ROUTE_EXPORTS_SET.has(name);
1412
- }
1413
- function isCustomRouteExport(name) {
1414
- return !isRouteExport(name);
1415
- }
1416
- function hasReactServerCondition(viteEnvironment) {
1417
- return viteEnvironment.config.resolve.conditions.includes("react-server");
1418
- }
1419
1385
  function transformVirtualRouteModules({
1420
1386
  id,
1421
1387
  code,
1422
- viteCommand,
1423
- routeIdByFile,
1424
- viteEnvironment
1388
+ viteCommand
1425
1389
  }) {
1426
- if (isVirtualRouteModuleId(id) || routeIdByFile.has(id)) {
1427
- return createVirtualRouteModuleCode({
1428
- id,
1429
- code,
1430
- viteCommand,
1431
- viteEnvironment
1432
- });
1390
+ if (!id.includes("route-module")) {
1391
+ return;
1392
+ }
1393
+ if (isVirtualRouteModuleId(id)) {
1394
+ return createVirtualRouteModuleCode({ id, code, viteCommand });
1433
1395
  }
1434
1396
  if (isVirtualServerRouteModuleId(id)) {
1435
- return createVirtualServerRouteModuleCode({ id, code, viteEnvironment });
1397
+ return createVirtualServerRouteModuleCode({ id, code });
1436
1398
  }
1437
1399
  if (isVirtualClientRouteModuleId(id)) {
1438
1400
  return createVirtualClientRouteModuleCode({ id, code, viteCommand });
@@ -1441,44 +1403,22 @@ function transformVirtualRouteModules({
1441
1403
  async function createVirtualRouteModuleCode({
1442
1404
  id,
1443
1405
  code: routeSource,
1444
- viteCommand,
1445
- viteEnvironment
1406
+ viteCommand
1446
1407
  }) {
1447
- const isReactServer = hasReactServerCondition(viteEnvironment);
1448
1408
  const { staticExports, isServerFirstRoute, hasClientExports } = parseRouteExports(routeSource);
1449
1409
  const clientModuleId = getVirtualClientModuleId(id);
1450
1410
  const serverModuleId = getVirtualServerModuleId(id);
1451
1411
  let code = "";
1452
1412
  if (isServerFirstRoute) {
1453
- if (staticExports.some(isServerFirstComponentExport)) {
1454
- code += `import React from "react";
1455
- `;
1456
- }
1457
1413
  for (const staticExport of staticExports) {
1458
1414
  if (isClientNonComponentExport(staticExport)) {
1459
1415
  code += `export { ${staticExport} } from "${clientModuleId}";
1460
1416
  `;
1461
- } else if (isReactServer && isServerFirstComponentExport(staticExport) && // Layout wraps all other component exports so doesn't need CSS injected
1462
- staticExport !== "Layout") {
1463
- code += `import { ${staticExport} as ${staticExport}WithoutCss } from "${serverModuleId}";
1464
- `;
1465
- code += `export ${staticExport === "ServerComponent" ? "default " : " "}function ${staticExport}(props) {
1466
- `;
1467
- code += ` return React.createElement(React.Fragment, null,
1468
- `;
1469
- code += ` import.meta.viteRsc.loadCss(),
1470
- `;
1471
- code += ` React.createElement(${staticExport}WithoutCss, props),
1472
- `;
1473
- code += ` );
1474
- `;
1475
- code += `}
1417
+ } else if (staticExport === "ServerComponent") {
1418
+ code += `export { ServerComponent as default } from "${serverModuleId}";
1476
1419
  `;
1477
- } else if (isReactServer && isRouteExport(staticExport)) {
1420
+ } else {
1478
1421
  code += `export { ${staticExport} } from "${serverModuleId}";
1479
- `;
1480
- } else if (isCustomRouteExport(staticExport)) {
1481
- code += `export { ${staticExport} } from "${isReactServer ? serverModuleId : clientModuleId}";
1482
1422
  `;
1483
1423
  }
1484
1424
  }
@@ -1491,11 +1431,8 @@ async function createVirtualRouteModuleCode({
1491
1431
  if (isClientRouteExport(staticExport)) {
1492
1432
  code += `export { ${staticExport} } from "${clientModuleId}";
1493
1433
  `;
1494
- } else if (isReactServer && isServerOnlyRouteExport(staticExport)) {
1434
+ } else {
1495
1435
  code += `export { ${staticExport} } from "${serverModuleId}";
1496
- `;
1497
- } else if (isCustomRouteExport(staticExport)) {
1498
- code += `export { ${staticExport} } from "${isReactServer ? serverModuleId : clientModuleId}";
1499
1436
  `;
1500
1437
  }
1501
1438
  }
@@ -1508,18 +1445,8 @@ async function createVirtualRouteModuleCode({
1508
1445
  }
1509
1446
  function createVirtualServerRouteModuleCode({
1510
1447
  id,
1511
- code: routeSource,
1512
- viteEnvironment
1448
+ code: routeSource
1513
1449
  }) {
1514
- if (!hasReactServerCondition(viteEnvironment)) {
1515
- throw new Error(
1516
- [
1517
- "Virtual server route module was loaded outside of the RSC environment.",
1518
- `Environment Name: ${viteEnvironment.name}`,
1519
- `Module ID: ${id}`
1520
- ].join("\n")
1521
- );
1522
- }
1523
1450
  const { staticExports, isServerFirstRoute } = parseRouteExports(routeSource);
1524
1451
  const clientModuleId = getVirtualClientModuleId(id);
1525
1452
  const serverRouteModuleAst = import_parser.parse(routeSource, {
@@ -1547,7 +1474,7 @@ function createVirtualClientRouteModuleCode({
1547
1474
  viteCommand
1548
1475
  }) {
1549
1476
  const { staticExports, isServerFirstRoute, hasClientExports } = parseRouteExports(routeSource);
1550
- const exportsToRemove = isServerFirstRoute ? [...SERVER_ONLY_ROUTE_EXPORTS, ...CLIENT_COMPONENT_EXPORTS] : SERVER_ONLY_ROUTE_EXPORTS;
1477
+ const exportsToRemove = isServerFirstRoute ? [...SERVER_ONLY_ROUTE_EXPORTS, ...COMPONENT_EXPORTS] : SERVER_ONLY_ROUTE_EXPORTS;
1551
1478
  const clientRouteModuleAst = import_parser.parse(routeSource, {
1552
1479
  sourceType: "module"
1553
1480
  });
@@ -1771,14 +1698,7 @@ function reactRouterRSCVitePlugin() {
1771
1698
  {
1772
1699
  name: "react-router/rsc/virtual-route-modules",
1773
1700
  transform(code, id) {
1774
- if (!routeIdByFile) return;
1775
- return transformVirtualRouteModules({
1776
- code,
1777
- id,
1778
- viteCommand,
1779
- routeIdByFile,
1780
- viteEnvironment: this.environment
1781
- });
1701
+ return transformVirtualRouteModules({ code, id, viteCommand });
1782
1702
  }
1783
1703
  },
1784
1704
  {
@@ -1839,8 +1759,8 @@ function reactRouterRSCVitePlugin() {
1839
1759
  const isJSX = filepath.endsWith("x");
1840
1760
  const useFastRefresh = !ssr && (isJSX || code.includes(devRuntime));
1841
1761
  if (!useFastRefresh) return;
1842
- if (isVirtualClientRouteModuleId(id)) {
1843
- const routeId = routeIdByFile?.get(filepath);
1762
+ const routeId = routeIdByFile?.get(filepath);
1763
+ if (routeId !== void 0) {
1844
1764
  return { code: addRefreshWrapper({ routeId, code, id }) };
1845
1765
  }
1846
1766
  const result = await babel.transformAsync(code, {
package/dist/routes.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-426e5caec
2
+ * @react-router/dev v0.0.0-experimental-7ed11be
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,4 +1,4 @@
1
- import { UNSAFE_MiddlewareEnabled, RouterContextProvider, AppLoadContext } from 'react-router';
1
+ import { UNSAFE_MiddlewareEnabled, unstable_RouterContextProvider, AppLoadContext } from 'react-router';
2
2
  import { Plugin } from 'vite';
3
3
  import { PlatformProxy, GetPlatformProxyOptions } from 'wrangler';
4
4
 
@@ -10,7 +10,7 @@ type LoadContext<Env, Cf extends CfProperties> = {
10
10
  type GetLoadContext<Env, Cf extends CfProperties> = (args: {
11
11
  request: Request;
12
12
  context: LoadContext<Env, Cf>;
13
- }) => UNSAFE_MiddlewareEnabled extends true ? MaybePromise<RouterContextProvider> : MaybePromise<AppLoadContext>;
13
+ }) => UNSAFE_MiddlewareEnabled extends true ? MaybePromise<unstable_RouterContextProvider> : MaybePromise<AppLoadContext>;
14
14
  /**
15
15
  * Vite plugin that provides [Node proxies to local workerd
16
16
  * bindings](https://developers.cloudflare.com/workers/wrangler/api/#getplatformproxy)
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-426e5caec
2
+ * @react-router/dev v0.0.0-experimental-7ed11be
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -573,7 +573,7 @@ async function resolveConfig({
573
573
  }
574
574
  }
575
575
  let future = {
576
- v8_middleware: reactRouterUserConfig.future?.v8_middleware ?? false,
576
+ unstable_middleware: reactRouterUserConfig.future?.unstable_middleware ?? false,
577
577
  unstable_optimizeDeps: reactRouterUserConfig.future?.unstable_optimizeDeps ?? false,
578
578
  unstable_splitRouteModules: reactRouterUserConfig.future?.unstable_splitRouteModules ?? false,
579
579
  unstable_subResourceIntegrity: reactRouterUserConfig.future?.unstable_subResourceIntegrity ?? false,
package/dist/vite.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-426e5caec
2
+ * @react-router/dev v0.0.0-experimental-7ed11be
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -533,7 +533,7 @@ async function resolveConfig({
533
533
  }
534
534
  }
535
535
  let future = {
536
- v8_middleware: reactRouterUserConfig.future?.v8_middleware ?? false,
536
+ unstable_middleware: reactRouterUserConfig.future?.unstable_middleware ?? false,
537
537
  unstable_optimizeDeps: reactRouterUserConfig.future?.unstable_optimizeDeps ?? false,
538
538
  unstable_splitRouteModules: reactRouterUserConfig.future?.unstable_splitRouteModules ?? false,
539
539
  unstable_subResourceIntegrity: reactRouterUserConfig.future?.unstable_subResourceIntegrity ?? false,
@@ -883,7 +883,7 @@ function generateFuture(ctx) {
883
883
 
884
884
  declare module "react-router" {
885
885
  interface Future {
886
- middleware: ${ctx.config.future.v8_middleware}
886
+ unstable_middleware: ${ctx.config.future.unstable_middleware}
887
887
  }
888
888
  }
889
889
  `;
@@ -1105,11 +1105,11 @@ function getRouteAnnotations({
1105
1105
  export type HeadersArgs = Annotations["HeadersArgs"];
1106
1106
  export type HeadersFunction = Annotations["HeadersFunction"];
1107
1107
 
1108
- // middleware
1109
- export type MiddlewareFunction = Annotations["MiddlewareFunction"];
1108
+ // unstable_middleware
1109
+ export type unstable_MiddlewareFunction = Annotations["unstable_MiddlewareFunction"];
1110
1110
 
1111
- // clientMiddleware
1112
- export type ClientMiddlewareFunction = Annotations["ClientMiddlewareFunction"];
1111
+ // unstable_clientMiddleware
1112
+ export type unstable_ClientMiddlewareFunction = Annotations["unstable_ClientMiddlewareFunction"];
1113
1113
 
1114
1114
  // loader
1115
1115
  export type LoaderArgs = Annotations["LoaderArgs"];
@@ -2210,7 +2210,7 @@ function detectRouteChunks(code, cache, cacheKey) {
2210
2210
  var routeChunkExportNames = [
2211
2211
  "clientAction",
2212
2212
  "clientLoader",
2213
- "clientMiddleware",
2213
+ "unstable_clientMiddleware",
2214
2214
  "HydrateFallback"
2215
2215
  ];
2216
2216
  var mainChunkName = "main";
@@ -2226,7 +2226,7 @@ var routeChunkQueryStrings = {
2226
2226
  main: `${routeChunkQueryStringPrefix}main`,
2227
2227
  clientAction: `${routeChunkQueryStringPrefix}clientAction`,
2228
2228
  clientLoader: `${routeChunkQueryStringPrefix}clientLoader`,
2229
- clientMiddleware: `${routeChunkQueryStringPrefix}clientMiddleware`,
2229
+ unstable_clientMiddleware: `${routeChunkQueryStringPrefix}unstable_clientMiddleware`,
2230
2230
  HydrateFallback: `${routeChunkQueryStringPrefix}HydrateFallback`
2231
2231
  };
2232
2232
  function getRouteChunkModuleId(filePath, chunkName) {
@@ -2359,11 +2359,16 @@ function validatePluginOrder() {
2359
2359
  function extractPluginContext(viteConfig) {
2360
2360
  return viteConfig["__reactRouterPluginContext"];
2361
2361
  }
2362
- var SERVER_ONLY_ROUTE_EXPORTS = ["loader", "action", "middleware", "headers"];
2362
+ var SERVER_ONLY_ROUTE_EXPORTS = [
2363
+ "loader",
2364
+ "action",
2365
+ "unstable_middleware",
2366
+ "headers"
2367
+ ];
2363
2368
  var CLIENT_NON_COMPONENT_EXPORTS = [
2364
2369
  "clientAction",
2365
2370
  "clientLoader",
2366
- "clientMiddleware",
2371
+ "unstable_clientMiddleware",
2367
2372
  "handle",
2368
2373
  "meta",
2369
2374
  "links",
@@ -2846,7 +2851,9 @@ var reactRouterVitePlugin = () => {
2846
2851
  let sourceExports = routeManifestExports[route.id];
2847
2852
  let hasClientAction = sourceExports.includes("clientAction");
2848
2853
  let hasClientLoader = sourceExports.includes("clientLoader");
2849
- let hasClientMiddleware = sourceExports.includes("clientMiddleware");
2854
+ let hasClientMiddleware = sourceExports.includes(
2855
+ "unstable_clientMiddleware"
2856
+ );
2850
2857
  let hasHydrateFallback = sourceExports.includes("HydrateFallback");
2851
2858
  let { hasRouteChunkByExportName } = await detectRouteChunksIfEnabled(
2852
2859
  cache,
@@ -2861,7 +2868,7 @@ var reactRouterVitePlugin = () => {
2861
2868
  valid: {
2862
2869
  clientAction: !hasClientAction || hasRouteChunkByExportName.clientAction,
2863
2870
  clientLoader: !hasClientLoader || hasRouteChunkByExportName.clientLoader,
2864
- clientMiddleware: !hasClientMiddleware || hasRouteChunkByExportName.clientMiddleware,
2871
+ unstable_clientMiddleware: !hasClientMiddleware || hasRouteChunkByExportName.unstable_clientMiddleware,
2865
2872
  HydrateFallback: !hasHydrateFallback || hasRouteChunkByExportName.HydrateFallback
2866
2873
  }
2867
2874
  });
@@ -2895,10 +2902,10 @@ var reactRouterVitePlugin = () => {
2895
2902
  viteManifest,
2896
2903
  getRouteChunkModuleId(routeFile, "clientLoader")
2897
2904
  ) : void 0,
2898
- clientMiddlewareModule: hasRouteChunkByExportName.clientMiddleware ? getPublicModulePathForEntry(
2905
+ clientMiddlewareModule: hasRouteChunkByExportName.unstable_clientMiddleware ? getPublicModulePathForEntry(
2899
2906
  ctx,
2900
2907
  viteManifest,
2901
- getRouteChunkModuleId(routeFile, "clientMiddleware")
2908
+ getRouteChunkModuleId(routeFile, "unstable_clientMiddleware")
2902
2909
  ) : void 0,
2903
2910
  hydrateFallbackModule: hasRouteChunkByExportName.HydrateFallback ? getPublicModulePathForEntry(
2904
2911
  ctx,
@@ -2957,7 +2964,9 @@ var reactRouterVitePlugin = () => {
2957
2964
  let sourceExports = routeManifestExports[key];
2958
2965
  let hasClientAction = sourceExports.includes("clientAction");
2959
2966
  let hasClientLoader = sourceExports.includes("clientLoader");
2960
- let hasClientMiddleware = sourceExports.includes("clientMiddleware");
2967
+ let hasClientMiddleware = sourceExports.includes(
2968
+ "unstable_clientMiddleware"
2969
+ );
2961
2970
  let hasHydrateFallback = sourceExports.includes("HydrateFallback");
2962
2971
  let routeModulePath = combineURLs(
2963
2972
  ctx.publicPath,
@@ -2979,7 +2988,7 @@ var reactRouterVitePlugin = () => {
2979
2988
  valid: {
2980
2989
  clientAction: !hasClientAction || hasRouteChunkByExportName.clientAction,
2981
2990
  clientLoader: !hasClientLoader || hasRouteChunkByExportName.clientLoader,
2982
- clientMiddleware: !hasClientMiddleware || hasRouteChunkByExportName.clientMiddleware,
2991
+ unstable_clientMiddleware: !hasClientMiddleware || hasRouteChunkByExportName.unstable_clientMiddleware,
2983
2992
  HydrateFallback: !hasHydrateFallback || hasRouteChunkByExportName.HydrateFallback
2984
2993
  }
2985
2994
  });
@@ -3647,7 +3656,9 @@ var reactRouterVitePlugin = () => {
3647
3656
  valid: {
3648
3657
  clientAction: !exportNames.includes("clientAction"),
3649
3658
  clientLoader: !exportNames.includes("clientLoader"),
3650
- clientMiddleware: !exportNames.includes("clientMiddleware"),
3659
+ unstable_clientMiddleware: !exportNames.includes(
3660
+ "unstable_clientMiddleware"
3661
+ ),
3651
3662
  HydrateFallback: !exportNames.includes("HydrateFallback")
3652
3663
  }
3653
3664
  });
@@ -4074,13 +4085,13 @@ async function getRouteMetadata(cache, ctx, viteChildCompiler, route, readRouteF
4074
4085
  // Ensure the Vite dev server responds with a JS module
4075
4086
  clientActionModule: hasRouteChunkByExportName.clientAction ? `${getRouteChunkModuleId(moduleUrl, "clientAction")}` : void 0,
4076
4087
  clientLoaderModule: hasRouteChunkByExportName.clientLoader ? `${getRouteChunkModuleId(moduleUrl, "clientLoader")}` : void 0,
4077
- clientMiddlewareModule: hasRouteChunkByExportName.clientMiddleware ? `${getRouteChunkModuleId(moduleUrl, "clientMiddleware")}` : void 0,
4088
+ clientMiddlewareModule: hasRouteChunkByExportName.unstable_clientMiddleware ? `${getRouteChunkModuleId(moduleUrl, "unstable_clientMiddleware")}` : void 0,
4078
4089
  hydrateFallbackModule: hasRouteChunkByExportName.HydrateFallback ? `${getRouteChunkModuleId(moduleUrl, "HydrateFallback")}` : void 0,
4079
4090
  hasAction: sourceExports.includes("action"),
4080
4091
  hasClientAction: sourceExports.includes("clientAction"),
4081
4092
  hasLoader: sourceExports.includes("loader"),
4082
4093
  hasClientLoader: sourceExports.includes("clientLoader"),
4083
- hasClientMiddleware: sourceExports.includes("clientMiddleware"),
4094
+ hasClientMiddleware: sourceExports.includes("unstable_clientMiddleware"),
4084
4095
  hasErrorBoundary: sourceExports.includes("ErrorBoundary"),
4085
4096
  imports: []
4086
4097
  };
@@ -4528,7 +4539,7 @@ async function detectRouteChunksIfEnabled(cache, ctx, id, input) {
4528
4539
  hasRouteChunkByExportName: {
4529
4540
  clientAction: false,
4530
4541
  clientLoader: false,
4531
- clientMiddleware: false,
4542
+ unstable_clientMiddleware: false,
4532
4543
  HydrateFallback: false
4533
4544
  }
4534
4545
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-router/dev",
3
- "version": "0.0.0-experimental-426e5caec",
3
+ "version": "0.0.0-experimental-7ed11be",
4
4
  "description": "Dev tools and CLI for React Router",
5
5
  "homepage": "https://reactrouter.com",
6
6
  "bugs": {
@@ -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-426e5caec"
94
+ "@react-router/node": "0.0.0-experimental-7ed11be"
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/serve": "0.0.0-experimental-426e5caec",
118
- "react-router": "^0.0.0-experimental-426e5caec"
117
+ "@react-router/serve": "0.0.0-experimental-7ed11be",
118
+ "react-router": "^0.0.0-experimental-7ed11be"
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-426e5caec",
125
- "react-router": "^0.0.0-experimental-426e5caec"
124
+ "@react-router/serve": "^0.0.0-experimental-7ed11be",
125
+ "react-router": "^0.0.0-experimental-7ed11be"
126
126
  },
127
127
  "peerDependenciesMeta": {
128
128
  "@react-router/serve": {