@rangojs/router 0.0.0-experimental.78a48627 → 0.0.0-experimental.78adc454

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.
Files changed (863) hide show
  1. package/dist/bin/rango.js +8 -3
  2. package/dist/vite/index.js +155 -201
  3. package/package.json +1 -1
  4. package/skills/caching/SKILL.md +37 -4
  5. package/skills/parallel/SKILL.md +126 -0
  6. package/src/browser/event-controller.ts +5 -0
  7. package/src/browser/navigation-client.ts +60 -27
  8. package/src/browser/partial-update.ts +23 -16
  9. package/src/browser/prefetch/cache.ts +57 -5
  10. package/src/browser/prefetch/fetch.ts +30 -21
  11. package/src/browser/prefetch/queue.ts +53 -13
  12. package/src/browser/react/Link.tsx +9 -1
  13. package/src/browser/react/NavigationProvider.tsx +3 -3
  14. package/src/browser/rsc-router.tsx +109 -57
  15. package/src/browser/scroll-restoration.ts +11 -10
  16. package/src/browser/segment-reconciler.ts +6 -1
  17. package/src/build/route-types/router-processing.ts +12 -2
  18. package/src/cache/cache-runtime.ts +15 -11
  19. package/src/cache/cache-scope.ts +48 -7
  20. package/src/cache/cf/cf-cache-store.ts +453 -11
  21. package/src/cache/cf/index.ts +5 -1
  22. package/src/cache/document-cache.ts +17 -7
  23. package/src/cache/index.ts +1 -0
  24. package/src/cache/taint.ts +55 -0
  25. package/src/context-var.ts +72 -2
  26. package/src/debug.ts +2 -2
  27. package/src/route-definition/dsl-helpers.ts +32 -7
  28. package/src/route-definition/redirect.ts +2 -2
  29. package/src/router/handler-context.ts +31 -8
  30. package/src/router/lazy-includes.ts +2 -1
  31. package/src/router/logging.ts +1 -1
  32. package/src/router/manifest.ts +6 -2
  33. package/src/router/match-middleware/background-revalidation.ts +30 -2
  34. package/src/router/match-middleware/cache-lookup.ts +66 -9
  35. package/src/router/match-middleware/cache-store.ts +53 -10
  36. package/src/router/match-middleware/intercept-resolution.ts +9 -7
  37. package/src/router/match-middleware/segment-resolution.ts +7 -5
  38. package/src/router/match-result.ts +22 -6
  39. package/src/router/metrics.ts +6 -1
  40. package/src/router/middleware-types.ts +6 -2
  41. package/src/router/middleware.ts +4 -3
  42. package/src/router/router-context.ts +1 -0
  43. package/src/router/segment-resolution/fresh.ts +130 -16
  44. package/src/router/segment-resolution/loader-cache.ts +1 -0
  45. package/src/router/segment-resolution/revalidation.ts +348 -289
  46. package/src/router.ts +1 -1
  47. package/src/segment-system.tsx +140 -4
  48. package/src/server/context.ts +101 -13
  49. package/src/server/request-context.ts +53 -11
  50. package/src/ssr/index.tsx +1 -0
  51. package/src/types/handler-context.ts +113 -19
  52. package/src/types/segments.ts +2 -0
  53. package/src/urls/path-helper.ts +1 -1
  54. package/src/vite/discovery/state.ts +0 -2
  55. package/src/vite/plugin-types.ts +0 -83
  56. package/src/vite/plugins/expose-action-id.ts +1 -3
  57. package/src/vite/plugins/version-plugin.ts +13 -1
  58. package/src/vite/rango.ts +144 -209
  59. package/src/vite/router-discovery.ts +0 -8
  60. package/src/vite/utils/banner.ts +3 -3
  61. package/dist/__internal.d.ts +0 -83
  62. package/dist/__internal.d.ts.map +0 -1
  63. package/dist/__internal.js +0 -19
  64. package/dist/__internal.js.map +0 -1
  65. package/dist/__mocks__/version.d.ts +0 -7
  66. package/dist/__mocks__/version.d.ts.map +0 -1
  67. package/dist/__mocks__/version.js +0 -7
  68. package/dist/__mocks__/version.js.map +0 -1
  69. package/dist/__tests__/client-href.test.d.ts +0 -2
  70. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  71. package/dist/__tests__/client-href.test.js +0 -74
  72. package/dist/__tests__/client-href.test.js.map +0 -1
  73. package/dist/__tests__/component-utils.test.d.ts +0 -2
  74. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  75. package/dist/__tests__/component-utils.test.js +0 -51
  76. package/dist/__tests__/component-utils.test.js.map +0 -1
  77. package/dist/__tests__/event-controller.test.d.ts +0 -2
  78. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  79. package/dist/__tests__/event-controller.test.js +0 -538
  80. package/dist/__tests__/event-controller.test.js.map +0 -1
  81. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  82. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  83. package/dist/__tests__/helpers/route-tree.js +0 -374
  84. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  85. package/dist/__tests__/match-result.test.d.ts +0 -2
  86. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  87. package/dist/__tests__/match-result.test.js +0 -154
  88. package/dist/__tests__/match-result.test.js.map +0 -1
  89. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  90. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  91. package/dist/__tests__/navigation-store.test.js +0 -440
  92. package/dist/__tests__/navigation-store.test.js.map +0 -1
  93. package/dist/__tests__/partial-update.test.d.ts +0 -2
  94. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  95. package/dist/__tests__/partial-update.test.js +0 -1009
  96. package/dist/__tests__/partial-update.test.js.map +0 -1
  97. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  98. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  99. package/dist/__tests__/reverse-types.test.js +0 -656
  100. package/dist/__tests__/reverse-types.test.js.map +0 -1
  101. package/dist/__tests__/route-definition.test.d.ts +0 -2
  102. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  103. package/dist/__tests__/route-definition.test.js +0 -55
  104. package/dist/__tests__/route-definition.test.js.map +0 -1
  105. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  106. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  107. package/dist/__tests__/router-helpers.test.js +0 -377
  108. package/dist/__tests__/router-helpers.test.js.map +0 -1
  109. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  110. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  111. package/dist/__tests__/router-integration-2.test.js +0 -426
  112. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  113. package/dist/__tests__/router-integration.test.d.ts +0 -2
  114. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  115. package/dist/__tests__/router-integration.test.js +0 -1051
  116. package/dist/__tests__/router-integration.test.js.map +0 -1
  117. package/dist/__tests__/search-params.test.d.ts +0 -5
  118. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  119. package/dist/__tests__/search-params.test.js +0 -306
  120. package/dist/__tests__/search-params.test.js.map +0 -1
  121. package/dist/__tests__/segment-system.test.d.ts +0 -2
  122. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  123. package/dist/__tests__/segment-system.test.js +0 -627
  124. package/dist/__tests__/segment-system.test.js.map +0 -1
  125. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  126. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  127. package/dist/__tests__/static-handler-types.test.js +0 -63
  128. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  129. package/dist/__tests__/urls.test.d.ts +0 -2
  130. package/dist/__tests__/urls.test.d.ts.map +0 -1
  131. package/dist/__tests__/urls.test.js +0 -421
  132. package/dist/__tests__/urls.test.js.map +0 -1
  133. package/dist/__tests__/use-mount.test.d.ts +0 -2
  134. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  135. package/dist/__tests__/use-mount.test.js +0 -35
  136. package/dist/__tests__/use-mount.test.js.map +0 -1
  137. package/dist/bin/rango.d.ts +0 -2
  138. package/dist/bin/rango.d.ts.map +0 -1
  139. package/dist/bin/rango.js.map +0 -1
  140. package/dist/browser/event-controller.d.ts +0 -191
  141. package/dist/browser/event-controller.d.ts.map +0 -1
  142. package/dist/browser/event-controller.js +0 -559
  143. package/dist/browser/event-controller.js.map +0 -1
  144. package/dist/browser/index.d.ts +0 -2
  145. package/dist/browser/index.d.ts.map +0 -1
  146. package/dist/browser/index.js +0 -14
  147. package/dist/browser/index.js.map +0 -1
  148. package/dist/browser/link-interceptor.d.ts +0 -38
  149. package/dist/browser/link-interceptor.d.ts.map +0 -1
  150. package/dist/browser/link-interceptor.js +0 -99
  151. package/dist/browser/link-interceptor.js.map +0 -1
  152. package/dist/browser/logging.d.ts +0 -10
  153. package/dist/browser/logging.d.ts.map +0 -1
  154. package/dist/browser/logging.js +0 -29
  155. package/dist/browser/logging.js.map +0 -1
  156. package/dist/browser/lru-cache.d.ts +0 -17
  157. package/dist/browser/lru-cache.d.ts.map +0 -1
  158. package/dist/browser/lru-cache.js +0 -50
  159. package/dist/browser/lru-cache.js.map +0 -1
  160. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  161. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  162. package/dist/browser/merge-segment-loaders.js +0 -102
  163. package/dist/browser/merge-segment-loaders.js.map +0 -1
  164. package/dist/browser/navigation-bridge.d.ts +0 -102
  165. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  166. package/dist/browser/navigation-bridge.js +0 -708
  167. package/dist/browser/navigation-bridge.js.map +0 -1
  168. package/dist/browser/navigation-client.d.ts +0 -25
  169. package/dist/browser/navigation-client.d.ts.map +0 -1
  170. package/dist/browser/navigation-client.js +0 -157
  171. package/dist/browser/navigation-client.js.map +0 -1
  172. package/dist/browser/navigation-store.d.ts +0 -101
  173. package/dist/browser/navigation-store.d.ts.map +0 -1
  174. package/dist/browser/navigation-store.js +0 -625
  175. package/dist/browser/navigation-store.js.map +0 -1
  176. package/dist/browser/partial-update.d.ts +0 -75
  177. package/dist/browser/partial-update.d.ts.map +0 -1
  178. package/dist/browser/partial-update.js +0 -426
  179. package/dist/browser/partial-update.js.map +0 -1
  180. package/dist/browser/react/Link.d.ts +0 -86
  181. package/dist/browser/react/Link.d.ts.map +0 -1
  182. package/dist/browser/react/Link.js +0 -128
  183. package/dist/browser/react/Link.js.map +0 -1
  184. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  185. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  186. package/dist/browser/react/NavigationProvider.js +0 -216
  187. package/dist/browser/react/NavigationProvider.js.map +0 -1
  188. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  189. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  190. package/dist/browser/react/ScrollRestoration.js +0 -57
  191. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  192. package/dist/browser/react/context.d.ts +0 -46
  193. package/dist/browser/react/context.d.ts.map +0 -1
  194. package/dist/browser/react/context.js +0 -10
  195. package/dist/browser/react/context.js.map +0 -1
  196. package/dist/browser/react/index.d.ts +0 -11
  197. package/dist/browser/react/index.d.ts.map +0 -1
  198. package/dist/browser/react/index.js +0 -22
  199. package/dist/browser/react/index.js.map +0 -1
  200. package/dist/browser/react/location-state-shared.d.ts +0 -63
  201. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  202. package/dist/browser/react/location-state-shared.js +0 -81
  203. package/dist/browser/react/location-state-shared.js.map +0 -1
  204. package/dist/browser/react/location-state.d.ts +0 -23
  205. package/dist/browser/react/location-state.d.ts.map +0 -1
  206. package/dist/browser/react/location-state.js +0 -29
  207. package/dist/browser/react/location-state.js.map +0 -1
  208. package/dist/browser/react/mount-context.d.ts +0 -24
  209. package/dist/browser/react/mount-context.d.ts.map +0 -1
  210. package/dist/browser/react/mount-context.js +0 -24
  211. package/dist/browser/react/mount-context.js.map +0 -1
  212. package/dist/browser/react/use-action.d.ts +0 -64
  213. package/dist/browser/react/use-action.d.ts.map +0 -1
  214. package/dist/browser/react/use-action.js +0 -134
  215. package/dist/browser/react/use-action.js.map +0 -1
  216. package/dist/browser/react/use-client-cache.d.ts +0 -41
  217. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  218. package/dist/browser/react/use-client-cache.js +0 -39
  219. package/dist/browser/react/use-client-cache.js.map +0 -1
  220. package/dist/browser/react/use-handle.d.ts +0 -31
  221. package/dist/browser/react/use-handle.d.ts.map +0 -1
  222. package/dist/browser/react/use-handle.js +0 -144
  223. package/dist/browser/react/use-handle.js.map +0 -1
  224. package/dist/browser/react/use-href.d.ts +0 -33
  225. package/dist/browser/react/use-href.d.ts.map +0 -1
  226. package/dist/browser/react/use-href.js +0 -39
  227. package/dist/browser/react/use-href.js.map +0 -1
  228. package/dist/browser/react/use-link-status.d.ts +0 -37
  229. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  230. package/dist/browser/react/use-link-status.js +0 -99
  231. package/dist/browser/react/use-link-status.js.map +0 -1
  232. package/dist/browser/react/use-mount.d.ts +0 -25
  233. package/dist/browser/react/use-mount.d.ts.map +0 -1
  234. package/dist/browser/react/use-mount.js +0 -30
  235. package/dist/browser/react/use-mount.js.map +0 -1
  236. package/dist/browser/react/use-navigation.d.ts +0 -27
  237. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  238. package/dist/browser/react/use-navigation.js +0 -87
  239. package/dist/browser/react/use-navigation.js.map +0 -1
  240. package/dist/browser/react/use-segments.d.ts +0 -38
  241. package/dist/browser/react/use-segments.d.ts.map +0 -1
  242. package/dist/browser/react/use-segments.js +0 -130
  243. package/dist/browser/react/use-segments.js.map +0 -1
  244. package/dist/browser/request-controller.d.ts +0 -26
  245. package/dist/browser/request-controller.d.ts.map +0 -1
  246. package/dist/browser/request-controller.js +0 -147
  247. package/dist/browser/request-controller.js.map +0 -1
  248. package/dist/browser/rsc-router.d.ts +0 -129
  249. package/dist/browser/rsc-router.d.ts.map +0 -1
  250. package/dist/browser/rsc-router.js +0 -195
  251. package/dist/browser/rsc-router.js.map +0 -1
  252. package/dist/browser/scroll-restoration.d.ts +0 -93
  253. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  254. package/dist/browser/scroll-restoration.js +0 -321
  255. package/dist/browser/scroll-restoration.js.map +0 -1
  256. package/dist/browser/segment-structure-assert.d.ts +0 -17
  257. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  258. package/dist/browser/segment-structure-assert.js +0 -59
  259. package/dist/browser/segment-structure-assert.js.map +0 -1
  260. package/dist/browser/server-action-bridge.d.ts +0 -26
  261. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  262. package/dist/browser/server-action-bridge.js +0 -668
  263. package/dist/browser/server-action-bridge.js.map +0 -1
  264. package/dist/browser/shallow.d.ts +0 -12
  265. package/dist/browser/shallow.d.ts.map +0 -1
  266. package/dist/browser/shallow.js +0 -34
  267. package/dist/browser/shallow.js.map +0 -1
  268. package/dist/browser/types.d.ts +0 -369
  269. package/dist/browser/types.d.ts.map +0 -1
  270. package/dist/browser/types.js +0 -2
  271. package/dist/browser/types.js.map +0 -1
  272. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  273. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  274. package/dist/build/__tests__/generate-cli.test.js +0 -237
  275. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  276. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  277. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  278. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  279. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  280. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  281. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  282. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  283. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  284. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  285. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  286. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  287. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  288. package/dist/build/generate-manifest.d.ts +0 -81
  289. package/dist/build/generate-manifest.d.ts.map +0 -1
  290. package/dist/build/generate-manifest.js +0 -276
  291. package/dist/build/generate-manifest.js.map +0 -1
  292. package/dist/build/generate-route-types.d.ts +0 -115
  293. package/dist/build/generate-route-types.d.ts.map +0 -1
  294. package/dist/build/generate-route-types.js +0 -740
  295. package/dist/build/generate-route-types.js.map +0 -1
  296. package/dist/build/index.d.ts +0 -21
  297. package/dist/build/index.d.ts.map +0 -1
  298. package/dist/build/index.js +0 -21
  299. package/dist/build/index.js.map +0 -1
  300. package/dist/build/route-trie.d.ts +0 -71
  301. package/dist/build/route-trie.d.ts.map +0 -1
  302. package/dist/build/route-trie.js +0 -175
  303. package/dist/build/route-trie.js.map +0 -1
  304. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  305. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  306. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  307. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  308. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  309. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  310. package/dist/cache/__tests__/document-cache.test.js +0 -345
  311. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  312. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  313. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  314. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  315. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  316. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  317. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  318. package/dist/cache/__tests__/memory-store.test.js +0 -367
  319. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  320. package/dist/cache/cache-scope.d.ts +0 -102
  321. package/dist/cache/cache-scope.d.ts.map +0 -1
  322. package/dist/cache/cache-scope.js +0 -440
  323. package/dist/cache/cache-scope.js.map +0 -1
  324. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  325. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  326. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  327. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  328. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  329. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  330. package/dist/cache/cf/cf-cache-store.js +0 -242
  331. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  332. package/dist/cache/cf/index.d.ts +0 -14
  333. package/dist/cache/cf/index.d.ts.map +0 -1
  334. package/dist/cache/cf/index.js +0 -17
  335. package/dist/cache/cf/index.js.map +0 -1
  336. package/dist/cache/document-cache.d.ts +0 -64
  337. package/dist/cache/document-cache.d.ts.map +0 -1
  338. package/dist/cache/document-cache.js +0 -228
  339. package/dist/cache/document-cache.js.map +0 -1
  340. package/dist/cache/index.d.ts +0 -19
  341. package/dist/cache/index.d.ts.map +0 -1
  342. package/dist/cache/index.js +0 -21
  343. package/dist/cache/index.js.map +0 -1
  344. package/dist/cache/memory-segment-store.d.ts +0 -110
  345. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  346. package/dist/cache/memory-segment-store.js +0 -117
  347. package/dist/cache/memory-segment-store.js.map +0 -1
  348. package/dist/cache/memory-store.d.ts +0 -41
  349. package/dist/cache/memory-store.d.ts.map +0 -1
  350. package/dist/cache/memory-store.js +0 -191
  351. package/dist/cache/memory-store.js.map +0 -1
  352. package/dist/cache/types.d.ts +0 -317
  353. package/dist/cache/types.d.ts.map +0 -1
  354. package/dist/cache/types.js +0 -12
  355. package/dist/cache/types.js.map +0 -1
  356. package/dist/client.d.ts +0 -248
  357. package/dist/client.d.ts.map +0 -1
  358. package/dist/client.js +0 -367
  359. package/dist/client.js.map +0 -1
  360. package/dist/client.rsc.d.ts +0 -26
  361. package/dist/client.rsc.d.ts.map +0 -1
  362. package/dist/client.rsc.js +0 -46
  363. package/dist/client.rsc.js.map +0 -1
  364. package/dist/component-utils.d.ts +0 -36
  365. package/dist/component-utils.d.ts.map +0 -1
  366. package/dist/component-utils.js +0 -61
  367. package/dist/component-utils.js.map +0 -1
  368. package/dist/components/DefaultDocument.d.ts +0 -13
  369. package/dist/components/DefaultDocument.d.ts.map +0 -1
  370. package/dist/components/DefaultDocument.js +0 -15
  371. package/dist/components/DefaultDocument.js.map +0 -1
  372. package/dist/debug.d.ts +0 -58
  373. package/dist/debug.d.ts.map +0 -1
  374. package/dist/debug.js +0 -157
  375. package/dist/debug.js.map +0 -1
  376. package/dist/default-error-boundary.d.ts +0 -11
  377. package/dist/default-error-boundary.d.ts.map +0 -1
  378. package/dist/default-error-boundary.js +0 -45
  379. package/dist/default-error-boundary.js.map +0 -1
  380. package/dist/deps/browser.d.ts +0 -2
  381. package/dist/deps/browser.d.ts.map +0 -1
  382. package/dist/deps/browser.js +0 -3
  383. package/dist/deps/browser.js.map +0 -1
  384. package/dist/deps/html-stream-client.d.ts +0 -2
  385. package/dist/deps/html-stream-client.d.ts.map +0 -1
  386. package/dist/deps/html-stream-client.js +0 -3
  387. package/dist/deps/html-stream-client.js.map +0 -1
  388. package/dist/deps/html-stream-server.d.ts +0 -2
  389. package/dist/deps/html-stream-server.d.ts.map +0 -1
  390. package/dist/deps/html-stream-server.js +0 -3
  391. package/dist/deps/html-stream-server.js.map +0 -1
  392. package/dist/deps/rsc.d.ts +0 -2
  393. package/dist/deps/rsc.d.ts.map +0 -1
  394. package/dist/deps/rsc.js +0 -4
  395. package/dist/deps/rsc.js.map +0 -1
  396. package/dist/deps/ssr.d.ts +0 -2
  397. package/dist/deps/ssr.d.ts.map +0 -1
  398. package/dist/deps/ssr.js +0 -3
  399. package/dist/deps/ssr.js.map +0 -1
  400. package/dist/errors.d.ts +0 -174
  401. package/dist/errors.d.ts.map +0 -1
  402. package/dist/errors.js +0 -241
  403. package/dist/errors.js.map +0 -1
  404. package/dist/handle.d.ts +0 -78
  405. package/dist/handle.d.ts.map +0 -1
  406. package/dist/handle.js +0 -82
  407. package/dist/handle.js.map +0 -1
  408. package/dist/handles/MetaTags.d.ts +0 -14
  409. package/dist/handles/MetaTags.d.ts.map +0 -1
  410. package/dist/handles/MetaTags.js +0 -136
  411. package/dist/handles/MetaTags.js.map +0 -1
  412. package/dist/handles/index.d.ts +0 -6
  413. package/dist/handles/index.d.ts.map +0 -1
  414. package/dist/handles/index.js +0 -6
  415. package/dist/handles/index.js.map +0 -1
  416. package/dist/handles/meta.d.ts +0 -39
  417. package/dist/handles/meta.d.ts.map +0 -1
  418. package/dist/handles/meta.js +0 -202
  419. package/dist/handles/meta.js.map +0 -1
  420. package/dist/host/__tests__/errors.test.d.ts +0 -2
  421. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  422. package/dist/host/__tests__/errors.test.js +0 -76
  423. package/dist/host/__tests__/errors.test.js.map +0 -1
  424. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  425. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  426. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  427. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  428. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  429. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  430. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  431. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  432. package/dist/host/__tests__/router.test.d.ts +0 -2
  433. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  434. package/dist/host/__tests__/router.test.js +0 -241
  435. package/dist/host/__tests__/router.test.js.map +0 -1
  436. package/dist/host/__tests__/testing.test.d.ts +0 -2
  437. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  438. package/dist/host/__tests__/testing.test.js +0 -64
  439. package/dist/host/__tests__/testing.test.js.map +0 -1
  440. package/dist/host/__tests__/utils.test.d.ts +0 -2
  441. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  442. package/dist/host/__tests__/utils.test.js +0 -29
  443. package/dist/host/__tests__/utils.test.js.map +0 -1
  444. package/dist/host/cookie-handler.d.ts +0 -34
  445. package/dist/host/cookie-handler.d.ts.map +0 -1
  446. package/dist/host/cookie-handler.js +0 -124
  447. package/dist/host/cookie-handler.js.map +0 -1
  448. package/dist/host/errors.d.ts +0 -56
  449. package/dist/host/errors.d.ts.map +0 -1
  450. package/dist/host/errors.js +0 -79
  451. package/dist/host/errors.js.map +0 -1
  452. package/dist/host/index.d.ts +0 -29
  453. package/dist/host/index.d.ts.map +0 -1
  454. package/dist/host/index.js +0 -32
  455. package/dist/host/index.js.map +0 -1
  456. package/dist/host/pattern-matcher.d.ts +0 -36
  457. package/dist/host/pattern-matcher.d.ts.map +0 -1
  458. package/dist/host/pattern-matcher.js +0 -172
  459. package/dist/host/pattern-matcher.js.map +0 -1
  460. package/dist/host/router.d.ts +0 -26
  461. package/dist/host/router.d.ts.map +0 -1
  462. package/dist/host/router.js +0 -218
  463. package/dist/host/router.js.map +0 -1
  464. package/dist/host/testing.d.ts +0 -36
  465. package/dist/host/testing.d.ts.map +0 -1
  466. package/dist/host/testing.js +0 -55
  467. package/dist/host/testing.js.map +0 -1
  468. package/dist/host/types.d.ts +0 -115
  469. package/dist/host/types.d.ts.map +0 -1
  470. package/dist/host/types.js +0 -7
  471. package/dist/host/types.js.map +0 -1
  472. package/dist/host/utils.d.ts +0 -21
  473. package/dist/host/utils.d.ts.map +0 -1
  474. package/dist/host/utils.js +0 -23
  475. package/dist/host/utils.js.map +0 -1
  476. package/dist/href-client.d.ts +0 -131
  477. package/dist/href-client.d.ts.map +0 -1
  478. package/dist/href-client.js +0 -64
  479. package/dist/href-client.js.map +0 -1
  480. package/dist/href-context.d.ts +0 -29
  481. package/dist/href-context.d.ts.map +0 -1
  482. package/dist/href-context.js +0 -21
  483. package/dist/href-context.js.map +0 -1
  484. package/dist/index.d.ts +0 -73
  485. package/dist/index.d.ts.map +0 -1
  486. package/dist/index.js +0 -91
  487. package/dist/index.js.map +0 -1
  488. package/dist/index.rsc.d.ts +0 -32
  489. package/dist/index.rsc.d.ts.map +0 -1
  490. package/dist/index.rsc.js +0 -40
  491. package/dist/index.rsc.js.map +0 -1
  492. package/dist/internal-debug.d.ts +0 -2
  493. package/dist/internal-debug.d.ts.map +0 -1
  494. package/dist/internal-debug.js +0 -5
  495. package/dist/internal-debug.js.map +0 -1
  496. package/dist/loader.d.ts +0 -14
  497. package/dist/loader.d.ts.map +0 -1
  498. package/dist/loader.js +0 -20
  499. package/dist/loader.js.map +0 -1
  500. package/dist/loader.rsc.d.ts +0 -19
  501. package/dist/loader.rsc.d.ts.map +0 -1
  502. package/dist/loader.rsc.js +0 -99
  503. package/dist/loader.rsc.js.map +0 -1
  504. package/dist/network-error-thrower.d.ts +0 -17
  505. package/dist/network-error-thrower.d.ts.map +0 -1
  506. package/dist/network-error-thrower.js +0 -14
  507. package/dist/network-error-thrower.js.map +0 -1
  508. package/dist/outlet-context.d.ts +0 -13
  509. package/dist/outlet-context.d.ts.map +0 -1
  510. package/dist/outlet-context.js +0 -3
  511. package/dist/outlet-context.js.map +0 -1
  512. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  513. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  514. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  515. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  516. package/dist/prerender/param-hash.d.ts +0 -16
  517. package/dist/prerender/param-hash.d.ts.map +0 -1
  518. package/dist/prerender/param-hash.js +0 -36
  519. package/dist/prerender/param-hash.js.map +0 -1
  520. package/dist/prerender/store.d.ts +0 -38
  521. package/dist/prerender/store.d.ts.map +0 -1
  522. package/dist/prerender/store.js +0 -61
  523. package/dist/prerender/store.js.map +0 -1
  524. package/dist/prerender.d.ts +0 -66
  525. package/dist/prerender.d.ts.map +0 -1
  526. package/dist/prerender.js +0 -57
  527. package/dist/prerender.js.map +0 -1
  528. package/dist/reverse.d.ts +0 -196
  529. package/dist/reverse.d.ts.map +0 -1
  530. package/dist/reverse.js +0 -78
  531. package/dist/reverse.js.map +0 -1
  532. package/dist/root-error-boundary.d.ts +0 -33
  533. package/dist/root-error-boundary.d.ts.map +0 -1
  534. package/dist/root-error-boundary.js +0 -165
  535. package/dist/root-error-boundary.js.map +0 -1
  536. package/dist/route-content-wrapper.d.ts +0 -46
  537. package/dist/route-content-wrapper.d.ts.map +0 -1
  538. package/dist/route-content-wrapper.js +0 -77
  539. package/dist/route-content-wrapper.js.map +0 -1
  540. package/dist/route-definition.d.ts +0 -421
  541. package/dist/route-definition.d.ts.map +0 -1
  542. package/dist/route-definition.js +0 -868
  543. package/dist/route-definition.js.map +0 -1
  544. package/dist/route-map-builder.d.ts +0 -155
  545. package/dist/route-map-builder.d.ts.map +0 -1
  546. package/dist/route-map-builder.js +0 -237
  547. package/dist/route-map-builder.js.map +0 -1
  548. package/dist/route-types.d.ts +0 -165
  549. package/dist/route-types.d.ts.map +0 -1
  550. package/dist/route-types.js +0 -7
  551. package/dist/route-types.js.map +0 -1
  552. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  553. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  554. package/dist/router/__tests__/handler-context.test.js +0 -65
  555. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  556. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  557. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  558. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  559. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  560. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  561. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  562. package/dist/router/__tests__/match-context.test.js +0 -92
  563. package/dist/router/__tests__/match-context.test.js.map +0 -1
  564. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  565. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  566. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  567. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  568. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  569. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  570. package/dist/router/__tests__/match-result.test.js +0 -457
  571. package/dist/router/__tests__/match-result.test.js.map +0 -1
  572. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  573. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  574. package/dist/router/__tests__/on-error.test.js +0 -678
  575. package/dist/router/__tests__/on-error.test.js.map +0 -1
  576. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  577. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  578. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  579. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  580. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  581. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  582. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  583. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  584. package/dist/router/error-handling.d.ts +0 -77
  585. package/dist/router/error-handling.d.ts.map +0 -1
  586. package/dist/router/error-handling.js +0 -202
  587. package/dist/router/error-handling.js.map +0 -1
  588. package/dist/router/handler-context.d.ts +0 -20
  589. package/dist/router/handler-context.d.ts.map +0 -1
  590. package/dist/router/handler-context.js +0 -198
  591. package/dist/router/handler-context.js.map +0 -1
  592. package/dist/router/intercept-resolution.d.ts +0 -66
  593. package/dist/router/intercept-resolution.d.ts.map +0 -1
  594. package/dist/router/intercept-resolution.js +0 -246
  595. package/dist/router/intercept-resolution.js.map +0 -1
  596. package/dist/router/loader-resolution.d.ts +0 -64
  597. package/dist/router/loader-resolution.d.ts.map +0 -1
  598. package/dist/router/loader-resolution.js +0 -284
  599. package/dist/router/loader-resolution.js.map +0 -1
  600. package/dist/router/logging.d.ts +0 -15
  601. package/dist/router/logging.d.ts.map +0 -1
  602. package/dist/router/logging.js +0 -99
  603. package/dist/router/logging.js.map +0 -1
  604. package/dist/router/manifest.d.ts +0 -22
  605. package/dist/router/manifest.d.ts.map +0 -1
  606. package/dist/router/manifest.js +0 -181
  607. package/dist/router/manifest.js.map +0 -1
  608. package/dist/router/match-api.d.ts +0 -35
  609. package/dist/router/match-api.d.ts.map +0 -1
  610. package/dist/router/match-api.js +0 -406
  611. package/dist/router/match-api.js.map +0 -1
  612. package/dist/router/match-context.d.ts +0 -206
  613. package/dist/router/match-context.d.ts.map +0 -1
  614. package/dist/router/match-context.js +0 -17
  615. package/dist/router/match-context.js.map +0 -1
  616. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  617. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  618. package/dist/router/match-middleware/background-revalidation.js +0 -75
  619. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  620. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  621. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  622. package/dist/router/match-middleware/cache-lookup.js +0 -257
  623. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  624. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  625. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  626. package/dist/router/match-middleware/cache-store.js +0 -108
  627. package/dist/router/match-middleware/cache-store.js.map +0 -1
  628. package/dist/router/match-middleware/index.d.ts +0 -81
  629. package/dist/router/match-middleware/index.d.ts.map +0 -1
  630. package/dist/router/match-middleware/index.js +0 -80
  631. package/dist/router/match-middleware/index.js.map +0 -1
  632. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  633. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  634. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  635. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  636. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  637. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  638. package/dist/router/match-middleware/segment-resolution.js +0 -53
  639. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  640. package/dist/router/match-pipelines.d.ts +0 -147
  641. package/dist/router/match-pipelines.d.ts.map +0 -1
  642. package/dist/router/match-pipelines.js +0 -82
  643. package/dist/router/match-pipelines.js.map +0 -1
  644. package/dist/router/match-result.d.ts +0 -126
  645. package/dist/router/match-result.d.ts.map +0 -1
  646. package/dist/router/match-result.js +0 -93
  647. package/dist/router/match-result.js.map +0 -1
  648. package/dist/router/metrics.d.ts +0 -20
  649. package/dist/router/metrics.d.ts.map +0 -1
  650. package/dist/router/metrics.js +0 -47
  651. package/dist/router/metrics.js.map +0 -1
  652. package/dist/router/middleware.d.ts +0 -249
  653. package/dist/router/middleware.d.ts.map +0 -1
  654. package/dist/router/middleware.js +0 -434
  655. package/dist/router/middleware.js.map +0 -1
  656. package/dist/router/middleware.test.d.ts +0 -2
  657. package/dist/router/middleware.test.d.ts.map +0 -1
  658. package/dist/router/middleware.test.js +0 -816
  659. package/dist/router/middleware.test.js.map +0 -1
  660. package/dist/router/pattern-matching.d.ts +0 -149
  661. package/dist/router/pattern-matching.d.ts.map +0 -1
  662. package/dist/router/pattern-matching.js +0 -349
  663. package/dist/router/pattern-matching.js.map +0 -1
  664. package/dist/router/revalidation.d.ts +0 -44
  665. package/dist/router/revalidation.d.ts.map +0 -1
  666. package/dist/router/revalidation.js +0 -147
  667. package/dist/router/revalidation.js.map +0 -1
  668. package/dist/router/router-context.d.ts +0 -135
  669. package/dist/router/router-context.d.ts.map +0 -1
  670. package/dist/router/router-context.js +0 -36
  671. package/dist/router/router-context.js.map +0 -1
  672. package/dist/router/segment-resolution.d.ts +0 -127
  673. package/dist/router/segment-resolution.d.ts.map +0 -1
  674. package/dist/router/segment-resolution.js +0 -919
  675. package/dist/router/segment-resolution.js.map +0 -1
  676. package/dist/router/trie-matching.d.ts +0 -40
  677. package/dist/router/trie-matching.d.ts.map +0 -1
  678. package/dist/router/trie-matching.js +0 -127
  679. package/dist/router/trie-matching.js.map +0 -1
  680. package/dist/router/types.d.ts +0 -136
  681. package/dist/router/types.d.ts.map +0 -1
  682. package/dist/router/types.js +0 -7
  683. package/dist/router/types.js.map +0 -1
  684. package/dist/router.d.ts +0 -753
  685. package/dist/router.d.ts.map +0 -1
  686. package/dist/router.gen.d.ts +0 -6
  687. package/dist/router.gen.d.ts.map +0 -1
  688. package/dist/router.gen.js +0 -6
  689. package/dist/router.gen.js.map +0 -1
  690. package/dist/router.js +0 -1304
  691. package/dist/router.js.map +0 -1
  692. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  693. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  694. package/dist/rsc/__tests__/helpers.test.js +0 -140
  695. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  696. package/dist/rsc/handler.d.ts +0 -45
  697. package/dist/rsc/handler.d.ts.map +0 -1
  698. package/dist/rsc/handler.js +0 -1172
  699. package/dist/rsc/handler.js.map +0 -1
  700. package/dist/rsc/helpers.d.ts +0 -16
  701. package/dist/rsc/helpers.d.ts.map +0 -1
  702. package/dist/rsc/helpers.js +0 -55
  703. package/dist/rsc/helpers.js.map +0 -1
  704. package/dist/rsc/index.d.ts +0 -22
  705. package/dist/rsc/index.d.ts.map +0 -1
  706. package/dist/rsc/index.js +0 -23
  707. package/dist/rsc/index.js.map +0 -1
  708. package/dist/rsc/nonce.d.ts +0 -9
  709. package/dist/rsc/nonce.d.ts.map +0 -1
  710. package/dist/rsc/nonce.js +0 -18
  711. package/dist/rsc/nonce.js.map +0 -1
  712. package/dist/rsc/types.d.ts +0 -206
  713. package/dist/rsc/types.d.ts.map +0 -1
  714. package/dist/rsc/types.js +0 -8
  715. package/dist/rsc/types.js.map +0 -1
  716. package/dist/search-params.d.ts +0 -103
  717. package/dist/search-params.d.ts.map +0 -1
  718. package/dist/search-params.js +0 -74
  719. package/dist/search-params.js.map +0 -1
  720. package/dist/segment-system.d.ts +0 -75
  721. package/dist/segment-system.d.ts.map +0 -1
  722. package/dist/segment-system.js +0 -336
  723. package/dist/segment-system.js.map +0 -1
  724. package/dist/server/context.d.ts +0 -245
  725. package/dist/server/context.d.ts.map +0 -1
  726. package/dist/server/context.js +0 -197
  727. package/dist/server/context.js.map +0 -1
  728. package/dist/server/fetchable-loader-store.d.ts +0 -18
  729. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  730. package/dist/server/fetchable-loader-store.js +0 -18
  731. package/dist/server/fetchable-loader-store.js.map +0 -1
  732. package/dist/server/handle-store.d.ts +0 -85
  733. package/dist/server/handle-store.d.ts.map +0 -1
  734. package/dist/server/handle-store.js +0 -142
  735. package/dist/server/handle-store.js.map +0 -1
  736. package/dist/server/loader-registry.d.ts +0 -55
  737. package/dist/server/loader-registry.d.ts.map +0 -1
  738. package/dist/server/loader-registry.js +0 -132
  739. package/dist/server/loader-registry.js.map +0 -1
  740. package/dist/server/request-context.d.ts +0 -226
  741. package/dist/server/request-context.d.ts.map +0 -1
  742. package/dist/server/request-context.js +0 -290
  743. package/dist/server/request-context.js.map +0 -1
  744. package/dist/server/root-layout.d.ts +0 -4
  745. package/dist/server/root-layout.d.ts.map +0 -1
  746. package/dist/server/root-layout.js +0 -5
  747. package/dist/server/root-layout.js.map +0 -1
  748. package/dist/server.d.ts +0 -15
  749. package/dist/server.d.ts.map +0 -1
  750. package/dist/server.js +0 -20
  751. package/dist/server.js.map +0 -1
  752. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  753. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  754. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  755. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  756. package/dist/ssr/index.d.ts +0 -98
  757. package/dist/ssr/index.d.ts.map +0 -1
  758. package/dist/ssr/index.js +0 -158
  759. package/dist/ssr/index.js.map +0 -1
  760. package/dist/static-handler.d.ts +0 -50
  761. package/dist/static-handler.d.ts.map +0 -1
  762. package/dist/static-handler.gen.d.ts +0 -5
  763. package/dist/static-handler.gen.d.ts.map +0 -1
  764. package/dist/static-handler.gen.js +0 -5
  765. package/dist/static-handler.gen.js.map +0 -1
  766. package/dist/static-handler.js +0 -29
  767. package/dist/static-handler.js.map +0 -1
  768. package/dist/theme/ThemeProvider.d.ts +0 -20
  769. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  770. package/dist/theme/ThemeProvider.js +0 -240
  771. package/dist/theme/ThemeProvider.js.map +0 -1
  772. package/dist/theme/ThemeScript.d.ts +0 -48
  773. package/dist/theme/ThemeScript.d.ts.map +0 -1
  774. package/dist/theme/ThemeScript.js +0 -13
  775. package/dist/theme/ThemeScript.js.map +0 -1
  776. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  777. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  778. package/dist/theme/__tests__/theme.test.js +0 -103
  779. package/dist/theme/__tests__/theme.test.js.map +0 -1
  780. package/dist/theme/constants.d.ts +0 -29
  781. package/dist/theme/constants.d.ts.map +0 -1
  782. package/dist/theme/constants.js +0 -48
  783. package/dist/theme/constants.js.map +0 -1
  784. package/dist/theme/index.d.ts +0 -31
  785. package/dist/theme/index.d.ts.map +0 -1
  786. package/dist/theme/index.js +0 -36
  787. package/dist/theme/index.js.map +0 -1
  788. package/dist/theme/theme-context.d.ts +0 -40
  789. package/dist/theme/theme-context.d.ts.map +0 -1
  790. package/dist/theme/theme-context.js +0 -60
  791. package/dist/theme/theme-context.js.map +0 -1
  792. package/dist/theme/theme-script.d.ts +0 -27
  793. package/dist/theme/theme-script.d.ts.map +0 -1
  794. package/dist/theme/theme-script.js +0 -147
  795. package/dist/theme/theme-script.js.map +0 -1
  796. package/dist/theme/types.d.ts +0 -163
  797. package/dist/theme/types.d.ts.map +0 -1
  798. package/dist/theme/types.js +0 -11
  799. package/dist/theme/types.js.map +0 -1
  800. package/dist/theme/use-theme.d.ts +0 -12
  801. package/dist/theme/use-theme.d.ts.map +0 -1
  802. package/dist/theme/use-theme.js +0 -40
  803. package/dist/theme/use-theme.js.map +0 -1
  804. package/dist/types.d.ts +0 -1479
  805. package/dist/types.d.ts.map +0 -1
  806. package/dist/types.js +0 -10
  807. package/dist/types.js.map +0 -1
  808. package/dist/urls.d.ts +0 -441
  809. package/dist/urls.d.ts.map +0 -1
  810. package/dist/urls.gen.d.ts +0 -8
  811. package/dist/urls.gen.d.ts.map +0 -1
  812. package/dist/urls.gen.js +0 -8
  813. package/dist/urls.gen.js.map +0 -1
  814. package/dist/urls.js +0 -443
  815. package/dist/urls.js.map +0 -1
  816. package/dist/use-loader.d.ts +0 -127
  817. package/dist/use-loader.d.ts.map +0 -1
  818. package/dist/use-loader.js +0 -237
  819. package/dist/use-loader.js.map +0 -1
  820. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  821. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  822. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  823. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  824. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  825. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  826. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  827. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  828. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  829. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  830. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  831. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  832. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  833. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  834. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  835. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  836. package/dist/vite/ast-handler-extract.d.ts +0 -49
  837. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  838. package/dist/vite/ast-handler-extract.js +0 -249
  839. package/dist/vite/ast-handler-extract.js.map +0 -1
  840. package/dist/vite/expose-action-id.d.ts +0 -19
  841. package/dist/vite/expose-action-id.d.ts.map +0 -1
  842. package/dist/vite/expose-action-id.js +0 -250
  843. package/dist/vite/expose-action-id.js.map +0 -1
  844. package/dist/vite/expose-id-utils.d.ts +0 -69
  845. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  846. package/dist/vite/expose-id-utils.js +0 -289
  847. package/dist/vite/expose-id-utils.js.map +0 -1
  848. package/dist/vite/expose-internal-ids.d.ts +0 -22
  849. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  850. package/dist/vite/expose-internal-ids.js +0 -886
  851. package/dist/vite/expose-internal-ids.js.map +0 -1
  852. package/dist/vite/index.d.ts +0 -149
  853. package/dist/vite/index.d.ts.map +0 -1
  854. package/dist/vite/index.js.map +0 -1
  855. package/dist/vite/index.named-routes.gen.ts +0 -103
  856. package/dist/vite/package-resolution.d.ts +0 -43
  857. package/dist/vite/package-resolution.d.ts.map +0 -1
  858. package/dist/vite/package-resolution.js +0 -112
  859. package/dist/vite/package-resolution.js.map +0 -1
  860. package/dist/vite/virtual-entries.d.ts +0 -25
  861. package/dist/vite/virtual-entries.d.ts.map +0 -1
  862. package/dist/vite/virtual-entries.js +0 -110
  863. package/dist/vite/virtual-entries.js.map +0 -1
@@ -1,919 +0,0 @@
1
- /**
2
- * Segment Resolution
3
- *
4
- * Extracted from createRouter closure. Contains all segment resolution functions
5
- * for both fresh (full match) and revalidation (partial match) paths.
6
- *
7
- * Functions receive a `deps` parameter for closure-bound helpers from createRouter.
8
- */
9
- import { DataNotFoundError, invariant, } from "../errors";
10
- import { createErrorInfo, createErrorSegment, createNotFoundInfo, createNotFoundSegment, } from "./error-handling.js";
11
- import { revalidate, } from "./loader-resolution.js";
12
- import { evaluateRevalidation } from "./revalidation.js";
13
- import { getRequestContext } from "../server/request-context.js";
14
- import { DefaultErrorFallback } from "../default-error-boundary.js";
15
- import { debugLog } from "./logging.js";
16
- /**
17
- * Handle Response returns from handlers.
18
- * When a handler returns a Response (e.g., redirect), throw it to trigger
19
- * the short-circuit mechanism. Otherwise return the ReactNode.
20
- */
21
- export function handleHandlerResult(result) {
22
- if (result instanceof Response) {
23
- throw result;
24
- }
25
- if (result instanceof Promise) {
26
- return result.then((resolved) => {
27
- if (resolved instanceof Response) {
28
- throw resolved;
29
- }
30
- return resolved;
31
- });
32
- }
33
- return result;
34
- }
35
- // ---------------------------------------------------------------------------
36
- // Fresh path (full match, no revalidation)
37
- // ---------------------------------------------------------------------------
38
- /**
39
- * Resolve loaders for an entry and emit segments.
40
- * Loaders are run lazily via ctx.use() and memoized for parallel execution.
41
- */
42
- export async function resolveLoaders(entry, ctx, belongsToRoute, deps, shortCodeOverride) {
43
- const loaderEntries = entry.loader ?? [];
44
- if (loaderEntries.length === 0)
45
- return [];
46
- const shortCode = shortCodeOverride ?? entry.shortCode;
47
- const hasLoading = "loading" in entry && entry.loading !== undefined;
48
- const loadingDisabled = hasLoading && entry.loading === false;
49
- return Promise.all(loaderEntries.map(async ({ loader }, i) => {
50
- const segmentId = `${shortCode}D${i}.${loader.$$id}`;
51
- return {
52
- id: segmentId,
53
- namespace: entry.id,
54
- type: "loader",
55
- index: i,
56
- component: null,
57
- params: ctx.params,
58
- loaderId: loader.$$id,
59
- loaderData: deps.wrapLoaderPromise(loadingDisabled ? await ctx.use(loader) : ctx.use(loader), entry, segmentId, ctx.pathname),
60
- belongsToRoute,
61
- };
62
- }));
63
- }
64
- /**
65
- * Resolve segments from EntryData.
66
- * Executes middlewares, loaders, parallels, and handlers in correct order.
67
- * Returns array: [main segment, ...orphan layout segments]
68
- */
69
- export async function resolveSegment(entry, routeKey, params, context, loaderPromises, deps, isRouteEntry = false, options) {
70
- const segments = [];
71
- if (entry.type === "layout" || entry.type === "cache") {
72
- if (!options?.skipLoaders) {
73
- const loaderSegments = await resolveLoaders(entry, context, false, deps);
74
- segments.push(...loaderSegments);
75
- }
76
- for (const parallelEntry of entry.parallel) {
77
- const parallelSegments = await resolveParallelEntry(parallelEntry, params, context, false, entry.shortCode, deps);
78
- segments.push(...parallelSegments);
79
- }
80
- context._currentSegmentId = entry.shortCode;
81
- const component = typeof entry.handler === "function"
82
- ? handleHandlerResult(await entry.handler(context))
83
- : entry.handler;
84
- segments.push({
85
- id: entry.shortCode,
86
- namespace: entry.id,
87
- type: "layout",
88
- index: 0,
89
- component,
90
- loading: entry.loading === false ? null : entry.loading,
91
- params,
92
- belongsToRoute: false,
93
- layoutName: entry.id,
94
- ...(entry.mountPath ? { mountPath: entry.mountPath } : {}),
95
- });
96
- for (const orphan of entry.layout) {
97
- const orphanSegments = await resolveOrphanLayout(orphan, params, context, loaderPromises, false, deps);
98
- segments.push(...orphanSegments);
99
- }
100
- }
101
- else if (entry.type === "route") {
102
- if (!options?.skipLoaders) {
103
- const loaderSegments = await resolveLoaders(entry, context, true, deps);
104
- segments.push(...loaderSegments);
105
- }
106
- for (const orphan of entry.layout) {
107
- const orphanSegments = await resolveOrphanLayout(orphan, params, context, loaderPromises, true, deps);
108
- segments.push(...orphanSegments);
109
- }
110
- for (const parallelEntry of entry.parallel) {
111
- const parallelSegments = await resolveParallelEntry(parallelEntry, params, context, true, entry.shortCode, deps);
112
- segments.push(...parallelSegments);
113
- }
114
- context._currentSegmentId = entry.shortCode;
115
- let component;
116
- if (entry.loading) {
117
- const result = handleHandlerResult(entry.handler(context));
118
- component = result instanceof Promise ? deps.trackHandler(result) : result;
119
- }
120
- else {
121
- component = handleHandlerResult(await entry.handler(context));
122
- }
123
- segments.push({
124
- id: entry.shortCode,
125
- namespace: entry.id,
126
- type: "route",
127
- index: 0,
128
- component,
129
- loading: entry.loading === false ? null : entry.loading,
130
- params,
131
- belongsToRoute: true,
132
- ...(entry.mountPath ? { mountPath: entry.mountPath } : {}),
133
- });
134
- }
135
- else {
136
- throw new Error(`Unknown entry type: ${entry.type}`);
137
- }
138
- return segments;
139
- }
140
- /**
141
- * Resolve orphan layout with its middlewares, loaders, and parallels.
142
- */
143
- export async function resolveOrphanLayout(orphan, params, context, loaderPromises, belongsToRoute, deps) {
144
- invariant(orphan.type === "layout" || orphan.type === "cache", `Expected orphan to be a layout or cache, got: ${orphan.type}`);
145
- const loaderSegments = await resolveLoaders(orphan, context, belongsToRoute, deps);
146
- const segments = [...loaderSegments];
147
- for (const parallelEntry of orphan.parallel) {
148
- const parallelSegments = await resolveParallelEntry(parallelEntry, params, context, belongsToRoute, orphan.shortCode, deps);
149
- segments.push(...parallelSegments);
150
- }
151
- const component = typeof orphan.handler === "function"
152
- ? handleHandlerResult(await orphan.handler(context))
153
- : orphan.handler;
154
- segments.push({
155
- id: orphan.shortCode,
156
- namespace: orphan.id,
157
- type: "layout",
158
- index: 0,
159
- component,
160
- params,
161
- belongsToRoute,
162
- layoutName: orphan.id,
163
- loading: orphan.loading === false ? null : orphan.loading,
164
- ...(orphan.mountPath ? { mountPath: orphan.mountPath } : {}),
165
- });
166
- return segments;
167
- }
168
- /**
169
- * Resolve parallel EntryData with its loaders and slot handlers.
170
- */
171
- export async function resolveParallelEntry(parallelEntry, params, context, belongsToRoute, parentShortCode, deps) {
172
- invariant(parallelEntry.type === "parallel", `Expected parallel entry, got: ${parallelEntry.type}`);
173
- const segments = [];
174
- const slots = parallelEntry.handler;
175
- for (const [slot, handler] of Object.entries(slots)) {
176
- let component;
177
- const hasLoadingFallback = parallelEntry.loading !== undefined && parallelEntry.loading !== false;
178
- if (hasLoadingFallback) {
179
- const result = typeof handler === "function" ? handler(context) : handler;
180
- component = result;
181
- }
182
- else {
183
- component =
184
- typeof handler === "function" ? await handler(context) : handler;
185
- }
186
- segments.push({
187
- id: `${parentShortCode}.${slot}`,
188
- namespace: parallelEntry.id,
189
- type: "parallel",
190
- index: 0,
191
- component,
192
- loading: parallelEntry.loading === false ? null : parallelEntry.loading,
193
- params,
194
- slot,
195
- belongsToRoute,
196
- parallelName: `${parallelEntry.id}.${slot}`,
197
- ...(parallelEntry.mountPath
198
- ? { mountPath: parallelEntry.mountPath }
199
- : {}),
200
- });
201
- }
202
- if (!parallelEntry.loading) {
203
- const loaderSegments = await resolveLoaders(parallelEntry, context, belongsToRoute, deps, parentShortCode);
204
- segments.push(...loaderSegments);
205
- }
206
- return segments;
207
- }
208
- /**
209
- * Wrapper that adds error boundary handling to segment resolution.
210
- */
211
- export async function resolveWithErrorHandling(entry, routeKey, params, context, loaderPromises, resolveFn, deps, errorContext) {
212
- try {
213
- return await resolveFn();
214
- }
215
- catch (error) {
216
- if (error instanceof Response) {
217
- throw error;
218
- }
219
- if (error instanceof DataNotFoundError) {
220
- const notFoundFallback = deps.findNearestNotFoundBoundary(entry);
221
- if (notFoundFallback) {
222
- const notFoundInfo = createNotFoundInfo(error, entry.shortCode, entry.type, context.pathname);
223
- deps.callOnError(error, "handler", {
224
- request: context.request,
225
- url: context.url,
226
- routeKey,
227
- params,
228
- segmentId: entry.shortCode,
229
- segmentType: entry.type,
230
- env: errorContext?.env,
231
- isPartial: errorContext?.isPartial,
232
- handledByBoundary: true,
233
- metadata: { notFound: true, message: notFoundInfo.message },
234
- requestStartTime: errorContext?.requestStartTime,
235
- });
236
- debugLog("segment", "notFound boundary handled error", {
237
- segmentId: entry.shortCode,
238
- message: notFoundInfo.message,
239
- });
240
- const reqCtx = getRequestContext();
241
- if (reqCtx) {
242
- reqCtx.res = new Response(null, {
243
- status: 404,
244
- headers: reqCtx.res.headers,
245
- });
246
- }
247
- const notFoundSegment = createNotFoundSegment(notFoundInfo, notFoundFallback, entry, params);
248
- return [notFoundSegment];
249
- }
250
- }
251
- const fallback = deps.findNearestErrorBoundary(entry);
252
- const segmentType = entry.type;
253
- const errorInfo = createErrorInfo(error, entry.shortCode, segmentType);
254
- const effectiveFallback = fallback ?? DefaultErrorFallback;
255
- deps.callOnError(error, "handler", {
256
- request: context.request,
257
- url: context.url,
258
- routeKey,
259
- params,
260
- segmentId: entry.shortCode,
261
- segmentType: entry.type,
262
- env: errorContext?.env,
263
- isPartial: errorContext?.isPartial,
264
- handledByBoundary: !!fallback,
265
- requestStartTime: errorContext?.requestStartTime,
266
- });
267
- debugLog("segment", "error boundary handled error", {
268
- segmentId: entry.shortCode,
269
- boundary: fallback ? "custom" : "default",
270
- message: errorInfo.message,
271
- });
272
- {
273
- const reqCtx = getRequestContext();
274
- if (reqCtx) {
275
- reqCtx.res = new Response(null, {
276
- status: 500,
277
- headers: reqCtx.res.headers,
278
- });
279
- }
280
- }
281
- const errorSegment = createErrorSegment(errorInfo, effectiveFallback, entry, params);
282
- return [errorSegment];
283
- }
284
- }
285
- /**
286
- * Resolve all segments for a route (used for single-cache-per-request pattern).
287
- */
288
- export async function resolveAllSegments(entries, routeKey, params, context, loaderPromises, deps, options) {
289
- const allSegments = [];
290
- const seenIds = new Set();
291
- for (const entry of entries) {
292
- const resolvedSegments = await resolveWithErrorHandling(entry, routeKey, params, context, loaderPromises, () => resolveSegment(entry, routeKey, params, context, loaderPromises, deps, false, options), deps);
293
- // Deduplicate by segment ID. include() scopes can produce entries that
294
- // resolve the same shared layout/loader segment. Duplicates in the segment
295
- // array propagate to the client's matched[] and change the React tree depth.
296
- for (const seg of resolvedSegments) {
297
- if (!seenIds.has(seg.id)) {
298
- seenIds.add(seg.id);
299
- allSegments.push(seg);
300
- }
301
- }
302
- }
303
- return allSegments;
304
- }
305
- /**
306
- * Resolve only loader segments for all entries (used when serving cached non-loader segments).
307
- */
308
- export async function resolveLoadersOnly(entries, context, deps) {
309
- const loaderSegments = [];
310
- for (const entry of entries) {
311
- const belongsToRoute = entry.type === "route";
312
- const segments = await resolveLoaders(entry, context, belongsToRoute, deps);
313
- loaderSegments.push(...segments);
314
- }
315
- return loaderSegments;
316
- }
317
- // ---------------------------------------------------------------------------
318
- // Revalidation path (partial match)
319
- // ---------------------------------------------------------------------------
320
- /**
321
- * Resolve loaders with revalidation awareness (for partial rendering).
322
- * Returns both segments to render AND all matched segment IDs.
323
- */
324
- export async function resolveLoadersWithRevalidation(entry, ctx, belongsToRoute, clientSegmentIds, prevParams, request, prevUrl, nextUrl, routeKey, deps, actionContext, shortCodeOverride, stale) {
325
- const loaderEntries = entry.loader ?? [];
326
- if (loaderEntries.length === 0)
327
- return { segments: [], matchedIds: [] };
328
- const shortCode = shortCodeOverride ?? entry.shortCode;
329
- const loaderMeta = loaderEntries.map(({ loader, revalidate: loaderRevalidateFns }, i) => ({
330
- loader,
331
- loaderRevalidateFns,
332
- segmentId: `${shortCode}D${i}.${loader.$$id}`,
333
- index: i,
334
- }));
335
- const matchedIds = loaderMeta.map((m) => m.segmentId);
336
- const revalidationChecks = await Promise.all(loaderMeta.map(async ({ loader, loaderRevalidateFns, segmentId, index }) => {
337
- const shouldRun = await revalidate(async () => {
338
- if (!clientSegmentIds.has(segmentId))
339
- return true;
340
- const dummySegment = {
341
- id: segmentId,
342
- namespace: entry.id,
343
- type: "loader",
344
- index,
345
- component: null,
346
- params: ctx.params,
347
- loaderId: loader.$$id,
348
- belongsToRoute,
349
- };
350
- return await evaluateRevalidation({
351
- segment: dummySegment,
352
- prevParams,
353
- getPrevSegment: null,
354
- request,
355
- prevUrl,
356
- nextUrl,
357
- revalidations: loaderRevalidateFns.map((fn, j) => ({
358
- name: `loader-revalidate${j}`,
359
- fn,
360
- })),
361
- routeKey,
362
- context: ctx,
363
- actionContext,
364
- stale,
365
- });
366
- }, async () => true, () => false);
367
- return { shouldRun, loader, segmentId, index };
368
- }));
369
- const loadersToRun = revalidationChecks.filter((c) => c.shouldRun);
370
- const segments = loadersToRun.map(({ loader, segmentId, index }) => ({
371
- id: segmentId,
372
- namespace: entry.id,
373
- type: "loader",
374
- index,
375
- component: null,
376
- params: ctx.params,
377
- loaderId: loader.$$id,
378
- loaderData: deps.wrapLoaderPromise(ctx.use(loader), entry, segmentId, ctx.pathname),
379
- belongsToRoute,
380
- }));
381
- return { segments, matchedIds };
382
- }
383
- /**
384
- * Resolve only loader segments for all entries with revalidation logic.
385
- */
386
- export async function resolveLoadersOnlyWithRevalidation(entries, context, clientSegmentIds, prevParams, request, prevUrl, nextUrl, routeKey, deps, actionContext) {
387
- const allLoaderSegments = [];
388
- const allMatchedIds = [];
389
- for (const entry of entries) {
390
- const belongsToRoute = entry.type === "route";
391
- const { segments, matchedIds } = await resolveLoadersWithRevalidation(entry, context, belongsToRoute, clientSegmentIds, prevParams, request, prevUrl, nextUrl, routeKey, deps, actionContext);
392
- allLoaderSegments.push(...segments);
393
- allMatchedIds.push(...matchedIds);
394
- }
395
- return { segments: allLoaderSegments, matchedIds: allMatchedIds };
396
- }
397
- /**
398
- * Build a map of segment shortCode -> entry with revalidate functions.
399
- */
400
- export function buildEntryRevalidateMap(entries) {
401
- const map = new Map();
402
- function processEntry(entry, parentShortCode) {
403
- map.set(entry.shortCode, { entry, revalidate: entry.revalidate });
404
- if (entry.type !== "parallel") {
405
- for (const parallelEntry of entry.parallel) {
406
- if (parallelEntry.type === "parallel") {
407
- const slots = Object.keys(parallelEntry.handler);
408
- for (const slot of slots) {
409
- const parallelId = `${parallelEntry.shortCode}.${slot}`;
410
- map.set(parallelId, {
411
- entry: parallelEntry,
412
- revalidate: parallelEntry.revalidate,
413
- });
414
- }
415
- }
416
- }
417
- }
418
- for (const layoutEntry of entry.layout) {
419
- processEntry(layoutEntry);
420
- }
421
- }
422
- for (const entry of entries) {
423
- processEntry(entry);
424
- }
425
- return map;
426
- }
427
- /**
428
- * Resolve parallel segments with revalidation.
429
- */
430
- export async function resolveParallelSegmentsWithRevalidation(entry, params, context, belongsToRoute, clientSegmentIds, prevParams, request, prevUrl, nextUrl, routeKey, deps, actionContext, stale) {
431
- const segments = [];
432
- const matchedIds = [];
433
- for (const parallelEntry of entry.parallel) {
434
- invariant(parallelEntry.type === "parallel", `Expected parallel entry, got: ${parallelEntry.type}`);
435
- const slots = parallelEntry.handler;
436
- for (const [slot, handler] of Object.entries(slots)) {
437
- const parallelId = `${entry.shortCode}.${slot}`;
438
- const isFullRefetch = clientSegmentIds.size === 0;
439
- // When the parent layout is new (not in client's segment set),
440
- // all its parallel children must be resolved and tracked.
441
- // Without this, navigating to a new layout with parallels
442
- // (e.g., BlogLayout with @sidebar) from a different route
443
- // would silently drop those parallel segments.
444
- const isNewParent = !clientSegmentIds.has(entry.shortCode);
445
- if (isFullRefetch ||
446
- clientSegmentIds.has(parallelId) ||
447
- belongsToRoute ||
448
- isNewParent) {
449
- matchedIds.push(parallelId);
450
- }
451
- const shouldResolve = await (async () => {
452
- if (isFullRefetch)
453
- return true;
454
- if (!clientSegmentIds.has(parallelId))
455
- return belongsToRoute || isNewParent;
456
- const dummySegment = {
457
- id: parallelId,
458
- namespace: parallelEntry.id,
459
- type: "parallel",
460
- index: 0,
461
- component: null,
462
- params,
463
- slot,
464
- belongsToRoute,
465
- parallelName: `${parallelEntry.id}.${slot}`,
466
- ...(parallelEntry.mountPath
467
- ? { mountPath: parallelEntry.mountPath }
468
- : {}),
469
- };
470
- return await evaluateRevalidation({
471
- segment: dummySegment,
472
- prevParams,
473
- getPrevSegment: null,
474
- request,
475
- prevUrl,
476
- nextUrl,
477
- revalidations: parallelEntry.revalidate.map((fn, i) => ({
478
- name: `revalidate${i}`,
479
- fn,
480
- })),
481
- routeKey,
482
- context,
483
- actionContext,
484
- stale,
485
- });
486
- })();
487
- let component;
488
- const hasLoadingFallback = parallelEntry.loading !== undefined && parallelEntry.loading !== false;
489
- if (!shouldResolve) {
490
- component = null;
491
- }
492
- else if (hasLoadingFallback) {
493
- component =
494
- (typeof handler === "function"
495
- ? handler(context)
496
- : handler);
497
- }
498
- else {
499
- component =
500
- typeof handler === "function"
501
- ? await handler(context)
502
- : handler;
503
- }
504
- segments.push({
505
- id: parallelId,
506
- namespace: parallelEntry.id,
507
- type: "parallel",
508
- index: 0,
509
- component,
510
- loading: parallelEntry.loading === false ? null : parallelEntry.loading,
511
- params,
512
- slot,
513
- belongsToRoute,
514
- parallelName: `${parallelEntry.id}.${slot}`,
515
- ...(parallelEntry.mountPath
516
- ? { mountPath: parallelEntry.mountPath }
517
- : {}),
518
- });
519
- }
520
- if (!parallelEntry.loading) {
521
- const loaderResult = await resolveLoadersWithRevalidation(parallelEntry, context, belongsToRoute, clientSegmentIds, prevParams, request, prevUrl, nextUrl, routeKey, deps, actionContext, entry.shortCode, stale);
522
- segments.push(...loaderResult.segments);
523
- matchedIds.push(...loaderResult.matchedIds);
524
- }
525
- }
526
- return { segments, matchedIds };
527
- }
528
- /**
529
- * Resolve entry handler (layout, cache, or route) with revalidation.
530
- */
531
- export async function resolveEntryHandlerWithRevalidation(entry, params, context, belongsToRoute, clientSegmentIds, prevParams, request, prevUrl, nextUrl, routeKey, deps, actionContext, stale) {
532
- const matchedId = entry.shortCode;
533
- const component = await revalidate(async () => {
534
- const hasSegment = clientSegmentIds.has(entry.shortCode);
535
- debugLog("segment.revalidate", "entry presence check", {
536
- segmentId: entry.shortCode,
537
- entryType: entry.type,
538
- clientHasSegment: hasSegment,
539
- belongsToRoute,
540
- });
541
- if (!hasSegment)
542
- return true;
543
- const dummySegment = {
544
- id: entry.shortCode,
545
- namespace: entry.id,
546
- type: entry.type === "cache"
547
- ? "layout"
548
- : entry.type,
549
- index: 0,
550
- component: null,
551
- params,
552
- belongsToRoute,
553
- ...(entry.type === "layout" || entry.type === "cache"
554
- ? { layoutName: entry.id }
555
- : {}),
556
- ...(entry.mountPath ? { mountPath: entry.mountPath } : {}),
557
- };
558
- const shouldRevalidate = await evaluateRevalidation({
559
- segment: dummySegment,
560
- prevParams,
561
- getPrevSegment: null,
562
- request,
563
- prevUrl,
564
- nextUrl,
565
- revalidations: entry.revalidate.map((fn, i) => ({
566
- name: `revalidate${i}`,
567
- fn,
568
- })),
569
- routeKey,
570
- context,
571
- actionContext,
572
- stale,
573
- });
574
- debugLog("segment.revalidate", "entry revalidation decision", {
575
- segmentId: entry.shortCode,
576
- shouldRevalidate,
577
- });
578
- return shouldRevalidate;
579
- }, async () => {
580
- context._currentSegmentId = entry.shortCode;
581
- if (entry.type === "layout" || entry.type === "cache") {
582
- return typeof entry.handler === "function"
583
- ? handleHandlerResult(await entry.handler(context))
584
- : entry.handler;
585
- }
586
- const routeEntry = entry;
587
- if (!routeEntry.loading) {
588
- return handleHandlerResult(await routeEntry.handler(context));
589
- }
590
- if (!actionContext) {
591
- const result = handleHandlerResult(routeEntry.handler(context));
592
- return {
593
- content: result instanceof Promise ? deps.trackHandler(result) : result,
594
- };
595
- }
596
- debugLog("segment.action", "resolving action route with awaited value", {
597
- entryId: entry.id,
598
- });
599
- return {
600
- content: Promise.resolve(handleHandlerResult(await routeEntry.handler(context))),
601
- };
602
- }, () => null);
603
- const resolvedComponent = component && typeof component === "object" && "content" in component
604
- ? component.content
605
- : component;
606
- const segment = {
607
- id: entry.shortCode,
608
- namespace: entry.id,
609
- type: entry.type === "cache" ? "layout" : entry.type,
610
- index: 0,
611
- component: resolvedComponent,
612
- loading: entry.loading === false ? null : entry.loading,
613
- params,
614
- belongsToRoute,
615
- ...(entry.type === "layout" || entry.type === "cache"
616
- ? { layoutName: entry.id }
617
- : {}),
618
- ...(entry.mountPath ? { mountPath: entry.mountPath } : {}),
619
- };
620
- return { segment, matchedId };
621
- }
622
- /**
623
- * Resolve segments with revalidation awareness (for partial rendering).
624
- */
625
- export async function resolveSegmentWithRevalidation(entry, routeKey, params, context, clientSegmentIds, prevParams, request, prevUrl, nextUrl, loaderPromises, deps, actionContext, stale) {
626
- const segments = [];
627
- const matchedIds = [];
628
- const belongsToRoute = entry.type === "route";
629
- const loaderResult = await resolveLoadersWithRevalidation(entry, context, belongsToRoute, clientSegmentIds, prevParams, request, prevUrl, nextUrl, routeKey, deps, actionContext, undefined, stale);
630
- segments.push(...loaderResult.segments);
631
- matchedIds.push(...loaderResult.matchedIds);
632
- if (entry.type === "route") {
633
- for (const orphan of entry.layout) {
634
- const orphanResult = await resolveOrphanLayoutWithRevalidation(orphan, params, context, clientSegmentIds, prevParams, request, prevUrl, nextUrl, routeKey, loaderPromises, true, deps, actionContext, stale);
635
- segments.push(...orphanResult.segments);
636
- matchedIds.push(...orphanResult.matchedIds);
637
- }
638
- }
639
- const parallelResult = await resolveParallelSegmentsWithRevalidation(entry, params, context, belongsToRoute, clientSegmentIds, prevParams, request, prevUrl, nextUrl, routeKey, deps, actionContext, stale);
640
- segments.push(...parallelResult.segments);
641
- matchedIds.push(...parallelResult.matchedIds);
642
- if (entry.type === "layout" || entry.type === "cache") {
643
- for (const orphan of entry.layout) {
644
- const orphanResult = await resolveOrphanLayoutWithRevalidation(orphan, params, context, clientSegmentIds, prevParams, request, prevUrl, nextUrl, routeKey, loaderPromises, false, deps, actionContext, stale);
645
- segments.push(...orphanResult.segments);
646
- matchedIds.push(...orphanResult.matchedIds);
647
- }
648
- }
649
- const handlerResult = await resolveEntryHandlerWithRevalidation(entry, params, context, belongsToRoute, clientSegmentIds, prevParams, request, prevUrl, nextUrl, routeKey, deps, actionContext, stale);
650
- segments.push(handlerResult.segment);
651
- matchedIds.push(handlerResult.matchedId);
652
- return { segments, matchedIds };
653
- }
654
- /**
655
- * Resolve orphan layout with revalidation.
656
- */
657
- export async function resolveOrphanLayoutWithRevalidation(orphan, params, context, clientSegmentIds, prevParams, request, prevUrl, nextUrl, routeKey, loaderPromises, belongsToRoute, deps, actionContext, stale) {
658
- invariant(orphan.type === "layout" || orphan.type === "cache", `Expected orphan to be a layout or cache, got: ${orphan.type}`);
659
- const segments = [];
660
- const matchedIds = [];
661
- const loaderResult = await resolveLoadersWithRevalidation(orphan, context, belongsToRoute, clientSegmentIds, prevParams, request, prevUrl, nextUrl, routeKey, deps, actionContext, undefined, stale);
662
- segments.push(...loaderResult.segments);
663
- matchedIds.push(...loaderResult.matchedIds);
664
- for (const parallelEntry of orphan.parallel) {
665
- invariant(parallelEntry.type === "parallel", `Expected parallel entry, got: ${parallelEntry.type}`);
666
- const loaderResult = await resolveLoadersWithRevalidation(parallelEntry, context, belongsToRoute, clientSegmentIds, prevParams, request, prevUrl, nextUrl, routeKey, deps, actionContext, undefined, stale);
667
- segments.push(...loaderResult.segments);
668
- matchedIds.push(...loaderResult.matchedIds);
669
- const slots = parallelEntry.handler;
670
- for (const [slot, handler] of Object.entries(slots)) {
671
- // Use orphan.shortCode (the parent layout) to match the SSR path
672
- // (resolveParallelEntry receives parentShortCode = orphan.shortCode).
673
- // Using parallelEntry.shortCode would generate IDs the client doesn't know about.
674
- const parallelId = `${orphan.shortCode}.${slot}`;
675
- matchedIds.push(parallelId);
676
- const shouldResolve = await (async () => {
677
- if (!clientSegmentIds.has(parallelId))
678
- return true;
679
- const dummySegment = {
680
- id: parallelId,
681
- namespace: parallelEntry.id,
682
- type: "parallel",
683
- index: 0,
684
- component: null,
685
- params,
686
- slot,
687
- belongsToRoute,
688
- parallelName: `${parallelEntry.id}.${slot}`,
689
- ...(parallelEntry.mountPath
690
- ? { mountPath: parallelEntry.mountPath }
691
- : {}),
692
- };
693
- return await evaluateRevalidation({
694
- segment: dummySegment,
695
- prevParams,
696
- getPrevSegment: null,
697
- request,
698
- prevUrl,
699
- nextUrl,
700
- revalidations: parallelEntry.revalidate.map((fn, i) => ({
701
- name: `revalidate${i}`,
702
- fn,
703
- })),
704
- routeKey,
705
- context,
706
- actionContext,
707
- stale,
708
- });
709
- })();
710
- let component;
711
- const hasLoadingFallback = parallelEntry.loading !== undefined && parallelEntry.loading !== false;
712
- if (!shouldResolve) {
713
- component = null;
714
- }
715
- else if (hasLoadingFallback) {
716
- component =
717
- (typeof handler === "function"
718
- ? handler(context)
719
- : handler);
720
- }
721
- else {
722
- component =
723
- typeof handler === "function"
724
- ? await handler(context)
725
- : handler;
726
- }
727
- segments.push({
728
- id: parallelId,
729
- namespace: parallelEntry.id,
730
- type: "parallel",
731
- index: 0,
732
- component,
733
- loading: parallelEntry.loading === false ? null : parallelEntry.loading,
734
- params,
735
- slot,
736
- belongsToRoute,
737
- parallelName: `${parallelEntry.id}.${slot}`,
738
- ...(parallelEntry.mountPath
739
- ? { mountPath: parallelEntry.mountPath }
740
- : {}),
741
- });
742
- }
743
- }
744
- matchedIds.push(orphan.shortCode);
745
- const component = await revalidate(async () => {
746
- if (!clientSegmentIds.has(orphan.shortCode))
747
- return true;
748
- const dummySegment = {
749
- id: orphan.shortCode,
750
- namespace: orphan.id,
751
- type: "layout",
752
- index: 0,
753
- component: null,
754
- params,
755
- belongsToRoute,
756
- layoutName: orphan.id,
757
- ...(orphan.mountPath ? { mountPath: orphan.mountPath } : {}),
758
- };
759
- return await evaluateRevalidation({
760
- segment: dummySegment,
761
- prevParams,
762
- getPrevSegment: null,
763
- request,
764
- prevUrl,
765
- nextUrl,
766
- revalidations: orphan.revalidate.map((fn, i) => ({
767
- name: `revalidate${i}`,
768
- fn,
769
- })),
770
- routeKey,
771
- context,
772
- actionContext,
773
- stale,
774
- });
775
- }, async () => typeof orphan.handler === "function"
776
- ? handleHandlerResult(await orphan.handler(context))
777
- : orphan.handler, () => null);
778
- segments.push({
779
- id: orphan.shortCode,
780
- namespace: orphan.id,
781
- type: "layout",
782
- index: 0,
783
- component,
784
- params,
785
- belongsToRoute,
786
- layoutName: orphan.id,
787
- loading: orphan.loading === false ? null : orphan.loading,
788
- ...(orphan.mountPath ? { mountPath: orphan.mountPath } : {}),
789
- });
790
- return { segments, matchedIds };
791
- }
792
- /**
793
- * Wrapper for segment resolution with revalidation that adds error boundary handling.
794
- */
795
- export async function resolveWithRevalidationErrorHandling(entry, params, resolveFn, deps, pathname, errorContext) {
796
- try {
797
- return await resolveFn();
798
- }
799
- catch (error) {
800
- if (error instanceof Response) {
801
- throw error;
802
- }
803
- if (error instanceof DataNotFoundError) {
804
- const notFoundFallback = deps.findNearestNotFoundBoundary(entry);
805
- if (notFoundFallback) {
806
- const notFoundInfo = createNotFoundInfo(error, entry.shortCode, entry.type, pathname);
807
- if (errorContext) {
808
- deps.callOnError(error, "handler", {
809
- request: errorContext.request,
810
- url: errorContext.url,
811
- routeKey: errorContext.routeKey,
812
- params,
813
- segmentId: entry.shortCode,
814
- segmentType: entry.type,
815
- env: errorContext.env,
816
- isPartial: errorContext.isPartial,
817
- handledByBoundary: true,
818
- metadata: { notFound: true, message: notFoundInfo.message },
819
- requestStartTime: errorContext.requestStartTime,
820
- });
821
- }
822
- debugLog("segment", "notFound boundary handled error", {
823
- segmentId: entry.shortCode,
824
- message: notFoundInfo.message,
825
- });
826
- const reqCtx = getRequestContext();
827
- if (reqCtx) {
828
- reqCtx.res = new Response(null, {
829
- status: 404,
830
- headers: reqCtx.res.headers,
831
- });
832
- }
833
- const notFoundSegment = createNotFoundSegment(notFoundInfo, notFoundFallback, entry, params);
834
- return {
835
- segments: [notFoundSegment],
836
- matchedIds: [notFoundSegment.id],
837
- };
838
- }
839
- }
840
- const fallback = deps.findNearestErrorBoundary(entry);
841
- const segmentType = entry.type;
842
- const errorInfo = createErrorInfo(error, entry.shortCode, segmentType);
843
- const effectiveFallback = fallback ?? DefaultErrorFallback;
844
- if (errorContext) {
845
- deps.callOnError(error, "handler", {
846
- request: errorContext.request,
847
- url: errorContext.url,
848
- routeKey: errorContext.routeKey,
849
- params,
850
- segmentId: entry.shortCode,
851
- segmentType: entry.type,
852
- env: errorContext.env,
853
- isPartial: errorContext.isPartial,
854
- handledByBoundary: !!fallback,
855
- requestStartTime: errorContext.requestStartTime,
856
- });
857
- }
858
- debugLog("segment", "error boundary handled error", {
859
- segmentId: entry.shortCode,
860
- boundary: fallback ? "custom" : "default",
861
- message: errorInfo.message,
862
- });
863
- {
864
- const reqCtx = getRequestContext();
865
- if (reqCtx) {
866
- reqCtx.res = new Response(null, {
867
- status: 500,
868
- headers: reqCtx.res.headers,
869
- });
870
- }
871
- }
872
- const errorSegment = createErrorSegment(errorInfo, effectiveFallback, entry, params);
873
- return {
874
- segments: [errorSegment],
875
- matchedIds: [errorSegment.id],
876
- };
877
- }
878
- }
879
- /**
880
- * Resolve all segments for a route with revalidation logic (for matchPartial).
881
- */
882
- export async function resolveAllSegmentsWithRevalidation(entries, routeKey, params, context, clientSegmentSet, prevParams, request, prevUrl, nextUrl, loaderPromises, actionContext, interceptResult, localRouteName, pathname, deps) {
883
- const allSegments = [];
884
- const matchedIds = [];
885
- const seenSegIds = new Set();
886
- const seenMatchIds = new Set();
887
- for (const entry of entries) {
888
- if (entry.type === "route" && interceptResult) {
889
- debugLog("matchPartial.intercept", "skipping route handler during intercept", {
890
- localRouteName,
891
- segmentId: entry.shortCode,
892
- });
893
- if (!seenMatchIds.has(entry.shortCode)) {
894
- seenMatchIds.add(entry.shortCode);
895
- matchedIds.push(entry.shortCode);
896
- }
897
- continue;
898
- }
899
- const nonParallelEntry = entry;
900
- const resolved = await resolveWithRevalidationErrorHandling(nonParallelEntry, params, () => resolveSegmentWithRevalidation(nonParallelEntry, routeKey, params, context, clientSegmentSet, prevParams, request, prevUrl, nextUrl, loaderPromises, deps, actionContext, false), deps, pathname);
901
- // Deduplicate segments and matchedIds by ID, matching resolveAllSegments.
902
- // include() scopes can produce entries that resolve the same shared
903
- // layout/loader segment. Duplicates cause React tree depth changes.
904
- for (const seg of resolved.segments) {
905
- if (!seenSegIds.has(seg.id)) {
906
- seenSegIds.add(seg.id);
907
- allSegments.push(seg);
908
- }
909
- }
910
- for (const id of resolved.matchedIds) {
911
- if (!seenMatchIds.has(id)) {
912
- seenMatchIds.add(id);
913
- matchedIds.push(id);
914
- }
915
- }
916
- }
917
- return { segments: allSegments, matchedIds };
918
- }
919
- //# sourceMappingURL=segment-resolution.js.map