@rangojs/router 0.0.0-experimental.dfa55db4 → 0.0.0-experimental.e16b7c00

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 (1041) hide show
  1. package/README.md +120 -25
  2. package/dist/bin/rango.js +147 -57
  3. package/dist/vite/index.js +2108 -829
  4. package/dist/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  5. package/package.json +13 -8
  6. package/skills/breadcrumbs/SKILL.md +3 -1
  7. package/skills/bundle-analysis/SKILL.md +159 -0
  8. package/skills/cache-guide/SKILL.md +222 -30
  9. package/skills/caching/SKILL.md +188 -8
  10. package/skills/composability/SKILL.md +27 -2
  11. package/skills/document-cache/SKILL.md +78 -55
  12. package/skills/handler-use/SKILL.md +364 -0
  13. package/skills/hooks/SKILL.md +229 -20
  14. package/skills/host-router/SKILL.md +45 -20
  15. package/skills/i18n/SKILL.md +276 -0
  16. package/skills/intercept/SKILL.md +46 -4
  17. package/skills/layout/SKILL.md +28 -7
  18. package/skills/links/SKILL.md +247 -17
  19. package/skills/loader/SKILL.md +219 -9
  20. package/skills/middleware/SKILL.md +47 -12
  21. package/skills/migrate-nextjs/SKILL.md +582 -0
  22. package/skills/migrate-react-router/SKILL.md +769 -0
  23. package/skills/mime-routes/SKILL.md +27 -0
  24. package/skills/observability/SKILL.md +137 -0
  25. package/skills/parallel/SKILL.md +71 -6
  26. package/skills/prerender/SKILL.md +14 -33
  27. package/skills/rango/SKILL.md +236 -22
  28. package/skills/react-compiler/SKILL.md +168 -0
  29. package/skills/response-routes/SKILL.md +66 -9
  30. package/skills/route/SKILL.md +57 -4
  31. package/skills/router-setup/SKILL.md +3 -3
  32. package/skills/server-actions/SKILL.md +751 -0
  33. package/skills/streams-and-websockets/SKILL.md +283 -0
  34. package/skills/typesafety/SKILL.md +319 -27
  35. package/skills/use-cache/SKILL.md +36 -5
  36. package/skills/view-transitions/SKILL.md +294 -0
  37. package/src/__augment-tests__/augment.ts +81 -0
  38. package/src/__augment-tests__/augmented.check.ts +117 -0
  39. package/src/browser/action-coordinator.ts +53 -36
  40. package/src/browser/app-shell.ts +52 -0
  41. package/src/browser/event-controller.ts +86 -70
  42. package/src/browser/history-state.ts +21 -0
  43. package/src/browser/index.ts +3 -3
  44. package/src/browser/navigation-bridge.ts +86 -11
  45. package/src/browser/navigation-client.ts +76 -28
  46. package/src/browser/navigation-store.ts +32 -9
  47. package/src/browser/navigation-transaction.ts +10 -28
  48. package/src/browser/partial-update.ts +64 -26
  49. package/src/browser/prefetch/cache.ts +129 -21
  50. package/src/browser/prefetch/fetch.ts +148 -16
  51. package/src/browser/prefetch/queue.ts +36 -5
  52. package/src/browser/rango-state.ts +53 -13
  53. package/src/browser/react/Link.tsx +30 -2
  54. package/src/browser/react/NavigationProvider.tsx +72 -31
  55. package/src/browser/react/filter-segment-order.ts +51 -7
  56. package/src/browser/react/index.ts +3 -0
  57. package/src/browser/react/location-state-shared.ts +175 -4
  58. package/src/browser/react/location-state.ts +39 -13
  59. package/src/browser/react/use-handle.ts +17 -9
  60. package/src/browser/react/use-navigation.ts +22 -2
  61. package/src/browser/react/use-params.ts +20 -8
  62. package/src/browser/react/use-reverse.ts +106 -0
  63. package/src/browser/react/use-router.ts +22 -2
  64. package/src/browser/react/use-segments.ts +11 -8
  65. package/src/browser/response-adapter.ts +25 -0
  66. package/src/browser/rsc-router.tsx +64 -22
  67. package/src/browser/scroll-restoration.ts +22 -14
  68. package/src/browser/segment-reconciler.ts +36 -14
  69. package/src/browser/segment-structure-assert.ts +2 -2
  70. package/src/browser/server-action-bridge.ts +23 -30
  71. package/src/browser/types.ts +21 -0
  72. package/src/build/collect-fallback-refs.ts +107 -0
  73. package/src/build/generate-manifest.ts +60 -35
  74. package/src/build/generate-route-types.ts +2 -0
  75. package/src/build/index.ts +2 -0
  76. package/src/build/route-trie.ts +52 -25
  77. package/src/build/route-types/codegen.ts +4 -4
  78. package/src/build/route-types/include-resolution.ts +1 -1
  79. package/src/build/route-types/per-module-writer.ts +7 -4
  80. package/src/build/route-types/router-processing.ts +55 -14
  81. package/src/build/route-types/scan-filter.ts +1 -1
  82. package/src/build/route-types/source-scan.ts +118 -0
  83. package/src/build/runtime-discovery.ts +9 -20
  84. package/src/cache/cache-error.ts +104 -0
  85. package/src/cache/cache-policy.ts +95 -1
  86. package/src/cache/cache-runtime.ts +79 -13
  87. package/src/cache/cache-scope.ts +77 -46
  88. package/src/cache/cache-tag.ts +135 -0
  89. package/src/cache/cf/cf-cache-store.ts +1067 -176
  90. package/src/cache/cf/index.ts +4 -1
  91. package/src/cache/document-cache.ts +59 -7
  92. package/src/cache/index.ts +6 -0
  93. package/src/cache/memory-segment-store.ts +158 -14
  94. package/src/cache/tag-invalidation.ts +206 -0
  95. package/src/cache/types.ts +27 -0
  96. package/src/client.rsc.tsx +3 -0
  97. package/src/client.tsx +92 -182
  98. package/src/context-var.ts +5 -5
  99. package/src/decode-loader-results.ts +36 -0
  100. package/src/errors.ts +30 -1
  101. package/src/handle.ts +4 -6
  102. package/src/host/index.ts +2 -2
  103. package/src/host/router.ts +129 -57
  104. package/src/host/types.ts +31 -2
  105. package/src/host/utils.ts +1 -1
  106. package/src/href-client.ts +140 -20
  107. package/src/index.rsc.ts +16 -4
  108. package/src/index.ts +65 -15
  109. package/src/loader-store.ts +500 -0
  110. package/src/loader.rsc.ts +2 -5
  111. package/src/loader.ts +3 -10
  112. package/src/missing-id-error.ts +68 -0
  113. package/src/outlet-context.ts +1 -1
  114. package/src/prerender.ts +4 -4
  115. package/src/response-utils.ts +37 -0
  116. package/src/reverse.ts +65 -36
  117. package/src/route-content-wrapper.tsx +6 -28
  118. package/src/route-definition/dsl-helpers.ts +384 -257
  119. package/src/route-definition/helper-factories.ts +29 -139
  120. package/src/route-definition/helpers-types.ts +100 -28
  121. package/src/route-definition/resolve-handler-use.ts +6 -0
  122. package/src/route-definition/use-item-types.ts +32 -0
  123. package/src/route-types.ts +26 -41
  124. package/src/router/content-negotiation.ts +15 -2
  125. package/src/router/error-handling.ts +1 -1
  126. package/src/router/handler-context.ts +21 -38
  127. package/src/router/intercept-resolution.ts +4 -18
  128. package/src/router/lazy-includes.ts +8 -8
  129. package/src/router/loader-resolution.ts +19 -2
  130. package/src/router/manifest.ts +22 -13
  131. package/src/router/match-api.ts +4 -3
  132. package/src/router/match-handlers.ts +1 -0
  133. package/src/router/match-middleware/cache-lookup.ts +46 -92
  134. package/src/router/match-middleware/cache-store.ts +3 -2
  135. package/src/router/match-result.ts +103 -4
  136. package/src/router/metrics.ts +1 -1
  137. package/src/router/middleware-types.ts +15 -26
  138. package/src/router/middleware.ts +99 -84
  139. package/src/router/pattern-matching.ts +101 -17
  140. package/src/router/prerender-match.ts +3 -1
  141. package/src/router/preview-match.ts +3 -1
  142. package/src/router/request-classification.ts +4 -28
  143. package/src/router/revalidation.ts +58 -2
  144. package/src/router/router-interfaces.ts +45 -28
  145. package/src/router/router-options.ts +25 -1
  146. package/src/router/router-registry.ts +2 -5
  147. package/src/router/segment-resolution/fresh.ts +32 -6
  148. package/src/router/segment-resolution/loader-cache.ts +8 -17
  149. package/src/router/segment-resolution/revalidation.ts +154 -107
  150. package/src/router/segment-resolution/view-transition-default.ts +36 -0
  151. package/src/router/substitute-pattern-params.ts +56 -0
  152. package/src/router/trie-matching.ts +18 -13
  153. package/src/router/types.ts +8 -0
  154. package/src/router/url-params.ts +49 -0
  155. package/src/router.ts +23 -18
  156. package/src/rsc/handler-context.ts +2 -2
  157. package/src/rsc/handler.ts +46 -74
  158. package/src/rsc/helpers.ts +72 -43
  159. package/src/rsc/index.ts +1 -1
  160. package/src/rsc/origin-guard.ts +28 -10
  161. package/src/rsc/progressive-enhancement.ts +4 -0
  162. package/src/rsc/response-route-handler.ts +54 -54
  163. package/src/rsc/rsc-rendering.ts +35 -51
  164. package/src/rsc/runtime-warnings.ts +9 -10
  165. package/src/rsc/server-action.ts +17 -37
  166. package/src/rsc/ssr-setup.ts +16 -0
  167. package/src/rsc/types.ts +8 -2
  168. package/src/search-params.ts +4 -4
  169. package/src/segment-content-promise.ts +67 -0
  170. package/src/segment-loader-promise.ts +122 -0
  171. package/src/segment-system.tsx +132 -116
  172. package/src/serialize.ts +243 -0
  173. package/src/server/context.ts +143 -53
  174. package/src/server/cookie-store.ts +28 -4
  175. package/src/server/request-context.ts +46 -44
  176. package/src/ssr/index.tsx +5 -1
  177. package/src/static-handler.ts +1 -1
  178. package/src/types/cache-types.ts +13 -4
  179. package/src/types/error-types.ts +5 -1
  180. package/src/types/global-namespace.ts +39 -26
  181. package/src/types/handler-context.ts +68 -50
  182. package/src/types/index.ts +1 -0
  183. package/src/types/loader-types.ts +5 -6
  184. package/src/types/request-scope.ts +126 -0
  185. package/src/types/route-entry.ts +11 -0
  186. package/src/types/segments.ts +36 -2
  187. package/src/urls/include-helper.ts +34 -67
  188. package/src/urls/index.ts +0 -3
  189. package/src/urls/path-helper-types.ts +41 -7
  190. package/src/urls/path-helper.ts +17 -52
  191. package/src/urls/pattern-types.ts +36 -19
  192. package/src/urls/response-types.ts +22 -29
  193. package/src/urls/type-extraction.ts +26 -116
  194. package/src/urls/urls-function.ts +1 -5
  195. package/src/use-loader.tsx +416 -42
  196. package/src/vite/debug.ts +185 -0
  197. package/src/vite/discovery/bundle-postprocess.ts +6 -6
  198. package/src/vite/discovery/discover-routers.ts +101 -51
  199. package/src/vite/discovery/discovery-errors.ts +194 -0
  200. package/src/vite/discovery/gate-state.ts +171 -0
  201. package/src/vite/discovery/prerender-collection.ts +67 -26
  202. package/src/vite/discovery/route-types-writer.ts +40 -84
  203. package/src/vite/discovery/self-gen-tracking.ts +27 -1
  204. package/src/vite/discovery/state.ts +33 -0
  205. package/src/vite/discovery/virtual-module-codegen.ts +13 -23
  206. package/src/vite/index.ts +2 -0
  207. package/src/vite/plugin-types.ts +67 -0
  208. package/src/vite/plugins/cjs-to-esm.ts +8 -7
  209. package/src/vite/plugins/client-ref-dedup.ts +16 -0
  210. package/src/vite/plugins/client-ref-hashing.ts +28 -5
  211. package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
  212. package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  213. package/src/vite/plugins/cloudflare-protocol-stub.ts +214 -0
  214. package/src/vite/plugins/expose-action-id.ts +54 -30
  215. package/src/vite/plugins/expose-id-utils.ts +24 -8
  216. package/src/vite/plugins/expose-ids/export-analysis.ts +100 -20
  217. package/src/vite/plugins/expose-ids/handler-transform.ts +8 -61
  218. package/src/vite/plugins/expose-ids/loader-transform.ts +3 -5
  219. package/src/vite/plugins/expose-ids/router-transform.ts +20 -3
  220. package/src/vite/plugins/expose-internal-ids.ts +503 -468
  221. package/src/vite/plugins/performance-tracks.ts +29 -25
  222. package/src/vite/plugins/use-cache-transform.ts +65 -50
  223. package/src/vite/plugins/version-injector.ts +39 -23
  224. package/src/vite/plugins/version-plugin.ts +59 -2
  225. package/src/vite/plugins/virtual-entries.ts +2 -2
  226. package/src/vite/rango.ts +116 -29
  227. package/src/vite/router-discovery.ts +750 -100
  228. package/src/vite/utils/ast-handler-extract.ts +15 -15
  229. package/src/vite/utils/banner.ts +1 -1
  230. package/src/vite/utils/bundle-analysis.ts +4 -2
  231. package/src/vite/utils/client-chunks.ts +190 -0
  232. package/src/vite/utils/forward-user-plugins.ts +193 -0
  233. package/src/vite/utils/manifest-utils.ts +21 -5
  234. package/src/vite/utils/package-resolution.ts +41 -1
  235. package/src/vite/utils/prerender-utils.ts +21 -6
  236. package/src/vite/utils/shared-utils.ts +107 -26
  237. package/dist/__internal.d.ts +0 -83
  238. package/dist/__internal.d.ts.map +0 -1
  239. package/dist/__internal.js +0 -19
  240. package/dist/__internal.js.map +0 -1
  241. package/dist/__mocks__/version.d.ts +0 -7
  242. package/dist/__mocks__/version.d.ts.map +0 -1
  243. package/dist/__mocks__/version.js +0 -7
  244. package/dist/__mocks__/version.js.map +0 -1
  245. package/dist/__tests__/client-href.test.d.ts +0 -2
  246. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  247. package/dist/__tests__/client-href.test.js +0 -74
  248. package/dist/__tests__/client-href.test.js.map +0 -1
  249. package/dist/__tests__/component-utils.test.d.ts +0 -2
  250. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  251. package/dist/__tests__/component-utils.test.js +0 -51
  252. package/dist/__tests__/component-utils.test.js.map +0 -1
  253. package/dist/__tests__/event-controller.test.d.ts +0 -2
  254. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  255. package/dist/__tests__/event-controller.test.js +0 -538
  256. package/dist/__tests__/event-controller.test.js.map +0 -1
  257. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  258. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  259. package/dist/__tests__/helpers/route-tree.js +0 -374
  260. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  261. package/dist/__tests__/match-result.test.d.ts +0 -2
  262. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  263. package/dist/__tests__/match-result.test.js +0 -154
  264. package/dist/__tests__/match-result.test.js.map +0 -1
  265. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  266. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  267. package/dist/__tests__/navigation-store.test.js +0 -440
  268. package/dist/__tests__/navigation-store.test.js.map +0 -1
  269. package/dist/__tests__/partial-update.test.d.ts +0 -2
  270. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  271. package/dist/__tests__/partial-update.test.js +0 -1009
  272. package/dist/__tests__/partial-update.test.js.map +0 -1
  273. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  274. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  275. package/dist/__tests__/reverse-types.test.js +0 -656
  276. package/dist/__tests__/reverse-types.test.js.map +0 -1
  277. package/dist/__tests__/route-definition.test.d.ts +0 -2
  278. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  279. package/dist/__tests__/route-definition.test.js +0 -55
  280. package/dist/__tests__/route-definition.test.js.map +0 -1
  281. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  282. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  283. package/dist/__tests__/router-helpers.test.js +0 -377
  284. package/dist/__tests__/router-helpers.test.js.map +0 -1
  285. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  286. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  287. package/dist/__tests__/router-integration-2.test.js +0 -426
  288. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  289. package/dist/__tests__/router-integration.test.d.ts +0 -2
  290. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  291. package/dist/__tests__/router-integration.test.js +0 -1051
  292. package/dist/__tests__/router-integration.test.js.map +0 -1
  293. package/dist/__tests__/search-params.test.d.ts +0 -5
  294. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  295. package/dist/__tests__/search-params.test.js +0 -306
  296. package/dist/__tests__/search-params.test.js.map +0 -1
  297. package/dist/__tests__/segment-system.test.d.ts +0 -2
  298. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  299. package/dist/__tests__/segment-system.test.js +0 -627
  300. package/dist/__tests__/segment-system.test.js.map +0 -1
  301. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  302. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  303. package/dist/__tests__/static-handler-types.test.js +0 -63
  304. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  305. package/dist/__tests__/urls.test.d.ts +0 -2
  306. package/dist/__tests__/urls.test.d.ts.map +0 -1
  307. package/dist/__tests__/urls.test.js +0 -421
  308. package/dist/__tests__/urls.test.js.map +0 -1
  309. package/dist/__tests__/use-mount.test.d.ts +0 -2
  310. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  311. package/dist/__tests__/use-mount.test.js +0 -35
  312. package/dist/__tests__/use-mount.test.js.map +0 -1
  313. package/dist/bin/rango.d.ts +0 -2
  314. package/dist/bin/rango.d.ts.map +0 -1
  315. package/dist/bin/rango.js.map +0 -1
  316. package/dist/browser/event-controller.d.ts +0 -191
  317. package/dist/browser/event-controller.d.ts.map +0 -1
  318. package/dist/browser/event-controller.js +0 -559
  319. package/dist/browser/event-controller.js.map +0 -1
  320. package/dist/browser/index.d.ts +0 -2
  321. package/dist/browser/index.d.ts.map +0 -1
  322. package/dist/browser/index.js +0 -14
  323. package/dist/browser/index.js.map +0 -1
  324. package/dist/browser/link-interceptor.d.ts +0 -38
  325. package/dist/browser/link-interceptor.d.ts.map +0 -1
  326. package/dist/browser/link-interceptor.js +0 -99
  327. package/dist/browser/link-interceptor.js.map +0 -1
  328. package/dist/browser/logging.d.ts +0 -10
  329. package/dist/browser/logging.d.ts.map +0 -1
  330. package/dist/browser/logging.js +0 -29
  331. package/dist/browser/logging.js.map +0 -1
  332. package/dist/browser/lru-cache.d.ts +0 -17
  333. package/dist/browser/lru-cache.d.ts.map +0 -1
  334. package/dist/browser/lru-cache.js +0 -50
  335. package/dist/browser/lru-cache.js.map +0 -1
  336. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  337. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  338. package/dist/browser/merge-segment-loaders.js +0 -102
  339. package/dist/browser/merge-segment-loaders.js.map +0 -1
  340. package/dist/browser/navigation-bridge.d.ts +0 -102
  341. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  342. package/dist/browser/navigation-bridge.js +0 -708
  343. package/dist/browser/navigation-bridge.js.map +0 -1
  344. package/dist/browser/navigation-client.d.ts +0 -25
  345. package/dist/browser/navigation-client.d.ts.map +0 -1
  346. package/dist/browser/navigation-client.js +0 -157
  347. package/dist/browser/navigation-client.js.map +0 -1
  348. package/dist/browser/navigation-store.d.ts +0 -101
  349. package/dist/browser/navigation-store.d.ts.map +0 -1
  350. package/dist/browser/navigation-store.js +0 -625
  351. package/dist/browser/navigation-store.js.map +0 -1
  352. package/dist/browser/partial-update.d.ts +0 -75
  353. package/dist/browser/partial-update.d.ts.map +0 -1
  354. package/dist/browser/partial-update.js +0 -426
  355. package/dist/browser/partial-update.js.map +0 -1
  356. package/dist/browser/react/Link.d.ts +0 -86
  357. package/dist/browser/react/Link.d.ts.map +0 -1
  358. package/dist/browser/react/Link.js +0 -128
  359. package/dist/browser/react/Link.js.map +0 -1
  360. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  361. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  362. package/dist/browser/react/NavigationProvider.js +0 -216
  363. package/dist/browser/react/NavigationProvider.js.map +0 -1
  364. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  365. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  366. package/dist/browser/react/ScrollRestoration.js +0 -57
  367. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  368. package/dist/browser/react/context.d.ts +0 -46
  369. package/dist/browser/react/context.d.ts.map +0 -1
  370. package/dist/browser/react/context.js +0 -10
  371. package/dist/browser/react/context.js.map +0 -1
  372. package/dist/browser/react/index.d.ts +0 -11
  373. package/dist/browser/react/index.d.ts.map +0 -1
  374. package/dist/browser/react/index.js +0 -22
  375. package/dist/browser/react/index.js.map +0 -1
  376. package/dist/browser/react/location-state-shared.d.ts +0 -63
  377. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  378. package/dist/browser/react/location-state-shared.js +0 -81
  379. package/dist/browser/react/location-state-shared.js.map +0 -1
  380. package/dist/browser/react/location-state.d.ts +0 -23
  381. package/dist/browser/react/location-state.d.ts.map +0 -1
  382. package/dist/browser/react/location-state.js +0 -29
  383. package/dist/browser/react/location-state.js.map +0 -1
  384. package/dist/browser/react/mount-context.d.ts +0 -24
  385. package/dist/browser/react/mount-context.d.ts.map +0 -1
  386. package/dist/browser/react/mount-context.js +0 -24
  387. package/dist/browser/react/mount-context.js.map +0 -1
  388. package/dist/browser/react/use-action.d.ts +0 -64
  389. package/dist/browser/react/use-action.d.ts.map +0 -1
  390. package/dist/browser/react/use-action.js +0 -134
  391. package/dist/browser/react/use-action.js.map +0 -1
  392. package/dist/browser/react/use-client-cache.d.ts +0 -41
  393. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  394. package/dist/browser/react/use-client-cache.js +0 -39
  395. package/dist/browser/react/use-client-cache.js.map +0 -1
  396. package/dist/browser/react/use-handle.d.ts +0 -31
  397. package/dist/browser/react/use-handle.d.ts.map +0 -1
  398. package/dist/browser/react/use-handle.js +0 -144
  399. package/dist/browser/react/use-handle.js.map +0 -1
  400. package/dist/browser/react/use-href.d.ts +0 -33
  401. package/dist/browser/react/use-href.d.ts.map +0 -1
  402. package/dist/browser/react/use-href.js +0 -39
  403. package/dist/browser/react/use-href.js.map +0 -1
  404. package/dist/browser/react/use-link-status.d.ts +0 -37
  405. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  406. package/dist/browser/react/use-link-status.js +0 -99
  407. package/dist/browser/react/use-link-status.js.map +0 -1
  408. package/dist/browser/react/use-mount.d.ts +0 -25
  409. package/dist/browser/react/use-mount.d.ts.map +0 -1
  410. package/dist/browser/react/use-mount.js +0 -30
  411. package/dist/browser/react/use-mount.js.map +0 -1
  412. package/dist/browser/react/use-navigation.d.ts +0 -27
  413. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  414. package/dist/browser/react/use-navigation.js +0 -87
  415. package/dist/browser/react/use-navigation.js.map +0 -1
  416. package/dist/browser/react/use-segments.d.ts +0 -38
  417. package/dist/browser/react/use-segments.d.ts.map +0 -1
  418. package/dist/browser/react/use-segments.js +0 -130
  419. package/dist/browser/react/use-segments.js.map +0 -1
  420. package/dist/browser/request-controller.d.ts +0 -26
  421. package/dist/browser/request-controller.d.ts.map +0 -1
  422. package/dist/browser/request-controller.js +0 -147
  423. package/dist/browser/request-controller.js.map +0 -1
  424. package/dist/browser/rsc-router.d.ts +0 -129
  425. package/dist/browser/rsc-router.d.ts.map +0 -1
  426. package/dist/browser/rsc-router.js +0 -195
  427. package/dist/browser/rsc-router.js.map +0 -1
  428. package/dist/browser/scroll-restoration.d.ts +0 -93
  429. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  430. package/dist/browser/scroll-restoration.js +0 -321
  431. package/dist/browser/scroll-restoration.js.map +0 -1
  432. package/dist/browser/segment-structure-assert.d.ts +0 -17
  433. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  434. package/dist/browser/segment-structure-assert.js +0 -59
  435. package/dist/browser/segment-structure-assert.js.map +0 -1
  436. package/dist/browser/server-action-bridge.d.ts +0 -26
  437. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  438. package/dist/browser/server-action-bridge.js +0 -668
  439. package/dist/browser/server-action-bridge.js.map +0 -1
  440. package/dist/browser/shallow.d.ts +0 -12
  441. package/dist/browser/shallow.d.ts.map +0 -1
  442. package/dist/browser/shallow.js +0 -34
  443. package/dist/browser/shallow.js.map +0 -1
  444. package/dist/browser/types.d.ts +0 -369
  445. package/dist/browser/types.d.ts.map +0 -1
  446. package/dist/browser/types.js +0 -2
  447. package/dist/browser/types.js.map +0 -1
  448. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  449. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  450. package/dist/build/__tests__/generate-cli.test.js +0 -237
  451. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  452. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  453. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  454. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  455. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  456. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  457. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  458. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  459. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  460. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  461. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  462. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  463. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  464. package/dist/build/generate-manifest.d.ts +0 -81
  465. package/dist/build/generate-manifest.d.ts.map +0 -1
  466. package/dist/build/generate-manifest.js +0 -276
  467. package/dist/build/generate-manifest.js.map +0 -1
  468. package/dist/build/generate-route-types.d.ts +0 -115
  469. package/dist/build/generate-route-types.d.ts.map +0 -1
  470. package/dist/build/generate-route-types.js +0 -740
  471. package/dist/build/generate-route-types.js.map +0 -1
  472. package/dist/build/index.d.ts +0 -21
  473. package/dist/build/index.d.ts.map +0 -1
  474. package/dist/build/index.js +0 -21
  475. package/dist/build/index.js.map +0 -1
  476. package/dist/build/route-trie.d.ts +0 -71
  477. package/dist/build/route-trie.d.ts.map +0 -1
  478. package/dist/build/route-trie.js +0 -175
  479. package/dist/build/route-trie.js.map +0 -1
  480. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  481. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  482. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  483. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  484. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  485. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  486. package/dist/cache/__tests__/document-cache.test.js +0 -345
  487. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  488. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  489. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  490. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  491. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  492. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  493. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  494. package/dist/cache/__tests__/memory-store.test.js +0 -367
  495. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  496. package/dist/cache/cache-scope.d.ts +0 -102
  497. package/dist/cache/cache-scope.d.ts.map +0 -1
  498. package/dist/cache/cache-scope.js +0 -440
  499. package/dist/cache/cache-scope.js.map +0 -1
  500. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  501. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  502. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  503. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  504. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  505. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  506. package/dist/cache/cf/cf-cache-store.js +0 -242
  507. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  508. package/dist/cache/cf/index.d.ts +0 -14
  509. package/dist/cache/cf/index.d.ts.map +0 -1
  510. package/dist/cache/cf/index.js +0 -17
  511. package/dist/cache/cf/index.js.map +0 -1
  512. package/dist/cache/document-cache.d.ts +0 -64
  513. package/dist/cache/document-cache.d.ts.map +0 -1
  514. package/dist/cache/document-cache.js +0 -228
  515. package/dist/cache/document-cache.js.map +0 -1
  516. package/dist/cache/index.d.ts +0 -19
  517. package/dist/cache/index.d.ts.map +0 -1
  518. package/dist/cache/index.js +0 -21
  519. package/dist/cache/index.js.map +0 -1
  520. package/dist/cache/memory-segment-store.d.ts +0 -110
  521. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  522. package/dist/cache/memory-segment-store.js +0 -117
  523. package/dist/cache/memory-segment-store.js.map +0 -1
  524. package/dist/cache/memory-store.d.ts +0 -41
  525. package/dist/cache/memory-store.d.ts.map +0 -1
  526. package/dist/cache/memory-store.js +0 -191
  527. package/dist/cache/memory-store.js.map +0 -1
  528. package/dist/cache/types.d.ts +0 -317
  529. package/dist/cache/types.d.ts.map +0 -1
  530. package/dist/cache/types.js +0 -12
  531. package/dist/cache/types.js.map +0 -1
  532. package/dist/client.d.ts +0 -248
  533. package/dist/client.d.ts.map +0 -1
  534. package/dist/client.js +0 -367
  535. package/dist/client.js.map +0 -1
  536. package/dist/client.rsc.d.ts +0 -26
  537. package/dist/client.rsc.d.ts.map +0 -1
  538. package/dist/client.rsc.js +0 -46
  539. package/dist/client.rsc.js.map +0 -1
  540. package/dist/component-utils.d.ts +0 -36
  541. package/dist/component-utils.d.ts.map +0 -1
  542. package/dist/component-utils.js +0 -61
  543. package/dist/component-utils.js.map +0 -1
  544. package/dist/components/DefaultDocument.d.ts +0 -13
  545. package/dist/components/DefaultDocument.d.ts.map +0 -1
  546. package/dist/components/DefaultDocument.js +0 -15
  547. package/dist/components/DefaultDocument.js.map +0 -1
  548. package/dist/debug.d.ts +0 -58
  549. package/dist/debug.d.ts.map +0 -1
  550. package/dist/debug.js +0 -157
  551. package/dist/debug.js.map +0 -1
  552. package/dist/default-error-boundary.d.ts +0 -11
  553. package/dist/default-error-boundary.d.ts.map +0 -1
  554. package/dist/default-error-boundary.js +0 -45
  555. package/dist/default-error-boundary.js.map +0 -1
  556. package/dist/deps/browser.d.ts +0 -2
  557. package/dist/deps/browser.d.ts.map +0 -1
  558. package/dist/deps/browser.js +0 -3
  559. package/dist/deps/browser.js.map +0 -1
  560. package/dist/deps/html-stream-client.d.ts +0 -2
  561. package/dist/deps/html-stream-client.d.ts.map +0 -1
  562. package/dist/deps/html-stream-client.js +0 -3
  563. package/dist/deps/html-stream-client.js.map +0 -1
  564. package/dist/deps/html-stream-server.d.ts +0 -2
  565. package/dist/deps/html-stream-server.d.ts.map +0 -1
  566. package/dist/deps/html-stream-server.js +0 -3
  567. package/dist/deps/html-stream-server.js.map +0 -1
  568. package/dist/deps/rsc.d.ts +0 -2
  569. package/dist/deps/rsc.d.ts.map +0 -1
  570. package/dist/deps/rsc.js +0 -4
  571. package/dist/deps/rsc.js.map +0 -1
  572. package/dist/deps/ssr.d.ts +0 -2
  573. package/dist/deps/ssr.d.ts.map +0 -1
  574. package/dist/deps/ssr.js +0 -3
  575. package/dist/deps/ssr.js.map +0 -1
  576. package/dist/errors.d.ts +0 -174
  577. package/dist/errors.d.ts.map +0 -1
  578. package/dist/errors.js +0 -241
  579. package/dist/errors.js.map +0 -1
  580. package/dist/handle.d.ts +0 -78
  581. package/dist/handle.d.ts.map +0 -1
  582. package/dist/handle.js +0 -82
  583. package/dist/handle.js.map +0 -1
  584. package/dist/handles/MetaTags.d.ts +0 -14
  585. package/dist/handles/MetaTags.d.ts.map +0 -1
  586. package/dist/handles/MetaTags.js +0 -136
  587. package/dist/handles/MetaTags.js.map +0 -1
  588. package/dist/handles/index.d.ts +0 -6
  589. package/dist/handles/index.d.ts.map +0 -1
  590. package/dist/handles/index.js +0 -6
  591. package/dist/handles/index.js.map +0 -1
  592. package/dist/handles/meta.d.ts +0 -39
  593. package/dist/handles/meta.d.ts.map +0 -1
  594. package/dist/handles/meta.js +0 -202
  595. package/dist/handles/meta.js.map +0 -1
  596. package/dist/host/__tests__/errors.test.d.ts +0 -2
  597. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  598. package/dist/host/__tests__/errors.test.js +0 -76
  599. package/dist/host/__tests__/errors.test.js.map +0 -1
  600. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  601. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  602. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  603. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  604. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  605. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  606. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  607. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  608. package/dist/host/__tests__/router.test.d.ts +0 -2
  609. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  610. package/dist/host/__tests__/router.test.js +0 -241
  611. package/dist/host/__tests__/router.test.js.map +0 -1
  612. package/dist/host/__tests__/testing.test.d.ts +0 -2
  613. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  614. package/dist/host/__tests__/testing.test.js +0 -64
  615. package/dist/host/__tests__/testing.test.js.map +0 -1
  616. package/dist/host/__tests__/utils.test.d.ts +0 -2
  617. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  618. package/dist/host/__tests__/utils.test.js +0 -29
  619. package/dist/host/__tests__/utils.test.js.map +0 -1
  620. package/dist/host/cookie-handler.d.ts +0 -34
  621. package/dist/host/cookie-handler.d.ts.map +0 -1
  622. package/dist/host/cookie-handler.js +0 -124
  623. package/dist/host/cookie-handler.js.map +0 -1
  624. package/dist/host/errors.d.ts +0 -56
  625. package/dist/host/errors.d.ts.map +0 -1
  626. package/dist/host/errors.js +0 -79
  627. package/dist/host/errors.js.map +0 -1
  628. package/dist/host/index.d.ts +0 -29
  629. package/dist/host/index.d.ts.map +0 -1
  630. package/dist/host/index.js +0 -32
  631. package/dist/host/index.js.map +0 -1
  632. package/dist/host/pattern-matcher.d.ts +0 -36
  633. package/dist/host/pattern-matcher.d.ts.map +0 -1
  634. package/dist/host/pattern-matcher.js +0 -172
  635. package/dist/host/pattern-matcher.js.map +0 -1
  636. package/dist/host/router.d.ts +0 -26
  637. package/dist/host/router.d.ts.map +0 -1
  638. package/dist/host/router.js +0 -218
  639. package/dist/host/router.js.map +0 -1
  640. package/dist/host/testing.d.ts +0 -36
  641. package/dist/host/testing.d.ts.map +0 -1
  642. package/dist/host/testing.js +0 -55
  643. package/dist/host/testing.js.map +0 -1
  644. package/dist/host/types.d.ts +0 -115
  645. package/dist/host/types.d.ts.map +0 -1
  646. package/dist/host/types.js +0 -7
  647. package/dist/host/types.js.map +0 -1
  648. package/dist/host/utils.d.ts +0 -21
  649. package/dist/host/utils.d.ts.map +0 -1
  650. package/dist/host/utils.js +0 -23
  651. package/dist/host/utils.js.map +0 -1
  652. package/dist/href-client.d.ts +0 -131
  653. package/dist/href-client.d.ts.map +0 -1
  654. package/dist/href-client.js +0 -64
  655. package/dist/href-client.js.map +0 -1
  656. package/dist/href-context.d.ts +0 -29
  657. package/dist/href-context.d.ts.map +0 -1
  658. package/dist/href-context.js +0 -21
  659. package/dist/href-context.js.map +0 -1
  660. package/dist/index.d.ts +0 -73
  661. package/dist/index.d.ts.map +0 -1
  662. package/dist/index.js +0 -91
  663. package/dist/index.js.map +0 -1
  664. package/dist/index.rsc.d.ts +0 -32
  665. package/dist/index.rsc.d.ts.map +0 -1
  666. package/dist/index.rsc.js +0 -40
  667. package/dist/index.rsc.js.map +0 -1
  668. package/dist/internal-debug.d.ts +0 -2
  669. package/dist/internal-debug.d.ts.map +0 -1
  670. package/dist/internal-debug.js +0 -5
  671. package/dist/internal-debug.js.map +0 -1
  672. package/dist/loader.d.ts +0 -14
  673. package/dist/loader.d.ts.map +0 -1
  674. package/dist/loader.js +0 -20
  675. package/dist/loader.js.map +0 -1
  676. package/dist/loader.rsc.d.ts +0 -19
  677. package/dist/loader.rsc.d.ts.map +0 -1
  678. package/dist/loader.rsc.js +0 -99
  679. package/dist/loader.rsc.js.map +0 -1
  680. package/dist/network-error-thrower.d.ts +0 -17
  681. package/dist/network-error-thrower.d.ts.map +0 -1
  682. package/dist/network-error-thrower.js +0 -14
  683. package/dist/network-error-thrower.js.map +0 -1
  684. package/dist/outlet-context.d.ts +0 -13
  685. package/dist/outlet-context.d.ts.map +0 -1
  686. package/dist/outlet-context.js +0 -3
  687. package/dist/outlet-context.js.map +0 -1
  688. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  689. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  690. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  691. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  692. package/dist/prerender/param-hash.d.ts +0 -16
  693. package/dist/prerender/param-hash.d.ts.map +0 -1
  694. package/dist/prerender/param-hash.js +0 -36
  695. package/dist/prerender/param-hash.js.map +0 -1
  696. package/dist/prerender/store.d.ts +0 -38
  697. package/dist/prerender/store.d.ts.map +0 -1
  698. package/dist/prerender/store.js +0 -61
  699. package/dist/prerender/store.js.map +0 -1
  700. package/dist/prerender.d.ts +0 -66
  701. package/dist/prerender.d.ts.map +0 -1
  702. package/dist/prerender.js +0 -57
  703. package/dist/prerender.js.map +0 -1
  704. package/dist/reverse.d.ts +0 -196
  705. package/dist/reverse.d.ts.map +0 -1
  706. package/dist/reverse.js +0 -78
  707. package/dist/reverse.js.map +0 -1
  708. package/dist/root-error-boundary.d.ts +0 -33
  709. package/dist/root-error-boundary.d.ts.map +0 -1
  710. package/dist/root-error-boundary.js +0 -165
  711. package/dist/root-error-boundary.js.map +0 -1
  712. package/dist/route-content-wrapper.d.ts +0 -46
  713. package/dist/route-content-wrapper.d.ts.map +0 -1
  714. package/dist/route-content-wrapper.js +0 -77
  715. package/dist/route-content-wrapper.js.map +0 -1
  716. package/dist/route-definition.d.ts +0 -421
  717. package/dist/route-definition.d.ts.map +0 -1
  718. package/dist/route-definition.js +0 -868
  719. package/dist/route-definition.js.map +0 -1
  720. package/dist/route-map-builder.d.ts +0 -155
  721. package/dist/route-map-builder.d.ts.map +0 -1
  722. package/dist/route-map-builder.js +0 -237
  723. package/dist/route-map-builder.js.map +0 -1
  724. package/dist/route-types.d.ts +0 -165
  725. package/dist/route-types.d.ts.map +0 -1
  726. package/dist/route-types.js +0 -7
  727. package/dist/route-types.js.map +0 -1
  728. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  729. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  730. package/dist/router/__tests__/handler-context.test.js +0 -65
  731. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  732. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  733. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  734. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  735. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  736. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  737. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  738. package/dist/router/__tests__/match-context.test.js +0 -92
  739. package/dist/router/__tests__/match-context.test.js.map +0 -1
  740. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  741. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  742. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  743. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  744. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  745. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  746. package/dist/router/__tests__/match-result.test.js +0 -457
  747. package/dist/router/__tests__/match-result.test.js.map +0 -1
  748. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  749. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  750. package/dist/router/__tests__/on-error.test.js +0 -678
  751. package/dist/router/__tests__/on-error.test.js.map +0 -1
  752. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  753. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  754. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  755. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  756. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  757. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  758. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  759. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  760. package/dist/router/error-handling.d.ts +0 -77
  761. package/dist/router/error-handling.d.ts.map +0 -1
  762. package/dist/router/error-handling.js +0 -202
  763. package/dist/router/error-handling.js.map +0 -1
  764. package/dist/router/handler-context.d.ts +0 -20
  765. package/dist/router/handler-context.d.ts.map +0 -1
  766. package/dist/router/handler-context.js +0 -198
  767. package/dist/router/handler-context.js.map +0 -1
  768. package/dist/router/intercept-resolution.d.ts +0 -66
  769. package/dist/router/intercept-resolution.d.ts.map +0 -1
  770. package/dist/router/intercept-resolution.js +0 -246
  771. package/dist/router/intercept-resolution.js.map +0 -1
  772. package/dist/router/loader-resolution.d.ts +0 -64
  773. package/dist/router/loader-resolution.d.ts.map +0 -1
  774. package/dist/router/loader-resolution.js +0 -284
  775. package/dist/router/loader-resolution.js.map +0 -1
  776. package/dist/router/logging.d.ts +0 -15
  777. package/dist/router/logging.d.ts.map +0 -1
  778. package/dist/router/logging.js +0 -99
  779. package/dist/router/logging.js.map +0 -1
  780. package/dist/router/manifest.d.ts +0 -22
  781. package/dist/router/manifest.d.ts.map +0 -1
  782. package/dist/router/manifest.js +0 -181
  783. package/dist/router/manifest.js.map +0 -1
  784. package/dist/router/match-api.d.ts +0 -35
  785. package/dist/router/match-api.d.ts.map +0 -1
  786. package/dist/router/match-api.js +0 -406
  787. package/dist/router/match-api.js.map +0 -1
  788. package/dist/router/match-context.d.ts +0 -206
  789. package/dist/router/match-context.d.ts.map +0 -1
  790. package/dist/router/match-context.js +0 -17
  791. package/dist/router/match-context.js.map +0 -1
  792. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  793. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  794. package/dist/router/match-middleware/background-revalidation.js +0 -75
  795. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  796. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  797. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  798. package/dist/router/match-middleware/cache-lookup.js +0 -257
  799. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  800. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  801. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  802. package/dist/router/match-middleware/cache-store.js +0 -108
  803. package/dist/router/match-middleware/cache-store.js.map +0 -1
  804. package/dist/router/match-middleware/index.d.ts +0 -81
  805. package/dist/router/match-middleware/index.d.ts.map +0 -1
  806. package/dist/router/match-middleware/index.js +0 -80
  807. package/dist/router/match-middleware/index.js.map +0 -1
  808. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  809. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  810. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  811. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  812. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  813. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  814. package/dist/router/match-middleware/segment-resolution.js +0 -53
  815. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  816. package/dist/router/match-pipelines.d.ts +0 -147
  817. package/dist/router/match-pipelines.d.ts.map +0 -1
  818. package/dist/router/match-pipelines.js +0 -82
  819. package/dist/router/match-pipelines.js.map +0 -1
  820. package/dist/router/match-result.d.ts +0 -126
  821. package/dist/router/match-result.d.ts.map +0 -1
  822. package/dist/router/match-result.js +0 -93
  823. package/dist/router/match-result.js.map +0 -1
  824. package/dist/router/metrics.d.ts +0 -20
  825. package/dist/router/metrics.d.ts.map +0 -1
  826. package/dist/router/metrics.js +0 -47
  827. package/dist/router/metrics.js.map +0 -1
  828. package/dist/router/middleware.d.ts +0 -249
  829. package/dist/router/middleware.d.ts.map +0 -1
  830. package/dist/router/middleware.js +0 -434
  831. package/dist/router/middleware.js.map +0 -1
  832. package/dist/router/middleware.test.d.ts +0 -2
  833. package/dist/router/middleware.test.d.ts.map +0 -1
  834. package/dist/router/middleware.test.js +0 -816
  835. package/dist/router/middleware.test.js.map +0 -1
  836. package/dist/router/pattern-matching.d.ts +0 -149
  837. package/dist/router/pattern-matching.d.ts.map +0 -1
  838. package/dist/router/pattern-matching.js +0 -349
  839. package/dist/router/pattern-matching.js.map +0 -1
  840. package/dist/router/revalidation.d.ts +0 -44
  841. package/dist/router/revalidation.d.ts.map +0 -1
  842. package/dist/router/revalidation.js +0 -147
  843. package/dist/router/revalidation.js.map +0 -1
  844. package/dist/router/router-context.d.ts +0 -135
  845. package/dist/router/router-context.d.ts.map +0 -1
  846. package/dist/router/router-context.js +0 -36
  847. package/dist/router/router-context.js.map +0 -1
  848. package/dist/router/segment-resolution.d.ts +0 -127
  849. package/dist/router/segment-resolution.d.ts.map +0 -1
  850. package/dist/router/segment-resolution.js +0 -919
  851. package/dist/router/segment-resolution.js.map +0 -1
  852. package/dist/router/trie-matching.d.ts +0 -40
  853. package/dist/router/trie-matching.d.ts.map +0 -1
  854. package/dist/router/trie-matching.js +0 -127
  855. package/dist/router/trie-matching.js.map +0 -1
  856. package/dist/router/types.d.ts +0 -136
  857. package/dist/router/types.d.ts.map +0 -1
  858. package/dist/router/types.js +0 -7
  859. package/dist/router/types.js.map +0 -1
  860. package/dist/router.d.ts +0 -753
  861. package/dist/router.d.ts.map +0 -1
  862. package/dist/router.gen.d.ts +0 -6
  863. package/dist/router.gen.d.ts.map +0 -1
  864. package/dist/router.gen.js +0 -6
  865. package/dist/router.gen.js.map +0 -1
  866. package/dist/router.js +0 -1304
  867. package/dist/router.js.map +0 -1
  868. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  869. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  870. package/dist/rsc/__tests__/helpers.test.js +0 -140
  871. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  872. package/dist/rsc/handler.d.ts +0 -45
  873. package/dist/rsc/handler.d.ts.map +0 -1
  874. package/dist/rsc/handler.js +0 -1172
  875. package/dist/rsc/handler.js.map +0 -1
  876. package/dist/rsc/helpers.d.ts +0 -16
  877. package/dist/rsc/helpers.d.ts.map +0 -1
  878. package/dist/rsc/helpers.js +0 -55
  879. package/dist/rsc/helpers.js.map +0 -1
  880. package/dist/rsc/index.d.ts +0 -22
  881. package/dist/rsc/index.d.ts.map +0 -1
  882. package/dist/rsc/index.js +0 -23
  883. package/dist/rsc/index.js.map +0 -1
  884. package/dist/rsc/nonce.d.ts +0 -9
  885. package/dist/rsc/nonce.d.ts.map +0 -1
  886. package/dist/rsc/nonce.js +0 -18
  887. package/dist/rsc/nonce.js.map +0 -1
  888. package/dist/rsc/types.d.ts +0 -206
  889. package/dist/rsc/types.d.ts.map +0 -1
  890. package/dist/rsc/types.js +0 -8
  891. package/dist/rsc/types.js.map +0 -1
  892. package/dist/search-params.d.ts +0 -103
  893. package/dist/search-params.d.ts.map +0 -1
  894. package/dist/search-params.js +0 -74
  895. package/dist/search-params.js.map +0 -1
  896. package/dist/segment-system.d.ts +0 -75
  897. package/dist/segment-system.d.ts.map +0 -1
  898. package/dist/segment-system.js +0 -336
  899. package/dist/segment-system.js.map +0 -1
  900. package/dist/server/context.d.ts +0 -245
  901. package/dist/server/context.d.ts.map +0 -1
  902. package/dist/server/context.js +0 -197
  903. package/dist/server/context.js.map +0 -1
  904. package/dist/server/fetchable-loader-store.d.ts +0 -18
  905. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  906. package/dist/server/fetchable-loader-store.js +0 -18
  907. package/dist/server/fetchable-loader-store.js.map +0 -1
  908. package/dist/server/handle-store.d.ts +0 -85
  909. package/dist/server/handle-store.d.ts.map +0 -1
  910. package/dist/server/handle-store.js +0 -142
  911. package/dist/server/handle-store.js.map +0 -1
  912. package/dist/server/loader-registry.d.ts +0 -55
  913. package/dist/server/loader-registry.d.ts.map +0 -1
  914. package/dist/server/loader-registry.js +0 -132
  915. package/dist/server/loader-registry.js.map +0 -1
  916. package/dist/server/request-context.d.ts +0 -226
  917. package/dist/server/request-context.d.ts.map +0 -1
  918. package/dist/server/request-context.js +0 -290
  919. package/dist/server/request-context.js.map +0 -1
  920. package/dist/server/root-layout.d.ts +0 -4
  921. package/dist/server/root-layout.d.ts.map +0 -1
  922. package/dist/server/root-layout.js +0 -5
  923. package/dist/server/root-layout.js.map +0 -1
  924. package/dist/server.d.ts +0 -15
  925. package/dist/server.d.ts.map +0 -1
  926. package/dist/server.js +0 -20
  927. package/dist/server.js.map +0 -1
  928. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  929. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  930. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  931. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  932. package/dist/ssr/index.d.ts +0 -98
  933. package/dist/ssr/index.d.ts.map +0 -1
  934. package/dist/ssr/index.js +0 -158
  935. package/dist/ssr/index.js.map +0 -1
  936. package/dist/static-handler.d.ts +0 -50
  937. package/dist/static-handler.d.ts.map +0 -1
  938. package/dist/static-handler.gen.d.ts +0 -5
  939. package/dist/static-handler.gen.d.ts.map +0 -1
  940. package/dist/static-handler.gen.js +0 -5
  941. package/dist/static-handler.gen.js.map +0 -1
  942. package/dist/static-handler.js +0 -29
  943. package/dist/static-handler.js.map +0 -1
  944. package/dist/theme/ThemeProvider.d.ts +0 -20
  945. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  946. package/dist/theme/ThemeProvider.js +0 -240
  947. package/dist/theme/ThemeProvider.js.map +0 -1
  948. package/dist/theme/ThemeScript.d.ts +0 -48
  949. package/dist/theme/ThemeScript.d.ts.map +0 -1
  950. package/dist/theme/ThemeScript.js +0 -13
  951. package/dist/theme/ThemeScript.js.map +0 -1
  952. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  953. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  954. package/dist/theme/__tests__/theme.test.js +0 -103
  955. package/dist/theme/__tests__/theme.test.js.map +0 -1
  956. package/dist/theme/constants.d.ts +0 -29
  957. package/dist/theme/constants.d.ts.map +0 -1
  958. package/dist/theme/constants.js +0 -48
  959. package/dist/theme/constants.js.map +0 -1
  960. package/dist/theme/index.d.ts +0 -31
  961. package/dist/theme/index.d.ts.map +0 -1
  962. package/dist/theme/index.js +0 -36
  963. package/dist/theme/index.js.map +0 -1
  964. package/dist/theme/theme-context.d.ts +0 -40
  965. package/dist/theme/theme-context.d.ts.map +0 -1
  966. package/dist/theme/theme-context.js +0 -60
  967. package/dist/theme/theme-context.js.map +0 -1
  968. package/dist/theme/theme-script.d.ts +0 -27
  969. package/dist/theme/theme-script.d.ts.map +0 -1
  970. package/dist/theme/theme-script.js +0 -147
  971. package/dist/theme/theme-script.js.map +0 -1
  972. package/dist/theme/types.d.ts +0 -163
  973. package/dist/theme/types.d.ts.map +0 -1
  974. package/dist/theme/types.js +0 -11
  975. package/dist/theme/types.js.map +0 -1
  976. package/dist/theme/use-theme.d.ts +0 -12
  977. package/dist/theme/use-theme.d.ts.map +0 -1
  978. package/dist/theme/use-theme.js +0 -40
  979. package/dist/theme/use-theme.js.map +0 -1
  980. package/dist/types.d.ts +0 -1479
  981. package/dist/types.d.ts.map +0 -1
  982. package/dist/types.js +0 -10
  983. package/dist/types.js.map +0 -1
  984. package/dist/urls.d.ts +0 -441
  985. package/dist/urls.d.ts.map +0 -1
  986. package/dist/urls.gen.d.ts +0 -8
  987. package/dist/urls.gen.d.ts.map +0 -1
  988. package/dist/urls.gen.js +0 -8
  989. package/dist/urls.gen.js.map +0 -1
  990. package/dist/urls.js +0 -443
  991. package/dist/urls.js.map +0 -1
  992. package/dist/use-loader.d.ts +0 -127
  993. package/dist/use-loader.d.ts.map +0 -1
  994. package/dist/use-loader.js +0 -237
  995. package/dist/use-loader.js.map +0 -1
  996. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  997. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  998. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  999. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  1000. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  1001. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  1002. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  1003. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  1004. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  1005. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  1006. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  1007. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  1008. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  1009. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  1010. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  1011. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  1012. package/dist/vite/ast-handler-extract.d.ts +0 -49
  1013. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  1014. package/dist/vite/ast-handler-extract.js +0 -249
  1015. package/dist/vite/ast-handler-extract.js.map +0 -1
  1016. package/dist/vite/expose-action-id.d.ts +0 -19
  1017. package/dist/vite/expose-action-id.d.ts.map +0 -1
  1018. package/dist/vite/expose-action-id.js +0 -250
  1019. package/dist/vite/expose-action-id.js.map +0 -1
  1020. package/dist/vite/expose-id-utils.d.ts +0 -69
  1021. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  1022. package/dist/vite/expose-id-utils.js +0 -289
  1023. package/dist/vite/expose-id-utils.js.map +0 -1
  1024. package/dist/vite/expose-internal-ids.d.ts +0 -22
  1025. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  1026. package/dist/vite/expose-internal-ids.js +0 -886
  1027. package/dist/vite/expose-internal-ids.js.map +0 -1
  1028. package/dist/vite/index.d.ts +0 -149
  1029. package/dist/vite/index.d.ts.map +0 -1
  1030. package/dist/vite/index.js.bak +0 -5448
  1031. package/dist/vite/index.js.map +0 -1
  1032. package/dist/vite/index.named-routes.gen.ts +0 -103
  1033. package/dist/vite/package-resolution.d.ts +0 -43
  1034. package/dist/vite/package-resolution.d.ts.map +0 -1
  1035. package/dist/vite/package-resolution.js +0 -112
  1036. package/dist/vite/package-resolution.js.map +0 -1
  1037. package/dist/vite/virtual-entries.d.ts +0 -25
  1038. package/dist/vite/virtual-entries.d.ts.map +0 -1
  1039. package/dist/vite/virtual-entries.js +0 -110
  1040. package/dist/vite/virtual-entries.js.map +0 -1
  1041. package/src/browser/action-response-classifier.ts +0 -99
@@ -1,625 +0,0 @@
1
- /**
2
- * Default action state (idle with no payload)
3
- */
4
- const DEFAULT_ACTION_STATE = {
5
- state: "idle",
6
- actionId: null,
7
- payload: null,
8
- error: null,
9
- result: null,
10
- };
11
- // Maximum number of history entries to cache (URLs visited)
12
- const HISTORY_CACHE_SIZE = 20;
13
- /**
14
- * Shallow clone handleData to avoid reference sharing between cache entries.
15
- * Only clones the structure (objects and arrays), not the data items themselves,
16
- * since mutations happen at the array level, not on individual data objects.
17
- * This preserves any non-serializable types (React elements, functions, etc.)
18
- */
19
- function cloneHandleData(handleData) {
20
- const cloned = {};
21
- for (const [handleKey, segmentMap] of Object.entries(handleData)) {
22
- cloned[handleKey] = {};
23
- for (const [segmentId, dataArray] of Object.entries(segmentMap)) {
24
- cloned[handleKey][segmentId] = [...dataArray];
25
- }
26
- }
27
- return cloned;
28
- }
29
- // BroadcastChannel for cross-tab cache invalidation
30
- const CACHE_INVALIDATION_CHANNEL = "rsc-router-cache-invalidation";
31
- // BroadcastChannel instance (lazily initialized)
32
- let cacheInvalidationChannel = null;
33
- /**
34
- * Get or create the BroadcastChannel for cache invalidation
35
- */
36
- function getCacheInvalidationChannel() {
37
- if (typeof window === "undefined" ||
38
- typeof BroadcastChannel === "undefined") {
39
- return null;
40
- }
41
- if (!cacheInvalidationChannel) {
42
- cacheInvalidationChannel = new BroadcastChannel(CACHE_INVALIDATION_CHANNEL);
43
- }
44
- return cacheInvalidationChannel;
45
- }
46
- /**
47
- * Generate a cache key from a URL.
48
- * Uses pathname + search (query params) directly as the key.
49
- * Hash fragments (#) are excluded since they don't affect server data.
50
- *
51
- * For intercept routes, append `:intercept` suffix to cache them separately
52
- * from non-intercept versions of the same URL.
53
- */
54
- export function generateHistoryKey(url, options) {
55
- if (!url) {
56
- url = typeof window !== "undefined" ? window.location.href : "/";
57
- }
58
- // Parse URL and use only pathname + search (exclude hash fragment)
59
- const parsed = new URL(url, "http://localhost");
60
- let key = parsed.pathname + parsed.search;
61
- // Append intercept suffix for separate caching
62
- if (options?.intercept) {
63
- key += ":intercept";
64
- }
65
- return key;
66
- }
67
- /**
68
- * Create a URL instance from window.location or custom values
69
- */
70
- function createLocation(loc) {
71
- return new URL(loc.href);
72
- }
73
- /**
74
- * Create a navigation store for managing browser-side navigation state
75
- *
76
- * The store manages two types of state:
77
- * - NavigationState: Public state exposed via useNavigation hook
78
- * - SegmentState: Internal segment management for partial RSC updates
79
- *
80
- * @param config - Initial configuration
81
- * @returns NavigationStore instance
82
- *
83
- * @example
84
- * ```typescript
85
- * const store = createNavigationStore({
86
- * initialLocation: window.location,
87
- * initialSegmentIds: [],
88
- * });
89
- *
90
- * // Subscribe to state changes (for useNavigation hook)
91
- * const unsubscribe = store.subscribe(() => {
92
- * const state = store.getState();
93
- * console.log('Navigation state:', state);
94
- * });
95
- *
96
- * // Update state
97
- * store.setState({ state: 'loading' });
98
- *
99
- * // Subscribe to UI updates (for re-rendering)
100
- * store.onUpdate((update) => {
101
- * console.log('New root:', update.root);
102
- * });
103
- * ```
104
- */
105
- export function createNavigationStore(config) {
106
- // Default location from window or config
107
- const defaultLocation = typeof window !== "undefined"
108
- ? createLocation(window.location)
109
- : new URL("/", "http://localhost");
110
- // Public navigation state (for useNavigation hook)
111
- // isStreaming starts false to match SSR and avoid hydration mismatch
112
- // After hydration, entry.browser.tsx sets it to true if stream is still open
113
- let navState = {
114
- state: "idle",
115
- isStreaming: false,
116
- location: config?.initialLocation
117
- ? createLocation(config.initialLocation)
118
- : defaultLocation,
119
- pendingUrl: null,
120
- inflightActions: [],
121
- };
122
- // Resolve the initial location for segment state
123
- const initialLoc = config?.initialLocation
124
- ? createLocation(config.initialLocation)
125
- : defaultLocation;
126
- // Internal segment state (for partial updates)
127
- const segmentState = {
128
- path: initialLoc.pathname,
129
- currentUrl: initialLoc.href,
130
- currentSegmentIds: config?.initialSegmentIds ?? [],
131
- };
132
- // Configuration with defaults
133
- const cacheSize = config?.cacheSize ?? HISTORY_CACHE_SIZE;
134
- const crossTabSync = config?.crossTabSync !== false; // Default: true
135
- const crossTabAutoRefresh = config?.crossTabAutoRefresh !== false; // Default: true
136
- // Cross-tab refresh callback (set by navigation bridge)
137
- let crossTabRefreshCallback = config?.onCrossTabRefresh ?? null;
138
- // Track pending cross-tab refresh to prevent duplicate refreshes
139
- let pendingCrossTabRefresh = false;
140
- // History-based segment cache: array of [url-key, segments] tuples
141
- // Each URL gets its own complete snapshot of segments for back/forward and partial merging
142
- // Oldest entries (at front) are removed when over cacheSize limit
143
- const historyCache = [];
144
- // Current history key (set on navigation, stored in history.state)
145
- let currentHistoryKey = config?.initialHistoryKey || generateHistoryKey();
146
- // Store initial segments if provided (not stale)
147
- if (config?.initialHistoryKey && config?.initialSegments) {
148
- historyCache.push([
149
- config.initialHistoryKey,
150
- config.initialSegments,
151
- false,
152
- ]);
153
- }
154
- // State change listeners (for useNavigation subscriptions)
155
- const stateListeners = new Set();
156
- // UI update subscribers (for re-rendering)
157
- const updateSubscribers = new Set();
158
- // Internal flag to track if a server action is in progress
159
- let actionInProgress = false;
160
- // Intercept source URL - tracks where the intercept was triggered from
161
- // Used to maintain intercept context during action revalidation
162
- let interceptSourceUrl = null;
163
- // Action state tracking (for useAction hook)
164
- // Maps action function ID to its tracked state
165
- const actionStates = new Map();
166
- // Action state listeners (per action ID)
167
- // Maps action function ID to set of listeners
168
- const actionListeners = new Map();
169
- /**
170
- * Create a debounced function that batches rapid calls
171
- */
172
- function createDebouncedNotifier(fn, ms = 20) {
173
- let timeout = null;
174
- return ((...args) => {
175
- if (timeout !== null)
176
- clearTimeout(timeout);
177
- timeout = setTimeout(() => {
178
- timeout = null;
179
- fn(...args);
180
- }, ms);
181
- });
182
- }
183
- /**
184
- * Create a keyed debounced function (separate timers per key)
185
- */
186
- function createKeyedDebouncedNotifier(fn, ms = 20) {
187
- const timeouts = new Map();
188
- return ((key, ...args) => {
189
- const existing = timeouts.get(key);
190
- if (existing !== undefined)
191
- clearTimeout(existing);
192
- timeouts.set(key, setTimeout(() => {
193
- timeouts.delete(key);
194
- fn(key, ...args);
195
- }, ms));
196
- });
197
- }
198
- const notifyStateListeners = createDebouncedNotifier(() => {
199
- stateListeners.forEach((listener) => listener());
200
- });
201
- const notifyActionListeners = createKeyedDebouncedNotifier((actionId, state) => {
202
- const listeners = actionListeners.get(actionId);
203
- if (listeners) {
204
- listeners.forEach((listener) => listener(state));
205
- }
206
- });
207
- /**
208
- * Clear the history cache (internal - does not broadcast)
209
- */
210
- function clearCacheInternal() {
211
- historyCache.length = 0;
212
- }
213
- /**
214
- * Mark all cache entries as stale (internal - does not broadcast)
215
- */
216
- function markCacheAsStaleInternal() {
217
- for (let i = 0; i < historyCache.length; i++) {
218
- historyCache[i][2] = true;
219
- }
220
- }
221
- /**
222
- * Clear the history cache and broadcast to other tabs
223
- */
224
- function clearCacheAndBroadcast() {
225
- console.log("[Browser] Clearing cache and broadcasting to other tabs");
226
- clearCacheInternal();
227
- broadcastInvalidation();
228
- }
229
- /**
230
- * Mark cache as stale and broadcast to other tabs
231
- */
232
- function markStaleAndBroadcast() {
233
- console.log("[Browser] Marking cache as stale and broadcasting to other tabs");
234
- markCacheAsStaleInternal();
235
- broadcastInvalidation();
236
- }
237
- /**
238
- * Broadcast cache invalidation to other tabs without clearing local cache
239
- * Used after consolidation fetch where local cache has fresh data
240
- */
241
- function broadcastInvalidation() {
242
- // Only broadcast if cross-tab sync is enabled
243
- if (!crossTabSync)
244
- return;
245
- const channel = getCacheInvalidationChannel();
246
- if (channel) {
247
- // Broadcast path and segment IDs - receiver checks for shared segments
248
- const currentPath = window.location.pathname;
249
- const currentSegmentIds = segmentState.currentSegmentIds;
250
- channel.postMessage({
251
- type: "invalidate",
252
- path: currentPath,
253
- segmentIds: currentSegmentIds,
254
- });
255
- console.log("[Browser] Broadcast sent for path:", currentPath, "segments:", currentSegmentIds.join(", "));
256
- }
257
- else {
258
- console.warn("[Browser] No BroadcastChannel available");
259
- }
260
- }
261
- // Set up cross-tab cache invalidation listener (only if enabled)
262
- if (crossTabSync) {
263
- const channel = getCacheInvalidationChannel();
264
- if (channel) {
265
- channel.onmessage = (event) => {
266
- if (event.data?.type === "invalidate") {
267
- const mutatedPath = event.data.path;
268
- const mutatedSegmentIds = event.data.segmentIds ?? [];
269
- const currentSegmentIds = segmentState.currentSegmentIds;
270
- // Check for shared segments between tabs
271
- // Routes sharing any segment (layout, loader, etc.) should invalidate together
272
- const hasSharedSegment = mutatedSegmentIds.some((id) => currentSegmentIds.includes(id));
273
- if (!hasSharedSegment) {
274
- // No shared segments - routes are unrelated, ignore invalidation
275
- return;
276
- }
277
- console.log("[Browser] Cache marked stale by another tab, shared segments:", mutatedSegmentIds
278
- .filter((id) => currentSegmentIds.includes(id))
279
- .join(", "));
280
- markCacheAsStaleInternal();
281
- // Auto-refresh if enabled and callback is registered
282
- if (crossTabAutoRefresh && crossTabRefreshCallback) {
283
- // If idle, refresh immediately. If loading, wait for idle then refresh.
284
- if (navState.state === "idle") {
285
- console.log("[Browser] Cross-tab refresh triggered (idle)");
286
- crossTabRefreshCallback();
287
- }
288
- else if (!pendingCrossTabRefresh) {
289
- // Only queue one refresh, ignore subsequent events while loading
290
- pendingCrossTabRefresh = true;
291
- console.log("[Browser] Navigation in progress, deferring cross-tab refresh");
292
- // Subscribe to state changes, refresh when idle
293
- const listener = () => {
294
- if (navState.state === "idle") {
295
- stateListeners.delete(listener);
296
- pendingCrossTabRefresh = false;
297
- console.log("[Browser] Cross-tab refresh triggered (deferred)");
298
- crossTabRefreshCallback?.();
299
- }
300
- };
301
- stateListeners.add(listener);
302
- }
303
- }
304
- }
305
- };
306
- }
307
- }
308
- return {
309
- // ========================================================================
310
- // Public State (for useNavigation hook)
311
- // ========================================================================
312
- /**
313
- * Get current navigation state
314
- */
315
- getState() {
316
- return navState;
317
- },
318
- /**
319
- * Update navigation state and notify listeners
320
- */
321
- setState(partial) {
322
- navState = { ...navState, ...partial };
323
- notifyStateListeners();
324
- },
325
- /**
326
- * Subscribe to state changes
327
- * Returns unsubscribe function
328
- */
329
- subscribe(listener) {
330
- stateListeners.add(listener);
331
- return () => {
332
- stateListeners.delete(listener);
333
- };
334
- },
335
- // ========================================================================
336
- // Inflight Action Management
337
- // ========================================================================
338
- /**
339
- * Add an inflight action to the list
340
- */
341
- addInflightAction(action) {
342
- navState = {
343
- ...navState,
344
- inflightActions: [...navState.inflightActions, action],
345
- };
346
- notifyStateListeners();
347
- },
348
- /**
349
- * Remove an inflight action by ID
350
- */
351
- removeInflightAction(id) {
352
- navState = {
353
- ...navState,
354
- inflightActions: navState.inflightActions.filter((a) => a.id !== id),
355
- };
356
- notifyStateListeners();
357
- },
358
- // ========================================================================
359
- // Action State (for controlling update behavior during server actions)
360
- // ========================================================================
361
- /**
362
- * Check if a server action is currently in progress
363
- */
364
- isActionInProgress() {
365
- return actionInProgress;
366
- },
367
- /**
368
- * Set the action in progress flag
369
- */
370
- setActionInProgress(value) {
371
- actionInProgress = value;
372
- },
373
- // ========================================================================
374
- // Internal Segment State (for bridges)
375
- // ========================================================================
376
- /**
377
- * Get internal segment state
378
- */
379
- getSegmentState() {
380
- return segmentState;
381
- },
382
- /**
383
- * Set current path
384
- */
385
- setPath(path) {
386
- segmentState.path = path;
387
- },
388
- /**
389
- * Set current URL
390
- */
391
- setCurrentUrl(url) {
392
- segmentState.currentUrl = url;
393
- },
394
- /**
395
- * Set current segment IDs
396
- */
397
- setSegmentIds(ids) {
398
- segmentState.currentSegmentIds = ids;
399
- },
400
- // ========================================================================
401
- // History-based Segment Cache (for back/forward navigation and partial merging)
402
- // ========================================================================
403
- /**
404
- * Get the current history key
405
- */
406
- getHistoryKey() {
407
- return currentHistoryKey;
408
- },
409
- /**
410
- * Set the current history key (called when navigating to a new entry)
411
- */
412
- setHistoryKey(key) {
413
- currentHistoryKey = key;
414
- },
415
- /**
416
- * Store segments for a history entry
417
- * Updates existing entry if key exists, otherwise adds new entry
418
- * Removes oldest entries (from front) when over configured cacheSize
419
- * Fresh data is always stored as not stale (stale=false)
420
- */
421
- cacheSegmentsForHistory(historyKey, segments, handleData) {
422
- // Shallow clone handleData arrays to avoid reference sharing between cache entries
423
- // We only clone the structure (objects and arrays), not the data items themselves,
424
- // since mutations happen at the array level, not on individual data objects
425
- const clonedHandleData = handleData
426
- ? cloneHandleData(handleData)
427
- : undefined;
428
- // Check if entry already exists and update it
429
- const existingIndex = historyCache.findIndex(([key]) => key === historyKey);
430
- if (existingIndex !== -1) {
431
- historyCache[existingIndex] = [historyKey, segments, false, clonedHandleData];
432
- }
433
- else {
434
- // Add new entry at the end (not stale)
435
- historyCache.push([historyKey, segments, false, clonedHandleData]);
436
- // Remove oldest entries if over limit
437
- while (historyCache.length > cacheSize) {
438
- historyCache.shift();
439
- }
440
- }
441
- },
442
- /**
443
- * Get cached segments for a history entry
444
- * Returns { segments, stale, handleData } or undefined if not cached
445
- */
446
- getCachedSegments(historyKey) {
447
- const entry = historyCache.find(([key]) => key === historyKey);
448
- if (!entry)
449
- return undefined;
450
- return { segments: entry[1], stale: entry[2], handleData: entry[3] };
451
- },
452
- /**
453
- * Check if segments are cached for a history entry
454
- */
455
- hasHistoryCache(historyKey) {
456
- return historyCache.some(([key]) => key === historyKey);
457
- },
458
- /**
459
- * Update only the handleData for an existing cache entry
460
- * Does nothing if the cache entry doesn't exist
461
- * This is used to fix stale handleData after async handles processing
462
- */
463
- updateCacheHandleData(historyKey, handleData) {
464
- const existingIndex = historyCache.findIndex(([key]) => key === historyKey);
465
- if (existingIndex !== -1) {
466
- const entry = historyCache[existingIndex];
467
- // Shallow clone handleData arrays to avoid reference sharing
468
- const clonedHandleData = cloneHandleData(handleData);
469
- historyCache[existingIndex] = [entry[0], entry[1], entry[2], clonedHandleData];
470
- }
471
- },
472
- /**
473
- * Mark all cache entries as stale
474
- * Called after server actions to indicate data may be outdated
475
- */
476
- markCacheAsStale() {
477
- for (let i = 0; i < historyCache.length; i++) {
478
- historyCache[i][2] = true;
479
- }
480
- console.log("[Browser] Marked", historyCache.length, "cache entries as stale");
481
- },
482
- /**
483
- * Clear the history cache and broadcast to other tabs
484
- * Use this for hard invalidation when data is definitely stale
485
- */
486
- clearHistoryCache() {
487
- clearCacheAndBroadcast();
488
- },
489
- /**
490
- * Mark cache as stale and broadcast to other tabs
491
- * Called after server actions - allows SWR pattern for popstate
492
- */
493
- markCacheAsStaleAndBroadcast() {
494
- markStaleAndBroadcast();
495
- },
496
- /**
497
- * Broadcast cache invalidation to other tabs without clearing local cache
498
- * Used after consolidation fetch where local cache has fresh data
499
- */
500
- broadcastCacheInvalidation() {
501
- broadcastInvalidation();
502
- },
503
- /**
504
- * Set the callback to invoke when cross-tab refresh is triggered
505
- * Called by navigation bridge during initialization
506
- */
507
- setCrossTabRefreshCallback(callback) {
508
- crossTabRefreshCallback = callback;
509
- },
510
- // ========================================================================
511
- // Intercept Context Tracking
512
- // ========================================================================
513
- /**
514
- * Get the intercept source URL
515
- * This is the URL where the intercept was triggered from (e.g., /shop)
516
- * Used to maintain intercept context during action revalidation
517
- */
518
- getInterceptSourceUrl() {
519
- return interceptSourceUrl;
520
- },
521
- /**
522
- * Set the intercept source URL
523
- * Called when an intercept navigation is detected
524
- * Set to null when leaving intercept context (e.g., closing modal)
525
- */
526
- setInterceptSourceUrl(url) {
527
- interceptSourceUrl = url;
528
- },
529
- // ========================================================================
530
- // UI Update Notifications
531
- // ========================================================================
532
- /**
533
- * Subscribe to UI updates (when root needs to re-render)
534
- */
535
- onUpdate(callback) {
536
- updateSubscribers.add(callback);
537
- return () => {
538
- updateSubscribers.delete(callback);
539
- };
540
- },
541
- /**
542
- * Emit a UI update to all subscribers
543
- */
544
- emitUpdate(update) {
545
- updateSubscribers.forEach((callback) => {
546
- callback(update);
547
- });
548
- },
549
- // ========================================================================
550
- // Action State Tracking (for useAction hook)
551
- // ========================================================================
552
- /**
553
- * Get the current state for a tracked action
554
- * Returns default idle state if action hasn't been tracked
555
- */
556
- getActionState(actionId) {
557
- return actionStates.get(actionId) ?? { ...DEFAULT_ACTION_STATE };
558
- },
559
- /**
560
- * Update the state for a tracked action
561
- * Merges partial state with existing state and notifies listeners
562
- */
563
- setActionState(actionId, partial) {
564
- const current = actionStates.get(actionId) ?? { ...DEFAULT_ACTION_STATE };
565
- const updated = {
566
- ...current,
567
- ...partial,
568
- actionId, // Always set the actionId
569
- };
570
- actionStates.set(actionId, updated);
571
- notifyActionListeners(actionId, updated);
572
- },
573
- /**
574
- * Subscribe to state changes for a specific action
575
- * Returns unsubscribe function
576
- */
577
- subscribeToAction(actionId, listener) {
578
- let listeners = actionListeners.get(actionId);
579
- if (!listeners) {
580
- listeners = new Set();
581
- actionListeners.set(actionId, listeners);
582
- }
583
- listeners.add(listener);
584
- return () => {
585
- listeners.delete(listener);
586
- // Clean up empty listener sets
587
- if (listeners.size === 0) {
588
- actionListeners.delete(actionId);
589
- }
590
- };
591
- },
592
- };
593
- }
594
- // Singleton store instance
595
- let storeInstance = null;
596
- /**
597
- * Initialize the global navigation store
598
- *
599
- * Should be called once during app initialization.
600
- * Subsequent calls return the existing instance.
601
- */
602
- export function initNavigationStore(config) {
603
- if (!storeInstance) {
604
- storeInstance = createNavigationStore(config);
605
- }
606
- return storeInstance;
607
- }
608
- /**
609
- * Get the global navigation store
610
- *
611
- * Throws if store hasn't been initialized.
612
- */
613
- export function getNavigationStore() {
614
- if (!storeInstance) {
615
- throw new Error("Navigation store not initialized. Call initNavigationStore first.");
616
- }
617
- return storeInstance;
618
- }
619
- /**
620
- * Reset the store instance (for testing)
621
- */
622
- export function resetNavigationStore() {
623
- storeInstance = null;
624
- }
625
- //# sourceMappingURL=navigation-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigation-store.js","sourceRoot":"","sources":["../../src/browser/navigation-store.ts"],"names":[],"mappings":"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"}