@rangojs/router 0.0.0-experimental.42 → 0.0.0-experimental.44

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