@rangojs/router 0.0.0-experimental.9c9afef3 → 0.0.0-experimental.9eb4192e

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 (955) hide show
  1. package/README.md +126 -38
  2. package/dist/bin/rango.js +130 -47
  3. package/dist/vite/index.js +1543 -574
  4. package/dist/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  5. package/package.json +7 -5
  6. package/skills/breadcrumbs/SKILL.md +3 -1
  7. package/skills/handler-use/SKILL.md +362 -0
  8. package/skills/hooks/SKILL.md +28 -20
  9. package/skills/intercept/SKILL.md +20 -0
  10. package/skills/layout/SKILL.md +22 -0
  11. package/skills/links/SKILL.md +91 -17
  12. package/skills/loader/SKILL.md +35 -2
  13. package/skills/middleware/SKILL.md +34 -3
  14. package/skills/migrate-nextjs/SKILL.md +560 -0
  15. package/skills/migrate-react-router/SKILL.md +765 -0
  16. package/skills/parallel/SKILL.md +59 -0
  17. package/skills/prerender/SKILL.md +110 -68
  18. package/skills/rango/SKILL.md +24 -22
  19. package/skills/response-routes/SKILL.md +8 -0
  20. package/skills/route/SKILL.md +24 -0
  21. package/skills/router-setup/SKILL.md +35 -0
  22. package/skills/streams-and-websockets/SKILL.md +283 -0
  23. package/skills/typesafety/SKILL.md +3 -1
  24. package/src/__internal.ts +1 -1
  25. package/src/browser/app-shell.ts +52 -0
  26. package/src/browser/app-version.ts +14 -0
  27. package/src/browser/navigation-bridge.ts +87 -6
  28. package/src/browser/navigation-client.ts +128 -68
  29. package/src/browser/navigation-store.ts +68 -9
  30. package/src/browser/partial-update.ts +60 -7
  31. package/src/browser/prefetch/cache.ts +129 -21
  32. package/src/browser/prefetch/fetch.ts +156 -18
  33. package/src/browser/prefetch/queue.ts +36 -5
  34. package/src/browser/rango-state.ts +53 -13
  35. package/src/browser/react/Link.tsx +72 -8
  36. package/src/browser/react/NavigationProvider.tsx +57 -11
  37. package/src/browser/react/context.ts +7 -2
  38. package/src/browser/react/use-handle.ts +9 -58
  39. package/src/browser/react/use-navigation.ts +22 -2
  40. package/src/browser/react/use-params.ts +11 -1
  41. package/src/browser/react/use-router.ts +29 -9
  42. package/src/browser/rsc-router.tsx +60 -9
  43. package/src/browser/scroll-restoration.ts +10 -8
  44. package/src/browser/segment-reconciler.ts +36 -14
  45. package/src/browser/server-action-bridge.ts +8 -17
  46. package/src/browser/types.ts +37 -5
  47. package/src/build/generate-manifest.ts +6 -6
  48. package/src/build/generate-route-types.ts +3 -0
  49. package/src/build/route-trie.ts +50 -24
  50. package/src/build/route-types/include-resolution.ts +8 -1
  51. package/src/build/route-types/router-processing.ts +211 -72
  52. package/src/build/route-types/scan-filter.ts +8 -1
  53. package/src/cache/cf/cf-cache-store.ts +5 -7
  54. package/src/client.tsx +84 -230
  55. package/src/handle.ts +40 -0
  56. package/src/index.rsc.ts +6 -1
  57. package/src/index.ts +49 -6
  58. package/src/outlet-context.ts +1 -1
  59. package/src/prerender/store.ts +5 -4
  60. package/src/prerender.ts +138 -77
  61. package/src/response-utils.ts +28 -0
  62. package/src/reverse.ts +27 -2
  63. package/src/route-definition/dsl-helpers.ts +210 -35
  64. package/src/route-definition/helpers-types.ts +61 -14
  65. package/src/route-definition/index.ts +3 -0
  66. package/src/route-definition/redirect.ts +9 -1
  67. package/src/route-definition/resolve-handler-use.ts +155 -0
  68. package/src/route-types.ts +18 -0
  69. package/src/router/content-negotiation.ts +100 -1
  70. package/src/router/handler-context.ts +70 -17
  71. package/src/router/intercept-resolution.ts +9 -4
  72. package/src/router/lazy-includes.ts +6 -6
  73. package/src/router/loader-resolution.ts +153 -21
  74. package/src/router/manifest.ts +22 -13
  75. package/src/router/match-api.ts +127 -192
  76. package/src/router/match-middleware/cache-lookup.ts +28 -8
  77. package/src/router/match-middleware/segment-resolution.ts +53 -0
  78. package/src/router/match-result.ts +82 -4
  79. package/src/router/middleware-types.ts +2 -28
  80. package/src/router/middleware.ts +32 -7
  81. package/src/router/navigation-snapshot.ts +182 -0
  82. package/src/router/pattern-matching.ts +60 -9
  83. package/src/router/prerender-match.ts +110 -10
  84. package/src/router/preview-match.ts +30 -102
  85. package/src/router/request-classification.ts +310 -0
  86. package/src/router/route-snapshot.ts +245 -0
  87. package/src/router/router-interfaces.ts +36 -4
  88. package/src/router/router-options.ts +37 -11
  89. package/src/router/segment-resolution/fresh.ts +70 -5
  90. package/src/router/segment-resolution/revalidation.ts +87 -9
  91. package/src/router/trie-matching.ts +10 -4
  92. package/src/router/url-params.ts +49 -0
  93. package/src/router.ts +54 -7
  94. package/src/rsc/handler.ts +478 -395
  95. package/src/rsc/helpers.ts +69 -41
  96. package/src/rsc/loader-fetch.ts +18 -3
  97. package/src/rsc/manifest-init.ts +5 -1
  98. package/src/rsc/progressive-enhancement.ts +14 -3
  99. package/src/rsc/response-route-handler.ts +14 -1
  100. package/src/rsc/rsc-rendering.ts +15 -2
  101. package/src/rsc/server-action.ts +10 -2
  102. package/src/rsc/ssr-setup.ts +2 -2
  103. package/src/rsc/types.ts +6 -4
  104. package/src/segment-content-promise.ts +67 -0
  105. package/src/segment-loader-promise.ts +122 -0
  106. package/src/segment-system.tsx +11 -61
  107. package/src/server/context.ts +65 -5
  108. package/src/server/handle-store.ts +19 -0
  109. package/src/server/loader-registry.ts +9 -8
  110. package/src/server/request-context.ts +142 -55
  111. package/src/ssr/index.tsx +3 -0
  112. package/src/static-handler.ts +18 -6
  113. package/src/types/cache-types.ts +4 -4
  114. package/src/types/handler-context.ts +17 -43
  115. package/src/types/loader-types.ts +37 -11
  116. package/src/types/request-scope.ts +126 -0
  117. package/src/types/route-entry.ts +12 -1
  118. package/src/types/segments.ts +1 -1
  119. package/src/urls/include-helper.ts +24 -14
  120. package/src/urls/path-helper-types.ts +39 -6
  121. package/src/urls/path-helper.ts +47 -12
  122. package/src/urls/pattern-types.ts +12 -0
  123. package/src/urls/response-types.ts +18 -16
  124. package/src/use-loader.tsx +77 -5
  125. package/src/vite/debug.ts +140 -0
  126. package/src/vite/discovery/bundle-postprocess.ts +30 -33
  127. package/src/vite/discovery/discover-routers.ts +36 -4
  128. package/src/vite/discovery/prerender-collection.ts +175 -74
  129. package/src/vite/discovery/state.ts +13 -4
  130. package/src/vite/index.ts +4 -0
  131. package/src/vite/plugin-types.ts +60 -5
  132. package/src/vite/plugins/cjs-to-esm.ts +11 -0
  133. package/src/vite/plugins/client-ref-dedup.ts +21 -0
  134. package/src/vite/plugins/client-ref-hashing.ts +16 -4
  135. package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
  136. package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  137. package/src/vite/plugins/cloudflare-protocol-stub.ts +214 -0
  138. package/src/vite/plugins/expose-action-id.ts +52 -28
  139. package/src/vite/plugins/expose-id-utils.ts +12 -0
  140. package/src/vite/plugins/expose-ids/handler-transform.ts +30 -0
  141. package/src/vite/plugins/expose-ids/router-transform.ts +20 -3
  142. package/src/vite/plugins/expose-internal-ids.ts +563 -316
  143. package/src/vite/plugins/performance-tracks.ts +71 -170
  144. package/src/vite/plugins/refresh-cmd.ts +88 -26
  145. package/src/vite/plugins/use-cache-transform.ts +57 -43
  146. package/src/vite/rango.ts +62 -14
  147. package/src/vite/router-discovery.ts +389 -59
  148. package/src/vite/utils/banner.ts +1 -1
  149. package/src/vite/utils/package-resolution.ts +41 -1
  150. package/src/vite/utils/prerender-utils.ts +37 -5
  151. package/src/vite/utils/shared-utils.ts +3 -2
  152. package/dist/__internal.d.ts +0 -83
  153. package/dist/__internal.d.ts.map +0 -1
  154. package/dist/__internal.js +0 -19
  155. package/dist/__internal.js.map +0 -1
  156. package/dist/__mocks__/version.d.ts +0 -7
  157. package/dist/__mocks__/version.d.ts.map +0 -1
  158. package/dist/__mocks__/version.js +0 -7
  159. package/dist/__mocks__/version.js.map +0 -1
  160. package/dist/__tests__/client-href.test.d.ts +0 -2
  161. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  162. package/dist/__tests__/client-href.test.js +0 -74
  163. package/dist/__tests__/client-href.test.js.map +0 -1
  164. package/dist/__tests__/component-utils.test.d.ts +0 -2
  165. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  166. package/dist/__tests__/component-utils.test.js +0 -51
  167. package/dist/__tests__/component-utils.test.js.map +0 -1
  168. package/dist/__tests__/event-controller.test.d.ts +0 -2
  169. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  170. package/dist/__tests__/event-controller.test.js +0 -538
  171. package/dist/__tests__/event-controller.test.js.map +0 -1
  172. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  173. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  174. package/dist/__tests__/helpers/route-tree.js +0 -374
  175. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  176. package/dist/__tests__/match-result.test.d.ts +0 -2
  177. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  178. package/dist/__tests__/match-result.test.js +0 -154
  179. package/dist/__tests__/match-result.test.js.map +0 -1
  180. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  181. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  182. package/dist/__tests__/navigation-store.test.js +0 -440
  183. package/dist/__tests__/navigation-store.test.js.map +0 -1
  184. package/dist/__tests__/partial-update.test.d.ts +0 -2
  185. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  186. package/dist/__tests__/partial-update.test.js +0 -1009
  187. package/dist/__tests__/partial-update.test.js.map +0 -1
  188. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  189. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  190. package/dist/__tests__/reverse-types.test.js +0 -656
  191. package/dist/__tests__/reverse-types.test.js.map +0 -1
  192. package/dist/__tests__/route-definition.test.d.ts +0 -2
  193. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  194. package/dist/__tests__/route-definition.test.js +0 -55
  195. package/dist/__tests__/route-definition.test.js.map +0 -1
  196. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  197. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  198. package/dist/__tests__/router-helpers.test.js +0 -377
  199. package/dist/__tests__/router-helpers.test.js.map +0 -1
  200. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  201. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  202. package/dist/__tests__/router-integration-2.test.js +0 -426
  203. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  204. package/dist/__tests__/router-integration.test.d.ts +0 -2
  205. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  206. package/dist/__tests__/router-integration.test.js +0 -1051
  207. package/dist/__tests__/router-integration.test.js.map +0 -1
  208. package/dist/__tests__/search-params.test.d.ts +0 -5
  209. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  210. package/dist/__tests__/search-params.test.js +0 -306
  211. package/dist/__tests__/search-params.test.js.map +0 -1
  212. package/dist/__tests__/segment-system.test.d.ts +0 -2
  213. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  214. package/dist/__tests__/segment-system.test.js +0 -627
  215. package/dist/__tests__/segment-system.test.js.map +0 -1
  216. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  217. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  218. package/dist/__tests__/static-handler-types.test.js +0 -63
  219. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  220. package/dist/__tests__/urls.test.d.ts +0 -2
  221. package/dist/__tests__/urls.test.d.ts.map +0 -1
  222. package/dist/__tests__/urls.test.js +0 -421
  223. package/dist/__tests__/urls.test.js.map +0 -1
  224. package/dist/__tests__/use-mount.test.d.ts +0 -2
  225. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  226. package/dist/__tests__/use-mount.test.js +0 -35
  227. package/dist/__tests__/use-mount.test.js.map +0 -1
  228. package/dist/bin/rango.d.ts +0 -2
  229. package/dist/bin/rango.d.ts.map +0 -1
  230. package/dist/bin/rango.js.map +0 -1
  231. package/dist/browser/event-controller.d.ts +0 -191
  232. package/dist/browser/event-controller.d.ts.map +0 -1
  233. package/dist/browser/event-controller.js +0 -559
  234. package/dist/browser/event-controller.js.map +0 -1
  235. package/dist/browser/index.d.ts +0 -2
  236. package/dist/browser/index.d.ts.map +0 -1
  237. package/dist/browser/index.js +0 -14
  238. package/dist/browser/index.js.map +0 -1
  239. package/dist/browser/link-interceptor.d.ts +0 -38
  240. package/dist/browser/link-interceptor.d.ts.map +0 -1
  241. package/dist/browser/link-interceptor.js +0 -99
  242. package/dist/browser/link-interceptor.js.map +0 -1
  243. package/dist/browser/logging.d.ts +0 -10
  244. package/dist/browser/logging.d.ts.map +0 -1
  245. package/dist/browser/logging.js +0 -29
  246. package/dist/browser/logging.js.map +0 -1
  247. package/dist/browser/lru-cache.d.ts +0 -17
  248. package/dist/browser/lru-cache.d.ts.map +0 -1
  249. package/dist/browser/lru-cache.js +0 -50
  250. package/dist/browser/lru-cache.js.map +0 -1
  251. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  252. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  253. package/dist/browser/merge-segment-loaders.js +0 -102
  254. package/dist/browser/merge-segment-loaders.js.map +0 -1
  255. package/dist/browser/navigation-bridge.d.ts +0 -102
  256. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  257. package/dist/browser/navigation-bridge.js +0 -708
  258. package/dist/browser/navigation-bridge.js.map +0 -1
  259. package/dist/browser/navigation-client.d.ts +0 -25
  260. package/dist/browser/navigation-client.d.ts.map +0 -1
  261. package/dist/browser/navigation-client.js +0 -157
  262. package/dist/browser/navigation-client.js.map +0 -1
  263. package/dist/browser/navigation-store.d.ts +0 -101
  264. package/dist/browser/navigation-store.d.ts.map +0 -1
  265. package/dist/browser/navigation-store.js +0 -625
  266. package/dist/browser/navigation-store.js.map +0 -1
  267. package/dist/browser/partial-update.d.ts +0 -75
  268. package/dist/browser/partial-update.d.ts.map +0 -1
  269. package/dist/browser/partial-update.js +0 -426
  270. package/dist/browser/partial-update.js.map +0 -1
  271. package/dist/browser/react/Link.d.ts +0 -86
  272. package/dist/browser/react/Link.d.ts.map +0 -1
  273. package/dist/browser/react/Link.js +0 -128
  274. package/dist/browser/react/Link.js.map +0 -1
  275. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  276. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  277. package/dist/browser/react/NavigationProvider.js +0 -216
  278. package/dist/browser/react/NavigationProvider.js.map +0 -1
  279. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  280. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  281. package/dist/browser/react/ScrollRestoration.js +0 -57
  282. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  283. package/dist/browser/react/context.d.ts +0 -46
  284. package/dist/browser/react/context.d.ts.map +0 -1
  285. package/dist/browser/react/context.js +0 -10
  286. package/dist/browser/react/context.js.map +0 -1
  287. package/dist/browser/react/index.d.ts +0 -11
  288. package/dist/browser/react/index.d.ts.map +0 -1
  289. package/dist/browser/react/index.js +0 -22
  290. package/dist/browser/react/index.js.map +0 -1
  291. package/dist/browser/react/location-state-shared.d.ts +0 -63
  292. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  293. package/dist/browser/react/location-state-shared.js +0 -81
  294. package/dist/browser/react/location-state-shared.js.map +0 -1
  295. package/dist/browser/react/location-state.d.ts +0 -23
  296. package/dist/browser/react/location-state.d.ts.map +0 -1
  297. package/dist/browser/react/location-state.js +0 -29
  298. package/dist/browser/react/location-state.js.map +0 -1
  299. package/dist/browser/react/mount-context.d.ts +0 -24
  300. package/dist/browser/react/mount-context.d.ts.map +0 -1
  301. package/dist/browser/react/mount-context.js +0 -24
  302. package/dist/browser/react/mount-context.js.map +0 -1
  303. package/dist/browser/react/use-action.d.ts +0 -64
  304. package/dist/browser/react/use-action.d.ts.map +0 -1
  305. package/dist/browser/react/use-action.js +0 -134
  306. package/dist/browser/react/use-action.js.map +0 -1
  307. package/dist/browser/react/use-client-cache.d.ts +0 -41
  308. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  309. package/dist/browser/react/use-client-cache.js +0 -39
  310. package/dist/browser/react/use-client-cache.js.map +0 -1
  311. package/dist/browser/react/use-handle.d.ts +0 -31
  312. package/dist/browser/react/use-handle.d.ts.map +0 -1
  313. package/dist/browser/react/use-handle.js +0 -144
  314. package/dist/browser/react/use-handle.js.map +0 -1
  315. package/dist/browser/react/use-href.d.ts +0 -33
  316. package/dist/browser/react/use-href.d.ts.map +0 -1
  317. package/dist/browser/react/use-href.js +0 -39
  318. package/dist/browser/react/use-href.js.map +0 -1
  319. package/dist/browser/react/use-link-status.d.ts +0 -37
  320. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  321. package/dist/browser/react/use-link-status.js +0 -99
  322. package/dist/browser/react/use-link-status.js.map +0 -1
  323. package/dist/browser/react/use-mount.d.ts +0 -25
  324. package/dist/browser/react/use-mount.d.ts.map +0 -1
  325. package/dist/browser/react/use-mount.js +0 -30
  326. package/dist/browser/react/use-mount.js.map +0 -1
  327. package/dist/browser/react/use-navigation.d.ts +0 -27
  328. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  329. package/dist/browser/react/use-navigation.js +0 -87
  330. package/dist/browser/react/use-navigation.js.map +0 -1
  331. package/dist/browser/react/use-segments.d.ts +0 -38
  332. package/dist/browser/react/use-segments.d.ts.map +0 -1
  333. package/dist/browser/react/use-segments.js +0 -130
  334. package/dist/browser/react/use-segments.js.map +0 -1
  335. package/dist/browser/request-controller.d.ts +0 -26
  336. package/dist/browser/request-controller.d.ts.map +0 -1
  337. package/dist/browser/request-controller.js +0 -147
  338. package/dist/browser/request-controller.js.map +0 -1
  339. package/dist/browser/rsc-router.d.ts +0 -129
  340. package/dist/browser/rsc-router.d.ts.map +0 -1
  341. package/dist/browser/rsc-router.js +0 -195
  342. package/dist/browser/rsc-router.js.map +0 -1
  343. package/dist/browser/scroll-restoration.d.ts +0 -93
  344. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  345. package/dist/browser/scroll-restoration.js +0 -321
  346. package/dist/browser/scroll-restoration.js.map +0 -1
  347. package/dist/browser/segment-structure-assert.d.ts +0 -17
  348. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  349. package/dist/browser/segment-structure-assert.js +0 -59
  350. package/dist/browser/segment-structure-assert.js.map +0 -1
  351. package/dist/browser/server-action-bridge.d.ts +0 -26
  352. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  353. package/dist/browser/server-action-bridge.js +0 -668
  354. package/dist/browser/server-action-bridge.js.map +0 -1
  355. package/dist/browser/shallow.d.ts +0 -12
  356. package/dist/browser/shallow.d.ts.map +0 -1
  357. package/dist/browser/shallow.js +0 -34
  358. package/dist/browser/shallow.js.map +0 -1
  359. package/dist/browser/types.d.ts +0 -369
  360. package/dist/browser/types.d.ts.map +0 -1
  361. package/dist/browser/types.js +0 -2
  362. package/dist/browser/types.js.map +0 -1
  363. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  364. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  365. package/dist/build/__tests__/generate-cli.test.js +0 -237
  366. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  367. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  368. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  369. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  370. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  371. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  372. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  373. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  374. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  375. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  376. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  377. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  378. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  379. package/dist/build/generate-manifest.d.ts +0 -81
  380. package/dist/build/generate-manifest.d.ts.map +0 -1
  381. package/dist/build/generate-manifest.js +0 -276
  382. package/dist/build/generate-manifest.js.map +0 -1
  383. package/dist/build/generate-route-types.d.ts +0 -115
  384. package/dist/build/generate-route-types.d.ts.map +0 -1
  385. package/dist/build/generate-route-types.js +0 -740
  386. package/dist/build/generate-route-types.js.map +0 -1
  387. package/dist/build/index.d.ts +0 -21
  388. package/dist/build/index.d.ts.map +0 -1
  389. package/dist/build/index.js +0 -21
  390. package/dist/build/index.js.map +0 -1
  391. package/dist/build/route-trie.d.ts +0 -71
  392. package/dist/build/route-trie.d.ts.map +0 -1
  393. package/dist/build/route-trie.js +0 -175
  394. package/dist/build/route-trie.js.map +0 -1
  395. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  396. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  397. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  398. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  399. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  400. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  401. package/dist/cache/__tests__/document-cache.test.js +0 -345
  402. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  403. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  404. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  405. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  406. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  407. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  408. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  409. package/dist/cache/__tests__/memory-store.test.js +0 -367
  410. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  411. package/dist/cache/cache-scope.d.ts +0 -102
  412. package/dist/cache/cache-scope.d.ts.map +0 -1
  413. package/dist/cache/cache-scope.js +0 -440
  414. package/dist/cache/cache-scope.js.map +0 -1
  415. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  416. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  417. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  418. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  419. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  420. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  421. package/dist/cache/cf/cf-cache-store.js +0 -242
  422. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  423. package/dist/cache/cf/index.d.ts +0 -14
  424. package/dist/cache/cf/index.d.ts.map +0 -1
  425. package/dist/cache/cf/index.js +0 -17
  426. package/dist/cache/cf/index.js.map +0 -1
  427. package/dist/cache/document-cache.d.ts +0 -64
  428. package/dist/cache/document-cache.d.ts.map +0 -1
  429. package/dist/cache/document-cache.js +0 -228
  430. package/dist/cache/document-cache.js.map +0 -1
  431. package/dist/cache/index.d.ts +0 -19
  432. package/dist/cache/index.d.ts.map +0 -1
  433. package/dist/cache/index.js +0 -21
  434. package/dist/cache/index.js.map +0 -1
  435. package/dist/cache/memory-segment-store.d.ts +0 -110
  436. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  437. package/dist/cache/memory-segment-store.js +0 -117
  438. package/dist/cache/memory-segment-store.js.map +0 -1
  439. package/dist/cache/memory-store.d.ts +0 -41
  440. package/dist/cache/memory-store.d.ts.map +0 -1
  441. package/dist/cache/memory-store.js +0 -191
  442. package/dist/cache/memory-store.js.map +0 -1
  443. package/dist/cache/types.d.ts +0 -317
  444. package/dist/cache/types.d.ts.map +0 -1
  445. package/dist/cache/types.js +0 -12
  446. package/dist/cache/types.js.map +0 -1
  447. package/dist/client.d.ts +0 -248
  448. package/dist/client.d.ts.map +0 -1
  449. package/dist/client.js +0 -367
  450. package/dist/client.js.map +0 -1
  451. package/dist/client.rsc.d.ts +0 -26
  452. package/dist/client.rsc.d.ts.map +0 -1
  453. package/dist/client.rsc.js +0 -46
  454. package/dist/client.rsc.js.map +0 -1
  455. package/dist/component-utils.d.ts +0 -36
  456. package/dist/component-utils.d.ts.map +0 -1
  457. package/dist/component-utils.js +0 -61
  458. package/dist/component-utils.js.map +0 -1
  459. package/dist/components/DefaultDocument.d.ts +0 -13
  460. package/dist/components/DefaultDocument.d.ts.map +0 -1
  461. package/dist/components/DefaultDocument.js +0 -15
  462. package/dist/components/DefaultDocument.js.map +0 -1
  463. package/dist/debug.d.ts +0 -58
  464. package/dist/debug.d.ts.map +0 -1
  465. package/dist/debug.js +0 -157
  466. package/dist/debug.js.map +0 -1
  467. package/dist/default-error-boundary.d.ts +0 -11
  468. package/dist/default-error-boundary.d.ts.map +0 -1
  469. package/dist/default-error-boundary.js +0 -45
  470. package/dist/default-error-boundary.js.map +0 -1
  471. package/dist/deps/browser.d.ts +0 -2
  472. package/dist/deps/browser.d.ts.map +0 -1
  473. package/dist/deps/browser.js +0 -3
  474. package/dist/deps/browser.js.map +0 -1
  475. package/dist/deps/html-stream-client.d.ts +0 -2
  476. package/dist/deps/html-stream-client.d.ts.map +0 -1
  477. package/dist/deps/html-stream-client.js +0 -3
  478. package/dist/deps/html-stream-client.js.map +0 -1
  479. package/dist/deps/html-stream-server.d.ts +0 -2
  480. package/dist/deps/html-stream-server.d.ts.map +0 -1
  481. package/dist/deps/html-stream-server.js +0 -3
  482. package/dist/deps/html-stream-server.js.map +0 -1
  483. package/dist/deps/rsc.d.ts +0 -2
  484. package/dist/deps/rsc.d.ts.map +0 -1
  485. package/dist/deps/rsc.js +0 -4
  486. package/dist/deps/rsc.js.map +0 -1
  487. package/dist/deps/ssr.d.ts +0 -2
  488. package/dist/deps/ssr.d.ts.map +0 -1
  489. package/dist/deps/ssr.js +0 -3
  490. package/dist/deps/ssr.js.map +0 -1
  491. package/dist/errors.d.ts +0 -174
  492. package/dist/errors.d.ts.map +0 -1
  493. package/dist/errors.js +0 -241
  494. package/dist/errors.js.map +0 -1
  495. package/dist/handle.d.ts +0 -78
  496. package/dist/handle.d.ts.map +0 -1
  497. package/dist/handle.js +0 -82
  498. package/dist/handle.js.map +0 -1
  499. package/dist/handles/MetaTags.d.ts +0 -14
  500. package/dist/handles/MetaTags.d.ts.map +0 -1
  501. package/dist/handles/MetaTags.js +0 -136
  502. package/dist/handles/MetaTags.js.map +0 -1
  503. package/dist/handles/index.d.ts +0 -6
  504. package/dist/handles/index.d.ts.map +0 -1
  505. package/dist/handles/index.js +0 -6
  506. package/dist/handles/index.js.map +0 -1
  507. package/dist/handles/meta.d.ts +0 -39
  508. package/dist/handles/meta.d.ts.map +0 -1
  509. package/dist/handles/meta.js +0 -202
  510. package/dist/handles/meta.js.map +0 -1
  511. package/dist/host/__tests__/errors.test.d.ts +0 -2
  512. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  513. package/dist/host/__tests__/errors.test.js +0 -76
  514. package/dist/host/__tests__/errors.test.js.map +0 -1
  515. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  516. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  517. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  518. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  519. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  520. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  521. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  522. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  523. package/dist/host/__tests__/router.test.d.ts +0 -2
  524. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  525. package/dist/host/__tests__/router.test.js +0 -241
  526. package/dist/host/__tests__/router.test.js.map +0 -1
  527. package/dist/host/__tests__/testing.test.d.ts +0 -2
  528. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  529. package/dist/host/__tests__/testing.test.js +0 -64
  530. package/dist/host/__tests__/testing.test.js.map +0 -1
  531. package/dist/host/__tests__/utils.test.d.ts +0 -2
  532. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  533. package/dist/host/__tests__/utils.test.js +0 -29
  534. package/dist/host/__tests__/utils.test.js.map +0 -1
  535. package/dist/host/cookie-handler.d.ts +0 -34
  536. package/dist/host/cookie-handler.d.ts.map +0 -1
  537. package/dist/host/cookie-handler.js +0 -124
  538. package/dist/host/cookie-handler.js.map +0 -1
  539. package/dist/host/errors.d.ts +0 -56
  540. package/dist/host/errors.d.ts.map +0 -1
  541. package/dist/host/errors.js +0 -79
  542. package/dist/host/errors.js.map +0 -1
  543. package/dist/host/index.d.ts +0 -29
  544. package/dist/host/index.d.ts.map +0 -1
  545. package/dist/host/index.js +0 -32
  546. package/dist/host/index.js.map +0 -1
  547. package/dist/host/pattern-matcher.d.ts +0 -36
  548. package/dist/host/pattern-matcher.d.ts.map +0 -1
  549. package/dist/host/pattern-matcher.js +0 -172
  550. package/dist/host/pattern-matcher.js.map +0 -1
  551. package/dist/host/router.d.ts +0 -26
  552. package/dist/host/router.d.ts.map +0 -1
  553. package/dist/host/router.js +0 -218
  554. package/dist/host/router.js.map +0 -1
  555. package/dist/host/testing.d.ts +0 -36
  556. package/dist/host/testing.d.ts.map +0 -1
  557. package/dist/host/testing.js +0 -55
  558. package/dist/host/testing.js.map +0 -1
  559. package/dist/host/types.d.ts +0 -115
  560. package/dist/host/types.d.ts.map +0 -1
  561. package/dist/host/types.js +0 -7
  562. package/dist/host/types.js.map +0 -1
  563. package/dist/host/utils.d.ts +0 -21
  564. package/dist/host/utils.d.ts.map +0 -1
  565. package/dist/host/utils.js +0 -23
  566. package/dist/host/utils.js.map +0 -1
  567. package/dist/href-client.d.ts +0 -131
  568. package/dist/href-client.d.ts.map +0 -1
  569. package/dist/href-client.js +0 -64
  570. package/dist/href-client.js.map +0 -1
  571. package/dist/href-context.d.ts +0 -29
  572. package/dist/href-context.d.ts.map +0 -1
  573. package/dist/href-context.js +0 -21
  574. package/dist/href-context.js.map +0 -1
  575. package/dist/index.d.ts +0 -73
  576. package/dist/index.d.ts.map +0 -1
  577. package/dist/index.js +0 -91
  578. package/dist/index.js.map +0 -1
  579. package/dist/index.rsc.d.ts +0 -32
  580. package/dist/index.rsc.d.ts.map +0 -1
  581. package/dist/index.rsc.js +0 -40
  582. package/dist/index.rsc.js.map +0 -1
  583. package/dist/internal-debug.d.ts +0 -2
  584. package/dist/internal-debug.d.ts.map +0 -1
  585. package/dist/internal-debug.js +0 -5
  586. package/dist/internal-debug.js.map +0 -1
  587. package/dist/loader.d.ts +0 -14
  588. package/dist/loader.d.ts.map +0 -1
  589. package/dist/loader.js +0 -20
  590. package/dist/loader.js.map +0 -1
  591. package/dist/loader.rsc.d.ts +0 -19
  592. package/dist/loader.rsc.d.ts.map +0 -1
  593. package/dist/loader.rsc.js +0 -99
  594. package/dist/loader.rsc.js.map +0 -1
  595. package/dist/network-error-thrower.d.ts +0 -17
  596. package/dist/network-error-thrower.d.ts.map +0 -1
  597. package/dist/network-error-thrower.js +0 -14
  598. package/dist/network-error-thrower.js.map +0 -1
  599. package/dist/outlet-context.d.ts +0 -13
  600. package/dist/outlet-context.d.ts.map +0 -1
  601. package/dist/outlet-context.js +0 -3
  602. package/dist/outlet-context.js.map +0 -1
  603. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  604. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  605. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  606. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  607. package/dist/prerender/param-hash.d.ts +0 -16
  608. package/dist/prerender/param-hash.d.ts.map +0 -1
  609. package/dist/prerender/param-hash.js +0 -36
  610. package/dist/prerender/param-hash.js.map +0 -1
  611. package/dist/prerender/store.d.ts +0 -38
  612. package/dist/prerender/store.d.ts.map +0 -1
  613. package/dist/prerender/store.js +0 -61
  614. package/dist/prerender/store.js.map +0 -1
  615. package/dist/prerender.d.ts +0 -66
  616. package/dist/prerender.d.ts.map +0 -1
  617. package/dist/prerender.js +0 -57
  618. package/dist/prerender.js.map +0 -1
  619. package/dist/reverse.d.ts +0 -196
  620. package/dist/reverse.d.ts.map +0 -1
  621. package/dist/reverse.js +0 -78
  622. package/dist/reverse.js.map +0 -1
  623. package/dist/root-error-boundary.d.ts +0 -33
  624. package/dist/root-error-boundary.d.ts.map +0 -1
  625. package/dist/root-error-boundary.js +0 -165
  626. package/dist/root-error-boundary.js.map +0 -1
  627. package/dist/route-content-wrapper.d.ts +0 -46
  628. package/dist/route-content-wrapper.d.ts.map +0 -1
  629. package/dist/route-content-wrapper.js +0 -77
  630. package/dist/route-content-wrapper.js.map +0 -1
  631. package/dist/route-definition.d.ts +0 -421
  632. package/dist/route-definition.d.ts.map +0 -1
  633. package/dist/route-definition.js +0 -868
  634. package/dist/route-definition.js.map +0 -1
  635. package/dist/route-map-builder.d.ts +0 -155
  636. package/dist/route-map-builder.d.ts.map +0 -1
  637. package/dist/route-map-builder.js +0 -237
  638. package/dist/route-map-builder.js.map +0 -1
  639. package/dist/route-types.d.ts +0 -165
  640. package/dist/route-types.d.ts.map +0 -1
  641. package/dist/route-types.js +0 -7
  642. package/dist/route-types.js.map +0 -1
  643. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  644. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  645. package/dist/router/__tests__/handler-context.test.js +0 -65
  646. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  647. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  648. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  649. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  650. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  651. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  652. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  653. package/dist/router/__tests__/match-context.test.js +0 -92
  654. package/dist/router/__tests__/match-context.test.js.map +0 -1
  655. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  656. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  657. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  658. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  659. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  660. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  661. package/dist/router/__tests__/match-result.test.js +0 -457
  662. package/dist/router/__tests__/match-result.test.js.map +0 -1
  663. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  664. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  665. package/dist/router/__tests__/on-error.test.js +0 -678
  666. package/dist/router/__tests__/on-error.test.js.map +0 -1
  667. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  668. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  669. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  670. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  671. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  672. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  673. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  674. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  675. package/dist/router/error-handling.d.ts +0 -77
  676. package/dist/router/error-handling.d.ts.map +0 -1
  677. package/dist/router/error-handling.js +0 -202
  678. package/dist/router/error-handling.js.map +0 -1
  679. package/dist/router/handler-context.d.ts +0 -20
  680. package/dist/router/handler-context.d.ts.map +0 -1
  681. package/dist/router/handler-context.js +0 -198
  682. package/dist/router/handler-context.js.map +0 -1
  683. package/dist/router/intercept-resolution.d.ts +0 -66
  684. package/dist/router/intercept-resolution.d.ts.map +0 -1
  685. package/dist/router/intercept-resolution.js +0 -246
  686. package/dist/router/intercept-resolution.js.map +0 -1
  687. package/dist/router/loader-resolution.d.ts +0 -64
  688. package/dist/router/loader-resolution.d.ts.map +0 -1
  689. package/dist/router/loader-resolution.js +0 -284
  690. package/dist/router/loader-resolution.js.map +0 -1
  691. package/dist/router/logging.d.ts +0 -15
  692. package/dist/router/logging.d.ts.map +0 -1
  693. package/dist/router/logging.js +0 -99
  694. package/dist/router/logging.js.map +0 -1
  695. package/dist/router/manifest.d.ts +0 -22
  696. package/dist/router/manifest.d.ts.map +0 -1
  697. package/dist/router/manifest.js +0 -181
  698. package/dist/router/manifest.js.map +0 -1
  699. package/dist/router/match-api.d.ts +0 -35
  700. package/dist/router/match-api.d.ts.map +0 -1
  701. package/dist/router/match-api.js +0 -406
  702. package/dist/router/match-api.js.map +0 -1
  703. package/dist/router/match-context.d.ts +0 -206
  704. package/dist/router/match-context.d.ts.map +0 -1
  705. package/dist/router/match-context.js +0 -17
  706. package/dist/router/match-context.js.map +0 -1
  707. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  708. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  709. package/dist/router/match-middleware/background-revalidation.js +0 -75
  710. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  711. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  712. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  713. package/dist/router/match-middleware/cache-lookup.js +0 -257
  714. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  715. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  716. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  717. package/dist/router/match-middleware/cache-store.js +0 -108
  718. package/dist/router/match-middleware/cache-store.js.map +0 -1
  719. package/dist/router/match-middleware/index.d.ts +0 -81
  720. package/dist/router/match-middleware/index.d.ts.map +0 -1
  721. package/dist/router/match-middleware/index.js +0 -80
  722. package/dist/router/match-middleware/index.js.map +0 -1
  723. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  724. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  725. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  726. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  727. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  728. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  729. package/dist/router/match-middleware/segment-resolution.js +0 -53
  730. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  731. package/dist/router/match-pipelines.d.ts +0 -147
  732. package/dist/router/match-pipelines.d.ts.map +0 -1
  733. package/dist/router/match-pipelines.js +0 -82
  734. package/dist/router/match-pipelines.js.map +0 -1
  735. package/dist/router/match-result.d.ts +0 -126
  736. package/dist/router/match-result.d.ts.map +0 -1
  737. package/dist/router/match-result.js +0 -93
  738. package/dist/router/match-result.js.map +0 -1
  739. package/dist/router/metrics.d.ts +0 -20
  740. package/dist/router/metrics.d.ts.map +0 -1
  741. package/dist/router/metrics.js +0 -47
  742. package/dist/router/metrics.js.map +0 -1
  743. package/dist/router/middleware.d.ts +0 -249
  744. package/dist/router/middleware.d.ts.map +0 -1
  745. package/dist/router/middleware.js +0 -434
  746. package/dist/router/middleware.js.map +0 -1
  747. package/dist/router/middleware.test.d.ts +0 -2
  748. package/dist/router/middleware.test.d.ts.map +0 -1
  749. package/dist/router/middleware.test.js +0 -816
  750. package/dist/router/middleware.test.js.map +0 -1
  751. package/dist/router/pattern-matching.d.ts +0 -149
  752. package/dist/router/pattern-matching.d.ts.map +0 -1
  753. package/dist/router/pattern-matching.js +0 -349
  754. package/dist/router/pattern-matching.js.map +0 -1
  755. package/dist/router/revalidation.d.ts +0 -44
  756. package/dist/router/revalidation.d.ts.map +0 -1
  757. package/dist/router/revalidation.js +0 -147
  758. package/dist/router/revalidation.js.map +0 -1
  759. package/dist/router/router-context.d.ts +0 -135
  760. package/dist/router/router-context.d.ts.map +0 -1
  761. package/dist/router/router-context.js +0 -36
  762. package/dist/router/router-context.js.map +0 -1
  763. package/dist/router/segment-resolution.d.ts +0 -127
  764. package/dist/router/segment-resolution.d.ts.map +0 -1
  765. package/dist/router/segment-resolution.js +0 -919
  766. package/dist/router/segment-resolution.js.map +0 -1
  767. package/dist/router/trie-matching.d.ts +0 -40
  768. package/dist/router/trie-matching.d.ts.map +0 -1
  769. package/dist/router/trie-matching.js +0 -127
  770. package/dist/router/trie-matching.js.map +0 -1
  771. package/dist/router/types.d.ts +0 -136
  772. package/dist/router/types.d.ts.map +0 -1
  773. package/dist/router/types.js +0 -7
  774. package/dist/router/types.js.map +0 -1
  775. package/dist/router.d.ts +0 -753
  776. package/dist/router.d.ts.map +0 -1
  777. package/dist/router.gen.d.ts +0 -6
  778. package/dist/router.gen.d.ts.map +0 -1
  779. package/dist/router.gen.js +0 -6
  780. package/dist/router.gen.js.map +0 -1
  781. package/dist/router.js +0 -1304
  782. package/dist/router.js.map +0 -1
  783. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  784. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  785. package/dist/rsc/__tests__/helpers.test.js +0 -140
  786. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  787. package/dist/rsc/handler.d.ts +0 -45
  788. package/dist/rsc/handler.d.ts.map +0 -1
  789. package/dist/rsc/handler.js +0 -1172
  790. package/dist/rsc/handler.js.map +0 -1
  791. package/dist/rsc/helpers.d.ts +0 -16
  792. package/dist/rsc/helpers.d.ts.map +0 -1
  793. package/dist/rsc/helpers.js +0 -55
  794. package/dist/rsc/helpers.js.map +0 -1
  795. package/dist/rsc/index.d.ts +0 -22
  796. package/dist/rsc/index.d.ts.map +0 -1
  797. package/dist/rsc/index.js +0 -23
  798. package/dist/rsc/index.js.map +0 -1
  799. package/dist/rsc/nonce.d.ts +0 -9
  800. package/dist/rsc/nonce.d.ts.map +0 -1
  801. package/dist/rsc/nonce.js +0 -18
  802. package/dist/rsc/nonce.js.map +0 -1
  803. package/dist/rsc/types.d.ts +0 -206
  804. package/dist/rsc/types.d.ts.map +0 -1
  805. package/dist/rsc/types.js +0 -8
  806. package/dist/rsc/types.js.map +0 -1
  807. package/dist/search-params.d.ts +0 -103
  808. package/dist/search-params.d.ts.map +0 -1
  809. package/dist/search-params.js +0 -74
  810. package/dist/search-params.js.map +0 -1
  811. package/dist/segment-system.d.ts +0 -75
  812. package/dist/segment-system.d.ts.map +0 -1
  813. package/dist/segment-system.js +0 -336
  814. package/dist/segment-system.js.map +0 -1
  815. package/dist/server/context.d.ts +0 -245
  816. package/dist/server/context.d.ts.map +0 -1
  817. package/dist/server/context.js +0 -197
  818. package/dist/server/context.js.map +0 -1
  819. package/dist/server/fetchable-loader-store.d.ts +0 -18
  820. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  821. package/dist/server/fetchable-loader-store.js +0 -18
  822. package/dist/server/fetchable-loader-store.js.map +0 -1
  823. package/dist/server/handle-store.d.ts +0 -85
  824. package/dist/server/handle-store.d.ts.map +0 -1
  825. package/dist/server/handle-store.js +0 -142
  826. package/dist/server/handle-store.js.map +0 -1
  827. package/dist/server/loader-registry.d.ts +0 -55
  828. package/dist/server/loader-registry.d.ts.map +0 -1
  829. package/dist/server/loader-registry.js +0 -132
  830. package/dist/server/loader-registry.js.map +0 -1
  831. package/dist/server/request-context.d.ts +0 -226
  832. package/dist/server/request-context.d.ts.map +0 -1
  833. package/dist/server/request-context.js +0 -290
  834. package/dist/server/request-context.js.map +0 -1
  835. package/dist/server/root-layout.d.ts +0 -4
  836. package/dist/server/root-layout.d.ts.map +0 -1
  837. package/dist/server/root-layout.js +0 -5
  838. package/dist/server/root-layout.js.map +0 -1
  839. package/dist/server.d.ts +0 -15
  840. package/dist/server.d.ts.map +0 -1
  841. package/dist/server.js +0 -20
  842. package/dist/server.js.map +0 -1
  843. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  844. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  845. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  846. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  847. package/dist/ssr/index.d.ts +0 -98
  848. package/dist/ssr/index.d.ts.map +0 -1
  849. package/dist/ssr/index.js +0 -158
  850. package/dist/ssr/index.js.map +0 -1
  851. package/dist/static-handler.d.ts +0 -50
  852. package/dist/static-handler.d.ts.map +0 -1
  853. package/dist/static-handler.gen.d.ts +0 -5
  854. package/dist/static-handler.gen.d.ts.map +0 -1
  855. package/dist/static-handler.gen.js +0 -5
  856. package/dist/static-handler.gen.js.map +0 -1
  857. package/dist/static-handler.js +0 -29
  858. package/dist/static-handler.js.map +0 -1
  859. package/dist/theme/ThemeProvider.d.ts +0 -20
  860. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  861. package/dist/theme/ThemeProvider.js +0 -240
  862. package/dist/theme/ThemeProvider.js.map +0 -1
  863. package/dist/theme/ThemeScript.d.ts +0 -48
  864. package/dist/theme/ThemeScript.d.ts.map +0 -1
  865. package/dist/theme/ThemeScript.js +0 -13
  866. package/dist/theme/ThemeScript.js.map +0 -1
  867. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  868. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  869. package/dist/theme/__tests__/theme.test.js +0 -103
  870. package/dist/theme/__tests__/theme.test.js.map +0 -1
  871. package/dist/theme/constants.d.ts +0 -29
  872. package/dist/theme/constants.d.ts.map +0 -1
  873. package/dist/theme/constants.js +0 -48
  874. package/dist/theme/constants.js.map +0 -1
  875. package/dist/theme/index.d.ts +0 -31
  876. package/dist/theme/index.d.ts.map +0 -1
  877. package/dist/theme/index.js +0 -36
  878. package/dist/theme/index.js.map +0 -1
  879. package/dist/theme/theme-context.d.ts +0 -40
  880. package/dist/theme/theme-context.d.ts.map +0 -1
  881. package/dist/theme/theme-context.js +0 -60
  882. package/dist/theme/theme-context.js.map +0 -1
  883. package/dist/theme/theme-script.d.ts +0 -27
  884. package/dist/theme/theme-script.d.ts.map +0 -1
  885. package/dist/theme/theme-script.js +0 -147
  886. package/dist/theme/theme-script.js.map +0 -1
  887. package/dist/theme/types.d.ts +0 -163
  888. package/dist/theme/types.d.ts.map +0 -1
  889. package/dist/theme/types.js +0 -11
  890. package/dist/theme/types.js.map +0 -1
  891. package/dist/theme/use-theme.d.ts +0 -12
  892. package/dist/theme/use-theme.d.ts.map +0 -1
  893. package/dist/theme/use-theme.js +0 -40
  894. package/dist/theme/use-theme.js.map +0 -1
  895. package/dist/types.d.ts +0 -1479
  896. package/dist/types.d.ts.map +0 -1
  897. package/dist/types.js +0 -10
  898. package/dist/types.js.map +0 -1
  899. package/dist/urls.d.ts +0 -441
  900. package/dist/urls.d.ts.map +0 -1
  901. package/dist/urls.gen.d.ts +0 -8
  902. package/dist/urls.gen.d.ts.map +0 -1
  903. package/dist/urls.gen.js +0 -8
  904. package/dist/urls.gen.js.map +0 -1
  905. package/dist/urls.js +0 -443
  906. package/dist/urls.js.map +0 -1
  907. package/dist/use-loader.d.ts +0 -127
  908. package/dist/use-loader.d.ts.map +0 -1
  909. package/dist/use-loader.js +0 -237
  910. package/dist/use-loader.js.map +0 -1
  911. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  912. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  913. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  914. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  915. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  916. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  917. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  918. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  919. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  920. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  921. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  922. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  923. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  924. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  925. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  926. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  927. package/dist/vite/ast-handler-extract.d.ts +0 -49
  928. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  929. package/dist/vite/ast-handler-extract.js +0 -249
  930. package/dist/vite/ast-handler-extract.js.map +0 -1
  931. package/dist/vite/expose-action-id.d.ts +0 -19
  932. package/dist/vite/expose-action-id.d.ts.map +0 -1
  933. package/dist/vite/expose-action-id.js +0 -250
  934. package/dist/vite/expose-action-id.js.map +0 -1
  935. package/dist/vite/expose-id-utils.d.ts +0 -69
  936. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  937. package/dist/vite/expose-id-utils.js +0 -289
  938. package/dist/vite/expose-id-utils.js.map +0 -1
  939. package/dist/vite/expose-internal-ids.d.ts +0 -22
  940. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  941. package/dist/vite/expose-internal-ids.js +0 -886
  942. package/dist/vite/expose-internal-ids.js.map +0 -1
  943. package/dist/vite/index.d.ts +0 -149
  944. package/dist/vite/index.d.ts.map +0 -1
  945. package/dist/vite/index.js.map +0 -1
  946. package/dist/vite/index.named-routes.gen.ts +0 -103
  947. package/dist/vite/package-resolution.d.ts +0 -43
  948. package/dist/vite/package-resolution.d.ts.map +0 -1
  949. package/dist/vite/package-resolution.js +0 -112
  950. package/dist/vite/package-resolution.js.map +0 -1
  951. package/dist/vite/virtual-entries.d.ts +0 -25
  952. package/dist/vite/virtual-entries.d.ts.map +0 -1
  953. package/dist/vite/virtual-entries.js +0 -110
  954. package/dist/vite/virtual-entries.js.map +0 -1
  955. package/src/browser/debug-channel.ts +0 -93
package/dist/errors.js DELETED
@@ -1,241 +0,0 @@
1
- /**
2
- * Custom error classes for RSC Router
3
- *
4
- * All errors include:
5
- * - Descriptive names for easy identification
6
- * - Cause property for structured debugging data
7
- */
8
- /**
9
- * Thrown when no route matches the requested pathname
10
- */
11
- export class RouteNotFoundError extends Error {
12
- constructor(message, options) {
13
- super(message);
14
- this.name = "RouteNotFoundError";
15
- Object.setPrototypeOf(this, RouteNotFoundError.prototype);
16
- this.cause = options?.cause;
17
- }
18
- }
19
- /**
20
- * Thrown when data is not found (e.g., product with ID doesn't exist)
21
- * Use this in handlers/loaders to trigger the nearest notFoundBoundary
22
- *
23
- * @example
24
- * ```typescript
25
- * route("products.detail", async (ctx) => {
26
- * const product = await db.products.get(ctx.params.slug);
27
- * if (!product) throw new DataNotFoundError("Product not found");
28
- * return <ProductDetail product={product} />;
29
- * });
30
- * ```
31
- */
32
- export class DataNotFoundError extends Error {
33
- constructor(message = "Not found", options) {
34
- super(message);
35
- this.name = "DataNotFoundError";
36
- Object.setPrototypeOf(this, DataNotFoundError.prototype);
37
- this.cause = options?.cause;
38
- }
39
- }
40
- /**
41
- * Convenience function to throw a DataNotFoundError
42
- * Shorter syntax for common not-found scenarios
43
- *
44
- * @example
45
- * ```typescript
46
- * const product = await db.products.get(slug);
47
- * if (!product) throw notFound("Product not found");
48
- * // or simply:
49
- * if (!product) throw notFound();
50
- * ```
51
- */
52
- export function notFound(message) {
53
- throw new DataNotFoundError(message);
54
- }
55
- /**
56
- * Thrown when middleware execution fails
57
- */
58
- export class MiddlewareError extends Error {
59
- constructor(message, options) {
60
- super(message);
61
- this.name = "MiddlewareError";
62
- Object.setPrototypeOf(this, MiddlewareError.prototype);
63
- this.cause = options?.cause;
64
- }
65
- }
66
- /**
67
- * Thrown when a route handler fails
68
- */
69
- export class HandlerError extends Error {
70
- constructor(message, options) {
71
- super(message);
72
- this.name = "HandlerError";
73
- Object.setPrototypeOf(this, HandlerError.prototype);
74
- this.cause = options?.cause;
75
- }
76
- }
77
- /**
78
- * Thrown when segment building fails
79
- */
80
- export class BuildError extends Error {
81
- constructor(message, options) {
82
- super(message);
83
- this.name = "BuildError";
84
- Object.setPrototypeOf(this, BuildError.prototype);
85
- this.cause = options?.cause;
86
- }
87
- }
88
- /**
89
- * Thrown when a network request fails (server unreachable, no internet, etc.)
90
- * This error triggers the root error boundary with retry capability.
91
- *
92
- * @example
93
- * ```typescript
94
- * try {
95
- * await fetch(url);
96
- * } catch (error) {
97
- * if (error instanceof TypeError) {
98
- * throw new NetworkError("Unable to connect to server", { cause: error });
99
- * }
100
- * throw error;
101
- * }
102
- * ```
103
- */
104
- export class NetworkError extends Error {
105
- constructor(message = "Network request failed", options) {
106
- super(message);
107
- this.name = "NetworkError";
108
- Object.setPrototypeOf(this, NetworkError.prototype);
109
- this.cause = options?.cause;
110
- this.url = options?.url;
111
- this.operation = options?.operation;
112
- }
113
- }
114
- /**
115
- * Check if an error is a network-level failure (server unreachable, no internet)
116
- * These are typically TypeError from fetch when the network request itself fails.
117
- */
118
- export function isNetworkError(error) {
119
- // NetworkError we throw ourselves
120
- if (error instanceof NetworkError) {
121
- return true;
122
- }
123
- // TypeError from fetch() when network fails (e.g., "Failed to fetch")
124
- if (error instanceof TypeError) {
125
- const message = error.message.toLowerCase();
126
- return (message.includes("failed to fetch") ||
127
- message.includes("network request failed") ||
128
- message.includes("networkerror") ||
129
- message.includes("load failed"));
130
- }
131
- // DOMException with network-related names
132
- if (error instanceof DOMException) {
133
- return error.name === "NetworkError";
134
- }
135
- return false;
136
- }
137
- /**
138
- * Structured error for JSON response routes.
139
- * Thrown by handlers to return a typed error envelope with a specific HTTP status.
140
- *
141
- * Unlike standard Error, RouterError messages are always exposed to the client
142
- * (the developer intentionally crafted them for consumers).
143
- *
144
- * @example
145
- * ```typescript
146
- * path("/products/:id", (ctx) => {
147
- * const product = products.find(p => p.id === ctx.params.id);
148
- * if (!product) throw new RouterError("NOT_FOUND", "Product not found", { status: 404 });
149
- * return product;
150
- * }, { name: "productDetail" })
151
- * ```
152
- */
153
- export class RouterError extends Error {
154
- constructor(code, message, options) {
155
- super(message);
156
- this.name = "RouterError";
157
- Object.setPrototypeOf(this, RouterError.prototype);
158
- this.code = code;
159
- this.status = options?.status ?? 500;
160
- this.type = options?.type;
161
- this.cause = options?.cause;
162
- }
163
- }
164
- /**
165
- * Thrown when route handler returns invalid type
166
- */
167
- export class InvalidHandlerError extends Error {
168
- constructor(message, options) {
169
- super(message);
170
- this.name = "InvalidHandlerError";
171
- Object.setPrototypeOf(this, InvalidHandlerError.prototype);
172
- this.cause = options?.cause;
173
- }
174
- }
175
- /**
176
- * Internal invariant assertion for development-time checks
177
- *
178
- * @internal
179
- * @param condition - Condition that must be true
180
- * @param message - Error message to throw if condition is false
181
- * @throws {Error} If condition is false
182
- *
183
- * @example
184
- * ```typescript
185
- * invariant(user !== null, 'User must be defined');
186
- * invariant(node.type === 'layout', `Expected layout, got ${node.type}`);
187
- * ```
188
- */
189
- export function invariant(condition, message) {
190
- if (!condition) {
191
- throw new Error(`Invariant: ${message}`);
192
- }
193
- }
194
- /**
195
- * Sanitize errors for production - prevents leaking sensitive information
196
- *
197
- * SECURITY CRITICAL:
198
- * - In production: NEVER send stack traces, file paths, or internal state
199
- * - In development: Show full error details for debugging
200
- * - ALWAYS consume error.stack to prevent memory leaks
201
- *
202
- * @param error - Error to sanitize
203
- * @returns Response suitable for sending to client
204
- */
205
- export function sanitizeError(error) {
206
- // CRITICAL: Consume stack trace to prevent memory leaks
207
- if (error && typeof error === "object" && "stack" in error) {
208
- const _ = error.stack; // Force V8 to generate/consume stack trace
209
- }
210
- // Response objects are safe to return as-is
211
- if (error instanceof Response) {
212
- return error;
213
- }
214
- const isDev = import.meta.env?.DEV ?? true;
215
- if (isDev) {
216
- // Development: Send full error details for debugging
217
- const errorDetails = {
218
- name: error instanceof Error ? error.name : "Error",
219
- message: error instanceof Error ? error.message : String(error),
220
- stack: error instanceof Error ? error.stack : undefined,
221
- cause: error && typeof error === "object" && "cause" in error
222
- ? error.cause
223
- : undefined,
224
- };
225
- return new Response(JSON.stringify(errorDetails, null, 2), {
226
- status: 500,
227
- headers: {
228
- "Content-Type": "application/json",
229
- },
230
- });
231
- }
232
- // Production: Generic error only - NO internal details
233
- // SECURITY: Never leak stack traces, file paths, or application state
234
- return new Response("Internal Server Error", {
235
- status: 500,
236
- headers: {
237
- "Content-Type": "text/plain",
238
- },
239
- });
240
- }
241
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/handle.d.ts DELETED
@@ -1,78 +0,0 @@
1
- /**
2
- * Handle definition for accumulating data across route segments.
3
- *
4
- * Handles allow server-side route handlers to pass accumulated data to client
5
- * components. Unlike loaders (which fetch data for specific routes), handles
6
- * accumulate data across all matched route segments.
7
- *
8
- * @example
9
- * ```ts
10
- * // Define a handle (name auto-generated from file + export)
11
- * export const Breadcrumbs = createHandle<BreadcrumbItem>();
12
- *
13
- * // Use in handler
14
- * const push = ctx.use(Breadcrumbs);
15
- * push({ label: "Home", href: "/" });
16
- *
17
- * // Consume on client
18
- * const crumbs = useHandle(Breadcrumbs);
19
- * ```
20
- */
21
- export interface Handle<TData, TAccumulated = TData[]> {
22
- /**
23
- * Brand to distinguish handles from loaders in ctx.use()
24
- */
25
- readonly __brand: "handle";
26
- /**
27
- * Auto-generated unique ID for this handle (used as key in storage)
28
- * Format: "filePath#ExportName" in dev, "hash#ExportName" in production
29
- */
30
- readonly $$id: string;
31
- }
32
- /**
33
- * Look up a collect function from the registry by handle $$id.
34
- * Returns undefined if not registered (falls back to defaultCollect in useHandle).
35
- */
36
- export declare function getCollectFn(id: string): ((segments: unknown[][]) => unknown) | undefined;
37
- /**
38
- * Create a handle definition for accumulating data across route segments.
39
- *
40
- * The $$id is auto-generated by the Vite exposeInternalIds plugin based on
41
- * file path and export name. No manual naming required.
42
- *
43
- * @param collect - Optional collect function (default: flatten into array)
44
- * @param __injectedId - Auto-injected by Vite plugin, do not provide manually
45
- *
46
- * @example
47
- * ```ts
48
- * // Default: flatten into array
49
- * export const Breadcrumbs = createHandle<BreadcrumbItem>();
50
- * // Result type: BreadcrumbItem[]
51
- *
52
- * // Custom: last value wins
53
- * export const PageTitle = createHandle<string, string>(
54
- * (segments) => segments.flat().at(-1) ?? "Default Title"
55
- * );
56
- * // Result type: string
57
- *
58
- * // Custom: object merge
59
- * export const Meta = createHandle<Partial<MetaTags>, MetaTags>(
60
- * (segments) => Object.assign({ robots: "index,follow" }, ...segments.flat())
61
- * );
62
- * // Result type: MetaTags
63
- *
64
- * // Custom: dedupe by href
65
- * export const Breadcrumbs = createHandle<BreadcrumbItem>(
66
- * (segments) => {
67
- * const all = segments.flat();
68
- * return all.filter((item, i) => all.findIndex(x => x.href === item.href) === i);
69
- * }
70
- * );
71
- * ```
72
- */
73
- export declare function createHandle<TData, TAccumulated = TData[]>(collect?: (segments: TData[][]) => TAccumulated, __injectedId?: string): Handle<TData, TAccumulated>;
74
- /**
75
- * Type guard to check if a value is a Handle.
76
- */
77
- export declare function isHandle(value: unknown): value is Handle<unknown, unknown>;
78
- //# sourceMappingURL=handle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../src/handle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,EAAE;IACnD;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CAEvB;AAcD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,OAAO,CAAC,GAAG,SAAS,CAEzF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,EAAE,EACxD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,YAAY,EAC/C,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAwB7B;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAO1E"}
package/dist/handle.js DELETED
@@ -1,82 +0,0 @@
1
- /**
2
- * Default collect function that flattens segment arrays into a single array.
3
- */
4
- function defaultCollect(segments) {
5
- return segments.flat();
6
- }
7
- // Module-level registry mapping $$id to collect functions.
8
- // Populated when createHandle() runs (both server and client).
9
- // Used by useHandle() to recover collect when handle is deserialized from RSC prop.
10
- const collectRegistry = new Map();
11
- /**
12
- * Look up a collect function from the registry by handle $$id.
13
- * Returns undefined if not registered (falls back to defaultCollect in useHandle).
14
- */
15
- export function getCollectFn(id) {
16
- return collectRegistry.get(id);
17
- }
18
- /**
19
- * Create a handle definition for accumulating data across route segments.
20
- *
21
- * The $$id is auto-generated by the Vite exposeInternalIds plugin based on
22
- * file path and export name. No manual naming required.
23
- *
24
- * @param collect - Optional collect function (default: flatten into array)
25
- * @param __injectedId - Auto-injected by Vite plugin, do not provide manually
26
- *
27
- * @example
28
- * ```ts
29
- * // Default: flatten into array
30
- * export const Breadcrumbs = createHandle<BreadcrumbItem>();
31
- * // Result type: BreadcrumbItem[]
32
- *
33
- * // Custom: last value wins
34
- * export const PageTitle = createHandle<string, string>(
35
- * (segments) => segments.flat().at(-1) ?? "Default Title"
36
- * );
37
- * // Result type: string
38
- *
39
- * // Custom: object merge
40
- * export const Meta = createHandle<Partial<MetaTags>, MetaTags>(
41
- * (segments) => Object.assign({ robots: "index,follow" }, ...segments.flat())
42
- * );
43
- * // Result type: MetaTags
44
- *
45
- * // Custom: dedupe by href
46
- * export const Breadcrumbs = createHandle<BreadcrumbItem>(
47
- * (segments) => {
48
- * const all = segments.flat();
49
- * return all.filter((item, i) => all.findIndex(x => x.href === item.href) === i);
50
- * }
51
- * );
52
- * ```
53
- */
54
- export function createHandle(collect, __injectedId) {
55
- const handleId = __injectedId ?? "";
56
- if (!handleId && process.env.NODE_ENV !== "production") {
57
- throw new Error("[rsc-router] Handle is missing $$id. " +
58
- "Make sure the exposeInternalIds Vite plugin is enabled and " +
59
- "the handle is exported with: export const MyHandle = createHandle(...)");
60
- }
61
- const collectFn = collect ??
62
- defaultCollect;
63
- // Register collect in module-level registry so useHandle() can recover it
64
- // when the handle is deserialized from RSC props (toJSON strips collect).
65
- if (handleId) {
66
- collectRegistry.set(handleId, collectFn);
67
- }
68
- return {
69
- __brand: "handle",
70
- $$id: handleId,
71
- };
72
- }
73
- /**
74
- * Type guard to check if a value is a Handle.
75
- */
76
- export function isHandle(value) {
77
- return (typeof value === "object" &&
78
- value !== null &&
79
- "__brand" in value &&
80
- value.__brand === "handle");
81
- }
82
- //# sourceMappingURL=handle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle.js","sourceRoot":"","sources":["../src/handle.ts"],"names":[],"mappings":"AAkCA;;GAEG;AACH,SAAS,cAAc,CAAI,QAAe;IACxC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,2DAA2D;AAC3D,+DAA+D;AAC/D,oFAAoF;AACpF,MAAM,eAAe,GAAG,IAAI,GAAG,EAA8C,CAAC;AAE9E;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,OAAO,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,YAAY,CAC1B,OAA+C,EAC/C,YAAqB;IAErB,MAAM,QAAQ,GAAG,YAAY,IAAI,EAAE,CAAC;IAEpC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,uCAAuC;YACrC,6DAA6D;YAC7D,wEAAwE,CAC3E,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,OAAO;QACtB,cAAmE,CAAC;IAEvE,0EAA0E;IAC1E,0EAA0E;IAC1E,IAAI,QAAQ,EAAE,CAAC;QACb,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,SAA+C,CAAC,CAAC;IACjF,CAAC;IAED,OAAO;QACL,OAAO,EAAE,QAAiB;QAC1B,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,SAAS,IAAI,KAAK;QACjB,KAA8B,CAAC,OAAO,KAAK,QAAQ,CACrD,CAAC;AACJ,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Renders all collected meta descriptors from route handlers.
3
- *
4
- * Place this component inside the `<head>` element of your document.
5
- * It will automatically update when meta descriptors change during navigation.
6
- *
7
- * When theme is enabled in router config, also renders the theme initialization
8
- * script to prevent FOUC (flash of unstyled content).
9
- *
10
- * Async meta descriptors (Promise<MetaDescriptorBase>) are resolved using
11
- * React's use() hook. RSC streaming handles the Promise resolution.
12
- */
13
- export declare function MetaTags(): React.ReactNode;
14
- //# sourceMappingURL=MetaTags.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetaTags.d.ts","sourceRoot":"","sources":["../../src/handles/MetaTags.tsx"],"names":[],"mappings":"AAgKA;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,IAAI,KAAK,CAAC,SAAS,CAoB1C"}
@@ -1,136 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
- /**
4
- * Component to render collected meta descriptors in the document head.
5
- *
6
- * Supports both sync and async meta descriptors. Async descriptors
7
- * (Promise<MetaDescriptorBase>) are resolved using React's use() hook.
8
- *
9
- * When theme is enabled in the router config, MetaTags also renders
10
- * the theme initialization script to prevent FOUC (flash of unstyled content).
11
- *
12
- * @example
13
- * ```tsx
14
- * function RootLayout() {
15
- * return (
16
- * <html lang="en" suppressHydrationWarning>
17
- * <head>
18
- * <MetaTags />
19
- * </head>
20
- * <body>...</body>
21
- * </html>
22
- * );
23
- * }
24
- * ```
25
- */
26
- import { use } from "react";
27
- import { useHandle } from "../browser/react/use-handle.js";
28
- import { Meta } from "./meta.js";
29
- import { getSSRThemeConfig } from "../theme/theme-context.js";
30
- import { generateThemeScript } from "../theme/theme-script.js";
31
- // Type guards for MetaDescriptorBase variants
32
- function hasCharSet(d) {
33
- return "charSet" in d && d.charSet === "utf-8";
34
- }
35
- function hasTitle(d) {
36
- return "title" in d && typeof d.title === "string";
37
- }
38
- function hasNameContent(d) {
39
- return "name" in d && "content" in d &&
40
- typeof d.name === "string" &&
41
- typeof d.content === "string";
42
- }
43
- function hasPropertyContent(d) {
44
- return "property" in d && "content" in d &&
45
- typeof d.property === "string" &&
46
- typeof d.content === "string";
47
- }
48
- function hasHttpEquivContent(d) {
49
- return "httpEquiv" in d && "content" in d &&
50
- typeof d.httpEquiv === "string" &&
51
- typeof d.content === "string";
52
- }
53
- function hasScriptLdJson(d) {
54
- return "script:ld+json" in d;
55
- }
56
- function hasTagName(d) {
57
- return "tagName" in d && (d.tagName === "meta" || d.tagName === "link");
58
- }
59
- /**
60
- * Check if a value is a Promise.
61
- */
62
- function isPromise(value) {
63
- return value !== null && typeof value === "object" && "then" in value;
64
- }
65
- /**
66
- * Render a single meta descriptor as a React element.
67
- */
68
- function renderMetaDescriptor(descriptor, index) {
69
- // charset
70
- if (hasCharSet(descriptor)) {
71
- return _jsx("meta", { charSet: descriptor.charSet }, "charSet");
72
- }
73
- // title
74
- if (hasTitle(descriptor)) {
75
- return _jsx("title", { children: descriptor.title }, "title");
76
- }
77
- // name + content (description, viewport, etc.)
78
- if (hasNameContent(descriptor)) {
79
- return (_jsx("meta", { name: descriptor.name, content: descriptor.content }, `name-${descriptor.name}`));
80
- }
81
- // property + content (Open Graph, etc.)
82
- if (hasPropertyContent(descriptor)) {
83
- return (_jsx("meta", { property: descriptor.property, content: descriptor.content }, `property-${descriptor.property}`));
84
- }
85
- // http-equiv + content
86
- if (hasHttpEquivContent(descriptor)) {
87
- return (_jsx("meta", { httpEquiv: descriptor.httpEquiv, content: descriptor.content }, `httpEquiv-${descriptor.httpEquiv}`));
88
- }
89
- // JSON-LD structured data
90
- if (hasScriptLdJson(descriptor)) {
91
- const json = JSON.stringify(descriptor["script:ld+json"]);
92
- return (_jsx("script", { type: "application/ld+json", dangerouslySetInnerHTML: { __html: json } }, `ld-json-${index}`));
93
- }
94
- // Custom tagName (meta or link with arbitrary attributes)
95
- if (hasTagName(descriptor)) {
96
- const { tagName, ...rest } = descriptor;
97
- if (tagName === "link") {
98
- return _jsx("link", { ...rest }, `link-${index}`);
99
- }
100
- if (tagName === "meta") {
101
- return _jsx("meta", { ...rest }, `meta-${index}`);
102
- }
103
- }
104
- // Fallback: treat as meta attributes
105
- return _jsx("meta", { ...descriptor }, `meta-fallback-${index}`);
106
- }
107
- /**
108
- * Wrapper component to resolve a Promise<MetaDescriptorBase> using use().
109
- */
110
- function AsyncMetaTag({ promise, index }) {
111
- const resolved = use(promise);
112
- return renderMetaDescriptor(resolved, index);
113
- }
114
- /**
115
- * Renders all collected meta descriptors from route handlers.
116
- *
117
- * Place this component inside the `<head>` element of your document.
118
- * It will automatically update when meta descriptors change during navigation.
119
- *
120
- * When theme is enabled in router config, also renders the theme initialization
121
- * script to prevent FOUC (flash of unstyled content).
122
- *
123
- * Async meta descriptors (Promise<MetaDescriptorBase>) are resolved using
124
- * React's use() hook. RSC streaming handles the Promise resolution.
125
- */
126
- export function MetaTags() {
127
- const descriptors = useHandle(Meta);
128
- const themeConfig = getSSRThemeConfig();
129
- return (_jsxs(_Fragment, { children: [themeConfig && (_jsx("script", { dangerouslySetInnerHTML: { __html: generateThemeScript(themeConfig) } })), descriptors.map((descriptor, index) => {
130
- if (isPromise(descriptor)) {
131
- return _jsx(AsyncMetaTag, { promise: descriptor, index: index }, `async-${index}`);
132
- }
133
- return renderMetaDescriptor(descriptor, index);
134
- })] }));
135
- }
136
- //# sourceMappingURL=MetaTags.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetaTags.js","sourceRoot":"","sources":["../../src/handles/MetaTags.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Built-in handles for rsc-router.
3
- */
4
- export { Meta } from "./meta.ts";
5
- export { MetaTags } from "./MetaTags.tsx";
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handles/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Built-in handles for rsc-router.
3
- */
4
- export { Meta } from "./meta.ts";
5
- export { MetaTags } from "./MetaTags.tsx";
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handles/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,39 +0,0 @@
1
- /**
2
- * Built-in Meta handle for managing document metadata across route segments.
3
- *
4
- * Provides automatic deduplication: later routes override earlier ones
5
- * for the same meta key (title, name, property, etc.)
6
- *
7
- * @example
8
- * ```tsx
9
- * // In route handler
10
- * route("product/:id", (ctx) => {
11
- * const meta = ctx.use(Meta);
12
- * meta({ title: "Product Details" });
13
- * meta({ name: "description", content: "..." });
14
- * meta({ property: "og:title", content: "..." });
15
- * });
16
- *
17
- * // In layout (renders the collected meta tags)
18
- * function RootLayout() {
19
- * return (
20
- * <html>
21
- * <head>
22
- * <MetaTags />
23
- * </head>
24
- * ...
25
- * </html>
26
- * );
27
- * }
28
- * ```
29
- */
30
- import { type Handle } from "../handle.js";
31
- import type { MetaDescriptor } from "../router/types.js";
32
- /**
33
- * Built-in handle for managing document metadata.
34
- *
35
- * Use `ctx.use(Meta)` in route handlers to push meta descriptors.
36
- * Use `<MetaTags />` component to render them in the document head.
37
- */
38
- export declare const Meta: Handle<MetaDescriptor, MetaDescriptor[]>;
39
- //# sourceMappingURL=meta.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/handles/meta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,oBAAoB,CAAC;AA0M5B;;;;;GAKG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE,CAGzD,CAAC"}