@rangojs/router 0.0.0-experimental.79 → 0.0.0-experimental.7cf4e116

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 (1196) hide show
  1. package/AGENTS.md +8 -0
  2. package/README.md +169 -31
  3. package/dist/bin/rango.js +312 -93
  4. package/dist/testing/vitest.js +82 -0
  5. package/dist/vite/index.js +2827 -1032
  6. package/dist/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  7. package/package.json +76 -21
  8. package/skills/api-client/SKILL.md +211 -0
  9. package/skills/breadcrumbs/SKILL.md +64 -2
  10. package/skills/bundle-analysis/SKILL.md +159 -0
  11. package/skills/cache-guide/SKILL.md +224 -32
  12. package/skills/caching/SKILL.md +279 -17
  13. package/skills/composability/SKILL.md +27 -2
  14. package/skills/css/SKILL.md +76 -0
  15. package/skills/debug-manifest/SKILL.md +4 -2
  16. package/skills/document-cache/SKILL.md +78 -55
  17. package/skills/handler-use/SKILL.md +4 -2
  18. package/skills/hooks/SKILL.md +250 -30
  19. package/skills/host-router/SKILL.md +83 -23
  20. package/skills/i18n/SKILL.md +276 -0
  21. package/skills/intercept/SKILL.md +30 -6
  22. package/skills/layout/SKILL.md +13 -9
  23. package/skills/links/SKILL.md +247 -17
  24. package/skills/loader/SKILL.md +225 -9
  25. package/skills/middleware/SKILL.md +18 -10
  26. package/skills/migrate-nextjs/SKILL.md +40 -16
  27. package/skills/migrate-react-router/SKILL.md +9 -2
  28. package/skills/mime-routes/SKILL.md +28 -1
  29. package/skills/observability/SKILL.md +172 -0
  30. package/skills/parallel/SKILL.md +18 -7
  31. package/skills/prerender/SKILL.md +45 -43
  32. package/skills/rango/SKILL.md +251 -24
  33. package/skills/react-compiler/SKILL.md +168 -0
  34. package/skills/response-routes/SKILL.md +123 -48
  35. package/skills/route/SKILL.md +46 -5
  36. package/skills/router-setup/SKILL.md +29 -6
  37. package/skills/scripts/SKILL.md +179 -0
  38. package/skills/server-actions/SKILL.md +775 -0
  39. package/skills/streams-and-websockets/SKILL.md +283 -0
  40. package/skills/tailwind/SKILL.md +27 -3
  41. package/skills/testing/SKILL.md +129 -0
  42. package/skills/testing/bindings.md +103 -0
  43. package/skills/testing/cache-prerender.md +127 -0
  44. package/skills/testing/client-components.md +124 -0
  45. package/skills/testing/e2e-parity.md +125 -0
  46. package/skills/testing/flight.md +91 -0
  47. package/skills/testing/handles.md +129 -0
  48. package/skills/testing/loader.md +128 -0
  49. package/skills/testing/middleware.md +99 -0
  50. package/skills/testing/render-handler.md +121 -0
  51. package/skills/testing/response-routes.md +95 -0
  52. package/skills/testing/reverse-and-types.md +84 -0
  53. package/skills/testing/server-actions.md +107 -0
  54. package/skills/testing/server-tree.md +128 -0
  55. package/skills/testing/setup.md +123 -0
  56. package/skills/typesafety/SKILL.md +322 -29
  57. package/skills/use-cache/SKILL.md +46 -14
  58. package/skills/view-transitions/SKILL.md +294 -0
  59. package/src/__augment-tests__/augment.ts +81 -0
  60. package/src/__augment-tests__/augmented.check.ts +116 -0
  61. package/src/__internal.ts +0 -65
  62. package/src/browser/action-coordinator.ts +53 -36
  63. package/src/browser/action-fence.ts +47 -0
  64. package/src/browser/app-shell.ts +39 -0
  65. package/src/browser/connection-warmup.ts +134 -0
  66. package/src/browser/cookie-name.ts +140 -0
  67. package/src/browser/event-controller.ts +192 -150
  68. package/src/browser/history-state.ts +21 -0
  69. package/src/browser/index.ts +3 -3
  70. package/src/browser/invalidate-client-cache.ts +52 -0
  71. package/src/browser/navigation-bridge.ts +71 -16
  72. package/src/browser/navigation-client.ts +127 -78
  73. package/src/browser/navigation-store-handle.ts +38 -0
  74. package/src/browser/navigation-store.ts +33 -59
  75. package/src/browser/navigation-transaction.ts +9 -59
  76. package/src/browser/network-error-handler.ts +34 -7
  77. package/src/browser/partial-update.ts +125 -127
  78. package/src/browser/prefetch/cache.ts +201 -68
  79. package/src/browser/prefetch/fetch.ts +287 -59
  80. package/src/browser/prefetch/queue.ts +42 -8
  81. package/src/browser/rango-state.ts +158 -76
  82. package/src/browser/react/Link.tsx +48 -20
  83. package/src/browser/react/NavigationProvider.tsx +162 -118
  84. package/src/browser/react/ScrollRestoration.tsx +10 -6
  85. package/src/browser/react/filter-segment-order.ts +66 -7
  86. package/src/browser/react/index.ts +0 -48
  87. package/src/browser/react/location-state-shared.ts +178 -8
  88. package/src/browser/react/location-state.ts +39 -14
  89. package/src/browser/react/use-action.ts +6 -15
  90. package/src/browser/react/use-handle.ts +17 -14
  91. package/src/browser/react/use-href.tsx +8 -1
  92. package/src/browser/react/use-link-status.ts +33 -8
  93. package/src/browser/react/use-navigation.ts +32 -7
  94. package/src/browser/react/use-params.ts +20 -10
  95. package/src/browser/react/use-reverse.ts +106 -0
  96. package/src/browser/react/use-router.ts +25 -3
  97. package/src/browser/react/use-search-params.ts +0 -5
  98. package/src/browser/react/use-segments.ts +11 -21
  99. package/src/browser/response-adapter.ts +80 -5
  100. package/src/browser/rsc-router.tsx +91 -24
  101. package/src/browser/scroll-restoration.ts +30 -17
  102. package/src/browser/segment-structure-assert.ts +2 -2
  103. package/src/browser/server-action-bridge.ts +214 -55
  104. package/src/browser/types.ts +57 -8
  105. package/src/browser/validate-redirect-origin.ts +43 -16
  106. package/src/build/collect-fallback-refs.ts +107 -0
  107. package/src/build/generate-manifest.ts +60 -35
  108. package/src/build/generate-route-types.ts +2 -1
  109. package/src/build/index.ts +8 -2
  110. package/src/build/prefix-tree-utils.ts +123 -0
  111. package/src/build/route-trie.ts +117 -14
  112. package/src/build/route-types/ast-route-extraction.ts +15 -8
  113. package/src/build/route-types/codegen.ts +16 -5
  114. package/src/build/route-types/include-resolution.ts +117 -23
  115. package/src/build/route-types/param-extraction.ts +6 -3
  116. package/src/build/route-types/per-module-writer.ts +22 -6
  117. package/src/build/route-types/router-processing.ts +55 -28
  118. package/src/build/route-types/scan-filter.ts +1 -1
  119. package/src/build/route-types/source-scan.ts +216 -0
  120. package/src/build/runtime-discovery.ts +9 -20
  121. package/src/cache/cache-error.ts +104 -0
  122. package/src/cache/cache-key-utils.ts +29 -13
  123. package/src/cache/cache-policy.ts +108 -34
  124. package/src/cache/cache-runtime.ts +199 -37
  125. package/src/cache/cache-scope.ts +188 -82
  126. package/src/cache/cache-tag.ts +103 -0
  127. package/src/cache/cf/cf-base64.ts +33 -0
  128. package/src/cache/cf/cf-cache-constants.ts +127 -0
  129. package/src/cache/cf/cf-cache-store.ts +1989 -378
  130. package/src/cache/cf/cf-cache-types.ts +349 -0
  131. package/src/cache/cf/cf-kv-utils.ts +46 -0
  132. package/src/cache/cf/cf-tag-marker-memo.ts +105 -0
  133. package/src/cache/cf/index.ts +6 -16
  134. package/src/cache/document-cache.ts +72 -20
  135. package/src/cache/handle-snapshot.ts +70 -0
  136. package/src/cache/index.ts +10 -20
  137. package/src/cache/memory-segment-store.ts +136 -37
  138. package/src/cache/profile-registry.ts +31 -31
  139. package/src/cache/read-through-swr.ts +41 -11
  140. package/src/cache/segment-codec.ts +9 -17
  141. package/src/cache/tag-invalidation.ts +230 -0
  142. package/src/cache/types.ts +37 -100
  143. package/src/client.rsc.tsx +44 -21
  144. package/src/client.tsx +36 -61
  145. package/src/cloudflare/index.ts +11 -0
  146. package/src/cloudflare/tracing.ts +109 -0
  147. package/src/component-utils.ts +19 -0
  148. package/src/components/DefaultDocument.tsx +8 -2
  149. package/src/context-var.ts +18 -6
  150. package/src/decode-loader-results.ts +52 -0
  151. package/src/defer.ts +196 -0
  152. package/src/deps/ssr.ts +0 -1
  153. package/src/encode-kv.ts +49 -0
  154. package/src/errors.ts +30 -4
  155. package/src/escape-script.ts +52 -0
  156. package/src/handle.ts +31 -23
  157. package/src/handles/MetaTags.tsx +62 -19
  158. package/src/handles/Scripts.tsx +183 -0
  159. package/src/handles/breadcrumbs.ts +37 -8
  160. package/src/handles/is-thenable.ts +19 -0
  161. package/src/handles/meta.ts +51 -40
  162. package/src/handles/script.ts +244 -0
  163. package/src/host/cookie-handler.ts +9 -60
  164. package/src/host/errors.ts +0 -24
  165. package/src/host/index.ts +8 -2
  166. package/src/host/pattern-matcher.ts +23 -52
  167. package/src/host/router.ts +107 -99
  168. package/src/host/testing.ts +40 -27
  169. package/src/host/types.ts +37 -4
  170. package/src/host/utils.ts +1 -1
  171. package/src/href-client.ts +137 -22
  172. package/src/index.rsc.ts +90 -11
  173. package/src/index.ts +88 -10
  174. package/src/internal-debug.ts +11 -10
  175. package/src/loader-store.ts +500 -0
  176. package/src/loader.rsc.ts +20 -13
  177. package/src/loader.ts +12 -11
  178. package/src/missing-id-error.ts +68 -0
  179. package/src/outlet-context.ts +1 -1
  180. package/src/outlet-provider.tsx +1 -5
  181. package/src/prerender/param-hash.ts +16 -16
  182. package/src/prerender/store.ts +32 -37
  183. package/src/prerender.ts +61 -6
  184. package/src/redirect-origin.ts +100 -0
  185. package/src/regex-escape.ts +8 -0
  186. package/src/render-error-thrower.tsx +20 -0
  187. package/src/response-utils.ts +62 -0
  188. package/src/reverse.ts +65 -39
  189. package/src/root-error-boundary.tsx +1 -19
  190. package/src/route-content-wrapper.tsx +7 -72
  191. package/src/route-definition/dsl-helpers.ts +287 -281
  192. package/src/route-definition/helper-factories.ts +29 -139
  193. package/src/route-definition/helpers-types.ts +46 -18
  194. package/src/route-definition/redirect.ts +44 -11
  195. package/src/route-definition/resolve-handler-use.ts +12 -0
  196. package/src/route-definition/use-item-types.ts +32 -0
  197. package/src/route-map-builder.ts +0 -16
  198. package/src/route-types.ts +19 -41
  199. package/src/router/basename.ts +14 -0
  200. package/src/router/content-negotiation.ts +73 -25
  201. package/src/router/error-handling.ts +45 -18
  202. package/src/router/find-match.ts +44 -23
  203. package/src/router/handler-context.ts +27 -42
  204. package/src/router/instrument.ts +350 -0
  205. package/src/router/intercept-resolution.ts +39 -20
  206. package/src/router/lazy-includes.ts +10 -47
  207. package/src/router/loader-resolution.ts +155 -72
  208. package/src/router/logging.ts +0 -6
  209. package/src/router/manifest.ts +18 -29
  210. package/src/router/match-api.ts +4 -23
  211. package/src/router/match-context.ts +0 -22
  212. package/src/router/match-handlers.ts +58 -58
  213. package/src/router/match-middleware/background-revalidation.ts +6 -7
  214. package/src/router/match-middleware/cache-lookup.ts +159 -285
  215. package/src/router/match-middleware/cache-store.ts +31 -34
  216. package/src/router/match-middleware/intercept-resolution.ts +0 -22
  217. package/src/router/match-middleware/segment-resolution.ts +0 -22
  218. package/src/router/match-pipelines.ts +1 -42
  219. package/src/router/match-result.ts +44 -74
  220. package/src/router/metrics.ts +0 -34
  221. package/src/router/middleware-types.ts +7 -134
  222. package/src/router/middleware.ts +266 -166
  223. package/src/router/navigation-snapshot.ts +0 -51
  224. package/src/router/params-util.ts +23 -0
  225. package/src/router/pattern-matching.ts +132 -90
  226. package/src/router/prefetch-cache-ttl.ts +51 -0
  227. package/src/router/prerender-match.ts +104 -65
  228. package/src/router/preview-match.ts +3 -1
  229. package/src/router/request-classification.ts +28 -62
  230. package/src/router/revalidation.ts +123 -73
  231. package/src/router/route-snapshot.ts +0 -1
  232. package/src/router/router-context.ts +3 -28
  233. package/src/router/router-interfaces.ts +83 -35
  234. package/src/router/router-options.ts +136 -5
  235. package/src/router/router-registry.ts +2 -5
  236. package/src/router/segment-resolution/fresh.ts +93 -84
  237. package/src/router/segment-resolution/helpers.ts +86 -6
  238. package/src/router/segment-resolution/loader-cache.ts +62 -37
  239. package/src/router/segment-resolution/revalidation.ts +269 -320
  240. package/src/router/segment-resolution/static-store.ts +19 -5
  241. package/src/router/segment-resolution/streamed-handler-telemetry.ts +52 -0
  242. package/src/router/segment-resolution/view-transition-default.ts +36 -0
  243. package/src/router/segment-resolution.ts +5 -1
  244. package/src/router/segment-wrappers.ts +6 -5
  245. package/src/router/state-cookie-name.ts +33 -0
  246. package/src/router/substitute-pattern-params.ts +56 -0
  247. package/src/router/telemetry-otel.ts +161 -199
  248. package/src/router/telemetry.ts +96 -19
  249. package/src/router/timeout.ts +0 -20
  250. package/src/router/tracing.ts +206 -0
  251. package/src/router/trie-matching.ts +163 -59
  252. package/src/router/types.ts +9 -63
  253. package/src/router/url-params.ts +44 -0
  254. package/src/router.ts +110 -55
  255. package/src/rsc/handler-context.ts +3 -2
  256. package/src/rsc/handler.ts +266 -219
  257. package/src/rsc/helpers.ts +168 -46
  258. package/src/rsc/index.ts +2 -5
  259. package/src/rsc/json-route-result.ts +38 -0
  260. package/src/rsc/loader-fetch.ts +114 -38
  261. package/src/rsc/manifest-init.ts +28 -41
  262. package/src/rsc/origin-guard.ts +39 -25
  263. package/src/rsc/progressive-enhancement.ts +63 -9
  264. package/src/rsc/redirect-guard.ts +99 -0
  265. package/src/rsc/response-cache-serve.ts +238 -0
  266. package/src/rsc/response-error.ts +79 -12
  267. package/src/rsc/response-route-handler.ts +99 -189
  268. package/src/rsc/rsc-rendering.ts +99 -75
  269. package/src/rsc/runtime-warnings.ts +23 -10
  270. package/src/rsc/server-action.ts +258 -115
  271. package/src/rsc/ssr-setup.ts +16 -0
  272. package/src/rsc/types.ts +23 -5
  273. package/src/runtime-env.ts +18 -0
  274. package/src/search-params.ts +35 -30
  275. package/src/segment-loader-promise.ts +31 -4
  276. package/src/segment-system.tsx +209 -143
  277. package/src/serialize.ts +243 -0
  278. package/src/server/context.ts +150 -51
  279. package/src/server/cookie-parse.ts +32 -0
  280. package/src/server/cookie-store.ts +80 -5
  281. package/src/server/handle-store.ts +21 -38
  282. package/src/server/loader-registry.ts +21 -42
  283. package/src/server/request-context.ts +235 -175
  284. package/src/ssr/index.tsx +21 -16
  285. package/src/static-handler.ts +10 -13
  286. package/src/testing/cache-status.ts +162 -0
  287. package/src/testing/collect-handle.ts +40 -0
  288. package/src/testing/dispatch.ts +701 -0
  289. package/src/testing/dom.entry.ts +22 -0
  290. package/src/testing/e2e/fixture.ts +188 -0
  291. package/src/testing/e2e/index.ts +128 -0
  292. package/src/testing/e2e/matchers.ts +35 -0
  293. package/src/testing/e2e/page-helpers.ts +272 -0
  294. package/src/testing/e2e/parity.ts +387 -0
  295. package/src/testing/e2e/server.ts +195 -0
  296. package/src/testing/flight-matchers.ts +97 -0
  297. package/src/testing/flight-normalize.ts +11 -0
  298. package/src/testing/flight-runtime.d.ts +57 -0
  299. package/src/testing/flight-tree.ts +682 -0
  300. package/src/testing/flight.entry.ts +52 -0
  301. package/src/testing/flight.ts +257 -0
  302. package/src/testing/generated-routes.ts +183 -0
  303. package/src/testing/index.ts +99 -0
  304. package/src/testing/internal/context.ts +371 -0
  305. package/src/testing/internal/flight-client-globals.ts +30 -0
  306. package/src/testing/internal/seed-vars.ts +54 -0
  307. package/src/testing/render-handler.ts +343 -0
  308. package/src/testing/render-route.tsx +581 -0
  309. package/src/testing/run-loader.ts +385 -0
  310. package/src/testing/run-middleware.ts +205 -0
  311. package/src/testing/vitest-stubs/cloudflare-email.ts +9 -0
  312. package/src/testing/vitest-stubs/cloudflare-workers.ts +21 -0
  313. package/src/testing/vitest-stubs/plugin-rsc.ts +16 -0
  314. package/src/testing/vitest-stubs/version.ts +5 -0
  315. package/src/testing/vitest.ts +305 -0
  316. package/src/theme/ThemeProvider.tsx +20 -58
  317. package/src/theme/ThemeScript.tsx +7 -9
  318. package/src/theme/constants.ts +52 -13
  319. package/src/theme/index.ts +0 -7
  320. package/src/theme/theme-context.ts +1 -5
  321. package/src/theme/theme-script.ts +22 -21
  322. package/src/theme/use-theme.ts +0 -3
  323. package/src/types/boundaries.ts +0 -35
  324. package/src/types/cache-types.ts +13 -4
  325. package/src/types/error-types.ts +30 -90
  326. package/src/types/global-namespace.ts +54 -41
  327. package/src/types/handler-context.ts +109 -61
  328. package/src/types/index.ts +1 -10
  329. package/src/types/loader-types.ts +11 -9
  330. package/src/types/request-scope.ts +112 -0
  331. package/src/types/route-config.ts +6 -50
  332. package/src/types/route-entry.ts +0 -6
  333. package/src/types/segments.ts +35 -14
  334. package/src/urls/include-helper.ts +9 -56
  335. package/src/urls/index.ts +1 -11
  336. package/src/urls/path-helper-types.ts +19 -5
  337. package/src/urls/path-helper.ts +17 -106
  338. package/src/urls/pattern-types.ts +36 -19
  339. package/src/urls/response-types.ts +22 -29
  340. package/src/urls/type-extraction.ts +58 -139
  341. package/src/urls/urls-function.ts +1 -18
  342. package/src/use-loader.tsx +292 -107
  343. package/src/vite/debug.ts +185 -0
  344. package/src/vite/discovery/bundle-postprocess.ts +8 -7
  345. package/src/vite/discovery/discover-routers.ts +126 -85
  346. package/src/vite/discovery/discovery-errors.ts +194 -0
  347. package/src/vite/discovery/gate-state.ts +171 -0
  348. package/src/vite/discovery/prerender-collection.ts +96 -68
  349. package/src/vite/discovery/route-types-writer.ts +40 -84
  350. package/src/vite/discovery/self-gen-tracking.ts +27 -1
  351. package/src/vite/discovery/state.ts +44 -0
  352. package/src/vite/discovery/virtual-module-codegen.ts +14 -34
  353. package/src/vite/index.ts +2 -0
  354. package/src/vite/inject-client-debug.ts +36 -0
  355. package/src/vite/plugin-types.ts +126 -8
  356. package/src/vite/plugins/cjs-to-esm.ts +16 -19
  357. package/src/vite/plugins/client-ref-dedup.ts +16 -11
  358. package/src/vite/plugins/client-ref-hashing.ts +28 -15
  359. package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
  360. package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  361. package/src/vite/plugins/cloudflare-protocol-stub.ts +194 -0
  362. package/src/vite/plugins/expose-action-id.ts +48 -95
  363. package/src/vite/plugins/expose-id-utils.ts +88 -55
  364. package/src/vite/plugins/expose-ids/export-analysis.ts +101 -34
  365. package/src/vite/plugins/expose-ids/handler-transform.ts +11 -90
  366. package/src/vite/plugins/expose-ids/loader-transform.ts +14 -24
  367. package/src/vite/plugins/expose-ids/router-transform.ts +118 -29
  368. package/src/vite/plugins/expose-internal-ids.ts +505 -486
  369. package/src/vite/plugins/performance-tracks.ts +26 -25
  370. package/src/vite/plugins/refresh-cmd.ts +1 -1
  371. package/src/vite/plugins/use-cache-transform.ts +73 -83
  372. package/src/vite/plugins/version-injector.ts +21 -25
  373. package/src/vite/plugins/version-plugin.ts +37 -40
  374. package/src/vite/plugins/virtual-entries.ts +13 -18
  375. package/src/vite/rango.ts +109 -118
  376. package/src/vite/router-discovery.ts +777 -119
  377. package/src/vite/utils/ast-handler-extract.ts +26 -35
  378. package/src/vite/utils/banner.ts +1 -1
  379. package/src/vite/utils/bundle-analysis.ts +10 -15
  380. package/src/vite/utils/client-chunks.ts +184 -0
  381. package/src/vite/utils/directive-prologue.ts +40 -0
  382. package/src/vite/utils/forward-user-plugins.ts +171 -0
  383. package/src/vite/utils/manifest-utils.ts +4 -59
  384. package/src/vite/utils/package-resolution.ts +20 -52
  385. package/src/vite/utils/prerender-utils.ts +54 -39
  386. package/src/vite/utils/shared-utils.ts +90 -41
  387. package/dist/__internal.d.ts +0 -83
  388. package/dist/__internal.d.ts.map +0 -1
  389. package/dist/__internal.js +0 -19
  390. package/dist/__internal.js.map +0 -1
  391. package/dist/__mocks__/version.d.ts +0 -7
  392. package/dist/__mocks__/version.d.ts.map +0 -1
  393. package/dist/__mocks__/version.js +0 -7
  394. package/dist/__mocks__/version.js.map +0 -1
  395. package/dist/__tests__/client-href.test.d.ts +0 -2
  396. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  397. package/dist/__tests__/client-href.test.js +0 -74
  398. package/dist/__tests__/client-href.test.js.map +0 -1
  399. package/dist/__tests__/component-utils.test.d.ts +0 -2
  400. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  401. package/dist/__tests__/component-utils.test.js +0 -51
  402. package/dist/__tests__/component-utils.test.js.map +0 -1
  403. package/dist/__tests__/event-controller.test.d.ts +0 -2
  404. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  405. package/dist/__tests__/event-controller.test.js +0 -538
  406. package/dist/__tests__/event-controller.test.js.map +0 -1
  407. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  408. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  409. package/dist/__tests__/helpers/route-tree.js +0 -374
  410. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  411. package/dist/__tests__/match-result.test.d.ts +0 -2
  412. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  413. package/dist/__tests__/match-result.test.js +0 -154
  414. package/dist/__tests__/match-result.test.js.map +0 -1
  415. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  416. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  417. package/dist/__tests__/navigation-store.test.js +0 -440
  418. package/dist/__tests__/navigation-store.test.js.map +0 -1
  419. package/dist/__tests__/partial-update.test.d.ts +0 -2
  420. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  421. package/dist/__tests__/partial-update.test.js +0 -1009
  422. package/dist/__tests__/partial-update.test.js.map +0 -1
  423. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  424. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  425. package/dist/__tests__/reverse-types.test.js +0 -656
  426. package/dist/__tests__/reverse-types.test.js.map +0 -1
  427. package/dist/__tests__/route-definition.test.d.ts +0 -2
  428. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  429. package/dist/__tests__/route-definition.test.js +0 -55
  430. package/dist/__tests__/route-definition.test.js.map +0 -1
  431. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  432. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  433. package/dist/__tests__/router-helpers.test.js +0 -377
  434. package/dist/__tests__/router-helpers.test.js.map +0 -1
  435. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  436. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  437. package/dist/__tests__/router-integration-2.test.js +0 -426
  438. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  439. package/dist/__tests__/router-integration.test.d.ts +0 -2
  440. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  441. package/dist/__tests__/router-integration.test.js +0 -1051
  442. package/dist/__tests__/router-integration.test.js.map +0 -1
  443. package/dist/__tests__/search-params.test.d.ts +0 -5
  444. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  445. package/dist/__tests__/search-params.test.js +0 -306
  446. package/dist/__tests__/search-params.test.js.map +0 -1
  447. package/dist/__tests__/segment-system.test.d.ts +0 -2
  448. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  449. package/dist/__tests__/segment-system.test.js +0 -627
  450. package/dist/__tests__/segment-system.test.js.map +0 -1
  451. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  452. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  453. package/dist/__tests__/static-handler-types.test.js +0 -63
  454. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  455. package/dist/__tests__/urls.test.d.ts +0 -2
  456. package/dist/__tests__/urls.test.d.ts.map +0 -1
  457. package/dist/__tests__/urls.test.js +0 -421
  458. package/dist/__tests__/urls.test.js.map +0 -1
  459. package/dist/__tests__/use-mount.test.d.ts +0 -2
  460. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  461. package/dist/__tests__/use-mount.test.js +0 -35
  462. package/dist/__tests__/use-mount.test.js.map +0 -1
  463. package/dist/bin/rango.d.ts +0 -2
  464. package/dist/bin/rango.d.ts.map +0 -1
  465. package/dist/bin/rango.js.map +0 -1
  466. package/dist/browser/event-controller.d.ts +0 -191
  467. package/dist/browser/event-controller.d.ts.map +0 -1
  468. package/dist/browser/event-controller.js +0 -559
  469. package/dist/browser/event-controller.js.map +0 -1
  470. package/dist/browser/index.d.ts +0 -2
  471. package/dist/browser/index.d.ts.map +0 -1
  472. package/dist/browser/index.js +0 -14
  473. package/dist/browser/index.js.map +0 -1
  474. package/dist/browser/link-interceptor.d.ts +0 -38
  475. package/dist/browser/link-interceptor.d.ts.map +0 -1
  476. package/dist/browser/link-interceptor.js +0 -99
  477. package/dist/browser/link-interceptor.js.map +0 -1
  478. package/dist/browser/logging.d.ts +0 -10
  479. package/dist/browser/logging.d.ts.map +0 -1
  480. package/dist/browser/logging.js +0 -29
  481. package/dist/browser/logging.js.map +0 -1
  482. package/dist/browser/lru-cache.d.ts +0 -17
  483. package/dist/browser/lru-cache.d.ts.map +0 -1
  484. package/dist/browser/lru-cache.js +0 -50
  485. package/dist/browser/lru-cache.js.map +0 -1
  486. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  487. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  488. package/dist/browser/merge-segment-loaders.js +0 -102
  489. package/dist/browser/merge-segment-loaders.js.map +0 -1
  490. package/dist/browser/navigation-bridge.d.ts +0 -102
  491. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  492. package/dist/browser/navigation-bridge.js +0 -708
  493. package/dist/browser/navigation-bridge.js.map +0 -1
  494. package/dist/browser/navigation-client.d.ts +0 -25
  495. package/dist/browser/navigation-client.d.ts.map +0 -1
  496. package/dist/browser/navigation-client.js +0 -157
  497. package/dist/browser/navigation-client.js.map +0 -1
  498. package/dist/browser/navigation-store.d.ts +0 -101
  499. package/dist/browser/navigation-store.d.ts.map +0 -1
  500. package/dist/browser/navigation-store.js +0 -625
  501. package/dist/browser/navigation-store.js.map +0 -1
  502. package/dist/browser/partial-update.d.ts +0 -75
  503. package/dist/browser/partial-update.d.ts.map +0 -1
  504. package/dist/browser/partial-update.js +0 -426
  505. package/dist/browser/partial-update.js.map +0 -1
  506. package/dist/browser/react/Link.d.ts +0 -86
  507. package/dist/browser/react/Link.d.ts.map +0 -1
  508. package/dist/browser/react/Link.js +0 -128
  509. package/dist/browser/react/Link.js.map +0 -1
  510. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  511. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  512. package/dist/browser/react/NavigationProvider.js +0 -216
  513. package/dist/browser/react/NavigationProvider.js.map +0 -1
  514. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  515. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  516. package/dist/browser/react/ScrollRestoration.js +0 -57
  517. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  518. package/dist/browser/react/context.d.ts +0 -46
  519. package/dist/browser/react/context.d.ts.map +0 -1
  520. package/dist/browser/react/context.js +0 -10
  521. package/dist/browser/react/context.js.map +0 -1
  522. package/dist/browser/react/index.d.ts +0 -11
  523. package/dist/browser/react/index.d.ts.map +0 -1
  524. package/dist/browser/react/index.js +0 -22
  525. package/dist/browser/react/index.js.map +0 -1
  526. package/dist/browser/react/location-state-shared.d.ts +0 -63
  527. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  528. package/dist/browser/react/location-state-shared.js +0 -81
  529. package/dist/browser/react/location-state-shared.js.map +0 -1
  530. package/dist/browser/react/location-state.d.ts +0 -23
  531. package/dist/browser/react/location-state.d.ts.map +0 -1
  532. package/dist/browser/react/location-state.js +0 -29
  533. package/dist/browser/react/location-state.js.map +0 -1
  534. package/dist/browser/react/mount-context.d.ts +0 -24
  535. package/dist/browser/react/mount-context.d.ts.map +0 -1
  536. package/dist/browser/react/mount-context.js +0 -24
  537. package/dist/browser/react/mount-context.js.map +0 -1
  538. package/dist/browser/react/use-action.d.ts +0 -64
  539. package/dist/browser/react/use-action.d.ts.map +0 -1
  540. package/dist/browser/react/use-action.js +0 -134
  541. package/dist/browser/react/use-action.js.map +0 -1
  542. package/dist/browser/react/use-client-cache.d.ts +0 -41
  543. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  544. package/dist/browser/react/use-client-cache.js +0 -39
  545. package/dist/browser/react/use-client-cache.js.map +0 -1
  546. package/dist/browser/react/use-handle.d.ts +0 -31
  547. package/dist/browser/react/use-handle.d.ts.map +0 -1
  548. package/dist/browser/react/use-handle.js +0 -144
  549. package/dist/browser/react/use-handle.js.map +0 -1
  550. package/dist/browser/react/use-href.d.ts +0 -33
  551. package/dist/browser/react/use-href.d.ts.map +0 -1
  552. package/dist/browser/react/use-href.js +0 -39
  553. package/dist/browser/react/use-href.js.map +0 -1
  554. package/dist/browser/react/use-link-status.d.ts +0 -37
  555. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  556. package/dist/browser/react/use-link-status.js +0 -99
  557. package/dist/browser/react/use-link-status.js.map +0 -1
  558. package/dist/browser/react/use-mount.d.ts +0 -25
  559. package/dist/browser/react/use-mount.d.ts.map +0 -1
  560. package/dist/browser/react/use-mount.js +0 -30
  561. package/dist/browser/react/use-mount.js.map +0 -1
  562. package/dist/browser/react/use-navigation.d.ts +0 -27
  563. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  564. package/dist/browser/react/use-navigation.js +0 -87
  565. package/dist/browser/react/use-navigation.js.map +0 -1
  566. package/dist/browser/react/use-segments.d.ts +0 -38
  567. package/dist/browser/react/use-segments.d.ts.map +0 -1
  568. package/dist/browser/react/use-segments.js +0 -130
  569. package/dist/browser/react/use-segments.js.map +0 -1
  570. package/dist/browser/request-controller.d.ts +0 -26
  571. package/dist/browser/request-controller.d.ts.map +0 -1
  572. package/dist/browser/request-controller.js +0 -147
  573. package/dist/browser/request-controller.js.map +0 -1
  574. package/dist/browser/rsc-router.d.ts +0 -129
  575. package/dist/browser/rsc-router.d.ts.map +0 -1
  576. package/dist/browser/rsc-router.js +0 -195
  577. package/dist/browser/rsc-router.js.map +0 -1
  578. package/dist/browser/scroll-restoration.d.ts +0 -93
  579. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  580. package/dist/browser/scroll-restoration.js +0 -321
  581. package/dist/browser/scroll-restoration.js.map +0 -1
  582. package/dist/browser/segment-structure-assert.d.ts +0 -17
  583. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  584. package/dist/browser/segment-structure-assert.js +0 -59
  585. package/dist/browser/segment-structure-assert.js.map +0 -1
  586. package/dist/browser/server-action-bridge.d.ts +0 -26
  587. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  588. package/dist/browser/server-action-bridge.js +0 -668
  589. package/dist/browser/server-action-bridge.js.map +0 -1
  590. package/dist/browser/shallow.d.ts +0 -12
  591. package/dist/browser/shallow.d.ts.map +0 -1
  592. package/dist/browser/shallow.js +0 -34
  593. package/dist/browser/shallow.js.map +0 -1
  594. package/dist/browser/types.d.ts +0 -369
  595. package/dist/browser/types.d.ts.map +0 -1
  596. package/dist/browser/types.js +0 -2
  597. package/dist/browser/types.js.map +0 -1
  598. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  599. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  600. package/dist/build/__tests__/generate-cli.test.js +0 -237
  601. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  602. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  603. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  604. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  605. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  606. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  607. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  608. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  609. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  610. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  611. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  612. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  613. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  614. package/dist/build/generate-manifest.d.ts +0 -81
  615. package/dist/build/generate-manifest.d.ts.map +0 -1
  616. package/dist/build/generate-manifest.js +0 -276
  617. package/dist/build/generate-manifest.js.map +0 -1
  618. package/dist/build/generate-route-types.d.ts +0 -115
  619. package/dist/build/generate-route-types.d.ts.map +0 -1
  620. package/dist/build/generate-route-types.js +0 -740
  621. package/dist/build/generate-route-types.js.map +0 -1
  622. package/dist/build/index.d.ts +0 -21
  623. package/dist/build/index.d.ts.map +0 -1
  624. package/dist/build/index.js +0 -21
  625. package/dist/build/index.js.map +0 -1
  626. package/dist/build/route-trie.d.ts +0 -71
  627. package/dist/build/route-trie.d.ts.map +0 -1
  628. package/dist/build/route-trie.js +0 -175
  629. package/dist/build/route-trie.js.map +0 -1
  630. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  631. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  632. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  633. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  634. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  635. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  636. package/dist/cache/__tests__/document-cache.test.js +0 -345
  637. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  638. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  639. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  640. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  641. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  642. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  643. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  644. package/dist/cache/__tests__/memory-store.test.js +0 -367
  645. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  646. package/dist/cache/cache-scope.d.ts +0 -102
  647. package/dist/cache/cache-scope.d.ts.map +0 -1
  648. package/dist/cache/cache-scope.js +0 -440
  649. package/dist/cache/cache-scope.js.map +0 -1
  650. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  651. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  652. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  653. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  654. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  655. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  656. package/dist/cache/cf/cf-cache-store.js +0 -242
  657. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  658. package/dist/cache/cf/index.d.ts +0 -14
  659. package/dist/cache/cf/index.d.ts.map +0 -1
  660. package/dist/cache/cf/index.js +0 -17
  661. package/dist/cache/cf/index.js.map +0 -1
  662. package/dist/cache/document-cache.d.ts +0 -64
  663. package/dist/cache/document-cache.d.ts.map +0 -1
  664. package/dist/cache/document-cache.js +0 -228
  665. package/dist/cache/document-cache.js.map +0 -1
  666. package/dist/cache/index.d.ts +0 -19
  667. package/dist/cache/index.d.ts.map +0 -1
  668. package/dist/cache/index.js +0 -21
  669. package/dist/cache/index.js.map +0 -1
  670. package/dist/cache/memory-segment-store.d.ts +0 -110
  671. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  672. package/dist/cache/memory-segment-store.js +0 -117
  673. package/dist/cache/memory-segment-store.js.map +0 -1
  674. package/dist/cache/memory-store.d.ts +0 -41
  675. package/dist/cache/memory-store.d.ts.map +0 -1
  676. package/dist/cache/memory-store.js +0 -191
  677. package/dist/cache/memory-store.js.map +0 -1
  678. package/dist/cache/types.d.ts +0 -317
  679. package/dist/cache/types.d.ts.map +0 -1
  680. package/dist/cache/types.js +0 -12
  681. package/dist/cache/types.js.map +0 -1
  682. package/dist/client.d.ts +0 -248
  683. package/dist/client.d.ts.map +0 -1
  684. package/dist/client.js +0 -367
  685. package/dist/client.js.map +0 -1
  686. package/dist/client.rsc.d.ts +0 -26
  687. package/dist/client.rsc.d.ts.map +0 -1
  688. package/dist/client.rsc.js +0 -46
  689. package/dist/client.rsc.js.map +0 -1
  690. package/dist/component-utils.d.ts +0 -36
  691. package/dist/component-utils.d.ts.map +0 -1
  692. package/dist/component-utils.js +0 -61
  693. package/dist/component-utils.js.map +0 -1
  694. package/dist/components/DefaultDocument.d.ts +0 -13
  695. package/dist/components/DefaultDocument.d.ts.map +0 -1
  696. package/dist/components/DefaultDocument.js +0 -15
  697. package/dist/components/DefaultDocument.js.map +0 -1
  698. package/dist/debug.d.ts +0 -58
  699. package/dist/debug.d.ts.map +0 -1
  700. package/dist/debug.js +0 -157
  701. package/dist/debug.js.map +0 -1
  702. package/dist/default-error-boundary.d.ts +0 -11
  703. package/dist/default-error-boundary.d.ts.map +0 -1
  704. package/dist/default-error-boundary.js +0 -45
  705. package/dist/default-error-boundary.js.map +0 -1
  706. package/dist/deps/browser.d.ts +0 -2
  707. package/dist/deps/browser.d.ts.map +0 -1
  708. package/dist/deps/browser.js +0 -3
  709. package/dist/deps/browser.js.map +0 -1
  710. package/dist/deps/html-stream-client.d.ts +0 -2
  711. package/dist/deps/html-stream-client.d.ts.map +0 -1
  712. package/dist/deps/html-stream-client.js +0 -3
  713. package/dist/deps/html-stream-client.js.map +0 -1
  714. package/dist/deps/html-stream-server.d.ts +0 -2
  715. package/dist/deps/html-stream-server.d.ts.map +0 -1
  716. package/dist/deps/html-stream-server.js +0 -3
  717. package/dist/deps/html-stream-server.js.map +0 -1
  718. package/dist/deps/rsc.d.ts +0 -2
  719. package/dist/deps/rsc.d.ts.map +0 -1
  720. package/dist/deps/rsc.js +0 -4
  721. package/dist/deps/rsc.js.map +0 -1
  722. package/dist/deps/ssr.d.ts +0 -2
  723. package/dist/deps/ssr.d.ts.map +0 -1
  724. package/dist/deps/ssr.js +0 -3
  725. package/dist/deps/ssr.js.map +0 -1
  726. package/dist/errors.d.ts +0 -174
  727. package/dist/errors.d.ts.map +0 -1
  728. package/dist/errors.js +0 -241
  729. package/dist/errors.js.map +0 -1
  730. package/dist/handle.d.ts +0 -78
  731. package/dist/handle.d.ts.map +0 -1
  732. package/dist/handle.js +0 -82
  733. package/dist/handle.js.map +0 -1
  734. package/dist/handles/MetaTags.d.ts +0 -14
  735. package/dist/handles/MetaTags.d.ts.map +0 -1
  736. package/dist/handles/MetaTags.js +0 -136
  737. package/dist/handles/MetaTags.js.map +0 -1
  738. package/dist/handles/index.d.ts +0 -6
  739. package/dist/handles/index.d.ts.map +0 -1
  740. package/dist/handles/index.js +0 -6
  741. package/dist/handles/index.js.map +0 -1
  742. package/dist/handles/meta.d.ts +0 -39
  743. package/dist/handles/meta.d.ts.map +0 -1
  744. package/dist/handles/meta.js +0 -202
  745. package/dist/handles/meta.js.map +0 -1
  746. package/dist/host/__tests__/errors.test.d.ts +0 -2
  747. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  748. package/dist/host/__tests__/errors.test.js +0 -76
  749. package/dist/host/__tests__/errors.test.js.map +0 -1
  750. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  751. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  752. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  753. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  754. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  755. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  756. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  757. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  758. package/dist/host/__tests__/router.test.d.ts +0 -2
  759. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  760. package/dist/host/__tests__/router.test.js +0 -241
  761. package/dist/host/__tests__/router.test.js.map +0 -1
  762. package/dist/host/__tests__/testing.test.d.ts +0 -2
  763. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  764. package/dist/host/__tests__/testing.test.js +0 -64
  765. package/dist/host/__tests__/testing.test.js.map +0 -1
  766. package/dist/host/__tests__/utils.test.d.ts +0 -2
  767. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  768. package/dist/host/__tests__/utils.test.js +0 -29
  769. package/dist/host/__tests__/utils.test.js.map +0 -1
  770. package/dist/host/cookie-handler.d.ts +0 -34
  771. package/dist/host/cookie-handler.d.ts.map +0 -1
  772. package/dist/host/cookie-handler.js +0 -124
  773. package/dist/host/cookie-handler.js.map +0 -1
  774. package/dist/host/errors.d.ts +0 -56
  775. package/dist/host/errors.d.ts.map +0 -1
  776. package/dist/host/errors.js +0 -79
  777. package/dist/host/errors.js.map +0 -1
  778. package/dist/host/index.d.ts +0 -29
  779. package/dist/host/index.d.ts.map +0 -1
  780. package/dist/host/index.js +0 -32
  781. package/dist/host/index.js.map +0 -1
  782. package/dist/host/pattern-matcher.d.ts +0 -36
  783. package/dist/host/pattern-matcher.d.ts.map +0 -1
  784. package/dist/host/pattern-matcher.js +0 -172
  785. package/dist/host/pattern-matcher.js.map +0 -1
  786. package/dist/host/router.d.ts +0 -26
  787. package/dist/host/router.d.ts.map +0 -1
  788. package/dist/host/router.js +0 -218
  789. package/dist/host/router.js.map +0 -1
  790. package/dist/host/testing.d.ts +0 -36
  791. package/dist/host/testing.d.ts.map +0 -1
  792. package/dist/host/testing.js +0 -55
  793. package/dist/host/testing.js.map +0 -1
  794. package/dist/host/types.d.ts +0 -115
  795. package/dist/host/types.d.ts.map +0 -1
  796. package/dist/host/types.js +0 -7
  797. package/dist/host/types.js.map +0 -1
  798. package/dist/host/utils.d.ts +0 -21
  799. package/dist/host/utils.d.ts.map +0 -1
  800. package/dist/host/utils.js +0 -23
  801. package/dist/host/utils.js.map +0 -1
  802. package/dist/href-client.d.ts +0 -131
  803. package/dist/href-client.d.ts.map +0 -1
  804. package/dist/href-client.js +0 -64
  805. package/dist/href-client.js.map +0 -1
  806. package/dist/href-context.d.ts +0 -29
  807. package/dist/href-context.d.ts.map +0 -1
  808. package/dist/href-context.js +0 -21
  809. package/dist/href-context.js.map +0 -1
  810. package/dist/index.d.ts +0 -73
  811. package/dist/index.d.ts.map +0 -1
  812. package/dist/index.js +0 -91
  813. package/dist/index.js.map +0 -1
  814. package/dist/index.rsc.d.ts +0 -32
  815. package/dist/index.rsc.d.ts.map +0 -1
  816. package/dist/index.rsc.js +0 -40
  817. package/dist/index.rsc.js.map +0 -1
  818. package/dist/internal-debug.d.ts +0 -2
  819. package/dist/internal-debug.d.ts.map +0 -1
  820. package/dist/internal-debug.js +0 -5
  821. package/dist/internal-debug.js.map +0 -1
  822. package/dist/loader.d.ts +0 -14
  823. package/dist/loader.d.ts.map +0 -1
  824. package/dist/loader.js +0 -20
  825. package/dist/loader.js.map +0 -1
  826. package/dist/loader.rsc.d.ts +0 -19
  827. package/dist/loader.rsc.d.ts.map +0 -1
  828. package/dist/loader.rsc.js +0 -99
  829. package/dist/loader.rsc.js.map +0 -1
  830. package/dist/network-error-thrower.d.ts +0 -17
  831. package/dist/network-error-thrower.d.ts.map +0 -1
  832. package/dist/network-error-thrower.js +0 -14
  833. package/dist/network-error-thrower.js.map +0 -1
  834. package/dist/outlet-context.d.ts +0 -13
  835. package/dist/outlet-context.d.ts.map +0 -1
  836. package/dist/outlet-context.js +0 -3
  837. package/dist/outlet-context.js.map +0 -1
  838. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  839. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  840. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  841. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  842. package/dist/prerender/param-hash.d.ts +0 -16
  843. package/dist/prerender/param-hash.d.ts.map +0 -1
  844. package/dist/prerender/param-hash.js +0 -36
  845. package/dist/prerender/param-hash.js.map +0 -1
  846. package/dist/prerender/store.d.ts +0 -38
  847. package/dist/prerender/store.d.ts.map +0 -1
  848. package/dist/prerender/store.js +0 -61
  849. package/dist/prerender/store.js.map +0 -1
  850. package/dist/prerender.d.ts +0 -66
  851. package/dist/prerender.d.ts.map +0 -1
  852. package/dist/prerender.js +0 -57
  853. package/dist/prerender.js.map +0 -1
  854. package/dist/reverse.d.ts +0 -196
  855. package/dist/reverse.d.ts.map +0 -1
  856. package/dist/reverse.js +0 -78
  857. package/dist/reverse.js.map +0 -1
  858. package/dist/root-error-boundary.d.ts +0 -33
  859. package/dist/root-error-boundary.d.ts.map +0 -1
  860. package/dist/root-error-boundary.js +0 -165
  861. package/dist/root-error-boundary.js.map +0 -1
  862. package/dist/route-content-wrapper.d.ts +0 -46
  863. package/dist/route-content-wrapper.d.ts.map +0 -1
  864. package/dist/route-content-wrapper.js +0 -77
  865. package/dist/route-content-wrapper.js.map +0 -1
  866. package/dist/route-definition.d.ts +0 -421
  867. package/dist/route-definition.d.ts.map +0 -1
  868. package/dist/route-definition.js +0 -868
  869. package/dist/route-definition.js.map +0 -1
  870. package/dist/route-map-builder.d.ts +0 -155
  871. package/dist/route-map-builder.d.ts.map +0 -1
  872. package/dist/route-map-builder.js +0 -237
  873. package/dist/route-map-builder.js.map +0 -1
  874. package/dist/route-types.d.ts +0 -165
  875. package/dist/route-types.d.ts.map +0 -1
  876. package/dist/route-types.js +0 -7
  877. package/dist/route-types.js.map +0 -1
  878. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  879. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  880. package/dist/router/__tests__/handler-context.test.js +0 -65
  881. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  882. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  883. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  884. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  885. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  886. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  887. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  888. package/dist/router/__tests__/match-context.test.js +0 -92
  889. package/dist/router/__tests__/match-context.test.js.map +0 -1
  890. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  891. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  892. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  893. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  894. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  895. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  896. package/dist/router/__tests__/match-result.test.js +0 -457
  897. package/dist/router/__tests__/match-result.test.js.map +0 -1
  898. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  899. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  900. package/dist/router/__tests__/on-error.test.js +0 -678
  901. package/dist/router/__tests__/on-error.test.js.map +0 -1
  902. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  903. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  904. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  905. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  906. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  907. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  908. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  909. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  910. package/dist/router/error-handling.d.ts +0 -77
  911. package/dist/router/error-handling.d.ts.map +0 -1
  912. package/dist/router/error-handling.js +0 -202
  913. package/dist/router/error-handling.js.map +0 -1
  914. package/dist/router/handler-context.d.ts +0 -20
  915. package/dist/router/handler-context.d.ts.map +0 -1
  916. package/dist/router/handler-context.js +0 -198
  917. package/dist/router/handler-context.js.map +0 -1
  918. package/dist/router/intercept-resolution.d.ts +0 -66
  919. package/dist/router/intercept-resolution.d.ts.map +0 -1
  920. package/dist/router/intercept-resolution.js +0 -246
  921. package/dist/router/intercept-resolution.js.map +0 -1
  922. package/dist/router/loader-resolution.d.ts +0 -64
  923. package/dist/router/loader-resolution.d.ts.map +0 -1
  924. package/dist/router/loader-resolution.js +0 -284
  925. package/dist/router/loader-resolution.js.map +0 -1
  926. package/dist/router/logging.d.ts +0 -15
  927. package/dist/router/logging.d.ts.map +0 -1
  928. package/dist/router/logging.js +0 -99
  929. package/dist/router/logging.js.map +0 -1
  930. package/dist/router/manifest.d.ts +0 -22
  931. package/dist/router/manifest.d.ts.map +0 -1
  932. package/dist/router/manifest.js +0 -181
  933. package/dist/router/manifest.js.map +0 -1
  934. package/dist/router/match-api.d.ts +0 -35
  935. package/dist/router/match-api.d.ts.map +0 -1
  936. package/dist/router/match-api.js +0 -406
  937. package/dist/router/match-api.js.map +0 -1
  938. package/dist/router/match-context.d.ts +0 -206
  939. package/dist/router/match-context.d.ts.map +0 -1
  940. package/dist/router/match-context.js +0 -17
  941. package/dist/router/match-context.js.map +0 -1
  942. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  943. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  944. package/dist/router/match-middleware/background-revalidation.js +0 -75
  945. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  946. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  947. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  948. package/dist/router/match-middleware/cache-lookup.js +0 -257
  949. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  950. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  951. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  952. package/dist/router/match-middleware/cache-store.js +0 -108
  953. package/dist/router/match-middleware/cache-store.js.map +0 -1
  954. package/dist/router/match-middleware/index.d.ts +0 -81
  955. package/dist/router/match-middleware/index.d.ts.map +0 -1
  956. package/dist/router/match-middleware/index.js +0 -80
  957. package/dist/router/match-middleware/index.js.map +0 -1
  958. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  959. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  960. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  961. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  962. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  963. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  964. package/dist/router/match-middleware/segment-resolution.js +0 -53
  965. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  966. package/dist/router/match-pipelines.d.ts +0 -147
  967. package/dist/router/match-pipelines.d.ts.map +0 -1
  968. package/dist/router/match-pipelines.js +0 -82
  969. package/dist/router/match-pipelines.js.map +0 -1
  970. package/dist/router/match-result.d.ts +0 -126
  971. package/dist/router/match-result.d.ts.map +0 -1
  972. package/dist/router/match-result.js +0 -93
  973. package/dist/router/match-result.js.map +0 -1
  974. package/dist/router/metrics.d.ts +0 -20
  975. package/dist/router/metrics.d.ts.map +0 -1
  976. package/dist/router/metrics.js +0 -47
  977. package/dist/router/metrics.js.map +0 -1
  978. package/dist/router/middleware.d.ts +0 -249
  979. package/dist/router/middleware.d.ts.map +0 -1
  980. package/dist/router/middleware.js +0 -434
  981. package/dist/router/middleware.js.map +0 -1
  982. package/dist/router/middleware.test.d.ts +0 -2
  983. package/dist/router/middleware.test.d.ts.map +0 -1
  984. package/dist/router/middleware.test.js +0 -816
  985. package/dist/router/middleware.test.js.map +0 -1
  986. package/dist/router/pattern-matching.d.ts +0 -149
  987. package/dist/router/pattern-matching.d.ts.map +0 -1
  988. package/dist/router/pattern-matching.js +0 -349
  989. package/dist/router/pattern-matching.js.map +0 -1
  990. package/dist/router/revalidation.d.ts +0 -44
  991. package/dist/router/revalidation.d.ts.map +0 -1
  992. package/dist/router/revalidation.js +0 -147
  993. package/dist/router/revalidation.js.map +0 -1
  994. package/dist/router/router-context.d.ts +0 -135
  995. package/dist/router/router-context.d.ts.map +0 -1
  996. package/dist/router/router-context.js +0 -36
  997. package/dist/router/router-context.js.map +0 -1
  998. package/dist/router/segment-resolution.d.ts +0 -127
  999. package/dist/router/segment-resolution.d.ts.map +0 -1
  1000. package/dist/router/segment-resolution.js +0 -919
  1001. package/dist/router/segment-resolution.js.map +0 -1
  1002. package/dist/router/trie-matching.d.ts +0 -40
  1003. package/dist/router/trie-matching.d.ts.map +0 -1
  1004. package/dist/router/trie-matching.js +0 -127
  1005. package/dist/router/trie-matching.js.map +0 -1
  1006. package/dist/router/types.d.ts +0 -136
  1007. package/dist/router/types.d.ts.map +0 -1
  1008. package/dist/router/types.js +0 -7
  1009. package/dist/router/types.js.map +0 -1
  1010. package/dist/router.d.ts +0 -753
  1011. package/dist/router.d.ts.map +0 -1
  1012. package/dist/router.gen.d.ts +0 -6
  1013. package/dist/router.gen.d.ts.map +0 -1
  1014. package/dist/router.gen.js +0 -6
  1015. package/dist/router.gen.js.map +0 -1
  1016. package/dist/router.js +0 -1304
  1017. package/dist/router.js.map +0 -1
  1018. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  1019. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  1020. package/dist/rsc/__tests__/helpers.test.js +0 -140
  1021. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  1022. package/dist/rsc/handler.d.ts +0 -45
  1023. package/dist/rsc/handler.d.ts.map +0 -1
  1024. package/dist/rsc/handler.js +0 -1172
  1025. package/dist/rsc/handler.js.map +0 -1
  1026. package/dist/rsc/helpers.d.ts +0 -16
  1027. package/dist/rsc/helpers.d.ts.map +0 -1
  1028. package/dist/rsc/helpers.js +0 -55
  1029. package/dist/rsc/helpers.js.map +0 -1
  1030. package/dist/rsc/index.d.ts +0 -22
  1031. package/dist/rsc/index.d.ts.map +0 -1
  1032. package/dist/rsc/index.js +0 -23
  1033. package/dist/rsc/index.js.map +0 -1
  1034. package/dist/rsc/nonce.d.ts +0 -9
  1035. package/dist/rsc/nonce.d.ts.map +0 -1
  1036. package/dist/rsc/nonce.js +0 -18
  1037. package/dist/rsc/nonce.js.map +0 -1
  1038. package/dist/rsc/types.d.ts +0 -206
  1039. package/dist/rsc/types.d.ts.map +0 -1
  1040. package/dist/rsc/types.js +0 -8
  1041. package/dist/rsc/types.js.map +0 -1
  1042. package/dist/search-params.d.ts +0 -103
  1043. package/dist/search-params.d.ts.map +0 -1
  1044. package/dist/search-params.js +0 -74
  1045. package/dist/search-params.js.map +0 -1
  1046. package/dist/segment-system.d.ts +0 -75
  1047. package/dist/segment-system.d.ts.map +0 -1
  1048. package/dist/segment-system.js +0 -336
  1049. package/dist/segment-system.js.map +0 -1
  1050. package/dist/server/context.d.ts +0 -245
  1051. package/dist/server/context.d.ts.map +0 -1
  1052. package/dist/server/context.js +0 -197
  1053. package/dist/server/context.js.map +0 -1
  1054. package/dist/server/fetchable-loader-store.d.ts +0 -18
  1055. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  1056. package/dist/server/fetchable-loader-store.js +0 -18
  1057. package/dist/server/fetchable-loader-store.js.map +0 -1
  1058. package/dist/server/handle-store.d.ts +0 -85
  1059. package/dist/server/handle-store.d.ts.map +0 -1
  1060. package/dist/server/handle-store.js +0 -142
  1061. package/dist/server/handle-store.js.map +0 -1
  1062. package/dist/server/loader-registry.d.ts +0 -55
  1063. package/dist/server/loader-registry.d.ts.map +0 -1
  1064. package/dist/server/loader-registry.js +0 -132
  1065. package/dist/server/loader-registry.js.map +0 -1
  1066. package/dist/server/request-context.d.ts +0 -226
  1067. package/dist/server/request-context.d.ts.map +0 -1
  1068. package/dist/server/request-context.js +0 -290
  1069. package/dist/server/request-context.js.map +0 -1
  1070. package/dist/server/root-layout.d.ts +0 -4
  1071. package/dist/server/root-layout.d.ts.map +0 -1
  1072. package/dist/server/root-layout.js +0 -5
  1073. package/dist/server/root-layout.js.map +0 -1
  1074. package/dist/server.d.ts +0 -15
  1075. package/dist/server.d.ts.map +0 -1
  1076. package/dist/server.js +0 -20
  1077. package/dist/server.js.map +0 -1
  1078. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  1079. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  1080. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  1081. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  1082. package/dist/ssr/index.d.ts +0 -98
  1083. package/dist/ssr/index.d.ts.map +0 -1
  1084. package/dist/ssr/index.js +0 -158
  1085. package/dist/ssr/index.js.map +0 -1
  1086. package/dist/static-handler.d.ts +0 -50
  1087. package/dist/static-handler.d.ts.map +0 -1
  1088. package/dist/static-handler.gen.d.ts +0 -5
  1089. package/dist/static-handler.gen.d.ts.map +0 -1
  1090. package/dist/static-handler.gen.js +0 -5
  1091. package/dist/static-handler.gen.js.map +0 -1
  1092. package/dist/static-handler.js +0 -29
  1093. package/dist/static-handler.js.map +0 -1
  1094. package/dist/theme/ThemeProvider.d.ts +0 -20
  1095. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  1096. package/dist/theme/ThemeProvider.js +0 -240
  1097. package/dist/theme/ThemeProvider.js.map +0 -1
  1098. package/dist/theme/ThemeScript.d.ts +0 -48
  1099. package/dist/theme/ThemeScript.d.ts.map +0 -1
  1100. package/dist/theme/ThemeScript.js +0 -13
  1101. package/dist/theme/ThemeScript.js.map +0 -1
  1102. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  1103. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  1104. package/dist/theme/__tests__/theme.test.js +0 -103
  1105. package/dist/theme/__tests__/theme.test.js.map +0 -1
  1106. package/dist/theme/constants.d.ts +0 -29
  1107. package/dist/theme/constants.d.ts.map +0 -1
  1108. package/dist/theme/constants.js +0 -48
  1109. package/dist/theme/constants.js.map +0 -1
  1110. package/dist/theme/index.d.ts +0 -31
  1111. package/dist/theme/index.d.ts.map +0 -1
  1112. package/dist/theme/index.js +0 -36
  1113. package/dist/theme/index.js.map +0 -1
  1114. package/dist/theme/theme-context.d.ts +0 -40
  1115. package/dist/theme/theme-context.d.ts.map +0 -1
  1116. package/dist/theme/theme-context.js +0 -60
  1117. package/dist/theme/theme-context.js.map +0 -1
  1118. package/dist/theme/theme-script.d.ts +0 -27
  1119. package/dist/theme/theme-script.d.ts.map +0 -1
  1120. package/dist/theme/theme-script.js +0 -147
  1121. package/dist/theme/theme-script.js.map +0 -1
  1122. package/dist/theme/types.d.ts +0 -163
  1123. package/dist/theme/types.d.ts.map +0 -1
  1124. package/dist/theme/types.js +0 -11
  1125. package/dist/theme/types.js.map +0 -1
  1126. package/dist/theme/use-theme.d.ts +0 -12
  1127. package/dist/theme/use-theme.d.ts.map +0 -1
  1128. package/dist/theme/use-theme.js +0 -40
  1129. package/dist/theme/use-theme.js.map +0 -1
  1130. package/dist/types.d.ts +0 -1479
  1131. package/dist/types.d.ts.map +0 -1
  1132. package/dist/types.js +0 -10
  1133. package/dist/types.js.map +0 -1
  1134. package/dist/urls.d.ts +0 -441
  1135. package/dist/urls.d.ts.map +0 -1
  1136. package/dist/urls.gen.d.ts +0 -8
  1137. package/dist/urls.gen.d.ts.map +0 -1
  1138. package/dist/urls.gen.js +0 -8
  1139. package/dist/urls.gen.js.map +0 -1
  1140. package/dist/urls.js +0 -443
  1141. package/dist/urls.js.map +0 -1
  1142. package/dist/use-loader.d.ts +0 -127
  1143. package/dist/use-loader.d.ts.map +0 -1
  1144. package/dist/use-loader.js +0 -237
  1145. package/dist/use-loader.js.map +0 -1
  1146. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  1147. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  1148. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  1149. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  1150. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  1151. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  1152. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  1153. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  1154. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  1155. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  1156. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  1157. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  1158. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  1159. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  1160. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  1161. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  1162. package/dist/vite/ast-handler-extract.d.ts +0 -49
  1163. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  1164. package/dist/vite/ast-handler-extract.js +0 -249
  1165. package/dist/vite/ast-handler-extract.js.map +0 -1
  1166. package/dist/vite/expose-action-id.d.ts +0 -19
  1167. package/dist/vite/expose-action-id.d.ts.map +0 -1
  1168. package/dist/vite/expose-action-id.js +0 -250
  1169. package/dist/vite/expose-action-id.js.map +0 -1
  1170. package/dist/vite/expose-id-utils.d.ts +0 -69
  1171. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  1172. package/dist/vite/expose-id-utils.js +0 -289
  1173. package/dist/vite/expose-id-utils.js.map +0 -1
  1174. package/dist/vite/expose-internal-ids.d.ts +0 -22
  1175. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  1176. package/dist/vite/expose-internal-ids.js +0 -886
  1177. package/dist/vite/expose-internal-ids.js.map +0 -1
  1178. package/dist/vite/index.d.ts +0 -149
  1179. package/dist/vite/index.d.ts.map +0 -1
  1180. package/dist/vite/index.js.bak +0 -5448
  1181. package/dist/vite/index.js.map +0 -1
  1182. package/dist/vite/index.named-routes.gen.ts +0 -103
  1183. package/dist/vite/package-resolution.d.ts +0 -43
  1184. package/dist/vite/package-resolution.d.ts.map +0 -1
  1185. package/dist/vite/package-resolution.js +0 -112
  1186. package/dist/vite/package-resolution.js.map +0 -1
  1187. package/dist/vite/virtual-entries.d.ts +0 -25
  1188. package/dist/vite/virtual-entries.d.ts.map +0 -1
  1189. package/dist/vite/virtual-entries.js +0 -110
  1190. package/dist/vite/virtual-entries.js.map +0 -1
  1191. package/src/browser/action-response-classifier.ts +0 -99
  1192. package/src/browser/react/use-client-cache.ts +0 -58
  1193. package/src/browser/shallow.ts +0 -40
  1194. package/src/handles/index.ts +0 -7
  1195. package/src/network-error-thrower.tsx +0 -23
  1196. package/src/router/middleware-cookies.ts +0 -55
@@ -0,0 +1,350 @@
1
+ /**
2
+ * Phase + event instrumentation — the single internal API for observing router
3
+ * work.
4
+ *
5
+ * The router exposes the same work on three surfaces, and the rule is: each
6
+ * surface has exactly one owner here, so they cannot drift.
7
+ *
8
+ * - observePhase(): a span of work. Co-emits the `debugPerformance` perf
9
+ * metric (metrics store -> [RSC Perf] timeline + Server-Timing) AND the
10
+ * platform span (tracing runner -> Cloudflare custom spans / OTel). From one
11
+ * wrap site, so the span set is always a subset of the perf phases and the
12
+ * two can't disagree. Phases that meter their own perf metric with a finer
13
+ * decomposition (request, middleware) pass `metric: false` and get the span
14
+ * only — still co-located, still one owner per surface.
15
+ * - observeEvent(): a discrete fact (TelemetrySink): cache decisions,
16
+ * revalidation decisions, handler errors, timeouts, origin rejections.
17
+ * Event-shaped, not phase-shaped — derived from the same call sites but a
18
+ * separate surface from spans.
19
+ *
20
+ * Why phases, not events, are the parent abstraction: Cloudflare's span API is
21
+ * callback-bound (enterSpan wraps the actual work), so the callback boundary is
22
+ * the source of truth — async-context nesting (a loader's KV/D1/fetch spans
23
+ * landing under rango.loader) cannot be faithfully reconstructed from
24
+ * after-the-fact start/end events. Spans drive; events are emitted alongside.
25
+ *
26
+ * Phase identity lives in the PHASES registry below, so the raw `rango.*` span
27
+ * names, perf-metric labels, and span attributes have a single definition each.
28
+ *
29
+ * When neither perf surface nor tracing is active on the request, observePhase
30
+ * is a direct call — no wrapper, no timestamp, no allocation.
31
+ */
32
+
33
+ import { _getRequestContext } from "../server/request-context.js";
34
+ import { isAutoGeneratedRouteName } from "../route-name.js";
35
+ import { getRouterContext } from "./router-context.js";
36
+ import { resolveSink, safeEmit, type TelemetryEvent } from "./telemetry.js";
37
+ import { appendMetric } from "./metrics.js";
38
+ import { type MetricsStore } from "../server/context.js";
39
+ import {
40
+ NOOP_TRACE_SPAN,
41
+ traceSpan,
42
+ runThenSettle,
43
+ type TracePhase,
44
+ type TraceSpan,
45
+ } from "./tracing.js";
46
+
47
+ /**
48
+ * Perf-metric boundary for a phase, or `false` for span-only. `false` means the
49
+ * caller records its own perf metric with a finer decomposition than a single
50
+ * wrap (request: a grand total incl. pre-context bootstrap; middleware: pre/post
51
+ * own-time), so observePhase opens the span but records no metric of its own.
52
+ */
53
+ export type PhaseMetric =
54
+ | { label: string | (() => string); depth?: number }
55
+ | false;
56
+
57
+ /** Describes one observable phase across the perf and span surfaces. */
58
+ export interface PhaseSpec {
59
+ /** Perf timeline label + Server-Timing name, or false for span-only. */
60
+ metric: PhaseMetric;
61
+ /** Span phase gate (per-phase toggle in the tracing config). */
62
+ tracePhase: TracePhase;
63
+ /** Span name (rango.*). */
64
+ spanName: string;
65
+ /** Span attributes set automatically when the span opens. */
66
+ attributes?: Record<string, string | number | boolean>;
67
+ /**
68
+ * Span attributes resolved AFTER the wrapped work runs (so they can read state
69
+ * that only exists once the work is underway, e.g. the matched route name).
70
+ * Applied for streaming phases once fn has constructed its value. Return
71
+ * undefined to add nothing.
72
+ */
73
+ lazyAttributes?: () => Record<string, string | number | boolean> | undefined;
74
+ }
75
+
76
+ /**
77
+ * The matched route name for the current request, or undefined when there is no
78
+ * named route (unmatched / auto-generated). Shared by the render phase's metric
79
+ * label and its rango.route span attribute so the two can't disagree.
80
+ */
81
+ function currentRouteName(): string | undefined {
82
+ const routeName = _getRequestContext()?._routeName;
83
+ return routeName && !isAutoGeneratedRouteName(routeName)
84
+ ? routeName
85
+ : undefined;
86
+ }
87
+
88
+ /**
89
+ * The router's observable phases. One definition per phase keeps the `rango.*`
90
+ * span names, perf-metric labels, and identifying attributes from spreading
91
+ * across call sites.
92
+ */
93
+ export const PHASES = {
94
+ /** Whole request pipeline. Span only — handler:total is metered directly. */
95
+ request: {
96
+ metric: false,
97
+ tracePhase: "request",
98
+ spanName: "rango.request",
99
+ } as PhaseSpec,
100
+
101
+ /** One middleware (incl. its downstream onion). Span only — the perf metric
102
+ * is the middleware's exclusive pre/post own-time, recorded directly.
103
+ * `metricLabel` is that metric's label (e.g. "middleware:auth@*"); it doubles
104
+ * as the rango.middleware_name span attribute. */
105
+ middleware: (metricLabel: string): PhaseSpec => ({
106
+ metric: false,
107
+ tracePhase: "middleware",
108
+ spanName: "rango.middleware",
109
+ attributes: { "rango.middleware_name": metricLabel },
110
+ }),
111
+
112
+ /** The server-action execution (decode args + run the action body), before
113
+ * the revalidation render. The metric label carries the action id (the
114
+ * _rsc_action / action $$id) so the perf timeline shows WHICH action ran, not
115
+ * just "an action"; the span also gets it as rango.action_id. */
116
+ action: (id: string): PhaseSpec => ({
117
+ metric: { label: `action:${id}` },
118
+ tracePhase: "action",
119
+ spanName: "rango.action",
120
+ attributes: { "rango.action_id": id },
121
+ }),
122
+
123
+ /**
124
+ * One loader execution. `depth` is the perf-timeline indentation: 2 (default)
125
+ * for render-time loaders that nest under the render phase; 1 for a standalone
126
+ * fetchable `_rsc_loader` request, which has no render parent.
127
+ */
128
+ loader: (id: string, depth: number = 2): PhaseSpec => ({
129
+ metric: { label: `loader:${id}`, depth },
130
+ tracePhase: "loader",
131
+ spanName: "rango.loader",
132
+ attributes: { "rango.loader_id": id },
133
+ }),
134
+
135
+ /** One segment route/layout handler execution (the component/handler that
136
+ * produces a segment). Span only — the perf metric (handler:<id>) is owned by
137
+ * the legacy track() at the same call site, so observePhase here adds the
138
+ * rango.handler span without double-recording. `id` is the HANDLER id (the
139
+ * entry.id used in the handler:<id> perf row), carried as rango.handler_id —
140
+ * NOT the emitted segment's id (shortCode), which differs; the *_id naming
141
+ * mirrors rango.loader_id / rango.action_id. */
142
+ handler: (id: string): PhaseSpec => ({
143
+ metric: false,
144
+ tracePhase: "handler",
145
+ spanName: "rango.handler",
146
+ attributes: { "rango.handler_id": id },
147
+ }),
148
+
149
+ /** Whole render phase: match + serialize + SSR. The metric label is resolved
150
+ * lazily at record time (after match has set the route name) so the perf
151
+ * timeline shows WHICH route rendered: `render:total:<routeName>`, falling back
152
+ * to `render:total` when there is no named route (unmatched / auto-generated). */
153
+ render: {
154
+ metric: {
155
+ label: () => {
156
+ const routeName = currentRouteName();
157
+ return routeName ? `render:total:${routeName}` : "render:total";
158
+ },
159
+ },
160
+ tracePhase: "render",
161
+ spanName: "rango.render",
162
+ // Tag the render span with the matched route so the Cloudflare/OTel waterfall
163
+ // shows WHICH route rendered (rango.render + rango.route=index), resolved
164
+ // after match has run. Kept an attribute (not baked into the span name) so the
165
+ // span name stays low-cardinality and aggregatable across routes.
166
+ lazyAttributes: () => {
167
+ const routeName = currentRouteName();
168
+ return routeName ? { "rango.route": routeName } : undefined;
169
+ },
170
+ } as PhaseSpec,
171
+
172
+ /** SSR HTML render from the RSC stream. Colon-delimited like the other ssr:*
173
+ * setup metrics (ssr:module-load / ssr:stream-mode). */
174
+ ssr: {
175
+ metric: { label: "ssr:render-html" },
176
+ tracePhase: "ssr",
177
+ spanName: "rango.ssr",
178
+ } as PhaseSpec,
179
+ } as const;
180
+
181
+ /** Apply a phase spec's static attributes to a span (the no-op span ignores them). */
182
+ function applyAttributes(
183
+ span: TraceSpan,
184
+ attributes: Record<string, string | number | boolean>,
185
+ ): void {
186
+ for (const key in attributes) span.setAttribute(key, attributes[key]);
187
+ }
188
+
189
+ /**
190
+ * Record a phase's perf metric for the interval [start, now]. The label may be
191
+ * lazy (resolved here, e.g. render:total needs the route name that match sets
192
+ * partway through the wrapped work).
193
+ */
194
+ function recordPhaseMetric(
195
+ store: MetricsStore,
196
+ metric: Exclude<PhaseMetric, false>,
197
+ start: number,
198
+ ): void {
199
+ const label =
200
+ typeof metric.label === "function" ? metric.label() : metric.label;
201
+ appendMetric(store, label, start, performance.now() - start, metric.depth);
202
+ }
203
+
204
+ /**
205
+ * Instrument one unit of work: open its span AND (unless `metric: false`) record
206
+ * its perf metric, from a single wrap site. fn is invoked exactly once with the
207
+ * span (a no-op span when tracing is off); its return value is returned
208
+ * unchanged and thrown errors / rejected promises propagate unchanged. When fn
209
+ * returns a promise both the metric duration and the span end when it settles.
210
+ *
211
+ * This is the ONLY phase primitive: every phase (request/middleware/action/
212
+ * loader/handler/render/ssr) is construction-bound — the span and metric settle
213
+ * when fn's own work completes (for the streaming phases, when the RSC/HTML
214
+ * stream is constructed, NOT when the body drains). Instrumentation is strictly
215
+ * best-effort: it never wraps or buffers the response and adds no work on the
216
+ * streaming path, so it cannot regress response latency or streaming. A loader
217
+ * that resolves while the body streams therefore keeps a rango.loader span that
218
+ * may extend past its render parent — overlapping spans are valid; the loader
219
+ * really did take that long.
220
+ *
221
+ * Reads the metrics store + tracing off the RequestContext ALS, which is active
222
+ * for the WHOLE request — contrast observeEvent, which reads the RouterContext
223
+ * ALS (entered later, during match).
224
+ */
225
+ export function observePhase<T>(
226
+ spec: PhaseSpec,
227
+ fn: (span: TraceSpan) => T,
228
+ ): T {
229
+ const reqCtx = _getRequestContext();
230
+ const store = reqCtx?._metricsStore;
231
+ const tracing = reqCtx?._tracing;
232
+
233
+ // Neither surface active: direct call, zero overhead.
234
+ if (!store && !tracing) return fn(NOOP_TRACE_SPAN);
235
+
236
+ // Attributes only land on a real span. Build the attribute/lazy wrapper only
237
+ // when this phase's span is actually enabled (not toggled off via `spans`), and
238
+ // short-circuit inside when the runner hands back the no-op span (tracing
239
+ // configured but off at runtime — e.g. no executionContext.tracing). That keeps
240
+ // the "configured but effectively off" path free of per-call attribute loops
241
+ // and lazy `.then()` allocations. `lazyAttributes` resolve AFTER fn runs (e.g.
242
+ // rango.route, known post-match) and apply on BOTH success and failure so an
243
+ // errored phase span is still tagged.
244
+ const attributes = spec.attributes;
245
+ const lazy = spec.lazyAttributes;
246
+ const spanEnabled =
247
+ tracing !== undefined && tracing.phases[spec.tracePhase] !== false;
248
+ const wrapped: (span: TraceSpan) => T =
249
+ (attributes || lazy) && spanEnabled
250
+ ? (span) => {
251
+ if (span === NOOP_TRACE_SPAN) return fn(span);
252
+ if (attributes) applyAttributes(span, attributes);
253
+ // A SYNCHRONOUS throw from fn skips applyLate — fine by design: the only
254
+ // lazyAttributes phase (render) is always async, so any internal throw
255
+ // surfaces as a rejection that the onReject branch below DOES tag. If a
256
+ // sync lazyAttributes phase is ever added, wrap this in try/catch.
257
+ const out = fn(span);
258
+ if (!lazy) return out;
259
+ const applyLate = () => {
260
+ const late = lazy();
261
+ if (late) applyAttributes(span, late);
262
+ };
263
+ if (out instanceof Promise) {
264
+ return out.then(
265
+ (value) => {
266
+ applyLate();
267
+ return value;
268
+ },
269
+ (error) => {
270
+ applyLate();
271
+ throw error;
272
+ },
273
+ ) as T;
274
+ }
275
+ applyLate();
276
+ return out;
277
+ }
278
+ : fn;
279
+
280
+ const runSpan = (): T =>
281
+ traceSpan(tracing, spec.tracePhase, spec.spanName, wrapped);
282
+
283
+ // Span-only — no perf metric to record (metric:false, or perf surface off).
284
+ const metric = spec.metric;
285
+ if (!store || metric === false) return runSpan();
286
+
287
+ // Record the phase duration on EVERY termination — success or failure — so a
288
+ // failed loader/render still shows its timing in the perf report (parity with
289
+ // the old track().finally() path it replaced).
290
+ const start = performance.now();
291
+ return runThenSettle(runSpan, () => recordPhaseMetric(store, metric, start));
292
+ }
293
+
294
+ /**
295
+ * Open a rango.handler span around one segment route/layout handler call. The
296
+ * segment-resolution hot path runs this PER SEGMENT, so it gates on the SPAN
297
+ * surface alone and calls the handler directly otherwise — building neither the
298
+ * PhaseSpec (PHASES.handler allocates) nor the wrapper closure on the off path.
299
+ * The handler:<id> perf metric is owned by the track() at the call site, so the
300
+ * span is the only surface this adds (metric:false); a debugPerformance-only
301
+ * request (no tracing) or a disabled handler phase (spans:{handler:false}) has
302
+ * nothing to record here and short-circuits.
303
+ */
304
+ export function observeHandler<C, R>(
305
+ id: string,
306
+ handler: (ctx: C) => R,
307
+ ctx: C,
308
+ ): R {
309
+ const tracing = _getRequestContext()?._tracing;
310
+ if (!tracing || tracing.phases.handler === false) return handler(ctx);
311
+ return observePhase(PHASES.handler(id), () => handler(ctx));
312
+ }
313
+
314
+ /**
315
+ * Emit one discrete telemetry event (the event-shaped counterpart to
316
+ * observePhase). Resolves the sink from the active router context and stamps the
317
+ * request id when the event omits it. No-op (and total — never throws) when no
318
+ * sink is configured.
319
+ *
320
+ * This is the canonical emitter for SYNCHRONOUS facts that fire inside the
321
+ * request's ALS scope (handler errors, timeouts, origin rejections, revalidation
322
+ * decisions). A few emitters deliberately stay on the lower-level
323
+ * resolveSink + safeEmit because observeEvent's lazy, per-call
324
+ * getRouterContext() read does not fit them — keep this the complete list:
325
+ * - router.ts wrapLoaderPromise (loader.start/end/error) and
326
+ * segment-resolution/streamed-handler-telemetry.ts (streamed handler.error)
327
+ * capture the sink + request id EAGERLY and emit from a fire-and-forget
328
+ * continuation that runs after the ALS scope may have unwound.
329
+ * - router/match-handlers.ts resolves the sink ONCE for the hot match-pipeline
330
+ * loop (request.start/end/error, cache.decision, ...).
331
+ * - segment-resolution/helpers.ts emits via a caller-provided report.telemetry
332
+ * sink rather than the ALS router context.
333
+ */
334
+ export function observeEvent(event: TelemetryEvent): void {
335
+ // getRouterContext() either throws (real impl, outside a router context — e.g.
336
+ // the build-time prerender path) or returns null/undefined (e.g. mocked).
337
+ // Either way there is no sink to emit to, so swallow and return.
338
+ let routerCtx: ReturnType<typeof getRouterContext> | null | undefined;
339
+ try {
340
+ routerCtx = getRouterContext();
341
+ } catch {
342
+ return;
343
+ }
344
+ if (!routerCtx?.telemetry) return;
345
+ const stamped =
346
+ event.requestId === undefined && routerCtx.requestId !== undefined
347
+ ? ({ ...event, requestId: routerCtx.requestId } as TelemetryEvent)
348
+ : event;
349
+ safeEmit(resolveSink(routerCtx.telemetry), stamped);
350
+ }
@@ -21,7 +21,11 @@ import { getRequestContext } from "../server/request-context.js";
21
21
  import { executeInterceptMiddleware } from "./middleware.js";
22
22
  import { createReverseFunction } from "./handler-context.js";
23
23
  import { getGlobalRouteMap } from "../route-map-builder.js";
24
- import { handleHandlerResult } from "./segment-resolution.js";
24
+ import {
25
+ handleHandlerResult,
26
+ warnOnStreamedResponse,
27
+ buildLoaderErrorContext,
28
+ } from "./segment-resolution.js";
25
29
  import type { SegmentResolutionDeps } from "./types.js";
26
30
  import { debugLog } from "./logging.js";
27
31
  import { runInsideLoaderScope } from "../server/context.js";
@@ -66,28 +70,14 @@ export function findInterceptForRoute(
66
70
  let current: EntryData | null = fromEntry;
67
71
 
68
72
  while (current) {
69
- if (current.intercept && current.intercept.length > 0) {
70
- for (const intercept of current.intercept) {
73
+ // current first, then its sibling layouts — same order as before.
74
+ for (const source of [current, ...current.layout]) {
75
+ for (const intercept of source.intercept) {
71
76
  if (
72
77
  intercept.routeName === targetRouteKey &&
73
78
  evaluateInterceptWhen(intercept, selectorContext, isAction)
74
79
  ) {
75
- return { intercept, entry: current };
76
- }
77
- }
78
- }
79
-
80
- if (current.layout && current.layout.length > 0) {
81
- for (const siblingLayout of current.layout) {
82
- if (siblingLayout.intercept && siblingLayout.intercept.length > 0) {
83
- for (const intercept of siblingLayout.intercept) {
84
- if (
85
- intercept.routeName === targetRouteKey &&
86
- evaluateInterceptWhen(intercept, selectorContext, isAction)
87
- ) {
88
- return { intercept, entry: siblingLayout };
89
- }
90
- }
80
+ return { intercept, entry: source };
91
81
  }
92
82
  }
93
83
  }
@@ -123,10 +113,25 @@ export async function resolveInterceptEntry<TEnv>(
123
113
  };
124
114
  stale?: boolean;
125
115
  },
116
+ options?: {
117
+ /**
118
+ * Skip the intercept's middleware execution. Set ONLY by the post-response
119
+ * background re-render paths (proactive caching, stale background
120
+ * revalidation), whose sole purpose is to re-render the segment tree to
121
+ * populate the cache. The foreground request already ran the intercept
122
+ * middleware before the response was sent — it validated auth, set cookies,
123
+ * and wrote context vars into the request context's shared `_variables`,
124
+ * which the background render reuses. Re-running middleware here would fire
125
+ * its side effects a SECOND time, and a middleware that short-circuits with
126
+ * a Response would `throw` and silently abort the cache write. Never set on
127
+ * the foreground path.
128
+ */
129
+ skipMiddleware?: boolean;
130
+ },
126
131
  ): Promise<ResolvedSegment[]> {
127
132
  const segments: ResolvedSegment[] = [];
128
133
 
129
- if (interceptEntry.middleware.length > 0) {
134
+ if (!options?.skipMiddleware && interceptEntry.middleware.length > 0) {
130
135
  const requestCtx = getRequestContext();
131
136
  if (!requestCtx?.res) {
132
137
  throw new Error(
@@ -216,6 +221,9 @@ export async function resolveInterceptEntry<TEnv>(
216
221
  parentEntry,
217
222
  segmentId,
218
223
  context.pathname,
224
+ // Report a throwing intercept loader to onError + loader.error telemetry,
225
+ // matching the fresh/revalidation paths.
226
+ buildLoaderErrorContext(context),
219
227
  ),
220
228
  );
221
229
  }
@@ -242,6 +250,12 @@ export async function resolveInterceptEntry<TEnv>(
242
250
  let loaderDataPromise: Promise<any[]> | any[] | undefined;
243
251
 
244
252
  if (interceptEntry.loading && loaderPromises.length > 0) {
253
+ if (handlerResult instanceof Promise) {
254
+ warnOnStreamedResponse(
255
+ handlerResult,
256
+ `intercept ${interceptEntry.slotName}`,
257
+ );
258
+ }
245
259
  component =
246
260
  handlerResult instanceof Promise
247
261
  ? handlerResult
@@ -383,6 +397,11 @@ export async function resolveInterceptLoadersOnly<TEnv>(
383
397
  parentEntry,
384
398
  segmentId,
385
399
  context.pathname,
400
+ // Report a throwing intercept loader to onError + loader.error telemetry,
401
+ // matching the fresh/revalidation paths. resolveInterceptLoadersOnly is
402
+ // only called on the cache-hit partial-update path (handleCacheHitIntercept),
403
+ // so flag isPartial:true exactly like revalidation.ts's partial path.
404
+ { ...buildLoaderErrorContext(context), isPartial: true },
386
405
  ),
387
406
  );
388
407
  }
@@ -1,8 +1,8 @@
1
1
  import { registerRouteMap } from "../route-map-builder.js";
2
- import { extractStaticPrefix } from "./pattern-matching.js";
2
+ import { extractStaticPrefix, joinPrefix } from "./pattern-matching.js";
3
3
  import {
4
- EntryData,
5
- RSCRouterContext,
4
+ type EntryData,
5
+ RangoContext,
6
6
  runWithPrefixes,
7
7
  getIsolatedLazyParent,
8
8
  } from "../server/context";
@@ -18,9 +18,6 @@ export interface LazyEvalDeps<TEnv = any> {
18
18
  routerId?: string;
19
19
  }
20
20
 
21
- // Detect lazy includes in handler result and create placeholder entries
22
- // Lazy includes are IncludeItem with lazy: true and _lazyContext
23
- // Moved to outer scope so it can be reused by evaluateLazyEntry for nested includes
24
21
  export function findLazyIncludes<TEnv = any>(
25
22
  items: AllUseItems[],
26
23
  ): Array<{
@@ -56,7 +53,6 @@ export function findLazyIncludes<TEnv = any>(
56
53
  });
57
54
  }
58
55
  }
59
- // Recursively check nested items (in layouts, etc.)
60
56
  if ((item as any).uses && Array.isArray((item as any).uses)) {
61
57
  lazyItems.push(...findLazyIncludes((item as any).uses));
62
58
  }
@@ -78,14 +74,6 @@ export function evaluateLazyEntry<TEnv = any>(
78
74
  return;
79
75
  }
80
76
 
81
- // Check for pre-computed routes from build-time data.
82
- // Only leaf nodes (no nested includes) are precomputed, so entries with
83
- // nested lazy includes fall through to the handler below.
84
- // When multiple entries share the same staticPrefix (e.g., several
85
- // include("/", ...) calls), the precomputed data merges all their routes
86
- // into one entry. Assigning that merged set to the first matching entry
87
- // causes findMatch to pick the wrong handler for routes belonging to a
88
- // different include. Skip the shortcut when the prefix is shared.
89
77
  const currentPrecomputed = deps.getPrecomputedByPrefix();
90
78
  if (currentPrecomputed) {
91
79
  const routes = currentPrecomputed.get(entry.staticPrefix);
@@ -105,25 +93,18 @@ export function evaluateLazyEntry<TEnv = any>(
105
93
  }
106
94
  }
107
95
 
108
- // Mark as evaluated immediately to prevent concurrent evaluation.
109
- // JS is single-threaded but handlers.handler() could theoretically yield,
110
- // and the while-loop in findMatch retries after evaluation.
111
96
  entry.lazyEvaluated = true;
112
97
 
113
98
  const lazyPatterns = entry.lazyPatterns as UrlPatterns<TEnv>;
114
99
  const lazyContext = entry.lazyContext;
115
100
 
116
- // Create a new context for evaluating the lazy patterns
117
101
  const manifest = new Map<string, EntryData>();
118
102
  const patterns = new Map<string, string>();
119
103
  const patternsByPrefix = new Map<string, Map<string, string>>();
120
104
  const trailingSlashMap = new Map<string, TrailingSlashMode>();
121
105
 
122
- // Capture the handler result to detect nested lazy includes
123
106
  let handlerResult: AllUseItems[] = [];
124
107
 
125
- // Merge captured counters from include() to maintain consistent
126
- // shortCode indices with sibling entries from pattern extraction
127
108
  const lazyCounters: Record<string, number> = {};
128
109
  if (lazyContext?.counters) {
129
110
  for (const [key, value] of Object.entries(lazyContext.counters)) {
@@ -131,7 +112,7 @@ export function evaluateLazyEntry<TEnv = any>(
131
112
  }
132
113
  }
133
114
 
134
- RSCRouterContext.run(
115
+ RangoContext.run(
135
116
  {
136
117
  manifest,
137
118
  patterns,
@@ -145,10 +126,8 @@ export function evaluateLazyEntry<TEnv = any>(
145
126
  includeScope: lazyContext?.includeScope,
146
127
  },
147
128
  () => {
148
- // Run the lazy patterns handler with the original context prefixes
149
- // The prefix comes from the IncludeItem stored in lazyPatterns
150
129
  const includePrefix = (entry as any)._lazyPrefix || "";
151
- const fullPrefix = (lazyContext?.urlPrefix || "") + includePrefix;
130
+ const fullPrefix = joinPrefix(lazyContext?.urlPrefix, includePrefix);
152
131
 
153
132
  if (fullPrefix || lazyContext?.namePrefix) {
154
133
  runWithPrefixes(fullPrefix, lazyContext?.namePrefix, () => {
@@ -160,11 +139,9 @@ export function evaluateLazyEntry<TEnv = any>(
160
139
  },
161
140
  );
162
141
 
163
- // Populate the entry's routes from the patterns
164
142
  const routesObject: Record<string, string> = {};
165
143
  for (const [name, pattern] of patterns.entries()) {
166
144
  routesObject[name] = pattern;
167
- // Also add to merged route map for reverse() support
168
145
  const existingPattern = deps.mergedRouteMap[name];
169
146
  if (existingPattern !== undefined && existingPattern !== pattern) {
170
147
  console.warn(
@@ -175,46 +152,33 @@ export function evaluateLazyEntry<TEnv = any>(
175
152
  deps.mergedRouteMap[name] = pattern;
176
153
  }
177
154
 
178
- // Update the entry in-place
179
155
  entry.routes = routesObject as ResolvedRouteMap<any>;
180
156
 
181
- // Note: Do NOT clear lazyPatterns/lazyContext here.
182
- // loadManifest() needs them on every request to re-run the handler
183
- // in the correct AsyncLocalStorage context (Store.manifest).
184
-
185
- // Update trailing slash config if available
186
157
  if (trailingSlashMap.size > 0) {
187
158
  entry.trailingSlash = Object.fromEntries(trailingSlashMap);
188
159
  }
189
160
 
190
- // Detect nested lazy includes and register them as new entries
191
161
  const nestedLazyIncludes = findLazyIncludes(handlerResult);
192
162
  for (const lazyInclude of nestedLazyIncludes) {
193
- // Compute the full URL prefix (combining parent prefix if any)
194
- const fullPrefix = lazyInclude.context.urlPrefix
195
- ? lazyInclude.context.urlPrefix + lazyInclude.prefix
196
- : lazyInclude.prefix;
163
+ const fullPrefix = joinPrefix(
164
+ lazyInclude.context.urlPrefix,
165
+ lazyInclude.prefix,
166
+ );
197
167
 
198
168
  const nestedEntry: RouteEntry<TEnv> & { _lazyPrefix?: string } = {
199
169
  prefix: "",
200
170
  staticPrefix: extractStaticPrefix(fullPrefix),
201
- routes: {} as ResolvedRouteMap<any>, // Empty until first match
171
+ routes: {} as ResolvedRouteMap<any>,
202
172
  trailingSlash: entry.trailingSlash,
203
173
  handler: (lazyInclude.patterns as UrlPatterns<TEnv>).handler,
204
174
  mountIndex: deps.nextMountIndex(),
205
175
  routerId: deps.routerId,
206
- // Lazy evaluation fields
207
176
  lazy: true,
208
177
  lazyPatterns: lazyInclude.patterns,
209
178
  lazyContext: lazyInclude.context,
210
179
  lazyEvaluated: false,
211
- // Store the include prefix for evaluation
212
180
  _lazyPrefix: lazyInclude.prefix,
213
181
  };
214
- // Insert nested lazy entry before any entry whose staticPrefix is a
215
- // prefix of (but shorter than) this lazy entry's staticPrefix.
216
- // This ensures more specific lazy includes are matched before
217
- // less specific eager entries (e.g., "/href/nested" before "/href/:id").
218
182
  const nestedPrefix = nestedEntry.staticPrefix;
219
183
  let insertIndex = deps.routesEntries.length;
220
184
  if (nestedPrefix) {
@@ -232,6 +196,5 @@ export function evaluateLazyEntry<TEnv = any>(
232
196
  deps.routesEntries.splice(insertIndex, 0, nestedEntry);
233
197
  }
234
198
 
235
- // Re-register route map for runtime reverse() usage
236
199
  registerRouteMap(deps.mergedRouteMap);
237
200
  }