@rangojs/router 0.0.0-experimental.d20dd405 → 0.0.0-experimental.d5d3070a

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 (1186) hide show
  1. package/AGENTS.md +8 -0
  2. package/README.md +57 -14
  3. package/dist/bin/rango.js +312 -93
  4. package/dist/testing/vitest.js +82 -0
  5. package/dist/vite/index.js +1632 -705
  6. package/package.json +64 -12
  7. package/skills/api-client/SKILL.md +211 -0
  8. package/skills/breadcrumbs/SKILL.md +61 -1
  9. package/skills/bundle-analysis/SKILL.md +159 -0
  10. package/skills/cache-guide/SKILL.md +224 -32
  11. package/skills/caching/SKILL.md +279 -17
  12. package/skills/composability/SKILL.md +27 -2
  13. package/skills/css/SKILL.md +76 -0
  14. package/skills/debug-manifest/SKILL.md +4 -2
  15. package/skills/document-cache/SKILL.md +78 -55
  16. package/skills/handler-use/SKILL.md +2 -2
  17. package/skills/hooks/SKILL.md +217 -31
  18. package/skills/host-router/SKILL.md +83 -23
  19. package/skills/intercept/SKILL.md +5 -6
  20. package/skills/layout/SKILL.md +11 -9
  21. package/skills/links/SKILL.md +22 -10
  22. package/skills/loader/SKILL.md +172 -23
  23. package/skills/middleware/SKILL.md +16 -10
  24. package/skills/migrate-nextjs/SKILL.md +38 -16
  25. package/skills/migrate-react-router/SKILL.md +4 -2
  26. package/skills/mime-routes/SKILL.md +28 -1
  27. package/skills/observability/SKILL.md +172 -0
  28. package/skills/parallel/SKILL.md +9 -7
  29. package/skills/prerender/SKILL.md +45 -43
  30. package/skills/rango/SKILL.md +251 -26
  31. package/skills/react-compiler/SKILL.md +168 -0
  32. package/skills/response-routes/SKILL.md +115 -48
  33. package/skills/route/SKILL.md +22 -5
  34. package/skills/router-setup/SKILL.md +29 -6
  35. package/skills/scripts/SKILL.md +179 -0
  36. package/skills/server-actions/SKILL.md +78 -42
  37. package/skills/tailwind/SKILL.md +27 -3
  38. package/skills/testing/SKILL.md +129 -0
  39. package/skills/testing/bindings.md +103 -0
  40. package/skills/testing/cache-prerender.md +127 -0
  41. package/skills/testing/client-components.md +124 -0
  42. package/skills/testing/e2e-parity.md +125 -0
  43. package/skills/testing/flight.md +91 -0
  44. package/skills/testing/handles.md +129 -0
  45. package/skills/testing/loader.md +128 -0
  46. package/skills/testing/middleware.md +99 -0
  47. package/skills/testing/render-handler.md +121 -0
  48. package/skills/testing/response-routes.md +95 -0
  49. package/skills/testing/reverse-and-types.md +84 -0
  50. package/skills/testing/server-actions.md +107 -0
  51. package/skills/testing/server-tree.md +128 -0
  52. package/skills/testing/setup.md +123 -0
  53. package/skills/typesafety/SKILL.md +313 -28
  54. package/skills/use-cache/SKILL.md +46 -14
  55. package/skills/view-transitions/SKILL.md +85 -3
  56. package/src/__augment-tests__/augment.ts +81 -0
  57. package/src/__augment-tests__/augmented.check.ts +116 -0
  58. package/src/__internal.ts +0 -65
  59. package/src/browser/action-coordinator.ts +53 -36
  60. package/src/browser/action-fence.ts +47 -0
  61. package/src/browser/app-shell.ts +14 -27
  62. package/src/browser/connection-warmup.ts +134 -0
  63. package/src/browser/cookie-name.ts +140 -0
  64. package/src/browser/event-controller.ts +151 -149
  65. package/src/browser/history-state.ts +21 -0
  66. package/src/browser/index.ts +3 -3
  67. package/src/browser/invalidate-client-cache.ts +52 -0
  68. package/src/browser/navigation-bridge.ts +67 -126
  69. package/src/browser/navigation-client.ts +110 -84
  70. package/src/browser/navigation-store-handle.ts +38 -0
  71. package/src/browser/navigation-store.ts +32 -82
  72. package/src/browser/navigation-transaction.ts +9 -59
  73. package/src/browser/network-error-handler.ts +34 -7
  74. package/src/browser/partial-update.ts +108 -144
  75. package/src/browser/prefetch/cache.ts +107 -72
  76. package/src/browser/prefetch/fetch.ts +186 -34
  77. package/src/browser/prefetch/queue.ts +6 -3
  78. package/src/browser/rango-state.ts +157 -115
  79. package/src/browser/react/Link.tsx +30 -7
  80. package/src/browser/react/NavigationProvider.tsx +173 -160
  81. package/src/browser/react/ScrollRestoration.tsx +10 -6
  82. package/src/browser/react/filter-segment-order.ts +17 -2
  83. package/src/browser/react/index.ts +0 -51
  84. package/src/browser/react/location-state-shared.ts +178 -8
  85. package/src/browser/react/location-state.ts +39 -14
  86. package/src/browser/react/use-action.ts +6 -15
  87. package/src/browser/react/use-handle.ts +17 -14
  88. package/src/browser/react/use-href.tsx +8 -1
  89. package/src/browser/react/use-link-status.ts +33 -8
  90. package/src/browser/react/use-navigation.ts +10 -5
  91. package/src/browser/react/use-params.ts +3 -6
  92. package/src/browser/react/use-reverse.ts +19 -12
  93. package/src/browser/react/use-router.ts +20 -5
  94. package/src/browser/react/use-search-params.ts +0 -5
  95. package/src/browser/react/use-segments.ts +0 -13
  96. package/src/browser/response-adapter.ts +80 -5
  97. package/src/browser/rsc-router.tsx +73 -34
  98. package/src/browser/scroll-restoration.ts +38 -28
  99. package/src/browser/segment-structure-assert.ts +2 -2
  100. package/src/browser/server-action-bridge.ts +214 -55
  101. package/src/browser/types.ts +51 -21
  102. package/src/browser/validate-redirect-origin.ts +43 -16
  103. package/src/build/collect-fallback-refs.ts +107 -0
  104. package/src/build/generate-manifest.ts +60 -35
  105. package/src/build/generate-route-types.ts +2 -1
  106. package/src/build/index.ts +8 -2
  107. package/src/build/prefix-tree-utils.ts +123 -0
  108. package/src/build/route-trie.ts +117 -15
  109. package/src/build/route-types/ast-route-extraction.ts +15 -8
  110. package/src/build/route-types/codegen.ts +16 -5
  111. package/src/build/route-types/include-resolution.ts +117 -23
  112. package/src/build/route-types/param-extraction.ts +6 -3
  113. package/src/build/route-types/per-module-writer.ts +22 -6
  114. package/src/build/route-types/router-processing.ts +55 -28
  115. package/src/build/route-types/scan-filter.ts +1 -1
  116. package/src/build/route-types/source-scan.ts +216 -0
  117. package/src/build/runtime-discovery.ts +9 -20
  118. package/src/cache/cache-error.ts +104 -0
  119. package/src/cache/cache-key-utils.ts +29 -13
  120. package/src/cache/cache-policy.ts +108 -34
  121. package/src/cache/cache-runtime.ts +199 -37
  122. package/src/cache/cache-scope.ts +188 -82
  123. package/src/cache/cache-tag.ts +103 -0
  124. package/src/cache/cf/cf-base64.ts +33 -0
  125. package/src/cache/cf/cf-cache-constants.ts +127 -0
  126. package/src/cache/cf/cf-cache-store.ts +1990 -377
  127. package/src/cache/cf/cf-cache-types.ts +349 -0
  128. package/src/cache/cf/cf-kv-utils.ts +46 -0
  129. package/src/cache/cf/cf-tag-marker-memo.ts +105 -0
  130. package/src/cache/cf/index.ts +6 -16
  131. package/src/cache/document-cache.ts +72 -20
  132. package/src/cache/handle-snapshot.ts +70 -0
  133. package/src/cache/index.ts +10 -20
  134. package/src/cache/memory-segment-store.ts +136 -37
  135. package/src/cache/profile-registry.ts +31 -31
  136. package/src/cache/read-through-swr.ts +41 -11
  137. package/src/cache/segment-codec.ts +9 -17
  138. package/src/cache/tag-invalidation.ts +230 -0
  139. package/src/cache/types.ts +37 -100
  140. package/src/client.rsc.tsx +42 -22
  141. package/src/client.tsx +33 -62
  142. package/src/cloudflare/index.ts +11 -0
  143. package/src/cloudflare/tracing.ts +109 -0
  144. package/src/component-utils.ts +19 -0
  145. package/src/components/DefaultDocument.tsx +8 -2
  146. package/src/context-var.ts +18 -6
  147. package/src/decode-loader-results.ts +52 -0
  148. package/src/defer.ts +196 -0
  149. package/src/deps/ssr.ts +0 -1
  150. package/src/encode-kv.ts +49 -0
  151. package/src/errors.ts +30 -4
  152. package/src/escape-script.ts +52 -0
  153. package/src/handle.ts +31 -23
  154. package/src/handles/MetaTags.tsx +62 -19
  155. package/src/handles/Scripts.tsx +183 -0
  156. package/src/handles/breadcrumbs.ts +37 -8
  157. package/src/handles/is-thenable.ts +19 -0
  158. package/src/handles/meta.ts +51 -40
  159. package/src/handles/script.ts +244 -0
  160. package/src/host/cookie-handler.ts +9 -60
  161. package/src/host/errors.ts +0 -24
  162. package/src/host/index.ts +8 -2
  163. package/src/host/pattern-matcher.ts +23 -52
  164. package/src/host/router.ts +107 -99
  165. package/src/host/testing.ts +40 -27
  166. package/src/host/types.ts +37 -4
  167. package/src/host/utils.ts +1 -1
  168. package/src/href-client.ts +136 -24
  169. package/src/index.rsc.ts +87 -11
  170. package/src/index.ts +85 -10
  171. package/src/internal-debug.ts +11 -10
  172. package/src/loader-store.ts +500 -0
  173. package/src/loader.rsc.ts +20 -13
  174. package/src/loader.ts +12 -11
  175. package/src/missing-id-error.ts +68 -0
  176. package/src/outlet-provider.tsx +1 -5
  177. package/src/prerender/param-hash.ts +16 -16
  178. package/src/prerender/store.ts +32 -37
  179. package/src/prerender.ts +61 -6
  180. package/src/redirect-origin.ts +100 -0
  181. package/src/regex-escape.ts +8 -0
  182. package/src/render-error-thrower.tsx +20 -0
  183. package/src/response-utils.ts +34 -0
  184. package/src/reverse.ts +16 -13
  185. package/src/root-error-boundary.tsx +1 -19
  186. package/src/route-content-wrapper.tsx +7 -72
  187. package/src/route-definition/dsl-helpers.ts +276 -283
  188. package/src/route-definition/helper-factories.ts +29 -139
  189. package/src/route-definition/helpers-types.ts +40 -17
  190. package/src/route-definition/redirect.ts +44 -11
  191. package/src/route-definition/resolve-handler-use.ts +6 -0
  192. package/src/route-definition/use-item-types.ts +32 -0
  193. package/src/route-map-builder.ts +0 -16
  194. package/src/route-types.ts +19 -41
  195. package/src/router/basename.ts +14 -0
  196. package/src/router/content-negotiation.ts +73 -25
  197. package/src/router/error-handling.ts +45 -18
  198. package/src/router/find-match.ts +44 -23
  199. package/src/router/handler-context.ts +6 -1
  200. package/src/router/instrument.ts +350 -0
  201. package/src/router/intercept-resolution.ts +39 -20
  202. package/src/router/lazy-includes.ts +9 -46
  203. package/src/router/loader-resolution.ts +152 -72
  204. package/src/router/logging.ts +0 -6
  205. package/src/router/manifest.ts +18 -29
  206. package/src/router/match-api.ts +0 -20
  207. package/src/router/match-context.ts +0 -22
  208. package/src/router/match-handlers.ts +57 -58
  209. package/src/router/match-middleware/background-revalidation.ts +6 -7
  210. package/src/router/match-middleware/cache-lookup.ts +159 -285
  211. package/src/router/match-middleware/cache-store.ts +31 -34
  212. package/src/router/match-middleware/intercept-resolution.ts +0 -22
  213. package/src/router/match-middleware/segment-resolution.ts +0 -22
  214. package/src/router/match-pipelines.ts +1 -42
  215. package/src/router/match-result.ts +31 -80
  216. package/src/router/metrics.ts +0 -34
  217. package/src/router/middleware-types.ts +0 -116
  218. package/src/router/middleware.ts +216 -163
  219. package/src/router/navigation-snapshot.ts +0 -51
  220. package/src/router/params-util.ts +23 -0
  221. package/src/router/pattern-matching.ts +47 -89
  222. package/src/router/prefetch-cache-ttl.ts +51 -0
  223. package/src/router/prerender-match.ts +104 -65
  224. package/src/router/preview-match.ts +3 -1
  225. package/src/router/request-classification.ts +28 -62
  226. package/src/router/revalidation.ts +110 -74
  227. package/src/router/route-snapshot.ts +0 -1
  228. package/src/router/router-context.ts +3 -28
  229. package/src/router/router-interfaces.ts +83 -35
  230. package/src/router/router-options.ts +136 -5
  231. package/src/router/router-registry.ts +2 -5
  232. package/src/router/segment-resolution/fresh.ts +85 -84
  233. package/src/router/segment-resolution/helpers.ts +86 -6
  234. package/src/router/segment-resolution/loader-cache.ts +62 -37
  235. package/src/router/segment-resolution/revalidation.ts +227 -306
  236. package/src/router/segment-resolution/static-store.ts +19 -5
  237. package/src/router/segment-resolution/streamed-handler-telemetry.ts +52 -0
  238. package/src/router/segment-resolution/view-transition-default.ts +36 -0
  239. package/src/router/segment-resolution.ts +5 -1
  240. package/src/router/segment-wrappers.ts +6 -5
  241. package/src/router/state-cookie-name.ts +33 -0
  242. package/src/router/telemetry-otel.ts +161 -199
  243. package/src/router/telemetry.ts +96 -19
  244. package/src/router/timeout.ts +0 -20
  245. package/src/router/tracing.ts +206 -0
  246. package/src/router/trie-matching.ts +163 -64
  247. package/src/router/types.ts +9 -63
  248. package/src/router/url-params.ts +0 -5
  249. package/src/router.ts +109 -53
  250. package/src/rsc/handler-context.ts +3 -2
  251. package/src/rsc/handler.ts +262 -219
  252. package/src/rsc/helpers.ts +100 -6
  253. package/src/rsc/index.ts +2 -5
  254. package/src/rsc/json-route-result.ts +38 -0
  255. package/src/rsc/loader-fetch.ts +114 -38
  256. package/src/rsc/manifest-init.ts +28 -41
  257. package/src/rsc/origin-guard.ts +39 -25
  258. package/src/rsc/progressive-enhancement.ts +59 -9
  259. package/src/rsc/redirect-guard.ts +99 -0
  260. package/src/rsc/response-cache-serve.ts +238 -0
  261. package/src/rsc/response-error.ts +79 -12
  262. package/src/rsc/response-route-handler.ts +85 -188
  263. package/src/rsc/rsc-rendering.ts +91 -77
  264. package/src/rsc/runtime-warnings.ts +23 -10
  265. package/src/rsc/server-action.ts +256 -117
  266. package/src/rsc/ssr-setup.ts +16 -0
  267. package/src/rsc/types.ts +17 -5
  268. package/src/runtime-env.ts +18 -0
  269. package/src/search-params.ts +35 -30
  270. package/src/segment-loader-promise.ts +31 -4
  271. package/src/segment-system.tsx +151 -136
  272. package/src/serialize.ts +243 -0
  273. package/src/server/context.ts +150 -51
  274. package/src/server/cookie-parse.ts +32 -0
  275. package/src/server/cookie-store.ts +80 -5
  276. package/src/server/handle-store.ts +21 -38
  277. package/src/server/loader-registry.ts +21 -42
  278. package/src/server/request-context.ts +225 -133
  279. package/src/ssr/index.tsx +19 -18
  280. package/src/static-handler.ts +10 -13
  281. package/src/testing/cache-status.ts +162 -0
  282. package/src/testing/collect-handle.ts +40 -0
  283. package/src/testing/dispatch.ts +701 -0
  284. package/src/testing/dom.entry.ts +22 -0
  285. package/src/testing/e2e/fixture.ts +188 -0
  286. package/src/testing/e2e/index.ts +128 -0
  287. package/src/testing/e2e/matchers.ts +35 -0
  288. package/src/testing/e2e/page-helpers.ts +272 -0
  289. package/src/testing/e2e/parity.ts +387 -0
  290. package/src/testing/e2e/server.ts +195 -0
  291. package/src/testing/flight-matchers.ts +97 -0
  292. package/src/testing/flight-normalize.ts +11 -0
  293. package/src/testing/flight-runtime.d.ts +57 -0
  294. package/src/testing/flight-tree.ts +682 -0
  295. package/src/testing/flight.entry.ts +52 -0
  296. package/src/testing/flight.ts +257 -0
  297. package/src/testing/generated-routes.ts +183 -0
  298. package/src/testing/index.ts +99 -0
  299. package/src/testing/internal/context.ts +371 -0
  300. package/src/testing/internal/flight-client-globals.ts +30 -0
  301. package/src/testing/internal/seed-vars.ts +54 -0
  302. package/src/testing/render-handler.ts +343 -0
  303. package/src/testing/render-route.tsx +581 -0
  304. package/src/testing/run-loader.ts +385 -0
  305. package/src/testing/run-middleware.ts +205 -0
  306. package/src/testing/vitest-stubs/cloudflare-email.ts +9 -0
  307. package/src/testing/vitest-stubs/cloudflare-workers.ts +21 -0
  308. package/src/testing/vitest-stubs/plugin-rsc.ts +16 -0
  309. package/src/testing/vitest-stubs/version.ts +5 -0
  310. package/src/testing/vitest.ts +305 -0
  311. package/src/theme/ThemeProvider.tsx +20 -58
  312. package/src/theme/ThemeScript.tsx +7 -9
  313. package/src/theme/constants.ts +52 -13
  314. package/src/theme/index.ts +0 -7
  315. package/src/theme/theme-context.ts +1 -5
  316. package/src/theme/theme-script.ts +22 -21
  317. package/src/theme/use-theme.ts +0 -3
  318. package/src/types/boundaries.ts +0 -35
  319. package/src/types/cache-types.ts +13 -4
  320. package/src/types/error-types.ts +30 -90
  321. package/src/types/global-namespace.ts +54 -41
  322. package/src/types/handler-context.ts +97 -22
  323. package/src/types/index.ts +1 -10
  324. package/src/types/loader-types.ts +6 -3
  325. package/src/types/request-scope.ts +8 -22
  326. package/src/types/route-config.ts +6 -50
  327. package/src/types/route-entry.ts +0 -6
  328. package/src/types/segments.ts +18 -14
  329. package/src/urls/include-helper.ts +9 -56
  330. package/src/urls/index.ts +1 -11
  331. package/src/urls/path-helper-types.ts +19 -5
  332. package/src/urls/path-helper.ts +17 -106
  333. package/src/urls/pattern-types.ts +36 -19
  334. package/src/urls/response-types.ts +20 -19
  335. package/src/urls/type-extraction.ts +58 -139
  336. package/src/urls/urls-function.ts +1 -18
  337. package/src/use-loader.tsx +292 -107
  338. package/src/vite/debug.ts +1 -0
  339. package/src/vite/discovery/bundle-postprocess.ts +8 -7
  340. package/src/vite/discovery/discover-routers.ts +95 -82
  341. package/src/vite/discovery/discovery-errors.ts +194 -0
  342. package/src/vite/discovery/prerender-collection.ts +48 -67
  343. package/src/vite/discovery/route-types-writer.ts +40 -84
  344. package/src/vite/discovery/state.ts +44 -0
  345. package/src/vite/discovery/virtual-module-codegen.ts +14 -34
  346. package/src/vite/index.ts +2 -0
  347. package/src/vite/inject-client-debug.ts +36 -0
  348. package/src/vite/plugin-types.ts +126 -8
  349. package/src/vite/plugins/cjs-to-esm.ts +11 -19
  350. package/src/vite/plugins/client-ref-dedup.ts +0 -11
  351. package/src/vite/plugins/client-ref-hashing.ts +12 -11
  352. package/src/vite/plugins/cloudflare-protocol-stub.ts +1 -21
  353. package/src/vite/plugins/expose-action-id.ts +4 -75
  354. package/src/vite/plugins/expose-id-utils.ts +88 -55
  355. package/src/vite/plugins/expose-ids/export-analysis.ts +101 -34
  356. package/src/vite/plugins/expose-ids/handler-transform.ts +11 -90
  357. package/src/vite/plugins/expose-ids/loader-transform.ts +14 -24
  358. package/src/vite/plugins/expose-ids/router-transform.ts +98 -26
  359. package/src/vite/plugins/expose-internal-ids.ts +57 -68
  360. package/src/vite/plugins/performance-tracks.ts +9 -16
  361. package/src/vite/plugins/refresh-cmd.ts +1 -1
  362. package/src/vite/plugins/use-cache-transform.ts +26 -49
  363. package/src/vite/plugins/version-injector.ts +2 -32
  364. package/src/vite/plugins/version-plugin.ts +37 -40
  365. package/src/vite/plugins/virtual-entries.ts +13 -18
  366. package/src/vite/rango.ts +60 -104
  367. package/src/vite/router-discovery.ts +236 -83
  368. package/src/vite/utils/ast-handler-extract.ts +26 -35
  369. package/src/vite/utils/bundle-analysis.ts +10 -15
  370. package/src/vite/utils/client-chunks.ts +184 -0
  371. package/src/vite/utils/directive-prologue.ts +40 -0
  372. package/src/vite/utils/forward-user-plugins.ts +171 -0
  373. package/src/vite/utils/manifest-utils.ts +4 -59
  374. package/src/vite/utils/package-resolution.ts +1 -73
  375. package/src/vite/utils/prerender-utils.ts +54 -40
  376. package/src/vite/utils/shared-utils.ts +90 -41
  377. package/dist/__internal.d.ts +0 -83
  378. package/dist/__internal.d.ts.map +0 -1
  379. package/dist/__internal.js +0 -19
  380. package/dist/__internal.js.map +0 -1
  381. package/dist/__mocks__/version.d.ts +0 -7
  382. package/dist/__mocks__/version.d.ts.map +0 -1
  383. package/dist/__mocks__/version.js +0 -7
  384. package/dist/__mocks__/version.js.map +0 -1
  385. package/dist/__tests__/client-href.test.d.ts +0 -2
  386. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  387. package/dist/__tests__/client-href.test.js +0 -74
  388. package/dist/__tests__/client-href.test.js.map +0 -1
  389. package/dist/__tests__/component-utils.test.d.ts +0 -2
  390. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  391. package/dist/__tests__/component-utils.test.js +0 -51
  392. package/dist/__tests__/component-utils.test.js.map +0 -1
  393. package/dist/__tests__/event-controller.test.d.ts +0 -2
  394. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  395. package/dist/__tests__/event-controller.test.js +0 -538
  396. package/dist/__tests__/event-controller.test.js.map +0 -1
  397. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  398. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  399. package/dist/__tests__/helpers/route-tree.js +0 -374
  400. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  401. package/dist/__tests__/match-result.test.d.ts +0 -2
  402. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  403. package/dist/__tests__/match-result.test.js +0 -154
  404. package/dist/__tests__/match-result.test.js.map +0 -1
  405. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  406. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  407. package/dist/__tests__/navigation-store.test.js +0 -440
  408. package/dist/__tests__/navigation-store.test.js.map +0 -1
  409. package/dist/__tests__/partial-update.test.d.ts +0 -2
  410. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  411. package/dist/__tests__/partial-update.test.js +0 -1009
  412. package/dist/__tests__/partial-update.test.js.map +0 -1
  413. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  414. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  415. package/dist/__tests__/reverse-types.test.js +0 -656
  416. package/dist/__tests__/reverse-types.test.js.map +0 -1
  417. package/dist/__tests__/route-definition.test.d.ts +0 -2
  418. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  419. package/dist/__tests__/route-definition.test.js +0 -55
  420. package/dist/__tests__/route-definition.test.js.map +0 -1
  421. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  422. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  423. package/dist/__tests__/router-helpers.test.js +0 -377
  424. package/dist/__tests__/router-helpers.test.js.map +0 -1
  425. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  426. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  427. package/dist/__tests__/router-integration-2.test.js +0 -426
  428. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  429. package/dist/__tests__/router-integration.test.d.ts +0 -2
  430. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  431. package/dist/__tests__/router-integration.test.js +0 -1051
  432. package/dist/__tests__/router-integration.test.js.map +0 -1
  433. package/dist/__tests__/search-params.test.d.ts +0 -5
  434. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  435. package/dist/__tests__/search-params.test.js +0 -306
  436. package/dist/__tests__/search-params.test.js.map +0 -1
  437. package/dist/__tests__/segment-system.test.d.ts +0 -2
  438. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  439. package/dist/__tests__/segment-system.test.js +0 -627
  440. package/dist/__tests__/segment-system.test.js.map +0 -1
  441. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  442. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  443. package/dist/__tests__/static-handler-types.test.js +0 -63
  444. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  445. package/dist/__tests__/urls.test.d.ts +0 -2
  446. package/dist/__tests__/urls.test.d.ts.map +0 -1
  447. package/dist/__tests__/urls.test.js +0 -421
  448. package/dist/__tests__/urls.test.js.map +0 -1
  449. package/dist/__tests__/use-mount.test.d.ts +0 -2
  450. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  451. package/dist/__tests__/use-mount.test.js +0 -35
  452. package/dist/__tests__/use-mount.test.js.map +0 -1
  453. package/dist/bin/rango.d.ts +0 -2
  454. package/dist/bin/rango.d.ts.map +0 -1
  455. package/dist/bin/rango.js.map +0 -1
  456. package/dist/browser/event-controller.d.ts +0 -191
  457. package/dist/browser/event-controller.d.ts.map +0 -1
  458. package/dist/browser/event-controller.js +0 -559
  459. package/dist/browser/event-controller.js.map +0 -1
  460. package/dist/browser/index.d.ts +0 -2
  461. package/dist/browser/index.d.ts.map +0 -1
  462. package/dist/browser/index.js +0 -14
  463. package/dist/browser/index.js.map +0 -1
  464. package/dist/browser/link-interceptor.d.ts +0 -38
  465. package/dist/browser/link-interceptor.d.ts.map +0 -1
  466. package/dist/browser/link-interceptor.js +0 -99
  467. package/dist/browser/link-interceptor.js.map +0 -1
  468. package/dist/browser/logging.d.ts +0 -10
  469. package/dist/browser/logging.d.ts.map +0 -1
  470. package/dist/browser/logging.js +0 -29
  471. package/dist/browser/logging.js.map +0 -1
  472. package/dist/browser/lru-cache.d.ts +0 -17
  473. package/dist/browser/lru-cache.d.ts.map +0 -1
  474. package/dist/browser/lru-cache.js +0 -50
  475. package/dist/browser/lru-cache.js.map +0 -1
  476. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  477. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  478. package/dist/browser/merge-segment-loaders.js +0 -102
  479. package/dist/browser/merge-segment-loaders.js.map +0 -1
  480. package/dist/browser/navigation-bridge.d.ts +0 -102
  481. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  482. package/dist/browser/navigation-bridge.js +0 -708
  483. package/dist/browser/navigation-bridge.js.map +0 -1
  484. package/dist/browser/navigation-client.d.ts +0 -25
  485. package/dist/browser/navigation-client.d.ts.map +0 -1
  486. package/dist/browser/navigation-client.js +0 -157
  487. package/dist/browser/navigation-client.js.map +0 -1
  488. package/dist/browser/navigation-store.d.ts +0 -101
  489. package/dist/browser/navigation-store.d.ts.map +0 -1
  490. package/dist/browser/navigation-store.js +0 -625
  491. package/dist/browser/navigation-store.js.map +0 -1
  492. package/dist/browser/partial-update.d.ts +0 -75
  493. package/dist/browser/partial-update.d.ts.map +0 -1
  494. package/dist/browser/partial-update.js +0 -426
  495. package/dist/browser/partial-update.js.map +0 -1
  496. package/dist/browser/react/Link.d.ts +0 -86
  497. package/dist/browser/react/Link.d.ts.map +0 -1
  498. package/dist/browser/react/Link.js +0 -128
  499. package/dist/browser/react/Link.js.map +0 -1
  500. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  501. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  502. package/dist/browser/react/NavigationProvider.js +0 -216
  503. package/dist/browser/react/NavigationProvider.js.map +0 -1
  504. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  505. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  506. package/dist/browser/react/ScrollRestoration.js +0 -57
  507. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  508. package/dist/browser/react/context.d.ts +0 -46
  509. package/dist/browser/react/context.d.ts.map +0 -1
  510. package/dist/browser/react/context.js +0 -10
  511. package/dist/browser/react/context.js.map +0 -1
  512. package/dist/browser/react/index.d.ts +0 -11
  513. package/dist/browser/react/index.d.ts.map +0 -1
  514. package/dist/browser/react/index.js +0 -22
  515. package/dist/browser/react/index.js.map +0 -1
  516. package/dist/browser/react/location-state-shared.d.ts +0 -63
  517. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  518. package/dist/browser/react/location-state-shared.js +0 -81
  519. package/dist/browser/react/location-state-shared.js.map +0 -1
  520. package/dist/browser/react/location-state.d.ts +0 -23
  521. package/dist/browser/react/location-state.d.ts.map +0 -1
  522. package/dist/browser/react/location-state.js +0 -29
  523. package/dist/browser/react/location-state.js.map +0 -1
  524. package/dist/browser/react/mount-context.d.ts +0 -24
  525. package/dist/browser/react/mount-context.d.ts.map +0 -1
  526. package/dist/browser/react/mount-context.js +0 -24
  527. package/dist/browser/react/mount-context.js.map +0 -1
  528. package/dist/browser/react/use-action.d.ts +0 -64
  529. package/dist/browser/react/use-action.d.ts.map +0 -1
  530. package/dist/browser/react/use-action.js +0 -134
  531. package/dist/browser/react/use-action.js.map +0 -1
  532. package/dist/browser/react/use-client-cache.d.ts +0 -41
  533. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  534. package/dist/browser/react/use-client-cache.js +0 -39
  535. package/dist/browser/react/use-client-cache.js.map +0 -1
  536. package/dist/browser/react/use-handle.d.ts +0 -31
  537. package/dist/browser/react/use-handle.d.ts.map +0 -1
  538. package/dist/browser/react/use-handle.js +0 -144
  539. package/dist/browser/react/use-handle.js.map +0 -1
  540. package/dist/browser/react/use-href.d.ts +0 -33
  541. package/dist/browser/react/use-href.d.ts.map +0 -1
  542. package/dist/browser/react/use-href.js +0 -39
  543. package/dist/browser/react/use-href.js.map +0 -1
  544. package/dist/browser/react/use-link-status.d.ts +0 -37
  545. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  546. package/dist/browser/react/use-link-status.js +0 -99
  547. package/dist/browser/react/use-link-status.js.map +0 -1
  548. package/dist/browser/react/use-mount.d.ts +0 -25
  549. package/dist/browser/react/use-mount.d.ts.map +0 -1
  550. package/dist/browser/react/use-mount.js +0 -30
  551. package/dist/browser/react/use-mount.js.map +0 -1
  552. package/dist/browser/react/use-navigation.d.ts +0 -27
  553. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  554. package/dist/browser/react/use-navigation.js +0 -87
  555. package/dist/browser/react/use-navigation.js.map +0 -1
  556. package/dist/browser/react/use-segments.d.ts +0 -38
  557. package/dist/browser/react/use-segments.d.ts.map +0 -1
  558. package/dist/browser/react/use-segments.js +0 -130
  559. package/dist/browser/react/use-segments.js.map +0 -1
  560. package/dist/browser/request-controller.d.ts +0 -26
  561. package/dist/browser/request-controller.d.ts.map +0 -1
  562. package/dist/browser/request-controller.js +0 -147
  563. package/dist/browser/request-controller.js.map +0 -1
  564. package/dist/browser/rsc-router.d.ts +0 -129
  565. package/dist/browser/rsc-router.d.ts.map +0 -1
  566. package/dist/browser/rsc-router.js +0 -195
  567. package/dist/browser/rsc-router.js.map +0 -1
  568. package/dist/browser/scroll-restoration.d.ts +0 -93
  569. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  570. package/dist/browser/scroll-restoration.js +0 -321
  571. package/dist/browser/scroll-restoration.js.map +0 -1
  572. package/dist/browser/segment-structure-assert.d.ts +0 -17
  573. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  574. package/dist/browser/segment-structure-assert.js +0 -59
  575. package/dist/browser/segment-structure-assert.js.map +0 -1
  576. package/dist/browser/server-action-bridge.d.ts +0 -26
  577. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  578. package/dist/browser/server-action-bridge.js +0 -668
  579. package/dist/browser/server-action-bridge.js.map +0 -1
  580. package/dist/browser/shallow.d.ts +0 -12
  581. package/dist/browser/shallow.d.ts.map +0 -1
  582. package/dist/browser/shallow.js +0 -34
  583. package/dist/browser/shallow.js.map +0 -1
  584. package/dist/browser/types.d.ts +0 -369
  585. package/dist/browser/types.d.ts.map +0 -1
  586. package/dist/browser/types.js +0 -2
  587. package/dist/browser/types.js.map +0 -1
  588. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  589. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  590. package/dist/build/__tests__/generate-cli.test.js +0 -237
  591. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  592. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  593. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  594. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  595. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  596. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  597. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  598. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  599. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  600. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  601. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  602. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  603. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  604. package/dist/build/generate-manifest.d.ts +0 -81
  605. package/dist/build/generate-manifest.d.ts.map +0 -1
  606. package/dist/build/generate-manifest.js +0 -276
  607. package/dist/build/generate-manifest.js.map +0 -1
  608. package/dist/build/generate-route-types.d.ts +0 -115
  609. package/dist/build/generate-route-types.d.ts.map +0 -1
  610. package/dist/build/generate-route-types.js +0 -740
  611. package/dist/build/generate-route-types.js.map +0 -1
  612. package/dist/build/index.d.ts +0 -21
  613. package/dist/build/index.d.ts.map +0 -1
  614. package/dist/build/index.js +0 -21
  615. package/dist/build/index.js.map +0 -1
  616. package/dist/build/route-trie.d.ts +0 -71
  617. package/dist/build/route-trie.d.ts.map +0 -1
  618. package/dist/build/route-trie.js +0 -175
  619. package/dist/build/route-trie.js.map +0 -1
  620. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  621. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  622. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  623. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  624. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  625. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  626. package/dist/cache/__tests__/document-cache.test.js +0 -345
  627. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  628. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  629. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  630. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  631. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  632. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  633. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  634. package/dist/cache/__tests__/memory-store.test.js +0 -367
  635. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  636. package/dist/cache/cache-scope.d.ts +0 -102
  637. package/dist/cache/cache-scope.d.ts.map +0 -1
  638. package/dist/cache/cache-scope.js +0 -440
  639. package/dist/cache/cache-scope.js.map +0 -1
  640. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  641. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  642. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  643. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  644. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  645. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  646. package/dist/cache/cf/cf-cache-store.js +0 -242
  647. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  648. package/dist/cache/cf/index.d.ts +0 -14
  649. package/dist/cache/cf/index.d.ts.map +0 -1
  650. package/dist/cache/cf/index.js +0 -17
  651. package/dist/cache/cf/index.js.map +0 -1
  652. package/dist/cache/document-cache.d.ts +0 -64
  653. package/dist/cache/document-cache.d.ts.map +0 -1
  654. package/dist/cache/document-cache.js +0 -228
  655. package/dist/cache/document-cache.js.map +0 -1
  656. package/dist/cache/index.d.ts +0 -19
  657. package/dist/cache/index.d.ts.map +0 -1
  658. package/dist/cache/index.js +0 -21
  659. package/dist/cache/index.js.map +0 -1
  660. package/dist/cache/memory-segment-store.d.ts +0 -110
  661. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  662. package/dist/cache/memory-segment-store.js +0 -117
  663. package/dist/cache/memory-segment-store.js.map +0 -1
  664. package/dist/cache/memory-store.d.ts +0 -41
  665. package/dist/cache/memory-store.d.ts.map +0 -1
  666. package/dist/cache/memory-store.js +0 -191
  667. package/dist/cache/memory-store.js.map +0 -1
  668. package/dist/cache/types.d.ts +0 -317
  669. package/dist/cache/types.d.ts.map +0 -1
  670. package/dist/cache/types.js +0 -12
  671. package/dist/cache/types.js.map +0 -1
  672. package/dist/client.d.ts +0 -248
  673. package/dist/client.d.ts.map +0 -1
  674. package/dist/client.js +0 -367
  675. package/dist/client.js.map +0 -1
  676. package/dist/client.rsc.d.ts +0 -26
  677. package/dist/client.rsc.d.ts.map +0 -1
  678. package/dist/client.rsc.js +0 -46
  679. package/dist/client.rsc.js.map +0 -1
  680. package/dist/component-utils.d.ts +0 -36
  681. package/dist/component-utils.d.ts.map +0 -1
  682. package/dist/component-utils.js +0 -61
  683. package/dist/component-utils.js.map +0 -1
  684. package/dist/components/DefaultDocument.d.ts +0 -13
  685. package/dist/components/DefaultDocument.d.ts.map +0 -1
  686. package/dist/components/DefaultDocument.js +0 -15
  687. package/dist/components/DefaultDocument.js.map +0 -1
  688. package/dist/debug.d.ts +0 -58
  689. package/dist/debug.d.ts.map +0 -1
  690. package/dist/debug.js +0 -157
  691. package/dist/debug.js.map +0 -1
  692. package/dist/default-error-boundary.d.ts +0 -11
  693. package/dist/default-error-boundary.d.ts.map +0 -1
  694. package/dist/default-error-boundary.js +0 -45
  695. package/dist/default-error-boundary.js.map +0 -1
  696. package/dist/deps/browser.d.ts +0 -2
  697. package/dist/deps/browser.d.ts.map +0 -1
  698. package/dist/deps/browser.js +0 -3
  699. package/dist/deps/browser.js.map +0 -1
  700. package/dist/deps/html-stream-client.d.ts +0 -2
  701. package/dist/deps/html-stream-client.d.ts.map +0 -1
  702. package/dist/deps/html-stream-client.js +0 -3
  703. package/dist/deps/html-stream-client.js.map +0 -1
  704. package/dist/deps/html-stream-server.d.ts +0 -2
  705. package/dist/deps/html-stream-server.d.ts.map +0 -1
  706. package/dist/deps/html-stream-server.js +0 -3
  707. package/dist/deps/html-stream-server.js.map +0 -1
  708. package/dist/deps/rsc.d.ts +0 -2
  709. package/dist/deps/rsc.d.ts.map +0 -1
  710. package/dist/deps/rsc.js +0 -4
  711. package/dist/deps/rsc.js.map +0 -1
  712. package/dist/deps/ssr.d.ts +0 -2
  713. package/dist/deps/ssr.d.ts.map +0 -1
  714. package/dist/deps/ssr.js +0 -3
  715. package/dist/deps/ssr.js.map +0 -1
  716. package/dist/errors.d.ts +0 -174
  717. package/dist/errors.d.ts.map +0 -1
  718. package/dist/errors.js +0 -241
  719. package/dist/errors.js.map +0 -1
  720. package/dist/handle.d.ts +0 -78
  721. package/dist/handle.d.ts.map +0 -1
  722. package/dist/handle.js +0 -82
  723. package/dist/handle.js.map +0 -1
  724. package/dist/handles/MetaTags.d.ts +0 -14
  725. package/dist/handles/MetaTags.d.ts.map +0 -1
  726. package/dist/handles/MetaTags.js +0 -136
  727. package/dist/handles/MetaTags.js.map +0 -1
  728. package/dist/handles/index.d.ts +0 -6
  729. package/dist/handles/index.d.ts.map +0 -1
  730. package/dist/handles/index.js +0 -6
  731. package/dist/handles/index.js.map +0 -1
  732. package/dist/handles/meta.d.ts +0 -39
  733. package/dist/handles/meta.d.ts.map +0 -1
  734. package/dist/handles/meta.js +0 -202
  735. package/dist/handles/meta.js.map +0 -1
  736. package/dist/host/__tests__/errors.test.d.ts +0 -2
  737. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  738. package/dist/host/__tests__/errors.test.js +0 -76
  739. package/dist/host/__tests__/errors.test.js.map +0 -1
  740. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  741. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  742. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  743. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  744. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  745. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  746. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  747. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  748. package/dist/host/__tests__/router.test.d.ts +0 -2
  749. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  750. package/dist/host/__tests__/router.test.js +0 -241
  751. package/dist/host/__tests__/router.test.js.map +0 -1
  752. package/dist/host/__tests__/testing.test.d.ts +0 -2
  753. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  754. package/dist/host/__tests__/testing.test.js +0 -64
  755. package/dist/host/__tests__/testing.test.js.map +0 -1
  756. package/dist/host/__tests__/utils.test.d.ts +0 -2
  757. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  758. package/dist/host/__tests__/utils.test.js +0 -29
  759. package/dist/host/__tests__/utils.test.js.map +0 -1
  760. package/dist/host/cookie-handler.d.ts +0 -34
  761. package/dist/host/cookie-handler.d.ts.map +0 -1
  762. package/dist/host/cookie-handler.js +0 -124
  763. package/dist/host/cookie-handler.js.map +0 -1
  764. package/dist/host/errors.d.ts +0 -56
  765. package/dist/host/errors.d.ts.map +0 -1
  766. package/dist/host/errors.js +0 -79
  767. package/dist/host/errors.js.map +0 -1
  768. package/dist/host/index.d.ts +0 -29
  769. package/dist/host/index.d.ts.map +0 -1
  770. package/dist/host/index.js +0 -32
  771. package/dist/host/index.js.map +0 -1
  772. package/dist/host/pattern-matcher.d.ts +0 -36
  773. package/dist/host/pattern-matcher.d.ts.map +0 -1
  774. package/dist/host/pattern-matcher.js +0 -172
  775. package/dist/host/pattern-matcher.js.map +0 -1
  776. package/dist/host/router.d.ts +0 -26
  777. package/dist/host/router.d.ts.map +0 -1
  778. package/dist/host/router.js +0 -218
  779. package/dist/host/router.js.map +0 -1
  780. package/dist/host/testing.d.ts +0 -36
  781. package/dist/host/testing.d.ts.map +0 -1
  782. package/dist/host/testing.js +0 -55
  783. package/dist/host/testing.js.map +0 -1
  784. package/dist/host/types.d.ts +0 -115
  785. package/dist/host/types.d.ts.map +0 -1
  786. package/dist/host/types.js +0 -7
  787. package/dist/host/types.js.map +0 -1
  788. package/dist/host/utils.d.ts +0 -21
  789. package/dist/host/utils.d.ts.map +0 -1
  790. package/dist/host/utils.js +0 -23
  791. package/dist/host/utils.js.map +0 -1
  792. package/dist/href-client.d.ts +0 -131
  793. package/dist/href-client.d.ts.map +0 -1
  794. package/dist/href-client.js +0 -64
  795. package/dist/href-client.js.map +0 -1
  796. package/dist/href-context.d.ts +0 -29
  797. package/dist/href-context.d.ts.map +0 -1
  798. package/dist/href-context.js +0 -21
  799. package/dist/href-context.js.map +0 -1
  800. package/dist/index.d.ts +0 -73
  801. package/dist/index.d.ts.map +0 -1
  802. package/dist/index.js +0 -91
  803. package/dist/index.js.map +0 -1
  804. package/dist/index.rsc.d.ts +0 -32
  805. package/dist/index.rsc.d.ts.map +0 -1
  806. package/dist/index.rsc.js +0 -40
  807. package/dist/index.rsc.js.map +0 -1
  808. package/dist/internal-debug.d.ts +0 -2
  809. package/dist/internal-debug.d.ts.map +0 -1
  810. package/dist/internal-debug.js +0 -5
  811. package/dist/internal-debug.js.map +0 -1
  812. package/dist/loader.d.ts +0 -14
  813. package/dist/loader.d.ts.map +0 -1
  814. package/dist/loader.js +0 -20
  815. package/dist/loader.js.map +0 -1
  816. package/dist/loader.rsc.d.ts +0 -19
  817. package/dist/loader.rsc.d.ts.map +0 -1
  818. package/dist/loader.rsc.js +0 -99
  819. package/dist/loader.rsc.js.map +0 -1
  820. package/dist/network-error-thrower.d.ts +0 -17
  821. package/dist/network-error-thrower.d.ts.map +0 -1
  822. package/dist/network-error-thrower.js +0 -14
  823. package/dist/network-error-thrower.js.map +0 -1
  824. package/dist/outlet-context.d.ts +0 -13
  825. package/dist/outlet-context.d.ts.map +0 -1
  826. package/dist/outlet-context.js +0 -3
  827. package/dist/outlet-context.js.map +0 -1
  828. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  829. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  830. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  831. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  832. package/dist/prerender/param-hash.d.ts +0 -16
  833. package/dist/prerender/param-hash.d.ts.map +0 -1
  834. package/dist/prerender/param-hash.js +0 -36
  835. package/dist/prerender/param-hash.js.map +0 -1
  836. package/dist/prerender/store.d.ts +0 -38
  837. package/dist/prerender/store.d.ts.map +0 -1
  838. package/dist/prerender/store.js +0 -61
  839. package/dist/prerender/store.js.map +0 -1
  840. package/dist/prerender.d.ts +0 -66
  841. package/dist/prerender.d.ts.map +0 -1
  842. package/dist/prerender.js +0 -57
  843. package/dist/prerender.js.map +0 -1
  844. package/dist/reverse.d.ts +0 -196
  845. package/dist/reverse.d.ts.map +0 -1
  846. package/dist/reverse.js +0 -78
  847. package/dist/reverse.js.map +0 -1
  848. package/dist/root-error-boundary.d.ts +0 -33
  849. package/dist/root-error-boundary.d.ts.map +0 -1
  850. package/dist/root-error-boundary.js +0 -165
  851. package/dist/root-error-boundary.js.map +0 -1
  852. package/dist/route-content-wrapper.d.ts +0 -46
  853. package/dist/route-content-wrapper.d.ts.map +0 -1
  854. package/dist/route-content-wrapper.js +0 -77
  855. package/dist/route-content-wrapper.js.map +0 -1
  856. package/dist/route-definition.d.ts +0 -421
  857. package/dist/route-definition.d.ts.map +0 -1
  858. package/dist/route-definition.js +0 -868
  859. package/dist/route-definition.js.map +0 -1
  860. package/dist/route-map-builder.d.ts +0 -155
  861. package/dist/route-map-builder.d.ts.map +0 -1
  862. package/dist/route-map-builder.js +0 -237
  863. package/dist/route-map-builder.js.map +0 -1
  864. package/dist/route-types.d.ts +0 -165
  865. package/dist/route-types.d.ts.map +0 -1
  866. package/dist/route-types.js +0 -7
  867. package/dist/route-types.js.map +0 -1
  868. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  869. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  870. package/dist/router/__tests__/handler-context.test.js +0 -65
  871. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  872. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  873. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  874. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  875. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  876. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  877. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  878. package/dist/router/__tests__/match-context.test.js +0 -92
  879. package/dist/router/__tests__/match-context.test.js.map +0 -1
  880. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  881. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  882. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  883. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  884. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  885. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  886. package/dist/router/__tests__/match-result.test.js +0 -457
  887. package/dist/router/__tests__/match-result.test.js.map +0 -1
  888. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  889. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  890. package/dist/router/__tests__/on-error.test.js +0 -678
  891. package/dist/router/__tests__/on-error.test.js.map +0 -1
  892. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  893. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  894. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  895. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  896. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  897. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  898. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  899. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  900. package/dist/router/error-handling.d.ts +0 -77
  901. package/dist/router/error-handling.d.ts.map +0 -1
  902. package/dist/router/error-handling.js +0 -202
  903. package/dist/router/error-handling.js.map +0 -1
  904. package/dist/router/handler-context.d.ts +0 -20
  905. package/dist/router/handler-context.d.ts.map +0 -1
  906. package/dist/router/handler-context.js +0 -198
  907. package/dist/router/handler-context.js.map +0 -1
  908. package/dist/router/intercept-resolution.d.ts +0 -66
  909. package/dist/router/intercept-resolution.d.ts.map +0 -1
  910. package/dist/router/intercept-resolution.js +0 -246
  911. package/dist/router/intercept-resolution.js.map +0 -1
  912. package/dist/router/loader-resolution.d.ts +0 -64
  913. package/dist/router/loader-resolution.d.ts.map +0 -1
  914. package/dist/router/loader-resolution.js +0 -284
  915. package/dist/router/loader-resolution.js.map +0 -1
  916. package/dist/router/logging.d.ts +0 -15
  917. package/dist/router/logging.d.ts.map +0 -1
  918. package/dist/router/logging.js +0 -99
  919. package/dist/router/logging.js.map +0 -1
  920. package/dist/router/manifest.d.ts +0 -22
  921. package/dist/router/manifest.d.ts.map +0 -1
  922. package/dist/router/manifest.js +0 -181
  923. package/dist/router/manifest.js.map +0 -1
  924. package/dist/router/match-api.d.ts +0 -35
  925. package/dist/router/match-api.d.ts.map +0 -1
  926. package/dist/router/match-api.js +0 -406
  927. package/dist/router/match-api.js.map +0 -1
  928. package/dist/router/match-context.d.ts +0 -206
  929. package/dist/router/match-context.d.ts.map +0 -1
  930. package/dist/router/match-context.js +0 -17
  931. package/dist/router/match-context.js.map +0 -1
  932. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  933. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  934. package/dist/router/match-middleware/background-revalidation.js +0 -75
  935. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  936. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  937. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  938. package/dist/router/match-middleware/cache-lookup.js +0 -257
  939. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  940. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  941. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  942. package/dist/router/match-middleware/cache-store.js +0 -108
  943. package/dist/router/match-middleware/cache-store.js.map +0 -1
  944. package/dist/router/match-middleware/index.d.ts +0 -81
  945. package/dist/router/match-middleware/index.d.ts.map +0 -1
  946. package/dist/router/match-middleware/index.js +0 -80
  947. package/dist/router/match-middleware/index.js.map +0 -1
  948. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  949. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  950. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  951. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  952. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  953. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  954. package/dist/router/match-middleware/segment-resolution.js +0 -53
  955. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  956. package/dist/router/match-pipelines.d.ts +0 -147
  957. package/dist/router/match-pipelines.d.ts.map +0 -1
  958. package/dist/router/match-pipelines.js +0 -82
  959. package/dist/router/match-pipelines.js.map +0 -1
  960. package/dist/router/match-result.d.ts +0 -126
  961. package/dist/router/match-result.d.ts.map +0 -1
  962. package/dist/router/match-result.js +0 -93
  963. package/dist/router/match-result.js.map +0 -1
  964. package/dist/router/metrics.d.ts +0 -20
  965. package/dist/router/metrics.d.ts.map +0 -1
  966. package/dist/router/metrics.js +0 -47
  967. package/dist/router/metrics.js.map +0 -1
  968. package/dist/router/middleware.d.ts +0 -249
  969. package/dist/router/middleware.d.ts.map +0 -1
  970. package/dist/router/middleware.js +0 -434
  971. package/dist/router/middleware.js.map +0 -1
  972. package/dist/router/middleware.test.d.ts +0 -2
  973. package/dist/router/middleware.test.d.ts.map +0 -1
  974. package/dist/router/middleware.test.js +0 -816
  975. package/dist/router/middleware.test.js.map +0 -1
  976. package/dist/router/pattern-matching.d.ts +0 -149
  977. package/dist/router/pattern-matching.d.ts.map +0 -1
  978. package/dist/router/pattern-matching.js +0 -349
  979. package/dist/router/pattern-matching.js.map +0 -1
  980. package/dist/router/revalidation.d.ts +0 -44
  981. package/dist/router/revalidation.d.ts.map +0 -1
  982. package/dist/router/revalidation.js +0 -147
  983. package/dist/router/revalidation.js.map +0 -1
  984. package/dist/router/router-context.d.ts +0 -135
  985. package/dist/router/router-context.d.ts.map +0 -1
  986. package/dist/router/router-context.js +0 -36
  987. package/dist/router/router-context.js.map +0 -1
  988. package/dist/router/segment-resolution.d.ts +0 -127
  989. package/dist/router/segment-resolution.d.ts.map +0 -1
  990. package/dist/router/segment-resolution.js +0 -919
  991. package/dist/router/segment-resolution.js.map +0 -1
  992. package/dist/router/trie-matching.d.ts +0 -40
  993. package/dist/router/trie-matching.d.ts.map +0 -1
  994. package/dist/router/trie-matching.js +0 -127
  995. package/dist/router/trie-matching.js.map +0 -1
  996. package/dist/router/types.d.ts +0 -136
  997. package/dist/router/types.d.ts.map +0 -1
  998. package/dist/router/types.js +0 -7
  999. package/dist/router/types.js.map +0 -1
  1000. package/dist/router.d.ts +0 -753
  1001. package/dist/router.d.ts.map +0 -1
  1002. package/dist/router.gen.d.ts +0 -6
  1003. package/dist/router.gen.d.ts.map +0 -1
  1004. package/dist/router.gen.js +0 -6
  1005. package/dist/router.gen.js.map +0 -1
  1006. package/dist/router.js +0 -1304
  1007. package/dist/router.js.map +0 -1
  1008. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  1009. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  1010. package/dist/rsc/__tests__/helpers.test.js +0 -140
  1011. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  1012. package/dist/rsc/handler.d.ts +0 -45
  1013. package/dist/rsc/handler.d.ts.map +0 -1
  1014. package/dist/rsc/handler.js +0 -1172
  1015. package/dist/rsc/handler.js.map +0 -1
  1016. package/dist/rsc/helpers.d.ts +0 -16
  1017. package/dist/rsc/helpers.d.ts.map +0 -1
  1018. package/dist/rsc/helpers.js +0 -55
  1019. package/dist/rsc/helpers.js.map +0 -1
  1020. package/dist/rsc/index.d.ts +0 -22
  1021. package/dist/rsc/index.d.ts.map +0 -1
  1022. package/dist/rsc/index.js +0 -23
  1023. package/dist/rsc/index.js.map +0 -1
  1024. package/dist/rsc/nonce.d.ts +0 -9
  1025. package/dist/rsc/nonce.d.ts.map +0 -1
  1026. package/dist/rsc/nonce.js +0 -18
  1027. package/dist/rsc/nonce.js.map +0 -1
  1028. package/dist/rsc/types.d.ts +0 -206
  1029. package/dist/rsc/types.d.ts.map +0 -1
  1030. package/dist/rsc/types.js +0 -8
  1031. package/dist/rsc/types.js.map +0 -1
  1032. package/dist/search-params.d.ts +0 -103
  1033. package/dist/search-params.d.ts.map +0 -1
  1034. package/dist/search-params.js +0 -74
  1035. package/dist/search-params.js.map +0 -1
  1036. package/dist/segment-system.d.ts +0 -75
  1037. package/dist/segment-system.d.ts.map +0 -1
  1038. package/dist/segment-system.js +0 -336
  1039. package/dist/segment-system.js.map +0 -1
  1040. package/dist/server/context.d.ts +0 -245
  1041. package/dist/server/context.d.ts.map +0 -1
  1042. package/dist/server/context.js +0 -197
  1043. package/dist/server/context.js.map +0 -1
  1044. package/dist/server/fetchable-loader-store.d.ts +0 -18
  1045. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  1046. package/dist/server/fetchable-loader-store.js +0 -18
  1047. package/dist/server/fetchable-loader-store.js.map +0 -1
  1048. package/dist/server/handle-store.d.ts +0 -85
  1049. package/dist/server/handle-store.d.ts.map +0 -1
  1050. package/dist/server/handle-store.js +0 -142
  1051. package/dist/server/handle-store.js.map +0 -1
  1052. package/dist/server/loader-registry.d.ts +0 -55
  1053. package/dist/server/loader-registry.d.ts.map +0 -1
  1054. package/dist/server/loader-registry.js +0 -132
  1055. package/dist/server/loader-registry.js.map +0 -1
  1056. package/dist/server/request-context.d.ts +0 -226
  1057. package/dist/server/request-context.d.ts.map +0 -1
  1058. package/dist/server/request-context.js +0 -290
  1059. package/dist/server/request-context.js.map +0 -1
  1060. package/dist/server/root-layout.d.ts +0 -4
  1061. package/dist/server/root-layout.d.ts.map +0 -1
  1062. package/dist/server/root-layout.js +0 -5
  1063. package/dist/server/root-layout.js.map +0 -1
  1064. package/dist/server.d.ts +0 -15
  1065. package/dist/server.d.ts.map +0 -1
  1066. package/dist/server.js +0 -20
  1067. package/dist/server.js.map +0 -1
  1068. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  1069. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  1070. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  1071. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  1072. package/dist/ssr/index.d.ts +0 -98
  1073. package/dist/ssr/index.d.ts.map +0 -1
  1074. package/dist/ssr/index.js +0 -158
  1075. package/dist/ssr/index.js.map +0 -1
  1076. package/dist/static-handler.d.ts +0 -50
  1077. package/dist/static-handler.d.ts.map +0 -1
  1078. package/dist/static-handler.gen.d.ts +0 -5
  1079. package/dist/static-handler.gen.d.ts.map +0 -1
  1080. package/dist/static-handler.gen.js +0 -5
  1081. package/dist/static-handler.gen.js.map +0 -1
  1082. package/dist/static-handler.js +0 -29
  1083. package/dist/static-handler.js.map +0 -1
  1084. package/dist/theme/ThemeProvider.d.ts +0 -20
  1085. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  1086. package/dist/theme/ThemeProvider.js +0 -240
  1087. package/dist/theme/ThemeProvider.js.map +0 -1
  1088. package/dist/theme/ThemeScript.d.ts +0 -48
  1089. package/dist/theme/ThemeScript.d.ts.map +0 -1
  1090. package/dist/theme/ThemeScript.js +0 -13
  1091. package/dist/theme/ThemeScript.js.map +0 -1
  1092. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  1093. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  1094. package/dist/theme/__tests__/theme.test.js +0 -103
  1095. package/dist/theme/__tests__/theme.test.js.map +0 -1
  1096. package/dist/theme/constants.d.ts +0 -29
  1097. package/dist/theme/constants.d.ts.map +0 -1
  1098. package/dist/theme/constants.js +0 -48
  1099. package/dist/theme/constants.js.map +0 -1
  1100. package/dist/theme/index.d.ts +0 -31
  1101. package/dist/theme/index.d.ts.map +0 -1
  1102. package/dist/theme/index.js +0 -36
  1103. package/dist/theme/index.js.map +0 -1
  1104. package/dist/theme/theme-context.d.ts +0 -40
  1105. package/dist/theme/theme-context.d.ts.map +0 -1
  1106. package/dist/theme/theme-context.js +0 -60
  1107. package/dist/theme/theme-context.js.map +0 -1
  1108. package/dist/theme/theme-script.d.ts +0 -27
  1109. package/dist/theme/theme-script.d.ts.map +0 -1
  1110. package/dist/theme/theme-script.js +0 -147
  1111. package/dist/theme/theme-script.js.map +0 -1
  1112. package/dist/theme/types.d.ts +0 -163
  1113. package/dist/theme/types.d.ts.map +0 -1
  1114. package/dist/theme/types.js +0 -11
  1115. package/dist/theme/types.js.map +0 -1
  1116. package/dist/theme/use-theme.d.ts +0 -12
  1117. package/dist/theme/use-theme.d.ts.map +0 -1
  1118. package/dist/theme/use-theme.js +0 -40
  1119. package/dist/theme/use-theme.js.map +0 -1
  1120. package/dist/types.d.ts +0 -1479
  1121. package/dist/types.d.ts.map +0 -1
  1122. package/dist/types.js +0 -10
  1123. package/dist/types.js.map +0 -1
  1124. package/dist/urls.d.ts +0 -441
  1125. package/dist/urls.d.ts.map +0 -1
  1126. package/dist/urls.gen.d.ts +0 -8
  1127. package/dist/urls.gen.d.ts.map +0 -1
  1128. package/dist/urls.gen.js +0 -8
  1129. package/dist/urls.gen.js.map +0 -1
  1130. package/dist/urls.js +0 -443
  1131. package/dist/urls.js.map +0 -1
  1132. package/dist/use-loader.d.ts +0 -127
  1133. package/dist/use-loader.d.ts.map +0 -1
  1134. package/dist/use-loader.js +0 -237
  1135. package/dist/use-loader.js.map +0 -1
  1136. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  1137. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  1138. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  1139. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  1140. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  1141. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  1142. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  1143. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  1144. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  1145. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  1146. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  1147. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  1148. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  1149. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  1150. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  1151. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  1152. package/dist/vite/ast-handler-extract.d.ts +0 -49
  1153. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  1154. package/dist/vite/ast-handler-extract.js +0 -249
  1155. package/dist/vite/ast-handler-extract.js.map +0 -1
  1156. package/dist/vite/expose-action-id.d.ts +0 -19
  1157. package/dist/vite/expose-action-id.d.ts.map +0 -1
  1158. package/dist/vite/expose-action-id.js +0 -250
  1159. package/dist/vite/expose-action-id.js.map +0 -1
  1160. package/dist/vite/expose-id-utils.d.ts +0 -69
  1161. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  1162. package/dist/vite/expose-id-utils.js +0 -289
  1163. package/dist/vite/expose-id-utils.js.map +0 -1
  1164. package/dist/vite/expose-internal-ids.d.ts +0 -22
  1165. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  1166. package/dist/vite/expose-internal-ids.js +0 -886
  1167. package/dist/vite/expose-internal-ids.js.map +0 -1
  1168. package/dist/vite/index.d.ts +0 -149
  1169. package/dist/vite/index.d.ts.map +0 -1
  1170. package/dist/vite/index.js.bak +0 -5448
  1171. package/dist/vite/index.js.map +0 -1
  1172. package/dist/vite/index.named-routes.gen.ts +0 -103
  1173. package/dist/vite/package-resolution.d.ts +0 -43
  1174. package/dist/vite/package-resolution.d.ts.map +0 -1
  1175. package/dist/vite/package-resolution.js +0 -112
  1176. package/dist/vite/package-resolution.js.map +0 -1
  1177. package/dist/vite/virtual-entries.d.ts +0 -25
  1178. package/dist/vite/virtual-entries.d.ts.map +0 -1
  1179. package/dist/vite/virtual-entries.js +0 -110
  1180. package/dist/vite/virtual-entries.js.map +0 -1
  1181. package/src/browser/action-response-classifier.ts +0 -99
  1182. package/src/browser/react/use-client-cache.ts +0 -58
  1183. package/src/browser/shallow.ts +0 -40
  1184. package/src/handles/index.ts +0 -7
  1185. package/src/network-error-thrower.tsx +0 -23
  1186. package/src/router/middleware-cookies.ts +0 -55
@@ -1,32 +1,32 @@
1
1
  /**
2
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.
3
+ * Used at build time and runtime; both must produce identical hashes.
4
+ * DJB2-based; works in all JS environments without crypto imports.
10
5
  */
11
6
 
12
- /**
13
- * Compute a deterministic hash string from route params.
14
- * For static routes (no params), returns "_".
15
- */
7
+ import { encodeKV } from "../encode-kv.js";
8
+
9
+ // For static routes (no params), returns "_".
16
10
  export function hashParams(params: Record<string, string>): string {
17
11
  const entries = Object.entries(params);
18
12
  if (entries.length === 0) return "_";
19
13
 
20
- const sorted = entries.sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
21
- const str = sorted
22
- .map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)
23
- .join("&");
24
- return djb2Hex(str);
14
+ // Byte-order sort + encodeURIComponent join (see encodeKV); output is
15
+ // byte-identical to the prior inline implementation, so build-time and
16
+ // runtime hashes stay stable.
17
+ return djb2Hex(encodeKV(entries, { sort: true }));
25
18
  }
26
19
 
27
20
  /**
28
21
  * DJB2 hash returning an 8-char hex string.
29
22
  * Deterministic across all JS runtimes.
23
+ *
24
+ * 32-bit output: per-route collision probability hits ~50% near ~77k distinct
25
+ * param sets (birthday bound). The production store keys solely on
26
+ * routeName/paramHash and does not verify the canonical param string, so a
27
+ * collision serves the surviving entry for both param sets. Benign for typical
28
+ * catalogs; revisit (wider hash or stored-param verification) before
29
+ * pre-rendering hundreds of thousands of pages per route.
30
30
  */
31
31
  function djb2Hex(str: string): string {
32
32
  let hash = 5381;
@@ -1,21 +1,17 @@
1
1
  /**
2
- * Prerender Store
3
- *
4
- * Reads pre-rendered segment data from the worker bundle at build time.
5
- * The manifest module is lazily loaded via globalThis.__loadPrerenderManifestModule,
6
- * a function injected into the RSC entry that returns the manifest module
7
- * containing a key-to-specifier map and a `loadPrerenderAsset` function
8
- * that anchors import() resolution relative to the manifest file.
2
+ * Prerender Store — reads pre-rendered segment data from the worker bundle.
3
+ * Manifest module (injected via globalThis.__loadPrerenderManifestModule)
4
+ * contains key-to-specifier map and loadPrerenderAsset for import() resolution.
9
5
  */
10
6
 
11
- import type {
12
- SerializedSegmentData,
13
- SegmentHandleData,
14
- } from "../cache/types.js";
7
+ import type { SerializedSegmentData } from "../cache/types.js";
15
8
 
16
9
  export interface PrerenderEntry {
17
10
  segments: SerializedSegmentData[];
18
- handles: Record<string, SegmentHandleData>;
11
+ /** RSC-encoded handle map (see handle-snapshot.ts encodeHandles); "" when the
12
+ * route pushed no handles. Encoded so Promise/ReactNode handle values survive
13
+ * the JSON-serialized build artifact / dev wire, identical to the runtime cache. */
14
+ handles: string;
19
15
  }
20
16
 
21
17
  export interface PrerenderStore {
@@ -28,7 +24,9 @@ export interface PrerenderStore {
28
24
 
29
25
  export interface StaticEntry {
30
26
  encoded: string;
31
- handles: Record<string, unknown[]>;
27
+ /** RSC-encoded single-segment handle data (see encodeHandleValue); "" when the
28
+ * Static handler pushed no handles. */
29
+ handles: string;
32
30
  }
33
31
 
34
32
  export interface StaticStore {
@@ -99,13 +97,20 @@ export function createPrerenderStore(): PrerenderStore | null {
99
97
  if (!globalThis.__loadPrerenderManifestModule) return null;
100
98
 
101
99
  const cache = new Map<string, Promise<PrerenderEntry | null>>();
102
- let manifestModulePromise: Promise<PrerenderManifestModule | null> | null =
103
- null;
100
+ let manifestModulePromise: Promise<PrerenderManifestModule> | null = null;
104
101
 
105
- function loadManifestModule(): Promise<PrerenderManifestModule | null> {
102
+ function loadManifestModule(): Promise<PrerenderManifestModule> {
106
103
  if (!manifestModulePromise) {
104
+ // Do not cache a failed manifest-module load: clear the memoized promise
105
+ // on rejection so the next get() retries, and let the error propagate
106
+ // (consistent with the per-asset load policy below) instead of caching a
107
+ // null for the isolate lifetime, which would silently degrade every
108
+ // prerendered route to a miss after one transient failure.
107
109
  manifestModulePromise = globalThis.__loadPrerenderManifestModule!().catch(
108
- () => null,
110
+ (err) => {
111
+ manifestModulePromise = null;
112
+ throw err;
113
+ },
109
114
  );
110
115
  }
111
116
  return manifestModulePromise;
@@ -118,7 +123,6 @@ export function createPrerenderStore(): PrerenderStore | null {
118
123
  if (cached) return cached;
119
124
 
120
125
  const promise = loadManifestModule().then((mod) => {
121
- if (!mod) return null;
122
126
  const specifier = mod.default[key];
123
127
  if (!specifier) return null;
124
128
  // Let asset load errors propagate — a missing/corrupted artifact
@@ -127,29 +131,20 @@ export function createPrerenderStore(): PrerenderStore | null {
127
131
  // (which the handler stub would misreport as a 404).
128
132
  return mod.loadPrerenderAsset(specifier).then((asset) => asset.default);
129
133
  });
130
- cache.set(key, promise);
134
+ // Only memoize once the manifest module resolved: a manifest-load
135
+ // rejection must not poison the per-key cache, or the retry above is moot.
136
+ cache.set(
137
+ key,
138
+ promise.catch((err) => {
139
+ cache.delete(key);
140
+ throw err;
141
+ }),
142
+ );
131
143
  return promise;
132
144
  },
133
145
  };
134
146
  }
135
147
 
136
- /**
137
- * Load the prerender manifest index for test introspection.
138
- * Returns the key→specifier map or null if unavailable.
139
- */
140
- export async function loadPrerenderManifestIndex(): Promise<Record<
141
- string,
142
- string
143
- > | null> {
144
- if (!globalThis.__loadPrerenderManifestModule) return null;
145
- try {
146
- const mod = await globalThis.__loadPrerenderManifestModule();
147
- return mod.default;
148
- } catch {
149
- return null;
150
- }
151
- }
152
-
153
148
  /**
154
149
  * Create a static segment store.
155
150
  * Production only: backed by globalThis.__STATIC_MANIFEST injected at build time.
@@ -174,7 +169,7 @@ export function createStaticStore(): StaticStore | null {
174
169
  const val = mod.default;
175
170
  // Normalize: string-only (no handles) or { encoded, handles }
176
171
  if (typeof val === "string") {
177
- return { encoded: val, handles: {} } as StaticEntry;
172
+ return { encoded: val, handles: "" } as StaticEntry;
178
173
  }
179
174
  return val as StaticEntry;
180
175
  })
package/src/prerender.ts CHANGED
@@ -38,6 +38,7 @@ import type { ReverseFunction } from "./reverse.js";
38
38
  import type { DefaultReverseRouteMap } from "./types/global-namespace.js";
39
39
  import type { UseItems, HandlerUseItem } from "./route-types.js";
40
40
  import { isCachedFunction } from "./cache/taint.js";
41
+ import { isUnderTestRunner } from "./runtime-env.js";
41
42
 
42
43
  // -- Named route resolution types -------------------------------------------
43
44
 
@@ -69,9 +70,9 @@ type BuildReverseFunction = [DefaultReverseRouteMap] extends [
69
70
  * Default route map for Prerender named route resolution.
70
71
  * Uses GeneratedRouteMap (from gen file) to avoid circular dependencies.
71
72
  */
72
- type DefaultPrerenderRouteMap = keyof RSCRouter.GeneratedRouteMap extends never
73
+ type DefaultPrerenderRouteMap = keyof Rango.GeneratedRouteMap extends never
73
74
  ? {}
74
- : RSCRouter.GeneratedRouteMap;
75
+ : Rango.GeneratedRouteMap;
75
76
 
76
77
  /** Extract params from a route map entry (string pattern or { path } object). */
77
78
  type ExtractParamsFromEntry<TEntry> = TEntry extends string
@@ -273,6 +274,11 @@ export interface PrerenderHandlerDefinition<
273
274
  use?: () => UseItems<HandlerUseItem>;
274
275
  }
275
276
 
277
+ // Process-stable fallback id counter (mirrors createHandle / createLoader). Only
278
+ // assigned in a bare unit test where the Vite plugin did not inject an id; never
279
+ // fires in a real build (the plugin always injects).
280
+ let runtimePrerenderIdCounter = 0;
281
+
276
282
  // -- Overloads --------------------------------------------------------------
277
283
  //
278
284
  // T accepts: named route string (global or .local) OR explicit param object.
@@ -376,12 +382,27 @@ export function Prerender<TParams extends Record<string, any>>(
376
382
  );
377
383
  }
378
384
 
379
- if (!id) {
385
+ // Throw unless under a test runner. The plugin always injects $$id for a
386
+ // supported `export const` Prerender on every build, so a missing id means
387
+ // either no plugin (a bare test — fall back below) or an UNSUPPORTED shape the
388
+ // plugin silently skipped (dev OR a real build — fail loud; a synthetic id
389
+ // would degrade to a silent prerender miss). The message is already small (no
390
+ // stack-parsing diagnostic), so it ships as-is. isUnderTestRunner() is
391
+ // runtime-safe — never a bare `process.env` access.
392
+ if (!id && !isUnderTestRunner()) {
380
393
  throw new Error(
381
- "[rsc-router] Prerender: missing $$id. " +
382
- "Ensure the exposeInternalIds Vite plugin is configured.",
394
+ "[rango] Prerender: missing $$id. Use `export const X = Prerender(...)` " +
395
+ "and ensure the exposeInternalIds Vite plugin is configured.",
383
396
  );
384
397
  }
398
+ // Under vitest with no plugin id: assign a process-stable runtime id so a
399
+ // whole-app router with Prerender routes constructs in a bare test (for
400
+ // dispatch / assertGeneratedRoutesMatch). Never reached in a real build (the
401
+ // throw above fires there); prerender storage/lookup keys on routeName +
402
+ // paramHash, never $$id (mirrors createHandle / createLoader).
403
+ if (!id) {
404
+ id = `__rango_runtime_prerender_${runtimePrerenderIdCounter++}`;
405
+ }
385
406
 
386
407
  return {
387
408
  __brand: "prerenderHandler" as const,
@@ -421,6 +442,40 @@ export function isPrerenderPassthrough(
421
442
  );
422
443
  }
423
444
 
445
+ /**
446
+ * Detect whether any resolved segment carries the passthrough sentinel.
447
+ *
448
+ * A build handler signals passthrough by returning `ctx.passthrough()` (the
449
+ * PRERENDER_PASSTHROUGH sentinel), which lands on the segment's `component`.
450
+ * But when the route declares `loading()`, the handler result is deferred
451
+ * upstream (segment-resolution/fresh.ts), so `component` is a thenable resolving
452
+ * to the sentinel rather than the sentinel itself — a synchronous
453
+ * `isPrerenderPassthrough(component)` on the Promise returns false and the build
454
+ * bakes a corrupt artifact instead of deferring. Resolve thenables first.
455
+ *
456
+ * Rejections are swallowed here: a throwing build handler resurfaces during
457
+ * segment serialization, preserving the prior error-handling behavior.
458
+ */
459
+ export async function detectPrerenderPassthrough(
460
+ segments: ReadonlyArray<{ component: unknown }>,
461
+ ): Promise<boolean> {
462
+ for (const seg of segments) {
463
+ let component: unknown = seg.component;
464
+ if (
465
+ component &&
466
+ typeof (component as { then?: unknown }).then === "function"
467
+ ) {
468
+ try {
469
+ component = await component;
470
+ } catch {
471
+ continue;
472
+ }
473
+ }
474
+ if (isPrerenderPassthrough(component)) return true;
475
+ }
476
+ return false;
477
+ }
478
+
424
479
  // -- Type guards ------------------------------------------------------------
425
480
 
426
481
  /**
@@ -499,7 +554,7 @@ export function Passthrough<
499
554
  ): PassthroughHandlerDefinition<TParams, TEnv> {
500
555
  if (!isPrerenderHandler(prerenderDef)) {
501
556
  throw new Error(
502
- "[rsc-router] Passthrough: first argument must be a Prerender() definition.",
557
+ "[rango] Passthrough: first argument must be a Prerender() definition.",
503
558
  );
504
559
  }
505
560
  return {
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Runtime-neutral same-origin redirect rule.
3
+ *
4
+ * Shared by the client redirect guard (`browser/validate-redirect-origin.ts`,
5
+ * which validates redirect targets the client JS is about to navigate to) and
6
+ * the server outgoing-redirect guard (`rsc/redirect-guard.ts`, which validates
7
+ * every browser-followed `Location` header before it leaves the handler). Kept
8
+ * at the `src/` root so both layers import the ONE rule and cannot drift -- a
9
+ * cross-origin target blocked on the JS/fetch path is blocked identically on the
10
+ * no-JS (PE) and full-page document paths.
11
+ */
12
+
13
+ /**
14
+ * Resolve a redirect target against the current origin.
15
+ *
16
+ * Returns the canonical (normalized) same-origin href -- which also collapses
17
+ * protocol-relative (`//evil.com`) and other ambiguous forms -- or `null` when
18
+ * the target resolves to a different origin or is unparseable. Pure: no logging,
19
+ * no side effects.
20
+ */
21
+ export function resolveSameOriginRedirect(
22
+ url: string,
23
+ currentOrigin: string,
24
+ ): string | null {
25
+ try {
26
+ const target = new URL(url, currentOrigin);
27
+ if (target.origin !== currentOrigin) {
28
+ return null;
29
+ }
30
+ return target.href;
31
+ } catch {
32
+ return null;
33
+ }
34
+ }
35
+
36
+ /**
37
+ * Validate an explicit off-origin redirect target (`redirect(url, { external:
38
+ * true })`).
39
+ *
40
+ * `external` opts out of the same-origin rule, but NOT out of scheme safety:
41
+ * only `http:`/`https:` targets are allowed. A redirect ultimately reaches the
42
+ * browser via `window.location.assign()` on the SPA/action client paths, so a
43
+ * forged or mistaken `redirect("javascript:...", { external: true })` would be a
44
+ * scriptable navigation if the scheme were not checked here. Returns the
45
+ * normalized href for an http(s) target (same- or cross-origin), or `null`
46
+ * otherwise. Pure: no logging, no side effects.
47
+ */
48
+ export function resolveExternalRedirect(
49
+ url: string,
50
+ currentOrigin: string,
51
+ ): string | null {
52
+ try {
53
+ const target = new URL(url, currentOrigin);
54
+ if (target.protocol !== "http:" && target.protocol !== "https:") {
55
+ return null;
56
+ }
57
+ return target.href;
58
+ } catch {
59
+ return null;
60
+ }
61
+ }
62
+
63
+ /**
64
+ * Out-of-band brand for `redirect(url, { external: true })`.
65
+ *
66
+ * The external opt-in MUST be settable only by app code calling `redirect(...,
67
+ * { external: true })`, never by an attacker. An earlier design carried the
68
+ * opt-in as a wire header (`x-rango-redirect-external`), but a wire header is
69
+ * forgeable: a proxy-style response route that copies an attacker-controlled
70
+ * upstream response's headers would let `302 Location: https://evil` plus that
71
+ * header bypass the same-origin guard without app code ever opting in. So the
72
+ * opt-in is now an out-of-band brand on the Response object itself, tracked in a
73
+ * `WeakSet` that cannot cross the wire. `redirect()` brands the Response; the
74
+ * small set of internal redirect-rebuild paths (middleware `mergeResponse`,
75
+ * `carryOverRedirectHeaders`, the response-route rewrap) transfer the brand onto
76
+ * the rebuilt Response; the guard and the SPA intercept read it. An upstream
77
+ * Response an app proxies is never branded, so its forged header is inert.
78
+ *
79
+ * Fail-closed: if a rebuild path ever drops the brand, the redirect is
80
+ * neutralized to the app root rather than allowed off-host.
81
+ */
82
+ const externalRedirects = new WeakSet<Response>();
83
+
84
+ /** Brand a Response as an explicit `{ external: true }` redirect (out-of-band). */
85
+ export function markExternalRedirect(response: Response): void {
86
+ externalRedirects.add(response);
87
+ }
88
+
89
+ /** Read the out-of-band `{ external: true }` brand off a Response. */
90
+ export function isExternalRedirect(response: Response): boolean {
91
+ return externalRedirects.has(response);
92
+ }
93
+
94
+ /**
95
+ * Reserved internal header name. No longer a trust signal -- the external
96
+ * opt-in is the out-of-band brand above. It is kept only so the redirect-rebuild
97
+ * paths and the guard can defensively strip any value (e.g. one forged by a
98
+ * proxied upstream) and guarantee it never reaches the browser.
99
+ */
100
+ export const EXTERNAL_REDIRECT_MARKER: string = "x-rango-redirect-external";
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Escape a string for literal use inside a RegExp. Single source of truth for
3
+ * the router runtime (matching) and the vite build (transform/scan); a pure,
4
+ * dependency-free leaf so both environments can share it.
5
+ */
6
+ export function escapeRegExp(input: string): string {
7
+ return input.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
8
+ }
@@ -0,0 +1,20 @@
1
+ "use client";
2
+
3
+ import type { ReactNode } from "react";
4
+
5
+ interface RenderErrorThrowerProps {
6
+ error: unknown;
7
+ }
8
+
9
+ /**
10
+ * Client component that throws the given error during render, so the nearest
11
+ * error boundary catches it. Errors thrown during render are caught by error
12
+ * boundaries; async errors (rejected promises) are not -- which is why the
13
+ * navigation bridge funnels processing failures through this component instead
14
+ * of letting them surface as uncaught rejections.
15
+ */
16
+ export function RenderErrorThrower({
17
+ error,
18
+ }: RenderErrorThrowerProps): ReactNode {
19
+ throw error;
20
+ }
@@ -26,3 +26,37 @@ export function isWebSocketUpgradeResponse(response: Response): boolean {
26
26
  (response as unknown as { webSocket?: unknown }).webSocket != null
27
27
  );
28
28
  }
29
+
30
+ /**
31
+ * Append `Accept` to a response's `Vary` header without duplicating it.
32
+ *
33
+ * Content-negotiated responses already carry `Vary: Accept` from the
34
+ * upstream layer (response-route-handler's callHandlerWithVary, or
35
+ * handleRscRendering baking `accept` into its vary list). The negotiated
36
+ * post-append in the handler would otherwise emit `Vary: Accept, Accept`,
37
+ * a redundant token some proxies/CDNs treat as a distinct cache key.
38
+ * Token match is case-insensitive (HTTP field tokens are case-insensitive)
39
+ * and whitespace-tolerant.
40
+ */
41
+ export function appendVaryAccept(response: Response): void {
42
+ const existing = response.headers.get("Vary");
43
+ if (!existing) {
44
+ response.headers.set("Vary", "Accept");
45
+ return;
46
+ }
47
+ const hasAccept = existing
48
+ .split(",")
49
+ .some((token) => token.trim().toLowerCase() === "accept");
50
+ if (!hasAccept) {
51
+ response.headers.append("Vary", "Accept");
52
+ }
53
+ }
54
+
55
+ // Location truthiness (not presence) so an empty `Location: ""` is not a redirect.
56
+ export function isRedirectResponse(response: Response): boolean {
57
+ return (
58
+ response.status >= 300 &&
59
+ response.status < 400 &&
60
+ Boolean(response.headers.get("Location"))
61
+ );
62
+ }
package/src/reverse.ts CHANGED
@@ -231,47 +231,50 @@ export type LocalReverseParams<TPattern extends string> =
231
231
  };
232
232
 
233
233
  /**
234
- * Type-safe local reverse function with dot-prefixed names only.
234
+ * Type-safe local reverse function.
235
235
  *
236
236
  * Returned by `useReverse(routes)` on the client. The route map is the
237
237
  * exposure boundary (a generated `routes` from a `urls()` module) and the
238
- * scope is implicit from that import there is no global namespace, so
239
- * names must be dot-prefixed to mirror `ctx.reverse(".name")`.
238
+ * scope is implicit from that import. Names may be written with or without a
239
+ * leading dot `reverse("post")` and `reverse(".post")` are identical. The dot
240
+ * is a cosmetic readability convention (and parity with `ctx.reverse(".name")`);
241
+ * there is no separate global namespace here, so it carries no meaning.
240
242
  *
241
243
  * @example
242
244
  * ```typescript
243
245
  * const reverse = useReverse(blogRoutes);
244
- * reverse(".index"); // ✓ no params
245
- * reverse(".post", { postId: "hello" }); // ✓ with params
246
- * reverse(".search", {}, { q: "hi" }); // ✓ with search schema
247
- * reverse(".typo"); // compile error
246
+ * reverse("index"); // ✓ no params (dot optional)
247
+ * reverse(".index"); // ✓ identical to the above
248
+ * reverse("post", { postId: "hello" }); // ✓ with params
249
+ * reverse("search", {}, { q: "hi" }); // with search schema
250
+ * reverse("typo"); // ✗ compile error
248
251
  * ```
249
252
  */
250
253
  export type LocalReverseFunction<TLocalRoutes> = {
251
254
  /**
252
- * Dot-prefixed local route without params
255
+ * Route without params (leading dot optional)
253
256
  */
254
257
  <TName extends keyof TLocalRoutes & string>(
255
258
  name: IsEmptyObject<
256
259
  ExtractParams<RoutePatternFor<TLocalRoutes, TName>>
257
260
  > extends true
258
- ? `.${TName}`
261
+ ? TName | `.${TName}`
259
262
  : never,
260
263
  ): string;
261
264
 
262
265
  /**
263
- * Dot-prefixed local route with params
266
+ * Route with params (leading dot optional)
264
267
  */
265
268
  <TName extends keyof TLocalRoutes & string>(
266
- name: `.${TName}`,
269
+ name: TName | `.${TName}`,
267
270
  params: LocalReverseParams<RoutePatternFor<TLocalRoutes, TName>>,
268
271
  ): string;
269
272
 
270
273
  /**
271
- * Dot-prefixed local route with params and search
274
+ * Route with params and search (leading dot optional)
272
275
  */
273
276
  <TName extends keyof TLocalRoutes & string>(
274
- name: `.${TName}`,
277
+ name: TName | `.${TName}`,
275
278
  params: LocalReverseParams<RoutePatternFor<TLocalRoutes, TName>>,
276
279
  search: ResolveSearchSchema<ExtractSearchSchema<TLocalRoutes, TName>>,
277
280
  ): string;
@@ -3,26 +3,17 @@
3
3
  import { Component, useState, type ReactNode } from "react";
4
4
  import type { ClientErrorBoundaryFallbackProps } from "./types.js";
5
5
 
6
- /**
7
- * Check if an error is a network-related error
8
- */
9
6
  function isNetworkError(error: Error): boolean {
10
7
  return error.name === "NetworkError";
11
8
  }
12
9
 
13
- /**
14
- * Network error fallback UI with retry functionality
15
- * Shows a connection-specific message and allows retrying via page refresh
16
- */
17
10
  function NetworkErrorFallback({
18
11
  error,
19
- reset,
20
12
  }: ClientErrorBoundaryFallbackProps): ReactNode {
21
13
  const [isRetrying, setIsRetrying] = useState(false);
22
14
 
23
15
  const handleRetry = (): void => {
24
16
  setIsRetrying(true);
25
- // Refresh the page to retry the request
26
17
  window.location.reload();
27
18
  };
28
19
 
@@ -42,7 +33,6 @@ function NetworkErrorFallback({
42
33
  marginBottom: "1rem",
43
34
  }}
44
35
  >
45
- {/* Simple cloud with x icon using CSS */}
46
36
  <span style={{ color: "#9ca3af" }}>&#9729;</span>
47
37
  </div>
48
38
  <h1
@@ -101,10 +91,6 @@ function NetworkErrorFallback({
101
91
  );
102
92
  }
103
93
 
104
- /**
105
- * Default fallback UI for root error boundary
106
- * This is shown when an unhandled error bubbles up to the root
107
- */
108
94
  function RootErrorFallback({
109
95
  error,
110
96
  reset,
@@ -230,7 +216,6 @@ export class RootErrorBoundary extends Component<
230
216
  }
231
217
 
232
218
  componentDidMount(): void {
233
- // Listen for popstate (back/forward navigation) to reset error state
234
219
  window.addEventListener("popstate", this.handlePopState);
235
220
  }
236
221
 
@@ -247,15 +232,13 @@ export class RootErrorBoundary extends Component<
247
232
  }
248
233
 
249
234
  componentDidUpdate(prevProps: { children: ReactNode }): void {
250
- // Reset error state when children change (e.g., navigation)
251
- // This allows the app to recover after navigation away from an errored route
235
+ // Reset error on children change (navigation).
252
236
  if (this.state.hasError && prevProps.children !== this.props.children) {
253
237
  this.setState({ hasError: false, error: null });
254
238
  }
255
239
  }
256
240
 
257
241
  handlePopState = (): void => {
258
- // Reset error state on back/forward navigation
259
242
  if (this.state.hasError) {
260
243
  this.setState({ hasError: false, error: null });
261
244
  }
@@ -276,7 +259,6 @@ export class RootErrorBoundary extends Component<
276
259
  segmentType: "route" as const,
277
260
  };
278
261
 
279
- // Use specialized fallback for network errors
280
262
  if (isNetworkError(this.state.error)) {
281
263
  return <NetworkErrorFallback error={errorInfo} reset={this.reset} />;
282
264
  }