react-router 7.3.0-pre.0 → 7.3.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 +5 -1
- package/dist/development/{chunk-W5LWFPOT.mjs → chunk-K6CSEXPM.mjs} +40 -113
- package/dist/development/dom-export.js +39 -108
- package/dist/development/dom-export.mjs +2 -2
- package/dist/development/index.js +40 -113
- package/dist/development/index.mjs +2 -2
- package/dist/development/lib/types/route-module.d.mts +6 -5
- package/dist/development/lib/types/route-module.d.ts +6 -5
- package/dist/development/lib/types/route-module.js +1 -1
- package/dist/development/lib/types/route-module.mjs +1 -1
- package/dist/production/{chunk-ZITGHOQF.mjs → chunk-RFJZTPXA.mjs} +40 -113
- package/dist/production/dom-export.js +39 -108
- package/dist/production/dom-export.mjs +2 -2
- package/dist/production/index.js +40 -113
- package/dist/production/index.mjs +2 -2
- package/dist/production/lib/types/route-module.d.mts +6 -5
- package/dist/production/lib/types/route-module.d.ts +6 -5
- package/dist/production/lib/types/route-module.js +1 -1
- package/dist/production/lib/types/route-module.mjs +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `react-router`
|
|
2
2
|
|
|
3
|
-
## 7.3.0
|
|
3
|
+
## 7.3.0
|
|
4
4
|
|
|
5
5
|
### Minor Changes
|
|
6
6
|
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
### Patch Changes
|
|
14
14
|
|
|
15
15
|
- Skip resource route flow in dev server in SPA mode ([#13113](https://github.com/remix-run/react-router/pull/13113))
|
|
16
|
+
|
|
16
17
|
- Support middleware on routes (unstable) ([#12941](https://github.com/remix-run/react-router/pull/12941))
|
|
17
18
|
|
|
18
19
|
Middleware is implemented behind a `future.unstable_middleware` flag. To enable, you must enable the flag and the types in your `react-router-config.ts` file:
|
|
@@ -211,7 +212,10 @@
|
|
|
211
212
|
|
|
212
213
|
For library and framework authors using `unstable_SerializesTo`, you may need to add `as unknown` casts before casting to `unstable_SerializesTo`.
|
|
213
214
|
|
|
215
|
+
- \[REMOVE] Remove middleware depth logic and always call middlware for all matches ([#13172](https://github.com/remix-run/react-router/pull/13172))
|
|
216
|
+
|
|
214
217
|
- Fix single fetch `_root.data` requests when a `basename` is used ([#12898](https://github.com/remix-run/react-router/pull/12898))
|
|
218
|
+
|
|
215
219
|
- Add `context` support to client side data routers (unstable) ([#12941](https://github.com/remix-run/react-router/pull/12941))
|
|
216
220
|
|
|
217
221
|
Your application `loader` and `action` functions on the client will now receive a `context` parameter. This is an instance of `unstable_RouterContextProvider` that you use with type-safe contexts (similar to `React.createContext`) and is most useful with the corresponding `middleware`/`clientMiddleware` API's:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* react-router v7.3.0
|
|
2
|
+
* react-router v7.3.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -2687,8 +2687,6 @@ function createStaticHandler(routes, opts) {
|
|
|
2687
2687
|
"When using middleware in `staticHandler.query()`, any provided `requestContext` must bean instance of `unstable_RouterContextProvider`"
|
|
2688
2688
|
);
|
|
2689
2689
|
try {
|
|
2690
|
-
let tailIdx = [...matches].reverse().findIndex((m) => !filterMatchesToLoad || filterMatchesToLoad(m));
|
|
2691
|
-
let lowestLoadingIdx = tailIdx < 0 ? 0 : matches.length - 1 - tailIdx;
|
|
2692
2690
|
let renderedStaticContext;
|
|
2693
2691
|
let response = await runMiddlewarePipeline(
|
|
2694
2692
|
{
|
|
@@ -2699,7 +2697,6 @@ function createStaticHandler(routes, opts) {
|
|
|
2699
2697
|
// this to the proper type knowing it's not an `AppLoadContext`
|
|
2700
2698
|
context: requestContext
|
|
2701
2699
|
},
|
|
2702
|
-
lowestLoadingIdx,
|
|
2703
2700
|
true,
|
|
2704
2701
|
async () => {
|
|
2705
2702
|
let result2 = await queryImpl(
|
|
@@ -2819,7 +2816,6 @@ function createStaticHandler(routes, opts) {
|
|
|
2819
2816
|
// this to the proper type knowing it's not an `AppLoadContext`
|
|
2820
2817
|
context: requestContext
|
|
2821
2818
|
},
|
|
2822
|
-
matches.length - 1,
|
|
2823
2819
|
true,
|
|
2824
2820
|
async () => {
|
|
2825
2821
|
let result2 = await queryImpl(
|
|
@@ -3576,55 +3572,39 @@ async function defaultDataStrategyWithMiddleware(args) {
|
|
|
3576
3572
|
if (!args.matches.some((m) => m.route.unstable_middleware)) {
|
|
3577
3573
|
return defaultDataStrategy(args);
|
|
3578
3574
|
}
|
|
3579
|
-
|
|
3580
|
-
for (let i = lastIndex; i >= 0; i--) {
|
|
3581
|
-
if (args.matches[i].shouldLoad) {
|
|
3582
|
-
lastIndex = i;
|
|
3583
|
-
break;
|
|
3584
|
-
}
|
|
3585
|
-
}
|
|
3586
|
-
let results = await runMiddlewarePipeline(
|
|
3575
|
+
return runMiddlewarePipeline(
|
|
3587
3576
|
args,
|
|
3588
|
-
lastIndex,
|
|
3589
3577
|
false,
|
|
3590
|
-
|
|
3591
|
-
|
|
3592
|
-
},
|
|
3593
|
-
(e, keyedResults) => {
|
|
3594
|
-
Object.assign(keyedResults, {
|
|
3595
|
-
[e.routeId]: { type: "error", result: e.error }
|
|
3596
|
-
});
|
|
3597
|
-
}
|
|
3578
|
+
() => defaultDataStrategy(args),
|
|
3579
|
+
(e) => ({ [e.routeId]: { type: "error", result: e.error } })
|
|
3598
3580
|
);
|
|
3599
|
-
return results;
|
|
3600
3581
|
}
|
|
3601
|
-
async function runMiddlewarePipeline({
|
|
3602
|
-
request,
|
|
3603
|
-
params,
|
|
3604
|
-
context,
|
|
3605
|
-
matches
|
|
3606
|
-
}, lastIndex, propagateResult, handler, errorHandler) {
|
|
3582
|
+
async function runMiddlewarePipeline(args, propagateResult, handler, errorHandler) {
|
|
3583
|
+
let { matches, request, params, context } = args;
|
|
3607
3584
|
let middlewareState = {
|
|
3608
|
-
|
|
3585
|
+
handlerResult: void 0,
|
|
3609
3586
|
propagateResult
|
|
3610
3587
|
};
|
|
3611
3588
|
try {
|
|
3589
|
+
let tuples = matches.flatMap(
|
|
3590
|
+
(m) => m.route.unstable_middleware ? m.route.unstable_middleware.map((fn) => [m.route.id, fn]) : []
|
|
3591
|
+
);
|
|
3612
3592
|
let result = await callRouteMiddleware(
|
|
3613
|
-
matches.slice(0, lastIndex + 1).flatMap(
|
|
3614
|
-
(m) => m.route.unstable_middleware ? m.route.unstable_middleware.map((fn) => [m.route.id, fn]) : []
|
|
3615
|
-
),
|
|
3616
|
-
0,
|
|
3617
3593
|
{ request, params, context },
|
|
3594
|
+
tuples,
|
|
3618
3595
|
middlewareState,
|
|
3619
3596
|
handler
|
|
3620
3597
|
);
|
|
3621
|
-
return middlewareState.propagateResult ? result : middlewareState.
|
|
3598
|
+
return middlewareState.propagateResult ? result : middlewareState.handlerResult;
|
|
3622
3599
|
} catch (e) {
|
|
3623
3600
|
if (!(e instanceof MiddlewareError)) {
|
|
3624
3601
|
throw e;
|
|
3625
3602
|
}
|
|
3626
|
-
let result = await errorHandler(e
|
|
3627
|
-
|
|
3603
|
+
let result = await errorHandler(e);
|
|
3604
|
+
if (propagateResult || !middlewareState.handlerResult) {
|
|
3605
|
+
return result;
|
|
3606
|
+
}
|
|
3607
|
+
return Object.assign(middlewareState.handlerResult, result);
|
|
3628
3608
|
}
|
|
3629
3609
|
}
|
|
3630
3610
|
var MiddlewareError = class {
|
|
@@ -3633,7 +3613,7 @@ var MiddlewareError = class {
|
|
|
3633
3613
|
this.error = error;
|
|
3634
3614
|
}
|
|
3635
3615
|
};
|
|
3636
|
-
async function callRouteMiddleware(
|
|
3616
|
+
async function callRouteMiddleware(args, middlewares, middlewareState, handler, idx = 0) {
|
|
3637
3617
|
let { request } = args;
|
|
3638
3618
|
if (request.signal.aborted) {
|
|
3639
3619
|
if (request.signal.reason) {
|
|
@@ -3645,8 +3625,8 @@ async function callRouteMiddleware(middlewares, idx, args, middlewareState, hand
|
|
|
3645
3625
|
}
|
|
3646
3626
|
let tuple = middlewares[idx];
|
|
3647
3627
|
if (!tuple) {
|
|
3648
|
-
|
|
3649
|
-
return
|
|
3628
|
+
middlewareState.handlerResult = await handler();
|
|
3629
|
+
return middlewareState.handlerResult;
|
|
3650
3630
|
}
|
|
3651
3631
|
let [routeId, middleware] = tuple;
|
|
3652
3632
|
let nextCalled = false;
|
|
@@ -3657,11 +3637,11 @@ async function callRouteMiddleware(middlewares, idx, args, middlewareState, hand
|
|
|
3657
3637
|
}
|
|
3658
3638
|
nextCalled = true;
|
|
3659
3639
|
let result = await callRouteMiddleware(
|
|
3660
|
-
middlewares,
|
|
3661
|
-
idx + 1,
|
|
3662
3640
|
args,
|
|
3641
|
+
middlewares,
|
|
3663
3642
|
middlewareState,
|
|
3664
|
-
handler
|
|
3643
|
+
handler,
|
|
3644
|
+
idx + 1
|
|
3665
3645
|
);
|
|
3666
3646
|
if (middlewareState.propagateResult) {
|
|
3667
3647
|
nextResult = result;
|
|
@@ -6024,28 +6004,15 @@ function StreamTransfer({
|
|
|
6024
6004
|
)));
|
|
6025
6005
|
}
|
|
6026
6006
|
}
|
|
6027
|
-
function middlewareErrorHandler(e, keyedResults) {
|
|
6028
|
-
Object.assign(keyedResults, {
|
|
6029
|
-
[e.routeId]: { type: "error", result: e.error }
|
|
6030
|
-
});
|
|
6031
|
-
}
|
|
6032
6007
|
function getSingleFetchDataStrategy(manifest, routeModules, ssr, basename, getRouter) {
|
|
6033
6008
|
return async (args) => {
|
|
6034
6009
|
let { request, matches, fetcherKey } = args;
|
|
6035
6010
|
if (request.method !== "GET") {
|
|
6036
6011
|
return runMiddlewarePipeline(
|
|
6037
6012
|
args,
|
|
6038
|
-
matches.findIndex((m) => m.shouldLoad),
|
|
6039
6013
|
false,
|
|
6040
|
-
|
|
6041
|
-
|
|
6042
|
-
request,
|
|
6043
|
-
matches,
|
|
6044
|
-
basename
|
|
6045
|
-
);
|
|
6046
|
-
Object.assign(keyedResults, results);
|
|
6047
|
-
},
|
|
6048
|
-
middlewareErrorHandler
|
|
6014
|
+
() => singleFetchActionStrategy(request, matches, basename),
|
|
6015
|
+
(e) => ({ [e.routeId]: { type: "error", result: e.error } })
|
|
6049
6016
|
);
|
|
6050
6017
|
}
|
|
6051
6018
|
if (!ssr) {
|
|
@@ -6053,64 +6020,35 @@ function getSingleFetchDataStrategy(manifest, routeModules, ssr, basename, getRo
|
|
|
6053
6020
|
(m) => m.shouldLoad && manifest.routes[m.route.id]?.hasLoader && !manifest.routes[m.route.id]?.hasClientLoader
|
|
6054
6021
|
);
|
|
6055
6022
|
if (!foundRevalidatingServerLoader) {
|
|
6056
|
-
let tailIdx = [...matches].reverse().findIndex((m) => m.shouldLoad);
|
|
6057
|
-
let lowestLoadingIndex2 = tailIdx < 0 ? 0 : matches.length - 1 - tailIdx;
|
|
6058
6023
|
return runMiddlewarePipeline(
|
|
6059
6024
|
args,
|
|
6060
|
-
lowestLoadingIndex2,
|
|
6061
6025
|
false,
|
|
6062
|
-
|
|
6063
|
-
|
|
6064
|
-
manifest,
|
|
6065
|
-
request,
|
|
6066
|
-
matches,
|
|
6067
|
-
basename
|
|
6068
|
-
);
|
|
6069
|
-
Object.assign(keyedResults, results);
|
|
6070
|
-
},
|
|
6071
|
-
middlewareErrorHandler
|
|
6026
|
+
() => nonSsrStrategy(manifest, request, matches, basename),
|
|
6027
|
+
(e) => ({ [e.routeId]: { type: "error", result: e.error } })
|
|
6072
6028
|
);
|
|
6073
6029
|
}
|
|
6074
6030
|
}
|
|
6075
6031
|
if (fetcherKey) {
|
|
6076
6032
|
return runMiddlewarePipeline(
|
|
6077
6033
|
args,
|
|
6078
|
-
matches.findIndex((m) => m.shouldLoad),
|
|
6079
6034
|
false,
|
|
6080
|
-
|
|
6081
|
-
|
|
6082
|
-
request,
|
|
6083
|
-
matches,
|
|
6084
|
-
basename
|
|
6085
|
-
);
|
|
6086
|
-
Object.assign(keyedResults, results);
|
|
6087
|
-
},
|
|
6088
|
-
middlewareErrorHandler
|
|
6035
|
+
() => singleFetchLoaderFetcherStrategy(request, matches, basename),
|
|
6036
|
+
(e) => ({ [e.routeId]: { type: "error", result: e.error } })
|
|
6089
6037
|
);
|
|
6090
6038
|
}
|
|
6091
|
-
let lowestLoadingIndex = getLowestLoadingIndex(
|
|
6092
|
-
manifest,
|
|
6093
|
-
routeModules,
|
|
6094
|
-
getRouter(),
|
|
6095
|
-
matches
|
|
6096
|
-
);
|
|
6097
6039
|
return runMiddlewarePipeline(
|
|
6098
6040
|
args,
|
|
6099
|
-
lowestLoadingIndex,
|
|
6100
6041
|
false,
|
|
6101
|
-
|
|
6102
|
-
|
|
6103
|
-
|
|
6104
|
-
|
|
6105
|
-
|
|
6106
|
-
|
|
6107
|
-
|
|
6108
|
-
|
|
6109
|
-
|
|
6110
|
-
|
|
6111
|
-
Object.assign(keyedResults, results);
|
|
6112
|
-
},
|
|
6113
|
-
middlewareErrorHandler
|
|
6042
|
+
() => singleFetchLoaderNavigationStrategy(
|
|
6043
|
+
manifest,
|
|
6044
|
+
routeModules,
|
|
6045
|
+
ssr,
|
|
6046
|
+
getRouter(),
|
|
6047
|
+
request,
|
|
6048
|
+
matches,
|
|
6049
|
+
basename
|
|
6050
|
+
),
|
|
6051
|
+
(e) => ({ [e.routeId]: { type: "error", result: e.error } })
|
|
6114
6052
|
);
|
|
6115
6053
|
};
|
|
6116
6054
|
}
|
|
@@ -6163,17 +6101,6 @@ async function nonSsrStrategy(manifest, request, matches, basename) {
|
|
|
6163
6101
|
function isOptedOut(manifestRoute, routeModule, match, router) {
|
|
6164
6102
|
return match.route.id in router.state.loaderData && manifestRoute && manifestRoute.hasLoader && routeModule && routeModule.shouldRevalidate;
|
|
6165
6103
|
}
|
|
6166
|
-
function getLowestLoadingIndex(manifest, routeModules, router, matches) {
|
|
6167
|
-
let tailIdx = [...matches].reverse().findIndex(
|
|
6168
|
-
(m) => m.shouldLoad || !isOptedOut(
|
|
6169
|
-
manifest.routes[m.route.id],
|
|
6170
|
-
routeModules[m.route.id],
|
|
6171
|
-
m,
|
|
6172
|
-
router
|
|
6173
|
-
)
|
|
6174
|
-
);
|
|
6175
|
-
return tailIdx < 0 ? 0 : matches.length - 1 - tailIdx;
|
|
6176
|
-
}
|
|
6177
6104
|
async function singleFetchLoaderNavigationStrategy(manifest, routeModules, ssr, router, request, matches, basename) {
|
|
6178
6105
|
let routesParams = /* @__PURE__ */ new Set();
|
|
6179
6106
|
let foundOptOutRoute = false;
|
|
@@ -7588,7 +7515,7 @@ function mergeRefs(...refs) {
|
|
|
7588
7515
|
var isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined";
|
|
7589
7516
|
try {
|
|
7590
7517
|
if (isBrowser) {
|
|
7591
|
-
window.__reactRouterVersion = "7.3.0
|
|
7518
|
+
window.__reactRouterVersion = "7.3.0";
|
|
7592
7519
|
}
|
|
7593
7520
|
} catch (e) {
|
|
7594
7521
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* react-router v7.3.0
|
|
2
|
+
* react-router v7.3.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -2868,55 +2868,39 @@ async function defaultDataStrategyWithMiddleware(args) {
|
|
|
2868
2868
|
if (!args.matches.some((m) => m.route.unstable_middleware)) {
|
|
2869
2869
|
return defaultDataStrategy(args);
|
|
2870
2870
|
}
|
|
2871
|
-
|
|
2872
|
-
for (let i = lastIndex; i >= 0; i--) {
|
|
2873
|
-
if (args.matches[i].shouldLoad) {
|
|
2874
|
-
lastIndex = i;
|
|
2875
|
-
break;
|
|
2876
|
-
}
|
|
2877
|
-
}
|
|
2878
|
-
let results = await runMiddlewarePipeline(
|
|
2871
|
+
return runMiddlewarePipeline(
|
|
2879
2872
|
args,
|
|
2880
|
-
lastIndex,
|
|
2881
2873
|
false,
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
},
|
|
2885
|
-
(e, keyedResults) => {
|
|
2886
|
-
Object.assign(keyedResults, {
|
|
2887
|
-
[e.routeId]: { type: "error", result: e.error }
|
|
2888
|
-
});
|
|
2889
|
-
}
|
|
2874
|
+
() => defaultDataStrategy(args),
|
|
2875
|
+
(e) => ({ [e.routeId]: { type: "error", result: e.error } })
|
|
2890
2876
|
);
|
|
2891
|
-
return results;
|
|
2892
2877
|
}
|
|
2893
|
-
async function runMiddlewarePipeline({
|
|
2894
|
-
request,
|
|
2895
|
-
params,
|
|
2896
|
-
context,
|
|
2897
|
-
matches
|
|
2898
|
-
}, lastIndex, propagateResult, handler, errorHandler) {
|
|
2878
|
+
async function runMiddlewarePipeline(args, propagateResult, handler, errorHandler) {
|
|
2879
|
+
let { matches, request, params, context } = args;
|
|
2899
2880
|
let middlewareState = {
|
|
2900
|
-
|
|
2881
|
+
handlerResult: void 0,
|
|
2901
2882
|
propagateResult
|
|
2902
2883
|
};
|
|
2903
2884
|
try {
|
|
2885
|
+
let tuples = matches.flatMap(
|
|
2886
|
+
(m) => m.route.unstable_middleware ? m.route.unstable_middleware.map((fn) => [m.route.id, fn]) : []
|
|
2887
|
+
);
|
|
2904
2888
|
let result = await callRouteMiddleware(
|
|
2905
|
-
matches.slice(0, lastIndex + 1).flatMap(
|
|
2906
|
-
(m) => m.route.unstable_middleware ? m.route.unstable_middleware.map((fn) => [m.route.id, fn]) : []
|
|
2907
|
-
),
|
|
2908
|
-
0,
|
|
2909
2889
|
{ request, params, context },
|
|
2890
|
+
tuples,
|
|
2910
2891
|
middlewareState,
|
|
2911
2892
|
handler
|
|
2912
2893
|
);
|
|
2913
|
-
return middlewareState.propagateResult ? result : middlewareState.
|
|
2894
|
+
return middlewareState.propagateResult ? result : middlewareState.handlerResult;
|
|
2914
2895
|
} catch (e) {
|
|
2915
2896
|
if (!(e instanceof MiddlewareError)) {
|
|
2916
2897
|
throw e;
|
|
2917
2898
|
}
|
|
2918
|
-
let result = await errorHandler(e
|
|
2919
|
-
|
|
2899
|
+
let result = await errorHandler(e);
|
|
2900
|
+
if (propagateResult || !middlewareState.handlerResult) {
|
|
2901
|
+
return result;
|
|
2902
|
+
}
|
|
2903
|
+
return Object.assign(middlewareState.handlerResult, result);
|
|
2920
2904
|
}
|
|
2921
2905
|
}
|
|
2922
2906
|
var MiddlewareError = class {
|
|
@@ -2925,7 +2909,7 @@ var MiddlewareError = class {
|
|
|
2925
2909
|
this.error = error;
|
|
2926
2910
|
}
|
|
2927
2911
|
};
|
|
2928
|
-
async function callRouteMiddleware(
|
|
2912
|
+
async function callRouteMiddleware(args, middlewares, middlewareState, handler, idx = 0) {
|
|
2929
2913
|
let { request } = args;
|
|
2930
2914
|
if (request.signal.aborted) {
|
|
2931
2915
|
if (request.signal.reason) {
|
|
@@ -2937,8 +2921,8 @@ async function callRouteMiddleware(middlewares, idx, args, middlewareState, hand
|
|
|
2937
2921
|
}
|
|
2938
2922
|
let tuple = middlewares[idx];
|
|
2939
2923
|
if (!tuple) {
|
|
2940
|
-
|
|
2941
|
-
return
|
|
2924
|
+
middlewareState.handlerResult = await handler();
|
|
2925
|
+
return middlewareState.handlerResult;
|
|
2942
2926
|
}
|
|
2943
2927
|
let [routeId, middleware] = tuple;
|
|
2944
2928
|
let nextCalled = false;
|
|
@@ -2949,11 +2933,11 @@ async function callRouteMiddleware(middlewares, idx, args, middlewareState, hand
|
|
|
2949
2933
|
}
|
|
2950
2934
|
nextCalled = true;
|
|
2951
2935
|
let result = await callRouteMiddleware(
|
|
2952
|
-
middlewares,
|
|
2953
|
-
idx + 1,
|
|
2954
2936
|
args,
|
|
2937
|
+
middlewares,
|
|
2955
2938
|
middlewareState,
|
|
2956
|
-
handler
|
|
2939
|
+
handler,
|
|
2940
|
+
idx + 1
|
|
2957
2941
|
);
|
|
2958
2942
|
if (middlewareState.propagateResult) {
|
|
2959
2943
|
nextResult = result;
|
|
@@ -4528,28 +4512,15 @@ async function createRequestInit(request) {
|
|
|
4528
4512
|
|
|
4529
4513
|
// lib/dom/ssr/single-fetch.tsx
|
|
4530
4514
|
var SingleFetchRedirectSymbol = Symbol("SingleFetchRedirect");
|
|
4531
|
-
function middlewareErrorHandler(e, keyedResults) {
|
|
4532
|
-
Object.assign(keyedResults, {
|
|
4533
|
-
[e.routeId]: { type: "error", result: e.error }
|
|
4534
|
-
});
|
|
4535
|
-
}
|
|
4536
4515
|
function getSingleFetchDataStrategy(manifest, routeModules, ssr, basename, getRouter) {
|
|
4537
4516
|
return async (args) => {
|
|
4538
4517
|
let { request, matches, fetcherKey } = args;
|
|
4539
4518
|
if (request.method !== "GET") {
|
|
4540
4519
|
return runMiddlewarePipeline(
|
|
4541
4520
|
args,
|
|
4542
|
-
matches.findIndex((m) => m.shouldLoad),
|
|
4543
4521
|
false,
|
|
4544
|
-
|
|
4545
|
-
|
|
4546
|
-
request,
|
|
4547
|
-
matches,
|
|
4548
|
-
basename
|
|
4549
|
-
);
|
|
4550
|
-
Object.assign(keyedResults, results);
|
|
4551
|
-
},
|
|
4552
|
-
middlewareErrorHandler
|
|
4522
|
+
() => singleFetchActionStrategy(request, matches, basename),
|
|
4523
|
+
(e) => ({ [e.routeId]: { type: "error", result: e.error } })
|
|
4553
4524
|
);
|
|
4554
4525
|
}
|
|
4555
4526
|
if (!ssr) {
|
|
@@ -4557,64 +4528,35 @@ function getSingleFetchDataStrategy(manifest, routeModules, ssr, basename, getRo
|
|
|
4557
4528
|
(m) => m.shouldLoad && manifest.routes[m.route.id]?.hasLoader && !manifest.routes[m.route.id]?.hasClientLoader
|
|
4558
4529
|
);
|
|
4559
4530
|
if (!foundRevalidatingServerLoader) {
|
|
4560
|
-
let tailIdx = [...matches].reverse().findIndex((m) => m.shouldLoad);
|
|
4561
|
-
let lowestLoadingIndex2 = tailIdx < 0 ? 0 : matches.length - 1 - tailIdx;
|
|
4562
4531
|
return runMiddlewarePipeline(
|
|
4563
4532
|
args,
|
|
4564
|
-
lowestLoadingIndex2,
|
|
4565
4533
|
false,
|
|
4566
|
-
|
|
4567
|
-
|
|
4568
|
-
manifest,
|
|
4569
|
-
request,
|
|
4570
|
-
matches,
|
|
4571
|
-
basename
|
|
4572
|
-
);
|
|
4573
|
-
Object.assign(keyedResults, results);
|
|
4574
|
-
},
|
|
4575
|
-
middlewareErrorHandler
|
|
4534
|
+
() => nonSsrStrategy(manifest, request, matches, basename),
|
|
4535
|
+
(e) => ({ [e.routeId]: { type: "error", result: e.error } })
|
|
4576
4536
|
);
|
|
4577
4537
|
}
|
|
4578
4538
|
}
|
|
4579
4539
|
if (fetcherKey) {
|
|
4580
4540
|
return runMiddlewarePipeline(
|
|
4581
4541
|
args,
|
|
4582
|
-
matches.findIndex((m) => m.shouldLoad),
|
|
4583
4542
|
false,
|
|
4584
|
-
|
|
4585
|
-
|
|
4586
|
-
request,
|
|
4587
|
-
matches,
|
|
4588
|
-
basename
|
|
4589
|
-
);
|
|
4590
|
-
Object.assign(keyedResults, results);
|
|
4591
|
-
},
|
|
4592
|
-
middlewareErrorHandler
|
|
4543
|
+
() => singleFetchLoaderFetcherStrategy(request, matches, basename),
|
|
4544
|
+
(e) => ({ [e.routeId]: { type: "error", result: e.error } })
|
|
4593
4545
|
);
|
|
4594
4546
|
}
|
|
4595
|
-
let lowestLoadingIndex = getLowestLoadingIndex(
|
|
4596
|
-
manifest,
|
|
4597
|
-
routeModules,
|
|
4598
|
-
getRouter(),
|
|
4599
|
-
matches
|
|
4600
|
-
);
|
|
4601
4547
|
return runMiddlewarePipeline(
|
|
4602
4548
|
args,
|
|
4603
|
-
lowestLoadingIndex,
|
|
4604
4549
|
false,
|
|
4605
|
-
|
|
4606
|
-
|
|
4607
|
-
|
|
4608
|
-
|
|
4609
|
-
|
|
4610
|
-
|
|
4611
|
-
|
|
4612
|
-
|
|
4613
|
-
|
|
4614
|
-
|
|
4615
|
-
Object.assign(keyedResults, results);
|
|
4616
|
-
},
|
|
4617
|
-
middlewareErrorHandler
|
|
4550
|
+
() => singleFetchLoaderNavigationStrategy(
|
|
4551
|
+
manifest,
|
|
4552
|
+
routeModules,
|
|
4553
|
+
ssr,
|
|
4554
|
+
getRouter(),
|
|
4555
|
+
request,
|
|
4556
|
+
matches,
|
|
4557
|
+
basename
|
|
4558
|
+
),
|
|
4559
|
+
(e) => ({ [e.routeId]: { type: "error", result: e.error } })
|
|
4618
4560
|
);
|
|
4619
4561
|
};
|
|
4620
4562
|
}
|
|
@@ -4667,17 +4609,6 @@ async function nonSsrStrategy(manifest, request, matches, basename) {
|
|
|
4667
4609
|
function isOptedOut(manifestRoute, routeModule, match, router2) {
|
|
4668
4610
|
return match.route.id in router2.state.loaderData && manifestRoute && manifestRoute.hasLoader && routeModule && routeModule.shouldRevalidate;
|
|
4669
4611
|
}
|
|
4670
|
-
function getLowestLoadingIndex(manifest, routeModules, router2, matches) {
|
|
4671
|
-
let tailIdx = [...matches].reverse().findIndex(
|
|
4672
|
-
(m) => m.shouldLoad || !isOptedOut(
|
|
4673
|
-
manifest.routes[m.route.id],
|
|
4674
|
-
routeModules[m.route.id],
|
|
4675
|
-
m,
|
|
4676
|
-
router2
|
|
4677
|
-
)
|
|
4678
|
-
);
|
|
4679
|
-
return tailIdx < 0 ? 0 : matches.length - 1 - tailIdx;
|
|
4680
|
-
}
|
|
4681
4612
|
async function singleFetchLoaderNavigationStrategy(manifest, routeModules, ssr, router2, request, matches, basename) {
|
|
4682
4613
|
let routesParams = /* @__PURE__ */ new Set();
|
|
4683
4614
|
let foundOptOutRoute = false;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* react-router v7.3.0
|
|
2
|
+
* react-router v7.3.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
matchRoutes,
|
|
26
26
|
shouldHydrateRouteLoader,
|
|
27
27
|
useFogOFWarDiscovery
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-K6CSEXPM.mjs";
|
|
29
29
|
|
|
30
30
|
// lib/dom-export/dom-router-provider.tsx
|
|
31
31
|
import * as React from "react";
|