@rangojs/router 0.0.0-experimental.124 → 0.0.0-experimental.125

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 (1009) hide show
  1. package/dist/bin/rango.js +3 -4
  2. package/dist/vite/index.js +9 -43
  3. package/package.json +1 -1
  4. package/skills/hooks/SKILL.md +2 -2
  5. package/skills/route/SKILL.md +6 -0
  6. package/src/__internal.ts +0 -65
  7. package/src/browser/action-coordinator.ts +1 -1
  8. package/src/browser/action-fence.ts +10 -0
  9. package/src/browser/event-controller.ts +1 -83
  10. package/src/browser/navigation-store-handle.ts +3 -4
  11. package/src/browser/navigation-store.ts +0 -39
  12. package/src/browser/navigation-transaction.ts +0 -32
  13. package/src/browser/partial-update.ts +1 -83
  14. package/src/browser/prefetch/cache.ts +6 -45
  15. package/src/browser/prefetch/queue.ts +6 -3
  16. package/src/browser/rango-state.ts +2 -23
  17. package/src/browser/react/Link.tsx +0 -2
  18. package/src/browser/react/NavigationProvider.tsx +2 -1
  19. package/src/browser/react/ScrollRestoration.tsx +10 -6
  20. package/src/browser/react/filter-segment-order.ts +0 -2
  21. package/src/browser/react/index.ts +0 -45
  22. package/src/browser/react/location-state-shared.ts +0 -13
  23. package/src/browser/react/location-state.ts +0 -1
  24. package/src/browser/react/use-action.ts +6 -15
  25. package/src/browser/react/use-handle.ts +0 -5
  26. package/src/browser/react/use-link-status.ts +0 -4
  27. package/src/browser/react/use-navigation.ts +0 -3
  28. package/src/browser/react/use-params.ts +0 -2
  29. package/src/browser/react/use-search-params.ts +0 -5
  30. package/src/browser/react/use-segments.ts +0 -13
  31. package/src/browser/rsc-router.tsx +2 -2
  32. package/src/browser/types.ts +0 -1
  33. package/src/browser/validate-redirect-origin.ts +4 -5
  34. package/src/build/route-trie.ts +3 -0
  35. package/src/build/route-types/param-extraction.ts +6 -3
  36. package/src/build/route-types/router-processing.ts +0 -8
  37. package/src/cache/cache-policy.ts +0 -54
  38. package/src/cache/cache-runtime.ts +27 -24
  39. package/src/cache/cache-scope.ts +0 -27
  40. package/src/cache/cache-tag.ts +0 -37
  41. package/src/cache/cf/cf-cache-store.ts +72 -45
  42. package/src/cache/cf/index.ts +0 -24
  43. package/src/cache/document-cache.ts +0 -36
  44. package/src/cache/handle-snapshot.ts +0 -40
  45. package/src/cache/index.ts +0 -27
  46. package/src/cache/memory-segment-store.ts +0 -52
  47. package/src/cache/profile-registry.ts +7 -3
  48. package/src/cache/read-through-swr.ts +41 -11
  49. package/src/cache/segment-codec.ts +0 -16
  50. package/src/cache/types.ts +0 -98
  51. package/src/client.rsc.tsx +1 -22
  52. package/src/client.tsx +14 -32
  53. package/src/deps/ssr.ts +0 -1
  54. package/src/handle.ts +2 -12
  55. package/src/handles/MetaTags.tsx +0 -14
  56. package/src/handles/meta.ts +0 -39
  57. package/src/host/cookie-handler.ts +0 -36
  58. package/src/host/errors.ts +0 -24
  59. package/src/host/index.ts +6 -0
  60. package/src/host/pattern-matcher.ts +7 -50
  61. package/src/host/router.ts +1 -65
  62. package/src/host/testing.ts +0 -16
  63. package/src/host/types.ts +6 -2
  64. package/src/href-client.ts +0 -4
  65. package/src/index.rsc.ts +20 -2
  66. package/src/internal-debug.ts +2 -4
  67. package/src/loader.rsc.ts +4 -15
  68. package/src/loader.ts +3 -9
  69. package/src/network-error-thrower.tsx +1 -6
  70. package/src/outlet-provider.tsx +1 -5
  71. package/src/prerender/param-hash.ts +10 -11
  72. package/src/prerender/store.ts +23 -30
  73. package/src/prerender.ts +34 -0
  74. package/src/root-error-boundary.tsx +1 -19
  75. package/src/route-content-wrapper.tsx +1 -44
  76. package/src/route-definition/dsl-helpers.ts +7 -19
  77. package/src/route-definition/helpers-types.ts +3 -3
  78. package/src/route-definition/redirect.ts +11 -1
  79. package/src/route-map-builder.ts +0 -16
  80. package/src/router/content-negotiation.ts +0 -13
  81. package/src/router/error-handling.ts +12 -16
  82. package/src/router/find-match.ts +4 -30
  83. package/src/router/intercept-resolution.ts +10 -1
  84. package/src/router/lazy-includes.ts +1 -57
  85. package/src/router/loader-resolution.ts +3 -2
  86. package/src/router/logging.ts +0 -6
  87. package/src/router/manifest.ts +1 -25
  88. package/src/router/match-api.ts +0 -20
  89. package/src/router/match-context.ts +0 -22
  90. package/src/router/match-handlers.ts +0 -43
  91. package/src/router/match-middleware/background-revalidation.ts +0 -7
  92. package/src/router/match-middleware/cache-lookup.ts +1 -54
  93. package/src/router/match-middleware/cache-store.ts +0 -31
  94. package/src/router/match-middleware/intercept-resolution.ts +0 -22
  95. package/src/router/match-middleware/segment-resolution.ts +0 -21
  96. package/src/router/match-pipelines.ts +1 -42
  97. package/src/router/match-result.ts +1 -52
  98. package/src/router/metrics.ts +0 -34
  99. package/src/router/middleware-cookies.ts +0 -13
  100. package/src/router/middleware-types.ts +0 -115
  101. package/src/router/middleware.ts +7 -30
  102. package/src/router/navigation-snapshot.ts +0 -51
  103. package/src/router/params-util.ts +23 -0
  104. package/src/router/pattern-matching.ts +1 -33
  105. package/src/router/prerender-match.ts +29 -45
  106. package/src/router/request-classification.ts +1 -38
  107. package/src/router/revalidation.ts +5 -58
  108. package/src/router/router-context.ts +0 -26
  109. package/src/router/segment-resolution/fresh.ts +25 -57
  110. package/src/router/segment-resolution/helpers.ts +34 -0
  111. package/src/router/segment-resolution/loader-cache.ts +10 -13
  112. package/src/router/segment-resolution/revalidation.ts +5 -42
  113. package/src/router/segment-resolution/streamed-handler-telemetry.ts +52 -0
  114. package/src/router/segment-resolution.ts +4 -1
  115. package/src/router/telemetry-otel.ts +0 -20
  116. package/src/router/telemetry.ts +0 -22
  117. package/src/router/timeout.ts +0 -20
  118. package/src/router/trie-matching.ts +63 -40
  119. package/src/router/types.ts +1 -63
  120. package/src/router/url-params.ts +0 -5
  121. package/src/router.ts +4 -2
  122. package/src/rsc/handler.ts +11 -2
  123. package/src/rsc/helpers.ts +15 -0
  124. package/src/rsc/origin-guard.ts +0 -12
  125. package/src/rsc/progressive-enhancement.ts +2 -1
  126. package/src/rsc/rsc-rendering.ts +2 -7
  127. package/src/rsc/runtime-warnings.ts +14 -0
  128. package/src/rsc/server-action.ts +30 -28
  129. package/src/rsc/types.ts +0 -1
  130. package/src/search-params.ts +0 -16
  131. package/src/segment-loader-promise.ts +14 -2
  132. package/src/segment-system.tsx +79 -88
  133. package/src/server/handle-store.ts +7 -24
  134. package/src/server/loader-registry.ts +5 -24
  135. package/src/server/request-context.ts +6 -78
  136. package/src/ssr/index.tsx +14 -14
  137. package/src/static-handler.ts +2 -27
  138. package/src/testing/cache-status.ts +0 -47
  139. package/src/testing/collect-handle.ts +1 -24
  140. package/src/testing/e2e/index.ts +0 -22
  141. package/src/testing/e2e/matchers.ts +0 -16
  142. package/src/testing/flight-matchers.ts +0 -13
  143. package/src/testing/flight-normalize.ts +3 -30
  144. package/src/testing/flight.ts +0 -48
  145. package/src/testing/generated-routes.ts +1 -41
  146. package/src/testing/index.ts +0 -21
  147. package/src/testing/internal/context.ts +3 -45
  148. package/src/testing/internal/seed-vars.ts +0 -26
  149. package/src/testing/render-handler.ts +0 -49
  150. package/src/testing/render-route.tsx +0 -90
  151. package/src/testing/run-loader.ts +0 -96
  152. package/src/testing/run-middleware.ts +0 -26
  153. package/src/theme/ThemeProvider.tsx +0 -52
  154. package/src/theme/ThemeScript.tsx +0 -6
  155. package/src/theme/constants.ts +0 -12
  156. package/src/theme/index.ts +0 -7
  157. package/src/theme/theme-context.ts +1 -5
  158. package/src/theme/theme-script.ts +0 -14
  159. package/src/theme/use-theme.ts +0 -3
  160. package/src/types/boundaries.ts +0 -35
  161. package/src/types/error-types.ts +25 -89
  162. package/src/types/global-namespace.ts +4 -14
  163. package/src/types/handler-context.ts +0 -8
  164. package/src/types/index.ts +0 -10
  165. package/src/types/request-scope.ts +0 -19
  166. package/src/types/route-config.ts +6 -50
  167. package/src/types/route-entry.ts +0 -6
  168. package/src/types/segments.ts +0 -13
  169. package/src/urls/include-helper.ts +0 -4
  170. package/src/urls/index.ts +0 -6
  171. package/src/urls/path-helper-types.ts +2 -2
  172. package/src/urls/path-helper.ts +0 -54
  173. package/src/urls/urls-function.ts +0 -13
  174. package/src/use-loader.tsx +0 -186
  175. package/src/vite/discovery/bundle-postprocess.ts +2 -1
  176. package/src/vite/discovery/discover-routers.ts +6 -7
  177. package/src/vite/discovery/virtual-module-codegen.ts +1 -11
  178. package/src/vite/plugin-types.ts +3 -1
  179. package/src/vite/plugins/cjs-to-esm.ts +0 -11
  180. package/src/vite/plugins/client-ref-dedup.ts +0 -11
  181. package/src/vite/plugins/client-ref-hashing.ts +0 -10
  182. package/src/vite/plugins/cloudflare-protocol-stub.ts +0 -20
  183. package/src/vite/plugins/expose-action-id.ts +2 -73
  184. package/src/vite/plugins/expose-id-utils.ts +0 -55
  185. package/src/vite/plugins/expose-ids/export-analysis.ts +0 -38
  186. package/src/vite/plugins/expose-ids/handler-transform.ts +0 -15
  187. package/src/vite/plugins/expose-ids/loader-transform.ts +0 -15
  188. package/src/vite/plugins/expose-ids/router-transform.ts +0 -13
  189. package/src/vite/plugins/expose-internal-ids.ts +10 -0
  190. package/src/vite/plugins/performance-tracks.ts +0 -3
  191. package/src/vite/plugins/use-cache-transform.ts +0 -36
  192. package/src/vite/plugins/version-injector.ts +0 -20
  193. package/src/vite/plugins/version-plugin.ts +1 -49
  194. package/src/vite/plugins/virtual-entries.ts +0 -15
  195. package/src/vite/rango.ts +1 -108
  196. package/src/vite/router-discovery.ts +2 -1
  197. package/src/vite/utils/ast-handler-extract.ts +0 -16
  198. package/src/vite/utils/bundle-analysis.ts +6 -13
  199. package/src/vite/utils/client-chunks.ts +0 -6
  200. package/src/vite/utils/forward-user-plugins.ts +0 -22
  201. package/src/vite/utils/manifest-utils.ts +0 -4
  202. package/src/vite/utils/package-resolution.ts +1 -73
  203. package/src/vite/utils/prerender-utils.ts +0 -35
  204. package/src/vite/utils/shared-utils.ts +3 -35
  205. package/dist/__internal.d.ts +0 -83
  206. package/dist/__internal.d.ts.map +0 -1
  207. package/dist/__internal.js +0 -19
  208. package/dist/__internal.js.map +0 -1
  209. package/dist/__mocks__/version.d.ts +0 -7
  210. package/dist/__mocks__/version.d.ts.map +0 -1
  211. package/dist/__mocks__/version.js +0 -7
  212. package/dist/__mocks__/version.js.map +0 -1
  213. package/dist/__tests__/client-href.test.d.ts +0 -2
  214. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  215. package/dist/__tests__/client-href.test.js +0 -74
  216. package/dist/__tests__/client-href.test.js.map +0 -1
  217. package/dist/__tests__/component-utils.test.d.ts +0 -2
  218. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  219. package/dist/__tests__/component-utils.test.js +0 -51
  220. package/dist/__tests__/component-utils.test.js.map +0 -1
  221. package/dist/__tests__/event-controller.test.d.ts +0 -2
  222. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  223. package/dist/__tests__/event-controller.test.js +0 -538
  224. package/dist/__tests__/event-controller.test.js.map +0 -1
  225. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  226. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  227. package/dist/__tests__/helpers/route-tree.js +0 -374
  228. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  229. package/dist/__tests__/match-result.test.d.ts +0 -2
  230. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  231. package/dist/__tests__/match-result.test.js +0 -154
  232. package/dist/__tests__/match-result.test.js.map +0 -1
  233. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  234. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  235. package/dist/__tests__/navigation-store.test.js +0 -440
  236. package/dist/__tests__/navigation-store.test.js.map +0 -1
  237. package/dist/__tests__/partial-update.test.d.ts +0 -2
  238. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  239. package/dist/__tests__/partial-update.test.js +0 -1009
  240. package/dist/__tests__/partial-update.test.js.map +0 -1
  241. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  242. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  243. package/dist/__tests__/reverse-types.test.js +0 -656
  244. package/dist/__tests__/reverse-types.test.js.map +0 -1
  245. package/dist/__tests__/route-definition.test.d.ts +0 -2
  246. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  247. package/dist/__tests__/route-definition.test.js +0 -55
  248. package/dist/__tests__/route-definition.test.js.map +0 -1
  249. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  250. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  251. package/dist/__tests__/router-helpers.test.js +0 -377
  252. package/dist/__tests__/router-helpers.test.js.map +0 -1
  253. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  254. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  255. package/dist/__tests__/router-integration-2.test.js +0 -426
  256. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  257. package/dist/__tests__/router-integration.test.d.ts +0 -2
  258. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  259. package/dist/__tests__/router-integration.test.js +0 -1051
  260. package/dist/__tests__/router-integration.test.js.map +0 -1
  261. package/dist/__tests__/search-params.test.d.ts +0 -5
  262. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  263. package/dist/__tests__/search-params.test.js +0 -306
  264. package/dist/__tests__/search-params.test.js.map +0 -1
  265. package/dist/__tests__/segment-system.test.d.ts +0 -2
  266. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  267. package/dist/__tests__/segment-system.test.js +0 -627
  268. package/dist/__tests__/segment-system.test.js.map +0 -1
  269. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  270. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  271. package/dist/__tests__/static-handler-types.test.js +0 -63
  272. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  273. package/dist/__tests__/urls.test.d.ts +0 -2
  274. package/dist/__tests__/urls.test.d.ts.map +0 -1
  275. package/dist/__tests__/urls.test.js +0 -421
  276. package/dist/__tests__/urls.test.js.map +0 -1
  277. package/dist/__tests__/use-mount.test.d.ts +0 -2
  278. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  279. package/dist/__tests__/use-mount.test.js +0 -35
  280. package/dist/__tests__/use-mount.test.js.map +0 -1
  281. package/dist/bin/rango.d.ts +0 -2
  282. package/dist/bin/rango.d.ts.map +0 -1
  283. package/dist/bin/rango.js.map +0 -1
  284. package/dist/browser/event-controller.d.ts +0 -191
  285. package/dist/browser/event-controller.d.ts.map +0 -1
  286. package/dist/browser/event-controller.js +0 -559
  287. package/dist/browser/event-controller.js.map +0 -1
  288. package/dist/browser/index.d.ts +0 -2
  289. package/dist/browser/index.d.ts.map +0 -1
  290. package/dist/browser/index.js +0 -14
  291. package/dist/browser/index.js.map +0 -1
  292. package/dist/browser/link-interceptor.d.ts +0 -38
  293. package/dist/browser/link-interceptor.d.ts.map +0 -1
  294. package/dist/browser/link-interceptor.js +0 -99
  295. package/dist/browser/link-interceptor.js.map +0 -1
  296. package/dist/browser/logging.d.ts +0 -10
  297. package/dist/browser/logging.d.ts.map +0 -1
  298. package/dist/browser/logging.js +0 -29
  299. package/dist/browser/logging.js.map +0 -1
  300. package/dist/browser/lru-cache.d.ts +0 -17
  301. package/dist/browser/lru-cache.d.ts.map +0 -1
  302. package/dist/browser/lru-cache.js +0 -50
  303. package/dist/browser/lru-cache.js.map +0 -1
  304. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  305. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  306. package/dist/browser/merge-segment-loaders.js +0 -102
  307. package/dist/browser/merge-segment-loaders.js.map +0 -1
  308. package/dist/browser/navigation-bridge.d.ts +0 -102
  309. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  310. package/dist/browser/navigation-bridge.js +0 -708
  311. package/dist/browser/navigation-bridge.js.map +0 -1
  312. package/dist/browser/navigation-client.d.ts +0 -25
  313. package/dist/browser/navigation-client.d.ts.map +0 -1
  314. package/dist/browser/navigation-client.js +0 -157
  315. package/dist/browser/navigation-client.js.map +0 -1
  316. package/dist/browser/navigation-store.d.ts +0 -101
  317. package/dist/browser/navigation-store.d.ts.map +0 -1
  318. package/dist/browser/navigation-store.js +0 -625
  319. package/dist/browser/navigation-store.js.map +0 -1
  320. package/dist/browser/partial-update.d.ts +0 -75
  321. package/dist/browser/partial-update.d.ts.map +0 -1
  322. package/dist/browser/partial-update.js +0 -426
  323. package/dist/browser/partial-update.js.map +0 -1
  324. package/dist/browser/react/Link.d.ts +0 -86
  325. package/dist/browser/react/Link.d.ts.map +0 -1
  326. package/dist/browser/react/Link.js +0 -128
  327. package/dist/browser/react/Link.js.map +0 -1
  328. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  329. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  330. package/dist/browser/react/NavigationProvider.js +0 -216
  331. package/dist/browser/react/NavigationProvider.js.map +0 -1
  332. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  333. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  334. package/dist/browser/react/ScrollRestoration.js +0 -57
  335. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  336. package/dist/browser/react/context.d.ts +0 -46
  337. package/dist/browser/react/context.d.ts.map +0 -1
  338. package/dist/browser/react/context.js +0 -10
  339. package/dist/browser/react/context.js.map +0 -1
  340. package/dist/browser/react/index.d.ts +0 -11
  341. package/dist/browser/react/index.d.ts.map +0 -1
  342. package/dist/browser/react/index.js +0 -22
  343. package/dist/browser/react/index.js.map +0 -1
  344. package/dist/browser/react/location-state-shared.d.ts +0 -63
  345. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  346. package/dist/browser/react/location-state-shared.js +0 -81
  347. package/dist/browser/react/location-state-shared.js.map +0 -1
  348. package/dist/browser/react/location-state.d.ts +0 -23
  349. package/dist/browser/react/location-state.d.ts.map +0 -1
  350. package/dist/browser/react/location-state.js +0 -29
  351. package/dist/browser/react/location-state.js.map +0 -1
  352. package/dist/browser/react/mount-context.d.ts +0 -24
  353. package/dist/browser/react/mount-context.d.ts.map +0 -1
  354. package/dist/browser/react/mount-context.js +0 -24
  355. package/dist/browser/react/mount-context.js.map +0 -1
  356. package/dist/browser/react/use-action.d.ts +0 -64
  357. package/dist/browser/react/use-action.d.ts.map +0 -1
  358. package/dist/browser/react/use-action.js +0 -134
  359. package/dist/browser/react/use-action.js.map +0 -1
  360. package/dist/browser/react/use-client-cache.d.ts +0 -41
  361. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  362. package/dist/browser/react/use-client-cache.js +0 -39
  363. package/dist/browser/react/use-client-cache.js.map +0 -1
  364. package/dist/browser/react/use-handle.d.ts +0 -31
  365. package/dist/browser/react/use-handle.d.ts.map +0 -1
  366. package/dist/browser/react/use-handle.js +0 -144
  367. package/dist/browser/react/use-handle.js.map +0 -1
  368. package/dist/browser/react/use-href.d.ts +0 -33
  369. package/dist/browser/react/use-href.d.ts.map +0 -1
  370. package/dist/browser/react/use-href.js +0 -39
  371. package/dist/browser/react/use-href.js.map +0 -1
  372. package/dist/browser/react/use-link-status.d.ts +0 -37
  373. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  374. package/dist/browser/react/use-link-status.js +0 -99
  375. package/dist/browser/react/use-link-status.js.map +0 -1
  376. package/dist/browser/react/use-mount.d.ts +0 -25
  377. package/dist/browser/react/use-mount.d.ts.map +0 -1
  378. package/dist/browser/react/use-mount.js +0 -30
  379. package/dist/browser/react/use-mount.js.map +0 -1
  380. package/dist/browser/react/use-navigation.d.ts +0 -27
  381. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  382. package/dist/browser/react/use-navigation.js +0 -87
  383. package/dist/browser/react/use-navigation.js.map +0 -1
  384. package/dist/browser/react/use-segments.d.ts +0 -38
  385. package/dist/browser/react/use-segments.d.ts.map +0 -1
  386. package/dist/browser/react/use-segments.js +0 -130
  387. package/dist/browser/react/use-segments.js.map +0 -1
  388. package/dist/browser/request-controller.d.ts +0 -26
  389. package/dist/browser/request-controller.d.ts.map +0 -1
  390. package/dist/browser/request-controller.js +0 -147
  391. package/dist/browser/request-controller.js.map +0 -1
  392. package/dist/browser/rsc-router.d.ts +0 -129
  393. package/dist/browser/rsc-router.d.ts.map +0 -1
  394. package/dist/browser/rsc-router.js +0 -195
  395. package/dist/browser/rsc-router.js.map +0 -1
  396. package/dist/browser/scroll-restoration.d.ts +0 -93
  397. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  398. package/dist/browser/scroll-restoration.js +0 -321
  399. package/dist/browser/scroll-restoration.js.map +0 -1
  400. package/dist/browser/segment-structure-assert.d.ts +0 -17
  401. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  402. package/dist/browser/segment-structure-assert.js +0 -59
  403. package/dist/browser/segment-structure-assert.js.map +0 -1
  404. package/dist/browser/server-action-bridge.d.ts +0 -26
  405. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  406. package/dist/browser/server-action-bridge.js +0 -668
  407. package/dist/browser/server-action-bridge.js.map +0 -1
  408. package/dist/browser/shallow.d.ts +0 -12
  409. package/dist/browser/shallow.d.ts.map +0 -1
  410. package/dist/browser/shallow.js +0 -34
  411. package/dist/browser/shallow.js.map +0 -1
  412. package/dist/browser/types.d.ts +0 -369
  413. package/dist/browser/types.d.ts.map +0 -1
  414. package/dist/browser/types.js +0 -2
  415. package/dist/browser/types.js.map +0 -1
  416. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  417. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  418. package/dist/build/__tests__/generate-cli.test.js +0 -237
  419. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  420. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  421. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  422. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  423. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  424. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  425. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  426. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  427. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  428. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  429. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  430. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  431. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  432. package/dist/build/generate-manifest.d.ts +0 -81
  433. package/dist/build/generate-manifest.d.ts.map +0 -1
  434. package/dist/build/generate-manifest.js +0 -276
  435. package/dist/build/generate-manifest.js.map +0 -1
  436. package/dist/build/generate-route-types.d.ts +0 -115
  437. package/dist/build/generate-route-types.d.ts.map +0 -1
  438. package/dist/build/generate-route-types.js +0 -740
  439. package/dist/build/generate-route-types.js.map +0 -1
  440. package/dist/build/index.d.ts +0 -21
  441. package/dist/build/index.d.ts.map +0 -1
  442. package/dist/build/index.js +0 -21
  443. package/dist/build/index.js.map +0 -1
  444. package/dist/build/route-trie.d.ts +0 -71
  445. package/dist/build/route-trie.d.ts.map +0 -1
  446. package/dist/build/route-trie.js +0 -175
  447. package/dist/build/route-trie.js.map +0 -1
  448. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  449. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  450. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  451. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  452. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  453. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  454. package/dist/cache/__tests__/document-cache.test.js +0 -345
  455. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  456. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  457. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  458. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  459. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  460. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  461. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  462. package/dist/cache/__tests__/memory-store.test.js +0 -367
  463. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  464. package/dist/cache/cache-scope.d.ts +0 -102
  465. package/dist/cache/cache-scope.d.ts.map +0 -1
  466. package/dist/cache/cache-scope.js +0 -440
  467. package/dist/cache/cache-scope.js.map +0 -1
  468. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  469. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  470. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  471. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  472. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  473. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  474. package/dist/cache/cf/cf-cache-store.js +0 -242
  475. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  476. package/dist/cache/cf/index.d.ts +0 -14
  477. package/dist/cache/cf/index.d.ts.map +0 -1
  478. package/dist/cache/cf/index.js +0 -17
  479. package/dist/cache/cf/index.js.map +0 -1
  480. package/dist/cache/document-cache.d.ts +0 -64
  481. package/dist/cache/document-cache.d.ts.map +0 -1
  482. package/dist/cache/document-cache.js +0 -228
  483. package/dist/cache/document-cache.js.map +0 -1
  484. package/dist/cache/index.d.ts +0 -19
  485. package/dist/cache/index.d.ts.map +0 -1
  486. package/dist/cache/index.js +0 -21
  487. package/dist/cache/index.js.map +0 -1
  488. package/dist/cache/memory-segment-store.d.ts +0 -110
  489. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  490. package/dist/cache/memory-segment-store.js +0 -117
  491. package/dist/cache/memory-segment-store.js.map +0 -1
  492. package/dist/cache/memory-store.d.ts +0 -41
  493. package/dist/cache/memory-store.d.ts.map +0 -1
  494. package/dist/cache/memory-store.js +0 -191
  495. package/dist/cache/memory-store.js.map +0 -1
  496. package/dist/cache/types.d.ts +0 -317
  497. package/dist/cache/types.d.ts.map +0 -1
  498. package/dist/cache/types.js +0 -12
  499. package/dist/cache/types.js.map +0 -1
  500. package/dist/client.d.ts +0 -248
  501. package/dist/client.d.ts.map +0 -1
  502. package/dist/client.js +0 -367
  503. package/dist/client.js.map +0 -1
  504. package/dist/client.rsc.d.ts +0 -26
  505. package/dist/client.rsc.d.ts.map +0 -1
  506. package/dist/client.rsc.js +0 -46
  507. package/dist/client.rsc.js.map +0 -1
  508. package/dist/component-utils.d.ts +0 -36
  509. package/dist/component-utils.d.ts.map +0 -1
  510. package/dist/component-utils.js +0 -61
  511. package/dist/component-utils.js.map +0 -1
  512. package/dist/components/DefaultDocument.d.ts +0 -13
  513. package/dist/components/DefaultDocument.d.ts.map +0 -1
  514. package/dist/components/DefaultDocument.js +0 -15
  515. package/dist/components/DefaultDocument.js.map +0 -1
  516. package/dist/debug.d.ts +0 -58
  517. package/dist/debug.d.ts.map +0 -1
  518. package/dist/debug.js +0 -157
  519. package/dist/debug.js.map +0 -1
  520. package/dist/default-error-boundary.d.ts +0 -11
  521. package/dist/default-error-boundary.d.ts.map +0 -1
  522. package/dist/default-error-boundary.js +0 -45
  523. package/dist/default-error-boundary.js.map +0 -1
  524. package/dist/deps/browser.d.ts +0 -2
  525. package/dist/deps/browser.d.ts.map +0 -1
  526. package/dist/deps/browser.js +0 -3
  527. package/dist/deps/browser.js.map +0 -1
  528. package/dist/deps/html-stream-client.d.ts +0 -2
  529. package/dist/deps/html-stream-client.d.ts.map +0 -1
  530. package/dist/deps/html-stream-client.js +0 -3
  531. package/dist/deps/html-stream-client.js.map +0 -1
  532. package/dist/deps/html-stream-server.d.ts +0 -2
  533. package/dist/deps/html-stream-server.d.ts.map +0 -1
  534. package/dist/deps/html-stream-server.js +0 -3
  535. package/dist/deps/html-stream-server.js.map +0 -1
  536. package/dist/deps/rsc.d.ts +0 -2
  537. package/dist/deps/rsc.d.ts.map +0 -1
  538. package/dist/deps/rsc.js +0 -4
  539. package/dist/deps/rsc.js.map +0 -1
  540. package/dist/deps/ssr.d.ts +0 -2
  541. package/dist/deps/ssr.d.ts.map +0 -1
  542. package/dist/deps/ssr.js +0 -3
  543. package/dist/deps/ssr.js.map +0 -1
  544. package/dist/errors.d.ts +0 -174
  545. package/dist/errors.d.ts.map +0 -1
  546. package/dist/errors.js +0 -241
  547. package/dist/errors.js.map +0 -1
  548. package/dist/handle.d.ts +0 -78
  549. package/dist/handle.d.ts.map +0 -1
  550. package/dist/handle.js +0 -82
  551. package/dist/handle.js.map +0 -1
  552. package/dist/handles/MetaTags.d.ts +0 -14
  553. package/dist/handles/MetaTags.d.ts.map +0 -1
  554. package/dist/handles/MetaTags.js +0 -136
  555. package/dist/handles/MetaTags.js.map +0 -1
  556. package/dist/handles/index.d.ts +0 -6
  557. package/dist/handles/index.d.ts.map +0 -1
  558. package/dist/handles/index.js +0 -6
  559. package/dist/handles/index.js.map +0 -1
  560. package/dist/handles/meta.d.ts +0 -39
  561. package/dist/handles/meta.d.ts.map +0 -1
  562. package/dist/handles/meta.js +0 -202
  563. package/dist/handles/meta.js.map +0 -1
  564. package/dist/host/__tests__/errors.test.d.ts +0 -2
  565. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  566. package/dist/host/__tests__/errors.test.js +0 -76
  567. package/dist/host/__tests__/errors.test.js.map +0 -1
  568. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  569. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  570. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  571. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  572. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  573. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  574. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  575. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  576. package/dist/host/__tests__/router.test.d.ts +0 -2
  577. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  578. package/dist/host/__tests__/router.test.js +0 -241
  579. package/dist/host/__tests__/router.test.js.map +0 -1
  580. package/dist/host/__tests__/testing.test.d.ts +0 -2
  581. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  582. package/dist/host/__tests__/testing.test.js +0 -64
  583. package/dist/host/__tests__/testing.test.js.map +0 -1
  584. package/dist/host/__tests__/utils.test.d.ts +0 -2
  585. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  586. package/dist/host/__tests__/utils.test.js +0 -29
  587. package/dist/host/__tests__/utils.test.js.map +0 -1
  588. package/dist/host/cookie-handler.d.ts +0 -34
  589. package/dist/host/cookie-handler.d.ts.map +0 -1
  590. package/dist/host/cookie-handler.js +0 -124
  591. package/dist/host/cookie-handler.js.map +0 -1
  592. package/dist/host/errors.d.ts +0 -56
  593. package/dist/host/errors.d.ts.map +0 -1
  594. package/dist/host/errors.js +0 -79
  595. package/dist/host/errors.js.map +0 -1
  596. package/dist/host/index.d.ts +0 -29
  597. package/dist/host/index.d.ts.map +0 -1
  598. package/dist/host/index.js +0 -32
  599. package/dist/host/index.js.map +0 -1
  600. package/dist/host/pattern-matcher.d.ts +0 -36
  601. package/dist/host/pattern-matcher.d.ts.map +0 -1
  602. package/dist/host/pattern-matcher.js +0 -172
  603. package/dist/host/pattern-matcher.js.map +0 -1
  604. package/dist/host/router.d.ts +0 -26
  605. package/dist/host/router.d.ts.map +0 -1
  606. package/dist/host/router.js +0 -218
  607. package/dist/host/router.js.map +0 -1
  608. package/dist/host/testing.d.ts +0 -36
  609. package/dist/host/testing.d.ts.map +0 -1
  610. package/dist/host/testing.js +0 -55
  611. package/dist/host/testing.js.map +0 -1
  612. package/dist/host/types.d.ts +0 -115
  613. package/dist/host/types.d.ts.map +0 -1
  614. package/dist/host/types.js +0 -7
  615. package/dist/host/types.js.map +0 -1
  616. package/dist/host/utils.d.ts +0 -21
  617. package/dist/host/utils.d.ts.map +0 -1
  618. package/dist/host/utils.js +0 -23
  619. package/dist/host/utils.js.map +0 -1
  620. package/dist/href-client.d.ts +0 -131
  621. package/dist/href-client.d.ts.map +0 -1
  622. package/dist/href-client.js +0 -64
  623. package/dist/href-client.js.map +0 -1
  624. package/dist/href-context.d.ts +0 -29
  625. package/dist/href-context.d.ts.map +0 -1
  626. package/dist/href-context.js +0 -21
  627. package/dist/href-context.js.map +0 -1
  628. package/dist/index.d.ts +0 -73
  629. package/dist/index.d.ts.map +0 -1
  630. package/dist/index.js +0 -91
  631. package/dist/index.js.map +0 -1
  632. package/dist/index.rsc.d.ts +0 -32
  633. package/dist/index.rsc.d.ts.map +0 -1
  634. package/dist/index.rsc.js +0 -40
  635. package/dist/index.rsc.js.map +0 -1
  636. package/dist/internal-debug.d.ts +0 -2
  637. package/dist/internal-debug.d.ts.map +0 -1
  638. package/dist/internal-debug.js +0 -5
  639. package/dist/internal-debug.js.map +0 -1
  640. package/dist/loader.d.ts +0 -14
  641. package/dist/loader.d.ts.map +0 -1
  642. package/dist/loader.js +0 -20
  643. package/dist/loader.js.map +0 -1
  644. package/dist/loader.rsc.d.ts +0 -19
  645. package/dist/loader.rsc.d.ts.map +0 -1
  646. package/dist/loader.rsc.js +0 -99
  647. package/dist/loader.rsc.js.map +0 -1
  648. package/dist/network-error-thrower.d.ts +0 -17
  649. package/dist/network-error-thrower.d.ts.map +0 -1
  650. package/dist/network-error-thrower.js +0 -14
  651. package/dist/network-error-thrower.js.map +0 -1
  652. package/dist/outlet-context.d.ts +0 -13
  653. package/dist/outlet-context.d.ts.map +0 -1
  654. package/dist/outlet-context.js +0 -3
  655. package/dist/outlet-context.js.map +0 -1
  656. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  657. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  658. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  659. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  660. package/dist/prerender/param-hash.d.ts +0 -16
  661. package/dist/prerender/param-hash.d.ts.map +0 -1
  662. package/dist/prerender/param-hash.js +0 -36
  663. package/dist/prerender/param-hash.js.map +0 -1
  664. package/dist/prerender/store.d.ts +0 -38
  665. package/dist/prerender/store.d.ts.map +0 -1
  666. package/dist/prerender/store.js +0 -61
  667. package/dist/prerender/store.js.map +0 -1
  668. package/dist/prerender.d.ts +0 -66
  669. package/dist/prerender.d.ts.map +0 -1
  670. package/dist/prerender.js +0 -57
  671. package/dist/prerender.js.map +0 -1
  672. package/dist/reverse.d.ts +0 -196
  673. package/dist/reverse.d.ts.map +0 -1
  674. package/dist/reverse.js +0 -78
  675. package/dist/reverse.js.map +0 -1
  676. package/dist/root-error-boundary.d.ts +0 -33
  677. package/dist/root-error-boundary.d.ts.map +0 -1
  678. package/dist/root-error-boundary.js +0 -165
  679. package/dist/root-error-boundary.js.map +0 -1
  680. package/dist/route-content-wrapper.d.ts +0 -46
  681. package/dist/route-content-wrapper.d.ts.map +0 -1
  682. package/dist/route-content-wrapper.js +0 -77
  683. package/dist/route-content-wrapper.js.map +0 -1
  684. package/dist/route-definition.d.ts +0 -421
  685. package/dist/route-definition.d.ts.map +0 -1
  686. package/dist/route-definition.js +0 -868
  687. package/dist/route-definition.js.map +0 -1
  688. package/dist/route-map-builder.d.ts +0 -155
  689. package/dist/route-map-builder.d.ts.map +0 -1
  690. package/dist/route-map-builder.js +0 -237
  691. package/dist/route-map-builder.js.map +0 -1
  692. package/dist/route-types.d.ts +0 -165
  693. package/dist/route-types.d.ts.map +0 -1
  694. package/dist/route-types.js +0 -7
  695. package/dist/route-types.js.map +0 -1
  696. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  697. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  698. package/dist/router/__tests__/handler-context.test.js +0 -65
  699. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  700. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  701. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  702. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  703. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  704. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  705. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  706. package/dist/router/__tests__/match-context.test.js +0 -92
  707. package/dist/router/__tests__/match-context.test.js.map +0 -1
  708. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  709. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  710. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  711. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  712. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  713. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  714. package/dist/router/__tests__/match-result.test.js +0 -457
  715. package/dist/router/__tests__/match-result.test.js.map +0 -1
  716. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  717. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  718. package/dist/router/__tests__/on-error.test.js +0 -678
  719. package/dist/router/__tests__/on-error.test.js.map +0 -1
  720. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  721. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  722. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  723. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  724. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  725. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  726. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  727. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  728. package/dist/router/error-handling.d.ts +0 -77
  729. package/dist/router/error-handling.d.ts.map +0 -1
  730. package/dist/router/error-handling.js +0 -202
  731. package/dist/router/error-handling.js.map +0 -1
  732. package/dist/router/handler-context.d.ts +0 -20
  733. package/dist/router/handler-context.d.ts.map +0 -1
  734. package/dist/router/handler-context.js +0 -198
  735. package/dist/router/handler-context.js.map +0 -1
  736. package/dist/router/intercept-resolution.d.ts +0 -66
  737. package/dist/router/intercept-resolution.d.ts.map +0 -1
  738. package/dist/router/intercept-resolution.js +0 -246
  739. package/dist/router/intercept-resolution.js.map +0 -1
  740. package/dist/router/loader-resolution.d.ts +0 -64
  741. package/dist/router/loader-resolution.d.ts.map +0 -1
  742. package/dist/router/loader-resolution.js +0 -284
  743. package/dist/router/loader-resolution.js.map +0 -1
  744. package/dist/router/logging.d.ts +0 -15
  745. package/dist/router/logging.d.ts.map +0 -1
  746. package/dist/router/logging.js +0 -99
  747. package/dist/router/logging.js.map +0 -1
  748. package/dist/router/manifest.d.ts +0 -22
  749. package/dist/router/manifest.d.ts.map +0 -1
  750. package/dist/router/manifest.js +0 -181
  751. package/dist/router/manifest.js.map +0 -1
  752. package/dist/router/match-api.d.ts +0 -35
  753. package/dist/router/match-api.d.ts.map +0 -1
  754. package/dist/router/match-api.js +0 -406
  755. package/dist/router/match-api.js.map +0 -1
  756. package/dist/router/match-context.d.ts +0 -206
  757. package/dist/router/match-context.d.ts.map +0 -1
  758. package/dist/router/match-context.js +0 -17
  759. package/dist/router/match-context.js.map +0 -1
  760. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  761. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  762. package/dist/router/match-middleware/background-revalidation.js +0 -75
  763. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  764. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  765. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  766. package/dist/router/match-middleware/cache-lookup.js +0 -257
  767. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  768. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  769. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  770. package/dist/router/match-middleware/cache-store.js +0 -108
  771. package/dist/router/match-middleware/cache-store.js.map +0 -1
  772. package/dist/router/match-middleware/index.d.ts +0 -81
  773. package/dist/router/match-middleware/index.d.ts.map +0 -1
  774. package/dist/router/match-middleware/index.js +0 -80
  775. package/dist/router/match-middleware/index.js.map +0 -1
  776. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  777. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  778. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  779. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  780. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  781. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  782. package/dist/router/match-middleware/segment-resolution.js +0 -53
  783. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  784. package/dist/router/match-pipelines.d.ts +0 -147
  785. package/dist/router/match-pipelines.d.ts.map +0 -1
  786. package/dist/router/match-pipelines.js +0 -82
  787. package/dist/router/match-pipelines.js.map +0 -1
  788. package/dist/router/match-result.d.ts +0 -126
  789. package/dist/router/match-result.d.ts.map +0 -1
  790. package/dist/router/match-result.js +0 -93
  791. package/dist/router/match-result.js.map +0 -1
  792. package/dist/router/metrics.d.ts +0 -20
  793. package/dist/router/metrics.d.ts.map +0 -1
  794. package/dist/router/metrics.js +0 -47
  795. package/dist/router/metrics.js.map +0 -1
  796. package/dist/router/middleware.d.ts +0 -249
  797. package/dist/router/middleware.d.ts.map +0 -1
  798. package/dist/router/middleware.js +0 -434
  799. package/dist/router/middleware.js.map +0 -1
  800. package/dist/router/middleware.test.d.ts +0 -2
  801. package/dist/router/middleware.test.d.ts.map +0 -1
  802. package/dist/router/middleware.test.js +0 -816
  803. package/dist/router/middleware.test.js.map +0 -1
  804. package/dist/router/pattern-matching.d.ts +0 -149
  805. package/dist/router/pattern-matching.d.ts.map +0 -1
  806. package/dist/router/pattern-matching.js +0 -349
  807. package/dist/router/pattern-matching.js.map +0 -1
  808. package/dist/router/revalidation.d.ts +0 -44
  809. package/dist/router/revalidation.d.ts.map +0 -1
  810. package/dist/router/revalidation.js +0 -147
  811. package/dist/router/revalidation.js.map +0 -1
  812. package/dist/router/router-context.d.ts +0 -135
  813. package/dist/router/router-context.d.ts.map +0 -1
  814. package/dist/router/router-context.js +0 -36
  815. package/dist/router/router-context.js.map +0 -1
  816. package/dist/router/segment-resolution.d.ts +0 -127
  817. package/dist/router/segment-resolution.d.ts.map +0 -1
  818. package/dist/router/segment-resolution.js +0 -919
  819. package/dist/router/segment-resolution.js.map +0 -1
  820. package/dist/router/trie-matching.d.ts +0 -40
  821. package/dist/router/trie-matching.d.ts.map +0 -1
  822. package/dist/router/trie-matching.js +0 -127
  823. package/dist/router/trie-matching.js.map +0 -1
  824. package/dist/router/types.d.ts +0 -136
  825. package/dist/router/types.d.ts.map +0 -1
  826. package/dist/router/types.js +0 -7
  827. package/dist/router/types.js.map +0 -1
  828. package/dist/router.d.ts +0 -753
  829. package/dist/router.d.ts.map +0 -1
  830. package/dist/router.gen.d.ts +0 -6
  831. package/dist/router.gen.d.ts.map +0 -1
  832. package/dist/router.gen.js +0 -6
  833. package/dist/router.gen.js.map +0 -1
  834. package/dist/router.js +0 -1304
  835. package/dist/router.js.map +0 -1
  836. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  837. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  838. package/dist/rsc/__tests__/helpers.test.js +0 -140
  839. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  840. package/dist/rsc/handler.d.ts +0 -45
  841. package/dist/rsc/handler.d.ts.map +0 -1
  842. package/dist/rsc/handler.js +0 -1172
  843. package/dist/rsc/handler.js.map +0 -1
  844. package/dist/rsc/helpers.d.ts +0 -16
  845. package/dist/rsc/helpers.d.ts.map +0 -1
  846. package/dist/rsc/helpers.js +0 -55
  847. package/dist/rsc/helpers.js.map +0 -1
  848. package/dist/rsc/index.d.ts +0 -22
  849. package/dist/rsc/index.d.ts.map +0 -1
  850. package/dist/rsc/index.js +0 -23
  851. package/dist/rsc/index.js.map +0 -1
  852. package/dist/rsc/nonce.d.ts +0 -9
  853. package/dist/rsc/nonce.d.ts.map +0 -1
  854. package/dist/rsc/nonce.js +0 -18
  855. package/dist/rsc/nonce.js.map +0 -1
  856. package/dist/rsc/types.d.ts +0 -206
  857. package/dist/rsc/types.d.ts.map +0 -1
  858. package/dist/rsc/types.js +0 -8
  859. package/dist/rsc/types.js.map +0 -1
  860. package/dist/search-params.d.ts +0 -103
  861. package/dist/search-params.d.ts.map +0 -1
  862. package/dist/search-params.js +0 -74
  863. package/dist/search-params.js.map +0 -1
  864. package/dist/segment-system.d.ts +0 -75
  865. package/dist/segment-system.d.ts.map +0 -1
  866. package/dist/segment-system.js +0 -336
  867. package/dist/segment-system.js.map +0 -1
  868. package/dist/server/context.d.ts +0 -245
  869. package/dist/server/context.d.ts.map +0 -1
  870. package/dist/server/context.js +0 -197
  871. package/dist/server/context.js.map +0 -1
  872. package/dist/server/fetchable-loader-store.d.ts +0 -18
  873. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  874. package/dist/server/fetchable-loader-store.js +0 -18
  875. package/dist/server/fetchable-loader-store.js.map +0 -1
  876. package/dist/server/handle-store.d.ts +0 -85
  877. package/dist/server/handle-store.d.ts.map +0 -1
  878. package/dist/server/handle-store.js +0 -142
  879. package/dist/server/handle-store.js.map +0 -1
  880. package/dist/server/loader-registry.d.ts +0 -55
  881. package/dist/server/loader-registry.d.ts.map +0 -1
  882. package/dist/server/loader-registry.js +0 -132
  883. package/dist/server/loader-registry.js.map +0 -1
  884. package/dist/server/request-context.d.ts +0 -226
  885. package/dist/server/request-context.d.ts.map +0 -1
  886. package/dist/server/request-context.js +0 -290
  887. package/dist/server/request-context.js.map +0 -1
  888. package/dist/server/root-layout.d.ts +0 -4
  889. package/dist/server/root-layout.d.ts.map +0 -1
  890. package/dist/server/root-layout.js +0 -5
  891. package/dist/server/root-layout.js.map +0 -1
  892. package/dist/server.d.ts +0 -15
  893. package/dist/server.d.ts.map +0 -1
  894. package/dist/server.js +0 -20
  895. package/dist/server.js.map +0 -1
  896. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  897. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  898. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  899. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  900. package/dist/ssr/index.d.ts +0 -98
  901. package/dist/ssr/index.d.ts.map +0 -1
  902. package/dist/ssr/index.js +0 -158
  903. package/dist/ssr/index.js.map +0 -1
  904. package/dist/static-handler.d.ts +0 -50
  905. package/dist/static-handler.d.ts.map +0 -1
  906. package/dist/static-handler.gen.d.ts +0 -5
  907. package/dist/static-handler.gen.d.ts.map +0 -1
  908. package/dist/static-handler.gen.js +0 -5
  909. package/dist/static-handler.gen.js.map +0 -1
  910. package/dist/static-handler.js +0 -29
  911. package/dist/static-handler.js.map +0 -1
  912. package/dist/theme/ThemeProvider.d.ts +0 -20
  913. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  914. package/dist/theme/ThemeProvider.js +0 -240
  915. package/dist/theme/ThemeProvider.js.map +0 -1
  916. package/dist/theme/ThemeScript.d.ts +0 -48
  917. package/dist/theme/ThemeScript.d.ts.map +0 -1
  918. package/dist/theme/ThemeScript.js +0 -13
  919. package/dist/theme/ThemeScript.js.map +0 -1
  920. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  921. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  922. package/dist/theme/__tests__/theme.test.js +0 -103
  923. package/dist/theme/__tests__/theme.test.js.map +0 -1
  924. package/dist/theme/constants.d.ts +0 -29
  925. package/dist/theme/constants.d.ts.map +0 -1
  926. package/dist/theme/constants.js +0 -48
  927. package/dist/theme/constants.js.map +0 -1
  928. package/dist/theme/index.d.ts +0 -31
  929. package/dist/theme/index.d.ts.map +0 -1
  930. package/dist/theme/index.js +0 -36
  931. package/dist/theme/index.js.map +0 -1
  932. package/dist/theme/theme-context.d.ts +0 -40
  933. package/dist/theme/theme-context.d.ts.map +0 -1
  934. package/dist/theme/theme-context.js +0 -60
  935. package/dist/theme/theme-context.js.map +0 -1
  936. package/dist/theme/theme-script.d.ts +0 -27
  937. package/dist/theme/theme-script.d.ts.map +0 -1
  938. package/dist/theme/theme-script.js +0 -147
  939. package/dist/theme/theme-script.js.map +0 -1
  940. package/dist/theme/types.d.ts +0 -163
  941. package/dist/theme/types.d.ts.map +0 -1
  942. package/dist/theme/types.js +0 -11
  943. package/dist/theme/types.js.map +0 -1
  944. package/dist/theme/use-theme.d.ts +0 -12
  945. package/dist/theme/use-theme.d.ts.map +0 -1
  946. package/dist/theme/use-theme.js +0 -40
  947. package/dist/theme/use-theme.js.map +0 -1
  948. package/dist/types.d.ts +0 -1479
  949. package/dist/types.d.ts.map +0 -1
  950. package/dist/types.js +0 -10
  951. package/dist/types.js.map +0 -1
  952. package/dist/urls.d.ts +0 -441
  953. package/dist/urls.d.ts.map +0 -1
  954. package/dist/urls.gen.d.ts +0 -8
  955. package/dist/urls.gen.d.ts.map +0 -1
  956. package/dist/urls.gen.js +0 -8
  957. package/dist/urls.gen.js.map +0 -1
  958. package/dist/urls.js +0 -443
  959. package/dist/urls.js.map +0 -1
  960. package/dist/use-loader.d.ts +0 -127
  961. package/dist/use-loader.d.ts.map +0 -1
  962. package/dist/use-loader.js +0 -237
  963. package/dist/use-loader.js.map +0 -1
  964. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  965. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  966. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  967. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  968. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  969. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  970. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  971. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  972. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  973. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  974. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  975. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  976. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  977. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  978. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  979. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  980. package/dist/vite/ast-handler-extract.d.ts +0 -49
  981. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  982. package/dist/vite/ast-handler-extract.js +0 -249
  983. package/dist/vite/ast-handler-extract.js.map +0 -1
  984. package/dist/vite/expose-action-id.d.ts +0 -19
  985. package/dist/vite/expose-action-id.d.ts.map +0 -1
  986. package/dist/vite/expose-action-id.js +0 -250
  987. package/dist/vite/expose-action-id.js.map +0 -1
  988. package/dist/vite/expose-id-utils.d.ts +0 -69
  989. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  990. package/dist/vite/expose-id-utils.js +0 -289
  991. package/dist/vite/expose-id-utils.js.map +0 -1
  992. package/dist/vite/expose-internal-ids.d.ts +0 -22
  993. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  994. package/dist/vite/expose-internal-ids.js +0 -886
  995. package/dist/vite/expose-internal-ids.js.map +0 -1
  996. package/dist/vite/index.d.ts +0 -149
  997. package/dist/vite/index.d.ts.map +0 -1
  998. package/dist/vite/index.js.bak +0 -5448
  999. package/dist/vite/index.js.map +0 -1
  1000. package/dist/vite/index.named-routes.gen.ts +0 -103
  1001. package/dist/vite/package-resolution.d.ts +0 -43
  1002. package/dist/vite/package-resolution.d.ts.map +0 -1
  1003. package/dist/vite/package-resolution.js +0 -112
  1004. package/dist/vite/package-resolution.js.map +0 -1
  1005. package/dist/vite/virtual-entries.d.ts +0 -25
  1006. package/dist/vite/virtual-entries.d.ts.map +0 -1
  1007. package/dist/vite/virtual-entries.js +0 -110
  1008. package/dist/vite/virtual-entries.js.map +0 -1
  1009. package/src/browser/shallow.ts +0 -40
@@ -63,11 +63,6 @@ const TEST_ORIGIN = "http://localhost";
63
63
  */
64
64
  export type HandleDataSeed = Record<string, Record<string, unknown[]>>;
65
65
 
66
- // Loaders and location-state defs carry an id (`$$id` / `__rsc_ls_key`) that the
67
- // Vite plugin injects at build time; in a bare test it is "". These helpers
68
- // assign a synthetic stable id (mutating the handle, tracked per-object) so that
69
- // seeding by reference lines up with the read path (useLoader / useLocationState
70
- // both read the id off the handle at call time).
71
66
  const syntheticIds = new WeakMap<object, string>();
72
67
  let syntheticIdCounter = 0;
73
68
 
@@ -86,7 +81,6 @@ function ensureSyntheticId(
86
81
  return id;
87
82
  }
88
83
 
89
- /** One-level clone of a raw handle seed so we don't mutate the caller's object. */
90
84
  function cloneHandleSeed(seed?: HandleDataSeed): HandleDataSeed {
91
85
  const out: HandleDataSeed = {};
92
86
  for (const [name, segMap] of Object.entries(seed ?? {})) {
@@ -95,12 +89,6 @@ function cloneHandleSeed(seed?: HandleDataSeed): HandleDataSeed {
95
89
  return out;
96
90
  }
97
91
 
98
- /**
99
- * One node of the route definition passed to renderRoute. The array models a
100
- * single matched route plus its optional layout chain — element order is
101
- * outermost layout first, the leaf route last (the same root-to-leaf order the
102
- * real matcher produces).
103
- */
104
92
  export interface RenderRouteSpec {
105
93
  /**
106
94
  * The route pattern this node matches, e.g. "/products/:productId". The LAST
@@ -281,11 +269,6 @@ interface ResolvedMatch {
281
269
  pathname: string;
282
270
  }
283
271
 
284
- /**
285
- * Match a pathname against the leaf spec's pattern and extract params.
286
- * Returns null when the pattern does not match (params then fall back to the
287
- * caller-provided `options.params`).
288
- */
289
272
  function matchLeaf(
290
273
  pattern: string,
291
274
  pathname: string,
@@ -303,7 +286,6 @@ function matchLeaf(
303
286
  return params;
304
287
  }
305
288
 
306
- /** Derive a usable initial pathname from a leaf pattern when none is given. */
307
289
  function staticPrefix(pattern: string): string {
308
290
  const out: string[] = [];
309
291
  for (const part of pattern.split("/")) {
@@ -314,13 +296,6 @@ function staticPrefix(pattern: string): string {
314
296
  return "/" + out.join("/");
315
297
  }
316
298
 
317
- /**
318
- * Build the synthetic ResolvedSegment[] for a matched route. Produces, in
319
- * root-to-leaf order: one layout segment per non-leaf spec, then the leaf route
320
- * segment, plus a loader segment for each seeded loader id attached to the
321
- * owning spec. Segment ids follow the real convention (L0, L0L1, ..., the leaf
322
- * route as L0...R{n}; loaders as {parentId}D{i}.{loaderId}).
323
- */
324
299
  function buildSegments(
325
300
  routes: RenderRouteSpec[],
326
301
  params: Record<string, string>,
@@ -353,20 +328,13 @@ function buildSegments(
353
328
  params,
354
329
  belongsToRoute: true,
355
330
  };
356
- // Model an include() mount: every component segment in the chain shares the
357
- // same prefix, so renderSegments wraps each in a MountContextProvider and
358
- // useMount() resolves the mounted prefix (production sets mountPath on every
359
- // segment of an included subtree). Must be applied identically at both
360
- // buildSegments call sites or segment-structure-assert flags a remount.
361
331
  if (mount) node.mountPath = mount;
362
- // A leaf-owned layout component wraps the route via its own layout element.
363
332
  if (isLeaf && spec.layout) {
364
333
  const Layout = spec.layout;
365
334
  node.layout = <Layout />;
366
335
  }
367
336
  segments.push(node);
368
337
 
369
- // Determine which seeded loader ids this spec owns.
370
338
  const ownedIds = spec.loaderIds
371
339
  ? spec.loaderIds.filter((id) => id in loaderData)
372
340
  : isLeaf
@@ -390,30 +358,6 @@ function buildSegments(
390
358
  return segments;
391
359
  }
392
360
 
393
- /**
394
- * Render a CLIENT component (and its layout chain) inside the router's
395
- * NavigationProvider for unit testing. Exported from `@rangojs/router/testing/dom`
396
- * (its own entry, kept out of the main `@rangojs/router/testing` barrel so that
397
- * barrel never references React/@testing-library/react). Async so the heavy
398
- * @testing-library/react dependency is loaded only at call time.
399
- *
400
- * @example
401
- * ```tsx
402
- * // @vitest-environment happy-dom
403
- * import { renderRoute } from "@rangojs/router/testing/dom";
404
- *
405
- * function Product() {
406
- * const { productId } = useParams<{ productId: string }>();
407
- * const reverse = useReverse({ product: "/products/:productId" });
408
- * return <a href={reverse("product", { productId: "2" })}>{productId}</a>;
409
- * }
410
- *
411
- * const { getByText, router } = await renderRoute(
412
- * [{ path: "/products/:productId", Component: Product }],
413
- * { request: "/products/1" },
414
- * );
415
- * ```
416
- */
417
361
  export async function renderRoute(
418
362
  routes: RenderRouteSpec[],
419
363
  options: RenderRouteOptions = {},
@@ -421,9 +365,6 @@ export async function renderRoute(
421
365
  if (routes.length === 0) {
422
366
  throw new Error("renderRoute: `routes` must contain at least one entry");
423
367
  }
424
- // The pre-rename `initialUrl` option was renamed to `request`. A plain-JS or
425
- // spread-defeated caller still passing it would otherwise be silently ignored;
426
- // fail loud with the migration name instead.
427
368
  if ("initialUrl" in options) {
428
369
  throw new Error(
429
370
  "renderRoute: the `initialUrl` option was renamed to `request`. " +
@@ -439,30 +380,19 @@ export async function renderRoute(
439
380
  const initialUrl = requestUrl ?? staticPrefix(leaf.path) ?? "/";
440
381
  const url = new URL(initialUrl, TEST_ORIGIN);
441
382
 
442
- // Seed loader data: explicit-id entries from `loaderData`, plus by-reference
443
- // entries from `loaders` (assigning synthetic ids to real handles whose `$$id`
444
- // is empty in a bare test).
445
383
  const loaderData: Record<string, unknown> = { ...(options.loaderData ?? {}) };
446
384
  for (const [loader, data] of options.loaders ?? []) {
447
385
  loaderData[ensureSyntheticId(loader as object, "$$id")] = data;
448
386
  }
449
387
 
450
- // Seed location state into history.state so useLocationState(def) resolves.
451
- // Keyed defs read history.state[def.__rsc_ls_key]; assign a synthetic key when
452
- // the injected one is empty (bare test). RESET history.state to only this
453
- // call's seeds (not a merge) so a previous render's seeded state does not leak
454
- // into a later render in the same DOM environment.
455
388
  if (typeof window !== "undefined") {
456
389
  const stateObj: Record<string, unknown> = {};
457
390
  for (const [def, value] of options.locationState ?? []) {
458
391
  stateObj[ensureSyntheticId(def as object, "__rsc_ls_key")] = value;
459
392
  }
460
- // No URL arg: useLocationState reads history.state (not the URL), and passing
461
- // a TEST_ORIGIN URL would trip the DOM env's same-origin check.
462
393
  window.history.replaceState(stateObj, "");
463
394
  }
464
395
 
465
- // Resolve params: URL-extracted params first, explicit params override.
466
396
  const resolve = (pathname: string): ResolvedMatch => {
467
397
  const matched = matchLeaf(leaf.path, pathname) ?? {};
468
398
  return {
@@ -472,10 +402,7 @@ export async function renderRoute(
472
402
  };
473
403
  const initialMatch = resolve(url.pathname);
474
404
 
475
- // Reuse the real browser primitives so context shape matches production.
476
405
  const historyKey = generateHistoryKey(url.href);
477
- // Normalize the include() mount prefix once and apply it at BOTH buildSegments
478
- // call sites (initial + navigate) so mountPath is consistent across renders.
479
406
  const mount = normalizeBasename(options.mount);
480
407
  const initialSegments = buildSegments(
481
408
  routes,
@@ -490,20 +417,12 @@ export async function renderRoute(
490
417
  initialSegments,
491
418
  crossTabSync: false,
492
419
  });
493
- // Seed handle data: raw `handle` entries plus by-reference `handles` attached
494
- // to the leaf route segment under each handle's id (so useHandle(handle)
495
- // resolves the pushed values).
496
420
  const leafRouteSegmentId =
497
421
  [...initialSegments].reverse().find((s) => s.type === "route")?.id ??
498
422
  initialSegments[initialSegments.length - 1]?.id;
499
423
  const handleSeed: HandleDataSeed = cloneHandleSeed(options.handle);
500
424
  for (const [handle, values] of options.handles ?? []) {
501
425
  if (leafRouteSegmentId === undefined) continue;
502
- // createHandle always has a non-empty $$id (the Vite plugin injects one, and
503
- // createHandle assigns a runtime fallback otherwise) with its REAL collect
504
- // registered — so seeding under handle.$$id makes useHandle(handle) run the
505
- // handle's actual collect/accumulator (custom collects included), not just a
506
- // default flatten.
507
426
  const id = (handle as unknown as { $$id: string }).$$id;
508
427
  (handleSeed[id] ??= {})[leafRouteSegmentId] = values;
509
428
  }
@@ -515,14 +434,6 @@ export async function renderRoute(
515
434
  initialSegments.map((s) => s.id),
516
435
  );
517
436
 
518
- // Client-only navigation: re-resolve against the in-memory routes and emit a
519
- // re-render. No server fetch — only routes passed to renderRoute exist. The
520
- // store update is flushed inside act() so React commits before callers
521
- // assert, mirroring how a real navigation lands a single payload swap.
522
- // NOTE: the seeded `loaderData` is reused for the target route too (no
523
- // per-route loader fetch in a unit test), so every seeded loader stays
524
- // available after navigate() — unlike a real navigation, which would fetch
525
- // the target route's own loaders. This is a deliberate test-isolation design.
526
437
  const navigate = async (target: string): Promise<void> => {
527
438
  const nextUrl = new URL(target, TEST_ORIGIN);
528
439
  const match = resolve(nextUrl.pathname);
@@ -578,7 +489,6 @@ export async function renderRoute(
578
489
  return Object.assign(result, { router });
579
490
  }
580
491
 
581
- /** Minimal RscMetadata for client-side re-renders (no server-only fields). */
582
492
  function makeMetadata(
583
493
  pathname: string,
584
494
  segments: ResolvedSegment[],
@@ -177,10 +177,6 @@ export interface RunLoaderOptions<TEnv = any> {
177
177
  handles?: ReadonlyArray<readonly [Handle<any, any>, unknown]>;
178
178
  }
179
179
 
180
- /**
181
- * Merge `search` into a request's URL, returning a value `toRequest` can build.
182
- * Keeps the original method/headers/body when a Request was passed.
183
- */
184
180
  function withSearch(
185
181
  request: Request | string | undefined,
186
182
  search: Record<string, string> | undefined,
@@ -206,16 +202,6 @@ export type RunnableLoader<T> =
206
202
  | ((ctx: TestLoaderContext) => Promise<T> | T)
207
203
  | LoaderDefinition<T, any>;
208
204
 
209
- /**
210
- * Resolve the function to run from either a raw body or a `createLoader()` handle.
211
- *
212
- * A handle carries no inline body (`createLoader` registers it in the fetchable
213
- * registry by `$$id`), so recover it from there — `def.fn` first (a hand-built
214
- * def), then the registry. This works when the handle resolves through the
215
- * SERVER build (the consumer's `@rangojs/router` under `rangoTestConfig`, which
216
- * registers the fn); the CLIENT stub drops the body, so a handle imported that
217
- * way is unrecoverable and we say so explicitly.
218
- */
219
205
  function resolveLoaderFn<T>(
220
206
  loader: RunnableLoader<T>,
221
207
  ): (ctx: TestLoaderContext) => Promise<T> | T {
@@ -237,31 +223,11 @@ function resolveLoaderFn<T>(
237
223
  return fn as (ctx: TestLoaderContext) => Promise<T> | T;
238
224
  }
239
225
 
240
- /**
241
- * Run a loader and return its resolved data. Pass the RAW loader body, or a
242
- * registered `createLoader()` handle (its fn is recovered from the registry).
243
- *
244
- * @example
245
- * ```ts
246
- * // raw body
247
- * const a = await runLoader(
248
- * async (ctx) => ({ id: ctx.params.id, user: ctx.get("user") }),
249
- * { params: { id: "42" }, vars: { user: { name: "Ada" } } },
250
- * );
251
- * // registered createLoader() handle (recovered from the registry)
252
- * const b = await runLoader(ProductLoader, { params: { id: "42" } });
253
- * ```
254
- */
255
- // Build the createTestRequestContext options from runLoader's options. Shared by
256
- // runLoader (returns the loader data) and runLoaderResult (also snapshots effects).
257
226
  function buildLoaderCtxOpts(
258
227
  opts: RunLoaderOptions,
259
228
  ): CreateTestContextOptions<any> {
260
229
  return {
261
230
  env: opts.env,
262
- // Bake opts.search into the request URL itself so ctx.request.url, ctx.url,
263
- // and ctx.searchParams all agree (production carries the query string on the
264
- // real request — a loader reading ctx.request.url must see it too).
265
231
  request: withSearch(opts.request, opts.search),
266
232
  requestInit: opts.method ? { method: opts.method } : undefined,
267
233
  vars: opts.vars,
@@ -276,33 +242,19 @@ function buildLoaderCtxOpts(
276
242
  };
277
243
  }
278
244
 
279
- // Enter `reqCtx` and run `fn` with a seeded TestLoaderContext (the same ctx shape
280
- // a real loader receives). The single place the loader context is built, so
281
- // runLoader and runLoaderResult share identical loader-context semantics.
282
245
  function runWithLoaderContext<R>(
283
246
  reqCtx: RequestContext<any>,
284
247
  opts: RunLoaderOptions,
285
248
  fn: (ctx: TestLoaderContext) => R,
286
249
  ): R {
287
- // Seed values for ctx.use(SomeHandle), matched by handle reference (so a real
288
- // handle resolves regardless of its build-injected $$id).
289
250
  const handleSeeds = new Map<unknown, unknown>(opts.handles ?? []);
290
-
291
- // Seed values for ctx.use(OtherLoader), matched by loader reference (same model
292
- // as renderHandler/renderRoute). Checked before the `use` resolver.
293
251
  const loaderSeeds = new Map<unknown, unknown>(opts.loaders ?? []);
294
-
295
- // Tracks whether the mocked render barrier has settled. ctx.use(handle)
296
- // reads are gated on this, matching production (loader-resolution.ts).
297
252
  let renderedResolved = false;
298
253
 
299
254
  return runWithRequestContext(reqCtx, () => {
300
255
  const reverse = opts.routeMap
301
256
  ? createReverseFunction(opts.routeMap, opts.routeName, opts.params ?? {})
302
257
  : ((() => {
303
- // Documented contract: reverse requires routeMap. Do NOT fall back to
304
- // reqCtx.reverse (the global route map) — that leaks whichever routes
305
- // another test registered and contradicts the documented behavior.
306
258
  throw new Error(
307
259
  "ctx.reverse() requires the `routeMap` option in runLoader(). " +
308
260
  "Pass { routeMap: { name: pattern, ... } } to enable reverse().",
@@ -323,10 +275,6 @@ function runWithLoaderContext<R>(
323
275
  executionContext: reqCtx.executionContext,
324
276
  get: reqCtx.get as TestLoaderContext["get"],
325
277
  use: ((dep: LoaderDefinition<any, any> | Handle<any, any>) => {
326
- // Match production (loader-resolution.ts): reading a handle in a loader
327
- // requires the render barrier to have settled. Gate BEFORE returning a
328
- // seed, so a loader that forgets `await ctx.rendered()` fails in the
329
- // test exactly as it would at runtime.
330
278
  if (isHandle(dep) && !renderedResolved) {
331
279
  throw new Error(
332
280
  `ctx.use(handle) in a loader requires "await ctx.rendered()" first. ` +
@@ -334,16 +282,8 @@ function runWithLoaderContext<R>(
334
282
  `the render tree has settled.`,
335
283
  );
336
284
  }
337
- // Handle reads (ctx.use(SomeHandle)) resolve from the seeded map first.
338
285
  if (handleSeeds.has(dep)) return handleSeeds.get(dep);
339
- // Post-barrier, an UNSEEDED handle must match production
340
- // (loader-resolution.ts -> collectHandleData), which runs the handle's
341
- // registered collect over empty segments (collect([])) rather than
342
- // throwing or leaking into the loader resolver. Resolve it via
343
- // collectHandle, which recovers and runs that same collect.
344
286
  if (isHandle(dep)) return collectHandle(dep, []);
345
- // Loader reads (ctx.use(OtherLoader)) resolve from the seeded map next,
346
- // then the dynamic `use` resolver, then the real request-context use().
347
287
  if (loaderSeeds.has(dep)) return loaderSeeds.get(dep);
348
288
  if (opts.use) return opts.use(dep as LoaderDefinition<any, any>);
349
289
  return reqCtx.use(dep as LoaderDefinition<any, any>);
@@ -358,7 +298,6 @@ function runWithLoaderContext<R>(
358
298
  if (typeof opts.rendered === "function") {
359
299
  await opts.rendered();
360
300
  }
361
- // Barrier has settled: subsequent ctx.use(handle) reads resolve.
362
301
  renderedResolved = true;
363
302
  }
364
303
  : () => {
@@ -377,13 +316,6 @@ function runWithLoaderContext<R>(
377
316
  });
378
317
  }
379
318
 
380
- /**
381
- * Run a loader and return its resolved data.
382
- *
383
- * Effects the loader sets (cookies, response headers, a thrown redirect) are NOT
384
- * observable here — use {@link runLoaderResult} for an auth-style loader that
385
- * sets a `Set-Cookie` and/or `throw redirect(...)`.
386
- */
387
319
  export async function runLoader<T>(
388
320
  loader: RunnableLoader<T>,
389
321
  opts: RunLoaderOptions = {},
@@ -395,12 +327,6 @@ export async function runLoader<T>(
395
327
  );
396
328
  }
397
329
 
398
- /**
399
- * What a loader run accumulated: its data PLUS the response effects it produced,
400
- * surfaced as PUBLIC values (parity with `runMiddleware`/`runInRequestContext`)
401
- * so an effect-setting loader is assertable without casting through the
402
- * `@internal` request context.
403
- */
404
330
  export interface RunLoaderResult<T> {
405
331
  /**
406
332
  * The loader's resolved data (the value bare `runLoader` returns), or
@@ -430,25 +356,6 @@ export interface RunLoaderResult<T> {
430
356
  stateCookieName: string;
431
357
  }
432
358
 
433
- /**
434
- * Run a loader AND surface the response effects it produced. The richer sibling
435
- * of {@link runLoader} (which returns the bare data): use this when the loader
436
- * sets a cookie / response header / location-state, or `throw redirect(...)`, and
437
- * the test must assert that output.
438
- *
439
- * @example
440
- * ```ts
441
- * // AuthLoader: validates, sets a `session` cookie, then `throw redirect("/")`.
442
- * const { thrown, response, cookies } = await runLoaderResult(AuthLoader, {
443
- * request: new Request("https://app.test/login?token=ok"),
444
- * });
445
- * expect((thrown as Response).headers.get("Location")).toBe("/");
446
- * expect(cookies.session).toBeDefined();
447
- * expect(
448
- * response.headers.getSetCookie().some((c) => c.startsWith("session=")),
449
- * ).toBe(true);
450
- * ```
451
- */
452
359
  export async function runLoaderResult<T>(
453
360
  loader: RunnableLoader<T>,
454
361
  opts: RunLoaderOptions = {},
@@ -465,9 +372,6 @@ export async function runLoaderResult<T>(
465
372
  Promise.resolve(loaderFn(loaderCtx)),
466
373
  );
467
374
  } catch (error) {
468
- // Capture (do NOT re-throw): a loader's success path is often
469
- // `throw redirect(...)`, and the cookie/flash it set before the throw must
470
- // stay observable (parity with runInRequestContext).
471
375
  thrown = error;
472
376
  }
473
377
  return { result, ...buildRunSnapshot(reqCtx, thrown, stateCookieName) };
@@ -133,21 +133,6 @@ export interface RunMiddlewareResult<TEnv = any> {
133
133
  stateCookieName: string;
134
134
  }
135
135
 
136
- /**
137
- * Run a middleware chain and return the response plus observable context.
138
- *
139
- * @example
140
- * ```ts
141
- * const { response, ctx, nextCalled } = await runMiddleware(
142
- * async (ctx, next) => {
143
- * if (!ctx.get("user")) return new Response(null, { status: 401 });
144
- * return next();
145
- * },
146
- * { request: "/dashboard", vars: [["user", { id: 1 }]] },
147
- * );
148
- * // nextCalled === 1, response.status === 200
149
- * ```
150
- */
151
136
  export async function runMiddleware<TEnv = any>(
152
137
  mw: MiddlewareFn<TEnv> | MiddlewareFn<TEnv>[],
153
138
  opts: RunMiddlewareOptions<TEnv>,
@@ -181,11 +166,6 @@ export async function runMiddleware<TEnv = any>(
181
166
  return opts.next?.() ?? new Response(null, { status: 200 });
182
167
  };
183
168
 
184
- // Match production: app/response middleware receive ctx.reverse built from the
185
- // route map ALONE (no matched route name or current params), so reversing a
186
- // parameterized route without explicit params does NOT auto-fill from the
187
- // current request. Passing routeName/params here would recreate the
188
- // false-confidence class fixed in dispatch.
189
169
  const reverse = opts.routeMap
190
170
  ? (createReverseFunction(opts.routeMap) as (
191
171
  name: string,
@@ -194,12 +174,6 @@ export async function runMiddleware<TEnv = any>(
194
174
  ) => string)
195
175
  : undefined;
196
176
 
197
- // Keep the RETURNED ctx.reverse consistent with the map-only reverse the
198
- // chain receives. createTestRequestContext installs an auto-fill reverse
199
- // (correct for the loader phase) when routeName/params are passed, but
200
- // production app/response middleware see a map-only reverse. Without this,
201
- // a middleware reading getRequestContext().reverse — or a consumer asserting
202
- // on result.ctx.reverse — would observe auto-fill that production never does.
203
177
  if (reverse) {
204
178
  (ctx as RequestContext<TEnv>).reverse =
205
179
  reverse as RequestContext<TEnv>["reverse"];
@@ -28,9 +28,6 @@ import type {
28
28
  } from "./types.js";
29
29
  import { THEME_COOKIE } from "./constants.js";
30
30
 
31
- /**
32
- * Get system preference for color scheme
33
- */
34
31
  function getSystemTheme(): ResolvedTheme {
35
32
  if (typeof window !== "undefined" && window.matchMedia) {
36
33
  return window.matchMedia("(prefers-color-scheme: dark)").matches
@@ -40,9 +37,6 @@ function getSystemTheme(): ResolvedTheme {
40
37
  return "light";
41
38
  }
42
39
 
43
- /**
44
- * Read theme from cookie
45
- */
46
40
  function readThemeFromCookie(storageKey: string): string | null {
47
41
  if (typeof document === "undefined") return null;
48
42
 
@@ -61,9 +55,6 @@ function readThemeFromCookie(storageKey: string): string | null {
61
55
  return null;
62
56
  }
63
57
 
64
- /**
65
- * Read theme from localStorage
66
- */
67
58
  function readThemeFromStorage(storageKey: string): string | null {
68
59
  if (typeof localStorage === "undefined") return null;
69
60
 
@@ -74,9 +65,6 @@ function readThemeFromStorage(storageKey: string): string | null {
74
65
  }
75
66
  }
76
67
 
77
- /**
78
- * Write theme to cookie
79
- */
80
68
  function writeThemeToCookie(storageKey: string, theme: Theme): void {
81
69
  if (typeof document === "undefined") return;
82
70
 
@@ -85,9 +73,6 @@ function writeThemeToCookie(storageKey: string, theme: Theme): void {
85
73
  document.cookie = cookie;
86
74
  }
87
75
 
88
- /**
89
- * Write theme to localStorage
90
- */
91
76
  function writeThemeToStorage(storageKey: string, theme: Theme): void {
92
77
  if (typeof localStorage === "undefined") return;
93
78
 
@@ -98,9 +83,6 @@ function writeThemeToStorage(storageKey: string, theme: Theme): void {
98
83
  }
99
84
  }
100
85
 
101
- /**
102
- * Apply theme to HTML element
103
- */
104
86
  function applyThemeToDocument(theme: Theme, config: ResolvedThemeConfig): void {
105
87
  if (typeof document === "undefined") return;
106
88
 
@@ -112,40 +94,30 @@ function applyThemeToDocument(theme: Theme, config: ResolvedThemeConfig): void {
112
94
  const value = config.value[resolved] || resolved;
113
95
  const el = document.documentElement;
114
96
 
115
- // Apply attribute
116
97
  if (config.attribute === "class") {
117
- // Remove all theme classes
118
98
  for (const t of config.themes) {
119
99
  const v = config.value[t] || t;
120
100
  el.classList.remove(v);
121
101
  }
122
- // Add current theme class
123
102
  el.classList.add(value);
124
103
  } else {
125
104
  el.setAttribute(config.attribute, value);
126
105
  }
127
106
 
128
- // Set color-scheme for native dark mode support
129
107
  if (config.enableColorScheme) {
130
108
  el.style.colorScheme = resolved;
131
109
  }
132
110
  }
133
111
 
134
- /**
135
- * Get the resolved stored theme (validated against available themes)
136
- */
137
112
  function getStoredTheme(config: ResolvedThemeConfig): Theme {
138
113
  const { storageKey, themes, defaultTheme, enableSystem } = config;
139
114
 
140
- // Try cookie first (for SSR consistency)
141
115
  let stored = readThemeFromCookie(storageKey);
142
116
 
143
- // Fall back to localStorage
144
117
  if (!stored) {
145
118
  stored = readThemeFromStorage(storageKey);
146
119
  }
147
120
 
148
- // Validate stored value
149
121
  if (stored) {
150
122
  if (stored === "system" && enableSystem) {
151
123
  return "system";
@@ -158,38 +130,26 @@ function getStoredTheme(config: ResolvedThemeConfig): Theme {
158
130
  return defaultTheme;
159
131
  }
160
132
 
161
- /**
162
- * ThemeProvider component
163
- *
164
- * Provides theme state to the component tree via context.
165
- * Handles theme persistence, system preference detection, and cross-tab sync.
166
- */
167
133
  export function ThemeProvider({
168
134
  config,
169
135
  initialTheme,
170
136
  children,
171
137
  }: ThemeProviderProps): React.ReactNode {
172
- // Track mount state to avoid hydration mismatches
173
- // During SSR and initial hydration, mounted is false
174
138
  const [mounted, setMounted] = useState(false);
175
139
 
176
- // Initialize theme from prop, storage, or default
177
140
  const [theme, setThemeState] = useState<Theme>(() => {
178
141
  if (initialTheme) return initialTheme;
179
142
  if (typeof window === "undefined") return config.defaultTheme;
180
143
  return getStoredTheme(config);
181
144
  });
182
145
 
183
- // Track system preference - use stable default during SSR
184
146
  const [systemTheme, setSystemTheme] = useState<ResolvedTheme>("light");
185
147
 
186
- // Set mounted after hydration and detect actual system theme
187
148
  useEffect(() => {
188
149
  setMounted(true);
189
150
  setSystemTheme(getSystemTheme());
190
151
  }, []);
191
152
 
192
- // Set theme and persist to storage
193
153
  const setTheme = useCallback(
194
154
  (newTheme: Theme) => {
195
155
  setThemeState(newTheme);
@@ -200,7 +160,6 @@ export function ThemeProvider({
200
160
  [config],
201
161
  );
202
162
 
203
- // Listen for system preference changes
204
163
  useEffect(() => {
205
164
  if (!config.enableSystem) return;
206
165
  if (typeof window === "undefined" || !window.matchMedia) return;
@@ -211,13 +170,11 @@ export function ThemeProvider({
211
170
  const newSystemTheme = e.matches ? "dark" : "light";
212
171
  setSystemTheme(newSystemTheme);
213
172
 
214
- // If current theme is "system", re-apply to update document
215
173
  if (theme === "system") {
216
174
  applyThemeToDocument("system", config);
217
175
  }
218
176
  };
219
177
 
220
- // Modern browsers
221
178
  mediaQuery.addEventListener("change", handleChange);
222
179
 
223
180
  return () => {
@@ -225,7 +182,6 @@ export function ThemeProvider({
225
182
  };
226
183
  }, [config, theme]);
227
184
 
228
- // Cross-tab synchronization via localStorage storage event
229
185
  useEffect(() => {
230
186
  if (typeof window === "undefined") return;
231
187
 
@@ -249,12 +205,8 @@ export function ThemeProvider({
249
205
  };
250
206
  }, [config]);
251
207
 
252
- // Compute resolved theme
253
- // During SSR (not mounted), use the initial theme or default to avoid hydration mismatch
254
208
  const resolvedTheme: ResolvedTheme = useMemo(() => {
255
209
  if (!mounted) {
256
- // During SSR, return the initial theme if it's not "system", otherwise "light"
257
- // The inline script will apply the correct class before hydration
258
210
  if (initialTheme && initialTheme !== "system") {
259
211
  return initialTheme as ResolvedTheme;
260
212
  }
@@ -266,7 +218,6 @@ export function ThemeProvider({
266
218
  return theme as ResolvedTheme;
267
219
  }, [theme, systemTheme, config.enableSystem, mounted, initialTheme]);
268
220
 
269
- // Build themes list (include "system" if enabled)
270
221
  const themes = useMemo(() => {
271
222
  if (config.enableSystem) {
272
223
  return ["system", ...config.themes.filter((t) => t !== "system")];
@@ -274,14 +225,11 @@ export function ThemeProvider({
274
225
  return config.themes;
275
226
  }, [config.themes, config.enableSystem]);
276
227
 
277
- // Context value
278
- // During SSR (not mounted), return stable values to avoid hydration mismatch
279
228
  const contextValue: ThemeContextValue = useMemo(
280
229
  () => ({
281
230
  theme,
282
231
  setTheme,
283
232
  resolvedTheme,
284
- // Return stable "light" for systemTheme during SSR - actual value updates after mount
285
233
  systemTheme: mounted ? systemTheme : "light",
286
234
  themes,
287
235
  config,
@@ -43,12 +43,6 @@ export interface ThemeScriptProps {
43
43
  nonce?: string;
44
44
  }
45
45
 
46
- /**
47
- * Server component that renders the theme initialization script.
48
- *
49
- * This renders a synchronous inline script that applies the theme
50
- * to the HTML element before React hydration, preventing FOUC.
51
- */
52
46
  export function ThemeScript({
53
47
  config,
54
48
  nonce,