@react-router/dev 0.0.0-experimental-653010f49 → 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 +18 -0
- package/dist/cli/index.js +2 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.js +1 -1
- package/dist/routes.js +1 -1
- package/dist/vite/cloudflare.js +2 -1
- package/dist/vite.js +42 -29
- package/package.json +10 -9
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-
|
|
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
package/dist/config.js
CHANGED
package/dist/routes.js
CHANGED
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-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-
|
|
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 =
|
|
4103
|
-
|
|
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
|
|
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(","));
|
|
@@ -4789,13 +4797,13 @@ async function getBuildManifest({
|
|
|
4789
4797
|
if (!serverBundles) {
|
|
4790
4798
|
return { routes };
|
|
4791
4799
|
}
|
|
4792
|
-
let { normalizePath
|
|
4800
|
+
let { normalizePath } = await import("vite");
|
|
4793
4801
|
let serverBuildDirectory = getServerBuildDirectory(reactRouterConfig);
|
|
4794
4802
|
let resolvedAppDirectory = path6.resolve(rootDirectory, appDirectory);
|
|
4795
4803
|
let rootRelativeRoutes = Object.fromEntries(
|
|
4796
4804
|
Object.entries(routes).map(([id, route]) => {
|
|
4797
4805
|
let filePath = path6.join(resolvedAppDirectory, route.file);
|
|
4798
|
-
let rootRelativeFilePath =
|
|
4806
|
+
let rootRelativeFilePath = normalizePath(
|
|
4799
4807
|
path6.relative(rootDirectory, filePath)
|
|
4800
4808
|
);
|
|
4801
4809
|
return [id, { ...route, file: rootRelativeFilePath }];
|
|
@@ -4837,7 +4845,7 @@ async function getBuildManifest({
|
|
|
4837
4845
|
buildManifest.routeIdToServerBundleId[route.id] = serverBundleId;
|
|
4838
4846
|
buildManifest.serverBundles[serverBundleId] ??= {
|
|
4839
4847
|
id: serverBundleId,
|
|
4840
|
-
file:
|
|
4848
|
+
file: normalizePath(
|
|
4841
4849
|
path6.join(
|
|
4842
4850
|
path6.relative(
|
|
4843
4851
|
rootDirectory,
|
|
@@ -5034,7 +5042,6 @@ async function asyncFlatten(arr) {
|
|
|
5034
5042
|
}
|
|
5035
5043
|
|
|
5036
5044
|
// vite/rsc/plugin.ts
|
|
5037
|
-
var Vite = __toESM(require("vite"));
|
|
5038
5045
|
var import_es_module_lexer3 = require("es-module-lexer");
|
|
5039
5046
|
var Path5 = __toESM(require("pathe"));
|
|
5040
5047
|
var babel2 = __toESM(require("@babel/core"));
|
|
@@ -5373,6 +5380,9 @@ function isRootRouteFile({
|
|
|
5373
5380
|
|
|
5374
5381
|
// vite/rsc/plugin.ts
|
|
5375
5382
|
function reactRouterRSCVitePlugin() {
|
|
5383
|
+
let runningWithinTheReactRouterMonoRepo = Boolean(
|
|
5384
|
+
arguments && arguments.length === 1 && typeof arguments[0] === "object" && arguments[0] && "__runningWithinTheReactRouterMonoRepo" in arguments[0] && arguments[0].__runningWithinTheReactRouterMonoRepo === true
|
|
5385
|
+
);
|
|
5376
5386
|
let configLoader;
|
|
5377
5387
|
let typegenWatcherPromise;
|
|
5378
5388
|
let viteCommand;
|
|
@@ -5445,6 +5455,7 @@ ${errors.map((x) => ` - ${x}`).join("\n")}
|
|
|
5445
5455
|
entries = await resolveRSCEntryFiles({
|
|
5446
5456
|
reactRouterConfig: config
|
|
5447
5457
|
});
|
|
5458
|
+
let viteNormalizePath = (await import("vite")).normalizePath;
|
|
5448
5459
|
return {
|
|
5449
5460
|
resolve: {
|
|
5450
5461
|
dedupe: [
|
|
@@ -5486,11 +5497,13 @@ ${errors.map((x) => ` - ${x}`).join("\n")}
|
|
|
5486
5497
|
name: "react-server-dom-webpack",
|
|
5487
5498
|
rootDirectory
|
|
5488
5499
|
}) ? ["react-server-dom-webpack"] : [],
|
|
5489
|
-
|
|
5500
|
+
...runningWithinTheReactRouterMonoRepo ? [] : [
|
|
5501
|
+
"react-router",
|
|
5502
|
+
"react-router/dom",
|
|
5503
|
+
"react-router/internal/react-server-client"
|
|
5504
|
+
],
|
|
5490
5505
|
"react-router > cookie",
|
|
5491
|
-
"react-router > set-cookie-parser"
|
|
5492
|
-
"react-router/dom",
|
|
5493
|
-
"react-router/internal/react-server-client"
|
|
5506
|
+
"react-router > set-cookie-parser"
|
|
5494
5507
|
]
|
|
5495
5508
|
},
|
|
5496
5509
|
esbuild: {
|
|
@@ -5506,7 +5519,7 @@ ${errors.map((x) => ` - ${x}`).join("\n")}
|
|
|
5506
5519
|
},
|
|
5507
5520
|
output: {
|
|
5508
5521
|
manualChunks(id) {
|
|
5509
|
-
const normalized =
|
|
5522
|
+
const normalized = viteNormalizePath(id);
|
|
5510
5523
|
if (normalized.includes("node_modules/react/") || normalized.includes("node_modules/react-dom/") || normalized.includes(
|
|
5511
5524
|
"node_modules/react-server-dom-webpack/"
|
|
5512
5525
|
) || normalized.includes("node_modules/@vitejs/plugin-rsc/")) {
|
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-3fe27584d",
|
|
4
4
|
"description": "Dev tools and CLI for React Router",
|
|
5
5
|
"homepage": "https://reactrouter.com",
|
|
6
6
|
"bugs": {
|
|
@@ -48,6 +48,7 @@
|
|
|
48
48
|
"build": {
|
|
49
49
|
"command": "tsup",
|
|
50
50
|
"files": [
|
|
51
|
+
"../../pnpm-workspace.yaml",
|
|
51
52
|
"cli/**",
|
|
52
53
|
"config/**",
|
|
53
54
|
"module-sync-enabled/**",
|
|
@@ -91,7 +92,7 @@
|
|
|
91
92
|
"tinyglobby": "^0.2.14",
|
|
92
93
|
"valibot": "^1.2.0",
|
|
93
94
|
"vite-node": "^3.2.2",
|
|
94
|
-
"@react-router/node": "0.0.0-experimental-
|
|
95
|
+
"@react-router/node": "0.0.0-experimental-3fe27584d"
|
|
95
96
|
},
|
|
96
97
|
"devDependencies": {
|
|
97
98
|
"@types/babel__core": "^7.20.5",
|
|
@@ -105,7 +106,7 @@
|
|
|
105
106
|
"@types/node": "^20.0.0",
|
|
106
107
|
"@types/npmcli__package-json": "^4.0.0",
|
|
107
108
|
"@types/semver": "^7.7.0",
|
|
108
|
-
"@vitejs/plugin-rsc": "~0.5.
|
|
109
|
+
"@vitejs/plugin-rsc": "~0.5.7",
|
|
109
110
|
"esbuild-register": "^3.6.0",
|
|
110
111
|
"execa": "5.1.1",
|
|
111
112
|
"express": "^4.19.2",
|
|
@@ -115,17 +116,17 @@
|
|
|
115
116
|
"vite": "^6.3.0",
|
|
116
117
|
"wireit": "0.14.9",
|
|
117
118
|
"wrangler": "^4.23.0",
|
|
118
|
-
"react-router": "^0.0.0-experimental-
|
|
119
|
-
"@react-router/serve": "0.0.0-experimental-
|
|
119
|
+
"react-router": "^0.0.0-experimental-3fe27584d",
|
|
120
|
+
"@react-router/serve": "0.0.0-experimental-3fe27584d"
|
|
120
121
|
},
|
|
121
122
|
"peerDependencies": {
|
|
122
|
-
"@vitejs/plugin-rsc": "~0.5.
|
|
123
|
-
"react-server-dom-webpack": "
|
|
123
|
+
"@vitejs/plugin-rsc": "~0.5.7",
|
|
124
|
+
"react-server-dom-webpack": "^19.2.3",
|
|
124
125
|
"typescript": "^5.1.0",
|
|
125
126
|
"vite": "^5.1.0 || ^6.0.0 || ^7.0.0",
|
|
126
127
|
"wrangler": "^3.28.2 || ^4.0.0",
|
|
127
|
-
"@react-router/serve": "^0.0.0-experimental-
|
|
128
|
-
"react-router": "^0.0.0-experimental-
|
|
128
|
+
"@react-router/serve": "^0.0.0-experimental-3fe27584d",
|
|
129
|
+
"react-router": "^0.0.0-experimental-3fe27584d"
|
|
129
130
|
},
|
|
130
131
|
"peerDependenciesMeta": {
|
|
131
132
|
"@vitejs/plugin-rsc": {
|