@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 +0 -10
- package/dist/cli/index.js +10 -10
- 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 +31 -111
- package/dist/routes.js +1 -1
- package/dist/vite/cloudflare.d.ts +2 -2
- package/dist/vite/cloudflare.js +2 -2
- package/dist/vite.js +32 -21
- package/package.json +6 -6
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-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
1122
|
-
export type
|
|
1121
|
+
// unstable_middleware
|
|
1122
|
+
export type unstable_MiddlewareFunction = Annotations["unstable_MiddlewareFunction"];
|
|
1123
1123
|
|
|
1124
|
-
//
|
|
1125
|
-
export type
|
|
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
|
-
"
|
|
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
|
-
|
|
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
|
-
"
|
|
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:
|
|
19
|
+
// loadContext: unstable_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
package/dist/internal.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @react-router/dev v0.0.0-experimental-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
1027
|
-
export type
|
|
1026
|
+
// unstable_middleware
|
|
1027
|
+
export type unstable_MiddlewareFunction = Annotations["unstable_MiddlewareFunction"];
|
|
1028
1028
|
|
|
1029
|
-
//
|
|
1030
|
-
export type
|
|
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
|
-
"
|
|
1357
|
-
"headers"
|
|
1354
|
+
"unstable_middleware",
|
|
1355
|
+
"headers",
|
|
1356
|
+
"ServerComponent"
|
|
1358
1357
|
];
|
|
1359
|
-
var
|
|
1360
|
-
|
|
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
|
-
"
|
|
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
|
-
...
|
|
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 (
|
|
1427
|
-
return
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
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
|
|
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 (
|
|
1462
|
-
|
|
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
|
|
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
|
|
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, ...
|
|
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
|
-
|
|
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
|
-
|
|
1843
|
-
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import { UNSAFE_MiddlewareEnabled,
|
|
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<
|
|
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)
|
package/dist/vite/cloudflare.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @react-router/dev v0.0.0-experimental-
|
|
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
|
-
|
|
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-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
1109
|
-
export type
|
|
1108
|
+
// unstable_middleware
|
|
1109
|
+
export type unstable_MiddlewareFunction = Annotations["unstable_MiddlewareFunction"];
|
|
1110
1110
|
|
|
1111
|
-
//
|
|
1112
|
-
export type
|
|
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
|
-
"
|
|
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
|
-
|
|
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 = [
|
|
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
|
-
"
|
|
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(
|
|
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
|
-
|
|
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.
|
|
2905
|
+
clientMiddlewareModule: hasRouteChunkByExportName.unstable_clientMiddleware ? getPublicModulePathForEntry(
|
|
2899
2906
|
ctx,
|
|
2900
2907
|
viteManifest,
|
|
2901
|
-
getRouteChunkModuleId(routeFile, "
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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("
|
|
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
|
-
|
|
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-
|
|
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-
|
|
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-
|
|
118
|
-
"react-router": "^0.0.0-experimental-
|
|
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-
|
|
125
|
-
"react-router": "^0.0.0-experimental-
|
|
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": {
|