react-router 7.17.0 → 7.18.1
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 +19 -1
- package/dist/development/{browser-D3uq9sI1.d.ts → browser-B2PdsXXH.d.ts} +2 -2
- package/dist/development/{browser-CGcs-0pD.d.mts → browser-DBmQ1yAR.d.mts} +2 -2
- package/dist/development/{chunk-PBLBZ3QU.js → chunk-EVX4J2F5.js} +7 -7
- package/dist/development/{chunk-PULC7NLK.js → chunk-G5KIBF6U.js} +111 -108
- package/dist/{production/chunk-5TQZEVD5.mjs → development/chunk-IJF3QNGC.mjs} +45 -113
- package/dist/development/{chunk-6CSD65Y2.mjs → chunk-KS7C4IRE.mjs} +115 -38
- package/dist/development/{chunk-KFNXW4AL.js → chunk-SA4DP3SF.js} +113 -35
- package/dist/{production/context-CmHpk1Ws.d.mts → development/context-CeD5LmaF.d.mts} +12 -4
- package/dist/{production/data-D4xhSy90.d.ts → development/data-CjO11-hU.d.ts} +9 -1
- package/dist/development/{data-U8FS-wNn.d.mts → data-DEjBmEfD.d.mts} +9 -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 +46 -44
- package/dist/development/dom-export.mjs +23 -21
- package/dist/development/{index-react-server-client-CwU9bE5R.d.ts → index-react-server-client-3ykjivgQ.d.ts} +29 -7
- package/dist/development/{index-react-server-client-DPrDrCew.d.mts → index-react-server-client-CACgcj2J.d.mts} +19 -5
- 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 +9 -1
- package/dist/development/index-react-server.d.ts +9 -1
- package/dist/development/index-react-server.js +144 -121
- package/dist/development/index-react-server.mjs +143 -120
- package/dist/development/index.d.mts +15 -14
- package/dist/development/index.d.ts +15 -14
- package/dist/development/index.js +137 -205
- package/dist/development/index.mjs +3 -5
- package/dist/{production/instrumentation-1q4YhLGP.d.ts → development/instrumentation-Dkmpzd13.d.ts} +2 -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-CqK96Zfk.d.mts → register-CmkRspdl.d.mts} +1 -1
- package/dist/development/{register-CNAx3TXj.d.ts → register-roq_0qYo.d.ts} +1 -1
- package/dist/production/{browser-D3uq9sI1.d.ts → browser-B2PdsXXH.d.ts} +2 -2
- package/dist/production/{browser-CGcs-0pD.d.mts → browser-DBmQ1yAR.d.mts} +2 -2
- package/dist/{development/chunk-ASILSGTR.mjs → production/chunk-3MA7PLKB.mjs} +45 -113
- package/dist/production/{chunk-OSYEOCBT.mjs → chunk-3WDNQUW5.mjs} +115 -38
- package/dist/production/{chunk-CTIXC7EV.js → chunk-GOIER6ML.js} +7 -7
- package/dist/production/{chunk-RTRY3JFT.js → chunk-IEF7VMTA.js} +113 -35
- package/dist/production/{chunk-EN242BO4.js → chunk-WICLSFKL.js} +111 -108
- package/dist/{development/context-CmHpk1Ws.d.mts → production/context-CeD5LmaF.d.mts} +12 -4
- package/dist/{development/data-D4xhSy90.d.ts → production/data-CjO11-hU.d.ts} +9 -1
- package/dist/production/{data-U8FS-wNn.d.mts → data-DEjBmEfD.d.mts} +9 -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 +46 -44
- package/dist/production/dom-export.mjs +23 -21
- package/dist/production/{index-react-server-client-CwU9bE5R.d.ts → index-react-server-client-3ykjivgQ.d.ts} +29 -7
- package/dist/production/{index-react-server-client-DPrDrCew.d.mts → index-react-server-client-CACgcj2J.d.mts} +19 -5
- 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 +9 -1
- package/dist/production/index-react-server.d.ts +9 -1
- package/dist/production/index-react-server.js +144 -121
- package/dist/production/index-react-server.mjs +143 -120
- package/dist/production/index.d.mts +15 -14
- package/dist/production/index.d.ts +15 -14
- package/dist/production/index.js +137 -205
- package/dist/production/index.mjs +3 -5
- package/dist/{development/instrumentation-1q4YhLGP.d.ts → production/instrumentation-Dkmpzd13.d.ts} +2 -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-CqK96Zfk.d.mts → register-CmkRspdl.d.mts} +1 -1
- package/dist/production/{register-CNAx3TXj.d.ts → register-roq_0qYo.d.ts} +1 -1
- package/docs/explanation/type-safety.md +1 -1
- package/docs/how-to/headers.md +2 -1
- package/docs/how-to/security.md +8 -6
- package/docs/how-to/status.md +1 -1
- package/docs/start/data/installation.md +4 -0
- package/docs/start/framework/deploying.md +4 -0
- package/docs/upgrading/future.md +222 -12
- package/docs/upgrading/remix.md +2 -2
- package/package.json +1 -1
package/dist/production/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }/**
|
|
2
|
-
* react-router v7.
|
|
2
|
+
* react-router v7.18.1
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
var
|
|
17
|
+
var _chunkGOIER6MLjs = require('./chunk-GOIER6ML.js');
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
@@ -40,7 +40,7 @@ var _chunkCTIXC7EVjs = require('./chunk-CTIXC7EV.js');
|
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
|
|
43
|
-
var
|
|
43
|
+
var _chunkWICLSFKLjs = require('./chunk-WICLSFKL.js');
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
|
|
@@ -153,7 +153,8 @@ var _chunkEN242BO4js = require('./chunk-EN242BO4.js');
|
|
|
153
153
|
|
|
154
154
|
|
|
155
155
|
|
|
156
|
-
|
|
156
|
+
|
|
157
|
+
var _chunkIEF7VMTAjs = require('./chunk-IEF7VMTA.js');
|
|
157
158
|
|
|
158
159
|
// lib/dom/ssr/server.tsx
|
|
159
160
|
var _react = require('react'); var React = _interopRequireWildcard(_react); var React2 = _interopRequireWildcard(_react); var React3 = _interopRequireWildcard(_react);
|
|
@@ -166,7 +167,7 @@ function ServerRouter({
|
|
|
166
167
|
url = new URL(url);
|
|
167
168
|
}
|
|
168
169
|
let { manifest, routeModules, criticalCss, serverHandoffString } = context;
|
|
169
|
-
let routes =
|
|
170
|
+
let routes = _chunkIEF7VMTAjs.createServerRoutes.call(void 0,
|
|
170
171
|
manifest.routes,
|
|
171
172
|
routeModules,
|
|
172
173
|
context.future,
|
|
@@ -179,7 +180,7 @@ function ServerRouter({
|
|
|
179
180
|
let routeId = match.route.id;
|
|
180
181
|
let route = routeModules[routeId];
|
|
181
182
|
let manifestRoute = context.manifest.routes[routeId];
|
|
182
|
-
if (route && manifestRoute &&
|
|
183
|
+
if (route && manifestRoute && _chunkIEF7VMTAjs.shouldHydrateRouteLoader.call(void 0,
|
|
183
184
|
routeId,
|
|
184
185
|
route.clientLoader,
|
|
185
186
|
manifestRoute.hasLoader,
|
|
@@ -188,11 +189,11 @@ function ServerRouter({
|
|
|
188
189
|
delete context.staticHandlerContext.loaderData[routeId];
|
|
189
190
|
}
|
|
190
191
|
}
|
|
191
|
-
let router =
|
|
192
|
+
let router = _chunkWICLSFKLjs.createStaticRouter.call(void 0, routes, context.staticHandlerContext, {
|
|
192
193
|
branches: context.branches
|
|
193
194
|
});
|
|
194
195
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
|
195
|
-
|
|
196
|
+
_chunkIEF7VMTAjs.FrameworkContext.Provider,
|
|
196
197
|
{
|
|
197
198
|
value: {
|
|
198
199
|
manifest,
|
|
@@ -203,12 +204,13 @@ function ServerRouter({
|
|
|
203
204
|
ssr: context.ssr,
|
|
204
205
|
isSpaMode: context.isSpaMode,
|
|
205
206
|
routeDiscovery: context.routeDiscovery,
|
|
207
|
+
nonce,
|
|
206
208
|
serializeError: context.serializeError,
|
|
207
209
|
renderMeta: context.renderMeta
|
|
208
210
|
}
|
|
209
211
|
},
|
|
210
|
-
/* @__PURE__ */ React.createElement(
|
|
211
|
-
|
|
212
|
+
/* @__PURE__ */ React.createElement(_chunkIEF7VMTAjs.RemixErrorBoundary, { location: router.state.location }, /* @__PURE__ */ React.createElement(
|
|
213
|
+
_chunkWICLSFKLjs.StaticRouterProvider,
|
|
212
214
|
{
|
|
213
215
|
router,
|
|
214
216
|
context: context.staticHandlerContext,
|
|
@@ -216,7 +218,7 @@ function ServerRouter({
|
|
|
216
218
|
}
|
|
217
219
|
))
|
|
218
220
|
), context.serverHandoffStream ? /* @__PURE__ */ React.createElement(React.Suspense, null, /* @__PURE__ */ React.createElement(
|
|
219
|
-
|
|
221
|
+
_chunkIEF7VMTAjs.StreamTransfer,
|
|
220
222
|
{
|
|
221
223
|
context,
|
|
222
224
|
identifier: 0,
|
|
@@ -259,18 +261,18 @@ function createRoutesStub(routes, _context) {
|
|
|
259
261
|
let patched = processRoutes(
|
|
260
262
|
// @ts-expect-error `StubRouteObject` is stricter about `loader`/`action`
|
|
261
263
|
// types compared to `RouteObject`
|
|
262
|
-
|
|
263
|
-
_context !== void 0 ? _context : _optionalChain([future, 'optionalAccess', _5 => _5.v8_middleware]) ? new (0,
|
|
264
|
+
_chunkIEF7VMTAjs.convertRoutesToDataRoutes.call(void 0, routes, (r) => r),
|
|
265
|
+
_context !== void 0 ? _context : _optionalChain([future, 'optionalAccess', _5 => _5.v8_middleware]) ? new (0, _chunkIEF7VMTAjs.RouterContextProvider)() : {},
|
|
264
266
|
frameworkContextRef.current.manifest,
|
|
265
267
|
frameworkContextRef.current.routeModules
|
|
266
268
|
);
|
|
267
|
-
routerRef.current =
|
|
269
|
+
routerRef.current = _chunkIEF7VMTAjs.createMemoryRouter.call(void 0, patched, {
|
|
268
270
|
initialEntries,
|
|
269
271
|
initialIndex,
|
|
270
272
|
hydrationData
|
|
271
273
|
});
|
|
272
274
|
}
|
|
273
|
-
return /* @__PURE__ */ React2.createElement(
|
|
275
|
+
return /* @__PURE__ */ React2.createElement(_chunkIEF7VMTAjs.FrameworkContext.Provider, { value: frameworkContextRef.current }, /* @__PURE__ */ React2.createElement(_chunkIEF7VMTAjs.RouterProvider, { router: routerRef.current }));
|
|
274
276
|
};
|
|
275
277
|
}
|
|
276
278
|
function processRoutes(routes, context, manifest, routeModules, parentId) {
|
|
@@ -284,9 +286,9 @@ function processRoutes(routes, context, manifest, routeModules, parentId) {
|
|
|
284
286
|
id: route.id,
|
|
285
287
|
path: route.path,
|
|
286
288
|
index: route.index,
|
|
287
|
-
Component: route.Component ?
|
|
288
|
-
HydrateFallback: route.HydrateFallback ?
|
|
289
|
-
ErrorBoundary: route.ErrorBoundary ?
|
|
289
|
+
Component: route.Component ? _chunkIEF7VMTAjs.withComponentProps.call(void 0, route.Component) : void 0,
|
|
290
|
+
HydrateFallback: route.HydrateFallback ? _chunkIEF7VMTAjs.withHydrateFallbackProps.call(void 0, route.HydrateFallback) : void 0,
|
|
291
|
+
ErrorBoundary: route.ErrorBoundary ? _chunkIEF7VMTAjs.withErrorBoundaryProps.call(void 0, route.ErrorBoundary) : void 0,
|
|
290
292
|
action: route.action ? (args) => route.action({ ...args, context }) : void 0,
|
|
291
293
|
loader: route.loader ? (args) => route.loader({ ...args, context }) : void 0,
|
|
292
294
|
middleware: route.middleware ? route.middleware.map(
|
|
@@ -321,7 +323,7 @@ function processRoutes(routes, context, manifest, routeModules, parentId) {
|
|
|
321
323
|
};
|
|
322
324
|
manifest.routes[newRoute.id] = entryRoute;
|
|
323
325
|
routeModules[route.id] = {
|
|
324
|
-
default: newRoute.Component ||
|
|
326
|
+
default: newRoute.Component || _chunkIEF7VMTAjs.Outlet,
|
|
325
327
|
ErrorBoundary: newRoute.ErrorBoundary || void 0,
|
|
326
328
|
handle: route.handle,
|
|
327
329
|
links: route.links,
|
|
@@ -516,7 +518,7 @@ function myUnescape(value) {
|
|
|
516
518
|
return result;
|
|
517
519
|
}
|
|
518
520
|
function warnOnceAboutExpiresCookie(name, expires) {
|
|
519
|
-
|
|
521
|
+
_chunkIEF7VMTAjs.warnOnce.call(void 0,
|
|
520
522
|
!expires,
|
|
521
523
|
`The "${name}" cookie has an "expires" property set. This will cause the expires value to not be updated when the session is committed. Instead, you should set the expires value when serializing the cookie. You can use \`commitSession(session, { expires })\` if using a session storage object, or \`cookie.serialize("value", { expires })\` if you're using the cookie directly.`
|
|
522
524
|
);
|
|
@@ -565,33 +567,6 @@ function serializeError(error, serverMode) {
|
|
|
565
567
|
stack: sanitized.stack
|
|
566
568
|
};
|
|
567
569
|
}
|
|
568
|
-
function serializeErrors(errors, serverMode) {
|
|
569
|
-
if (!errors) return null;
|
|
570
|
-
let entries = Object.entries(errors);
|
|
571
|
-
let serialized = {};
|
|
572
|
-
for (let [key, val] of entries) {
|
|
573
|
-
if (_chunkRTRY3JFTjs.isRouteErrorResponse.call(void 0, val)) {
|
|
574
|
-
serialized[key] = { ...val, __type: "RouteErrorResponse" };
|
|
575
|
-
} else if (val instanceof Error) {
|
|
576
|
-
let sanitized = sanitizeError(val, serverMode);
|
|
577
|
-
serialized[key] = {
|
|
578
|
-
message: sanitized.message,
|
|
579
|
-
stack: sanitized.stack,
|
|
580
|
-
__type: "Error",
|
|
581
|
-
// If this is a subclass (i.e., ReferenceError), send up the type so we
|
|
582
|
-
// can re-create the same type during hydration. This will only apply
|
|
583
|
-
// in dev mode since all production errors are sanitized to normal
|
|
584
|
-
// Error instances
|
|
585
|
-
...sanitized.name !== "Error" ? {
|
|
586
|
-
__subType: sanitized.name
|
|
587
|
-
} : {}
|
|
588
|
-
};
|
|
589
|
-
} else {
|
|
590
|
-
serialized[key] = val;
|
|
591
|
-
}
|
|
592
|
-
}
|
|
593
|
-
return serialized;
|
|
594
|
-
}
|
|
595
570
|
|
|
596
571
|
// lib/server-runtime/invariant.ts
|
|
597
572
|
function invariant2(value, message) {
|
|
@@ -605,7 +580,7 @@ function invariant2(value, message) {
|
|
|
605
580
|
|
|
606
581
|
// lib/server-runtime/routeMatching.ts
|
|
607
582
|
function matchServerRoutes(manifest, dataRoutes, branches, pathname, basename) {
|
|
608
|
-
let matches =
|
|
583
|
+
let matches = _chunkIEF7VMTAjs.matchRoutesImpl.call(void 0,
|
|
609
584
|
dataRoutes,
|
|
610
585
|
pathname,
|
|
611
586
|
_nullishCoalesce(basename, () => ( "/")),
|
|
@@ -636,7 +611,7 @@ async function callRouteHandler(handler, args, future) {
|
|
|
636
611
|
context: args.context,
|
|
637
612
|
pattern: args.pattern
|
|
638
613
|
});
|
|
639
|
-
if (
|
|
614
|
+
if (_chunkIEF7VMTAjs.isDataWithResponseInit.call(void 0, result) && result.init && result.init.status && _chunkIEF7VMTAjs.isRedirectStatusCode.call(void 0, result.init.status)) {
|
|
640
615
|
throw new Response(null, result.init);
|
|
641
616
|
}
|
|
642
617
|
return result;
|
|
@@ -739,17 +714,17 @@ function createStaticHandlerDataRoutes(manifest, future, parentId = "", routesBy
|
|
|
739
714
|
controller.close();
|
|
740
715
|
}
|
|
741
716
|
});
|
|
742
|
-
let decoded = await
|
|
717
|
+
let decoded = await _chunkIEF7VMTAjs.decodeViaTurboStream.call(void 0, stream, global);
|
|
743
718
|
let data2 = decoded.value;
|
|
744
|
-
if (data2 &&
|
|
745
|
-
let result = data2[
|
|
719
|
+
if (data2 && _chunkIEF7VMTAjs.SingleFetchRedirectSymbol in data2) {
|
|
720
|
+
let result = data2[_chunkIEF7VMTAjs.SingleFetchRedirectSymbol];
|
|
746
721
|
let init = { status: result.status };
|
|
747
722
|
if (result.reload) {
|
|
748
|
-
throw
|
|
723
|
+
throw _chunkIEF7VMTAjs.redirectDocument.call(void 0, result.redirect, init);
|
|
749
724
|
} else if (result.replace) {
|
|
750
|
-
throw
|
|
725
|
+
throw _chunkIEF7VMTAjs.replace.call(void 0, result.redirect, init);
|
|
751
726
|
} else {
|
|
752
|
-
throw
|
|
727
|
+
throw _chunkIEF7VMTAjs.redirect.call(void 0, result.redirect, init);
|
|
753
728
|
}
|
|
754
729
|
} else {
|
|
755
730
|
invariant2(
|
|
@@ -792,7 +767,7 @@ function createStaticHandlerDataRoutes(manifest, future, parentId = "", routesBy
|
|
|
792
767
|
|
|
793
768
|
// lib/server-runtime/serverHandoff.ts
|
|
794
769
|
function createServerHandoffString(serverHandoff) {
|
|
795
|
-
return
|
|
770
|
+
return _chunkIEF7VMTAjs.escapeHtml.call(void 0, JSON.stringify(serverHandoff));
|
|
796
771
|
}
|
|
797
772
|
|
|
798
773
|
// lib/server-runtime/headers.ts
|
|
@@ -868,8 +843,8 @@ function prependCookies(parentHeaders, childHeaders) {
|
|
|
868
843
|
}
|
|
869
844
|
|
|
870
845
|
// lib/actions.ts
|
|
871
|
-
function throwIfPotentialCSRFAttack(
|
|
872
|
-
let originHeader = headers.get("origin");
|
|
846
|
+
function throwIfPotentialCSRFAttack(request, allowedActionOrigins) {
|
|
847
|
+
let originHeader = request.headers.get("origin");
|
|
873
848
|
let originDomain = null;
|
|
874
849
|
try {
|
|
875
850
|
originDomain = typeof originHeader === "string" && originHeader !== "null" ? new URL(originHeader).host : originHeader;
|
|
@@ -878,18 +853,12 @@ function throwIfPotentialCSRFAttack(headers, allowedActionOrigins) {
|
|
|
878
853
|
`\`origin\` header is not a valid URL. Aborting the action.`
|
|
879
854
|
);
|
|
880
855
|
}
|
|
881
|
-
let host =
|
|
882
|
-
if (originDomain &&
|
|
856
|
+
let host = new URL(request.url).host;
|
|
857
|
+
if (originDomain && originDomain !== host) {
|
|
883
858
|
if (!isAllowedOrigin(originDomain, allowedActionOrigins)) {
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
);
|
|
888
|
-
} else {
|
|
889
|
-
throw new Error(
|
|
890
|
-
"`x-forwarded-host` or `host` headers are not provided. One of these is needed to compare the `origin` header from a forwarded action request. Aborting the action."
|
|
891
|
-
);
|
|
892
|
-
}
|
|
859
|
+
throw new Error(
|
|
860
|
+
"The `request.url` host does not match `origin` header from a forwarded action request. Aborting the action."
|
|
861
|
+
);
|
|
893
862
|
}
|
|
894
863
|
}
|
|
895
864
|
}
|
|
@@ -937,37 +906,25 @@ function isAllowedOrigin(originDomain, allowedActionOrigins = []) {
|
|
|
937
906
|
(allowedOrigin) => allowedOrigin && (allowedOrigin === originDomain || matchWildcardDomain(originDomain, allowedOrigin))
|
|
938
907
|
);
|
|
939
908
|
}
|
|
940
|
-
function parseHostHeader(headers) {
|
|
941
|
-
let forwardedHostHeader = headers.get("x-forwarded-host");
|
|
942
|
-
let forwardedHostValue = _optionalChain([forwardedHostHeader, 'optionalAccess', _6 => _6.split, 'call', _7 => _7(","), 'access', _8 => _8[0], 'optionalAccess', _9 => _9.trim, 'call', _10 => _10()]);
|
|
943
|
-
let hostHeader = headers.get("host");
|
|
944
|
-
return forwardedHostValue ? {
|
|
945
|
-
type: "x-forwarded-host",
|
|
946
|
-
value: forwardedHostValue
|
|
947
|
-
} : hostHeader ? {
|
|
948
|
-
type: "host",
|
|
949
|
-
value: hostHeader
|
|
950
|
-
} : void 0;
|
|
951
|
-
}
|
|
952
909
|
|
|
953
910
|
// lib/server-runtime/urls.ts
|
|
954
911
|
function getNormalizedPath(request, basename, future) {
|
|
955
912
|
basename = basename || "/";
|
|
956
913
|
let url = new URL(request.url);
|
|
957
914
|
let pathname = url.pathname;
|
|
958
|
-
if (_optionalChain([future, 'optionalAccess',
|
|
915
|
+
if (_optionalChain([future, 'optionalAccess', _6 => _6.v8_trailingSlashAwareDataRequests])) {
|
|
959
916
|
if (pathname.endsWith("/_.data")) {
|
|
960
917
|
pathname = pathname.replace(/_\.data$/, "");
|
|
961
918
|
} else {
|
|
962
919
|
pathname = pathname.replace(/\.data$/, "");
|
|
963
920
|
}
|
|
964
921
|
} else {
|
|
965
|
-
if (
|
|
922
|
+
if (_chunkIEF7VMTAjs.stripBasename.call(void 0, pathname, basename) === "/_root.data") {
|
|
966
923
|
pathname = basename;
|
|
967
924
|
} else if (pathname.endsWith(".data")) {
|
|
968
925
|
pathname = pathname.replace(/\.data$/, "");
|
|
969
926
|
}
|
|
970
|
-
if (
|
|
927
|
+
if (_chunkIEF7VMTAjs.stripBasename.call(void 0, pathname, basename) !== "/" && pathname.endsWith("/")) {
|
|
971
928
|
pathname = pathname.slice(0, -1);
|
|
972
929
|
}
|
|
973
930
|
}
|
|
@@ -987,14 +944,14 @@ function getNormalizedPath(request, basename, future) {
|
|
|
987
944
|
|
|
988
945
|
// lib/server-runtime/single-fetch.ts
|
|
989
946
|
var SERVER_NO_BODY_STATUS_CODES = /* @__PURE__ */ new Set([
|
|
990
|
-
...
|
|
947
|
+
..._chunkIEF7VMTAjs.NO_BODY_STATUS_CODES,
|
|
991
948
|
304
|
|
992
949
|
]);
|
|
993
950
|
async function singleFetchAction(build, serverMode, staticHandler, request, handlerUrl, loadContext, handleError) {
|
|
994
951
|
try {
|
|
995
952
|
try {
|
|
996
953
|
throwIfPotentialCSRFAttack(
|
|
997
|
-
request
|
|
954
|
+
request,
|
|
998
955
|
Array.isArray(build.allowedActionOrigins) ? build.allowedActionOrigins : []
|
|
999
956
|
);
|
|
1000
957
|
} catch (e) {
|
|
@@ -1026,7 +983,7 @@ async function singleFetchAction(build, serverMode, staticHandler, request, hand
|
|
|
1026
983
|
return handleQueryError(error);
|
|
1027
984
|
}
|
|
1028
985
|
function handleQueryResult(result) {
|
|
1029
|
-
return
|
|
986
|
+
return _chunkIEF7VMTAjs.isResponse.call(void 0, result) ? result : staticContextToResponse(result);
|
|
1030
987
|
}
|
|
1031
988
|
function handleQueryError(error, status = 500) {
|
|
1032
989
|
handleError(error);
|
|
@@ -1038,12 +995,12 @@ async function singleFetchAction(build, serverMode, staticHandler, request, hand
|
|
|
1038
995
|
}
|
|
1039
996
|
function staticContextToResponse(context) {
|
|
1040
997
|
let headers = getDocumentHeaders(context, build);
|
|
1041
|
-
if (
|
|
998
|
+
if (_chunkIEF7VMTAjs.isRedirectStatusCode.call(void 0, context.statusCode) && headers.has("Location")) {
|
|
1042
999
|
return new Response(null, { status: context.statusCode, headers });
|
|
1043
1000
|
}
|
|
1044
1001
|
if (context.errors) {
|
|
1045
1002
|
Object.values(context.errors).forEach((err) => {
|
|
1046
|
-
if (!
|
|
1003
|
+
if (!_chunkIEF7VMTAjs.isRouteErrorResponse.call(void 0, err) || err.error) {
|
|
1047
1004
|
handleError(err);
|
|
1048
1005
|
}
|
|
1049
1006
|
});
|
|
@@ -1091,7 +1048,7 @@ async function singleFetchLoaders(build, serverMode, staticHandler, request, han
|
|
|
1091
1048
|
return handleQueryError(error);
|
|
1092
1049
|
}
|
|
1093
1050
|
function handleQueryResult(result) {
|
|
1094
|
-
return
|
|
1051
|
+
return _chunkIEF7VMTAjs.isResponse.call(void 0, result) ? result : staticContextToResponse(result);
|
|
1095
1052
|
}
|
|
1096
1053
|
function handleQueryError(error) {
|
|
1097
1054
|
handleError(error);
|
|
@@ -1103,12 +1060,12 @@ async function singleFetchLoaders(build, serverMode, staticHandler, request, han
|
|
|
1103
1060
|
}
|
|
1104
1061
|
function staticContextToResponse(context) {
|
|
1105
1062
|
let headers = getDocumentHeaders(context, build);
|
|
1106
|
-
if (
|
|
1063
|
+
if (_chunkIEF7VMTAjs.isRedirectStatusCode.call(void 0, context.statusCode) && headers.has("Location")) {
|
|
1107
1064
|
return new Response(null, { status: context.statusCode, headers });
|
|
1108
1065
|
}
|
|
1109
1066
|
if (context.errors) {
|
|
1110
1067
|
Object.values(context.errors).forEach((err) => {
|
|
1111
|
-
if (!
|
|
1068
|
+
if (!_chunkIEF7VMTAjs.isRouteErrorResponse.call(void 0, err) || err.error) {
|
|
1112
1069
|
handleError(err);
|
|
1113
1070
|
}
|
|
1114
1071
|
});
|
|
@@ -1172,15 +1129,15 @@ function generateSingleFetchRedirectResponse(redirectResponse, request, build, s
|
|
|
1172
1129
|
headers.delete("Location");
|
|
1173
1130
|
headers.set("Content-Type", "text/x-script");
|
|
1174
1131
|
return generateSingleFetchResponse(request, build, serverMode, {
|
|
1175
|
-
result: request.method === "GET" ? { [
|
|
1132
|
+
result: request.method === "GET" ? { [_chunkIEF7VMTAjs.SingleFetchRedirectSymbol]: redirect2 } : redirect2,
|
|
1176
1133
|
headers,
|
|
1177
|
-
status:
|
|
1134
|
+
status: _chunkIEF7VMTAjs.SINGLE_FETCH_REDIRECT_STATUS
|
|
1178
1135
|
});
|
|
1179
1136
|
}
|
|
1180
1137
|
function getSingleFetchRedirect(status, headers, basename) {
|
|
1181
1138
|
let redirect2 = headers.get("Location");
|
|
1182
1139
|
if (basename) {
|
|
1183
|
-
redirect2 =
|
|
1140
|
+
redirect2 = _chunkIEF7VMTAjs.stripBasename.call(void 0, redirect2, basename) || redirect2;
|
|
1184
1141
|
}
|
|
1185
1142
|
return {
|
|
1186
1143
|
redirect: redirect2,
|
|
@@ -1217,7 +1174,7 @@ function encodeViaTurboStream(data2, requestSignal, streamTimeout, serverMode) {
|
|
|
1217
1174
|
clearTimeout(timeoutId);
|
|
1218
1175
|
requestSignal.removeEventListener("abort", abortControllerOnRequestAbort);
|
|
1219
1176
|
};
|
|
1220
|
-
return
|
|
1177
|
+
return _chunkIEF7VMTAjs.encode.call(void 0, data2, {
|
|
1221
1178
|
signal: controller.signal,
|
|
1222
1179
|
onComplete: cleanupCallbacks,
|
|
1223
1180
|
plugins: [
|
|
@@ -1226,12 +1183,12 @@ function encodeViaTurboStream(data2, requestSignal, streamTimeout, serverMode) {
|
|
|
1226
1183
|
let { name, message, stack } = serverMode === "production" /* Production */ ? sanitizeError(value, serverMode) : value;
|
|
1227
1184
|
return ["SanitizedError", name, message, stack];
|
|
1228
1185
|
}
|
|
1229
|
-
if (value instanceof
|
|
1186
|
+
if (value instanceof _chunkIEF7VMTAjs.ErrorResponseImpl) {
|
|
1230
1187
|
let { data: data3, status, statusText } = value;
|
|
1231
1188
|
return ["ErrorResponse", data3, status, statusText];
|
|
1232
1189
|
}
|
|
1233
|
-
if (value && typeof value === "object" &&
|
|
1234
|
-
return ["SingleFetchRedirect", value[
|
|
1190
|
+
if (value && typeof value === "object" && _chunkIEF7VMTAjs.SingleFetchRedirectSymbol in value) {
|
|
1191
|
+
return ["SingleFetchRedirect", value[_chunkIEF7VMTAjs.SingleFetchRedirectSymbol]];
|
|
1235
1192
|
}
|
|
1236
1193
|
}
|
|
1237
1194
|
],
|
|
@@ -1253,7 +1210,7 @@ function encodeViaTurboStream(data2, requestSignal, streamTimeout, serverMode) {
|
|
|
1253
1210
|
function derive(build, mode) {
|
|
1254
1211
|
let dataRoutes = createStaticHandlerDataRoutes(build.routes, build.future);
|
|
1255
1212
|
let serverMode = isServerMode(mode) ? mode : "production" /* Production */;
|
|
1256
|
-
let staticHandler =
|
|
1213
|
+
let staticHandler = _chunkIEF7VMTAjs.createStaticHandler.call(void 0, dataRoutes, {
|
|
1257
1214
|
basename: build.basename,
|
|
1258
1215
|
instrumentations: build.entry.module.instrumentations,
|
|
1259
1216
|
future: build.future
|
|
@@ -1262,7 +1219,7 @@ function derive(build, mode) {
|
|
|
1262
1219
|
if (serverMode !== "test" /* Test */ && !request.signal.aborted) {
|
|
1263
1220
|
console.error(
|
|
1264
1221
|
// @ts-expect-error This is "private" from users but intended for internal use
|
|
1265
|
-
|
|
1222
|
+
_chunkIEF7VMTAjs.isRouteErrorResponse.call(void 0, error) && error.error ? error.error : error
|
|
1266
1223
|
);
|
|
1267
1224
|
}
|
|
1268
1225
|
});
|
|
@@ -1271,7 +1228,7 @@ function derive(build, mode) {
|
|
|
1271
1228
|
let loadContext;
|
|
1272
1229
|
let handleError = (error) => {
|
|
1273
1230
|
if (mode === "development" /* Development */) {
|
|
1274
|
-
_optionalChain([getDevServerHooks, 'call',
|
|
1231
|
+
_optionalChain([getDevServerHooks, 'call', _7 => _7(), 'optionalAccess', _8 => _8.processRequestError, 'optionalCall', _9 => _9(error)]);
|
|
1275
1232
|
}
|
|
1276
1233
|
errorHandler(error, {
|
|
1277
1234
|
context: loadContext,
|
|
@@ -1280,14 +1237,14 @@ function derive(build, mode) {
|
|
|
1280
1237
|
});
|
|
1281
1238
|
};
|
|
1282
1239
|
if (build.future.v8_middleware) {
|
|
1283
|
-
if (initialContext && !(initialContext instanceof
|
|
1240
|
+
if (initialContext && !(initialContext instanceof _chunkIEF7VMTAjs.RouterContextProvider)) {
|
|
1284
1241
|
let error = new Error(
|
|
1285
1242
|
"Invalid `context` value provided to `handleRequest`. When middleware is enabled you must return an instance of `RouterContextProvider` from your `getLoadContext` function."
|
|
1286
1243
|
);
|
|
1287
1244
|
handleError(error);
|
|
1288
1245
|
return returnLastResortErrorResponse(error, serverMode);
|
|
1289
1246
|
}
|
|
1290
|
-
loadContext = initialContext || new (0,
|
|
1247
|
+
loadContext = initialContext || new (0, _chunkIEF7VMTAjs.RouterContextProvider)();
|
|
1291
1248
|
} else {
|
|
1292
1249
|
loadContext = initialContext || {};
|
|
1293
1250
|
}
|
|
@@ -1301,10 +1258,10 @@ function derive(build, mode) {
|
|
|
1301
1258
|
if (!build.ssr) {
|
|
1302
1259
|
let decodedPath = decodeURI(normalizedPathname);
|
|
1303
1260
|
if (build.basename && build.basename !== "/") {
|
|
1304
|
-
let strippedPath =
|
|
1261
|
+
let strippedPath = _chunkIEF7VMTAjs.stripBasename.call(void 0, decodedPath, build.basename);
|
|
1305
1262
|
if (strippedPath == null) {
|
|
1306
1263
|
errorHandler(
|
|
1307
|
-
new (0,
|
|
1264
|
+
new (0, _chunkIEF7VMTAjs.ErrorResponseImpl)(
|
|
1308
1265
|
404,
|
|
1309
1266
|
"Not Found",
|
|
1310
1267
|
`Refusing to prerender the \`${decodedPath}\` path because it does not start with the basename \`${build.basename}\``
|
|
@@ -1324,10 +1281,10 @@ function derive(build, mode) {
|
|
|
1324
1281
|
}
|
|
1325
1282
|
if (build.prerender.length === 0) {
|
|
1326
1283
|
isSpaMode = true;
|
|
1327
|
-
} else if (!build.prerender.includes(decodedPath) && !build.prerender.includes(decodedPath
|
|
1284
|
+
} else if (!build.prerender.includes(decodedPath.replace(/\/$/, "")) && !build.prerender.includes(decodedPath.replace(/[^/]$/, "/"))) {
|
|
1328
1285
|
if (requestUrl.pathname.endsWith(".data")) {
|
|
1329
1286
|
errorHandler(
|
|
1330
|
-
new (0,
|
|
1287
|
+
new (0, _chunkIEF7VMTAjs.ErrorResponseImpl)(
|
|
1331
1288
|
404,
|
|
1332
1289
|
"Not Found",
|
|
1333
1290
|
`Refusing to SSR the path \`${decodedPath}\` because \`ssr:false\` is set and the path is not included in the \`prerender\` config, so in production the path will be a 404.`
|
|
@@ -1347,7 +1304,7 @@ function derive(build, mode) {
|
|
|
1347
1304
|
}
|
|
1348
1305
|
}
|
|
1349
1306
|
}
|
|
1350
|
-
let manifestUrl =
|
|
1307
|
+
let manifestUrl = _chunkIEF7VMTAjs.getManifestPath.call(void 0,
|
|
1351
1308
|
build.routeDiscovery.manifestPath,
|
|
1352
1309
|
build.basename
|
|
1353
1310
|
);
|
|
@@ -1386,7 +1343,7 @@ function derive(build, mode) {
|
|
|
1386
1343
|
loadContext,
|
|
1387
1344
|
handleError
|
|
1388
1345
|
);
|
|
1389
|
-
if (
|
|
1346
|
+
if (_chunkIEF7VMTAjs.isRedirectResponse.call(void 0, response)) {
|
|
1390
1347
|
response = generateSingleFetchRedirectResponse(
|
|
1391
1348
|
response,
|
|
1392
1349
|
request,
|
|
@@ -1400,7 +1357,7 @@ function derive(build, mode) {
|
|
|
1400
1357
|
params: matches ? matches[0].params : {},
|
|
1401
1358
|
request
|
|
1402
1359
|
});
|
|
1403
|
-
if (
|
|
1360
|
+
if (_chunkIEF7VMTAjs.isRedirectResponse.call(void 0, response)) {
|
|
1404
1361
|
response = generateSingleFetchRedirectResponse(
|
|
1405
1362
|
response,
|
|
1406
1363
|
request,
|
|
@@ -1424,8 +1381,8 @@ function derive(build, mode) {
|
|
|
1424
1381
|
let criticalCss = void 0;
|
|
1425
1382
|
if (build.unstable_getCriticalCss) {
|
|
1426
1383
|
criticalCss = await build.unstable_getCriticalCss({ pathname });
|
|
1427
|
-
} else if (mode === "development" /* Development */ && _optionalChain([getDevServerHooks, 'call',
|
|
1428
|
-
criticalCss = await _optionalChain([getDevServerHooks, 'call',
|
|
1384
|
+
} else if (mode === "development" /* Development */ && _optionalChain([getDevServerHooks, 'call', _10 => _10(), 'optionalAccess', _11 => _11.getCriticalCss])) {
|
|
1385
|
+
criticalCss = await _optionalChain([getDevServerHooks, 'call', _12 => _12(), 'optionalAccess', _13 => _13.getCriticalCss, 'optionalCall', _14 => _14(pathname)]);
|
|
1429
1386
|
}
|
|
1430
1387
|
response = await handleDocumentRequest(
|
|
1431
1388
|
serverMode,
|
|
@@ -1448,7 +1405,7 @@ function derive(build, mode) {
|
|
|
1448
1405
|
return response;
|
|
1449
1406
|
};
|
|
1450
1407
|
if (build.entry.module.instrumentations) {
|
|
1451
|
-
requestHandler =
|
|
1408
|
+
requestHandler = _chunkIEF7VMTAjs.instrumentHandler.call(void 0,
|
|
1452
1409
|
requestHandler,
|
|
1453
1410
|
build.entry.module.instrumentations.map((i) => i.handler).filter(Boolean)
|
|
1454
1411
|
);
|
|
@@ -1485,6 +1442,12 @@ var createRequestHandler = (build, mode) => {
|
|
|
1485
1442
|
};
|
|
1486
1443
|
};
|
|
1487
1444
|
async function handleManifestRequest(build, dataRoutes, branches, url) {
|
|
1445
|
+
if (url.toString().length > _chunkIEF7VMTAjs.URL_LIMIT) {
|
|
1446
|
+
return new Response(null, {
|
|
1447
|
+
statusText: "Bad Request",
|
|
1448
|
+
status: 400
|
|
1449
|
+
});
|
|
1450
|
+
}
|
|
1488
1451
|
if (build.assets.version !== url.searchParams.get("version")) {
|
|
1489
1452
|
return new Response(null, {
|
|
1490
1453
|
status: 204,
|
|
@@ -1493,28 +1456,14 @@ async function handleManifestRequest(build, dataRoutes, branches, url) {
|
|
|
1493
1456
|
}
|
|
1494
1457
|
});
|
|
1495
1458
|
}
|
|
1496
|
-
if (url.toString().length > _chunkRTRY3JFTjs.URL_LIMIT) {
|
|
1497
|
-
return new Response(null, {
|
|
1498
|
-
statusText: "Bad Request",
|
|
1499
|
-
status: 400
|
|
1500
|
-
});
|
|
1501
|
-
}
|
|
1502
1459
|
let patches = {};
|
|
1503
1460
|
if (url.searchParams.has("paths")) {
|
|
1504
|
-
let paths = /* @__PURE__ */ new Set();
|
|
1505
1461
|
let pathParam = url.searchParams.get("paths") || "";
|
|
1506
|
-
let
|
|
1507
|
-
|
|
1462
|
+
let paths = new Set(pathParam.split(",").filter(Boolean));
|
|
1463
|
+
for (let path of paths) {
|
|
1508
1464
|
if (!path.startsWith("/")) {
|
|
1509
1465
|
path = `/${path}`;
|
|
1510
1466
|
}
|
|
1511
|
-
let segments = path.split("/").slice(1);
|
|
1512
|
-
segments.forEach((_, i) => {
|
|
1513
|
-
let partialPath = segments.slice(0, i + 1).join("/");
|
|
1514
|
-
paths.add(`/${partialPath}`);
|
|
1515
|
-
});
|
|
1516
|
-
});
|
|
1517
|
-
for (let path of paths) {
|
|
1518
1467
|
let matches = matchServerRoutes(
|
|
1519
1468
|
build.routes,
|
|
1520
1469
|
dataRoutes,
|
|
@@ -1543,7 +1492,7 @@ async function handleManifestRequest(build, dataRoutes, branches, url) {
|
|
|
1543
1492
|
async function handleSingleFetchRequest(serverMode, build, staticHandler, request, normalizedPath, loadContext, handleError) {
|
|
1544
1493
|
let handlerUrl = new URL(request.url);
|
|
1545
1494
|
handlerUrl.pathname = normalizedPath;
|
|
1546
|
-
let response =
|
|
1495
|
+
let response = _chunkIEF7VMTAjs.isMutationMethod.call(void 0, request.method) ? await singleFetchAction(
|
|
1547
1496
|
build,
|
|
1548
1497
|
serverMode,
|
|
1549
1498
|
staticHandler,
|
|
@@ -1564,10 +1513,10 @@ async function handleSingleFetchRequest(serverMode, build, staticHandler, reques
|
|
|
1564
1513
|
}
|
|
1565
1514
|
async function handleDocumentRequest(serverMode, build, staticHandler, request, loadContext, handleError, isSpaMode, criticalCss) {
|
|
1566
1515
|
try {
|
|
1567
|
-
if (
|
|
1516
|
+
if (_chunkIEF7VMTAjs.isMutationMethod.call(void 0, request.method)) {
|
|
1568
1517
|
try {
|
|
1569
1518
|
throwIfPotentialCSRFAttack(
|
|
1570
|
-
request
|
|
1519
|
+
request,
|
|
1571
1520
|
Array.isArray(build.allowedActionOrigins) ? build.allowedActionOrigins : []
|
|
1572
1521
|
);
|
|
1573
1522
|
} catch (e) {
|
|
@@ -1580,7 +1529,7 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
|
|
|
1580
1529
|
generateMiddlewareResponse: build.future.v8_middleware ? async (query) => {
|
|
1581
1530
|
try {
|
|
1582
1531
|
let innerResult = await query(request);
|
|
1583
|
-
if (!
|
|
1532
|
+
if (!_chunkIEF7VMTAjs.isResponse.call(void 0, innerResult)) {
|
|
1584
1533
|
innerResult = await renderHtml(innerResult, isSpaMode);
|
|
1585
1534
|
}
|
|
1586
1535
|
return innerResult;
|
|
@@ -1591,7 +1540,7 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
|
|
|
1591
1540
|
} : void 0,
|
|
1592
1541
|
normalizePath: (r) => getNormalizedPath(r, build.basename, build.future)
|
|
1593
1542
|
});
|
|
1594
|
-
if (!
|
|
1543
|
+
if (!_chunkIEF7VMTAjs.isResponse.call(void 0, result)) {
|
|
1595
1544
|
result = await renderHtml(result, isSpaMode);
|
|
1596
1545
|
}
|
|
1597
1546
|
return result;
|
|
@@ -1606,7 +1555,7 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
|
|
|
1606
1555
|
}
|
|
1607
1556
|
if (context.errors) {
|
|
1608
1557
|
Object.values(context.errors).forEach((err) => {
|
|
1609
|
-
if (!
|
|
1558
|
+
if (!_chunkIEF7VMTAjs.isRouteErrorResponse.call(void 0, err) || err.error) {
|
|
1610
1559
|
handleError(err);
|
|
1611
1560
|
}
|
|
1612
1561
|
});
|
|
@@ -1615,7 +1564,7 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
|
|
|
1615
1564
|
let state = {
|
|
1616
1565
|
loaderData: context.loaderData,
|
|
1617
1566
|
actionData: context.actionData,
|
|
1618
|
-
errors:
|
|
1567
|
+
errors: context.errors
|
|
1619
1568
|
};
|
|
1620
1569
|
let baseServerHandoff = {
|
|
1621
1570
|
basename: build.basename,
|
|
@@ -1659,10 +1608,10 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
|
|
|
1659
1608
|
} catch (error) {
|
|
1660
1609
|
handleError(error);
|
|
1661
1610
|
let errorForSecondRender = error;
|
|
1662
|
-
if (
|
|
1611
|
+
if (_chunkIEF7VMTAjs.isResponse.call(void 0, error)) {
|
|
1663
1612
|
try {
|
|
1664
1613
|
let data2 = await unwrapResponse(error);
|
|
1665
|
-
errorForSecondRender = new (0,
|
|
1614
|
+
errorForSecondRender = new (0, _chunkIEF7VMTAjs.ErrorResponseImpl)(
|
|
1666
1615
|
error.status,
|
|
1667
1616
|
error.statusText,
|
|
1668
1617
|
data2
|
|
@@ -1670,7 +1619,7 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
|
|
|
1670
1619
|
} catch (e) {
|
|
1671
1620
|
}
|
|
1672
1621
|
}
|
|
1673
|
-
context =
|
|
1622
|
+
context = _chunkIEF7VMTAjs.getStaticContextFromError.call(void 0,
|
|
1674
1623
|
staticHandler.dataRoutes,
|
|
1675
1624
|
context,
|
|
1676
1625
|
errorForSecondRender
|
|
@@ -1681,7 +1630,7 @@ async function handleDocumentRequest(serverMode, build, staticHandler, request,
|
|
|
1681
1630
|
let state2 = {
|
|
1682
1631
|
loaderData: context.loaderData,
|
|
1683
1632
|
actionData: context.actionData,
|
|
1684
|
-
errors:
|
|
1633
|
+
errors: context.errors
|
|
1685
1634
|
};
|
|
1686
1635
|
entryContext = {
|
|
1687
1636
|
...entryContext,
|
|
@@ -1730,7 +1679,7 @@ async function handleResourceRequest(serverMode, build, staticHandler, routeId,
|
|
|
1730
1679
|
return handleQueryRouteError(error);
|
|
1731
1680
|
}
|
|
1732
1681
|
function handleQueryRouteResult(result) {
|
|
1733
|
-
if (
|
|
1682
|
+
if (_chunkIEF7VMTAjs.isResponse.call(void 0, result)) {
|
|
1734
1683
|
return result;
|
|
1735
1684
|
}
|
|
1736
1685
|
if (typeof result === "string") {
|
|
@@ -1739,10 +1688,10 @@ async function handleResourceRequest(serverMode, build, staticHandler, routeId,
|
|
|
1739
1688
|
return Response.json(result);
|
|
1740
1689
|
}
|
|
1741
1690
|
function handleQueryRouteError(error) {
|
|
1742
|
-
if (
|
|
1691
|
+
if (_chunkIEF7VMTAjs.isResponse.call(void 0, error)) {
|
|
1743
1692
|
return error;
|
|
1744
1693
|
}
|
|
1745
|
-
if (
|
|
1694
|
+
if (_chunkIEF7VMTAjs.isRouteErrorResponse.call(void 0, error)) {
|
|
1746
1695
|
handleError(error);
|
|
1747
1696
|
return errorResponseToJson(error, serverMode);
|
|
1748
1697
|
}
|
|
@@ -1836,7 +1785,7 @@ function createSessionStorage({
|
|
|
1836
1785
|
updateData,
|
|
1837
1786
|
deleteData
|
|
1838
1787
|
}) {
|
|
1839
|
-
let cookie = isCookie(cookieArg) ? cookieArg : createCookie(_optionalChain([cookieArg, 'optionalAccess',
|
|
1788
|
+
let cookie = isCookie(cookieArg) ? cookieArg : createCookie(_optionalChain([cookieArg, 'optionalAccess', _15 => _15.name]) || "__session", cookieArg);
|
|
1840
1789
|
warnOnceAboutSigningSessionCookie(cookie);
|
|
1841
1790
|
return {
|
|
1842
1791
|
async getSession(cookieHeader, options) {
|
|
@@ -1846,7 +1795,7 @@ function createSessionStorage({
|
|
|
1846
1795
|
},
|
|
1847
1796
|
async commitSession(session, options) {
|
|
1848
1797
|
let { id, data: data2 } = session;
|
|
1849
|
-
let expires = _optionalChain([options, 'optionalAccess',
|
|
1798
|
+
let expires = _optionalChain([options, 'optionalAccess', _16 => _16.maxAge]) != null ? new Date(Date.now() + options.maxAge * 1e3) : _optionalChain([options, 'optionalAccess', _17 => _17.expires]) != null ? options.expires : cookie.expires;
|
|
1850
1799
|
if (id) {
|
|
1851
1800
|
await updateData(id, data2, expires);
|
|
1852
1801
|
} else {
|
|
@@ -1865,7 +1814,7 @@ function createSessionStorage({
|
|
|
1865
1814
|
};
|
|
1866
1815
|
}
|
|
1867
1816
|
function warnOnceAboutSigningSessionCookie(cookie) {
|
|
1868
|
-
|
|
1817
|
+
_chunkIEF7VMTAjs.warnOnce.call(void 0,
|
|
1869
1818
|
cookie.isSigned,
|
|
1870
1819
|
`The "${cookie.name}" cookie is not signed, but session cookies should be signed to prevent tampering on the client before they are sent back to the server. See https://reactrouter.com/explanation/sessions-and-cookies#signing-cookies for more information.`
|
|
1871
1820
|
);
|
|
@@ -1873,7 +1822,7 @@ function warnOnceAboutSigningSessionCookie(cookie) {
|
|
|
1873
1822
|
|
|
1874
1823
|
// lib/server-runtime/sessions/cookieStorage.ts
|
|
1875
1824
|
function createCookieSessionStorage({ cookie: cookieArg } = {}) {
|
|
1876
|
-
let cookie = isCookie(cookieArg) ? cookieArg : createCookie(_optionalChain([cookieArg, 'optionalAccess',
|
|
1825
|
+
let cookie = isCookie(cookieArg) ? cookieArg : createCookie(_optionalChain([cookieArg, 'optionalAccess', _18 => _18.name]) || "__session", cookieArg);
|
|
1877
1826
|
warnOnceAboutSigningSessionCookie(cookie);
|
|
1878
1827
|
return {
|
|
1879
1828
|
async getSession(cookieHeader, options) {
|
|
@@ -1937,7 +1886,7 @@ function href(path, ...args) {
|
|
|
1937
1886
|
// same regex as in .\router\utils.ts: compilePath().
|
|
1938
1887
|
(_, param, questionMark) => {
|
|
1939
1888
|
const isRequired = questionMark === void 0;
|
|
1940
|
-
const value = _optionalChain([params, 'optionalAccess',
|
|
1889
|
+
const value = _optionalChain([params, 'optionalAccess', _19 => _19[param]]);
|
|
1941
1890
|
if (isRequired && value === void 0) {
|
|
1942
1891
|
throw new Error(
|
|
1943
1892
|
`Path '${path}' requires param '${param}' but it was not provided`
|
|
@@ -1947,7 +1896,7 @@ function href(path, ...args) {
|
|
|
1947
1896
|
}
|
|
1948
1897
|
);
|
|
1949
1898
|
if (path.endsWith("*")) {
|
|
1950
|
-
const value = _optionalChain([params, 'optionalAccess',
|
|
1899
|
+
const value = _optionalChain([params, 'optionalAccess', _20 => _20["*"]]);
|
|
1951
1900
|
if (value !== void 0) {
|
|
1952
1901
|
result += "/" + value;
|
|
1953
1902
|
}
|
|
@@ -2146,14 +2095,17 @@ async function routeRSCServerRequest({
|
|
|
2146
2095
|
const payload = await createFromReadableStream(
|
|
2147
2096
|
detectRedirectResponse.body
|
|
2148
2097
|
);
|
|
2149
|
-
if (serverResponse.status ===
|
|
2098
|
+
if (serverResponse.status === _chunkIEF7VMTAjs.SINGLE_FETCH_REDIRECT_STATUS && payload.type === "redirect") {
|
|
2099
|
+
if (_chunkIEF7VMTAjs.hasInvalidProtocol.call(void 0, payload.location)) {
|
|
2100
|
+
throw new Error("Invalid redirect location");
|
|
2101
|
+
}
|
|
2150
2102
|
const headers2 = new Headers(serverResponse.headers);
|
|
2151
2103
|
headers2.delete("Content-Encoding");
|
|
2152
2104
|
headers2.delete("Content-Length");
|
|
2153
2105
|
headers2.delete("Content-Type");
|
|
2154
2106
|
headers2.delete("X-Remix-Response");
|
|
2155
2107
|
headers2.set("Location", payload.location);
|
|
2156
|
-
return new Response(_optionalChain([serverResponseB, 'optionalAccess',
|
|
2108
|
+
return new Response(_optionalChain([serverResponseB, 'optionalAccess', _21 => _21.body]) || "", {
|
|
2157
2109
|
headers: headers2,
|
|
2158
2110
|
status: payload.status,
|
|
2159
2111
|
statusText: serverResponse.statusText
|
|
@@ -2165,11 +2117,11 @@ async function routeRSCServerRequest({
|
|
|
2165
2117
|
let html = await renderHTML(getPayload, {
|
|
2166
2118
|
onError(error) {
|
|
2167
2119
|
if (typeof error === "object" && error && "digest" in error && typeof error.digest === "string") {
|
|
2168
|
-
renderRedirect =
|
|
2120
|
+
renderRedirect = _chunkIEF7VMTAjs.decodeRedirectErrorDigest.call(void 0, error.digest);
|
|
2169
2121
|
if (renderRedirect) {
|
|
2170
2122
|
return error.digest;
|
|
2171
2123
|
}
|
|
2172
|
-
let routeErrorResponse =
|
|
2124
|
+
let routeErrorResponse = _chunkIEF7VMTAjs.decodeRouteErrorResponseDigest.call(void 0, error.digest);
|
|
2173
2125
|
if (routeErrorResponse) {
|
|
2174
2126
|
renderError = routeErrorResponse;
|
|
2175
2127
|
status = routeErrorResponse.status;
|
|
@@ -2190,6 +2142,9 @@ async function routeRSCServerRequest({
|
|
|
2190
2142
|
}
|
|
2191
2143
|
headers.set("Content-Type", "text/html; charset=utf-8");
|
|
2192
2144
|
if (renderRedirect) {
|
|
2145
|
+
if (_chunkIEF7VMTAjs.hasInvalidProtocol.call(void 0, renderRedirect.location)) {
|
|
2146
|
+
throw new Error("Invalid redirect location");
|
|
2147
|
+
}
|
|
2193
2148
|
headers.set("Location", renderRedirect.location);
|
|
2194
2149
|
return new Response(html, {
|
|
2195
2150
|
status: renderRedirect.status,
|
|
@@ -2199,9 +2154,12 @@ async function routeRSCServerRequest({
|
|
|
2199
2154
|
const redirectTransform = new TransformStream({
|
|
2200
2155
|
flush(controller) {
|
|
2201
2156
|
if (renderRedirect) {
|
|
2157
|
+
if (_chunkIEF7VMTAjs.hasInvalidProtocol.call(void 0, renderRedirect.location)) {
|
|
2158
|
+
return;
|
|
2159
|
+
}
|
|
2202
2160
|
controller.enqueue(
|
|
2203
2161
|
new TextEncoder().encode(
|
|
2204
|
-
`<meta http-equiv="refresh" content="0;url=${
|
|
2162
|
+
`<meta http-equiv="refresh" content="0;url=${_chunkIEF7VMTAjs.escapeHtml.call(void 0, renderRedirect.location)}"/>`
|
|
2205
2163
|
)
|
|
2206
2164
|
);
|
|
2207
2165
|
}
|
|
@@ -2214,7 +2172,7 @@ async function routeRSCServerRequest({
|
|
|
2214
2172
|
headers
|
|
2215
2173
|
});
|
|
2216
2174
|
}
|
|
2217
|
-
if (!_optionalChain([serverResponseB, 'optionalAccess',
|
|
2175
|
+
if (!_optionalChain([serverResponseB, 'optionalAccess', _22 => _22.body])) {
|
|
2218
2176
|
throw new Error("Failed to clone server response");
|
|
2219
2177
|
}
|
|
2220
2178
|
const body2 = html.pipeThrough(injectRSCPayload(serverResponseB.body)).pipeThrough(redirectTransform);
|
|
@@ -2228,6 +2186,9 @@ async function routeRSCServerRequest({
|
|
|
2228
2186
|
return error;
|
|
2229
2187
|
}
|
|
2230
2188
|
if (renderRedirect) {
|
|
2189
|
+
if (_chunkIEF7VMTAjs.hasInvalidProtocol.call(void 0, renderRedirect.location)) {
|
|
2190
|
+
throw new Error("Invalid redirect location");
|
|
2191
|
+
}
|
|
2231
2192
|
return new Response(`Redirect: ${renderRedirect.location}`, {
|
|
2232
2193
|
status: renderRedirect.status,
|
|
2233
2194
|
headers: {
|
|
@@ -2237,7 +2198,7 @@ async function routeRSCServerRequest({
|
|
|
2237
2198
|
}
|
|
2238
2199
|
try {
|
|
2239
2200
|
let normalizedError = _nullishCoalesce(renderError, () => ( error));
|
|
2240
|
-
let [status, statusText] =
|
|
2201
|
+
let [status, statusText] = _chunkIEF7VMTAjs.isRouteErrorResponse.call(void 0, normalizedError) ? [normalizedError.status, normalizedError.statusText] : [500, ""];
|
|
2241
2202
|
let retryRedirect;
|
|
2242
2203
|
let reactHeaders = new Headers();
|
|
2243
2204
|
const html = await renderHTML(
|
|
@@ -2274,11 +2235,11 @@ async function routeRSCServerRequest({
|
|
|
2274
2235
|
{
|
|
2275
2236
|
onError(error2) {
|
|
2276
2237
|
if (typeof error2 === "object" && error2 && "digest" in error2 && typeof error2.digest === "string") {
|
|
2277
|
-
retryRedirect =
|
|
2238
|
+
retryRedirect = _chunkIEF7VMTAjs.decodeRedirectErrorDigest.call(void 0, error2.digest);
|
|
2278
2239
|
if (retryRedirect) {
|
|
2279
2240
|
return error2.digest;
|
|
2280
2241
|
}
|
|
2281
|
-
let routeErrorResponse =
|
|
2242
|
+
let routeErrorResponse = _chunkIEF7VMTAjs.decodeRouteErrorResponseDigest.call(void 0,
|
|
2282
2243
|
error2.digest
|
|
2283
2244
|
);
|
|
2284
2245
|
if (routeErrorResponse) {
|
|
@@ -2301,6 +2262,9 @@ async function routeRSCServerRequest({
|
|
|
2301
2262
|
}
|
|
2302
2263
|
headers.set("Content-Type", "text/html; charset=utf-8");
|
|
2303
2264
|
if (retryRedirect) {
|
|
2265
|
+
if (_chunkIEF7VMTAjs.hasInvalidProtocol.call(void 0, retryRedirect.location)) {
|
|
2266
|
+
throw new Error("Invalid redirect location");
|
|
2267
|
+
}
|
|
2304
2268
|
headers.set("Location", retryRedirect.location);
|
|
2305
2269
|
return new Response(html, {
|
|
2306
2270
|
status: retryRedirect.status,
|
|
@@ -2310,9 +2274,12 @@ async function routeRSCServerRequest({
|
|
|
2310
2274
|
const retryRedirectTransform = new TransformStream({
|
|
2311
2275
|
flush(controller) {
|
|
2312
2276
|
if (retryRedirect) {
|
|
2277
|
+
if (_chunkIEF7VMTAjs.hasInvalidProtocol.call(void 0, retryRedirect.location)) {
|
|
2278
|
+
return;
|
|
2279
|
+
}
|
|
2313
2280
|
controller.enqueue(
|
|
2314
2281
|
new TextEncoder().encode(
|
|
2315
|
-
`<meta http-equiv="refresh" content="0;url=${
|
|
2282
|
+
`<meta http-equiv="refresh" content="0;url=${_chunkIEF7VMTAjs.escapeHtml.call(void 0, retryRedirect.location)}"/>`
|
|
2316
2283
|
)
|
|
2317
2284
|
);
|
|
2318
2285
|
}
|
|
@@ -2325,7 +2292,7 @@ async function routeRSCServerRequest({
|
|
|
2325
2292
|
headers
|
|
2326
2293
|
});
|
|
2327
2294
|
}
|
|
2328
|
-
if (!_optionalChain([serverResponseB, 'optionalAccess',
|
|
2295
|
+
if (!_optionalChain([serverResponseB, 'optionalAccess', _23 => _23.body])) {
|
|
2329
2296
|
throw new Error("Failed to clone server response");
|
|
2330
2297
|
}
|
|
2331
2298
|
const body2 = html.pipeThrough(injectRSCPayload(serverResponseB.body)).pipeThrough(retryRedirectTransform);
|
|
@@ -2343,6 +2310,9 @@ function RSCStaticRouter({ getPayload }) {
|
|
|
2343
2310
|
const decoded = getPayload();
|
|
2344
2311
|
const payload = useSafe(decoded);
|
|
2345
2312
|
if (payload.type === "redirect") {
|
|
2313
|
+
if (_chunkIEF7VMTAjs.hasInvalidProtocol.call(void 0, payload.location)) {
|
|
2314
|
+
throw new Error("Invalid redirect location");
|
|
2315
|
+
}
|
|
2346
2316
|
throw new Response(null, {
|
|
2347
2317
|
status: payload.status,
|
|
2348
2318
|
headers: {
|
|
@@ -2353,7 +2323,7 @@ function RSCStaticRouter({ getPayload }) {
|
|
|
2353
2323
|
if (payload.type !== "render") return null;
|
|
2354
2324
|
let patchedLoaderData = { ...payload.loaderData };
|
|
2355
2325
|
for (const match of payload.matches) {
|
|
2356
|
-
if (
|
|
2326
|
+
if (_chunkIEF7VMTAjs.shouldHydrateRouteLoader.call(void 0,
|
|
2357
2327
|
match.id,
|
|
2358
2328
|
match.clientLoader,
|
|
2359
2329
|
match.hasLoader,
|
|
@@ -2393,7 +2363,7 @@ function RSCStaticRouter({ getPayload }) {
|
|
|
2393
2363
|
}
|
|
2394
2364
|
}))
|
|
2395
2365
|
};
|
|
2396
|
-
const router =
|
|
2366
|
+
const router = _chunkWICLSFKLjs.createStaticRouter.call(void 0,
|
|
2397
2367
|
payload.matches.reduceRight((previous, match) => {
|
|
2398
2368
|
const route = {
|
|
2399
2369
|
id: match.id,
|
|
@@ -2441,10 +2411,10 @@ function RSCStaticRouter({ getPayload }) {
|
|
|
2441
2411
|
mode: "lazy",
|
|
2442
2412
|
manifestPath: payload.routeDiscovery.manifestPath || defaultManifestPath
|
|
2443
2413
|
},
|
|
2444
|
-
routeModules:
|
|
2414
|
+
routeModules: _chunkGOIER6MLjs.createRSCRouteModules.call(void 0, payload)
|
|
2445
2415
|
};
|
|
2446
|
-
return /* @__PURE__ */ React3.createElement(
|
|
2447
|
-
|
|
2416
|
+
return /* @__PURE__ */ React3.createElement(_chunkIEF7VMTAjs.RSCRouterContext.Provider, { value: true }, /* @__PURE__ */ React3.createElement(_chunkGOIER6MLjs.RSCRouterGlobalErrorBoundary, { location: payload.location }, /* @__PURE__ */ React3.createElement(_chunkIEF7VMTAjs.FrameworkContext.Provider, { value: frameworkContext }, /* @__PURE__ */ React3.createElement(
|
|
2417
|
+
_chunkWICLSFKLjs.StaticRouterProvider,
|
|
2448
2418
|
{
|
|
2449
2419
|
context,
|
|
2450
2420
|
router,
|
|
@@ -2460,44 +2430,6 @@ function isManifestRequest(url) {
|
|
|
2460
2430
|
return url.pathname.endsWith(".manifest");
|
|
2461
2431
|
}
|
|
2462
2432
|
|
|
2463
|
-
// lib/dom/ssr/errors.ts
|
|
2464
|
-
function deserializeErrors(errors) {
|
|
2465
|
-
if (!errors) return null;
|
|
2466
|
-
let entries = Object.entries(errors);
|
|
2467
|
-
let serialized = {};
|
|
2468
|
-
for (let [key, val] of entries) {
|
|
2469
|
-
if (val && val.__type === "RouteErrorResponse") {
|
|
2470
|
-
serialized[key] = new (0, _chunkRTRY3JFTjs.ErrorResponseImpl)(
|
|
2471
|
-
val.status,
|
|
2472
|
-
val.statusText,
|
|
2473
|
-
val.data,
|
|
2474
|
-
val.internal === true
|
|
2475
|
-
);
|
|
2476
|
-
} else if (val && val.__type === "Error") {
|
|
2477
|
-
if (val.__subType) {
|
|
2478
|
-
let ErrorConstructor = window[val.__subType];
|
|
2479
|
-
if (typeof ErrorConstructor === "function") {
|
|
2480
|
-
try {
|
|
2481
|
-
let error = new ErrorConstructor(val.message);
|
|
2482
|
-
error.stack = val.stack;
|
|
2483
|
-
serialized[key] = error;
|
|
2484
|
-
} catch (e) {
|
|
2485
|
-
}
|
|
2486
|
-
}
|
|
2487
|
-
}
|
|
2488
|
-
if (serialized[key] == null) {
|
|
2489
|
-
let error = new Error(val.message);
|
|
2490
|
-
error.stack = val.stack;
|
|
2491
|
-
serialized[key] = error;
|
|
2492
|
-
}
|
|
2493
|
-
} else {
|
|
2494
|
-
serialized[key] = val;
|
|
2495
|
-
}
|
|
2496
|
-
}
|
|
2497
|
-
return serialized;
|
|
2498
|
-
}
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
2433
|
|
|
2502
2434
|
|
|
2503
2435
|
|
|
@@ -2627,4 +2559,4 @@ function deserializeErrors(errors) {
|
|
|
2627
2559
|
|
|
2628
2560
|
|
|
2629
2561
|
|
|
2630
|
-
exports.Await =
|
|
2562
|
+
exports.Await = _chunkIEF7VMTAjs.Await; exports.BrowserRouter = _chunkWICLSFKLjs.BrowserRouter; exports.Form = _chunkWICLSFKLjs.Form; exports.HashRouter = _chunkWICLSFKLjs.HashRouter; exports.IDLE_BLOCKER = _chunkIEF7VMTAjs.IDLE_BLOCKER; exports.IDLE_FETCHER = _chunkIEF7VMTAjs.IDLE_FETCHER; exports.IDLE_NAVIGATION = _chunkIEF7VMTAjs.IDLE_NAVIGATION; exports.Link = _chunkWICLSFKLjs.Link; exports.Links = _chunkIEF7VMTAjs.Links; exports.MemoryRouter = _chunkIEF7VMTAjs.MemoryRouter; exports.Meta = _chunkIEF7VMTAjs.Meta; exports.NavLink = _chunkWICLSFKLjs.NavLink; exports.Navigate = _chunkIEF7VMTAjs.Navigate; exports.NavigationType = _chunkIEF7VMTAjs.Action; exports.Outlet = _chunkIEF7VMTAjs.Outlet; exports.PrefetchPageLinks = _chunkIEF7VMTAjs.PrefetchPageLinks; exports.Route = _chunkIEF7VMTAjs.Route; exports.Router = _chunkIEF7VMTAjs.Router; exports.RouterContextProvider = _chunkIEF7VMTAjs.RouterContextProvider; exports.RouterProvider = _chunkIEF7VMTAjs.RouterProvider; exports.Routes = _chunkIEF7VMTAjs.Routes; exports.Scripts = _chunkIEF7VMTAjs.Scripts; exports.ScrollRestoration = _chunkWICLSFKLjs.ScrollRestoration; exports.ServerRouter = ServerRouter; exports.StaticRouter = _chunkWICLSFKLjs.StaticRouter; exports.StaticRouterProvider = _chunkWICLSFKLjs.StaticRouterProvider; exports.UNSAFE_AwaitContextProvider = _chunkIEF7VMTAjs.AwaitContextProvider; exports.UNSAFE_DataRouterContext = _chunkIEF7VMTAjs.DataRouterContext; exports.UNSAFE_DataRouterStateContext = _chunkIEF7VMTAjs.DataRouterStateContext; exports.UNSAFE_ErrorResponseImpl = _chunkIEF7VMTAjs.ErrorResponseImpl; exports.UNSAFE_FetchersContext = _chunkIEF7VMTAjs.FetchersContext; exports.UNSAFE_FrameworkContext = _chunkIEF7VMTAjs.FrameworkContext; exports.UNSAFE_LocationContext = _chunkIEF7VMTAjs.LocationContext; exports.UNSAFE_NavigationContext = _chunkIEF7VMTAjs.NavigationContext; exports.UNSAFE_RSCDefaultRootErrorBoundary = _chunkGOIER6MLjs.RSCDefaultRootErrorBoundary; exports.UNSAFE_RemixErrorBoundary = _chunkIEF7VMTAjs.RemixErrorBoundary; exports.UNSAFE_RouteContext = _chunkIEF7VMTAjs.RouteContext; exports.UNSAFE_ServerMode = ServerMode; exports.UNSAFE_SingleFetchRedirectSymbol = _chunkIEF7VMTAjs.SingleFetchRedirectSymbol; exports.UNSAFE_ViewTransitionContext = _chunkIEF7VMTAjs.ViewTransitionContext; exports.UNSAFE_WithComponentProps = _chunkIEF7VMTAjs.WithComponentProps; exports.UNSAFE_WithErrorBoundaryProps = _chunkIEF7VMTAjs.WithErrorBoundaryProps; exports.UNSAFE_WithHydrateFallbackProps = _chunkIEF7VMTAjs.WithHydrateFallbackProps; exports.UNSAFE_createBrowserHistory = _chunkIEF7VMTAjs.createBrowserHistory; exports.UNSAFE_createClientRoutes = _chunkIEF7VMTAjs.createClientRoutes; exports.UNSAFE_createClientRoutesWithHMRRevalidationOptOut = _chunkIEF7VMTAjs.createClientRoutesWithHMRRevalidationOptOut; exports.UNSAFE_createHashHistory = _chunkIEF7VMTAjs.createHashHistory; exports.UNSAFE_createMemoryHistory = _chunkIEF7VMTAjs.createMemoryHistory; exports.UNSAFE_createRouter = _chunkIEF7VMTAjs.createRouter; exports.UNSAFE_decodeViaTurboStream = _chunkIEF7VMTAjs.decodeViaTurboStream; exports.UNSAFE_getHydrationData = _chunkGOIER6MLjs.getHydrationData; exports.UNSAFE_getPatchRoutesOnNavigationFunction = _chunkIEF7VMTAjs.getPatchRoutesOnNavigationFunction; exports.UNSAFE_getTurboStreamSingleFetchDataStrategy = _chunkIEF7VMTAjs.getTurboStreamSingleFetchDataStrategy; exports.UNSAFE_hydrationRouteProperties = _chunkIEF7VMTAjs.hydrationRouteProperties; exports.UNSAFE_invariant = _chunkIEF7VMTAjs.invariant; exports.UNSAFE_mapRouteProperties = _chunkIEF7VMTAjs.mapRouteProperties; exports.UNSAFE_shouldHydrateRouteLoader = _chunkIEF7VMTAjs.shouldHydrateRouteLoader; exports.UNSAFE_useFogOFWarDiscovery = _chunkIEF7VMTAjs.useFogOFWarDiscovery; exports.UNSAFE_useScrollRestoration = _chunkWICLSFKLjs.useScrollRestoration; exports.UNSAFE_withComponentProps = _chunkIEF7VMTAjs.withComponentProps; exports.UNSAFE_withErrorBoundaryProps = _chunkIEF7VMTAjs.withErrorBoundaryProps; exports.UNSAFE_withHydrateFallbackProps = _chunkIEF7VMTAjs.withHydrateFallbackProps; exports.createBrowserRouter = _chunkWICLSFKLjs.createBrowserRouter; exports.createContext = _chunkIEF7VMTAjs.createContext; exports.createCookie = createCookie; exports.createCookieSessionStorage = createCookieSessionStorage; exports.createHashRouter = _chunkWICLSFKLjs.createHashRouter; exports.createMemoryRouter = _chunkIEF7VMTAjs.createMemoryRouter; exports.createMemorySessionStorage = createMemorySessionStorage; exports.createPath = _chunkIEF7VMTAjs.createPath; exports.createRequestHandler = createRequestHandler; exports.createRoutesFromChildren = _chunkIEF7VMTAjs.createRoutesFromChildren; exports.createRoutesFromElements = _chunkIEF7VMTAjs.createRoutesFromElements; exports.createRoutesStub = createRoutesStub; exports.createSearchParams = _chunkWICLSFKLjs.createSearchParams; exports.createSession = createSession; exports.createSessionStorage = createSessionStorage; exports.createStaticHandler = _chunkWICLSFKLjs.createStaticHandler; exports.createStaticRouter = _chunkWICLSFKLjs.createStaticRouter; exports.data = _chunkIEF7VMTAjs.data; exports.generatePath = _chunkIEF7VMTAjs.generatePath; exports.href = href; exports.isCookie = isCookie; exports.isRouteErrorResponse = _chunkIEF7VMTAjs.isRouteErrorResponse; exports.isSession = isSession; exports.matchPath = _chunkIEF7VMTAjs.matchPath; exports.matchRoutes = _chunkIEF7VMTAjs.matchRoutes; exports.parsePath = _chunkIEF7VMTAjs.parsePath; exports.redirect = _chunkIEF7VMTAjs.redirect; exports.redirectDocument = _chunkIEF7VMTAjs.redirectDocument; exports.renderMatches = _chunkIEF7VMTAjs.renderMatches; exports.replace = _chunkIEF7VMTAjs.replace; exports.resolvePath = _chunkIEF7VMTAjs.resolvePath; exports.unstable_HistoryRouter = _chunkWICLSFKLjs.HistoryRouter; exports.unstable_RSCStaticRouter = RSCStaticRouter; exports.unstable_routeRSCServerRequest = routeRSCServerRequest; exports.unstable_setDevServerHooks = setDevServerHooks; exports.unstable_usePrompt = _chunkWICLSFKLjs.usePrompt; exports.unstable_useRoute = _chunkIEF7VMTAjs.useRoute; exports.unstable_useRouterState = _chunkIEF7VMTAjs.useRouterState; exports.useActionData = _chunkIEF7VMTAjs.useActionData; exports.useAsyncError = _chunkIEF7VMTAjs.useAsyncError; exports.useAsyncValue = _chunkIEF7VMTAjs.useAsyncValue; exports.useBeforeUnload = _chunkWICLSFKLjs.useBeforeUnload; exports.useBlocker = _chunkIEF7VMTAjs.useBlocker; exports.useFetcher = _chunkWICLSFKLjs.useFetcher; exports.useFetchers = _chunkWICLSFKLjs.useFetchers; exports.useFormAction = _chunkWICLSFKLjs.useFormAction; exports.useHref = _chunkIEF7VMTAjs.useHref; exports.useInRouterContext = _chunkIEF7VMTAjs.useInRouterContext; exports.useLinkClickHandler = _chunkWICLSFKLjs.useLinkClickHandler; exports.useLoaderData = _chunkIEF7VMTAjs.useLoaderData; exports.useLocation = _chunkIEF7VMTAjs.useLocation; exports.useMatch = _chunkIEF7VMTAjs.useMatch; exports.useMatches = _chunkIEF7VMTAjs.useMatches; exports.useNavigate = _chunkIEF7VMTAjs.useNavigate; exports.useNavigation = _chunkIEF7VMTAjs.useNavigation; exports.useNavigationType = _chunkIEF7VMTAjs.useNavigationType; exports.useOutlet = _chunkIEF7VMTAjs.useOutlet; exports.useOutletContext = _chunkIEF7VMTAjs.useOutletContext; exports.useParams = _chunkIEF7VMTAjs.useParams; exports.useResolvedPath = _chunkIEF7VMTAjs.useResolvedPath; exports.useRevalidator = _chunkIEF7VMTAjs.useRevalidator; exports.useRouteError = _chunkIEF7VMTAjs.useRouteError; exports.useRouteLoaderData = _chunkIEF7VMTAjs.useRouteLoaderData; exports.useRoutes = _chunkIEF7VMTAjs.useRoutes; exports.useSearchParams = _chunkWICLSFKLjs.useSearchParams; exports.useSubmit = _chunkWICLSFKLjs.useSubmit; exports.useViewTransitionState = _chunkWICLSFKLjs.useViewTransitionState;
|