@rangojs/router 0.0.0-experimental.66 → 0.0.0-experimental.66f5aa51

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 (1197) 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 +3012 -1058
  6. package/dist/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  7. package/package.json +66 -12
  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 +364 -0
  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 +50 -6
  22. package/skills/layout/SKILL.md +35 -9
  23. package/skills/links/SKILL.md +247 -17
  24. package/skills/loader/SKILL.md +225 -9
  25. package/skills/middleware/SKILL.md +50 -13
  26. package/skills/migrate-nextjs/SKILL.md +584 -0
  27. package/skills/migrate-react-router/SKILL.md +771 -0
  28. package/skills/mime-routes/SKILL.md +28 -1
  29. package/skills/observability/SKILL.md +172 -0
  30. package/skills/parallel/SKILL.md +77 -7
  31. package/skills/prerender/SKILL.md +45 -43
  32. package/skills/rango/SKILL.md +251 -22
  33. package/skills/react-compiler/SKILL.md +168 -0
  34. package/skills/response-routes/SKILL.md +123 -48
  35. package/skills/route/SKILL.md +70 -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 +92 -18
  72. package/src/browser/navigation-client.ts +146 -69
  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 +131 -121
  78. package/src/browser/prefetch/cache.ts +205 -62
  79. package/src/browser/prefetch/fetch.ts +321 -37
  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 +60 -9
  83. package/src/browser/react/NavigationProvider.tsx +97 -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-reconciler.ts +36 -14
  103. package/src/browser/segment-structure-assert.ts +2 -2
  104. package/src/browser/server-action-bridge.ts +214 -55
  105. package/src/browser/types.ts +57 -8
  106. package/src/browser/validate-redirect-origin.ts +43 -16
  107. package/src/build/collect-fallback-refs.ts +107 -0
  108. package/src/build/generate-manifest.ts +60 -35
  109. package/src/build/generate-route-types.ts +2 -1
  110. package/src/build/index.ts +8 -2
  111. package/src/build/prefix-tree-utils.ts +123 -0
  112. package/src/build/route-trie.ts +165 -36
  113. package/src/build/route-types/ast-route-extraction.ts +15 -8
  114. package/src/build/route-types/codegen.ts +16 -5
  115. package/src/build/route-types/include-resolution.ts +117 -23
  116. package/src/build/route-types/param-extraction.ts +6 -3
  117. package/src/build/route-types/per-module-writer.ts +22 -6
  118. package/src/build/route-types/router-processing.ts +55 -28
  119. package/src/build/route-types/scan-filter.ts +1 -1
  120. package/src/build/route-types/source-scan.ts +216 -0
  121. package/src/build/runtime-discovery.ts +9 -20
  122. package/src/cache/cache-error.ts +104 -0
  123. package/src/cache/cache-key-utils.ts +29 -13
  124. package/src/cache/cache-policy.ts +108 -34
  125. package/src/cache/cache-runtime.ts +199 -37
  126. package/src/cache/cache-scope.ts +188 -82
  127. package/src/cache/cache-tag.ts +103 -0
  128. package/src/cache/cf/cf-base64.ts +33 -0
  129. package/src/cache/cf/cf-cache-constants.ts +127 -0
  130. package/src/cache/cf/cf-cache-store.ts +1989 -378
  131. package/src/cache/cf/cf-cache-types.ts +349 -0
  132. package/src/cache/cf/cf-kv-utils.ts +46 -0
  133. package/src/cache/cf/cf-tag-marker-memo.ts +105 -0
  134. package/src/cache/cf/index.ts +6 -16
  135. package/src/cache/document-cache.ts +72 -20
  136. package/src/cache/handle-snapshot.ts +70 -0
  137. package/src/cache/index.ts +10 -20
  138. package/src/cache/memory-segment-store.ts +136 -37
  139. package/src/cache/profile-registry.ts +31 -31
  140. package/src/cache/read-through-swr.ts +41 -11
  141. package/src/cache/segment-codec.ts +9 -17
  142. package/src/cache/tag-invalidation.ts +230 -0
  143. package/src/cache/types.ts +37 -100
  144. package/src/client.rsc.tsx +44 -21
  145. package/src/client.tsx +118 -235
  146. package/src/cloudflare/index.ts +11 -0
  147. package/src/cloudflare/tracing.ts +109 -0
  148. package/src/component-utils.ts +19 -0
  149. package/src/components/DefaultDocument.tsx +8 -2
  150. package/src/context-var.ts +18 -6
  151. package/src/decode-loader-results.ts +52 -0
  152. package/src/defer.ts +196 -0
  153. package/src/deps/ssr.ts +0 -1
  154. package/src/encode-kv.ts +49 -0
  155. package/src/errors.ts +30 -4
  156. package/src/escape-script.ts +52 -0
  157. package/src/handle.ts +31 -23
  158. package/src/handles/MetaTags.tsx +56 -19
  159. package/src/handles/Scripts.tsx +183 -0
  160. package/src/handles/breadcrumbs.ts +37 -8
  161. package/src/handles/is-thenable.ts +19 -0
  162. package/src/handles/meta.ts +51 -40
  163. package/src/handles/script.ts +244 -0
  164. package/src/host/cookie-handler.ts +9 -60
  165. package/src/host/errors.ts +0 -24
  166. package/src/host/index.ts +8 -2
  167. package/src/host/pattern-matcher.ts +23 -52
  168. package/src/host/router.ts +107 -99
  169. package/src/host/testing.ts +40 -27
  170. package/src/host/types.ts +37 -4
  171. package/src/host/utils.ts +1 -1
  172. package/src/href-client.ts +137 -22
  173. package/src/index.rsc.ts +90 -11
  174. package/src/index.ts +129 -19
  175. package/src/internal-debug.ts +2 -4
  176. package/src/loader-store.ts +500 -0
  177. package/src/loader.rsc.ts +20 -13
  178. package/src/loader.ts +12 -11
  179. package/src/missing-id-error.ts +68 -0
  180. package/src/outlet-context.ts +1 -1
  181. package/src/outlet-provider.tsx +1 -5
  182. package/src/prerender/param-hash.ts +16 -16
  183. package/src/prerender/store.ts +32 -37
  184. package/src/prerender.ts +61 -6
  185. package/src/redirect-origin.ts +100 -0
  186. package/src/regex-escape.ts +8 -0
  187. package/src/render-error-thrower.tsx +20 -0
  188. package/src/response-utils.ts +62 -0
  189. package/src/reverse.ts +65 -36
  190. package/src/root-error-boundary.tsx +1 -19
  191. package/src/route-content-wrapper.tsx +7 -72
  192. package/src/route-definition/dsl-helpers.ts +418 -273
  193. package/src/route-definition/helper-factories.ts +29 -139
  194. package/src/route-definition/helpers-types.ts +103 -31
  195. package/src/route-definition/redirect.ts +44 -11
  196. package/src/route-definition/resolve-handler-use.ts +12 -0
  197. package/src/route-definition/use-item-types.ts +32 -0
  198. package/src/route-map-builder.ts +0 -16
  199. package/src/route-types.ts +26 -41
  200. package/src/router/basename.ts +14 -0
  201. package/src/router/content-negotiation.ts +73 -25
  202. package/src/router/error-handling.ts +45 -18
  203. package/src/router/find-match.ts +44 -23
  204. package/src/router/handler-context.ts +27 -39
  205. package/src/router/instrument.ts +350 -0
  206. package/src/router/intercept-resolution.ts +39 -20
  207. package/src/router/lazy-includes.ts +15 -52
  208. package/src/router/loader-resolution.ts +155 -72
  209. package/src/router/logging.ts +0 -6
  210. package/src/router/manifest.ts +40 -42
  211. package/src/router/match-api.ts +4 -23
  212. package/src/router/match-context.ts +0 -22
  213. package/src/router/match-handlers.ts +58 -58
  214. package/src/router/match-middleware/background-revalidation.ts +6 -7
  215. package/src/router/match-middleware/cache-lookup.ts +161 -286
  216. package/src/router/match-middleware/cache-store.ts +31 -34
  217. package/src/router/match-middleware/intercept-resolution.ts +0 -22
  218. package/src/router/match-middleware/segment-resolution.ts +0 -22
  219. package/src/router/match-pipelines.ts +1 -42
  220. package/src/router/match-result.ts +87 -39
  221. package/src/router/metrics.ts +0 -34
  222. package/src/router/middleware-types.ts +7 -134
  223. package/src/router/middleware.ts +266 -166
  224. package/src/router/navigation-snapshot.ts +0 -51
  225. package/src/router/params-util.ts +23 -0
  226. package/src/router/pattern-matching.ts +132 -90
  227. package/src/router/prefetch-cache-ttl.ts +51 -0
  228. package/src/router/prerender-match.ts +104 -65
  229. package/src/router/preview-match.ts +3 -1
  230. package/src/router/request-classification.ts +28 -62
  231. package/src/router/revalidation.ts +123 -73
  232. package/src/router/route-snapshot.ts +0 -1
  233. package/src/router/router-context.ts +3 -28
  234. package/src/router/router-interfaces.ts +83 -35
  235. package/src/router/router-options.ts +136 -5
  236. package/src/router/router-registry.ts +2 -5
  237. package/src/router/segment-resolution/fresh.ts +98 -84
  238. package/src/router/segment-resolution/helpers.ts +86 -6
  239. package/src/router/segment-resolution/loader-cache.ts +62 -37
  240. package/src/router/segment-resolution/revalidation.ts +274 -319
  241. package/src/router/segment-resolution/static-store.ts +19 -5
  242. package/src/router/segment-resolution/streamed-handler-telemetry.ts +52 -0
  243. package/src/router/segment-resolution/view-transition-default.ts +36 -0
  244. package/src/router/segment-resolution.ts +5 -1
  245. package/src/router/segment-wrappers.ts +6 -5
  246. package/src/router/state-cookie-name.ts +33 -0
  247. package/src/router/substitute-pattern-params.ts +56 -0
  248. package/src/router/telemetry-otel.ts +161 -199
  249. package/src/router/telemetry.ts +96 -19
  250. package/src/router/timeout.ts +0 -20
  251. package/src/router/tracing.ts +206 -0
  252. package/src/router/trie-matching.ts +163 -59
  253. package/src/router/types.ts +9 -63
  254. package/src/router/url-params.ts +44 -0
  255. package/src/router.ts +110 -55
  256. package/src/rsc/handler-context.ts +3 -2
  257. package/src/rsc/handler.ts +274 -223
  258. package/src/rsc/helpers.ts +168 -46
  259. package/src/rsc/index.ts +2 -5
  260. package/src/rsc/json-route-result.ts +38 -0
  261. package/src/rsc/loader-fetch.ts +114 -38
  262. package/src/rsc/manifest-init.ts +28 -41
  263. package/src/rsc/origin-guard.ts +39 -25
  264. package/src/rsc/progressive-enhancement.ts +63 -9
  265. package/src/rsc/redirect-guard.ts +99 -0
  266. package/src/rsc/response-cache-serve.ts +238 -0
  267. package/src/rsc/response-error.ts +79 -12
  268. package/src/rsc/response-route-handler.ts +99 -189
  269. package/src/rsc/rsc-rendering.ts +99 -75
  270. package/src/rsc/runtime-warnings.ts +23 -10
  271. package/src/rsc/server-action.ts +258 -115
  272. package/src/rsc/ssr-setup.ts +16 -0
  273. package/src/rsc/types.ts +23 -5
  274. package/src/runtime-env.ts +18 -0
  275. package/src/search-params.ts +35 -30
  276. package/src/segment-content-promise.ts +67 -0
  277. package/src/segment-loader-promise.ts +149 -0
  278. package/src/segment-system.tsx +218 -202
  279. package/src/serialize.ts +243 -0
  280. package/src/server/context.ts +175 -53
  281. package/src/server/cookie-parse.ts +32 -0
  282. package/src/server/cookie-store.ts +80 -5
  283. package/src/server/handle-store.ts +21 -38
  284. package/src/server/loader-registry.ts +21 -42
  285. package/src/server/request-context.ts +235 -175
  286. package/src/ssr/index.tsx +21 -16
  287. package/src/static-handler.ts +10 -13
  288. package/src/testing/cache-status.ts +162 -0
  289. package/src/testing/collect-handle.ts +40 -0
  290. package/src/testing/dispatch.ts +701 -0
  291. package/src/testing/dom.entry.ts +22 -0
  292. package/src/testing/e2e/fixture.ts +188 -0
  293. package/src/testing/e2e/index.ts +128 -0
  294. package/src/testing/e2e/matchers.ts +35 -0
  295. package/src/testing/e2e/page-helpers.ts +272 -0
  296. package/src/testing/e2e/parity.ts +387 -0
  297. package/src/testing/e2e/server.ts +195 -0
  298. package/src/testing/flight-matchers.ts +97 -0
  299. package/src/testing/flight-normalize.ts +11 -0
  300. package/src/testing/flight-runtime.d.ts +57 -0
  301. package/src/testing/flight-tree.ts +682 -0
  302. package/src/testing/flight.entry.ts +52 -0
  303. package/src/testing/flight.ts +257 -0
  304. package/src/testing/generated-routes.ts +183 -0
  305. package/src/testing/index.ts +99 -0
  306. package/src/testing/internal/context.ts +371 -0
  307. package/src/testing/internal/flight-client-globals.ts +30 -0
  308. package/src/testing/internal/seed-vars.ts +54 -0
  309. package/src/testing/render-handler.ts +343 -0
  310. package/src/testing/render-route.tsx +581 -0
  311. package/src/testing/run-loader.ts +385 -0
  312. package/src/testing/run-middleware.ts +205 -0
  313. package/src/testing/vitest-stubs/cloudflare-email.ts +9 -0
  314. package/src/testing/vitest-stubs/cloudflare-workers.ts +21 -0
  315. package/src/testing/vitest-stubs/plugin-rsc.ts +16 -0
  316. package/src/testing/vitest-stubs/version.ts +5 -0
  317. package/src/testing/vitest.ts +305 -0
  318. package/src/theme/ThemeProvider.tsx +20 -58
  319. package/src/theme/ThemeScript.tsx +7 -9
  320. package/src/theme/constants.ts +52 -13
  321. package/src/theme/index.ts +0 -7
  322. package/src/theme/theme-context.ts +1 -5
  323. package/src/theme/theme-script.ts +22 -21
  324. package/src/theme/use-theme.ts +0 -3
  325. package/src/types/boundaries.ts +0 -35
  326. package/src/types/cache-types.ts +13 -4
  327. package/src/types/error-types.ts +30 -90
  328. package/src/types/global-namespace.ts +54 -41
  329. package/src/types/handler-context.ts +109 -61
  330. package/src/types/index.ts +1 -10
  331. package/src/types/loader-types.ts +11 -9
  332. package/src/types/request-scope.ts +112 -0
  333. package/src/types/route-config.ts +6 -50
  334. package/src/types/route-entry.ts +11 -6
  335. package/src/types/segments.ts +36 -15
  336. package/src/urls/include-helper.ts +33 -70
  337. package/src/urls/index.ts +1 -11
  338. package/src/urls/path-helper-types.ts +49 -9
  339. package/src/urls/path-helper.ts +17 -106
  340. package/src/urls/pattern-types.ts +36 -19
  341. package/src/urls/response-types.ts +22 -29
  342. package/src/urls/type-extraction.ts +58 -139
  343. package/src/urls/urls-function.ts +1 -18
  344. package/src/use-loader.tsx +295 -107
  345. package/src/vite/debug.ts +185 -0
  346. package/src/vite/discovery/bundle-postprocess.ts +8 -7
  347. package/src/vite/discovery/discover-routers.ts +126 -85
  348. package/src/vite/discovery/discovery-errors.ts +194 -0
  349. package/src/vite/discovery/gate-state.ts +171 -0
  350. package/src/vite/discovery/prerender-collection.ts +211 -142
  351. package/src/vite/discovery/route-types-writer.ts +40 -84
  352. package/src/vite/discovery/self-gen-tracking.ts +27 -1
  353. package/src/vite/discovery/state.ts +44 -0
  354. package/src/vite/discovery/virtual-module-codegen.ts +14 -34
  355. package/src/vite/index.ts +2 -0
  356. package/src/vite/plugin-types.ts +126 -8
  357. package/src/vite/plugins/cjs-to-esm.ts +16 -19
  358. package/src/vite/plugins/client-ref-dedup.ts +16 -11
  359. package/src/vite/plugins/client-ref-hashing.ts +28 -15
  360. package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
  361. package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  362. package/src/vite/plugins/cloudflare-protocol-stub.ts +194 -0
  363. package/src/vite/plugins/expose-action-id.ts +48 -95
  364. package/src/vite/plugins/expose-id-utils.ts +96 -51
  365. package/src/vite/plugins/expose-ids/export-analysis.ts +101 -34
  366. package/src/vite/plugins/expose-ids/handler-transform.ts +11 -90
  367. package/src/vite/plugins/expose-ids/loader-transform.ts +14 -24
  368. package/src/vite/plugins/expose-ids/router-transform.ts +118 -29
  369. package/src/vite/plugins/expose-internal-ids.ts +534 -304
  370. package/src/vite/plugins/performance-tracks.ts +26 -25
  371. package/src/vite/plugins/refresh-cmd.ts +1 -1
  372. package/src/vite/plugins/use-cache-transform.ts +73 -83
  373. package/src/vite/plugins/version-injector.ts +21 -25
  374. package/src/vite/plugins/version-plugin.ts +37 -40
  375. package/src/vite/plugins/virtual-entries.ts +13 -18
  376. package/src/vite/rango.ts +109 -118
  377. package/src/vite/router-discovery.ts +769 -106
  378. package/src/vite/utils/ast-handler-extract.ts +26 -35
  379. package/src/vite/utils/banner.ts +1 -1
  380. package/src/vite/utils/bundle-analysis.ts +10 -15
  381. package/src/vite/utils/client-chunks.ts +184 -0
  382. package/src/vite/utils/directive-prologue.ts +40 -0
  383. package/src/vite/utils/forward-user-plugins.ts +171 -0
  384. package/src/vite/utils/manifest-utils.ts +4 -59
  385. package/src/vite/utils/package-resolution.ts +20 -52
  386. package/src/vite/utils/prerender-utils.ts +67 -38
  387. package/src/vite/utils/shared-utils.ts +90 -41
  388. package/dist/__internal.d.ts +0 -83
  389. package/dist/__internal.d.ts.map +0 -1
  390. package/dist/__internal.js +0 -19
  391. package/dist/__internal.js.map +0 -1
  392. package/dist/__mocks__/version.d.ts +0 -7
  393. package/dist/__mocks__/version.d.ts.map +0 -1
  394. package/dist/__mocks__/version.js +0 -7
  395. package/dist/__mocks__/version.js.map +0 -1
  396. package/dist/__tests__/client-href.test.d.ts +0 -2
  397. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  398. package/dist/__tests__/client-href.test.js +0 -74
  399. package/dist/__tests__/client-href.test.js.map +0 -1
  400. package/dist/__tests__/component-utils.test.d.ts +0 -2
  401. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  402. package/dist/__tests__/component-utils.test.js +0 -51
  403. package/dist/__tests__/component-utils.test.js.map +0 -1
  404. package/dist/__tests__/event-controller.test.d.ts +0 -2
  405. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  406. package/dist/__tests__/event-controller.test.js +0 -538
  407. package/dist/__tests__/event-controller.test.js.map +0 -1
  408. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  409. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  410. package/dist/__tests__/helpers/route-tree.js +0 -374
  411. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  412. package/dist/__tests__/match-result.test.d.ts +0 -2
  413. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  414. package/dist/__tests__/match-result.test.js +0 -154
  415. package/dist/__tests__/match-result.test.js.map +0 -1
  416. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  417. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  418. package/dist/__tests__/navigation-store.test.js +0 -440
  419. package/dist/__tests__/navigation-store.test.js.map +0 -1
  420. package/dist/__tests__/partial-update.test.d.ts +0 -2
  421. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  422. package/dist/__tests__/partial-update.test.js +0 -1009
  423. package/dist/__tests__/partial-update.test.js.map +0 -1
  424. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  425. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  426. package/dist/__tests__/reverse-types.test.js +0 -656
  427. package/dist/__tests__/reverse-types.test.js.map +0 -1
  428. package/dist/__tests__/route-definition.test.d.ts +0 -2
  429. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  430. package/dist/__tests__/route-definition.test.js +0 -55
  431. package/dist/__tests__/route-definition.test.js.map +0 -1
  432. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  433. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  434. package/dist/__tests__/router-helpers.test.js +0 -377
  435. package/dist/__tests__/router-helpers.test.js.map +0 -1
  436. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  437. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  438. package/dist/__tests__/router-integration-2.test.js +0 -426
  439. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  440. package/dist/__tests__/router-integration.test.d.ts +0 -2
  441. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  442. package/dist/__tests__/router-integration.test.js +0 -1051
  443. package/dist/__tests__/router-integration.test.js.map +0 -1
  444. package/dist/__tests__/search-params.test.d.ts +0 -5
  445. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  446. package/dist/__tests__/search-params.test.js +0 -306
  447. package/dist/__tests__/search-params.test.js.map +0 -1
  448. package/dist/__tests__/segment-system.test.d.ts +0 -2
  449. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  450. package/dist/__tests__/segment-system.test.js +0 -627
  451. package/dist/__tests__/segment-system.test.js.map +0 -1
  452. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  453. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  454. package/dist/__tests__/static-handler-types.test.js +0 -63
  455. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  456. package/dist/__tests__/urls.test.d.ts +0 -2
  457. package/dist/__tests__/urls.test.d.ts.map +0 -1
  458. package/dist/__tests__/urls.test.js +0 -421
  459. package/dist/__tests__/urls.test.js.map +0 -1
  460. package/dist/__tests__/use-mount.test.d.ts +0 -2
  461. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  462. package/dist/__tests__/use-mount.test.js +0 -35
  463. package/dist/__tests__/use-mount.test.js.map +0 -1
  464. package/dist/bin/rango.d.ts +0 -2
  465. package/dist/bin/rango.d.ts.map +0 -1
  466. package/dist/bin/rango.js.map +0 -1
  467. package/dist/browser/event-controller.d.ts +0 -191
  468. package/dist/browser/event-controller.d.ts.map +0 -1
  469. package/dist/browser/event-controller.js +0 -559
  470. package/dist/browser/event-controller.js.map +0 -1
  471. package/dist/browser/index.d.ts +0 -2
  472. package/dist/browser/index.d.ts.map +0 -1
  473. package/dist/browser/index.js +0 -14
  474. package/dist/browser/index.js.map +0 -1
  475. package/dist/browser/link-interceptor.d.ts +0 -38
  476. package/dist/browser/link-interceptor.d.ts.map +0 -1
  477. package/dist/browser/link-interceptor.js +0 -99
  478. package/dist/browser/link-interceptor.js.map +0 -1
  479. package/dist/browser/logging.d.ts +0 -10
  480. package/dist/browser/logging.d.ts.map +0 -1
  481. package/dist/browser/logging.js +0 -29
  482. package/dist/browser/logging.js.map +0 -1
  483. package/dist/browser/lru-cache.d.ts +0 -17
  484. package/dist/browser/lru-cache.d.ts.map +0 -1
  485. package/dist/browser/lru-cache.js +0 -50
  486. package/dist/browser/lru-cache.js.map +0 -1
  487. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  488. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  489. package/dist/browser/merge-segment-loaders.js +0 -102
  490. package/dist/browser/merge-segment-loaders.js.map +0 -1
  491. package/dist/browser/navigation-bridge.d.ts +0 -102
  492. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  493. package/dist/browser/navigation-bridge.js +0 -708
  494. package/dist/browser/navigation-bridge.js.map +0 -1
  495. package/dist/browser/navigation-client.d.ts +0 -25
  496. package/dist/browser/navigation-client.d.ts.map +0 -1
  497. package/dist/browser/navigation-client.js +0 -157
  498. package/dist/browser/navigation-client.js.map +0 -1
  499. package/dist/browser/navigation-store.d.ts +0 -101
  500. package/dist/browser/navigation-store.d.ts.map +0 -1
  501. package/dist/browser/navigation-store.js +0 -625
  502. package/dist/browser/navigation-store.js.map +0 -1
  503. package/dist/browser/partial-update.d.ts +0 -75
  504. package/dist/browser/partial-update.d.ts.map +0 -1
  505. package/dist/browser/partial-update.js +0 -426
  506. package/dist/browser/partial-update.js.map +0 -1
  507. package/dist/browser/react/Link.d.ts +0 -86
  508. package/dist/browser/react/Link.d.ts.map +0 -1
  509. package/dist/browser/react/Link.js +0 -128
  510. package/dist/browser/react/Link.js.map +0 -1
  511. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  512. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  513. package/dist/browser/react/NavigationProvider.js +0 -216
  514. package/dist/browser/react/NavigationProvider.js.map +0 -1
  515. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  516. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  517. package/dist/browser/react/ScrollRestoration.js +0 -57
  518. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  519. package/dist/browser/react/context.d.ts +0 -46
  520. package/dist/browser/react/context.d.ts.map +0 -1
  521. package/dist/browser/react/context.js +0 -10
  522. package/dist/browser/react/context.js.map +0 -1
  523. package/dist/browser/react/index.d.ts +0 -11
  524. package/dist/browser/react/index.d.ts.map +0 -1
  525. package/dist/browser/react/index.js +0 -22
  526. package/dist/browser/react/index.js.map +0 -1
  527. package/dist/browser/react/location-state-shared.d.ts +0 -63
  528. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  529. package/dist/browser/react/location-state-shared.js +0 -81
  530. package/dist/browser/react/location-state-shared.js.map +0 -1
  531. package/dist/browser/react/location-state.d.ts +0 -23
  532. package/dist/browser/react/location-state.d.ts.map +0 -1
  533. package/dist/browser/react/location-state.js +0 -29
  534. package/dist/browser/react/location-state.js.map +0 -1
  535. package/dist/browser/react/mount-context.d.ts +0 -24
  536. package/dist/browser/react/mount-context.d.ts.map +0 -1
  537. package/dist/browser/react/mount-context.js +0 -24
  538. package/dist/browser/react/mount-context.js.map +0 -1
  539. package/dist/browser/react/use-action.d.ts +0 -64
  540. package/dist/browser/react/use-action.d.ts.map +0 -1
  541. package/dist/browser/react/use-action.js +0 -134
  542. package/dist/browser/react/use-action.js.map +0 -1
  543. package/dist/browser/react/use-client-cache.d.ts +0 -41
  544. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  545. package/dist/browser/react/use-client-cache.js +0 -39
  546. package/dist/browser/react/use-client-cache.js.map +0 -1
  547. package/dist/browser/react/use-handle.d.ts +0 -31
  548. package/dist/browser/react/use-handle.d.ts.map +0 -1
  549. package/dist/browser/react/use-handle.js +0 -144
  550. package/dist/browser/react/use-handle.js.map +0 -1
  551. package/dist/browser/react/use-href.d.ts +0 -33
  552. package/dist/browser/react/use-href.d.ts.map +0 -1
  553. package/dist/browser/react/use-href.js +0 -39
  554. package/dist/browser/react/use-href.js.map +0 -1
  555. package/dist/browser/react/use-link-status.d.ts +0 -37
  556. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  557. package/dist/browser/react/use-link-status.js +0 -99
  558. package/dist/browser/react/use-link-status.js.map +0 -1
  559. package/dist/browser/react/use-mount.d.ts +0 -25
  560. package/dist/browser/react/use-mount.d.ts.map +0 -1
  561. package/dist/browser/react/use-mount.js +0 -30
  562. package/dist/browser/react/use-mount.js.map +0 -1
  563. package/dist/browser/react/use-navigation.d.ts +0 -27
  564. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  565. package/dist/browser/react/use-navigation.js +0 -87
  566. package/dist/browser/react/use-navigation.js.map +0 -1
  567. package/dist/browser/react/use-segments.d.ts +0 -38
  568. package/dist/browser/react/use-segments.d.ts.map +0 -1
  569. package/dist/browser/react/use-segments.js +0 -130
  570. package/dist/browser/react/use-segments.js.map +0 -1
  571. package/dist/browser/request-controller.d.ts +0 -26
  572. package/dist/browser/request-controller.d.ts.map +0 -1
  573. package/dist/browser/request-controller.js +0 -147
  574. package/dist/browser/request-controller.js.map +0 -1
  575. package/dist/browser/rsc-router.d.ts +0 -129
  576. package/dist/browser/rsc-router.d.ts.map +0 -1
  577. package/dist/browser/rsc-router.js +0 -195
  578. package/dist/browser/rsc-router.js.map +0 -1
  579. package/dist/browser/scroll-restoration.d.ts +0 -93
  580. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  581. package/dist/browser/scroll-restoration.js +0 -321
  582. package/dist/browser/scroll-restoration.js.map +0 -1
  583. package/dist/browser/segment-structure-assert.d.ts +0 -17
  584. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  585. package/dist/browser/segment-structure-assert.js +0 -59
  586. package/dist/browser/segment-structure-assert.js.map +0 -1
  587. package/dist/browser/server-action-bridge.d.ts +0 -26
  588. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  589. package/dist/browser/server-action-bridge.js +0 -668
  590. package/dist/browser/server-action-bridge.js.map +0 -1
  591. package/dist/browser/shallow.d.ts +0 -12
  592. package/dist/browser/shallow.d.ts.map +0 -1
  593. package/dist/browser/shallow.js +0 -34
  594. package/dist/browser/shallow.js.map +0 -1
  595. package/dist/browser/types.d.ts +0 -369
  596. package/dist/browser/types.d.ts.map +0 -1
  597. package/dist/browser/types.js +0 -2
  598. package/dist/browser/types.js.map +0 -1
  599. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  600. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  601. package/dist/build/__tests__/generate-cli.test.js +0 -237
  602. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  603. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  604. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  605. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  606. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  607. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  608. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  609. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  610. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  611. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  612. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  613. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  614. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  615. package/dist/build/generate-manifest.d.ts +0 -81
  616. package/dist/build/generate-manifest.d.ts.map +0 -1
  617. package/dist/build/generate-manifest.js +0 -276
  618. package/dist/build/generate-manifest.js.map +0 -1
  619. package/dist/build/generate-route-types.d.ts +0 -115
  620. package/dist/build/generate-route-types.d.ts.map +0 -1
  621. package/dist/build/generate-route-types.js +0 -740
  622. package/dist/build/generate-route-types.js.map +0 -1
  623. package/dist/build/index.d.ts +0 -21
  624. package/dist/build/index.d.ts.map +0 -1
  625. package/dist/build/index.js +0 -21
  626. package/dist/build/index.js.map +0 -1
  627. package/dist/build/route-trie.d.ts +0 -71
  628. package/dist/build/route-trie.d.ts.map +0 -1
  629. package/dist/build/route-trie.js +0 -175
  630. package/dist/build/route-trie.js.map +0 -1
  631. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  632. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  633. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  634. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  635. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  636. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  637. package/dist/cache/__tests__/document-cache.test.js +0 -345
  638. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  639. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  640. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  641. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  642. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  643. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  644. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  645. package/dist/cache/__tests__/memory-store.test.js +0 -367
  646. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  647. package/dist/cache/cache-scope.d.ts +0 -102
  648. package/dist/cache/cache-scope.d.ts.map +0 -1
  649. package/dist/cache/cache-scope.js +0 -440
  650. package/dist/cache/cache-scope.js.map +0 -1
  651. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  652. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  653. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  654. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  655. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  656. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  657. package/dist/cache/cf/cf-cache-store.js +0 -242
  658. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  659. package/dist/cache/cf/index.d.ts +0 -14
  660. package/dist/cache/cf/index.d.ts.map +0 -1
  661. package/dist/cache/cf/index.js +0 -17
  662. package/dist/cache/cf/index.js.map +0 -1
  663. package/dist/cache/document-cache.d.ts +0 -64
  664. package/dist/cache/document-cache.d.ts.map +0 -1
  665. package/dist/cache/document-cache.js +0 -228
  666. package/dist/cache/document-cache.js.map +0 -1
  667. package/dist/cache/index.d.ts +0 -19
  668. package/dist/cache/index.d.ts.map +0 -1
  669. package/dist/cache/index.js +0 -21
  670. package/dist/cache/index.js.map +0 -1
  671. package/dist/cache/memory-segment-store.d.ts +0 -110
  672. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  673. package/dist/cache/memory-segment-store.js +0 -117
  674. package/dist/cache/memory-segment-store.js.map +0 -1
  675. package/dist/cache/memory-store.d.ts +0 -41
  676. package/dist/cache/memory-store.d.ts.map +0 -1
  677. package/dist/cache/memory-store.js +0 -191
  678. package/dist/cache/memory-store.js.map +0 -1
  679. package/dist/cache/types.d.ts +0 -317
  680. package/dist/cache/types.d.ts.map +0 -1
  681. package/dist/cache/types.js +0 -12
  682. package/dist/cache/types.js.map +0 -1
  683. package/dist/client.d.ts +0 -248
  684. package/dist/client.d.ts.map +0 -1
  685. package/dist/client.js +0 -367
  686. package/dist/client.js.map +0 -1
  687. package/dist/client.rsc.d.ts +0 -26
  688. package/dist/client.rsc.d.ts.map +0 -1
  689. package/dist/client.rsc.js +0 -46
  690. package/dist/client.rsc.js.map +0 -1
  691. package/dist/component-utils.d.ts +0 -36
  692. package/dist/component-utils.d.ts.map +0 -1
  693. package/dist/component-utils.js +0 -61
  694. package/dist/component-utils.js.map +0 -1
  695. package/dist/components/DefaultDocument.d.ts +0 -13
  696. package/dist/components/DefaultDocument.d.ts.map +0 -1
  697. package/dist/components/DefaultDocument.js +0 -15
  698. package/dist/components/DefaultDocument.js.map +0 -1
  699. package/dist/debug.d.ts +0 -58
  700. package/dist/debug.d.ts.map +0 -1
  701. package/dist/debug.js +0 -157
  702. package/dist/debug.js.map +0 -1
  703. package/dist/default-error-boundary.d.ts +0 -11
  704. package/dist/default-error-boundary.d.ts.map +0 -1
  705. package/dist/default-error-boundary.js +0 -45
  706. package/dist/default-error-boundary.js.map +0 -1
  707. package/dist/deps/browser.d.ts +0 -2
  708. package/dist/deps/browser.d.ts.map +0 -1
  709. package/dist/deps/browser.js +0 -3
  710. package/dist/deps/browser.js.map +0 -1
  711. package/dist/deps/html-stream-client.d.ts +0 -2
  712. package/dist/deps/html-stream-client.d.ts.map +0 -1
  713. package/dist/deps/html-stream-client.js +0 -3
  714. package/dist/deps/html-stream-client.js.map +0 -1
  715. package/dist/deps/html-stream-server.d.ts +0 -2
  716. package/dist/deps/html-stream-server.d.ts.map +0 -1
  717. package/dist/deps/html-stream-server.js +0 -3
  718. package/dist/deps/html-stream-server.js.map +0 -1
  719. package/dist/deps/rsc.d.ts +0 -2
  720. package/dist/deps/rsc.d.ts.map +0 -1
  721. package/dist/deps/rsc.js +0 -4
  722. package/dist/deps/rsc.js.map +0 -1
  723. package/dist/deps/ssr.d.ts +0 -2
  724. package/dist/deps/ssr.d.ts.map +0 -1
  725. package/dist/deps/ssr.js +0 -3
  726. package/dist/deps/ssr.js.map +0 -1
  727. package/dist/errors.d.ts +0 -174
  728. package/dist/errors.d.ts.map +0 -1
  729. package/dist/errors.js +0 -241
  730. package/dist/errors.js.map +0 -1
  731. package/dist/handle.d.ts +0 -78
  732. package/dist/handle.d.ts.map +0 -1
  733. package/dist/handle.js +0 -82
  734. package/dist/handle.js.map +0 -1
  735. package/dist/handles/MetaTags.d.ts +0 -14
  736. package/dist/handles/MetaTags.d.ts.map +0 -1
  737. package/dist/handles/MetaTags.js +0 -136
  738. package/dist/handles/MetaTags.js.map +0 -1
  739. package/dist/handles/index.d.ts +0 -6
  740. package/dist/handles/index.d.ts.map +0 -1
  741. package/dist/handles/index.js +0 -6
  742. package/dist/handles/index.js.map +0 -1
  743. package/dist/handles/meta.d.ts +0 -39
  744. package/dist/handles/meta.d.ts.map +0 -1
  745. package/dist/handles/meta.js +0 -202
  746. package/dist/handles/meta.js.map +0 -1
  747. package/dist/host/__tests__/errors.test.d.ts +0 -2
  748. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  749. package/dist/host/__tests__/errors.test.js +0 -76
  750. package/dist/host/__tests__/errors.test.js.map +0 -1
  751. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  752. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  753. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  754. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  755. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  756. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  757. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  758. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  759. package/dist/host/__tests__/router.test.d.ts +0 -2
  760. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  761. package/dist/host/__tests__/router.test.js +0 -241
  762. package/dist/host/__tests__/router.test.js.map +0 -1
  763. package/dist/host/__tests__/testing.test.d.ts +0 -2
  764. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  765. package/dist/host/__tests__/testing.test.js +0 -64
  766. package/dist/host/__tests__/testing.test.js.map +0 -1
  767. package/dist/host/__tests__/utils.test.d.ts +0 -2
  768. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  769. package/dist/host/__tests__/utils.test.js +0 -29
  770. package/dist/host/__tests__/utils.test.js.map +0 -1
  771. package/dist/host/cookie-handler.d.ts +0 -34
  772. package/dist/host/cookie-handler.d.ts.map +0 -1
  773. package/dist/host/cookie-handler.js +0 -124
  774. package/dist/host/cookie-handler.js.map +0 -1
  775. package/dist/host/errors.d.ts +0 -56
  776. package/dist/host/errors.d.ts.map +0 -1
  777. package/dist/host/errors.js +0 -79
  778. package/dist/host/errors.js.map +0 -1
  779. package/dist/host/index.d.ts +0 -29
  780. package/dist/host/index.d.ts.map +0 -1
  781. package/dist/host/index.js +0 -32
  782. package/dist/host/index.js.map +0 -1
  783. package/dist/host/pattern-matcher.d.ts +0 -36
  784. package/dist/host/pattern-matcher.d.ts.map +0 -1
  785. package/dist/host/pattern-matcher.js +0 -172
  786. package/dist/host/pattern-matcher.js.map +0 -1
  787. package/dist/host/router.d.ts +0 -26
  788. package/dist/host/router.d.ts.map +0 -1
  789. package/dist/host/router.js +0 -218
  790. package/dist/host/router.js.map +0 -1
  791. package/dist/host/testing.d.ts +0 -36
  792. package/dist/host/testing.d.ts.map +0 -1
  793. package/dist/host/testing.js +0 -55
  794. package/dist/host/testing.js.map +0 -1
  795. package/dist/host/types.d.ts +0 -115
  796. package/dist/host/types.d.ts.map +0 -1
  797. package/dist/host/types.js +0 -7
  798. package/dist/host/types.js.map +0 -1
  799. package/dist/host/utils.d.ts +0 -21
  800. package/dist/host/utils.d.ts.map +0 -1
  801. package/dist/host/utils.js +0 -23
  802. package/dist/host/utils.js.map +0 -1
  803. package/dist/href-client.d.ts +0 -131
  804. package/dist/href-client.d.ts.map +0 -1
  805. package/dist/href-client.js +0 -64
  806. package/dist/href-client.js.map +0 -1
  807. package/dist/href-context.d.ts +0 -29
  808. package/dist/href-context.d.ts.map +0 -1
  809. package/dist/href-context.js +0 -21
  810. package/dist/href-context.js.map +0 -1
  811. package/dist/index.d.ts +0 -73
  812. package/dist/index.d.ts.map +0 -1
  813. package/dist/index.js +0 -91
  814. package/dist/index.js.map +0 -1
  815. package/dist/index.rsc.d.ts +0 -32
  816. package/dist/index.rsc.d.ts.map +0 -1
  817. package/dist/index.rsc.js +0 -40
  818. package/dist/index.rsc.js.map +0 -1
  819. package/dist/internal-debug.d.ts +0 -2
  820. package/dist/internal-debug.d.ts.map +0 -1
  821. package/dist/internal-debug.js +0 -5
  822. package/dist/internal-debug.js.map +0 -1
  823. package/dist/loader.d.ts +0 -14
  824. package/dist/loader.d.ts.map +0 -1
  825. package/dist/loader.js +0 -20
  826. package/dist/loader.js.map +0 -1
  827. package/dist/loader.rsc.d.ts +0 -19
  828. package/dist/loader.rsc.d.ts.map +0 -1
  829. package/dist/loader.rsc.js +0 -99
  830. package/dist/loader.rsc.js.map +0 -1
  831. package/dist/network-error-thrower.d.ts +0 -17
  832. package/dist/network-error-thrower.d.ts.map +0 -1
  833. package/dist/network-error-thrower.js +0 -14
  834. package/dist/network-error-thrower.js.map +0 -1
  835. package/dist/outlet-context.d.ts +0 -13
  836. package/dist/outlet-context.d.ts.map +0 -1
  837. package/dist/outlet-context.js +0 -3
  838. package/dist/outlet-context.js.map +0 -1
  839. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  840. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  841. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  842. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  843. package/dist/prerender/param-hash.d.ts +0 -16
  844. package/dist/prerender/param-hash.d.ts.map +0 -1
  845. package/dist/prerender/param-hash.js +0 -36
  846. package/dist/prerender/param-hash.js.map +0 -1
  847. package/dist/prerender/store.d.ts +0 -38
  848. package/dist/prerender/store.d.ts.map +0 -1
  849. package/dist/prerender/store.js +0 -61
  850. package/dist/prerender/store.js.map +0 -1
  851. package/dist/prerender.d.ts +0 -66
  852. package/dist/prerender.d.ts.map +0 -1
  853. package/dist/prerender.js +0 -57
  854. package/dist/prerender.js.map +0 -1
  855. package/dist/reverse.d.ts +0 -196
  856. package/dist/reverse.d.ts.map +0 -1
  857. package/dist/reverse.js +0 -78
  858. package/dist/reverse.js.map +0 -1
  859. package/dist/root-error-boundary.d.ts +0 -33
  860. package/dist/root-error-boundary.d.ts.map +0 -1
  861. package/dist/root-error-boundary.js +0 -165
  862. package/dist/root-error-boundary.js.map +0 -1
  863. package/dist/route-content-wrapper.d.ts +0 -46
  864. package/dist/route-content-wrapper.d.ts.map +0 -1
  865. package/dist/route-content-wrapper.js +0 -77
  866. package/dist/route-content-wrapper.js.map +0 -1
  867. package/dist/route-definition.d.ts +0 -421
  868. package/dist/route-definition.d.ts.map +0 -1
  869. package/dist/route-definition.js +0 -868
  870. package/dist/route-definition.js.map +0 -1
  871. package/dist/route-map-builder.d.ts +0 -155
  872. package/dist/route-map-builder.d.ts.map +0 -1
  873. package/dist/route-map-builder.js +0 -237
  874. package/dist/route-map-builder.js.map +0 -1
  875. package/dist/route-types.d.ts +0 -165
  876. package/dist/route-types.d.ts.map +0 -1
  877. package/dist/route-types.js +0 -7
  878. package/dist/route-types.js.map +0 -1
  879. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  880. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  881. package/dist/router/__tests__/handler-context.test.js +0 -65
  882. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  883. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  884. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  885. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  886. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  887. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  888. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  889. package/dist/router/__tests__/match-context.test.js +0 -92
  890. package/dist/router/__tests__/match-context.test.js.map +0 -1
  891. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  892. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  893. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  894. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  895. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  896. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  897. package/dist/router/__tests__/match-result.test.js +0 -457
  898. package/dist/router/__tests__/match-result.test.js.map +0 -1
  899. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  900. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  901. package/dist/router/__tests__/on-error.test.js +0 -678
  902. package/dist/router/__tests__/on-error.test.js.map +0 -1
  903. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  904. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  905. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  906. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  907. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  908. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  909. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  910. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  911. package/dist/router/error-handling.d.ts +0 -77
  912. package/dist/router/error-handling.d.ts.map +0 -1
  913. package/dist/router/error-handling.js +0 -202
  914. package/dist/router/error-handling.js.map +0 -1
  915. package/dist/router/handler-context.d.ts +0 -20
  916. package/dist/router/handler-context.d.ts.map +0 -1
  917. package/dist/router/handler-context.js +0 -198
  918. package/dist/router/handler-context.js.map +0 -1
  919. package/dist/router/intercept-resolution.d.ts +0 -66
  920. package/dist/router/intercept-resolution.d.ts.map +0 -1
  921. package/dist/router/intercept-resolution.js +0 -246
  922. package/dist/router/intercept-resolution.js.map +0 -1
  923. package/dist/router/loader-resolution.d.ts +0 -64
  924. package/dist/router/loader-resolution.d.ts.map +0 -1
  925. package/dist/router/loader-resolution.js +0 -284
  926. package/dist/router/loader-resolution.js.map +0 -1
  927. package/dist/router/logging.d.ts +0 -15
  928. package/dist/router/logging.d.ts.map +0 -1
  929. package/dist/router/logging.js +0 -99
  930. package/dist/router/logging.js.map +0 -1
  931. package/dist/router/manifest.d.ts +0 -22
  932. package/dist/router/manifest.d.ts.map +0 -1
  933. package/dist/router/manifest.js +0 -181
  934. package/dist/router/manifest.js.map +0 -1
  935. package/dist/router/match-api.d.ts +0 -35
  936. package/dist/router/match-api.d.ts.map +0 -1
  937. package/dist/router/match-api.js +0 -406
  938. package/dist/router/match-api.js.map +0 -1
  939. package/dist/router/match-context.d.ts +0 -206
  940. package/dist/router/match-context.d.ts.map +0 -1
  941. package/dist/router/match-context.js +0 -17
  942. package/dist/router/match-context.js.map +0 -1
  943. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  944. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  945. package/dist/router/match-middleware/background-revalidation.js +0 -75
  946. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  947. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  948. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  949. package/dist/router/match-middleware/cache-lookup.js +0 -257
  950. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  951. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  952. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  953. package/dist/router/match-middleware/cache-store.js +0 -108
  954. package/dist/router/match-middleware/cache-store.js.map +0 -1
  955. package/dist/router/match-middleware/index.d.ts +0 -81
  956. package/dist/router/match-middleware/index.d.ts.map +0 -1
  957. package/dist/router/match-middleware/index.js +0 -80
  958. package/dist/router/match-middleware/index.js.map +0 -1
  959. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  960. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  961. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  962. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  963. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  964. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  965. package/dist/router/match-middleware/segment-resolution.js +0 -53
  966. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  967. package/dist/router/match-pipelines.d.ts +0 -147
  968. package/dist/router/match-pipelines.d.ts.map +0 -1
  969. package/dist/router/match-pipelines.js +0 -82
  970. package/dist/router/match-pipelines.js.map +0 -1
  971. package/dist/router/match-result.d.ts +0 -126
  972. package/dist/router/match-result.d.ts.map +0 -1
  973. package/dist/router/match-result.js +0 -93
  974. package/dist/router/match-result.js.map +0 -1
  975. package/dist/router/metrics.d.ts +0 -20
  976. package/dist/router/metrics.d.ts.map +0 -1
  977. package/dist/router/metrics.js +0 -47
  978. package/dist/router/metrics.js.map +0 -1
  979. package/dist/router/middleware.d.ts +0 -249
  980. package/dist/router/middleware.d.ts.map +0 -1
  981. package/dist/router/middleware.js +0 -434
  982. package/dist/router/middleware.js.map +0 -1
  983. package/dist/router/middleware.test.d.ts +0 -2
  984. package/dist/router/middleware.test.d.ts.map +0 -1
  985. package/dist/router/middleware.test.js +0 -816
  986. package/dist/router/middleware.test.js.map +0 -1
  987. package/dist/router/pattern-matching.d.ts +0 -149
  988. package/dist/router/pattern-matching.d.ts.map +0 -1
  989. package/dist/router/pattern-matching.js +0 -349
  990. package/dist/router/pattern-matching.js.map +0 -1
  991. package/dist/router/revalidation.d.ts +0 -44
  992. package/dist/router/revalidation.d.ts.map +0 -1
  993. package/dist/router/revalidation.js +0 -147
  994. package/dist/router/revalidation.js.map +0 -1
  995. package/dist/router/router-context.d.ts +0 -135
  996. package/dist/router/router-context.d.ts.map +0 -1
  997. package/dist/router/router-context.js +0 -36
  998. package/dist/router/router-context.js.map +0 -1
  999. package/dist/router/segment-resolution.d.ts +0 -127
  1000. package/dist/router/segment-resolution.d.ts.map +0 -1
  1001. package/dist/router/segment-resolution.js +0 -919
  1002. package/dist/router/segment-resolution.js.map +0 -1
  1003. package/dist/router/trie-matching.d.ts +0 -40
  1004. package/dist/router/trie-matching.d.ts.map +0 -1
  1005. package/dist/router/trie-matching.js +0 -127
  1006. package/dist/router/trie-matching.js.map +0 -1
  1007. package/dist/router/types.d.ts +0 -136
  1008. package/dist/router/types.d.ts.map +0 -1
  1009. package/dist/router/types.js +0 -7
  1010. package/dist/router/types.js.map +0 -1
  1011. package/dist/router.d.ts +0 -753
  1012. package/dist/router.d.ts.map +0 -1
  1013. package/dist/router.gen.d.ts +0 -6
  1014. package/dist/router.gen.d.ts.map +0 -1
  1015. package/dist/router.gen.js +0 -6
  1016. package/dist/router.gen.js.map +0 -1
  1017. package/dist/router.js +0 -1304
  1018. package/dist/router.js.map +0 -1
  1019. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  1020. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  1021. package/dist/rsc/__tests__/helpers.test.js +0 -140
  1022. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  1023. package/dist/rsc/handler.d.ts +0 -45
  1024. package/dist/rsc/handler.d.ts.map +0 -1
  1025. package/dist/rsc/handler.js +0 -1172
  1026. package/dist/rsc/handler.js.map +0 -1
  1027. package/dist/rsc/helpers.d.ts +0 -16
  1028. package/dist/rsc/helpers.d.ts.map +0 -1
  1029. package/dist/rsc/helpers.js +0 -55
  1030. package/dist/rsc/helpers.js.map +0 -1
  1031. package/dist/rsc/index.d.ts +0 -22
  1032. package/dist/rsc/index.d.ts.map +0 -1
  1033. package/dist/rsc/index.js +0 -23
  1034. package/dist/rsc/index.js.map +0 -1
  1035. package/dist/rsc/nonce.d.ts +0 -9
  1036. package/dist/rsc/nonce.d.ts.map +0 -1
  1037. package/dist/rsc/nonce.js +0 -18
  1038. package/dist/rsc/nonce.js.map +0 -1
  1039. package/dist/rsc/types.d.ts +0 -206
  1040. package/dist/rsc/types.d.ts.map +0 -1
  1041. package/dist/rsc/types.js +0 -8
  1042. package/dist/rsc/types.js.map +0 -1
  1043. package/dist/search-params.d.ts +0 -103
  1044. package/dist/search-params.d.ts.map +0 -1
  1045. package/dist/search-params.js +0 -74
  1046. package/dist/search-params.js.map +0 -1
  1047. package/dist/segment-system.d.ts +0 -75
  1048. package/dist/segment-system.d.ts.map +0 -1
  1049. package/dist/segment-system.js +0 -336
  1050. package/dist/segment-system.js.map +0 -1
  1051. package/dist/server/context.d.ts +0 -245
  1052. package/dist/server/context.d.ts.map +0 -1
  1053. package/dist/server/context.js +0 -197
  1054. package/dist/server/context.js.map +0 -1
  1055. package/dist/server/fetchable-loader-store.d.ts +0 -18
  1056. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  1057. package/dist/server/fetchable-loader-store.js +0 -18
  1058. package/dist/server/fetchable-loader-store.js.map +0 -1
  1059. package/dist/server/handle-store.d.ts +0 -85
  1060. package/dist/server/handle-store.d.ts.map +0 -1
  1061. package/dist/server/handle-store.js +0 -142
  1062. package/dist/server/handle-store.js.map +0 -1
  1063. package/dist/server/loader-registry.d.ts +0 -55
  1064. package/dist/server/loader-registry.d.ts.map +0 -1
  1065. package/dist/server/loader-registry.js +0 -132
  1066. package/dist/server/loader-registry.js.map +0 -1
  1067. package/dist/server/request-context.d.ts +0 -226
  1068. package/dist/server/request-context.d.ts.map +0 -1
  1069. package/dist/server/request-context.js +0 -290
  1070. package/dist/server/request-context.js.map +0 -1
  1071. package/dist/server/root-layout.d.ts +0 -4
  1072. package/dist/server/root-layout.d.ts.map +0 -1
  1073. package/dist/server/root-layout.js +0 -5
  1074. package/dist/server/root-layout.js.map +0 -1
  1075. package/dist/server.d.ts +0 -15
  1076. package/dist/server.d.ts.map +0 -1
  1077. package/dist/server.js +0 -20
  1078. package/dist/server.js.map +0 -1
  1079. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  1080. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  1081. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  1082. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  1083. package/dist/ssr/index.d.ts +0 -98
  1084. package/dist/ssr/index.d.ts.map +0 -1
  1085. package/dist/ssr/index.js +0 -158
  1086. package/dist/ssr/index.js.map +0 -1
  1087. package/dist/static-handler.d.ts +0 -50
  1088. package/dist/static-handler.d.ts.map +0 -1
  1089. package/dist/static-handler.gen.d.ts +0 -5
  1090. package/dist/static-handler.gen.d.ts.map +0 -1
  1091. package/dist/static-handler.gen.js +0 -5
  1092. package/dist/static-handler.gen.js.map +0 -1
  1093. package/dist/static-handler.js +0 -29
  1094. package/dist/static-handler.js.map +0 -1
  1095. package/dist/theme/ThemeProvider.d.ts +0 -20
  1096. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  1097. package/dist/theme/ThemeProvider.js +0 -240
  1098. package/dist/theme/ThemeProvider.js.map +0 -1
  1099. package/dist/theme/ThemeScript.d.ts +0 -48
  1100. package/dist/theme/ThemeScript.d.ts.map +0 -1
  1101. package/dist/theme/ThemeScript.js +0 -13
  1102. package/dist/theme/ThemeScript.js.map +0 -1
  1103. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  1104. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  1105. package/dist/theme/__tests__/theme.test.js +0 -103
  1106. package/dist/theme/__tests__/theme.test.js.map +0 -1
  1107. package/dist/theme/constants.d.ts +0 -29
  1108. package/dist/theme/constants.d.ts.map +0 -1
  1109. package/dist/theme/constants.js +0 -48
  1110. package/dist/theme/constants.js.map +0 -1
  1111. package/dist/theme/index.d.ts +0 -31
  1112. package/dist/theme/index.d.ts.map +0 -1
  1113. package/dist/theme/index.js +0 -36
  1114. package/dist/theme/index.js.map +0 -1
  1115. package/dist/theme/theme-context.d.ts +0 -40
  1116. package/dist/theme/theme-context.d.ts.map +0 -1
  1117. package/dist/theme/theme-context.js +0 -60
  1118. package/dist/theme/theme-context.js.map +0 -1
  1119. package/dist/theme/theme-script.d.ts +0 -27
  1120. package/dist/theme/theme-script.d.ts.map +0 -1
  1121. package/dist/theme/theme-script.js +0 -147
  1122. package/dist/theme/theme-script.js.map +0 -1
  1123. package/dist/theme/types.d.ts +0 -163
  1124. package/dist/theme/types.d.ts.map +0 -1
  1125. package/dist/theme/types.js +0 -11
  1126. package/dist/theme/types.js.map +0 -1
  1127. package/dist/theme/use-theme.d.ts +0 -12
  1128. package/dist/theme/use-theme.d.ts.map +0 -1
  1129. package/dist/theme/use-theme.js +0 -40
  1130. package/dist/theme/use-theme.js.map +0 -1
  1131. package/dist/types.d.ts +0 -1479
  1132. package/dist/types.d.ts.map +0 -1
  1133. package/dist/types.js +0 -10
  1134. package/dist/types.js.map +0 -1
  1135. package/dist/urls.d.ts +0 -441
  1136. package/dist/urls.d.ts.map +0 -1
  1137. package/dist/urls.gen.d.ts +0 -8
  1138. package/dist/urls.gen.d.ts.map +0 -1
  1139. package/dist/urls.gen.js +0 -8
  1140. package/dist/urls.gen.js.map +0 -1
  1141. package/dist/urls.js +0 -443
  1142. package/dist/urls.js.map +0 -1
  1143. package/dist/use-loader.d.ts +0 -127
  1144. package/dist/use-loader.d.ts.map +0 -1
  1145. package/dist/use-loader.js +0 -237
  1146. package/dist/use-loader.js.map +0 -1
  1147. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  1148. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  1149. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  1150. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  1151. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  1152. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  1153. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  1154. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  1155. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  1156. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  1157. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  1158. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  1159. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  1160. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  1161. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  1162. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  1163. package/dist/vite/ast-handler-extract.d.ts +0 -49
  1164. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  1165. package/dist/vite/ast-handler-extract.js +0 -249
  1166. package/dist/vite/ast-handler-extract.js.map +0 -1
  1167. package/dist/vite/expose-action-id.d.ts +0 -19
  1168. package/dist/vite/expose-action-id.d.ts.map +0 -1
  1169. package/dist/vite/expose-action-id.js +0 -250
  1170. package/dist/vite/expose-action-id.js.map +0 -1
  1171. package/dist/vite/expose-id-utils.d.ts +0 -69
  1172. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  1173. package/dist/vite/expose-id-utils.js +0 -289
  1174. package/dist/vite/expose-id-utils.js.map +0 -1
  1175. package/dist/vite/expose-internal-ids.d.ts +0 -22
  1176. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  1177. package/dist/vite/expose-internal-ids.js +0 -886
  1178. package/dist/vite/expose-internal-ids.js.map +0 -1
  1179. package/dist/vite/index.d.ts +0 -149
  1180. package/dist/vite/index.d.ts.map +0 -1
  1181. package/dist/vite/index.js.bak +0 -5448
  1182. package/dist/vite/index.js.map +0 -1
  1183. package/dist/vite/index.named-routes.gen.ts +0 -103
  1184. package/dist/vite/package-resolution.d.ts +0 -43
  1185. package/dist/vite/package-resolution.d.ts.map +0 -1
  1186. package/dist/vite/package-resolution.js +0 -112
  1187. package/dist/vite/package-resolution.js.map +0 -1
  1188. package/dist/vite/virtual-entries.d.ts +0 -25
  1189. package/dist/vite/virtual-entries.d.ts.map +0 -1
  1190. package/dist/vite/virtual-entries.js +0 -110
  1191. package/dist/vite/virtual-entries.js.map +0 -1
  1192. package/src/browser/action-response-classifier.ts +0 -99
  1193. package/src/browser/react/use-client-cache.ts +0 -58
  1194. package/src/browser/shallow.ts +0 -40
  1195. package/src/handles/index.ts +0 -7
  1196. package/src/network-error-thrower.tsx +0 -23
  1197. package/src/router/middleware-cookies.ts +0 -55
@@ -0,0 +1,385 @@
1
+ /**
2
+ * runLoader — unit-test a loader function in isolation.
3
+ *
4
+ * Pass the RAW async loader body `(ctx) => ...`, or a registered `createLoader()`
5
+ * handle (its fn is recovered from the fetchable registry by `$$id`). The raw
6
+ * body needs no build step; the handle works because `createLoader` assigns a
7
+ * runtime-fallback `$$id` and registers its fn even without the Vite plugin (when
8
+ * imported through the server build — the consumer's `@rangojs/router` under the
9
+ * `rangoTestConfig()` preset). Either way the function is invoked directly with a
10
+ * constructed LoaderContext.
11
+ *
12
+ * The LoaderContext mirrors the canonical shape the router builds at runtime
13
+ * (see createUseFunction in server/request-context.ts). The loader runs inside
14
+ * runWithRequestContext so getRequestContext(), cookie reads, and header
15
+ * mutations resolve exactly as in production.
16
+ *
17
+ * Limitations (v1):
18
+ * - `ctx.rendered()` is not available — it requires the DSL render barrier,
19
+ * which only exists inside a full match. Calling it throws.
20
+ * - `ctx.reverse()` throws unless `routeMap` is provided (it does NOT fall back
21
+ * to the global route map — that would leak whichever routes another test
22
+ * registered).
23
+ * - `ctx.use(handle)` follows the production rule: reading a handle before
24
+ * `await ctx.rendered()` throws (pass `rendered` to mock the barrier).
25
+ * - `use cache` functions only cache (and only fire their taint/profile guards)
26
+ * when a `cacheStore` is provided — without one, registerCachedFunction
27
+ * bypasses (it checks for a store first). Pass `cacheStore`/`cacheProfiles`
28
+ * to exercise cached loaders; otherwise such a call runs uncached, like an
29
+ * app with no cache configured.
30
+ * - `formData` is exposed verbatim; no multipart parsing is performed.
31
+ * - Scoped dot-local reverse (`.sibling`) uses only the supplied `routeMap`;
32
+ * the production root-scoping signal (derived from the global registry) is
33
+ * not modeled, so a dotted name resolves against `routeMap` as given.
34
+ */
35
+
36
+ import {
37
+ runWithRequestContext,
38
+ type RequestContext,
39
+ } from "../server/request-context.js";
40
+ import { createReverseFunction } from "../router/handler-context.js";
41
+ import { getFetchableLoader } from "../server/fetchable-loader-store.js";
42
+ import type { LoaderContext, LoaderDefinition } from "../types.js";
43
+ import type { ContextVar } from "../context-var.js";
44
+ import { isHandle, type Handle } from "../handle.js";
45
+ import { collectHandle } from "./collect-handle.js";
46
+ import type { ThemeConfig } from "../theme/types.js";
47
+ import type { SegmentCacheStore } from "../cache/types.js";
48
+ import type { CacheProfile } from "../cache/profile-registry.js";
49
+ import {
50
+ createTestRequestContext,
51
+ buildRunSnapshot,
52
+ type CreateTestContextOptions,
53
+ type VarsInit,
54
+ type StateCookieSeed,
55
+ } from "./internal/context.js";
56
+
57
+ /**
58
+ * The loader context surfaced to a `runLoader` body. It mirrors the runtime
59
+ * LoaderContext but RELAXES the two members that are otherwise bound to the
60
+ * app's global route/var augmentation, because in a unit test they are driven by
61
+ * the `routeMap` / `vars` options instead:
62
+ * - `reverse` accepts any route name (the names come from `routeMap`, not the
63
+ * registered route map), and
64
+ * - `get` accepts any string key or ContextVar (keys come from `vars`).
65
+ */
66
+ export type TestLoaderContext<TEnv = any> = Omit<
67
+ LoaderContext<any, TEnv>,
68
+ "reverse" | "get"
69
+ > & {
70
+ reverse: (
71
+ name: string,
72
+ params?: Record<string, string>,
73
+ search?: Record<string, unknown>,
74
+ ) => string;
75
+ get: {
76
+ <T>(contextVar: ContextVar<T>): T | undefined;
77
+ <T = unknown>(key: string): T | undefined;
78
+ };
79
+ };
80
+
81
+ /**
82
+ * A resolver for `ctx.use(OtherLoader)` composition. Receives the dependency
83
+ * loader definition and returns its data (or a promise of it). When omitted,
84
+ * `ctx.use` delegates to the real request-context use(), which executes the
85
+ * dependency's own `fn` if present.
86
+ */
87
+ export type UseResolver = <T>(
88
+ loader: LoaderDefinition<T, any>,
89
+ ) => Promise<T> | T;
90
+
91
+ /**
92
+ * Options for runLoader.
93
+ */
94
+ export interface RunLoaderOptions<TEnv = any> {
95
+ /** Route params surfaced as `ctx.params` and `ctx.routeParams`. */
96
+ params?: Record<string, string>;
97
+ /** Search params; merged into the request URL so `ctx.searchParams` reflects them. */
98
+ search?: Record<string, string>;
99
+ /**
100
+ * The TYPED `ctx.search` object a route's search schema would produce. Distinct
101
+ * from `search` (which sets the raw `ctx.searchParams`): a loader on a typed
102
+ * search route reads `ctx.search`, which is otherwise `{}` in a test.
103
+ */
104
+ searchData?: Record<string, unknown>;
105
+ /** Router basename surfaced on the context (drives redirect() prefixing). */
106
+ basename?: string;
107
+ /**
108
+ * Theme config in the same shape `createRouter({ theme })` takes (e.g. `true`
109
+ * or `{ themes: [...] }`). Seeds the request's theme config so nested handler
110
+ * or cache contexts created from this loader observe it. Loaders themselves do
111
+ * not expose `ctx.theme`/`ctx.setTheme` (those are handler/middleware-only).
112
+ */
113
+ theme?: ThemeConfig | true;
114
+ /** Environment bindings surfaced as `ctx.env`. */
115
+ env?: TEnv;
116
+ /** Override the backing Request (string or Request). Defaults to a localhost GET. */
117
+ request?: Request | string;
118
+ /** Variables a prior middleware would have set (object or [key, value] list). */
119
+ vars?: VarsInit;
120
+ /** Route name -> pattern map enabling `ctx.reverse()`. */
121
+ routeMap?: Record<string, string>;
122
+ /** Matched route name for scoped `.name` reverse resolution. */
123
+ routeName?: string;
124
+ /** HTTP method surfaced as `ctx.method`. Defaults to "GET". */
125
+ method?: string;
126
+ /** Request body surfaced as `ctx.body`. */
127
+ body?: unknown;
128
+ /** Form data surfaced as `ctx.formData`. */
129
+ formData?: FormData;
130
+ /**
131
+ * Seed the data `ctx.use(OtherLoader)` returns, by loader REFERENCE — the same
132
+ * tuple form `renderHandler` / `renderRoute` use (`[[OtherLoader, data]]`).
133
+ * Matched by reference, so a real `createLoader()` handle resolves regardless
134
+ * of its build-injected `$$id`. For dynamic resolution (compute per dependency)
135
+ * use `use` instead; `loaders` is checked first.
136
+ */
137
+ loaders?: ReadonlyArray<readonly [LoaderDefinition<any, any>, unknown]>;
138
+ /** Resolver for `ctx.use(OtherLoader)` composition (dynamic; `loaders` wins if both match). */
139
+ use?: UseResolver;
140
+ /**
141
+ * Cache store backing `use cache` functions the loader invokes. Without it,
142
+ * a cached function bypasses (registerCachedFunction checks for a store
143
+ * first) and runs uncached — its taint/profile guards never fire. Pass one
144
+ * (e.g. `new MemorySegmentCacheStore()`) to test a cached loader.
145
+ */
146
+ cacheStore?: SegmentCacheStore;
147
+ /** Cache profiles (the `createRouter({ cacheProfiles })` shape). */
148
+ cacheProfiles?: Record<string, CacheProfile>;
149
+ /**
150
+ * Customize the rango state cookie a loader that calls
151
+ * `invalidateClientCache()` rotates (the name is always seeded — default
152
+ * `rango-state_router_0` — so it rotates like production). Assert via the
153
+ * `Set-Cookie` on the request context's response.
154
+ */
155
+ stateCookie?: StateCookieSeed;
156
+ /**
157
+ * Mock the `ctx.rendered()` render barrier so a loader that does
158
+ * `await ctx.rendered()` (to read handle data pushed during render) can be
159
+ * unit-tested. By default `ctx.rendered()` throws, because the real barrier
160
+ * only exists during a full route match. Pass `true` to resolve it
161
+ * immediately, or a function to control its timing/side effects.
162
+ *
163
+ * This tests the loader's POST-barrier compute logic against the seeded
164
+ * `handles` below — it does NOT exercise the real push -> accumulate -> barrier
165
+ * wiring (that stays e2e). Pair with `handles` to feed `ctx.use(SomeHandle)`.
166
+ */
167
+ rendered?: boolean | (() => void | Promise<void>);
168
+ /**
169
+ * Seed the values `ctx.use(SomeHandle)` returns — the ACCUMULATED handle data a
170
+ * loader reads after `await ctx.rendered()`. Matched by handle reference, so a
171
+ * real handle works regardless of its (build-injected) `$$id`.
172
+ *
173
+ * @example
174
+ * await runLoader(livePricesBody, {
175
+ * rendered: true,
176
+ * handles: [[RenderedProducts, ["widget-a", "widget-b"]]],
177
+ * });
178
+ */
179
+ handles?: ReadonlyArray<readonly [Handle<any, any>, unknown]>;
180
+ }
181
+
182
+ function withSearch(
183
+ request: Request | string | undefined,
184
+ search: Record<string, string> | undefined,
185
+ ): Request | string | undefined {
186
+ if (!search) return request;
187
+ const DEFAULT_ORIGIN = "http://localhost/";
188
+ if (request instanceof Request) {
189
+ const url = new URL(request.url);
190
+ for (const [key, value] of Object.entries(search)) {
191
+ url.searchParams.set(key, value);
192
+ }
193
+ return new Request(url, request);
194
+ }
195
+ const url = new URL(request ?? DEFAULT_ORIGIN, DEFAULT_ORIGIN);
196
+ for (const [key, value] of Object.entries(search)) {
197
+ url.searchParams.set(key, value);
198
+ }
199
+ return url.toString();
200
+ }
201
+
202
+ /** A raw loader body, or a registered `createLoader()` handle (its fn is recovered). */
203
+ export type RunnableLoader<T> =
204
+ | ((ctx: TestLoaderContext) => Promise<T> | T)
205
+ | LoaderDefinition<T, any>;
206
+
207
+ function resolveLoaderFn<T>(
208
+ loader: RunnableLoader<T>,
209
+ ): (ctx: TestLoaderContext) => Promise<T> | T {
210
+ if (typeof loader === "function") {
211
+ return loader as (ctx: TestLoaderContext) => Promise<T> | T;
212
+ }
213
+ const def = loader as LoaderDefinition<T, any>;
214
+ const fn = def.fn ?? getFetchableLoader(def.$$id)?.fn;
215
+ if (!fn) {
216
+ throw new Error(
217
+ `runLoader() received a createLoader() handle whose function could not be ` +
218
+ `recovered (id "${def.$$id || "<empty>"}"). The loader was likely imported ` +
219
+ `through the CLIENT build, which drops the body. Either import it through ` +
220
+ `@rangojs/router with the rangoTestConfig() preset (resolves to the server ` +
221
+ `build that registers the fn), or pass the raw loader body directly: ` +
222
+ `runLoader((ctx) => ...).`,
223
+ );
224
+ }
225
+ return fn as (ctx: TestLoaderContext) => Promise<T> | T;
226
+ }
227
+
228
+ function buildLoaderCtxOpts(
229
+ opts: RunLoaderOptions,
230
+ ): CreateTestContextOptions<any> {
231
+ return {
232
+ env: opts.env,
233
+ request: withSearch(opts.request, opts.search),
234
+ requestInit: opts.method ? { method: opts.method } : undefined,
235
+ vars: opts.vars,
236
+ routeMap: opts.routeMap,
237
+ routeName: opts.routeName,
238
+ params: opts.params,
239
+ basename: opts.basename,
240
+ theme: opts.theme,
241
+ cacheStore: opts.cacheStore,
242
+ cacheProfiles: opts.cacheProfiles,
243
+ stateCookie: opts.stateCookie,
244
+ };
245
+ }
246
+
247
+ function runWithLoaderContext<R>(
248
+ reqCtx: RequestContext<any>,
249
+ opts: RunLoaderOptions,
250
+ fn: (ctx: TestLoaderContext) => R,
251
+ ): R {
252
+ const handleSeeds = new Map<unknown, unknown>(opts.handles ?? []);
253
+ const loaderSeeds = new Map<unknown, unknown>(opts.loaders ?? []);
254
+ let renderedResolved = false;
255
+
256
+ return runWithRequestContext(reqCtx, () => {
257
+ const reverse = opts.routeMap
258
+ ? createReverseFunction(opts.routeMap, opts.routeName, opts.params ?? {})
259
+ : ((() => {
260
+ throw new Error(
261
+ "ctx.reverse() requires the `routeMap` option in runLoader(). " +
262
+ "Pass { routeMap: { name: pattern, ... } } to enable reverse().",
263
+ );
264
+ }) as TestLoaderContext["reverse"]);
265
+
266
+ const loaderCtx: TestLoaderContext = {
267
+ params: opts.params ?? {},
268
+ routeParams: (opts.params ?? {}) as Record<string, string>,
269
+ request: reqCtx.request,
270
+ searchParams: reqCtx.searchParams,
271
+ search: opts.searchData ?? {},
272
+ pathname: reqCtx.pathname,
273
+ url: reqCtx.url,
274
+ originalUrl: reqCtx.originalUrl,
275
+ env: reqCtx.env,
276
+ waitUntil: reqCtx.waitUntil.bind(reqCtx),
277
+ executionContext: reqCtx.executionContext,
278
+ get: reqCtx.get as TestLoaderContext["get"],
279
+ use: ((dep: LoaderDefinition<any, any> | Handle<any, any>) => {
280
+ if (isHandle(dep) && !renderedResolved) {
281
+ throw new Error(
282
+ `ctx.use(handle) in a loader requires "await ctx.rendered()" first. ` +
283
+ `Handle "${(dep as Handle<any, any>).$$id}" cannot be read until ` +
284
+ `the render tree has settled.`,
285
+ );
286
+ }
287
+ if (handleSeeds.has(dep)) return handleSeeds.get(dep);
288
+ if (isHandle(dep)) return collectHandle(dep, []);
289
+ // Production ctx.use(Loader) ALWAYS returns a Promise (the cached loader
290
+ // promise). The seeded path must match, so a consumer composing on the
291
+ // result (ctx.use(Dep).then(...), Promise.race, etc.) works the same as
292
+ // production and the real-fn delegate path below.
293
+ if (loaderSeeds.has(dep)) return Promise.resolve(loaderSeeds.get(dep));
294
+ if (opts.use)
295
+ return Promise.resolve(opts.use(dep as LoaderDefinition<any, any>));
296
+ return reqCtx.use(dep as LoaderDefinition<any, any>);
297
+ }) as LoaderContext<any, any>["use"],
298
+ method: opts.method ?? "GET",
299
+ body: opts.body,
300
+ formData: opts.formData,
301
+ reverse: reverse as TestLoaderContext["reverse"],
302
+ rendered:
303
+ opts.rendered !== undefined && opts.rendered !== false
304
+ ? async () => {
305
+ if (typeof opts.rendered === "function") {
306
+ await opts.rendered();
307
+ }
308
+ renderedResolved = true;
309
+ }
310
+ : () => {
311
+ throw new Error(
312
+ "ctx.rendered() is not available in runLoader() by default. It " +
313
+ "requires the DSL render barrier, which only exists during a " +
314
+ "full route match. To unit-test a loader's post-barrier logic, " +
315
+ "pass { rendered: true } to mock the barrier and { handles: " +
316
+ "[[SomeHandle, accumulatedData]] } to seed ctx.use(SomeHandle). " +
317
+ "For the real push/accumulate/barrier wiring, use an e2e test.",
318
+ );
319
+ },
320
+ };
321
+
322
+ return fn(loaderCtx);
323
+ });
324
+ }
325
+
326
+ export async function runLoader<T>(
327
+ loader: RunnableLoader<T>,
328
+ opts: RunLoaderOptions = {},
329
+ ): Promise<T> {
330
+ const loaderFn = resolveLoaderFn(loader);
331
+ const { ctx } = createTestRequestContext(buildLoaderCtxOpts(opts));
332
+ return runWithLoaderContext(ctx as RequestContext<any>, opts, (loaderCtx) =>
333
+ Promise.resolve(loaderFn(loaderCtx)),
334
+ );
335
+ }
336
+
337
+ export interface RunLoaderResult<T> {
338
+ /**
339
+ * The loader's resolved data (the value bare `runLoader` returns), or
340
+ * `undefined` if it threw (see {@link thrown}). Named `result` for parity with
341
+ * `runInRequestContext`'s envelope.
342
+ */
343
+ result: T | undefined;
344
+ /**
345
+ * What the loader threw (commonly a `Response` from `throw redirect(...)` on a
346
+ * success path) — captured, NOT re-thrown; assert on it. `undefined` if the
347
+ * loader returned normally.
348
+ */
349
+ thrown: unknown;
350
+ /**
351
+ * The merged `Response` (status + headers + Set-Cookie). On a thrown redirect,
352
+ * that redirect's `Location` merged with the accumulated cookies/headers — so a
353
+ * loader that sets a session cookie then `throw redirect("/")` exposes BOTH.
354
+ */
355
+ response: Response;
356
+ /** Effective cookie view: request cookies + the loader's mutations, last-write-wins. */
357
+ cookies: Record<string, string>;
358
+ /** Response headers as `{ name: value }`, EXCLUDING set-cookie (use `cookies`). Lowercased. */
359
+ headers: Record<string, string>;
360
+ /** Location state the loader set (`ctx.setLocationState()` / `redirect({ state })`). */
361
+ locationState: Record<string, unknown>;
362
+ /** The resolved rango state cookie name seeded for the run (default `rango-state_router_0`). */
363
+ stateCookieName: string;
364
+ }
365
+
366
+ export async function runLoaderResult<T>(
367
+ loader: RunnableLoader<T>,
368
+ opts: RunLoaderOptions = {},
369
+ ): Promise<RunLoaderResult<T>> {
370
+ const loaderFn = resolveLoaderFn(loader);
371
+ const { ctx, stateCookieName } = createTestRequestContext(
372
+ buildLoaderCtxOpts(opts),
373
+ );
374
+ const reqCtx = ctx as RequestContext<any>;
375
+ let result: T | undefined;
376
+ let thrown: unknown;
377
+ try {
378
+ result = await runWithLoaderContext(reqCtx, opts, (loaderCtx) =>
379
+ Promise.resolve(loaderFn(loaderCtx)),
380
+ );
381
+ } catch (error) {
382
+ thrown = error;
383
+ }
384
+ return { result, ...buildRunSnapshot(reqCtx, thrown, stateCookieName) };
385
+ }
@@ -0,0 +1,205 @@
1
+ /**
2
+ * runMiddleware — unit-test one or more middleware functions in isolation.
3
+ *
4
+ * Executes the middleware chain via the SAME executeLoaderMiddleware the router
5
+ * uses, so ordering, `next()`, short-circuit (return OR throw Response),
6
+ * double-next guards, and header/cookie merging behave identically to
7
+ * production. The chain runs inside runWithRequestContext, so cookie/header
8
+ * mutations and getRequestContext() resolve.
9
+ *
10
+ * The returned `ctx` is the underlying RequestContext (not the per-middleware
11
+ * MiddlewareContext), exposing `ctx.cookies()`, `ctx.get()`, and
12
+ * `ctx.res.headers` for assertions on what the chain produced.
13
+ *
14
+ * `nextCalled` counts how many times the terminal `next()` (the finalHandler)
15
+ * ran: 0 when the chain short-circuited, 1 when it ran to completion.
16
+ */
17
+
18
+ import {
19
+ runWithRequestContext,
20
+ type RequestContext,
21
+ } from "../server/request-context.js";
22
+ import { executeLoaderMiddleware } from "../router/middleware.js";
23
+ import { createReverseFunction } from "../router/handler-context.js";
24
+ import type { MiddlewareFn } from "../router/middleware-types.js";
25
+ import {
26
+ createTestRequestContext,
27
+ headersToObject,
28
+ snapshotRunEffects,
29
+ type CreateTestContextOptions,
30
+ type VarsInit,
31
+ type StateCookieSeed,
32
+ } from "./internal/context.js";
33
+ import type { ThemeConfig } from "../theme/types.js";
34
+ import type { SegmentCacheStore } from "../cache/types.js";
35
+ import type { CacheProfile } from "../cache/profile-registry.js";
36
+
37
+ /**
38
+ * Options for runMiddleware.
39
+ */
40
+ export interface RunMiddlewareOptions<TEnv = any> {
41
+ /**
42
+ * The request the chain runs under: a `Request`, or a URL string (absolute or
43
+ * path). Optional for parity with `runLoader`/`runInRequestContext` — when
44
+ * omitted it defaults to `http://localhost/`. Pass it for path-, header-, or
45
+ * cookie-driven middleware.
46
+ */
47
+ request?: Request | string;
48
+ /** Environment bindings surfaced as `ctx.env`. */
49
+ env?: TEnv;
50
+ /** Route params surfaced as `ctx.params`. */
51
+ params?: Record<string, string>;
52
+ /** Variables a prior middleware would have set (object or [key, value] list). */
53
+ vars?: VarsInit;
54
+ /** Route name -> pattern map enabling `ctx.reverse()`. */
55
+ routeMap?: Record<string, string>;
56
+ /**
57
+ * Matched route name surfaced as `ctx.routeName`. Does NOT scope `.name`
58
+ * reverse: the chain receives a map-only `reverse` (built from `routeMap`
59
+ * alone), matching production app/response middleware — see the reverse
60
+ * construction below.
61
+ */
62
+ routeName?: string;
63
+ /** Router basename surfaced on the context (drives redirect() prefixing). */
64
+ basename?: string;
65
+ /** Theme config in the `createRouter({ theme })` shape (enables ctx.theme). */
66
+ theme?: ThemeConfig | true;
67
+ /**
68
+ * Terminal handler invoked when the chain calls `next()` all the way through.
69
+ * Defaults to a 200 empty Response. Use this to model the downstream
70
+ * route/handler response.
71
+ */
72
+ next?: () => Promise<Response>;
73
+ /**
74
+ * Cache store backing any `use cache` function a middleware invokes. Without
75
+ * it, registerCachedFunction bypasses (it checks for a store first), so the
76
+ * cached function runs uncached and its taint/profile guards never fire.
77
+ */
78
+ cacheStore?: SegmentCacheStore;
79
+ /** Cache profiles (the `createRouter({ cacheProfiles })` shape). */
80
+ cacheProfiles?: Record<string, CacheProfile>;
81
+ /**
82
+ * Customize the rango state cookie a middleware that calls
83
+ * `invalidateClientCache()` rotates (the name is always seeded — default
84
+ * `rango-state_router_0` — so it rotates like production). Assert via the
85
+ * `Set-Cookie` on `result.response` / `result.cookies`.
86
+ */
87
+ stateCookie?: StateCookieSeed;
88
+ }
89
+
90
+ /**
91
+ * Result of runMiddleware.
92
+ */
93
+ export interface RunMiddlewareResult<TEnv = any> {
94
+ /** The final Response (downstream response, or a middleware short-circuit). */
95
+ response: Response;
96
+ /**
97
+ * The underlying RequestContext. Read `ctx.cookies()`, `ctx.get(...)`, and
98
+ * `ctx.res.headers` to assert on the chain's effects. (This is always the
99
+ * RequestContext the chain ran under — not a per-middleware MiddlewareContext —
100
+ * so `ctx.cookies()` and the other RequestContext accessors are available.)
101
+ */
102
+ ctx: RequestContext<TEnv>;
103
+ /** Number of times the terminal handler ran (0 = short-circuited, 1 = passed through). */
104
+ nextCalled: number;
105
+ /**
106
+ * The effective cookie view after the chain ran: request cookies merged with
107
+ * anything the chain set or deleted (last-write-wins), as `{ name: value }`.
108
+ * The public way to assert a cookie a middleware set, without casting through
109
+ * the `@internal` `ctx.cookies()`. Set-Cookie headers are also on `response`.
110
+ */
111
+ cookies: Record<string, string>;
112
+ /**
113
+ * The final response's headers as a plain `{ name: value }` object (the same
114
+ * view as `response.headers`), EXCLUDING `set-cookie` (use `cookies`). The
115
+ * public way to assert a header a middleware set (e.g. a security header)
116
+ * without reading `ctx.res.headers`. Header names are lowercased.
117
+ */
118
+ headers: Record<string, string>;
119
+ /**
120
+ * Location state the chain set via `ctx.setLocationState()` / `redirect({ state })`,
121
+ * resolved to the flat `{ key: value }` shape the client reads off
122
+ * `history.state` (empty object when none) — parity with `runInRequestContext`
123
+ * and `renderHandler`.
124
+ */
125
+ locationState: Record<string, unknown>;
126
+ /**
127
+ * The resolved rango state cookie name seeded for the run (default
128
+ * `rango-state_router_0`, or composed from `opts.stateCookie`). Assert a
129
+ * middleware's `invalidateClientCache()` rotation against it without
130
+ * recomputing — parity with `runInRequestContext` / `runLoaderResult` /
131
+ * `renderHandler`.
132
+ */
133
+ stateCookieName: string;
134
+ }
135
+
136
+ export async function runMiddleware<TEnv = any>(
137
+ mw: MiddlewareFn<TEnv> | MiddlewareFn<TEnv>[],
138
+ opts: RunMiddlewareOptions<TEnv>,
139
+ ): Promise<RunMiddlewareResult<TEnv>> {
140
+ const mwArray = Array.isArray(mw) ? mw : [mw];
141
+
142
+ const ctxOpts: CreateTestContextOptions<TEnv> = {
143
+ env: opts.env,
144
+ request: opts.request,
145
+ vars: opts.vars,
146
+ routeMap: opts.routeMap,
147
+ routeName: opts.routeName,
148
+ params: opts.params,
149
+ basename: opts.basename,
150
+ theme: opts.theme,
151
+ cacheStore: opts.cacheStore,
152
+ cacheProfiles: opts.cacheProfiles,
153
+ stateCookie: opts.stateCookie,
154
+ };
155
+
156
+ const {
157
+ ctx,
158
+ request: builtRequest,
159
+ variables,
160
+ stateCookieName,
161
+ } = createTestRequestContext<TEnv>(ctxOpts);
162
+
163
+ let nextCalled = 0;
164
+ const finalHandler = async (): Promise<Response> => {
165
+ nextCalled++;
166
+ return opts.next?.() ?? new Response(null, { status: 200 });
167
+ };
168
+
169
+ const reverse = opts.routeMap
170
+ ? (createReverseFunction(opts.routeMap) as (
171
+ name: string,
172
+ params?: Record<string, string>,
173
+ search?: Record<string, unknown>,
174
+ ) => string)
175
+ : undefined;
176
+
177
+ if (reverse) {
178
+ (ctx as RequestContext<TEnv>).reverse =
179
+ reverse as RequestContext<TEnv>["reverse"];
180
+ }
181
+
182
+ const response = await runWithRequestContext(ctx, () =>
183
+ executeLoaderMiddleware<TEnv>(
184
+ mwArray,
185
+ builtRequest,
186
+ (opts.env ?? {}) as TEnv,
187
+ opts.params ?? {},
188
+ variables,
189
+ finalHandler,
190
+ reverse,
191
+ ),
192
+ );
193
+
194
+ const { cookies, locationState } = snapshotRunEffects(ctx);
195
+ const headers = headersToObject(response.headers);
196
+ return {
197
+ response,
198
+ ctx,
199
+ nextCalled,
200
+ cookies,
201
+ headers,
202
+ locationState,
203
+ stateCookieName,
204
+ };
205
+ }
@@ -0,0 +1,9 @@
1
+ // Stub for the `cloudflare:email` runtime virtual, shipped for Cloudflare
2
+ // consumers (enable via `rangoTestAliases({ preset: "cloudflare" })`).
3
+ export class EmailMessage {
4
+ constructor(
5
+ public from: string,
6
+ public to: string,
7
+ public raw: unknown,
8
+ ) {}
9
+ }
@@ -0,0 +1,21 @@
1
+ // Stub for the `cloudflare:workers` runtime virtual, shipped for Cloudflare
2
+ // consumers (enable via `rangoTestAliases({ preset: "cloudflare" })`). A CF app's
3
+ // route tree commonly imports `cloudflare:workers` (e.g. `import { env } from
4
+ // "cloudflare:workers"`), which does not resolve in a bare Vitest process.
5
+ export const env: Record<string, unknown> = {};
6
+
7
+ export class DurableObject<Env = unknown> {
8
+ constructor(
9
+ public ctx: unknown,
10
+ public env: Env,
11
+ ) {}
12
+ }
13
+
14
+ export class WorkerEntrypoint<Env = unknown> {
15
+ constructor(
16
+ public ctx: unknown,
17
+ public env: Env,
18
+ ) {}
19
+ }
20
+
21
+ export class RpcTarget {}
@@ -0,0 +1,16 @@
1
+ // Stub for `@vitejs/plugin-rsc/rsc`, shipped so consumers do not have to write a
2
+ // per-file `vi.mock(...)`. Importing a router internal transitively pulls this
3
+ // module, whose real top-level body imports Vite virtuals that do not resolve in
4
+ // plain node. The unit/integration primitives (dispatch/runLoader/runMiddleware)
5
+ // never render RSC, so empty fns suffice.
6
+ export const createFromReadableStream = (): never => {
7
+ throw new Error("plugin-rsc stub: createFromReadableStream not available");
8
+ };
9
+ export const renderToReadableStream = (): never => {
10
+ throw new Error("plugin-rsc stub: renderToReadableStream not available");
11
+ };
12
+ export const loadServerAction = (): undefined => undefined;
13
+ export const decodeReply = (): undefined => undefined;
14
+ export const decodeAction = (): undefined => undefined;
15
+ export const decodeFormState = (): undefined => undefined;
16
+ export const createTemporaryReferenceSet = (): Record<string, never> => ({});
@@ -0,0 +1,5 @@
1
+ // Stub for the build-only `@rangojs/router:version` virtual module, shipped so
2
+ // consumers do not have to author it. The rango Vite plugin injects this at
3
+ // build time; in a bare Vitest process it must be aliased to a stub. Empty
4
+ // string keeps generated URLs free of a version path segment.
5
+ export const VERSION = "";