@rangojs/router 0.0.0-experimental.133 → 0.0.0-experimental.134

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