@rangojs/router 0.0.0-experimental.136 → 0.0.0-experimental.138

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 (862) hide show
  1. package/dist/bin/rango.js +237 -42
  2. package/dist/vite/index.js +239 -43
  3. package/package.json +19 -18
  4. package/skills/breadcrumbs/SKILL.md +29 -12
  5. package/skills/composability/SKILL.md +50 -0
  6. package/skills/migrate-nextjs/SKILL.md +12 -0
  7. package/skills/rango/SKILL.md +5 -1
  8. package/skills/response-routes/SKILL.md +14 -0
  9. package/skills/router-setup/SKILL.md +12 -0
  10. package/skills/testing/handles.md +4 -2
  11. package/skills/testing/reverse-and-types.md +8 -7
  12. package/src/browser/event-controller.ts +21 -0
  13. package/src/browser/react/NavigationProvider.tsx +68 -157
  14. package/src/browser/server-action-bridge.ts +22 -10
  15. package/src/build/generate-manifest.ts +155 -131
  16. package/src/build/index.ts +3 -1
  17. package/src/build/route-types/include-resolution.ts +347 -47
  18. package/src/build/runtime-discovery.ts +4 -1
  19. package/src/cache/cf/cf-cache-store.ts +22 -0
  20. package/src/client.rsc.tsx +0 -3
  21. package/src/client.tsx +0 -3
  22. package/src/defer.ts +11 -22
  23. package/src/handle.ts +37 -15
  24. package/src/handles/MetaTags.tsx +16 -88
  25. package/src/handles/breadcrumbs.ts +12 -14
  26. package/src/handles/deferred-resolution.ts +127 -0
  27. package/src/handles/is-thenable.ts +7 -8
  28. package/src/handles/meta.ts +7 -44
  29. package/src/index.rsc.ts +0 -1
  30. package/src/index.ts +0 -1
  31. package/src/prerender.ts +17 -4
  32. package/src/router/find-match.ts +71 -7
  33. package/src/router/lazy-includes.ts +64 -10
  34. package/src/router/manifest.ts +43 -6
  35. package/src/router/match-api.ts +2 -2
  36. package/src/router/navigation-snapshot.ts +7 -5
  37. package/src/router/prerender-match.ts +11 -5
  38. package/src/router/preview-match.ts +3 -1
  39. package/src/router/request-classification.ts +3 -1
  40. package/src/router/route-snapshot.ts +4 -2
  41. package/src/router/router-context.ts +3 -1
  42. package/src/router/router-interfaces.ts +9 -1
  43. package/src/router.ts +9 -2
  44. package/src/rsc/handler.ts +3 -1
  45. package/src/rsc/manifest-init.ts +1 -1
  46. package/src/rsc/progressive-enhancement.ts +5 -2
  47. package/src/rsc/rsc-rendering.ts +5 -1
  48. package/src/ssr/index.tsx +1 -0
  49. package/src/testing/collect-handle.ts +14 -8
  50. package/src/testing/dispatch.ts +3 -3
  51. package/src/testing/generated-routes.ts +27 -11
  52. package/src/testing/render-route.tsx +6 -1
  53. package/src/urls/include-helper.ts +10 -8
  54. package/src/urls/include-provider.ts +71 -0
  55. package/src/urls/path-helper-types.ts +25 -1
  56. package/src/vite/discovery/discover-routers.ts +1 -1
  57. package/src/vite/router-discovery.ts +8 -0
  58. package/dist/__internal.d.ts +0 -83
  59. package/dist/__internal.d.ts.map +0 -1
  60. package/dist/__internal.js +0 -19
  61. package/dist/__internal.js.map +0 -1
  62. package/dist/__mocks__/version.d.ts +0 -7
  63. package/dist/__mocks__/version.d.ts.map +0 -1
  64. package/dist/__mocks__/version.js +0 -7
  65. package/dist/__mocks__/version.js.map +0 -1
  66. package/dist/__tests__/client-href.test.d.ts +0 -2
  67. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  68. package/dist/__tests__/client-href.test.js +0 -74
  69. package/dist/__tests__/client-href.test.js.map +0 -1
  70. package/dist/__tests__/component-utils.test.d.ts +0 -2
  71. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  72. package/dist/__tests__/component-utils.test.js +0 -51
  73. package/dist/__tests__/component-utils.test.js.map +0 -1
  74. package/dist/__tests__/event-controller.test.d.ts +0 -2
  75. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  76. package/dist/__tests__/event-controller.test.js +0 -538
  77. package/dist/__tests__/event-controller.test.js.map +0 -1
  78. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  79. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  80. package/dist/__tests__/helpers/route-tree.js +0 -374
  81. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  82. package/dist/__tests__/match-result.test.d.ts +0 -2
  83. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  84. package/dist/__tests__/match-result.test.js +0 -154
  85. package/dist/__tests__/match-result.test.js.map +0 -1
  86. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  87. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  88. package/dist/__tests__/navigation-store.test.js +0 -440
  89. package/dist/__tests__/navigation-store.test.js.map +0 -1
  90. package/dist/__tests__/partial-update.test.d.ts +0 -2
  91. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  92. package/dist/__tests__/partial-update.test.js +0 -1009
  93. package/dist/__tests__/partial-update.test.js.map +0 -1
  94. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  95. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  96. package/dist/__tests__/reverse-types.test.js +0 -656
  97. package/dist/__tests__/reverse-types.test.js.map +0 -1
  98. package/dist/__tests__/route-definition.test.d.ts +0 -2
  99. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  100. package/dist/__tests__/route-definition.test.js +0 -55
  101. package/dist/__tests__/route-definition.test.js.map +0 -1
  102. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  103. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  104. package/dist/__tests__/router-helpers.test.js +0 -377
  105. package/dist/__tests__/router-helpers.test.js.map +0 -1
  106. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  107. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  108. package/dist/__tests__/router-integration-2.test.js +0 -426
  109. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  110. package/dist/__tests__/router-integration.test.d.ts +0 -2
  111. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  112. package/dist/__tests__/router-integration.test.js +0 -1051
  113. package/dist/__tests__/router-integration.test.js.map +0 -1
  114. package/dist/__tests__/search-params.test.d.ts +0 -5
  115. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  116. package/dist/__tests__/search-params.test.js +0 -306
  117. package/dist/__tests__/search-params.test.js.map +0 -1
  118. package/dist/__tests__/segment-system.test.d.ts +0 -2
  119. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  120. package/dist/__tests__/segment-system.test.js +0 -627
  121. package/dist/__tests__/segment-system.test.js.map +0 -1
  122. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  123. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  124. package/dist/__tests__/static-handler-types.test.js +0 -63
  125. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  126. package/dist/__tests__/urls.test.d.ts +0 -2
  127. package/dist/__tests__/urls.test.d.ts.map +0 -1
  128. package/dist/__tests__/urls.test.js +0 -421
  129. package/dist/__tests__/urls.test.js.map +0 -1
  130. package/dist/__tests__/use-mount.test.d.ts +0 -2
  131. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  132. package/dist/__tests__/use-mount.test.js +0 -35
  133. package/dist/__tests__/use-mount.test.js.map +0 -1
  134. package/dist/bin/rango.d.ts +0 -2
  135. package/dist/bin/rango.d.ts.map +0 -1
  136. package/dist/bin/rango.js.map +0 -1
  137. package/dist/browser/event-controller.d.ts +0 -191
  138. package/dist/browser/event-controller.d.ts.map +0 -1
  139. package/dist/browser/event-controller.js +0 -559
  140. package/dist/browser/event-controller.js.map +0 -1
  141. package/dist/browser/index.d.ts +0 -2
  142. package/dist/browser/index.d.ts.map +0 -1
  143. package/dist/browser/index.js +0 -14
  144. package/dist/browser/index.js.map +0 -1
  145. package/dist/browser/link-interceptor.d.ts +0 -38
  146. package/dist/browser/link-interceptor.d.ts.map +0 -1
  147. package/dist/browser/link-interceptor.js +0 -99
  148. package/dist/browser/link-interceptor.js.map +0 -1
  149. package/dist/browser/logging.d.ts +0 -10
  150. package/dist/browser/logging.d.ts.map +0 -1
  151. package/dist/browser/logging.js +0 -29
  152. package/dist/browser/logging.js.map +0 -1
  153. package/dist/browser/lru-cache.d.ts +0 -17
  154. package/dist/browser/lru-cache.d.ts.map +0 -1
  155. package/dist/browser/lru-cache.js +0 -50
  156. package/dist/browser/lru-cache.js.map +0 -1
  157. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  158. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  159. package/dist/browser/merge-segment-loaders.js +0 -102
  160. package/dist/browser/merge-segment-loaders.js.map +0 -1
  161. package/dist/browser/navigation-bridge.d.ts +0 -102
  162. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  163. package/dist/browser/navigation-bridge.js +0 -708
  164. package/dist/browser/navigation-bridge.js.map +0 -1
  165. package/dist/browser/navigation-client.d.ts +0 -25
  166. package/dist/browser/navigation-client.d.ts.map +0 -1
  167. package/dist/browser/navigation-client.js +0 -157
  168. package/dist/browser/navigation-client.js.map +0 -1
  169. package/dist/browser/navigation-store.d.ts +0 -101
  170. package/dist/browser/navigation-store.d.ts.map +0 -1
  171. package/dist/browser/navigation-store.js +0 -625
  172. package/dist/browser/navigation-store.js.map +0 -1
  173. package/dist/browser/partial-update.d.ts +0 -75
  174. package/dist/browser/partial-update.d.ts.map +0 -1
  175. package/dist/browser/partial-update.js +0 -426
  176. package/dist/browser/partial-update.js.map +0 -1
  177. package/dist/browser/react/Link.d.ts +0 -86
  178. package/dist/browser/react/Link.d.ts.map +0 -1
  179. package/dist/browser/react/Link.js +0 -128
  180. package/dist/browser/react/Link.js.map +0 -1
  181. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  182. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  183. package/dist/browser/react/NavigationProvider.js +0 -216
  184. package/dist/browser/react/NavigationProvider.js.map +0 -1
  185. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  186. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  187. package/dist/browser/react/ScrollRestoration.js +0 -57
  188. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  189. package/dist/browser/react/context.d.ts +0 -46
  190. package/dist/browser/react/context.d.ts.map +0 -1
  191. package/dist/browser/react/context.js +0 -10
  192. package/dist/browser/react/context.js.map +0 -1
  193. package/dist/browser/react/index.d.ts +0 -11
  194. package/dist/browser/react/index.d.ts.map +0 -1
  195. package/dist/browser/react/index.js +0 -22
  196. package/dist/browser/react/index.js.map +0 -1
  197. package/dist/browser/react/location-state-shared.d.ts +0 -63
  198. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  199. package/dist/browser/react/location-state-shared.js +0 -81
  200. package/dist/browser/react/location-state-shared.js.map +0 -1
  201. package/dist/browser/react/location-state.d.ts +0 -23
  202. package/dist/browser/react/location-state.d.ts.map +0 -1
  203. package/dist/browser/react/location-state.js +0 -29
  204. package/dist/browser/react/location-state.js.map +0 -1
  205. package/dist/browser/react/mount-context.d.ts +0 -24
  206. package/dist/browser/react/mount-context.d.ts.map +0 -1
  207. package/dist/browser/react/mount-context.js +0 -24
  208. package/dist/browser/react/mount-context.js.map +0 -1
  209. package/dist/browser/react/use-action.d.ts +0 -64
  210. package/dist/browser/react/use-action.d.ts.map +0 -1
  211. package/dist/browser/react/use-action.js +0 -134
  212. package/dist/browser/react/use-action.js.map +0 -1
  213. package/dist/browser/react/use-client-cache.d.ts +0 -41
  214. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  215. package/dist/browser/react/use-client-cache.js +0 -39
  216. package/dist/browser/react/use-client-cache.js.map +0 -1
  217. package/dist/browser/react/use-handle.d.ts +0 -31
  218. package/dist/browser/react/use-handle.d.ts.map +0 -1
  219. package/dist/browser/react/use-handle.js +0 -144
  220. package/dist/browser/react/use-handle.js.map +0 -1
  221. package/dist/browser/react/use-href.d.ts +0 -33
  222. package/dist/browser/react/use-href.d.ts.map +0 -1
  223. package/dist/browser/react/use-href.js +0 -39
  224. package/dist/browser/react/use-href.js.map +0 -1
  225. package/dist/browser/react/use-link-status.d.ts +0 -37
  226. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  227. package/dist/browser/react/use-link-status.js +0 -99
  228. package/dist/browser/react/use-link-status.js.map +0 -1
  229. package/dist/browser/react/use-mount.d.ts +0 -25
  230. package/dist/browser/react/use-mount.d.ts.map +0 -1
  231. package/dist/browser/react/use-mount.js +0 -30
  232. package/dist/browser/react/use-mount.js.map +0 -1
  233. package/dist/browser/react/use-navigation.d.ts +0 -27
  234. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  235. package/dist/browser/react/use-navigation.js +0 -87
  236. package/dist/browser/react/use-navigation.js.map +0 -1
  237. package/dist/browser/react/use-segments.d.ts +0 -38
  238. package/dist/browser/react/use-segments.d.ts.map +0 -1
  239. package/dist/browser/react/use-segments.js +0 -130
  240. package/dist/browser/react/use-segments.js.map +0 -1
  241. package/dist/browser/request-controller.d.ts +0 -26
  242. package/dist/browser/request-controller.d.ts.map +0 -1
  243. package/dist/browser/request-controller.js +0 -147
  244. package/dist/browser/request-controller.js.map +0 -1
  245. package/dist/browser/rsc-router.d.ts +0 -129
  246. package/dist/browser/rsc-router.d.ts.map +0 -1
  247. package/dist/browser/rsc-router.js +0 -195
  248. package/dist/browser/rsc-router.js.map +0 -1
  249. package/dist/browser/scroll-restoration.d.ts +0 -93
  250. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  251. package/dist/browser/scroll-restoration.js +0 -321
  252. package/dist/browser/scroll-restoration.js.map +0 -1
  253. package/dist/browser/segment-structure-assert.d.ts +0 -17
  254. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  255. package/dist/browser/segment-structure-assert.js +0 -59
  256. package/dist/browser/segment-structure-assert.js.map +0 -1
  257. package/dist/browser/server-action-bridge.d.ts +0 -26
  258. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  259. package/dist/browser/server-action-bridge.js +0 -668
  260. package/dist/browser/server-action-bridge.js.map +0 -1
  261. package/dist/browser/shallow.d.ts +0 -12
  262. package/dist/browser/shallow.d.ts.map +0 -1
  263. package/dist/browser/shallow.js +0 -34
  264. package/dist/browser/shallow.js.map +0 -1
  265. package/dist/browser/types.d.ts +0 -369
  266. package/dist/browser/types.d.ts.map +0 -1
  267. package/dist/browser/types.js +0 -2
  268. package/dist/browser/types.js.map +0 -1
  269. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  270. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  271. package/dist/build/__tests__/generate-cli.test.js +0 -237
  272. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  273. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  274. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  275. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  276. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  277. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  278. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  279. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  280. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  281. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  282. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  283. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  284. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  285. package/dist/build/generate-manifest.d.ts +0 -81
  286. package/dist/build/generate-manifest.d.ts.map +0 -1
  287. package/dist/build/generate-manifest.js +0 -276
  288. package/dist/build/generate-manifest.js.map +0 -1
  289. package/dist/build/generate-route-types.d.ts +0 -115
  290. package/dist/build/generate-route-types.d.ts.map +0 -1
  291. package/dist/build/generate-route-types.js +0 -740
  292. package/dist/build/generate-route-types.js.map +0 -1
  293. package/dist/build/index.d.ts +0 -21
  294. package/dist/build/index.d.ts.map +0 -1
  295. package/dist/build/index.js +0 -21
  296. package/dist/build/index.js.map +0 -1
  297. package/dist/build/route-trie.d.ts +0 -71
  298. package/dist/build/route-trie.d.ts.map +0 -1
  299. package/dist/build/route-trie.js +0 -175
  300. package/dist/build/route-trie.js.map +0 -1
  301. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  302. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  303. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  304. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  305. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  306. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  307. package/dist/cache/__tests__/document-cache.test.js +0 -345
  308. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  309. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  310. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  311. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  312. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  313. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  314. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  315. package/dist/cache/__tests__/memory-store.test.js +0 -367
  316. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  317. package/dist/cache/cache-scope.d.ts +0 -102
  318. package/dist/cache/cache-scope.d.ts.map +0 -1
  319. package/dist/cache/cache-scope.js +0 -440
  320. package/dist/cache/cache-scope.js.map +0 -1
  321. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  322. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  323. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  324. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  325. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  326. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  327. package/dist/cache/cf/cf-cache-store.js +0 -242
  328. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  329. package/dist/cache/cf/index.d.ts +0 -14
  330. package/dist/cache/cf/index.d.ts.map +0 -1
  331. package/dist/cache/cf/index.js +0 -17
  332. package/dist/cache/cf/index.js.map +0 -1
  333. package/dist/cache/document-cache.d.ts +0 -64
  334. package/dist/cache/document-cache.d.ts.map +0 -1
  335. package/dist/cache/document-cache.js +0 -228
  336. package/dist/cache/document-cache.js.map +0 -1
  337. package/dist/cache/index.d.ts +0 -19
  338. package/dist/cache/index.d.ts.map +0 -1
  339. package/dist/cache/index.js +0 -21
  340. package/dist/cache/index.js.map +0 -1
  341. package/dist/cache/memory-segment-store.d.ts +0 -110
  342. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  343. package/dist/cache/memory-segment-store.js +0 -117
  344. package/dist/cache/memory-segment-store.js.map +0 -1
  345. package/dist/cache/memory-store.d.ts +0 -41
  346. package/dist/cache/memory-store.d.ts.map +0 -1
  347. package/dist/cache/memory-store.js +0 -191
  348. package/dist/cache/memory-store.js.map +0 -1
  349. package/dist/cache/types.d.ts +0 -317
  350. package/dist/cache/types.d.ts.map +0 -1
  351. package/dist/cache/types.js +0 -12
  352. package/dist/cache/types.js.map +0 -1
  353. package/dist/client.d.ts +0 -248
  354. package/dist/client.d.ts.map +0 -1
  355. package/dist/client.js +0 -367
  356. package/dist/client.js.map +0 -1
  357. package/dist/client.rsc.d.ts +0 -26
  358. package/dist/client.rsc.d.ts.map +0 -1
  359. package/dist/client.rsc.js +0 -46
  360. package/dist/client.rsc.js.map +0 -1
  361. package/dist/component-utils.d.ts +0 -36
  362. package/dist/component-utils.d.ts.map +0 -1
  363. package/dist/component-utils.js +0 -61
  364. package/dist/component-utils.js.map +0 -1
  365. package/dist/components/DefaultDocument.d.ts +0 -13
  366. package/dist/components/DefaultDocument.d.ts.map +0 -1
  367. package/dist/components/DefaultDocument.js +0 -15
  368. package/dist/components/DefaultDocument.js.map +0 -1
  369. package/dist/debug.d.ts +0 -58
  370. package/dist/debug.d.ts.map +0 -1
  371. package/dist/debug.js +0 -157
  372. package/dist/debug.js.map +0 -1
  373. package/dist/default-error-boundary.d.ts +0 -11
  374. package/dist/default-error-boundary.d.ts.map +0 -1
  375. package/dist/default-error-boundary.js +0 -45
  376. package/dist/default-error-boundary.js.map +0 -1
  377. package/dist/deps/browser.d.ts +0 -2
  378. package/dist/deps/browser.d.ts.map +0 -1
  379. package/dist/deps/browser.js +0 -3
  380. package/dist/deps/browser.js.map +0 -1
  381. package/dist/deps/html-stream-client.d.ts +0 -2
  382. package/dist/deps/html-stream-client.d.ts.map +0 -1
  383. package/dist/deps/html-stream-client.js +0 -3
  384. package/dist/deps/html-stream-client.js.map +0 -1
  385. package/dist/deps/html-stream-server.d.ts +0 -2
  386. package/dist/deps/html-stream-server.d.ts.map +0 -1
  387. package/dist/deps/html-stream-server.js +0 -3
  388. package/dist/deps/html-stream-server.js.map +0 -1
  389. package/dist/deps/rsc.d.ts +0 -2
  390. package/dist/deps/rsc.d.ts.map +0 -1
  391. package/dist/deps/rsc.js +0 -4
  392. package/dist/deps/rsc.js.map +0 -1
  393. package/dist/deps/ssr.d.ts +0 -2
  394. package/dist/deps/ssr.d.ts.map +0 -1
  395. package/dist/deps/ssr.js +0 -3
  396. package/dist/deps/ssr.js.map +0 -1
  397. package/dist/errors.d.ts +0 -174
  398. package/dist/errors.d.ts.map +0 -1
  399. package/dist/errors.js +0 -241
  400. package/dist/errors.js.map +0 -1
  401. package/dist/handle.d.ts +0 -78
  402. package/dist/handle.d.ts.map +0 -1
  403. package/dist/handle.js +0 -82
  404. package/dist/handle.js.map +0 -1
  405. package/dist/handles/MetaTags.d.ts +0 -14
  406. package/dist/handles/MetaTags.d.ts.map +0 -1
  407. package/dist/handles/MetaTags.js +0 -136
  408. package/dist/handles/MetaTags.js.map +0 -1
  409. package/dist/handles/index.d.ts +0 -6
  410. package/dist/handles/index.d.ts.map +0 -1
  411. package/dist/handles/index.js +0 -6
  412. package/dist/handles/index.js.map +0 -1
  413. package/dist/handles/meta.d.ts +0 -39
  414. package/dist/handles/meta.d.ts.map +0 -1
  415. package/dist/handles/meta.js +0 -202
  416. package/dist/handles/meta.js.map +0 -1
  417. package/dist/host/__tests__/errors.test.d.ts +0 -2
  418. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  419. package/dist/host/__tests__/errors.test.js +0 -76
  420. package/dist/host/__tests__/errors.test.js.map +0 -1
  421. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  422. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  423. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  424. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  425. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  426. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  427. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  428. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  429. package/dist/host/__tests__/router.test.d.ts +0 -2
  430. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  431. package/dist/host/__tests__/router.test.js +0 -241
  432. package/dist/host/__tests__/router.test.js.map +0 -1
  433. package/dist/host/__tests__/testing.test.d.ts +0 -2
  434. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  435. package/dist/host/__tests__/testing.test.js +0 -64
  436. package/dist/host/__tests__/testing.test.js.map +0 -1
  437. package/dist/host/__tests__/utils.test.d.ts +0 -2
  438. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  439. package/dist/host/__tests__/utils.test.js +0 -29
  440. package/dist/host/__tests__/utils.test.js.map +0 -1
  441. package/dist/host/cookie-handler.d.ts +0 -34
  442. package/dist/host/cookie-handler.d.ts.map +0 -1
  443. package/dist/host/cookie-handler.js +0 -124
  444. package/dist/host/cookie-handler.js.map +0 -1
  445. package/dist/host/errors.d.ts +0 -56
  446. package/dist/host/errors.d.ts.map +0 -1
  447. package/dist/host/errors.js +0 -79
  448. package/dist/host/errors.js.map +0 -1
  449. package/dist/host/index.d.ts +0 -29
  450. package/dist/host/index.d.ts.map +0 -1
  451. package/dist/host/index.js +0 -32
  452. package/dist/host/index.js.map +0 -1
  453. package/dist/host/pattern-matcher.d.ts +0 -36
  454. package/dist/host/pattern-matcher.d.ts.map +0 -1
  455. package/dist/host/pattern-matcher.js +0 -172
  456. package/dist/host/pattern-matcher.js.map +0 -1
  457. package/dist/host/router.d.ts +0 -26
  458. package/dist/host/router.d.ts.map +0 -1
  459. package/dist/host/router.js +0 -218
  460. package/dist/host/router.js.map +0 -1
  461. package/dist/host/testing.d.ts +0 -36
  462. package/dist/host/testing.d.ts.map +0 -1
  463. package/dist/host/testing.js +0 -55
  464. package/dist/host/testing.js.map +0 -1
  465. package/dist/host/types.d.ts +0 -115
  466. package/dist/host/types.d.ts.map +0 -1
  467. package/dist/host/types.js +0 -7
  468. package/dist/host/types.js.map +0 -1
  469. package/dist/host/utils.d.ts +0 -21
  470. package/dist/host/utils.d.ts.map +0 -1
  471. package/dist/host/utils.js +0 -23
  472. package/dist/host/utils.js.map +0 -1
  473. package/dist/href-client.d.ts +0 -131
  474. package/dist/href-client.d.ts.map +0 -1
  475. package/dist/href-client.js +0 -64
  476. package/dist/href-client.js.map +0 -1
  477. package/dist/href-context.d.ts +0 -29
  478. package/dist/href-context.d.ts.map +0 -1
  479. package/dist/href-context.js +0 -21
  480. package/dist/href-context.js.map +0 -1
  481. package/dist/index.d.ts +0 -73
  482. package/dist/index.d.ts.map +0 -1
  483. package/dist/index.js +0 -91
  484. package/dist/index.js.map +0 -1
  485. package/dist/index.rsc.d.ts +0 -32
  486. package/dist/index.rsc.d.ts.map +0 -1
  487. package/dist/index.rsc.js +0 -40
  488. package/dist/index.rsc.js.map +0 -1
  489. package/dist/internal-debug.d.ts +0 -2
  490. package/dist/internal-debug.d.ts.map +0 -1
  491. package/dist/internal-debug.js +0 -5
  492. package/dist/internal-debug.js.map +0 -1
  493. package/dist/loader.d.ts +0 -14
  494. package/dist/loader.d.ts.map +0 -1
  495. package/dist/loader.js +0 -20
  496. package/dist/loader.js.map +0 -1
  497. package/dist/loader.rsc.d.ts +0 -19
  498. package/dist/loader.rsc.d.ts.map +0 -1
  499. package/dist/loader.rsc.js +0 -99
  500. package/dist/loader.rsc.js.map +0 -1
  501. package/dist/network-error-thrower.d.ts +0 -17
  502. package/dist/network-error-thrower.d.ts.map +0 -1
  503. package/dist/network-error-thrower.js +0 -14
  504. package/dist/network-error-thrower.js.map +0 -1
  505. package/dist/outlet-context.d.ts +0 -13
  506. package/dist/outlet-context.d.ts.map +0 -1
  507. package/dist/outlet-context.js +0 -3
  508. package/dist/outlet-context.js.map +0 -1
  509. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  510. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  511. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  512. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  513. package/dist/prerender/param-hash.d.ts +0 -16
  514. package/dist/prerender/param-hash.d.ts.map +0 -1
  515. package/dist/prerender/param-hash.js +0 -36
  516. package/dist/prerender/param-hash.js.map +0 -1
  517. package/dist/prerender/store.d.ts +0 -38
  518. package/dist/prerender/store.d.ts.map +0 -1
  519. package/dist/prerender/store.js +0 -61
  520. package/dist/prerender/store.js.map +0 -1
  521. package/dist/prerender.d.ts +0 -66
  522. package/dist/prerender.d.ts.map +0 -1
  523. package/dist/prerender.js +0 -57
  524. package/dist/prerender.js.map +0 -1
  525. package/dist/reverse.d.ts +0 -196
  526. package/dist/reverse.d.ts.map +0 -1
  527. package/dist/reverse.js +0 -78
  528. package/dist/reverse.js.map +0 -1
  529. package/dist/root-error-boundary.d.ts +0 -33
  530. package/dist/root-error-boundary.d.ts.map +0 -1
  531. package/dist/root-error-boundary.js +0 -165
  532. package/dist/root-error-boundary.js.map +0 -1
  533. package/dist/route-content-wrapper.d.ts +0 -46
  534. package/dist/route-content-wrapper.d.ts.map +0 -1
  535. package/dist/route-content-wrapper.js +0 -77
  536. package/dist/route-content-wrapper.js.map +0 -1
  537. package/dist/route-definition.d.ts +0 -421
  538. package/dist/route-definition.d.ts.map +0 -1
  539. package/dist/route-definition.js +0 -868
  540. package/dist/route-definition.js.map +0 -1
  541. package/dist/route-map-builder.d.ts +0 -155
  542. package/dist/route-map-builder.d.ts.map +0 -1
  543. package/dist/route-map-builder.js +0 -237
  544. package/dist/route-map-builder.js.map +0 -1
  545. package/dist/route-types.d.ts +0 -165
  546. package/dist/route-types.d.ts.map +0 -1
  547. package/dist/route-types.js +0 -7
  548. package/dist/route-types.js.map +0 -1
  549. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  550. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  551. package/dist/router/__tests__/handler-context.test.js +0 -65
  552. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  553. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  554. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  555. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  556. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  557. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  558. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  559. package/dist/router/__tests__/match-context.test.js +0 -92
  560. package/dist/router/__tests__/match-context.test.js.map +0 -1
  561. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  562. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  563. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  564. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  565. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  566. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  567. package/dist/router/__tests__/match-result.test.js +0 -457
  568. package/dist/router/__tests__/match-result.test.js.map +0 -1
  569. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  570. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  571. package/dist/router/__tests__/on-error.test.js +0 -678
  572. package/dist/router/__tests__/on-error.test.js.map +0 -1
  573. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  574. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  575. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  576. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  577. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  578. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  579. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  580. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  581. package/dist/router/error-handling.d.ts +0 -77
  582. package/dist/router/error-handling.d.ts.map +0 -1
  583. package/dist/router/error-handling.js +0 -202
  584. package/dist/router/error-handling.js.map +0 -1
  585. package/dist/router/handler-context.d.ts +0 -20
  586. package/dist/router/handler-context.d.ts.map +0 -1
  587. package/dist/router/handler-context.js +0 -198
  588. package/dist/router/handler-context.js.map +0 -1
  589. package/dist/router/intercept-resolution.d.ts +0 -66
  590. package/dist/router/intercept-resolution.d.ts.map +0 -1
  591. package/dist/router/intercept-resolution.js +0 -246
  592. package/dist/router/intercept-resolution.js.map +0 -1
  593. package/dist/router/loader-resolution.d.ts +0 -64
  594. package/dist/router/loader-resolution.d.ts.map +0 -1
  595. package/dist/router/loader-resolution.js +0 -284
  596. package/dist/router/loader-resolution.js.map +0 -1
  597. package/dist/router/logging.d.ts +0 -15
  598. package/dist/router/logging.d.ts.map +0 -1
  599. package/dist/router/logging.js +0 -99
  600. package/dist/router/logging.js.map +0 -1
  601. package/dist/router/manifest.d.ts +0 -22
  602. package/dist/router/manifest.d.ts.map +0 -1
  603. package/dist/router/manifest.js +0 -181
  604. package/dist/router/manifest.js.map +0 -1
  605. package/dist/router/match-api.d.ts +0 -35
  606. package/dist/router/match-api.d.ts.map +0 -1
  607. package/dist/router/match-api.js +0 -406
  608. package/dist/router/match-api.js.map +0 -1
  609. package/dist/router/match-context.d.ts +0 -206
  610. package/dist/router/match-context.d.ts.map +0 -1
  611. package/dist/router/match-context.js +0 -17
  612. package/dist/router/match-context.js.map +0 -1
  613. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  614. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  615. package/dist/router/match-middleware/background-revalidation.js +0 -75
  616. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  617. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  618. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  619. package/dist/router/match-middleware/cache-lookup.js +0 -257
  620. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  621. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  622. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  623. package/dist/router/match-middleware/cache-store.js +0 -108
  624. package/dist/router/match-middleware/cache-store.js.map +0 -1
  625. package/dist/router/match-middleware/index.d.ts +0 -81
  626. package/dist/router/match-middleware/index.d.ts.map +0 -1
  627. package/dist/router/match-middleware/index.js +0 -80
  628. package/dist/router/match-middleware/index.js.map +0 -1
  629. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  630. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  631. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  632. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  633. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  634. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  635. package/dist/router/match-middleware/segment-resolution.js +0 -53
  636. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  637. package/dist/router/match-pipelines.d.ts +0 -147
  638. package/dist/router/match-pipelines.d.ts.map +0 -1
  639. package/dist/router/match-pipelines.js +0 -82
  640. package/dist/router/match-pipelines.js.map +0 -1
  641. package/dist/router/match-result.d.ts +0 -126
  642. package/dist/router/match-result.d.ts.map +0 -1
  643. package/dist/router/match-result.js +0 -93
  644. package/dist/router/match-result.js.map +0 -1
  645. package/dist/router/metrics.d.ts +0 -20
  646. package/dist/router/metrics.d.ts.map +0 -1
  647. package/dist/router/metrics.js +0 -47
  648. package/dist/router/metrics.js.map +0 -1
  649. package/dist/router/middleware.d.ts +0 -249
  650. package/dist/router/middleware.d.ts.map +0 -1
  651. package/dist/router/middleware.js +0 -434
  652. package/dist/router/middleware.js.map +0 -1
  653. package/dist/router/middleware.test.d.ts +0 -2
  654. package/dist/router/middleware.test.d.ts.map +0 -1
  655. package/dist/router/middleware.test.js +0 -816
  656. package/dist/router/middleware.test.js.map +0 -1
  657. package/dist/router/pattern-matching.d.ts +0 -149
  658. package/dist/router/pattern-matching.d.ts.map +0 -1
  659. package/dist/router/pattern-matching.js +0 -349
  660. package/dist/router/pattern-matching.js.map +0 -1
  661. package/dist/router/revalidation.d.ts +0 -44
  662. package/dist/router/revalidation.d.ts.map +0 -1
  663. package/dist/router/revalidation.js +0 -147
  664. package/dist/router/revalidation.js.map +0 -1
  665. package/dist/router/router-context.d.ts +0 -135
  666. package/dist/router/router-context.d.ts.map +0 -1
  667. package/dist/router/router-context.js +0 -36
  668. package/dist/router/router-context.js.map +0 -1
  669. package/dist/router/segment-resolution.d.ts +0 -127
  670. package/dist/router/segment-resolution.d.ts.map +0 -1
  671. package/dist/router/segment-resolution.js +0 -919
  672. package/dist/router/segment-resolution.js.map +0 -1
  673. package/dist/router/trie-matching.d.ts +0 -40
  674. package/dist/router/trie-matching.d.ts.map +0 -1
  675. package/dist/router/trie-matching.js +0 -127
  676. package/dist/router/trie-matching.js.map +0 -1
  677. package/dist/router/types.d.ts +0 -136
  678. package/dist/router/types.d.ts.map +0 -1
  679. package/dist/router/types.js +0 -7
  680. package/dist/router/types.js.map +0 -1
  681. package/dist/router.d.ts +0 -753
  682. package/dist/router.d.ts.map +0 -1
  683. package/dist/router.gen.d.ts +0 -6
  684. package/dist/router.gen.d.ts.map +0 -1
  685. package/dist/router.gen.js +0 -6
  686. package/dist/router.gen.js.map +0 -1
  687. package/dist/router.js +0 -1304
  688. package/dist/router.js.map +0 -1
  689. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  690. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  691. package/dist/rsc/__tests__/helpers.test.js +0 -140
  692. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  693. package/dist/rsc/handler.d.ts +0 -45
  694. package/dist/rsc/handler.d.ts.map +0 -1
  695. package/dist/rsc/handler.js +0 -1172
  696. package/dist/rsc/handler.js.map +0 -1
  697. package/dist/rsc/helpers.d.ts +0 -16
  698. package/dist/rsc/helpers.d.ts.map +0 -1
  699. package/dist/rsc/helpers.js +0 -55
  700. package/dist/rsc/helpers.js.map +0 -1
  701. package/dist/rsc/index.d.ts +0 -22
  702. package/dist/rsc/index.d.ts.map +0 -1
  703. package/dist/rsc/index.js +0 -23
  704. package/dist/rsc/index.js.map +0 -1
  705. package/dist/rsc/nonce.d.ts +0 -9
  706. package/dist/rsc/nonce.d.ts.map +0 -1
  707. package/dist/rsc/nonce.js +0 -18
  708. package/dist/rsc/nonce.js.map +0 -1
  709. package/dist/rsc/types.d.ts +0 -206
  710. package/dist/rsc/types.d.ts.map +0 -1
  711. package/dist/rsc/types.js +0 -8
  712. package/dist/rsc/types.js.map +0 -1
  713. package/dist/search-params.d.ts +0 -103
  714. package/dist/search-params.d.ts.map +0 -1
  715. package/dist/search-params.js +0 -74
  716. package/dist/search-params.js.map +0 -1
  717. package/dist/segment-system.d.ts +0 -75
  718. package/dist/segment-system.d.ts.map +0 -1
  719. package/dist/segment-system.js +0 -336
  720. package/dist/segment-system.js.map +0 -1
  721. package/dist/server/context.d.ts +0 -245
  722. package/dist/server/context.d.ts.map +0 -1
  723. package/dist/server/context.js +0 -197
  724. package/dist/server/context.js.map +0 -1
  725. package/dist/server/fetchable-loader-store.d.ts +0 -18
  726. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  727. package/dist/server/fetchable-loader-store.js +0 -18
  728. package/dist/server/fetchable-loader-store.js.map +0 -1
  729. package/dist/server/handle-store.d.ts +0 -85
  730. package/dist/server/handle-store.d.ts.map +0 -1
  731. package/dist/server/handle-store.js +0 -142
  732. package/dist/server/handle-store.js.map +0 -1
  733. package/dist/server/loader-registry.d.ts +0 -55
  734. package/dist/server/loader-registry.d.ts.map +0 -1
  735. package/dist/server/loader-registry.js +0 -132
  736. package/dist/server/loader-registry.js.map +0 -1
  737. package/dist/server/request-context.d.ts +0 -226
  738. package/dist/server/request-context.d.ts.map +0 -1
  739. package/dist/server/request-context.js +0 -290
  740. package/dist/server/request-context.js.map +0 -1
  741. package/dist/server/root-layout.d.ts +0 -4
  742. package/dist/server/root-layout.d.ts.map +0 -1
  743. package/dist/server/root-layout.js +0 -5
  744. package/dist/server/root-layout.js.map +0 -1
  745. package/dist/server.d.ts +0 -15
  746. package/dist/server.d.ts.map +0 -1
  747. package/dist/server.js +0 -20
  748. package/dist/server.js.map +0 -1
  749. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  750. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  751. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  752. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  753. package/dist/ssr/index.d.ts +0 -98
  754. package/dist/ssr/index.d.ts.map +0 -1
  755. package/dist/ssr/index.js +0 -158
  756. package/dist/ssr/index.js.map +0 -1
  757. package/dist/static-handler.d.ts +0 -50
  758. package/dist/static-handler.d.ts.map +0 -1
  759. package/dist/static-handler.gen.d.ts +0 -5
  760. package/dist/static-handler.gen.d.ts.map +0 -1
  761. package/dist/static-handler.gen.js +0 -5
  762. package/dist/static-handler.gen.js.map +0 -1
  763. package/dist/static-handler.js +0 -29
  764. package/dist/static-handler.js.map +0 -1
  765. package/dist/theme/ThemeProvider.d.ts +0 -20
  766. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  767. package/dist/theme/ThemeProvider.js +0 -240
  768. package/dist/theme/ThemeProvider.js.map +0 -1
  769. package/dist/theme/ThemeScript.d.ts +0 -48
  770. package/dist/theme/ThemeScript.d.ts.map +0 -1
  771. package/dist/theme/ThemeScript.js +0 -13
  772. package/dist/theme/ThemeScript.js.map +0 -1
  773. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  774. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  775. package/dist/theme/__tests__/theme.test.js +0 -103
  776. package/dist/theme/__tests__/theme.test.js.map +0 -1
  777. package/dist/theme/constants.d.ts +0 -29
  778. package/dist/theme/constants.d.ts.map +0 -1
  779. package/dist/theme/constants.js +0 -48
  780. package/dist/theme/constants.js.map +0 -1
  781. package/dist/theme/index.d.ts +0 -31
  782. package/dist/theme/index.d.ts.map +0 -1
  783. package/dist/theme/index.js +0 -36
  784. package/dist/theme/index.js.map +0 -1
  785. package/dist/theme/theme-context.d.ts +0 -40
  786. package/dist/theme/theme-context.d.ts.map +0 -1
  787. package/dist/theme/theme-context.js +0 -60
  788. package/dist/theme/theme-context.js.map +0 -1
  789. package/dist/theme/theme-script.d.ts +0 -27
  790. package/dist/theme/theme-script.d.ts.map +0 -1
  791. package/dist/theme/theme-script.js +0 -147
  792. package/dist/theme/theme-script.js.map +0 -1
  793. package/dist/theme/types.d.ts +0 -163
  794. package/dist/theme/types.d.ts.map +0 -1
  795. package/dist/theme/types.js +0 -11
  796. package/dist/theme/types.js.map +0 -1
  797. package/dist/theme/use-theme.d.ts +0 -12
  798. package/dist/theme/use-theme.d.ts.map +0 -1
  799. package/dist/theme/use-theme.js +0 -40
  800. package/dist/theme/use-theme.js.map +0 -1
  801. package/dist/types.d.ts +0 -1479
  802. package/dist/types.d.ts.map +0 -1
  803. package/dist/types.js +0 -10
  804. package/dist/types.js.map +0 -1
  805. package/dist/urls.d.ts +0 -441
  806. package/dist/urls.d.ts.map +0 -1
  807. package/dist/urls.gen.d.ts +0 -8
  808. package/dist/urls.gen.d.ts.map +0 -1
  809. package/dist/urls.gen.js +0 -8
  810. package/dist/urls.gen.js.map +0 -1
  811. package/dist/urls.js +0 -443
  812. package/dist/urls.js.map +0 -1
  813. package/dist/use-loader.d.ts +0 -127
  814. package/dist/use-loader.d.ts.map +0 -1
  815. package/dist/use-loader.js +0 -237
  816. package/dist/use-loader.js.map +0 -1
  817. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  818. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  819. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  820. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  821. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  822. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  823. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  824. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  825. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  826. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  827. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  828. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  829. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  830. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  831. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  832. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  833. package/dist/vite/ast-handler-extract.d.ts +0 -49
  834. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  835. package/dist/vite/ast-handler-extract.js +0 -249
  836. package/dist/vite/ast-handler-extract.js.map +0 -1
  837. package/dist/vite/expose-action-id.d.ts +0 -19
  838. package/dist/vite/expose-action-id.d.ts.map +0 -1
  839. package/dist/vite/expose-action-id.js +0 -250
  840. package/dist/vite/expose-action-id.js.map +0 -1
  841. package/dist/vite/expose-id-utils.d.ts +0 -69
  842. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  843. package/dist/vite/expose-id-utils.js +0 -289
  844. package/dist/vite/expose-id-utils.js.map +0 -1
  845. package/dist/vite/expose-internal-ids.d.ts +0 -22
  846. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  847. package/dist/vite/expose-internal-ids.js +0 -886
  848. package/dist/vite/expose-internal-ids.js.map +0 -1
  849. package/dist/vite/index.d.ts +0 -149
  850. package/dist/vite/index.d.ts.map +0 -1
  851. package/dist/vite/index.js.bak +0 -5448
  852. package/dist/vite/index.js.map +0 -1
  853. package/dist/vite/index.named-routes.gen.ts +0 -103
  854. package/dist/vite/package-resolution.d.ts +0 -43
  855. package/dist/vite/package-resolution.d.ts.map +0 -1
  856. package/dist/vite/package-resolution.js +0 -112
  857. package/dist/vite/package-resolution.js.map +0 -1
  858. package/dist/vite/virtual-entries.d.ts +0 -25
  859. package/dist/vite/virtual-entries.d.ts.map +0 -1
  860. package/dist/vite/virtual-entries.js +0 -110
  861. package/dist/vite/virtual-entries.js.map +0 -1
  862. package/src/browser/react/deferred-handle-resolution.ts +0 -75
@@ -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