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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1196) hide show
  1. package/AGENTS.md +8 -0
  2. package/README.md +169 -31
  3. package/dist/bin/rango.js +312 -93
  4. package/dist/testing/vitest.js +82 -0
  5. package/dist/vite/index.js +2827 -1032
  6. package/dist/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  7. package/package.json +76 -21
  8. package/skills/api-client/SKILL.md +211 -0
  9. package/skills/breadcrumbs/SKILL.md +64 -2
  10. package/skills/bundle-analysis/SKILL.md +159 -0
  11. package/skills/cache-guide/SKILL.md +224 -32
  12. package/skills/caching/SKILL.md +279 -17
  13. package/skills/composability/SKILL.md +27 -2
  14. package/skills/css/SKILL.md +76 -0
  15. package/skills/debug-manifest/SKILL.md +4 -2
  16. package/skills/document-cache/SKILL.md +78 -55
  17. package/skills/handler-use/SKILL.md +4 -2
  18. package/skills/hooks/SKILL.md +250 -30
  19. package/skills/host-router/SKILL.md +83 -23
  20. package/skills/i18n/SKILL.md +276 -0
  21. package/skills/intercept/SKILL.md +30 -6
  22. package/skills/layout/SKILL.md +13 -9
  23. package/skills/links/SKILL.md +247 -17
  24. package/skills/loader/SKILL.md +225 -9
  25. package/skills/middleware/SKILL.md +18 -10
  26. package/skills/migrate-nextjs/SKILL.md +40 -16
  27. package/skills/migrate-react-router/SKILL.md +9 -2
  28. package/skills/mime-routes/SKILL.md +28 -1
  29. package/skills/observability/SKILL.md +172 -0
  30. package/skills/parallel/SKILL.md +18 -7
  31. package/skills/prerender/SKILL.md +45 -43
  32. package/skills/rango/SKILL.md +251 -24
  33. package/skills/react-compiler/SKILL.md +168 -0
  34. package/skills/response-routes/SKILL.md +123 -48
  35. package/skills/route/SKILL.md +46 -5
  36. package/skills/router-setup/SKILL.md +29 -6
  37. package/skills/scripts/SKILL.md +179 -0
  38. package/skills/server-actions/SKILL.md +775 -0
  39. package/skills/streams-and-websockets/SKILL.md +283 -0
  40. package/skills/tailwind/SKILL.md +27 -3
  41. package/skills/testing/SKILL.md +129 -0
  42. package/skills/testing/bindings.md +103 -0
  43. package/skills/testing/cache-prerender.md +127 -0
  44. package/skills/testing/client-components.md +124 -0
  45. package/skills/testing/e2e-parity.md +125 -0
  46. package/skills/testing/flight.md +91 -0
  47. package/skills/testing/handles.md +129 -0
  48. package/skills/testing/loader.md +128 -0
  49. package/skills/testing/middleware.md +99 -0
  50. package/skills/testing/render-handler.md +121 -0
  51. package/skills/testing/response-routes.md +95 -0
  52. package/skills/testing/reverse-and-types.md +84 -0
  53. package/skills/testing/server-actions.md +107 -0
  54. package/skills/testing/server-tree.md +128 -0
  55. package/skills/testing/setup.md +123 -0
  56. package/skills/typesafety/SKILL.md +322 -29
  57. package/skills/use-cache/SKILL.md +46 -14
  58. package/skills/view-transitions/SKILL.md +294 -0
  59. package/src/__augment-tests__/augment.ts +81 -0
  60. package/src/__augment-tests__/augmented.check.ts +116 -0
  61. package/src/__internal.ts +0 -65
  62. package/src/browser/action-coordinator.ts +53 -36
  63. package/src/browser/action-fence.ts +47 -0
  64. package/src/browser/app-shell.ts +39 -0
  65. package/src/browser/connection-warmup.ts +134 -0
  66. package/src/browser/cookie-name.ts +140 -0
  67. package/src/browser/event-controller.ts +192 -150
  68. package/src/browser/history-state.ts +21 -0
  69. package/src/browser/index.ts +3 -3
  70. package/src/browser/invalidate-client-cache.ts +52 -0
  71. package/src/browser/navigation-bridge.ts +71 -16
  72. package/src/browser/navigation-client.ts +127 -78
  73. package/src/browser/navigation-store-handle.ts +38 -0
  74. package/src/browser/navigation-store.ts +33 -59
  75. package/src/browser/navigation-transaction.ts +9 -59
  76. package/src/browser/network-error-handler.ts +34 -7
  77. package/src/browser/partial-update.ts +125 -127
  78. package/src/browser/prefetch/cache.ts +201 -68
  79. package/src/browser/prefetch/fetch.ts +287 -59
  80. package/src/browser/prefetch/queue.ts +42 -8
  81. package/src/browser/rango-state.ts +158 -76
  82. package/src/browser/react/Link.tsx +48 -20
  83. package/src/browser/react/NavigationProvider.tsx +162 -118
  84. package/src/browser/react/ScrollRestoration.tsx +10 -6
  85. package/src/browser/react/filter-segment-order.ts +66 -7
  86. package/src/browser/react/index.ts +0 -48
  87. package/src/browser/react/location-state-shared.ts +178 -8
  88. package/src/browser/react/location-state.ts +39 -14
  89. package/src/browser/react/use-action.ts +6 -15
  90. package/src/browser/react/use-handle.ts +17 -14
  91. package/src/browser/react/use-href.tsx +8 -1
  92. package/src/browser/react/use-link-status.ts +33 -8
  93. package/src/browser/react/use-navigation.ts +32 -7
  94. package/src/browser/react/use-params.ts +20 -10
  95. package/src/browser/react/use-reverse.ts +106 -0
  96. package/src/browser/react/use-router.ts +25 -3
  97. package/src/browser/react/use-search-params.ts +0 -5
  98. package/src/browser/react/use-segments.ts +11 -21
  99. package/src/browser/response-adapter.ts +80 -5
  100. package/src/browser/rsc-router.tsx +91 -24
  101. package/src/browser/scroll-restoration.ts +30 -17
  102. package/src/browser/segment-structure-assert.ts +2 -2
  103. package/src/browser/server-action-bridge.ts +214 -55
  104. package/src/browser/types.ts +57 -8
  105. package/src/browser/validate-redirect-origin.ts +43 -16
  106. package/src/build/collect-fallback-refs.ts +107 -0
  107. package/src/build/generate-manifest.ts +60 -35
  108. package/src/build/generate-route-types.ts +2 -1
  109. package/src/build/index.ts +8 -2
  110. package/src/build/prefix-tree-utils.ts +123 -0
  111. package/src/build/route-trie.ts +117 -14
  112. package/src/build/route-types/ast-route-extraction.ts +15 -8
  113. package/src/build/route-types/codegen.ts +16 -5
  114. package/src/build/route-types/include-resolution.ts +117 -23
  115. package/src/build/route-types/param-extraction.ts +6 -3
  116. package/src/build/route-types/per-module-writer.ts +22 -6
  117. package/src/build/route-types/router-processing.ts +55 -28
  118. package/src/build/route-types/scan-filter.ts +1 -1
  119. package/src/build/route-types/source-scan.ts +216 -0
  120. package/src/build/runtime-discovery.ts +9 -20
  121. package/src/cache/cache-error.ts +104 -0
  122. package/src/cache/cache-key-utils.ts +29 -13
  123. package/src/cache/cache-policy.ts +108 -34
  124. package/src/cache/cache-runtime.ts +199 -37
  125. package/src/cache/cache-scope.ts +188 -82
  126. package/src/cache/cache-tag.ts +103 -0
  127. package/src/cache/cf/cf-base64.ts +33 -0
  128. package/src/cache/cf/cf-cache-constants.ts +127 -0
  129. package/src/cache/cf/cf-cache-store.ts +1989 -378
  130. package/src/cache/cf/cf-cache-types.ts +349 -0
  131. package/src/cache/cf/cf-kv-utils.ts +46 -0
  132. package/src/cache/cf/cf-tag-marker-memo.ts +105 -0
  133. package/src/cache/cf/index.ts +6 -16
  134. package/src/cache/document-cache.ts +72 -20
  135. package/src/cache/handle-snapshot.ts +70 -0
  136. package/src/cache/index.ts +10 -20
  137. package/src/cache/memory-segment-store.ts +136 -37
  138. package/src/cache/profile-registry.ts +31 -31
  139. package/src/cache/read-through-swr.ts +41 -11
  140. package/src/cache/segment-codec.ts +9 -17
  141. package/src/cache/tag-invalidation.ts +230 -0
  142. package/src/cache/types.ts +37 -100
  143. package/src/client.rsc.tsx +44 -21
  144. package/src/client.tsx +36 -61
  145. package/src/cloudflare/index.ts +11 -0
  146. package/src/cloudflare/tracing.ts +109 -0
  147. package/src/component-utils.ts +19 -0
  148. package/src/components/DefaultDocument.tsx +8 -2
  149. package/src/context-var.ts +18 -6
  150. package/src/decode-loader-results.ts +52 -0
  151. package/src/defer.ts +196 -0
  152. package/src/deps/ssr.ts +0 -1
  153. package/src/encode-kv.ts +49 -0
  154. package/src/errors.ts +30 -4
  155. package/src/escape-script.ts +52 -0
  156. package/src/handle.ts +31 -23
  157. package/src/handles/MetaTags.tsx +62 -19
  158. package/src/handles/Scripts.tsx +183 -0
  159. package/src/handles/breadcrumbs.ts +37 -8
  160. package/src/handles/is-thenable.ts +19 -0
  161. package/src/handles/meta.ts +51 -40
  162. package/src/handles/script.ts +244 -0
  163. package/src/host/cookie-handler.ts +9 -60
  164. package/src/host/errors.ts +0 -24
  165. package/src/host/index.ts +8 -2
  166. package/src/host/pattern-matcher.ts +23 -52
  167. package/src/host/router.ts +107 -99
  168. package/src/host/testing.ts +40 -27
  169. package/src/host/types.ts +37 -4
  170. package/src/host/utils.ts +1 -1
  171. package/src/href-client.ts +137 -22
  172. package/src/index.rsc.ts +90 -11
  173. package/src/index.ts +88 -10
  174. package/src/internal-debug.ts +11 -10
  175. package/src/loader-store.ts +500 -0
  176. package/src/loader.rsc.ts +20 -13
  177. package/src/loader.ts +12 -11
  178. package/src/missing-id-error.ts +68 -0
  179. package/src/outlet-context.ts +1 -1
  180. package/src/outlet-provider.tsx +1 -5
  181. package/src/prerender/param-hash.ts +16 -16
  182. package/src/prerender/store.ts +32 -37
  183. package/src/prerender.ts +61 -6
  184. package/src/redirect-origin.ts +100 -0
  185. package/src/regex-escape.ts +8 -0
  186. package/src/render-error-thrower.tsx +20 -0
  187. package/src/response-utils.ts +62 -0
  188. package/src/reverse.ts +65 -39
  189. package/src/root-error-boundary.tsx +1 -19
  190. package/src/route-content-wrapper.tsx +7 -72
  191. package/src/route-definition/dsl-helpers.ts +287 -281
  192. package/src/route-definition/helper-factories.ts +29 -139
  193. package/src/route-definition/helpers-types.ts +46 -18
  194. package/src/route-definition/redirect.ts +44 -11
  195. package/src/route-definition/resolve-handler-use.ts +12 -0
  196. package/src/route-definition/use-item-types.ts +32 -0
  197. package/src/route-map-builder.ts +0 -16
  198. package/src/route-types.ts +19 -41
  199. package/src/router/basename.ts +14 -0
  200. package/src/router/content-negotiation.ts +73 -25
  201. package/src/router/error-handling.ts +45 -18
  202. package/src/router/find-match.ts +44 -23
  203. package/src/router/handler-context.ts +27 -42
  204. package/src/router/instrument.ts +350 -0
  205. package/src/router/intercept-resolution.ts +39 -20
  206. package/src/router/lazy-includes.ts +10 -47
  207. package/src/router/loader-resolution.ts +155 -72
  208. package/src/router/logging.ts +0 -6
  209. package/src/router/manifest.ts +18 -29
  210. package/src/router/match-api.ts +4 -23
  211. package/src/router/match-context.ts +0 -22
  212. package/src/router/match-handlers.ts +58 -58
  213. package/src/router/match-middleware/background-revalidation.ts +6 -7
  214. package/src/router/match-middleware/cache-lookup.ts +159 -285
  215. package/src/router/match-middleware/cache-store.ts +31 -34
  216. package/src/router/match-middleware/intercept-resolution.ts +0 -22
  217. package/src/router/match-middleware/segment-resolution.ts +0 -22
  218. package/src/router/match-pipelines.ts +1 -42
  219. package/src/router/match-result.ts +44 -74
  220. package/src/router/metrics.ts +0 -34
  221. package/src/router/middleware-types.ts +7 -134
  222. package/src/router/middleware.ts +266 -166
  223. package/src/router/navigation-snapshot.ts +0 -51
  224. package/src/router/params-util.ts +23 -0
  225. package/src/router/pattern-matching.ts +132 -90
  226. package/src/router/prefetch-cache-ttl.ts +51 -0
  227. package/src/router/prerender-match.ts +104 -65
  228. package/src/router/preview-match.ts +3 -1
  229. package/src/router/request-classification.ts +28 -62
  230. package/src/router/revalidation.ts +123 -73
  231. package/src/router/route-snapshot.ts +0 -1
  232. package/src/router/router-context.ts +3 -28
  233. package/src/router/router-interfaces.ts +83 -35
  234. package/src/router/router-options.ts +136 -5
  235. package/src/router/router-registry.ts +2 -5
  236. package/src/router/segment-resolution/fresh.ts +93 -84
  237. package/src/router/segment-resolution/helpers.ts +86 -6
  238. package/src/router/segment-resolution/loader-cache.ts +62 -37
  239. package/src/router/segment-resolution/revalidation.ts +269 -320
  240. package/src/router/segment-resolution/static-store.ts +19 -5
  241. package/src/router/segment-resolution/streamed-handler-telemetry.ts +52 -0
  242. package/src/router/segment-resolution/view-transition-default.ts +36 -0
  243. package/src/router/segment-resolution.ts +5 -1
  244. package/src/router/segment-wrappers.ts +6 -5
  245. package/src/router/state-cookie-name.ts +33 -0
  246. package/src/router/substitute-pattern-params.ts +56 -0
  247. package/src/router/telemetry-otel.ts +161 -199
  248. package/src/router/telemetry.ts +96 -19
  249. package/src/router/timeout.ts +0 -20
  250. package/src/router/tracing.ts +206 -0
  251. package/src/router/trie-matching.ts +163 -59
  252. package/src/router/types.ts +9 -63
  253. package/src/router/url-params.ts +44 -0
  254. package/src/router.ts +110 -55
  255. package/src/rsc/handler-context.ts +3 -2
  256. package/src/rsc/handler.ts +266 -219
  257. package/src/rsc/helpers.ts +168 -46
  258. package/src/rsc/index.ts +2 -5
  259. package/src/rsc/json-route-result.ts +38 -0
  260. package/src/rsc/loader-fetch.ts +114 -38
  261. package/src/rsc/manifest-init.ts +28 -41
  262. package/src/rsc/origin-guard.ts +39 -25
  263. package/src/rsc/progressive-enhancement.ts +63 -9
  264. package/src/rsc/redirect-guard.ts +99 -0
  265. package/src/rsc/response-cache-serve.ts +238 -0
  266. package/src/rsc/response-error.ts +79 -12
  267. package/src/rsc/response-route-handler.ts +99 -189
  268. package/src/rsc/rsc-rendering.ts +99 -75
  269. package/src/rsc/runtime-warnings.ts +23 -10
  270. package/src/rsc/server-action.ts +258 -115
  271. package/src/rsc/ssr-setup.ts +16 -0
  272. package/src/rsc/types.ts +23 -5
  273. package/src/runtime-env.ts +18 -0
  274. package/src/search-params.ts +35 -30
  275. package/src/segment-loader-promise.ts +31 -4
  276. package/src/segment-system.tsx +209 -143
  277. package/src/serialize.ts +243 -0
  278. package/src/server/context.ts +150 -51
  279. package/src/server/cookie-parse.ts +32 -0
  280. package/src/server/cookie-store.ts +80 -5
  281. package/src/server/handle-store.ts +21 -38
  282. package/src/server/loader-registry.ts +21 -42
  283. package/src/server/request-context.ts +235 -175
  284. package/src/ssr/index.tsx +21 -16
  285. package/src/static-handler.ts +10 -13
  286. package/src/testing/cache-status.ts +162 -0
  287. package/src/testing/collect-handle.ts +40 -0
  288. package/src/testing/dispatch.ts +701 -0
  289. package/src/testing/dom.entry.ts +22 -0
  290. package/src/testing/e2e/fixture.ts +188 -0
  291. package/src/testing/e2e/index.ts +128 -0
  292. package/src/testing/e2e/matchers.ts +35 -0
  293. package/src/testing/e2e/page-helpers.ts +272 -0
  294. package/src/testing/e2e/parity.ts +387 -0
  295. package/src/testing/e2e/server.ts +195 -0
  296. package/src/testing/flight-matchers.ts +97 -0
  297. package/src/testing/flight-normalize.ts +11 -0
  298. package/src/testing/flight-runtime.d.ts +57 -0
  299. package/src/testing/flight-tree.ts +682 -0
  300. package/src/testing/flight.entry.ts +52 -0
  301. package/src/testing/flight.ts +257 -0
  302. package/src/testing/generated-routes.ts +183 -0
  303. package/src/testing/index.ts +99 -0
  304. package/src/testing/internal/context.ts +371 -0
  305. package/src/testing/internal/flight-client-globals.ts +30 -0
  306. package/src/testing/internal/seed-vars.ts +54 -0
  307. package/src/testing/render-handler.ts +343 -0
  308. package/src/testing/render-route.tsx +581 -0
  309. package/src/testing/run-loader.ts +385 -0
  310. package/src/testing/run-middleware.ts +205 -0
  311. package/src/testing/vitest-stubs/cloudflare-email.ts +9 -0
  312. package/src/testing/vitest-stubs/cloudflare-workers.ts +21 -0
  313. package/src/testing/vitest-stubs/plugin-rsc.ts +16 -0
  314. package/src/testing/vitest-stubs/version.ts +5 -0
  315. package/src/testing/vitest.ts +305 -0
  316. package/src/theme/ThemeProvider.tsx +20 -58
  317. package/src/theme/ThemeScript.tsx +7 -9
  318. package/src/theme/constants.ts +52 -13
  319. package/src/theme/index.ts +0 -7
  320. package/src/theme/theme-context.ts +1 -5
  321. package/src/theme/theme-script.ts +22 -21
  322. package/src/theme/use-theme.ts +0 -3
  323. package/src/types/boundaries.ts +0 -35
  324. package/src/types/cache-types.ts +13 -4
  325. package/src/types/error-types.ts +30 -90
  326. package/src/types/global-namespace.ts +54 -41
  327. package/src/types/handler-context.ts +109 -61
  328. package/src/types/index.ts +1 -10
  329. package/src/types/loader-types.ts +11 -9
  330. package/src/types/request-scope.ts +112 -0
  331. package/src/types/route-config.ts +6 -50
  332. package/src/types/route-entry.ts +0 -6
  333. package/src/types/segments.ts +35 -14
  334. package/src/urls/include-helper.ts +9 -56
  335. package/src/urls/index.ts +1 -11
  336. package/src/urls/path-helper-types.ts +19 -5
  337. package/src/urls/path-helper.ts +17 -106
  338. package/src/urls/pattern-types.ts +36 -19
  339. package/src/urls/response-types.ts +22 -29
  340. package/src/urls/type-extraction.ts +58 -139
  341. package/src/urls/urls-function.ts +1 -18
  342. package/src/use-loader.tsx +292 -107
  343. package/src/vite/debug.ts +185 -0
  344. package/src/vite/discovery/bundle-postprocess.ts +8 -7
  345. package/src/vite/discovery/discover-routers.ts +126 -85
  346. package/src/vite/discovery/discovery-errors.ts +194 -0
  347. package/src/vite/discovery/gate-state.ts +171 -0
  348. package/src/vite/discovery/prerender-collection.ts +96 -68
  349. package/src/vite/discovery/route-types-writer.ts +40 -84
  350. package/src/vite/discovery/self-gen-tracking.ts +27 -1
  351. package/src/vite/discovery/state.ts +44 -0
  352. package/src/vite/discovery/virtual-module-codegen.ts +14 -34
  353. package/src/vite/index.ts +2 -0
  354. package/src/vite/inject-client-debug.ts +36 -0
  355. package/src/vite/plugin-types.ts +126 -8
  356. package/src/vite/plugins/cjs-to-esm.ts +16 -19
  357. package/src/vite/plugins/client-ref-dedup.ts +16 -11
  358. package/src/vite/plugins/client-ref-hashing.ts +28 -15
  359. package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
  360. package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  361. package/src/vite/plugins/cloudflare-protocol-stub.ts +194 -0
  362. package/src/vite/plugins/expose-action-id.ts +48 -95
  363. package/src/vite/plugins/expose-id-utils.ts +88 -55
  364. package/src/vite/plugins/expose-ids/export-analysis.ts +101 -34
  365. package/src/vite/plugins/expose-ids/handler-transform.ts +11 -90
  366. package/src/vite/plugins/expose-ids/loader-transform.ts +14 -24
  367. package/src/vite/plugins/expose-ids/router-transform.ts +118 -29
  368. package/src/vite/plugins/expose-internal-ids.ts +505 -486
  369. package/src/vite/plugins/performance-tracks.ts +26 -25
  370. package/src/vite/plugins/refresh-cmd.ts +1 -1
  371. package/src/vite/plugins/use-cache-transform.ts +73 -83
  372. package/src/vite/plugins/version-injector.ts +21 -25
  373. package/src/vite/plugins/version-plugin.ts +37 -40
  374. package/src/vite/plugins/virtual-entries.ts +13 -18
  375. package/src/vite/rango.ts +109 -118
  376. package/src/vite/router-discovery.ts +777 -119
  377. package/src/vite/utils/ast-handler-extract.ts +26 -35
  378. package/src/vite/utils/banner.ts +1 -1
  379. package/src/vite/utils/bundle-analysis.ts +10 -15
  380. package/src/vite/utils/client-chunks.ts +184 -0
  381. package/src/vite/utils/directive-prologue.ts +40 -0
  382. package/src/vite/utils/forward-user-plugins.ts +171 -0
  383. package/src/vite/utils/manifest-utils.ts +4 -59
  384. package/src/vite/utils/package-resolution.ts +20 -52
  385. package/src/vite/utils/prerender-utils.ts +54 -39
  386. package/src/vite/utils/shared-utils.ts +90 -41
  387. package/dist/__internal.d.ts +0 -83
  388. package/dist/__internal.d.ts.map +0 -1
  389. package/dist/__internal.js +0 -19
  390. package/dist/__internal.js.map +0 -1
  391. package/dist/__mocks__/version.d.ts +0 -7
  392. package/dist/__mocks__/version.d.ts.map +0 -1
  393. package/dist/__mocks__/version.js +0 -7
  394. package/dist/__mocks__/version.js.map +0 -1
  395. package/dist/__tests__/client-href.test.d.ts +0 -2
  396. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  397. package/dist/__tests__/client-href.test.js +0 -74
  398. package/dist/__tests__/client-href.test.js.map +0 -1
  399. package/dist/__tests__/component-utils.test.d.ts +0 -2
  400. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  401. package/dist/__tests__/component-utils.test.js +0 -51
  402. package/dist/__tests__/component-utils.test.js.map +0 -1
  403. package/dist/__tests__/event-controller.test.d.ts +0 -2
  404. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  405. package/dist/__tests__/event-controller.test.js +0 -538
  406. package/dist/__tests__/event-controller.test.js.map +0 -1
  407. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  408. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  409. package/dist/__tests__/helpers/route-tree.js +0 -374
  410. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  411. package/dist/__tests__/match-result.test.d.ts +0 -2
  412. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  413. package/dist/__tests__/match-result.test.js +0 -154
  414. package/dist/__tests__/match-result.test.js.map +0 -1
  415. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  416. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  417. package/dist/__tests__/navigation-store.test.js +0 -440
  418. package/dist/__tests__/navigation-store.test.js.map +0 -1
  419. package/dist/__tests__/partial-update.test.d.ts +0 -2
  420. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  421. package/dist/__tests__/partial-update.test.js +0 -1009
  422. package/dist/__tests__/partial-update.test.js.map +0 -1
  423. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  424. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  425. package/dist/__tests__/reverse-types.test.js +0 -656
  426. package/dist/__tests__/reverse-types.test.js.map +0 -1
  427. package/dist/__tests__/route-definition.test.d.ts +0 -2
  428. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  429. package/dist/__tests__/route-definition.test.js +0 -55
  430. package/dist/__tests__/route-definition.test.js.map +0 -1
  431. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  432. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  433. package/dist/__tests__/router-helpers.test.js +0 -377
  434. package/dist/__tests__/router-helpers.test.js.map +0 -1
  435. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  436. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  437. package/dist/__tests__/router-integration-2.test.js +0 -426
  438. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  439. package/dist/__tests__/router-integration.test.d.ts +0 -2
  440. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  441. package/dist/__tests__/router-integration.test.js +0 -1051
  442. package/dist/__tests__/router-integration.test.js.map +0 -1
  443. package/dist/__tests__/search-params.test.d.ts +0 -5
  444. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  445. package/dist/__tests__/search-params.test.js +0 -306
  446. package/dist/__tests__/search-params.test.js.map +0 -1
  447. package/dist/__tests__/segment-system.test.d.ts +0 -2
  448. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  449. package/dist/__tests__/segment-system.test.js +0 -627
  450. package/dist/__tests__/segment-system.test.js.map +0 -1
  451. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  452. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  453. package/dist/__tests__/static-handler-types.test.js +0 -63
  454. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  455. package/dist/__tests__/urls.test.d.ts +0 -2
  456. package/dist/__tests__/urls.test.d.ts.map +0 -1
  457. package/dist/__tests__/urls.test.js +0 -421
  458. package/dist/__tests__/urls.test.js.map +0 -1
  459. package/dist/__tests__/use-mount.test.d.ts +0 -2
  460. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  461. package/dist/__tests__/use-mount.test.js +0 -35
  462. package/dist/__tests__/use-mount.test.js.map +0 -1
  463. package/dist/bin/rango.d.ts +0 -2
  464. package/dist/bin/rango.d.ts.map +0 -1
  465. package/dist/bin/rango.js.map +0 -1
  466. package/dist/browser/event-controller.d.ts +0 -191
  467. package/dist/browser/event-controller.d.ts.map +0 -1
  468. package/dist/browser/event-controller.js +0 -559
  469. package/dist/browser/event-controller.js.map +0 -1
  470. package/dist/browser/index.d.ts +0 -2
  471. package/dist/browser/index.d.ts.map +0 -1
  472. package/dist/browser/index.js +0 -14
  473. package/dist/browser/index.js.map +0 -1
  474. package/dist/browser/link-interceptor.d.ts +0 -38
  475. package/dist/browser/link-interceptor.d.ts.map +0 -1
  476. package/dist/browser/link-interceptor.js +0 -99
  477. package/dist/browser/link-interceptor.js.map +0 -1
  478. package/dist/browser/logging.d.ts +0 -10
  479. package/dist/browser/logging.d.ts.map +0 -1
  480. package/dist/browser/logging.js +0 -29
  481. package/dist/browser/logging.js.map +0 -1
  482. package/dist/browser/lru-cache.d.ts +0 -17
  483. package/dist/browser/lru-cache.d.ts.map +0 -1
  484. package/dist/browser/lru-cache.js +0 -50
  485. package/dist/browser/lru-cache.js.map +0 -1
  486. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  487. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  488. package/dist/browser/merge-segment-loaders.js +0 -102
  489. package/dist/browser/merge-segment-loaders.js.map +0 -1
  490. package/dist/browser/navigation-bridge.d.ts +0 -102
  491. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  492. package/dist/browser/navigation-bridge.js +0 -708
  493. package/dist/browser/navigation-bridge.js.map +0 -1
  494. package/dist/browser/navigation-client.d.ts +0 -25
  495. package/dist/browser/navigation-client.d.ts.map +0 -1
  496. package/dist/browser/navigation-client.js +0 -157
  497. package/dist/browser/navigation-client.js.map +0 -1
  498. package/dist/browser/navigation-store.d.ts +0 -101
  499. package/dist/browser/navigation-store.d.ts.map +0 -1
  500. package/dist/browser/navigation-store.js +0 -625
  501. package/dist/browser/navigation-store.js.map +0 -1
  502. package/dist/browser/partial-update.d.ts +0 -75
  503. package/dist/browser/partial-update.d.ts.map +0 -1
  504. package/dist/browser/partial-update.js +0 -426
  505. package/dist/browser/partial-update.js.map +0 -1
  506. package/dist/browser/react/Link.d.ts +0 -86
  507. package/dist/browser/react/Link.d.ts.map +0 -1
  508. package/dist/browser/react/Link.js +0 -128
  509. package/dist/browser/react/Link.js.map +0 -1
  510. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  511. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  512. package/dist/browser/react/NavigationProvider.js +0 -216
  513. package/dist/browser/react/NavigationProvider.js.map +0 -1
  514. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  515. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  516. package/dist/browser/react/ScrollRestoration.js +0 -57
  517. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  518. package/dist/browser/react/context.d.ts +0 -46
  519. package/dist/browser/react/context.d.ts.map +0 -1
  520. package/dist/browser/react/context.js +0 -10
  521. package/dist/browser/react/context.js.map +0 -1
  522. package/dist/browser/react/index.d.ts +0 -11
  523. package/dist/browser/react/index.d.ts.map +0 -1
  524. package/dist/browser/react/index.js +0 -22
  525. package/dist/browser/react/index.js.map +0 -1
  526. package/dist/browser/react/location-state-shared.d.ts +0 -63
  527. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  528. package/dist/browser/react/location-state-shared.js +0 -81
  529. package/dist/browser/react/location-state-shared.js.map +0 -1
  530. package/dist/browser/react/location-state.d.ts +0 -23
  531. package/dist/browser/react/location-state.d.ts.map +0 -1
  532. package/dist/browser/react/location-state.js +0 -29
  533. package/dist/browser/react/location-state.js.map +0 -1
  534. package/dist/browser/react/mount-context.d.ts +0 -24
  535. package/dist/browser/react/mount-context.d.ts.map +0 -1
  536. package/dist/browser/react/mount-context.js +0 -24
  537. package/dist/browser/react/mount-context.js.map +0 -1
  538. package/dist/browser/react/use-action.d.ts +0 -64
  539. package/dist/browser/react/use-action.d.ts.map +0 -1
  540. package/dist/browser/react/use-action.js +0 -134
  541. package/dist/browser/react/use-action.js.map +0 -1
  542. package/dist/browser/react/use-client-cache.d.ts +0 -41
  543. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  544. package/dist/browser/react/use-client-cache.js +0 -39
  545. package/dist/browser/react/use-client-cache.js.map +0 -1
  546. package/dist/browser/react/use-handle.d.ts +0 -31
  547. package/dist/browser/react/use-handle.d.ts.map +0 -1
  548. package/dist/browser/react/use-handle.js +0 -144
  549. package/dist/browser/react/use-handle.js.map +0 -1
  550. package/dist/browser/react/use-href.d.ts +0 -33
  551. package/dist/browser/react/use-href.d.ts.map +0 -1
  552. package/dist/browser/react/use-href.js +0 -39
  553. package/dist/browser/react/use-href.js.map +0 -1
  554. package/dist/browser/react/use-link-status.d.ts +0 -37
  555. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  556. package/dist/browser/react/use-link-status.js +0 -99
  557. package/dist/browser/react/use-link-status.js.map +0 -1
  558. package/dist/browser/react/use-mount.d.ts +0 -25
  559. package/dist/browser/react/use-mount.d.ts.map +0 -1
  560. package/dist/browser/react/use-mount.js +0 -30
  561. package/dist/browser/react/use-mount.js.map +0 -1
  562. package/dist/browser/react/use-navigation.d.ts +0 -27
  563. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  564. package/dist/browser/react/use-navigation.js +0 -87
  565. package/dist/browser/react/use-navigation.js.map +0 -1
  566. package/dist/browser/react/use-segments.d.ts +0 -38
  567. package/dist/browser/react/use-segments.d.ts.map +0 -1
  568. package/dist/browser/react/use-segments.js +0 -130
  569. package/dist/browser/react/use-segments.js.map +0 -1
  570. package/dist/browser/request-controller.d.ts +0 -26
  571. package/dist/browser/request-controller.d.ts.map +0 -1
  572. package/dist/browser/request-controller.js +0 -147
  573. package/dist/browser/request-controller.js.map +0 -1
  574. package/dist/browser/rsc-router.d.ts +0 -129
  575. package/dist/browser/rsc-router.d.ts.map +0 -1
  576. package/dist/browser/rsc-router.js +0 -195
  577. package/dist/browser/rsc-router.js.map +0 -1
  578. package/dist/browser/scroll-restoration.d.ts +0 -93
  579. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  580. package/dist/browser/scroll-restoration.js +0 -321
  581. package/dist/browser/scroll-restoration.js.map +0 -1
  582. package/dist/browser/segment-structure-assert.d.ts +0 -17
  583. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  584. package/dist/browser/segment-structure-assert.js +0 -59
  585. package/dist/browser/segment-structure-assert.js.map +0 -1
  586. package/dist/browser/server-action-bridge.d.ts +0 -26
  587. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  588. package/dist/browser/server-action-bridge.js +0 -668
  589. package/dist/browser/server-action-bridge.js.map +0 -1
  590. package/dist/browser/shallow.d.ts +0 -12
  591. package/dist/browser/shallow.d.ts.map +0 -1
  592. package/dist/browser/shallow.js +0 -34
  593. package/dist/browser/shallow.js.map +0 -1
  594. package/dist/browser/types.d.ts +0 -369
  595. package/dist/browser/types.d.ts.map +0 -1
  596. package/dist/browser/types.js +0 -2
  597. package/dist/browser/types.js.map +0 -1
  598. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  599. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  600. package/dist/build/__tests__/generate-cli.test.js +0 -237
  601. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  602. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  603. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  604. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  605. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  606. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  607. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  608. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  609. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  610. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  611. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  612. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  613. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  614. package/dist/build/generate-manifest.d.ts +0 -81
  615. package/dist/build/generate-manifest.d.ts.map +0 -1
  616. package/dist/build/generate-manifest.js +0 -276
  617. package/dist/build/generate-manifest.js.map +0 -1
  618. package/dist/build/generate-route-types.d.ts +0 -115
  619. package/dist/build/generate-route-types.d.ts.map +0 -1
  620. package/dist/build/generate-route-types.js +0 -740
  621. package/dist/build/generate-route-types.js.map +0 -1
  622. package/dist/build/index.d.ts +0 -21
  623. package/dist/build/index.d.ts.map +0 -1
  624. package/dist/build/index.js +0 -21
  625. package/dist/build/index.js.map +0 -1
  626. package/dist/build/route-trie.d.ts +0 -71
  627. package/dist/build/route-trie.d.ts.map +0 -1
  628. package/dist/build/route-trie.js +0 -175
  629. package/dist/build/route-trie.js.map +0 -1
  630. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  631. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  632. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  633. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  634. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  635. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  636. package/dist/cache/__tests__/document-cache.test.js +0 -345
  637. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  638. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  639. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  640. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  641. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  642. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  643. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  644. package/dist/cache/__tests__/memory-store.test.js +0 -367
  645. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  646. package/dist/cache/cache-scope.d.ts +0 -102
  647. package/dist/cache/cache-scope.d.ts.map +0 -1
  648. package/dist/cache/cache-scope.js +0 -440
  649. package/dist/cache/cache-scope.js.map +0 -1
  650. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  651. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  652. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  653. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  654. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  655. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  656. package/dist/cache/cf/cf-cache-store.js +0 -242
  657. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  658. package/dist/cache/cf/index.d.ts +0 -14
  659. package/dist/cache/cf/index.d.ts.map +0 -1
  660. package/dist/cache/cf/index.js +0 -17
  661. package/dist/cache/cf/index.js.map +0 -1
  662. package/dist/cache/document-cache.d.ts +0 -64
  663. package/dist/cache/document-cache.d.ts.map +0 -1
  664. package/dist/cache/document-cache.js +0 -228
  665. package/dist/cache/document-cache.js.map +0 -1
  666. package/dist/cache/index.d.ts +0 -19
  667. package/dist/cache/index.d.ts.map +0 -1
  668. package/dist/cache/index.js +0 -21
  669. package/dist/cache/index.js.map +0 -1
  670. package/dist/cache/memory-segment-store.d.ts +0 -110
  671. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  672. package/dist/cache/memory-segment-store.js +0 -117
  673. package/dist/cache/memory-segment-store.js.map +0 -1
  674. package/dist/cache/memory-store.d.ts +0 -41
  675. package/dist/cache/memory-store.d.ts.map +0 -1
  676. package/dist/cache/memory-store.js +0 -191
  677. package/dist/cache/memory-store.js.map +0 -1
  678. package/dist/cache/types.d.ts +0 -317
  679. package/dist/cache/types.d.ts.map +0 -1
  680. package/dist/cache/types.js +0 -12
  681. package/dist/cache/types.js.map +0 -1
  682. package/dist/client.d.ts +0 -248
  683. package/dist/client.d.ts.map +0 -1
  684. package/dist/client.js +0 -367
  685. package/dist/client.js.map +0 -1
  686. package/dist/client.rsc.d.ts +0 -26
  687. package/dist/client.rsc.d.ts.map +0 -1
  688. package/dist/client.rsc.js +0 -46
  689. package/dist/client.rsc.js.map +0 -1
  690. package/dist/component-utils.d.ts +0 -36
  691. package/dist/component-utils.d.ts.map +0 -1
  692. package/dist/component-utils.js +0 -61
  693. package/dist/component-utils.js.map +0 -1
  694. package/dist/components/DefaultDocument.d.ts +0 -13
  695. package/dist/components/DefaultDocument.d.ts.map +0 -1
  696. package/dist/components/DefaultDocument.js +0 -15
  697. package/dist/components/DefaultDocument.js.map +0 -1
  698. package/dist/debug.d.ts +0 -58
  699. package/dist/debug.d.ts.map +0 -1
  700. package/dist/debug.js +0 -157
  701. package/dist/debug.js.map +0 -1
  702. package/dist/default-error-boundary.d.ts +0 -11
  703. package/dist/default-error-boundary.d.ts.map +0 -1
  704. package/dist/default-error-boundary.js +0 -45
  705. package/dist/default-error-boundary.js.map +0 -1
  706. package/dist/deps/browser.d.ts +0 -2
  707. package/dist/deps/browser.d.ts.map +0 -1
  708. package/dist/deps/browser.js +0 -3
  709. package/dist/deps/browser.js.map +0 -1
  710. package/dist/deps/html-stream-client.d.ts +0 -2
  711. package/dist/deps/html-stream-client.d.ts.map +0 -1
  712. package/dist/deps/html-stream-client.js +0 -3
  713. package/dist/deps/html-stream-client.js.map +0 -1
  714. package/dist/deps/html-stream-server.d.ts +0 -2
  715. package/dist/deps/html-stream-server.d.ts.map +0 -1
  716. package/dist/deps/html-stream-server.js +0 -3
  717. package/dist/deps/html-stream-server.js.map +0 -1
  718. package/dist/deps/rsc.d.ts +0 -2
  719. package/dist/deps/rsc.d.ts.map +0 -1
  720. package/dist/deps/rsc.js +0 -4
  721. package/dist/deps/rsc.js.map +0 -1
  722. package/dist/deps/ssr.d.ts +0 -2
  723. package/dist/deps/ssr.d.ts.map +0 -1
  724. package/dist/deps/ssr.js +0 -3
  725. package/dist/deps/ssr.js.map +0 -1
  726. package/dist/errors.d.ts +0 -174
  727. package/dist/errors.d.ts.map +0 -1
  728. package/dist/errors.js +0 -241
  729. package/dist/errors.js.map +0 -1
  730. package/dist/handle.d.ts +0 -78
  731. package/dist/handle.d.ts.map +0 -1
  732. package/dist/handle.js +0 -82
  733. package/dist/handle.js.map +0 -1
  734. package/dist/handles/MetaTags.d.ts +0 -14
  735. package/dist/handles/MetaTags.d.ts.map +0 -1
  736. package/dist/handles/MetaTags.js +0 -136
  737. package/dist/handles/MetaTags.js.map +0 -1
  738. package/dist/handles/index.d.ts +0 -6
  739. package/dist/handles/index.d.ts.map +0 -1
  740. package/dist/handles/index.js +0 -6
  741. package/dist/handles/index.js.map +0 -1
  742. package/dist/handles/meta.d.ts +0 -39
  743. package/dist/handles/meta.d.ts.map +0 -1
  744. package/dist/handles/meta.js +0 -202
  745. package/dist/handles/meta.js.map +0 -1
  746. package/dist/host/__tests__/errors.test.d.ts +0 -2
  747. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  748. package/dist/host/__tests__/errors.test.js +0 -76
  749. package/dist/host/__tests__/errors.test.js.map +0 -1
  750. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  751. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  752. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  753. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  754. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  755. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  756. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  757. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  758. package/dist/host/__tests__/router.test.d.ts +0 -2
  759. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  760. package/dist/host/__tests__/router.test.js +0 -241
  761. package/dist/host/__tests__/router.test.js.map +0 -1
  762. package/dist/host/__tests__/testing.test.d.ts +0 -2
  763. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  764. package/dist/host/__tests__/testing.test.js +0 -64
  765. package/dist/host/__tests__/testing.test.js.map +0 -1
  766. package/dist/host/__tests__/utils.test.d.ts +0 -2
  767. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  768. package/dist/host/__tests__/utils.test.js +0 -29
  769. package/dist/host/__tests__/utils.test.js.map +0 -1
  770. package/dist/host/cookie-handler.d.ts +0 -34
  771. package/dist/host/cookie-handler.d.ts.map +0 -1
  772. package/dist/host/cookie-handler.js +0 -124
  773. package/dist/host/cookie-handler.js.map +0 -1
  774. package/dist/host/errors.d.ts +0 -56
  775. package/dist/host/errors.d.ts.map +0 -1
  776. package/dist/host/errors.js +0 -79
  777. package/dist/host/errors.js.map +0 -1
  778. package/dist/host/index.d.ts +0 -29
  779. package/dist/host/index.d.ts.map +0 -1
  780. package/dist/host/index.js +0 -32
  781. package/dist/host/index.js.map +0 -1
  782. package/dist/host/pattern-matcher.d.ts +0 -36
  783. package/dist/host/pattern-matcher.d.ts.map +0 -1
  784. package/dist/host/pattern-matcher.js +0 -172
  785. package/dist/host/pattern-matcher.js.map +0 -1
  786. package/dist/host/router.d.ts +0 -26
  787. package/dist/host/router.d.ts.map +0 -1
  788. package/dist/host/router.js +0 -218
  789. package/dist/host/router.js.map +0 -1
  790. package/dist/host/testing.d.ts +0 -36
  791. package/dist/host/testing.d.ts.map +0 -1
  792. package/dist/host/testing.js +0 -55
  793. package/dist/host/testing.js.map +0 -1
  794. package/dist/host/types.d.ts +0 -115
  795. package/dist/host/types.d.ts.map +0 -1
  796. package/dist/host/types.js +0 -7
  797. package/dist/host/types.js.map +0 -1
  798. package/dist/host/utils.d.ts +0 -21
  799. package/dist/host/utils.d.ts.map +0 -1
  800. package/dist/host/utils.js +0 -23
  801. package/dist/host/utils.js.map +0 -1
  802. package/dist/href-client.d.ts +0 -131
  803. package/dist/href-client.d.ts.map +0 -1
  804. package/dist/href-client.js +0 -64
  805. package/dist/href-client.js.map +0 -1
  806. package/dist/href-context.d.ts +0 -29
  807. package/dist/href-context.d.ts.map +0 -1
  808. package/dist/href-context.js +0 -21
  809. package/dist/href-context.js.map +0 -1
  810. package/dist/index.d.ts +0 -73
  811. package/dist/index.d.ts.map +0 -1
  812. package/dist/index.js +0 -91
  813. package/dist/index.js.map +0 -1
  814. package/dist/index.rsc.d.ts +0 -32
  815. package/dist/index.rsc.d.ts.map +0 -1
  816. package/dist/index.rsc.js +0 -40
  817. package/dist/index.rsc.js.map +0 -1
  818. package/dist/internal-debug.d.ts +0 -2
  819. package/dist/internal-debug.d.ts.map +0 -1
  820. package/dist/internal-debug.js +0 -5
  821. package/dist/internal-debug.js.map +0 -1
  822. package/dist/loader.d.ts +0 -14
  823. package/dist/loader.d.ts.map +0 -1
  824. package/dist/loader.js +0 -20
  825. package/dist/loader.js.map +0 -1
  826. package/dist/loader.rsc.d.ts +0 -19
  827. package/dist/loader.rsc.d.ts.map +0 -1
  828. package/dist/loader.rsc.js +0 -99
  829. package/dist/loader.rsc.js.map +0 -1
  830. package/dist/network-error-thrower.d.ts +0 -17
  831. package/dist/network-error-thrower.d.ts.map +0 -1
  832. package/dist/network-error-thrower.js +0 -14
  833. package/dist/network-error-thrower.js.map +0 -1
  834. package/dist/outlet-context.d.ts +0 -13
  835. package/dist/outlet-context.d.ts.map +0 -1
  836. package/dist/outlet-context.js +0 -3
  837. package/dist/outlet-context.js.map +0 -1
  838. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  839. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  840. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  841. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  842. package/dist/prerender/param-hash.d.ts +0 -16
  843. package/dist/prerender/param-hash.d.ts.map +0 -1
  844. package/dist/prerender/param-hash.js +0 -36
  845. package/dist/prerender/param-hash.js.map +0 -1
  846. package/dist/prerender/store.d.ts +0 -38
  847. package/dist/prerender/store.d.ts.map +0 -1
  848. package/dist/prerender/store.js +0 -61
  849. package/dist/prerender/store.js.map +0 -1
  850. package/dist/prerender.d.ts +0 -66
  851. package/dist/prerender.d.ts.map +0 -1
  852. package/dist/prerender.js +0 -57
  853. package/dist/prerender.js.map +0 -1
  854. package/dist/reverse.d.ts +0 -196
  855. package/dist/reverse.d.ts.map +0 -1
  856. package/dist/reverse.js +0 -78
  857. package/dist/reverse.js.map +0 -1
  858. package/dist/root-error-boundary.d.ts +0 -33
  859. package/dist/root-error-boundary.d.ts.map +0 -1
  860. package/dist/root-error-boundary.js +0 -165
  861. package/dist/root-error-boundary.js.map +0 -1
  862. package/dist/route-content-wrapper.d.ts +0 -46
  863. package/dist/route-content-wrapper.d.ts.map +0 -1
  864. package/dist/route-content-wrapper.js +0 -77
  865. package/dist/route-content-wrapper.js.map +0 -1
  866. package/dist/route-definition.d.ts +0 -421
  867. package/dist/route-definition.d.ts.map +0 -1
  868. package/dist/route-definition.js +0 -868
  869. package/dist/route-definition.js.map +0 -1
  870. package/dist/route-map-builder.d.ts +0 -155
  871. package/dist/route-map-builder.d.ts.map +0 -1
  872. package/dist/route-map-builder.js +0 -237
  873. package/dist/route-map-builder.js.map +0 -1
  874. package/dist/route-types.d.ts +0 -165
  875. package/dist/route-types.d.ts.map +0 -1
  876. package/dist/route-types.js +0 -7
  877. package/dist/route-types.js.map +0 -1
  878. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  879. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  880. package/dist/router/__tests__/handler-context.test.js +0 -65
  881. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  882. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  883. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  884. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  885. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  886. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  887. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  888. package/dist/router/__tests__/match-context.test.js +0 -92
  889. package/dist/router/__tests__/match-context.test.js.map +0 -1
  890. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  891. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  892. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  893. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  894. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  895. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  896. package/dist/router/__tests__/match-result.test.js +0 -457
  897. package/dist/router/__tests__/match-result.test.js.map +0 -1
  898. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  899. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  900. package/dist/router/__tests__/on-error.test.js +0 -678
  901. package/dist/router/__tests__/on-error.test.js.map +0 -1
  902. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  903. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  904. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  905. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  906. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  907. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  908. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  909. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  910. package/dist/router/error-handling.d.ts +0 -77
  911. package/dist/router/error-handling.d.ts.map +0 -1
  912. package/dist/router/error-handling.js +0 -202
  913. package/dist/router/error-handling.js.map +0 -1
  914. package/dist/router/handler-context.d.ts +0 -20
  915. package/dist/router/handler-context.d.ts.map +0 -1
  916. package/dist/router/handler-context.js +0 -198
  917. package/dist/router/handler-context.js.map +0 -1
  918. package/dist/router/intercept-resolution.d.ts +0 -66
  919. package/dist/router/intercept-resolution.d.ts.map +0 -1
  920. package/dist/router/intercept-resolution.js +0 -246
  921. package/dist/router/intercept-resolution.js.map +0 -1
  922. package/dist/router/loader-resolution.d.ts +0 -64
  923. package/dist/router/loader-resolution.d.ts.map +0 -1
  924. package/dist/router/loader-resolution.js +0 -284
  925. package/dist/router/loader-resolution.js.map +0 -1
  926. package/dist/router/logging.d.ts +0 -15
  927. package/dist/router/logging.d.ts.map +0 -1
  928. package/dist/router/logging.js +0 -99
  929. package/dist/router/logging.js.map +0 -1
  930. package/dist/router/manifest.d.ts +0 -22
  931. package/dist/router/manifest.d.ts.map +0 -1
  932. package/dist/router/manifest.js +0 -181
  933. package/dist/router/manifest.js.map +0 -1
  934. package/dist/router/match-api.d.ts +0 -35
  935. package/dist/router/match-api.d.ts.map +0 -1
  936. package/dist/router/match-api.js +0 -406
  937. package/dist/router/match-api.js.map +0 -1
  938. package/dist/router/match-context.d.ts +0 -206
  939. package/dist/router/match-context.d.ts.map +0 -1
  940. package/dist/router/match-context.js +0 -17
  941. package/dist/router/match-context.js.map +0 -1
  942. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  943. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  944. package/dist/router/match-middleware/background-revalidation.js +0 -75
  945. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  946. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  947. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  948. package/dist/router/match-middleware/cache-lookup.js +0 -257
  949. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  950. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  951. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  952. package/dist/router/match-middleware/cache-store.js +0 -108
  953. package/dist/router/match-middleware/cache-store.js.map +0 -1
  954. package/dist/router/match-middleware/index.d.ts +0 -81
  955. package/dist/router/match-middleware/index.d.ts.map +0 -1
  956. package/dist/router/match-middleware/index.js +0 -80
  957. package/dist/router/match-middleware/index.js.map +0 -1
  958. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  959. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  960. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  961. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  962. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  963. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  964. package/dist/router/match-middleware/segment-resolution.js +0 -53
  965. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  966. package/dist/router/match-pipelines.d.ts +0 -147
  967. package/dist/router/match-pipelines.d.ts.map +0 -1
  968. package/dist/router/match-pipelines.js +0 -82
  969. package/dist/router/match-pipelines.js.map +0 -1
  970. package/dist/router/match-result.d.ts +0 -126
  971. package/dist/router/match-result.d.ts.map +0 -1
  972. package/dist/router/match-result.js +0 -93
  973. package/dist/router/match-result.js.map +0 -1
  974. package/dist/router/metrics.d.ts +0 -20
  975. package/dist/router/metrics.d.ts.map +0 -1
  976. package/dist/router/metrics.js +0 -47
  977. package/dist/router/metrics.js.map +0 -1
  978. package/dist/router/middleware.d.ts +0 -249
  979. package/dist/router/middleware.d.ts.map +0 -1
  980. package/dist/router/middleware.js +0 -434
  981. package/dist/router/middleware.js.map +0 -1
  982. package/dist/router/middleware.test.d.ts +0 -2
  983. package/dist/router/middleware.test.d.ts.map +0 -1
  984. package/dist/router/middleware.test.js +0 -816
  985. package/dist/router/middleware.test.js.map +0 -1
  986. package/dist/router/pattern-matching.d.ts +0 -149
  987. package/dist/router/pattern-matching.d.ts.map +0 -1
  988. package/dist/router/pattern-matching.js +0 -349
  989. package/dist/router/pattern-matching.js.map +0 -1
  990. package/dist/router/revalidation.d.ts +0 -44
  991. package/dist/router/revalidation.d.ts.map +0 -1
  992. package/dist/router/revalidation.js +0 -147
  993. package/dist/router/revalidation.js.map +0 -1
  994. package/dist/router/router-context.d.ts +0 -135
  995. package/dist/router/router-context.d.ts.map +0 -1
  996. package/dist/router/router-context.js +0 -36
  997. package/dist/router/router-context.js.map +0 -1
  998. package/dist/router/segment-resolution.d.ts +0 -127
  999. package/dist/router/segment-resolution.d.ts.map +0 -1
  1000. package/dist/router/segment-resolution.js +0 -919
  1001. package/dist/router/segment-resolution.js.map +0 -1
  1002. package/dist/router/trie-matching.d.ts +0 -40
  1003. package/dist/router/trie-matching.d.ts.map +0 -1
  1004. package/dist/router/trie-matching.js +0 -127
  1005. package/dist/router/trie-matching.js.map +0 -1
  1006. package/dist/router/types.d.ts +0 -136
  1007. package/dist/router/types.d.ts.map +0 -1
  1008. package/dist/router/types.js +0 -7
  1009. package/dist/router/types.js.map +0 -1
  1010. package/dist/router.d.ts +0 -753
  1011. package/dist/router.d.ts.map +0 -1
  1012. package/dist/router.gen.d.ts +0 -6
  1013. package/dist/router.gen.d.ts.map +0 -1
  1014. package/dist/router.gen.js +0 -6
  1015. package/dist/router.gen.js.map +0 -1
  1016. package/dist/router.js +0 -1304
  1017. package/dist/router.js.map +0 -1
  1018. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  1019. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  1020. package/dist/rsc/__tests__/helpers.test.js +0 -140
  1021. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  1022. package/dist/rsc/handler.d.ts +0 -45
  1023. package/dist/rsc/handler.d.ts.map +0 -1
  1024. package/dist/rsc/handler.js +0 -1172
  1025. package/dist/rsc/handler.js.map +0 -1
  1026. package/dist/rsc/helpers.d.ts +0 -16
  1027. package/dist/rsc/helpers.d.ts.map +0 -1
  1028. package/dist/rsc/helpers.js +0 -55
  1029. package/dist/rsc/helpers.js.map +0 -1
  1030. package/dist/rsc/index.d.ts +0 -22
  1031. package/dist/rsc/index.d.ts.map +0 -1
  1032. package/dist/rsc/index.js +0 -23
  1033. package/dist/rsc/index.js.map +0 -1
  1034. package/dist/rsc/nonce.d.ts +0 -9
  1035. package/dist/rsc/nonce.d.ts.map +0 -1
  1036. package/dist/rsc/nonce.js +0 -18
  1037. package/dist/rsc/nonce.js.map +0 -1
  1038. package/dist/rsc/types.d.ts +0 -206
  1039. package/dist/rsc/types.d.ts.map +0 -1
  1040. package/dist/rsc/types.js +0 -8
  1041. package/dist/rsc/types.js.map +0 -1
  1042. package/dist/search-params.d.ts +0 -103
  1043. package/dist/search-params.d.ts.map +0 -1
  1044. package/dist/search-params.js +0 -74
  1045. package/dist/search-params.js.map +0 -1
  1046. package/dist/segment-system.d.ts +0 -75
  1047. package/dist/segment-system.d.ts.map +0 -1
  1048. package/dist/segment-system.js +0 -336
  1049. package/dist/segment-system.js.map +0 -1
  1050. package/dist/server/context.d.ts +0 -245
  1051. package/dist/server/context.d.ts.map +0 -1
  1052. package/dist/server/context.js +0 -197
  1053. package/dist/server/context.js.map +0 -1
  1054. package/dist/server/fetchable-loader-store.d.ts +0 -18
  1055. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  1056. package/dist/server/fetchable-loader-store.js +0 -18
  1057. package/dist/server/fetchable-loader-store.js.map +0 -1
  1058. package/dist/server/handle-store.d.ts +0 -85
  1059. package/dist/server/handle-store.d.ts.map +0 -1
  1060. package/dist/server/handle-store.js +0 -142
  1061. package/dist/server/handle-store.js.map +0 -1
  1062. package/dist/server/loader-registry.d.ts +0 -55
  1063. package/dist/server/loader-registry.d.ts.map +0 -1
  1064. package/dist/server/loader-registry.js +0 -132
  1065. package/dist/server/loader-registry.js.map +0 -1
  1066. package/dist/server/request-context.d.ts +0 -226
  1067. package/dist/server/request-context.d.ts.map +0 -1
  1068. package/dist/server/request-context.js +0 -290
  1069. package/dist/server/request-context.js.map +0 -1
  1070. package/dist/server/root-layout.d.ts +0 -4
  1071. package/dist/server/root-layout.d.ts.map +0 -1
  1072. package/dist/server/root-layout.js +0 -5
  1073. package/dist/server/root-layout.js.map +0 -1
  1074. package/dist/server.d.ts +0 -15
  1075. package/dist/server.d.ts.map +0 -1
  1076. package/dist/server.js +0 -20
  1077. package/dist/server.js.map +0 -1
  1078. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  1079. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  1080. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  1081. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  1082. package/dist/ssr/index.d.ts +0 -98
  1083. package/dist/ssr/index.d.ts.map +0 -1
  1084. package/dist/ssr/index.js +0 -158
  1085. package/dist/ssr/index.js.map +0 -1
  1086. package/dist/static-handler.d.ts +0 -50
  1087. package/dist/static-handler.d.ts.map +0 -1
  1088. package/dist/static-handler.gen.d.ts +0 -5
  1089. package/dist/static-handler.gen.d.ts.map +0 -1
  1090. package/dist/static-handler.gen.js +0 -5
  1091. package/dist/static-handler.gen.js.map +0 -1
  1092. package/dist/static-handler.js +0 -29
  1093. package/dist/static-handler.js.map +0 -1
  1094. package/dist/theme/ThemeProvider.d.ts +0 -20
  1095. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  1096. package/dist/theme/ThemeProvider.js +0 -240
  1097. package/dist/theme/ThemeProvider.js.map +0 -1
  1098. package/dist/theme/ThemeScript.d.ts +0 -48
  1099. package/dist/theme/ThemeScript.d.ts.map +0 -1
  1100. package/dist/theme/ThemeScript.js +0 -13
  1101. package/dist/theme/ThemeScript.js.map +0 -1
  1102. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  1103. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  1104. package/dist/theme/__tests__/theme.test.js +0 -103
  1105. package/dist/theme/__tests__/theme.test.js.map +0 -1
  1106. package/dist/theme/constants.d.ts +0 -29
  1107. package/dist/theme/constants.d.ts.map +0 -1
  1108. package/dist/theme/constants.js +0 -48
  1109. package/dist/theme/constants.js.map +0 -1
  1110. package/dist/theme/index.d.ts +0 -31
  1111. package/dist/theme/index.d.ts.map +0 -1
  1112. package/dist/theme/index.js +0 -36
  1113. package/dist/theme/index.js.map +0 -1
  1114. package/dist/theme/theme-context.d.ts +0 -40
  1115. package/dist/theme/theme-context.d.ts.map +0 -1
  1116. package/dist/theme/theme-context.js +0 -60
  1117. package/dist/theme/theme-context.js.map +0 -1
  1118. package/dist/theme/theme-script.d.ts +0 -27
  1119. package/dist/theme/theme-script.d.ts.map +0 -1
  1120. package/dist/theme/theme-script.js +0 -147
  1121. package/dist/theme/theme-script.js.map +0 -1
  1122. package/dist/theme/types.d.ts +0 -163
  1123. package/dist/theme/types.d.ts.map +0 -1
  1124. package/dist/theme/types.js +0 -11
  1125. package/dist/theme/types.js.map +0 -1
  1126. package/dist/theme/use-theme.d.ts +0 -12
  1127. package/dist/theme/use-theme.d.ts.map +0 -1
  1128. package/dist/theme/use-theme.js +0 -40
  1129. package/dist/theme/use-theme.js.map +0 -1
  1130. package/dist/types.d.ts +0 -1479
  1131. package/dist/types.d.ts.map +0 -1
  1132. package/dist/types.js +0 -10
  1133. package/dist/types.js.map +0 -1
  1134. package/dist/urls.d.ts +0 -441
  1135. package/dist/urls.d.ts.map +0 -1
  1136. package/dist/urls.gen.d.ts +0 -8
  1137. package/dist/urls.gen.d.ts.map +0 -1
  1138. package/dist/urls.gen.js +0 -8
  1139. package/dist/urls.gen.js.map +0 -1
  1140. package/dist/urls.js +0 -443
  1141. package/dist/urls.js.map +0 -1
  1142. package/dist/use-loader.d.ts +0 -127
  1143. package/dist/use-loader.d.ts.map +0 -1
  1144. package/dist/use-loader.js +0 -237
  1145. package/dist/use-loader.js.map +0 -1
  1146. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  1147. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  1148. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  1149. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  1150. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  1151. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  1152. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  1153. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  1154. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  1155. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  1156. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  1157. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  1158. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  1159. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  1160. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  1161. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  1162. package/dist/vite/ast-handler-extract.d.ts +0 -49
  1163. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  1164. package/dist/vite/ast-handler-extract.js +0 -249
  1165. package/dist/vite/ast-handler-extract.js.map +0 -1
  1166. package/dist/vite/expose-action-id.d.ts +0 -19
  1167. package/dist/vite/expose-action-id.d.ts.map +0 -1
  1168. package/dist/vite/expose-action-id.js +0 -250
  1169. package/dist/vite/expose-action-id.js.map +0 -1
  1170. package/dist/vite/expose-id-utils.d.ts +0 -69
  1171. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  1172. package/dist/vite/expose-id-utils.js +0 -289
  1173. package/dist/vite/expose-id-utils.js.map +0 -1
  1174. package/dist/vite/expose-internal-ids.d.ts +0 -22
  1175. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  1176. package/dist/vite/expose-internal-ids.js +0 -886
  1177. package/dist/vite/expose-internal-ids.js.map +0 -1
  1178. package/dist/vite/index.d.ts +0 -149
  1179. package/dist/vite/index.d.ts.map +0 -1
  1180. package/dist/vite/index.js.bak +0 -5448
  1181. package/dist/vite/index.js.map +0 -1
  1182. package/dist/vite/index.named-routes.gen.ts +0 -103
  1183. package/dist/vite/package-resolution.d.ts +0 -43
  1184. package/dist/vite/package-resolution.d.ts.map +0 -1
  1185. package/dist/vite/package-resolution.js +0 -112
  1186. package/dist/vite/package-resolution.js.map +0 -1
  1187. package/dist/vite/virtual-entries.d.ts +0 -25
  1188. package/dist/vite/virtual-entries.d.ts.map +0 -1
  1189. package/dist/vite/virtual-entries.js +0 -110
  1190. package/dist/vite/virtual-entries.js.map +0 -1
  1191. package/src/browser/action-response-classifier.ts +0 -99
  1192. package/src/browser/react/use-client-cache.ts +0 -58
  1193. package/src/browser/shallow.ts +0 -40
  1194. package/src/handles/index.ts +0 -7
  1195. package/src/network-error-thrower.tsx +0 -23
  1196. package/src/router/middleware-cookies.ts +0 -55
package/dist/loader.js DELETED
@@ -1,20 +0,0 @@
1
- /**
2
- * rsc-router/loader (client version)
3
- *
4
- * Client-only stub for createLoader. Returns a minimal loader definition
5
- * that can be passed to hooks like useLoader. The actual loader function
6
- * is not included - it only exists on the server.
7
- *
8
- * The $$id is injected by the Vite exposeInternalIds plugin.
9
- */
10
- // Implementation - client stub that just returns the loader definition
11
- // The $$id parameter is injected by Vite plugin, not user-provided
12
- export function createLoader(_fn, _fetchable, __injectedId) {
13
- // Client only needs the $$id for identification
14
- // The actual loader function is only used on the server
15
- return {
16
- __brand: "loader",
17
- $$id: __injectedId || "",
18
- };
19
- }
20
- //# sourceMappingURL=loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyBH,uEAAuE;AACvE,mEAAmE;AACnE,MAAM,UAAU,YAAY,CAC1B,GAAyD,EACzD,UAA0C,EAC1C,YAAqB;IAErB,gDAAgD;IAChD,wDAAwD;IACxD,OAAO;QACL,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY,IAAI,EAAE;KACzB,CAAC;AACJ,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * rsc-router/loader (RSC/server version)
3
- *
4
- * Server-side createLoader implementation with full loader functionality.
5
- * Only used in react-server context via export conditions.
6
- *
7
- * For non-fetchable loaders: returns a loader definition with fn included
8
- * For fetchable loaders: stores fn in registry and returns a serializable loader with action
9
- *
10
- * The $$id is injected by the Vite exposeInternalIds plugin as a hidden parameter.
11
- * Users don't need to pass any name - IDs are auto-generated from file path.
12
- */
13
- import type { FetchableLoaderOptions, LoaderDefinition, LoaderFn } from "./types.js";
14
- import { getFetchableLoader } from "./server/fetchable-loader-store.js";
15
- export { getFetchableLoader };
16
- export declare function createLoader<T>(fn: LoaderFn<T, Record<string, string | undefined>, any>): LoaderDefinition<Awaited<T>, Record<string, string | undefined>>;
17
- export declare function createLoader<T>(fn: LoaderFn<T, Record<string, string | undefined>, any>, fetchable: true): LoaderDefinition<Awaited<T>, Record<string, string | undefined>>;
18
- export declare function createLoader<T>(fn: LoaderFn<T, Record<string, string | undefined>, any>, options: FetchableLoaderOptions): LoaderDefinition<Awaited<T>, Record<string, string | undefined>>;
19
- //# sourceMappingURL=loader.rsc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.rsc.d.ts","sourceRoot":"","sources":["../src/loader.rsc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,QAAQ,EACT,MAAM,YAAY,CAAC;AAGpB,OAAO,EAEL,kBAAkB,EACnB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAG9B,wBAAgB,YAAY,CAAC,CAAC,EAC5B,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,CAAC,GACvD,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AAGpE,wBAAgB,YAAY,CAAC,CAAC,EAC5B,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,CAAC,EACxD,SAAS,EAAE,IAAI,GACd,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AAGpE,wBAAgB,YAAY,CAAC,CAAC,EAC5B,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,CAAC,EACxD,OAAO,EAAE,sBAAsB,GAC9B,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC"}
@@ -1,99 +0,0 @@
1
- /**
2
- * rsc-router/loader (RSC/server version)
3
- *
4
- * Server-side createLoader implementation with full loader functionality.
5
- * Only used in react-server context via export conditions.
6
- *
7
- * For non-fetchable loaders: returns a loader definition with fn included
8
- * For fetchable loaders: stores fn in registry and returns a serializable loader with action
9
- *
10
- * The $$id is injected by the Vite exposeInternalIds plugin as a hidden parameter.
11
- * Users don't need to pass any name - IDs are auto-generated from file path.
12
- */
13
- import { getRequestContext } from "./server/request-context.js";
14
- import { registerFetchableLoader, getFetchableLoader, } from "./server/fetchable-loader-store.js";
15
- export { getFetchableLoader };
16
- // Implementation - the $$id parameter is injected by Vite plugin, not user-provided
17
- export function createLoader(fn, fetchable,
18
- // Hidden parameter injected by Vite exposeInternalIds plugin
19
- __injectedId) {
20
- // The $$id will be set on the returned object by Vite plugin
21
- // For fetchable loaders, __injectedId is also passed as a parameter
22
- const loaderId = __injectedId || "";
23
- // If not fetchable, store fn in registry and return a plain object.
24
- // Server-side code looks up fn via getFetchableLoader($$id).
25
- if (fetchable === undefined) {
26
- if (fn && loaderId) {
27
- registerFetchableLoader(loaderId, fn, []);
28
- }
29
- return {
30
- __brand: "loader",
31
- $$id: loaderId,
32
- };
33
- }
34
- // Fetchable loader - store fn in registry and return a serializable object
35
- const middleware = fetchable === true ? [] : fetchable?.middleware || [];
36
- // Register the function in the internal registry by $$id (server-side only)
37
- // The server action will look it up by $$id when executed
38
- if (fn && loaderId) {
39
- registerFetchableLoader(loaderId, fn, middleware);
40
- }
41
- // Create server action for form-based fetching
42
- // This action is serializable and can be passed to client components
43
- // The loaderId is captured in closure (it's a primitive string)
44
- //
45
- // IMPORTANT: The signature must be (prevState, formData) for useActionState compatibility.
46
- // When used with useActionState, React passes the previous state as the first argument.
47
- // The prevState is ignored here since loaders are stateless data fetchers.
48
- async function loaderAction(_prevState, formData) {
49
- "use server";
50
- // Look up the loader from registry by $$id
51
- const registered = getFetchableLoader(loaderId);
52
- if (!registered) {
53
- throw new Error(`Loader "${loaderId}" not found in registry`);
54
- }
55
- // Get request context (env, request, url, variables) from the RSC handler
56
- // This is set by runWithRequestContext in rsc/index.ts when executing actions
57
- const requestCtx = getRequestContext();
58
- // Convert FormData to params object
59
- const params = {};
60
- formData.forEach((value, key) => {
61
- if (typeof value === "string") {
62
- params[key] = value;
63
- }
64
- });
65
- // Use real request/url from context, or fall back to synthetic for edge cases
66
- const actionUrl = requestCtx?.url ?? new URL("http://localhost/");
67
- const actionRequest = requestCtx?.request ?? new Request(actionUrl, { method: "POST" });
68
- const env = requestCtx?.env ?? {};
69
- // Merge variables from request context (app-level middleware) with loader-specific variables
70
- // requestCtx.var is the shared variables object from the handler
71
- const variables = { ...requestCtx?.var };
72
- // Execute middleware for auth checks, headers, cookies
73
- // Headers/cookies set on ctx.res will be merged into the final response
74
- if (registered.middleware.length > 0 && requestCtx?.res) {
75
- const { executeServerActionMiddleware } = await import("./router/middleware.js");
76
- await executeServerActionMiddleware(registered.middleware, actionRequest, env, params, variables, requestCtx.res);
77
- }
78
- // Build context using createHandlerContext for consistency with route handlers
79
- // Variables are now accessed from request context via getRequestContext()
80
- const { createHandlerContext } = await import("./router/handler-context.js");
81
- const baseCtx = createHandlerContext(params, actionRequest, actionUrl.searchParams, actionUrl.pathname, actionUrl, env);
82
- // Extend with server action specific properties
83
- const ctx = {
84
- ...baseCtx,
85
- method: "POST",
86
- formData,
87
- };
88
- // Execute and return result
89
- return registered.fn(ctx);
90
- }
91
- // Return a plain object with action for form-based fetching.
92
- // loaderAction has "use server" so RSC Flight serializes it natively as a server action reference.
93
- return {
94
- __brand: "loader",
95
- $$id: loaderId,
96
- action: loaderAction,
97
- };
98
- }
99
- //# sourceMappingURL=loader.rsc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.rsc.js","sourceRoot":"","sources":["../src/loader.rsc.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import type { NetworkError } from "./errors.js";
3
- interface NetworkErrorThrowerProps {
4
- error: NetworkError;
5
- }
6
- /**
7
- * Client component that throws a NetworkError during render.
8
- * Used to trigger the root error boundary when a network error occurs
9
- * during navigation or server actions.
10
- *
11
- * This must be a separate component because:
12
- * 1. Errors must be thrown during React's render phase to be caught by error boundaries
13
- * 2. The error occurs in async code (fetch), so we need to propagate it to React's render
14
- */
15
- export declare function NetworkErrorThrower({ error }: NetworkErrorThrowerProps): ReactNode;
16
- export {};
17
- //# sourceMappingURL=network-error-thrower.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network-error-thrower.d.ts","sourceRoot":"","sources":["../src/network-error-thrower.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,UAAU,wBAAwB;IAChC,KAAK,EAAE,YAAY,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,EAAE,wBAAwB,GAAG,SAAS,CAElF"}
@@ -1,14 +0,0 @@
1
- "use client";
2
- /**
3
- * Client component that throws a NetworkError during render.
4
- * Used to trigger the root error boundary when a network error occurs
5
- * during navigation or server actions.
6
- *
7
- * This must be a separate component because:
8
- * 1. Errors must be thrown during React's render phase to be caught by error boundaries
9
- * 2. The error occurs in async code (fetch), so we need to propagate it to React's render
10
- */
11
- export function NetworkErrorThrower({ error }) {
12
- throw error;
13
- }
14
- //# sourceMappingURL=network-error-thrower.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network-error-thrower.js","sourceRoot":"","sources":["../src/network-error-thrower.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AASb;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAE,KAAK,EAA4B;IACrE,MAAM,KAAK,CAAC;AACd,CAAC"}
@@ -1,13 +0,0 @@
1
- import { Context, type ReactNode } from "react";
2
- import type { ResolvedSegment } from "./types";
3
- export interface OutletContextValue {
4
- content: ReactNode;
5
- parallel?: ResolvedSegment[];
6
- segment?: ResolvedSegment;
7
- loaderData?: Record<string, any>;
8
- parent?: OutletContextValue | null;
9
- /** Loading component for Suspense fallback (from segment's loading() definition) */
10
- loading?: ReactNode;
11
- }
12
- export declare const OutletContext: Context<OutletContextValue | null>;
13
- //# sourceMappingURL=outlet-context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"outlet-context.d.ts","sourceRoot":"","sources":["../src/outlet-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACnC,oFAAoF;IACpF,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,kBAAkB,GAAG,IAAI,CACb,CAAC"}
@@ -1,3 +0,0 @@
1
- import { createContext } from "react";
2
- export const OutletContext = createContext(null);
3
- //# sourceMappingURL=outlet-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"outlet-context.js","sourceRoot":"","sources":["../src/outlet-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,aAAa,EAAkB,MAAM,OAAO,CAAC;AAa/D,MAAM,CAAC,MAAM,aAAa,GACxB,aAAa,CAA4B,IAAI,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=param-hash.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"param-hash.test.d.ts","sourceRoot":"","sources":["../../../src/prerender/__tests__/param-hash.test.ts"],"names":[],"mappings":""}
@@ -1,148 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { hashParams } from "../param-hash.js";
3
- describe("hashParams", () => {
4
- describe("basic functionality", () => {
5
- it("should return '_' for empty params", () => {
6
- expect(hashParams({})).toBe("_");
7
- });
8
- it("should return a hash for a single param", () => {
9
- const result = hashParams({ id: "42" });
10
- expect(result).not.toBe("_");
11
- expect(result).toMatch(/^[0-9a-f]{8}$/);
12
- });
13
- it("should return a hash for multiple params", () => {
14
- const result = hashParams({ slug: "hello", locale: "en" });
15
- expect(result).not.toBe("_");
16
- expect(result).toMatch(/^[0-9a-f]{8}$/);
17
- });
18
- });
19
- describe("hash format", () => {
20
- it("should produce an 8-character lowercase hex string", () => {
21
- const result = hashParams({ key: "value" });
22
- expect(result).toHaveLength(8);
23
- expect(result).toMatch(/^[0-9a-f]{8}$/);
24
- });
25
- it("should produce an 8-char hex string even for short input", () => {
26
- const result = hashParams({ a: "b" });
27
- expect(result).toHaveLength(8);
28
- expect(result).toMatch(/^[0-9a-f]{8}$/);
29
- });
30
- });
31
- describe("deterministic ordering", () => {
32
- it("should produce the same hash regardless of insertion order", () => {
33
- const hash1 = hashParams({ a: "1", b: "2", c: "3" });
34
- const hash2 = hashParams({ c: "3", a: "1", b: "2" });
35
- const hash3 = hashParams({ b: "2", c: "3", a: "1" });
36
- expect(hash1).toBe(hash2);
37
- expect(hash2).toBe(hash3);
38
- });
39
- it("should produce the same hash for two-param objects in any order", () => {
40
- const hash1 = hashParams({ slug: "post", lang: "en" });
41
- const hash2 = hashParams({ lang: "en", slug: "post" });
42
- expect(hash1).toBe(hash2);
43
- });
44
- });
45
- describe("distinct inputs produce different hashes", () => {
46
- it("should produce different hashes for different values", () => {
47
- const hash1 = hashParams({ id: "1" });
48
- const hash2 = hashParams({ id: "2" });
49
- expect(hash1).not.toBe(hash2);
50
- });
51
- it("should produce different hashes for different keys", () => {
52
- const hash1 = hashParams({ a: "x" });
53
- const hash2 = hashParams({ b: "x" });
54
- expect(hash1).not.toBe(hash2);
55
- });
56
- it("should produce different hashes for different param counts", () => {
57
- const hash1 = hashParams({ a: "1" });
58
- const hash2 = hashParams({ a: "1", b: "2" });
59
- expect(hash1).not.toBe(hash2);
60
- });
61
- });
62
- describe("delimiter encoding prevents collisions", () => {
63
- // Fixed P0-3: keys and values are now URL-encoded before joining,
64
- // so structurally different params produce different hash inputs.
65
- it("should produce different hashes for value containing & vs separate params", () => {
66
- const singleParam = hashParams({ a: "1&b=2" });
67
- const twoParams = hashParams({ a: "1", b: "2" });
68
- expect(singleParam).not.toBe(twoParams);
69
- });
70
- it("should produce different hashes when key contains '='", () => {
71
- const equalsInKey = hashParams({ "a=1": "x" });
72
- const equalsInValue = hashParams({ a: "1=x" });
73
- expect(equalsInKey).not.toBe(equalsInValue);
74
- });
75
- it("should produce different hashes when value contains '&'", () => {
76
- const ampInValue = hashParams({ a: "x&b=y" });
77
- const separateParams = hashParams({ a: "x", b: "y" });
78
- expect(ampInValue).not.toBe(separateParams);
79
- });
80
- });
81
- describe("localeCompare non-determinism", () => {
82
- // BUG P1-10: localeCompare varies across runtimes and locales.
83
- // Byte-order (< operator) comparison should be used instead to
84
- // guarantee identical sort order in Node.js, Workers, and browsers.
85
- it("should sort by byte order, not locale-dependent order", () => {
86
- // In many locales, localeCompare treats uppercase and lowercase
87
- // as equivalent or sorts them differently than codepoint order.
88
- // Codepoint order: 'A' (65) < 'Z' (90) < 'a' (97) < 'z' (122)
89
- // Some locales: 'a' < 'A' < 'b' < 'B' (case-interleaved)
90
- const hash1 = hashParams({ Z: "1", a: "2" });
91
- const hash2 = hashParams({ a: "2", Z: "1" });
92
- // Both should produce the same hash regardless of insertion order.
93
- // This passes because localeCompare at least agrees on basic ASCII
94
- // letter ordering within a single runtime.
95
- expect(hash1).toBe(hash2);
96
- });
97
- it("should produce consistent sort order for non-ASCII keys", () => {
98
- // localeCompare may sort accented characters differently depending
99
- // on the runtime locale. Byte-order comparison would use codepoint
100
- // values and be deterministic across all environments.
101
- // e.g., in Swedish locale, a-ring sorts after z, but in German it
102
- // may sort differently.
103
- const params = { "\u00E4": "ae", "\u00F6": "oe", "a": "plain" };
104
- const hash1 = hashParams(params);
105
- // Re-hash to verify at least within the same runtime it is stable.
106
- const hash2 = hashParams({ a: "plain", "\u00F6": "oe", "\u00E4": "ae" });
107
- expect(hash1).toBe(hash2);
108
- });
109
- it("should treat codepoint order as canonical for ASCII keys", () => {
110
- // Byte/codepoint order: "_" (95) < "a" (97)
111
- // Some localeCompare implementations treat "_" as a punctuation
112
- // character and sort it after letters.
113
- const hash1 = hashParams({ _meta: "1", alpha: "2" });
114
- const hash2 = hashParams({ alpha: "2", _meta: "1" });
115
- // Within a single runtime these should match, but across runtimes
116
- // the sort order may differ if localeCompare is used.
117
- expect(hash1).toBe(hash2);
118
- });
119
- });
120
- describe("edge cases", () => {
121
- it("should handle params with empty string values", () => {
122
- const result = hashParams({ key: "" });
123
- expect(result).toMatch(/^[0-9a-f]{8}$/);
124
- expect(result).not.toBe("_");
125
- });
126
- it("should handle params with empty string keys", () => {
127
- const result = hashParams({ "": "value" });
128
- expect(result).toMatch(/^[0-9a-f]{8}$/);
129
- expect(result).not.toBe("_");
130
- });
131
- it("should produce different hashes for different unicode values", () => {
132
- const hash1 = hashParams({ name: "\u00FC" }); // u-umlaut
133
- const hash2 = hashParams({ name: "\u0075\u0308" }); // u + combining diaeresis
134
- // These are visually the same character but different codepoints,
135
- // so they should produce different hashes (no normalization).
136
- expect(hash1).not.toBe(hash2);
137
- });
138
- it("should handle a large number of params", () => {
139
- const params = {};
140
- for (let i = 0; i < 100; i++) {
141
- params[`key${i}`] = `value${i}`;
142
- }
143
- const result = hashParams(params);
144
- expect(result).toMatch(/^[0-9a-f]{8}$/);
145
- });
146
- });
147
- });
148
- //# sourceMappingURL=param-hash.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"param-hash.test.js","sourceRoot":"","sources":["../../../src/prerender/__tests__/param-hash.test.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- /**
2
- * Deterministic param hashing for prerender storage keys.
3
- *
4
- * Used at build time (child process) to generate filenames and at
5
- * runtime (worker) to look up pre-rendered data. Both environments
6
- * must produce identical hashes for the same params.
7
- *
8
- * Uses a simple DJB2-based hash that works in all JS environments
9
- * (Node.js, Cloudflare Workers, browsers) without crypto imports.
10
- */
11
- /**
12
- * Compute a deterministic hash string from route params.
13
- * For static routes (no params), returns "_".
14
- */
15
- export declare function hashParams(params: Record<string, string>): string;
16
- //# sourceMappingURL=param-hash.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"param-hash.d.ts","sourceRoot":"","sources":["../../src/prerender/param-hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CASjE"}
@@ -1,36 +0,0 @@
1
- /**
2
- * Deterministic param hashing for prerender storage keys.
3
- *
4
- * Used at build time (child process) to generate filenames and at
5
- * runtime (worker) to look up pre-rendered data. Both environments
6
- * must produce identical hashes for the same params.
7
- *
8
- * Uses a simple DJB2-based hash that works in all JS environments
9
- * (Node.js, Cloudflare Workers, browsers) without crypto imports.
10
- */
11
- /**
12
- * Compute a deterministic hash string from route params.
13
- * For static routes (no params), returns "_".
14
- */
15
- export function hashParams(params) {
16
- const entries = Object.entries(params);
17
- if (entries.length === 0)
18
- return "_";
19
- const sorted = entries.sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
20
- const str = sorted
21
- .map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)
22
- .join("&");
23
- return djb2Hex(str);
24
- }
25
- /**
26
- * DJB2 hash returning an 8-char hex string.
27
- * Deterministic across all JS runtimes.
28
- */
29
- function djb2Hex(str) {
30
- let hash = 5381;
31
- for (let i = 0; i < str.length; i++) {
32
- hash = ((hash << 5) + hash + str.charCodeAt(i)) >>> 0;
33
- }
34
- return hash.toString(16).padStart(8, "0");
35
- }
36
- //# sourceMappingURL=param-hash.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"param-hash.js","sourceRoot":"","sources":["../../src/prerender/param-hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,MAA8B;IACvD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAErC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,MAAM;SACf,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,SAAS,OAAO,CAAC,GAAW;IAC1B,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Prerender Store
3
- *
4
- * Reads pre-rendered segment data from the worker bundle at build time.
5
- * The data is stored as globalThis.__PRERENDER_MANIFEST, a map of
6
- * "<routeName>/<paramHash>" to dynamic import functions that resolve
7
- * individual prerender entry modules.
8
- */
9
- import type { SerializedSegmentData, SegmentHandleData } from "../cache/types.js";
10
- export interface PrerenderEntry {
11
- segments: SerializedSegmentData[];
12
- handles: Record<string, SegmentHandleData>;
13
- }
14
- export interface PrerenderStore {
15
- get(routeName: string, paramHash: string, meta?: {
16
- pathname: string;
17
- }): PrerenderEntry | null | Promise<PrerenderEntry | null>;
18
- }
19
- declare global {
20
- var __PRERENDER_MANIFEST: Record<string, () => Promise<{
21
- default: PrerenderEntry;
22
- }>> | undefined;
23
- var __PRERENDER_DEV_URL: string | undefined;
24
- }
25
- /**
26
- * Create a dev-mode prerender store that fetches on-demand from the
27
- * Vite dev server's /__rsc_prerender endpoint (runs in Node.js where
28
- * node:fs works, unlike workerd).
29
- */
30
- export declare function createDevPrerenderStore(devUrl: string): PrerenderStore;
31
- /**
32
- * Create a prerender store.
33
- * Dev mode: on-demand fetch from Vite dev server (node:fs works there).
34
- * Production: backed by globalThis.__PRERENDER_MANIFEST injected at build time.
35
- * Returns null if no prerender data is available.
36
- */
37
- export declare function createPrerenderStore(): PrerenderStore | null;
38
- //# sourceMappingURL=store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/prerender/store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAElF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GACnE,cAAc,GAAG,IAAI,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CAC1D;AAED,OAAO,CAAC,MAAM,CAAC;IAGb,IAAI,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC,GAAG,SAAS,CAAC;IAGjG,IAAI,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CActE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,GAAG,IAAI,CAuB5D"}
@@ -1,61 +0,0 @@
1
- /**
2
- * Prerender Store
3
- *
4
- * Reads pre-rendered segment data from the worker bundle at build time.
5
- * The data is stored as globalThis.__PRERENDER_MANIFEST, a map of
6
- * "<routeName>/<paramHash>" to dynamic import functions that resolve
7
- * individual prerender entry modules.
8
- */
9
- /**
10
- * Create a dev-mode prerender store that fetches on-demand from the
11
- * Vite dev server's /__rsc_prerender endpoint (runs in Node.js where
12
- * node:fs works, unlike workerd).
13
- */
14
- export function createDevPrerenderStore(devUrl) {
15
- return {
16
- async get(_routeName, _paramHash, meta) {
17
- if (!meta?.pathname)
18
- return null;
19
- const url = `${devUrl}/__rsc_prerender?pathname=${encodeURIComponent(meta.pathname)}`;
20
- try {
21
- const res = await fetch(url);
22
- if (!res.ok)
23
- return null;
24
- return res.json();
25
- }
26
- catch {
27
- return null;
28
- }
29
- },
30
- };
31
- }
32
- /**
33
- * Create a prerender store.
34
- * Dev mode: on-demand fetch from Vite dev server (node:fs works there).
35
- * Production: backed by globalThis.__PRERENDER_MANIFEST injected at build time.
36
- * Returns null if no prerender data is available.
37
- */
38
- export function createPrerenderStore() {
39
- if (globalThis.__PRERENDER_DEV_URL) {
40
- return createDevPrerenderStore(globalThis.__PRERENDER_DEV_URL);
41
- }
42
- const manifest = globalThis.__PRERENDER_MANIFEST;
43
- if (!manifest || Object.keys(manifest).length === 0)
44
- return null;
45
- const cache = new Map();
46
- return {
47
- get(routeName, paramHash) {
48
- const key = `${routeName}/${paramHash}`;
49
- const cached = cache.get(key);
50
- if (cached)
51
- return cached;
52
- const loader = manifest[key];
53
- if (!loader)
54
- return Promise.resolve(null);
55
- const promise = loader().then((mod) => mod.default).catch(() => null);
56
- cache.set(key, promise);
57
- return promise;
58
- },
59
- };
60
- }
61
- //# sourceMappingURL=store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/prerender/store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAuBH;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,OAAO;QACL,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI;YACpC,IAAI,CAAC,IAAI,EAAE,QAAQ;gBAAE,OAAO,IAAI,CAAC;YACjC,MAAM,GAAG,GAAG,GAAG,MAAM,6BAA6B,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtF,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,EAAE;oBAAE,OAAO,IAAI,CAAC;gBACzB,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC;QACnC,OAAO,uBAAuB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,oBAAoB,CAAC;IACjD,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjE,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0C,CAAC;IAEhE,OAAO;QACL,GAAG,CAAC,SAAiB,EAAE,SAAiB;YACtC,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAE1B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE1C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACtE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACxB,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,66 +0,0 @@
1
- /**
2
- * Pre-render handler definition for build-time rendering of route segments.
3
- *
4
- * Prerender wraps a handler so that in production (phase 2)
5
- * it can be pre-rendered at build time and served as a static Flight payload.
6
- * In dev mode (phase 1), it behaves as a normal handler — the handler runs
7
- * on every request just like a regular path() handler.
8
- *
9
- * The $$id is auto-generated by the Vite exposeInternalIds plugin
10
- * based on file path and export name. No manual naming required.
11
- *
12
- * @example
13
- * ```ts
14
- * // Static page — no params
15
- * export const DocsPage = Prerender(async (ctx) => {
16
- * return <div>Documentation</div>;
17
- * });
18
- *
19
- * // Dynamic page — params first, handler second
20
- * export const DocsArticle = Prerender(
21
- * async () => [{ slug: "getting-started" }, { slug: "api-reference" }],
22
- * async (ctx) => {
23
- * return <div>{ctx.params.slug}</div>;
24
- * }
25
- * );
26
- * ```
27
- */
28
- import type { ReactNode } from "react";
29
- import type { Handler, HandlerContext } from "./types.js";
30
- import type { Handle } from "./handle.js";
31
- export interface PrerenderOptions {
32
- /**
33
- * Keep handler in server bundle for live fallback (default: false).
34
- * false: handler replaced with stub, source-only APIs excluded from bundle.
35
- * true: handler stays in bundle, unknown params render live at request time.
36
- */
37
- passthrough?: boolean;
38
- }
39
- export interface BuildContext<TParams> {
40
- /** Params extracted from the route pattern (populated from getParams). */
41
- params: TParams;
42
- /** Push handle data (frozen into pre-rendered output at build time). */
43
- use: <T>(handle: Handle<T>) => (data: T) => void;
44
- /** Synthetic URL built from pattern + params (no real request). */
45
- url: URL;
46
- /** Pathname portion of the synthetic URL. */
47
- pathname: string;
48
- }
49
- export interface PrerenderHandlerDefinition<TParams extends Record<string, any> = any> {
50
- readonly __brand: "prerenderHandler";
51
- /** Auto-generated unique ID (injected by Vite plugin). */
52
- $$id: string;
53
- /** In dev mode, the actual handler function that path() can call. */
54
- handler: Handler<TParams>;
55
- /** Returns the list of param objects to pre-render (dynamic routes). */
56
- getParams?: () => Promise<TParams[]> | TParams[];
57
- /** Pre-render options. */
58
- options?: PrerenderOptions;
59
- }
60
- export declare function Prerender<TParams extends Record<string, any> = {}>(handler: (ctx: HandlerContext<TParams>) => ReactNode | Promise<ReactNode>, options?: PrerenderOptions, __injectedId?: string): PrerenderHandlerDefinition<TParams>;
61
- export declare function Prerender<TParams extends Record<string, any>>(getParams: () => Promise<TParams[]> | TParams[], handler: (ctx: HandlerContext<TParams>) => ReactNode | Promise<ReactNode>, options?: PrerenderOptions, __injectedId?: string): PrerenderHandlerDefinition<TParams>;
62
- /**
63
- * Type guard to check if a value is a PrerenderHandlerDefinition.
64
- */
65
- export declare function isPrerenderHandler(value: unknown): value is PrerenderHandlerDefinition;
66
- //# sourceMappingURL=prerender.d.ts.map