react-router 7.15.0 → 7.16.0
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 +67 -10
- package/dist/development/{browser-wDl1FZEL.d.ts → browser-D3uq9sI1.d.ts} +2 -2
- package/dist/development/{browser-CRsXgNrY.d.mts → browser-nIQ4Nsyi.d.mts} +2 -2
- package/dist/development/{chunk-Z5YQYACE.js → chunk-IBI7OMNB.js} +107 -103
- package/dist/development/{chunk-5KNZJZUH.mjs → chunk-QUQL4437.mjs} +240 -122
- package/dist/development/{chunk-RMD3H4O3.mjs → chunk-S54KXAEJ.mjs} +26 -25
- package/dist/development/{chunk-AM3XM4LS.js → chunk-SRID2YZ2.js} +260 -146
- package/dist/{production/chunk-7YXKJMLN.js → development/chunk-XEJDWL2B.js} +7 -7
- package/dist/{production/context-BQs41HrG.d.mts → development/context-m8rizgnE.d.mts} +8 -2
- package/dist/development/{data-BqZ2x964.d.ts → data-D4xhSy90.d.ts} +1 -1
- package/dist/{production/data-BVUf681J.d.mts → development/data-U8FS-wNn.d.mts} +1 -1
- package/dist/development/dom-export.d.mts +3 -3
- package/dist/development/dom-export.d.ts +3 -3
- package/dist/development/dom-export.js +50 -52
- package/dist/development/dom-export.mjs +25 -27
- package/dist/{production/index-react-server-client-CSv-KZBk.d.ts → development/index-react-server-client-BLiUx67a.d.ts} +12 -4
- package/dist/{production/index-react-server-client-Ck_yZ1qL.d.mts → development/index-react-server-client-CdKROblb.d.mts} +12 -4
- package/dist/development/index-react-server-client.d.mts +3 -3
- package/dist/development/index-react-server-client.d.ts +3 -3
- package/dist/development/index-react-server-client.js +4 -4
- package/dist/development/index-react-server-client.mjs +2 -2
- package/dist/development/index-react-server.d.mts +7 -1
- package/dist/development/index-react-server.d.ts +7 -1
- package/dist/development/index-react-server.js +4 -4
- package/dist/development/index-react-server.mjs +4 -4
- package/dist/development/index.d.mts +100 -12
- package/dist/development/index.d.ts +100 -12
- package/dist/development/index.js +107 -104
- package/dist/development/index.mjs +5 -3
- package/dist/{production/instrumentation-DlJ2QV7d.d.ts → development/instrumentation-1q4YhLGP.d.ts} +8 -2
- package/dist/development/lib/types/internal.d.mts +2 -2
- package/dist/development/lib/types/internal.d.ts +2 -2
- package/dist/development/lib/types/internal.js +1 -1
- package/dist/development/lib/types/internal.mjs +1 -1
- package/dist/development/{register-Bsscfj79.d.ts → register-CNAx3TXj.d.ts} +1 -1
- package/dist/development/{register-Df8okEea.d.mts → register-CqK96Zfk.d.mts} +1 -1
- package/dist/production/{browser-wDl1FZEL.d.ts → browser-D3uq9sI1.d.ts} +2 -2
- package/dist/production/{browser-CRsXgNrY.d.mts → browser-nIQ4Nsyi.d.mts} +2 -2
- package/dist/{development/chunk-2D5H3HU3.js → production/chunk-EAQNHM3N.js} +7 -7
- package/dist/production/{chunk-23ZOHYE5.mjs → chunk-NALGHHKE.mjs} +26 -25
- package/dist/production/{chunk-GM3PW4GX.mjs → chunk-Q65P7S7Y.mjs} +240 -122
- package/dist/production/{chunk-YBQJ3ABE.js → chunk-SKEDDLRM.js} +107 -103
- package/dist/production/{chunk-LCJTIOKZ.js → chunk-Y7DNFQZP.js} +260 -146
- package/dist/{development/context-BQs41HrG.d.mts → production/context-m8rizgnE.d.mts} +8 -2
- package/dist/production/{data-BqZ2x964.d.ts → data-D4xhSy90.d.ts} +1 -1
- package/dist/{development/data-BVUf681J.d.mts → production/data-U8FS-wNn.d.mts} +1 -1
- package/dist/production/dom-export.d.mts +3 -3
- package/dist/production/dom-export.d.ts +3 -3
- package/dist/production/dom-export.js +50 -52
- package/dist/production/dom-export.mjs +25 -27
- package/dist/{development/index-react-server-client-CSv-KZBk.d.ts → production/index-react-server-client-BLiUx67a.d.ts} +12 -4
- package/dist/{development/index-react-server-client-Ck_yZ1qL.d.mts → production/index-react-server-client-CdKROblb.d.mts} +12 -4
- package/dist/production/index-react-server-client.d.mts +3 -3
- package/dist/production/index-react-server-client.d.ts +3 -3
- package/dist/production/index-react-server-client.js +4 -4
- package/dist/production/index-react-server-client.mjs +2 -2
- package/dist/production/index-react-server.d.mts +7 -1
- package/dist/production/index-react-server.d.ts +7 -1
- package/dist/production/index-react-server.js +4 -4
- package/dist/production/index-react-server.mjs +4 -4
- package/dist/production/index.d.mts +100 -12
- package/dist/production/index.d.ts +100 -12
- package/dist/production/index.js +107 -104
- package/dist/production/index.mjs +5 -3
- package/dist/{development/instrumentation-DlJ2QV7d.d.ts → production/instrumentation-1q4YhLGP.d.ts} +8 -2
- package/dist/production/lib/types/internal.d.mts +2 -2
- package/dist/production/lib/types/internal.d.ts +2 -2
- package/dist/production/lib/types/internal.js +1 -1
- package/dist/production/lib/types/internal.mjs +1 -1
- package/dist/production/{register-Bsscfj79.d.ts → register-CNAx3TXj.d.ts} +1 -1
- package/dist/production/{register-Df8okEea.d.mts → register-CqK96Zfk.d.mts} +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* react-router v7.
|
|
2
|
+
* react-router v7.16.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -37,6 +37,7 @@ import {
|
|
|
37
37
|
getStaticContextFromError,
|
|
38
38
|
instrumentHandler,
|
|
39
39
|
isDataWithResponseInit,
|
|
40
|
+
isMutationMethod,
|
|
40
41
|
isRedirectResponse,
|
|
41
42
|
isRedirectStatusCode,
|
|
42
43
|
isResponse,
|
|
@@ -53,7 +54,7 @@ import {
|
|
|
53
54
|
withComponentProps,
|
|
54
55
|
withErrorBoundaryProps,
|
|
55
56
|
withHydrateFallbackProps
|
|
56
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-QUQL4437.mjs";
|
|
57
58
|
|
|
58
59
|
// lib/dom/ssr/server.tsx
|
|
59
60
|
import * as React from "react";
|
|
@@ -143,7 +144,7 @@ function createRoutesStub(routes, _context) {
|
|
|
143
144
|
future: {
|
|
144
145
|
v8_passThroughRequests: future?.v8_passThroughRequests === true,
|
|
145
146
|
v8_middleware: future?.v8_middleware === true,
|
|
146
|
-
|
|
147
|
+
v8_trailingSlashAwareDataRequests: future?.v8_trailingSlashAwareDataRequests === true
|
|
147
148
|
},
|
|
148
149
|
manifest: {
|
|
149
150
|
routes: {},
|
|
@@ -266,7 +267,7 @@ var unsign = async (cookie, secret) => {
|
|
|
266
267
|
let signature = byteStringToUint8Array(atob(hash));
|
|
267
268
|
let valid = await crypto.subtle.verify("HMAC", key, signature, data2);
|
|
268
269
|
return valid ? value : false;
|
|
269
|
-
} catch (
|
|
270
|
+
} catch (e) {
|
|
270
271
|
return false;
|
|
271
272
|
}
|
|
272
273
|
};
|
|
@@ -358,7 +359,7 @@ function encodeData(value) {
|
|
|
358
359
|
function decodeData(value) {
|
|
359
360
|
try {
|
|
360
361
|
return JSON.parse(decodeURIComponent(myEscape(atob(value))));
|
|
361
|
-
} catch (
|
|
362
|
+
} catch (e) {
|
|
362
363
|
return {};
|
|
363
364
|
}
|
|
364
365
|
}
|
|
@@ -855,7 +856,7 @@ function getNormalizedPath(request, basename, future) {
|
|
|
855
856
|
basename = basename || "/";
|
|
856
857
|
let url = new URL(request.url);
|
|
857
858
|
let pathname = url.pathname;
|
|
858
|
-
if (future?.
|
|
859
|
+
if (future?.v8_trailingSlashAwareDataRequests) {
|
|
859
860
|
if (pathname.endsWith("/_.data")) {
|
|
860
861
|
pathname = pathname.replace(/_\.data$/, "");
|
|
861
862
|
} else {
|
|
@@ -1251,7 +1252,7 @@ function derive(build, mode) {
|
|
|
1251
1252
|
build.routeDiscovery.manifestPath,
|
|
1252
1253
|
build.basename
|
|
1253
1254
|
);
|
|
1254
|
-
if (requestUrl.pathname === manifestUrl) {
|
|
1255
|
+
if (build.routeDiscovery.mode === "lazy" && requestUrl.pathname === manifestUrl) {
|
|
1255
1256
|
try {
|
|
1256
1257
|
let res = await handleManifestRequest(
|
|
1257
1258
|
build,
|
|
@@ -1443,7 +1444,7 @@ async function handleManifestRequest(build, dataRoutes, branches, url) {
|
|
|
1443
1444
|
async function handleSingleFetchRequest(serverMode, build, staticHandler, request, normalizedPath, loadContext, handleError) {
|
|
1444
1445
|
let handlerUrl = new URL(request.url);
|
|
1445
1446
|
handlerUrl.pathname = normalizedPath;
|
|
1446
|
-
let response = request.method
|
|
1447
|
+
let response = isMutationMethod(request.method) ? await singleFetchAction(
|
|
1447
1448
|
build,
|
|
1448
1449
|
serverMode,
|
|
1449
1450
|
staticHandler,
|
|
@@ -1464,7 +1465,7 @@ async function handleSingleFetchRequest(serverMode, build, staticHandler, reques
|
|
|
1464
1465
|
}
|
|
1465
1466
|
async function handleDocumentRequest(serverMode, build, staticHandler, request, loadContext, handleError, isSpaMode, criticalCss) {
|
|
1466
1467
|
try {
|
|
1467
|
-
if (request.method
|
|
1468
|
+
if (isMutationMethod(request.method)) {
|
|
1468
1469
|
try {
|
|
1469
1470
|
throwIfPotentialCSRFAttack(
|
|
1470
1471
|
request.headers,
|
|
@@ -1927,7 +1928,7 @@ async function writeRSCStream(rscStream, controller) {
|
|
|
1927
1928
|
JSON.stringify(decoder.decode(chunk, { stream: true })),
|
|
1928
1929
|
controller
|
|
1929
1930
|
);
|
|
1930
|
-
} catch (
|
|
1931
|
+
} catch (e) {
|
|
1931
1932
|
let base64 = JSON.stringify(btoa(String.fromCodePoint(...chunk)));
|
|
1932
1933
|
writeChunk(
|
|
1933
1934
|
`Uint8Array.from(atob(${base64}), m => m.codePointAt(0))`,
|
|
@@ -2253,9 +2254,9 @@ async function routeRSCServerRequest({
|
|
|
2253
2254
|
statusText,
|
|
2254
2255
|
headers
|
|
2255
2256
|
});
|
|
2256
|
-
} catch (
|
|
2257
|
-
if (
|
|
2258
|
-
return
|
|
2257
|
+
} catch (error) {
|
|
2258
|
+
if (error instanceof Response) {
|
|
2259
|
+
return error;
|
|
2259
2260
|
}
|
|
2260
2261
|
if (renderRedirect) {
|
|
2261
2262
|
return new Response(`Redirect: ${renderRedirect.location}`, {
|
|
@@ -2266,8 +2267,8 @@ async function routeRSCServerRequest({
|
|
|
2266
2267
|
});
|
|
2267
2268
|
}
|
|
2268
2269
|
try {
|
|
2269
|
-
|
|
2270
|
-
let [status, statusText] = isRouteErrorResponse(
|
|
2270
|
+
let normalizedError = renderError ?? error;
|
|
2271
|
+
let [status, statusText] = isRouteErrorResponse(normalizedError) ? [normalizedError.status, normalizedError.statusText] : [500, ""];
|
|
2271
2272
|
let retryRedirect;
|
|
2272
2273
|
let reactHeaders = new Headers();
|
|
2273
2274
|
const html = await renderHTML(
|
|
@@ -2279,7 +2280,7 @@ async function routeRSCServerRequest({
|
|
|
2279
2280
|
(payload) => Object.assign(payload, {
|
|
2280
2281
|
status,
|
|
2281
2282
|
errors: deepestRenderedBoundaryId ? {
|
|
2282
|
-
[deepestRenderedBoundaryId]:
|
|
2283
|
+
[deepestRenderedBoundaryId]: normalizedError
|
|
2283
2284
|
} : {}
|
|
2284
2285
|
})
|
|
2285
2286
|
);
|
|
@@ -2302,19 +2303,19 @@ async function routeRSCServerRequest({
|
|
|
2302
2303
|
});
|
|
2303
2304
|
},
|
|
2304
2305
|
{
|
|
2305
|
-
onError(
|
|
2306
|
-
if (typeof
|
|
2307
|
-
retryRedirect = decodeRedirectErrorDigest(
|
|
2306
|
+
onError(error2) {
|
|
2307
|
+
if (typeof error2 === "object" && error2 && "digest" in error2 && typeof error2.digest === "string") {
|
|
2308
|
+
retryRedirect = decodeRedirectErrorDigest(error2.digest);
|
|
2308
2309
|
if (retryRedirect) {
|
|
2309
|
-
return
|
|
2310
|
+
return error2.digest;
|
|
2310
2311
|
}
|
|
2311
2312
|
let routeErrorResponse = decodeRouteErrorResponseDigest(
|
|
2312
|
-
|
|
2313
|
+
error2.digest
|
|
2313
2314
|
);
|
|
2314
2315
|
if (routeErrorResponse) {
|
|
2315
2316
|
status = routeErrorResponse.status;
|
|
2316
2317
|
statusText = routeErrorResponse.statusText;
|
|
2317
|
-
return
|
|
2318
|
+
return error2.digest;
|
|
2318
2319
|
}
|
|
2319
2320
|
}
|
|
2320
2321
|
},
|
|
@@ -2364,9 +2365,9 @@ async function routeRSCServerRequest({
|
|
|
2364
2365
|
statusText,
|
|
2365
2366
|
headers
|
|
2366
2367
|
});
|
|
2367
|
-
} catch {
|
|
2368
|
+
} catch (error2) {
|
|
2368
2369
|
}
|
|
2369
|
-
throw
|
|
2370
|
+
throw error;
|
|
2370
2371
|
}
|
|
2371
2372
|
}
|
|
2372
2373
|
function RSCStaticRouter({ getPayload }) {
|
|
@@ -2450,7 +2451,7 @@ function RSCStaticRouter({ getPayload }) {
|
|
|
2450
2451
|
// These flags have no runtime impact so can always be false. If we add
|
|
2451
2452
|
// flags that drive runtime behavior they'll need to be proxied through.
|
|
2452
2453
|
v8_middleware: false,
|
|
2453
|
-
|
|
2454
|
+
v8_trailingSlashAwareDataRequests: true,
|
|
2454
2455
|
// always on for RSC
|
|
2455
2456
|
v8_passThroughRequests: true
|
|
2456
2457
|
// always on for RSC
|