@tanstack/react-router 1.40.0 → 1.41.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/dist/cjs/CatchBoundary.d.cts +2 -2
- package/dist/cjs/Match.cjs +238 -0
- package/dist/cjs/Match.cjs.map +1 -0
- package/dist/cjs/Match.d.cts +5 -0
- package/dist/cjs/Matches.cjs +8 -249
- package/dist/cjs/Matches.cjs.map +1 -1
- package/dist/cjs/Matches.d.cts +2 -11
- package/dist/cjs/RouterProvider.cjs.map +1 -1
- package/dist/cjs/RouterProvider.d.cts +2 -2
- package/dist/cjs/SafeFragment.cjs +8 -0
- package/dist/cjs/SafeFragment.cjs.map +1 -0
- package/dist/cjs/SafeFragment.d.cts +1 -0
- package/dist/cjs/ScriptOnce.cjs +28 -0
- package/dist/cjs/ScriptOnce.cjs.map +1 -0
- package/dist/cjs/ScriptOnce.d.cts +5 -0
- package/dist/cjs/Transitioner.cjs +2 -1
- package/dist/cjs/Transitioner.cjs.map +1 -1
- package/dist/cjs/awaited.cjs +14 -71
- package/dist/cjs/awaited.cjs.map +1 -1
- package/dist/cjs/awaited.d.cts +3 -6
- package/dist/cjs/defer.cjs +7 -13
- package/dist/cjs/defer.cjs.map +1 -1
- package/dist/cjs/defer.d.cts +2 -6
- package/dist/cjs/index.cjs +11 -7
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +8 -3
- package/dist/cjs/isServerSideError.cjs +22 -0
- package/dist/cjs/isServerSideError.cjs.map +1 -0
- package/dist/cjs/isServerSideError.d.cts +5 -0
- package/dist/cjs/link.cjs +1 -0
- package/dist/cjs/link.cjs.map +1 -1
- package/dist/cjs/matchContext.cjs +23 -0
- package/dist/cjs/matchContext.cjs.map +1 -0
- package/dist/cjs/matchContext.d.cts +2 -0
- package/dist/cjs/not-found.cjs.map +1 -1
- package/dist/cjs/not-found.d.cts +2 -2
- package/dist/cjs/qss.cjs.map +1 -1
- package/dist/cjs/qss.d.cts +1 -1
- package/dist/cjs/redirects.cjs.map +1 -1
- package/dist/cjs/renderRouteNotFound.cjs +22 -0
- package/dist/cjs/renderRouteNotFound.cjs.map +1 -0
- package/dist/cjs/renderRouteNotFound.d.cts +4 -0
- package/dist/cjs/route.cjs.map +1 -1
- package/dist/cjs/router.cjs +26 -22
- package/dist/cjs/router.cjs.map +1 -1
- package/dist/cjs/router.d.cts +14 -9
- package/dist/cjs/useMatch.cjs +2 -2
- package/dist/cjs/useMatch.cjs.map +1 -1
- package/dist/cjs/utils.cjs +4 -3
- package/dist/cjs/utils.cjs.map +1 -1
- package/dist/cjs/utils.d.cts +3 -2
- package/dist/esm/CatchBoundary.d.ts +2 -2
- package/dist/esm/Match.d.ts +5 -0
- package/dist/esm/Match.js +221 -0
- package/dist/esm/Match.js.map +1 -0
- package/dist/esm/Matches.d.ts +2 -11
- package/dist/esm/Matches.js +5 -246
- package/dist/esm/Matches.js.map +1 -1
- package/dist/esm/RouterProvider.d.ts +2 -2
- package/dist/esm/RouterProvider.js.map +1 -1
- package/dist/esm/SafeFragment.d.ts +1 -0
- package/dist/esm/SafeFragment.js +8 -0
- package/dist/esm/SafeFragment.js.map +1 -0
- package/dist/esm/ScriptOnce.d.ts +5 -0
- package/dist/esm/ScriptOnce.js +28 -0
- package/dist/esm/ScriptOnce.js.map +1 -0
- package/dist/esm/Transitioner.js +2 -1
- package/dist/esm/Transitioner.js.map +1 -1
- package/dist/esm/awaited.d.ts +3 -6
- package/dist/esm/awaited.js +16 -73
- package/dist/esm/awaited.js.map +1 -1
- package/dist/esm/defer.d.ts +2 -6
- package/dist/esm/defer.js +8 -14
- package/dist/esm/defer.js.map +1 -1
- package/dist/esm/index.d.ts +8 -3
- package/dist/esm/index.js +9 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/isServerSideError.d.ts +5 -0
- package/dist/esm/isServerSideError.js +22 -0
- package/dist/esm/isServerSideError.js.map +1 -0
- package/dist/esm/link.js +1 -0
- package/dist/esm/link.js.map +1 -1
- package/dist/esm/matchContext.d.ts +2 -0
- package/dist/esm/matchContext.js +6 -0
- package/dist/esm/matchContext.js.map +1 -0
- package/dist/esm/not-found.d.ts +2 -2
- package/dist/esm/not-found.js.map +1 -1
- package/dist/esm/qss.d.ts +1 -1
- package/dist/esm/qss.js.map +1 -1
- package/dist/esm/redirects.js.map +1 -1
- package/dist/esm/renderRouteNotFound.d.ts +4 -0
- package/dist/esm/renderRouteNotFound.js +22 -0
- package/dist/esm/renderRouteNotFound.js.map +1 -0
- package/dist/esm/route.js.map +1 -1
- package/dist/esm/router.d.ts +14 -9
- package/dist/esm/router.js +26 -22
- package/dist/esm/router.js.map +1 -1
- package/dist/esm/useMatch.js +1 -1
- package/dist/esm/useMatch.js.map +1 -1
- package/dist/esm/utils.d.ts +3 -2
- package/dist/esm/utils.js +4 -3
- package/dist/esm/utils.js.map +1 -1
- package/package.json +4 -4
- package/src/Match.tsx +296 -0
- package/src/Matches.tsx +4 -333
- package/src/RouterProvider.tsx +1 -1
- package/src/SafeFragment.tsx +5 -0
- package/src/ScriptOnce.tsx +27 -0
- package/src/Transitioner.tsx +1 -1
- package/src/awaited.tsx +17 -89
- package/src/defer.ts +9 -26
- package/src/index.tsx +7 -13
- package/src/isServerSideError.tsx +23 -0
- package/src/link.tsx +2 -0
- package/src/matchContext.tsx +3 -0
- package/src/not-found.tsx +1 -1
- package/src/qss.ts +5 -6
- package/src/redirects.ts +0 -1
- package/src/renderRouteNotFound.tsx +28 -0
- package/src/route.ts +1 -1
- package/src/router.ts +50 -39
- package/src/useMatch.tsx +1 -1
- package/src/utils.ts +11 -9
package/dist/cjs/router.cjs
CHANGED
|
@@ -52,7 +52,7 @@ class Router {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
if (
|
|
55
|
-
// eslint-disable-next-line
|
|
55
|
+
// eslint-disable-next-line ts/no-unnecessary-condition
|
|
56
56
|
!this.history || this.options.history && this.options.history !== this.history
|
|
57
57
|
) {
|
|
58
58
|
this.history = this.options.history ?? (typeof document !== "undefined" ? history.createBrowserHistory() : history.createMemoryHistory({
|
|
@@ -342,6 +342,7 @@ class Router {
|
|
|
342
342
|
}
|
|
343
343
|
match = {
|
|
344
344
|
id: matchId,
|
|
345
|
+
index,
|
|
345
346
|
routeId: route.id,
|
|
346
347
|
params: routeParams,
|
|
347
348
|
pathname: path.joinPaths([this.basepath, interpolatedPath]),
|
|
@@ -946,7 +947,13 @@ class Router {
|
|
|
946
947
|
})
|
|
947
948
|
);
|
|
948
949
|
}
|
|
949
|
-
|
|
950
|
+
let loaderData = await loaderPromise;
|
|
951
|
+
if (this.serializeLoaderData) {
|
|
952
|
+
loaderData = this.serializeLoaderData(loaderData, {
|
|
953
|
+
router: this,
|
|
954
|
+
match
|
|
955
|
+
});
|
|
956
|
+
}
|
|
950
957
|
checkLatest();
|
|
951
958
|
handleRedirectAndNotFound(match, loaderData);
|
|
952
959
|
await potentialPendingMinPromise();
|
|
@@ -1161,29 +1168,26 @@ class Router {
|
|
|
1161
1168
|
}
|
|
1162
1169
|
return match;
|
|
1163
1170
|
};
|
|
1164
|
-
this.registeredDeferredsIds = /* @__PURE__ */ new Map();
|
|
1165
|
-
this.registeredDeferreds = /* @__PURE__ */ new WeakMap();
|
|
1166
|
-
this.getDeferred = (uid) => {
|
|
1167
|
-
const token = this.registeredDeferredsIds.get(uid);
|
|
1168
|
-
if (!token) {
|
|
1169
|
-
return void 0;
|
|
1170
|
-
}
|
|
1171
|
-
return this.registeredDeferreds.get(token);
|
|
1172
|
-
};
|
|
1173
1171
|
this.dehydrate = () => {
|
|
1174
1172
|
var _a;
|
|
1175
1173
|
const pickError = ((_a = this.options.errorSerializer) == null ? void 0 : _a.serialize) ?? defaultSerializeError;
|
|
1176
1174
|
return {
|
|
1177
1175
|
state: {
|
|
1178
|
-
dehydratedMatches: this.state.matches.map((d) =>
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1176
|
+
dehydratedMatches: this.state.matches.map((d) => {
|
|
1177
|
+
return {
|
|
1178
|
+
...utils.pick(d, ["id", "status", "updatedAt"]),
|
|
1179
|
+
// If an error occurs server-side during SSRing,
|
|
1180
|
+
// send a small subset of the error to the client
|
|
1181
|
+
error: d.error ? {
|
|
1182
|
+
data: pickError(d.error),
|
|
1183
|
+
__isServerError: true
|
|
1184
|
+
} : void 0
|
|
1185
|
+
// NOTE: We don't send the loader data here, because
|
|
1186
|
+
// there is a potential that it needs to be streamed.
|
|
1187
|
+
// Instead, we render it next to the route match in the HTML
|
|
1188
|
+
// which gives us the potential to stream it via suspense.
|
|
1189
|
+
};
|
|
1190
|
+
})
|
|
1187
1191
|
},
|
|
1188
1192
|
manifest: this.manifest
|
|
1189
1193
|
};
|
|
@@ -1192,11 +1196,11 @@ class Router {
|
|
|
1192
1196
|
var _a, _b, _c;
|
|
1193
1197
|
let _ctx = __do_not_use_server_ctx;
|
|
1194
1198
|
if (typeof document !== "undefined") {
|
|
1195
|
-
_ctx = (_a = window.
|
|
1199
|
+
_ctx = (_a = window.__TSR__) == null ? void 0 : _a.dehydrated;
|
|
1196
1200
|
}
|
|
1197
1201
|
invariant(
|
|
1198
1202
|
_ctx,
|
|
1199
|
-
"Expected to find a
|
|
1203
|
+
"Expected to find a dehydrated data on window.__TSR__.dehydrated... but we did not. Please file an issue!"
|
|
1200
1204
|
);
|
|
1201
1205
|
const ctx = this.options.transformer.parse(_ctx);
|
|
1202
1206
|
this.dehydratedData = ctx.payload;
|