@tanstack/react-router 1.57.18 → 1.58.2
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/router.cjs +11 -2
- package/dist/cjs/router.cjs.map +1 -1
- package/dist/esm/router.js +11 -2
- package/dist/esm/router.js.map +1 -1
- package/package.json +2 -2
- package/src/router.ts +18 -6
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/react-router",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.58.2",
|
|
4
4
|
"description": "Modern and scalable routing for React applications",
|
|
5
5
|
"author": "Tanner Linsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"peerDependencies": {
|
|
67
67
|
"react": ">=18",
|
|
68
68
|
"react-dom": ">=18",
|
|
69
|
-
"@tanstack/router-generator": "1.
|
|
69
|
+
"@tanstack/router-generator": "1.58.1"
|
|
70
70
|
},
|
|
71
71
|
"peerDependenciesMeta": {
|
|
72
72
|
"@tanstack/router-generator": {
|
package/src/router.ts
CHANGED
|
@@ -532,6 +532,15 @@ export const componentTypes = [
|
|
|
532
532
|
'notFoundComponent',
|
|
533
533
|
] as const
|
|
534
534
|
|
|
535
|
+
function routeNeedsPreload(route: AnyRoute) {
|
|
536
|
+
for (const componentType of componentTypes) {
|
|
537
|
+
if ((route.options[componentType] as any)?.preload) {
|
|
538
|
+
return true
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
return false
|
|
542
|
+
}
|
|
543
|
+
|
|
535
544
|
export type RouterEvents = {
|
|
536
545
|
onBeforeNavigate: {
|
|
537
546
|
type: 'onBeforeNavigate'
|
|
@@ -1179,7 +1188,10 @@ export class Router<
|
|
|
1179
1188
|
}
|
|
1180
1189
|
} else {
|
|
1181
1190
|
const status =
|
|
1182
|
-
route.options.loader ||
|
|
1191
|
+
route.options.loader ||
|
|
1192
|
+
route.options.beforeLoad ||
|
|
1193
|
+
route.lazyFn ||
|
|
1194
|
+
routeNeedsPreload(route)
|
|
1183
1195
|
? 'pending'
|
|
1184
1196
|
: 'success'
|
|
1185
1197
|
|
|
@@ -2263,11 +2275,6 @@ export class Router<
|
|
|
2263
2275
|
componentsPromise,
|
|
2264
2276
|
}))
|
|
2265
2277
|
|
|
2266
|
-
// Lazy option can modify the route options,
|
|
2267
|
-
// so we need to wait for it to resolve before
|
|
2268
|
-
// we can use the options
|
|
2269
|
-
await route._lazyPromise
|
|
2270
|
-
|
|
2271
2278
|
// Kick off the loader!
|
|
2272
2279
|
let loaderData =
|
|
2273
2280
|
await route.options.loader?.(getLoaderContext())
|
|
@@ -2288,6 +2295,11 @@ export class Router<
|
|
|
2288
2295
|
loaderData,
|
|
2289
2296
|
)
|
|
2290
2297
|
|
|
2298
|
+
// Lazy option can modify the route options,
|
|
2299
|
+
// so we need to wait for it to resolve before
|
|
2300
|
+
// we can use the options
|
|
2301
|
+
await route._lazyPromise
|
|
2302
|
+
|
|
2291
2303
|
await potentialPendingMinPromise()
|
|
2292
2304
|
|
|
2293
2305
|
const meta = route.options.meta?.({
|