@rangojs/router 0.0.0-experimental.ce770c9a → 0.0.0-experimental.dc0369d7

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 (915) hide show
  1. package/README.md +76 -18
  2. package/dist/bin/rango.js +130 -47
  3. package/dist/vite/index.js +421 -121
  4. package/package.json +2 -2
  5. package/skills/cache-guide/SKILL.md +32 -0
  6. package/skills/caching/SKILL.md +8 -0
  7. package/skills/links/SKILL.md +3 -1
  8. package/skills/loader/SKILL.md +53 -43
  9. package/skills/middleware/SKILL.md +2 -0
  10. package/skills/parallel/SKILL.md +67 -0
  11. package/skills/prerender/SKILL.md +110 -68
  12. package/skills/route/SKILL.md +31 -0
  13. package/skills/router-setup/SKILL.md +87 -2
  14. package/skills/typesafety/SKILL.md +10 -0
  15. package/src/__internal.ts +1 -1
  16. package/src/browser/app-version.ts +14 -0
  17. package/src/browser/navigation-bridge.ts +16 -3
  18. package/src/browser/navigation-client.ts +64 -40
  19. package/src/browser/navigation-store.ts +43 -8
  20. package/src/browser/partial-update.ts +37 -4
  21. package/src/browser/prefetch/fetch.ts +8 -2
  22. package/src/browser/prefetch/queue.ts +61 -29
  23. package/src/browser/prefetch/resource-ready.ts +77 -0
  24. package/src/browser/react/Link.tsx +44 -8
  25. package/src/browser/react/NavigationProvider.tsx +13 -4
  26. package/src/browser/react/context.ts +7 -2
  27. package/src/browser/react/use-handle.ts +9 -58
  28. package/src/browser/react/use-router.ts +21 -8
  29. package/src/browser/rsc-router.tsx +26 -3
  30. package/src/browser/scroll-restoration.ts +10 -8
  31. package/src/browser/server-action-bridge.ts +8 -6
  32. package/src/browser/types.ts +27 -5
  33. package/src/build/generate-manifest.ts +6 -6
  34. package/src/build/generate-route-types.ts +3 -0
  35. package/src/build/route-types/include-resolution.ts +8 -1
  36. package/src/build/route-types/router-processing.ts +211 -72
  37. package/src/build/route-types/scan-filter.ts +8 -1
  38. package/src/cache/cache-runtime.ts +15 -11
  39. package/src/cache/cache-scope.ts +46 -5
  40. package/src/cache/taint.ts +55 -0
  41. package/src/client.tsx +2 -56
  42. package/src/context-var.ts +72 -2
  43. package/src/handle.ts +40 -0
  44. package/src/index.rsc.ts +3 -1
  45. package/src/index.ts +8 -0
  46. package/src/prerender/store.ts +5 -4
  47. package/src/prerender.ts +138 -77
  48. package/src/reverse.ts +22 -1
  49. package/src/route-definition/dsl-helpers.ts +42 -19
  50. package/src/route-definition/helpers-types.ts +10 -6
  51. package/src/route-definition/index.ts +3 -0
  52. package/src/route-definition/redirect.ts +9 -1
  53. package/src/route-definition/resolve-handler-use.ts +149 -0
  54. package/src/route-types.ts +11 -0
  55. package/src/router/content-negotiation.ts +100 -1
  56. package/src/router/handler-context.ts +79 -23
  57. package/src/router/intercept-resolution.ts +9 -4
  58. package/src/router/loader-resolution.ts +122 -10
  59. package/src/router/match-api.ts +124 -189
  60. package/src/router/match-middleware/background-revalidation.ts +12 -1
  61. package/src/router/match-middleware/cache-lookup.ts +64 -9
  62. package/src/router/match-middleware/cache-store.ts +21 -4
  63. package/src/router/match-middleware/segment-resolution.ts +53 -0
  64. package/src/router/match-result.ts +11 -5
  65. package/src/router/middleware-types.ts +6 -8
  66. package/src/router/middleware.ts +2 -5
  67. package/src/router/navigation-snapshot.ts +182 -0
  68. package/src/router/prerender-match.ts +110 -10
  69. package/src/router/preview-match.ts +30 -102
  70. package/src/router/request-classification.ts +310 -0
  71. package/src/router/route-snapshot.ts +245 -0
  72. package/src/router/router-context.ts +1 -0
  73. package/src/router/router-interfaces.ts +36 -4
  74. package/src/router/router-options.ts +37 -11
  75. package/src/router/segment-resolution/fresh.ts +88 -21
  76. package/src/router/segment-resolution/helpers.ts +29 -24
  77. package/src/router/segment-resolution/revalidation.ts +100 -29
  78. package/src/router/types.ts +1 -0
  79. package/src/router.ts +54 -5
  80. package/src/rsc/handler.ts +460 -368
  81. package/src/rsc/manifest-init.ts +5 -1
  82. package/src/rsc/progressive-enhancement.ts +4 -0
  83. package/src/rsc/rsc-rendering.ts +5 -0
  84. package/src/rsc/server-action.ts +2 -0
  85. package/src/rsc/ssr-setup.ts +2 -2
  86. package/src/rsc/types.ts +8 -1
  87. package/src/server/context.ts +50 -1
  88. package/src/server/loader-registry.ts +9 -8
  89. package/src/server/request-context.ts +145 -14
  90. package/src/ssr/index.tsx +3 -0
  91. package/src/static-handler.ts +18 -6
  92. package/src/types/cache-types.ts +4 -4
  93. package/src/types/handler-context.ts +137 -33
  94. package/src/types/loader-types.ts +36 -9
  95. package/src/types/route-entry.ts +1 -1
  96. package/src/urls/path-helper-types.ts +9 -2
  97. package/src/urls/path-helper.ts +47 -12
  98. package/src/urls/pattern-types.ts +12 -0
  99. package/src/urls/response-types.ts +16 -6
  100. package/src/use-loader.tsx +73 -4
  101. package/src/vite/discovery/bundle-postprocess.ts +30 -33
  102. package/src/vite/discovery/discover-routers.ts +5 -1
  103. package/src/vite/discovery/prerender-collection.ts +14 -1
  104. package/src/vite/discovery/state.ts +13 -4
  105. package/src/vite/index.ts +4 -0
  106. package/src/vite/plugin-types.ts +60 -5
  107. package/src/vite/plugins/performance-tracks.ts +88 -0
  108. package/src/vite/plugins/refresh-cmd.ts +88 -26
  109. package/src/vite/rango.ts +19 -2
  110. package/src/vite/router-discovery.ts +153 -34
  111. package/src/vite/utils/prerender-utils.ts +18 -0
  112. package/src/vite/utils/shared-utils.ts +3 -2
  113. package/dist/__internal.d.ts +0 -83
  114. package/dist/__internal.d.ts.map +0 -1
  115. package/dist/__internal.js +0 -19
  116. package/dist/__internal.js.map +0 -1
  117. package/dist/__mocks__/version.d.ts +0 -7
  118. package/dist/__mocks__/version.d.ts.map +0 -1
  119. package/dist/__mocks__/version.js +0 -7
  120. package/dist/__mocks__/version.js.map +0 -1
  121. package/dist/__tests__/client-href.test.d.ts +0 -2
  122. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  123. package/dist/__tests__/client-href.test.js +0 -74
  124. package/dist/__tests__/client-href.test.js.map +0 -1
  125. package/dist/__tests__/component-utils.test.d.ts +0 -2
  126. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  127. package/dist/__tests__/component-utils.test.js +0 -51
  128. package/dist/__tests__/component-utils.test.js.map +0 -1
  129. package/dist/__tests__/event-controller.test.d.ts +0 -2
  130. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  131. package/dist/__tests__/event-controller.test.js +0 -538
  132. package/dist/__tests__/event-controller.test.js.map +0 -1
  133. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  134. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  135. package/dist/__tests__/helpers/route-tree.js +0 -374
  136. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  137. package/dist/__tests__/match-result.test.d.ts +0 -2
  138. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  139. package/dist/__tests__/match-result.test.js +0 -154
  140. package/dist/__tests__/match-result.test.js.map +0 -1
  141. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  142. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  143. package/dist/__tests__/navigation-store.test.js +0 -440
  144. package/dist/__tests__/navigation-store.test.js.map +0 -1
  145. package/dist/__tests__/partial-update.test.d.ts +0 -2
  146. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  147. package/dist/__tests__/partial-update.test.js +0 -1009
  148. package/dist/__tests__/partial-update.test.js.map +0 -1
  149. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  150. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  151. package/dist/__tests__/reverse-types.test.js +0 -656
  152. package/dist/__tests__/reverse-types.test.js.map +0 -1
  153. package/dist/__tests__/route-definition.test.d.ts +0 -2
  154. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  155. package/dist/__tests__/route-definition.test.js +0 -55
  156. package/dist/__tests__/route-definition.test.js.map +0 -1
  157. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  158. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  159. package/dist/__tests__/router-helpers.test.js +0 -377
  160. package/dist/__tests__/router-helpers.test.js.map +0 -1
  161. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  162. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  163. package/dist/__tests__/router-integration-2.test.js +0 -426
  164. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  165. package/dist/__tests__/router-integration.test.d.ts +0 -2
  166. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  167. package/dist/__tests__/router-integration.test.js +0 -1051
  168. package/dist/__tests__/router-integration.test.js.map +0 -1
  169. package/dist/__tests__/search-params.test.d.ts +0 -5
  170. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  171. package/dist/__tests__/search-params.test.js +0 -306
  172. package/dist/__tests__/search-params.test.js.map +0 -1
  173. package/dist/__tests__/segment-system.test.d.ts +0 -2
  174. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  175. package/dist/__tests__/segment-system.test.js +0 -627
  176. package/dist/__tests__/segment-system.test.js.map +0 -1
  177. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  178. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  179. package/dist/__tests__/static-handler-types.test.js +0 -63
  180. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  181. package/dist/__tests__/urls.test.d.ts +0 -2
  182. package/dist/__tests__/urls.test.d.ts.map +0 -1
  183. package/dist/__tests__/urls.test.js +0 -421
  184. package/dist/__tests__/urls.test.js.map +0 -1
  185. package/dist/__tests__/use-mount.test.d.ts +0 -2
  186. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  187. package/dist/__tests__/use-mount.test.js +0 -35
  188. package/dist/__tests__/use-mount.test.js.map +0 -1
  189. package/dist/bin/rango.d.ts +0 -2
  190. package/dist/bin/rango.d.ts.map +0 -1
  191. package/dist/bin/rango.js.map +0 -1
  192. package/dist/browser/event-controller.d.ts +0 -191
  193. package/dist/browser/event-controller.d.ts.map +0 -1
  194. package/dist/browser/event-controller.js +0 -559
  195. package/dist/browser/event-controller.js.map +0 -1
  196. package/dist/browser/index.d.ts +0 -2
  197. package/dist/browser/index.d.ts.map +0 -1
  198. package/dist/browser/index.js +0 -14
  199. package/dist/browser/index.js.map +0 -1
  200. package/dist/browser/link-interceptor.d.ts +0 -38
  201. package/dist/browser/link-interceptor.d.ts.map +0 -1
  202. package/dist/browser/link-interceptor.js +0 -99
  203. package/dist/browser/link-interceptor.js.map +0 -1
  204. package/dist/browser/logging.d.ts +0 -10
  205. package/dist/browser/logging.d.ts.map +0 -1
  206. package/dist/browser/logging.js +0 -29
  207. package/dist/browser/logging.js.map +0 -1
  208. package/dist/browser/lru-cache.d.ts +0 -17
  209. package/dist/browser/lru-cache.d.ts.map +0 -1
  210. package/dist/browser/lru-cache.js +0 -50
  211. package/dist/browser/lru-cache.js.map +0 -1
  212. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  213. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  214. package/dist/browser/merge-segment-loaders.js +0 -102
  215. package/dist/browser/merge-segment-loaders.js.map +0 -1
  216. package/dist/browser/navigation-bridge.d.ts +0 -102
  217. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  218. package/dist/browser/navigation-bridge.js +0 -708
  219. package/dist/browser/navigation-bridge.js.map +0 -1
  220. package/dist/browser/navigation-client.d.ts +0 -25
  221. package/dist/browser/navigation-client.d.ts.map +0 -1
  222. package/dist/browser/navigation-client.js +0 -157
  223. package/dist/browser/navigation-client.js.map +0 -1
  224. package/dist/browser/navigation-store.d.ts +0 -101
  225. package/dist/browser/navigation-store.d.ts.map +0 -1
  226. package/dist/browser/navigation-store.js +0 -625
  227. package/dist/browser/navigation-store.js.map +0 -1
  228. package/dist/browser/partial-update.d.ts +0 -75
  229. package/dist/browser/partial-update.d.ts.map +0 -1
  230. package/dist/browser/partial-update.js +0 -426
  231. package/dist/browser/partial-update.js.map +0 -1
  232. package/dist/browser/react/Link.d.ts +0 -86
  233. package/dist/browser/react/Link.d.ts.map +0 -1
  234. package/dist/browser/react/Link.js +0 -128
  235. package/dist/browser/react/Link.js.map +0 -1
  236. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  237. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  238. package/dist/browser/react/NavigationProvider.js +0 -216
  239. package/dist/browser/react/NavigationProvider.js.map +0 -1
  240. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  241. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  242. package/dist/browser/react/ScrollRestoration.js +0 -57
  243. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  244. package/dist/browser/react/context.d.ts +0 -46
  245. package/dist/browser/react/context.d.ts.map +0 -1
  246. package/dist/browser/react/context.js +0 -10
  247. package/dist/browser/react/context.js.map +0 -1
  248. package/dist/browser/react/index.d.ts +0 -11
  249. package/dist/browser/react/index.d.ts.map +0 -1
  250. package/dist/browser/react/index.js +0 -22
  251. package/dist/browser/react/index.js.map +0 -1
  252. package/dist/browser/react/location-state-shared.d.ts +0 -63
  253. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  254. package/dist/browser/react/location-state-shared.js +0 -81
  255. package/dist/browser/react/location-state-shared.js.map +0 -1
  256. package/dist/browser/react/location-state.d.ts +0 -23
  257. package/dist/browser/react/location-state.d.ts.map +0 -1
  258. package/dist/browser/react/location-state.js +0 -29
  259. package/dist/browser/react/location-state.js.map +0 -1
  260. package/dist/browser/react/mount-context.d.ts +0 -24
  261. package/dist/browser/react/mount-context.d.ts.map +0 -1
  262. package/dist/browser/react/mount-context.js +0 -24
  263. package/dist/browser/react/mount-context.js.map +0 -1
  264. package/dist/browser/react/use-action.d.ts +0 -64
  265. package/dist/browser/react/use-action.d.ts.map +0 -1
  266. package/dist/browser/react/use-action.js +0 -134
  267. package/dist/browser/react/use-action.js.map +0 -1
  268. package/dist/browser/react/use-client-cache.d.ts +0 -41
  269. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  270. package/dist/browser/react/use-client-cache.js +0 -39
  271. package/dist/browser/react/use-client-cache.js.map +0 -1
  272. package/dist/browser/react/use-handle.d.ts +0 -31
  273. package/dist/browser/react/use-handle.d.ts.map +0 -1
  274. package/dist/browser/react/use-handle.js +0 -144
  275. package/dist/browser/react/use-handle.js.map +0 -1
  276. package/dist/browser/react/use-href.d.ts +0 -33
  277. package/dist/browser/react/use-href.d.ts.map +0 -1
  278. package/dist/browser/react/use-href.js +0 -39
  279. package/dist/browser/react/use-href.js.map +0 -1
  280. package/dist/browser/react/use-link-status.d.ts +0 -37
  281. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  282. package/dist/browser/react/use-link-status.js +0 -99
  283. package/dist/browser/react/use-link-status.js.map +0 -1
  284. package/dist/browser/react/use-mount.d.ts +0 -25
  285. package/dist/browser/react/use-mount.d.ts.map +0 -1
  286. package/dist/browser/react/use-mount.js +0 -30
  287. package/dist/browser/react/use-mount.js.map +0 -1
  288. package/dist/browser/react/use-navigation.d.ts +0 -27
  289. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  290. package/dist/browser/react/use-navigation.js +0 -87
  291. package/dist/browser/react/use-navigation.js.map +0 -1
  292. package/dist/browser/react/use-segments.d.ts +0 -38
  293. package/dist/browser/react/use-segments.d.ts.map +0 -1
  294. package/dist/browser/react/use-segments.js +0 -130
  295. package/dist/browser/react/use-segments.js.map +0 -1
  296. package/dist/browser/request-controller.d.ts +0 -26
  297. package/dist/browser/request-controller.d.ts.map +0 -1
  298. package/dist/browser/request-controller.js +0 -147
  299. package/dist/browser/request-controller.js.map +0 -1
  300. package/dist/browser/rsc-router.d.ts +0 -129
  301. package/dist/browser/rsc-router.d.ts.map +0 -1
  302. package/dist/browser/rsc-router.js +0 -195
  303. package/dist/browser/rsc-router.js.map +0 -1
  304. package/dist/browser/scroll-restoration.d.ts +0 -93
  305. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  306. package/dist/browser/scroll-restoration.js +0 -321
  307. package/dist/browser/scroll-restoration.js.map +0 -1
  308. package/dist/browser/segment-structure-assert.d.ts +0 -17
  309. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  310. package/dist/browser/segment-structure-assert.js +0 -59
  311. package/dist/browser/segment-structure-assert.js.map +0 -1
  312. package/dist/browser/server-action-bridge.d.ts +0 -26
  313. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  314. package/dist/browser/server-action-bridge.js +0 -668
  315. package/dist/browser/server-action-bridge.js.map +0 -1
  316. package/dist/browser/shallow.d.ts +0 -12
  317. package/dist/browser/shallow.d.ts.map +0 -1
  318. package/dist/browser/shallow.js +0 -34
  319. package/dist/browser/shallow.js.map +0 -1
  320. package/dist/browser/types.d.ts +0 -369
  321. package/dist/browser/types.d.ts.map +0 -1
  322. package/dist/browser/types.js +0 -2
  323. package/dist/browser/types.js.map +0 -1
  324. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  325. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  326. package/dist/build/__tests__/generate-cli.test.js +0 -237
  327. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  328. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  329. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  330. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  331. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  332. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  333. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  334. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  335. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  336. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  337. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  338. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  339. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  340. package/dist/build/generate-manifest.d.ts +0 -81
  341. package/dist/build/generate-manifest.d.ts.map +0 -1
  342. package/dist/build/generate-manifest.js +0 -276
  343. package/dist/build/generate-manifest.js.map +0 -1
  344. package/dist/build/generate-route-types.d.ts +0 -115
  345. package/dist/build/generate-route-types.d.ts.map +0 -1
  346. package/dist/build/generate-route-types.js +0 -740
  347. package/dist/build/generate-route-types.js.map +0 -1
  348. package/dist/build/index.d.ts +0 -21
  349. package/dist/build/index.d.ts.map +0 -1
  350. package/dist/build/index.js +0 -21
  351. package/dist/build/index.js.map +0 -1
  352. package/dist/build/route-trie.d.ts +0 -71
  353. package/dist/build/route-trie.d.ts.map +0 -1
  354. package/dist/build/route-trie.js +0 -175
  355. package/dist/build/route-trie.js.map +0 -1
  356. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  357. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  358. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  359. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  360. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  361. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  362. package/dist/cache/__tests__/document-cache.test.js +0 -345
  363. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  364. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  365. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  366. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  367. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  368. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  369. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  370. package/dist/cache/__tests__/memory-store.test.js +0 -367
  371. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  372. package/dist/cache/cache-scope.d.ts +0 -102
  373. package/dist/cache/cache-scope.d.ts.map +0 -1
  374. package/dist/cache/cache-scope.js +0 -440
  375. package/dist/cache/cache-scope.js.map +0 -1
  376. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  377. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  378. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  379. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  380. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  381. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  382. package/dist/cache/cf/cf-cache-store.js +0 -242
  383. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  384. package/dist/cache/cf/index.d.ts +0 -14
  385. package/dist/cache/cf/index.d.ts.map +0 -1
  386. package/dist/cache/cf/index.js +0 -17
  387. package/dist/cache/cf/index.js.map +0 -1
  388. package/dist/cache/document-cache.d.ts +0 -64
  389. package/dist/cache/document-cache.d.ts.map +0 -1
  390. package/dist/cache/document-cache.js +0 -228
  391. package/dist/cache/document-cache.js.map +0 -1
  392. package/dist/cache/index.d.ts +0 -19
  393. package/dist/cache/index.d.ts.map +0 -1
  394. package/dist/cache/index.js +0 -21
  395. package/dist/cache/index.js.map +0 -1
  396. package/dist/cache/memory-segment-store.d.ts +0 -110
  397. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  398. package/dist/cache/memory-segment-store.js +0 -117
  399. package/dist/cache/memory-segment-store.js.map +0 -1
  400. package/dist/cache/memory-store.d.ts +0 -41
  401. package/dist/cache/memory-store.d.ts.map +0 -1
  402. package/dist/cache/memory-store.js +0 -191
  403. package/dist/cache/memory-store.js.map +0 -1
  404. package/dist/cache/types.d.ts +0 -317
  405. package/dist/cache/types.d.ts.map +0 -1
  406. package/dist/cache/types.js +0 -12
  407. package/dist/cache/types.js.map +0 -1
  408. package/dist/client.d.ts +0 -248
  409. package/dist/client.d.ts.map +0 -1
  410. package/dist/client.js +0 -367
  411. package/dist/client.js.map +0 -1
  412. package/dist/client.rsc.d.ts +0 -26
  413. package/dist/client.rsc.d.ts.map +0 -1
  414. package/dist/client.rsc.js +0 -46
  415. package/dist/client.rsc.js.map +0 -1
  416. package/dist/component-utils.d.ts +0 -36
  417. package/dist/component-utils.d.ts.map +0 -1
  418. package/dist/component-utils.js +0 -61
  419. package/dist/component-utils.js.map +0 -1
  420. package/dist/components/DefaultDocument.d.ts +0 -13
  421. package/dist/components/DefaultDocument.d.ts.map +0 -1
  422. package/dist/components/DefaultDocument.js +0 -15
  423. package/dist/components/DefaultDocument.js.map +0 -1
  424. package/dist/debug.d.ts +0 -58
  425. package/dist/debug.d.ts.map +0 -1
  426. package/dist/debug.js +0 -157
  427. package/dist/debug.js.map +0 -1
  428. package/dist/default-error-boundary.d.ts +0 -11
  429. package/dist/default-error-boundary.d.ts.map +0 -1
  430. package/dist/default-error-boundary.js +0 -45
  431. package/dist/default-error-boundary.js.map +0 -1
  432. package/dist/deps/browser.d.ts +0 -2
  433. package/dist/deps/browser.d.ts.map +0 -1
  434. package/dist/deps/browser.js +0 -3
  435. package/dist/deps/browser.js.map +0 -1
  436. package/dist/deps/html-stream-client.d.ts +0 -2
  437. package/dist/deps/html-stream-client.d.ts.map +0 -1
  438. package/dist/deps/html-stream-client.js +0 -3
  439. package/dist/deps/html-stream-client.js.map +0 -1
  440. package/dist/deps/html-stream-server.d.ts +0 -2
  441. package/dist/deps/html-stream-server.d.ts.map +0 -1
  442. package/dist/deps/html-stream-server.js +0 -3
  443. package/dist/deps/html-stream-server.js.map +0 -1
  444. package/dist/deps/rsc.d.ts +0 -2
  445. package/dist/deps/rsc.d.ts.map +0 -1
  446. package/dist/deps/rsc.js +0 -4
  447. package/dist/deps/rsc.js.map +0 -1
  448. package/dist/deps/ssr.d.ts +0 -2
  449. package/dist/deps/ssr.d.ts.map +0 -1
  450. package/dist/deps/ssr.js +0 -3
  451. package/dist/deps/ssr.js.map +0 -1
  452. package/dist/errors.d.ts +0 -174
  453. package/dist/errors.d.ts.map +0 -1
  454. package/dist/errors.js +0 -241
  455. package/dist/errors.js.map +0 -1
  456. package/dist/handle.d.ts +0 -78
  457. package/dist/handle.d.ts.map +0 -1
  458. package/dist/handle.js +0 -82
  459. package/dist/handle.js.map +0 -1
  460. package/dist/handles/MetaTags.d.ts +0 -14
  461. package/dist/handles/MetaTags.d.ts.map +0 -1
  462. package/dist/handles/MetaTags.js +0 -136
  463. package/dist/handles/MetaTags.js.map +0 -1
  464. package/dist/handles/index.d.ts +0 -6
  465. package/dist/handles/index.d.ts.map +0 -1
  466. package/dist/handles/index.js +0 -6
  467. package/dist/handles/index.js.map +0 -1
  468. package/dist/handles/meta.d.ts +0 -39
  469. package/dist/handles/meta.d.ts.map +0 -1
  470. package/dist/handles/meta.js +0 -202
  471. package/dist/handles/meta.js.map +0 -1
  472. package/dist/host/__tests__/errors.test.d.ts +0 -2
  473. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  474. package/dist/host/__tests__/errors.test.js +0 -76
  475. package/dist/host/__tests__/errors.test.js.map +0 -1
  476. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  477. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  478. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  479. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  480. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  481. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  482. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  483. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  484. package/dist/host/__tests__/router.test.d.ts +0 -2
  485. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  486. package/dist/host/__tests__/router.test.js +0 -241
  487. package/dist/host/__tests__/router.test.js.map +0 -1
  488. package/dist/host/__tests__/testing.test.d.ts +0 -2
  489. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  490. package/dist/host/__tests__/testing.test.js +0 -64
  491. package/dist/host/__tests__/testing.test.js.map +0 -1
  492. package/dist/host/__tests__/utils.test.d.ts +0 -2
  493. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  494. package/dist/host/__tests__/utils.test.js +0 -29
  495. package/dist/host/__tests__/utils.test.js.map +0 -1
  496. package/dist/host/cookie-handler.d.ts +0 -34
  497. package/dist/host/cookie-handler.d.ts.map +0 -1
  498. package/dist/host/cookie-handler.js +0 -124
  499. package/dist/host/cookie-handler.js.map +0 -1
  500. package/dist/host/errors.d.ts +0 -56
  501. package/dist/host/errors.d.ts.map +0 -1
  502. package/dist/host/errors.js +0 -79
  503. package/dist/host/errors.js.map +0 -1
  504. package/dist/host/index.d.ts +0 -29
  505. package/dist/host/index.d.ts.map +0 -1
  506. package/dist/host/index.js +0 -32
  507. package/dist/host/index.js.map +0 -1
  508. package/dist/host/pattern-matcher.d.ts +0 -36
  509. package/dist/host/pattern-matcher.d.ts.map +0 -1
  510. package/dist/host/pattern-matcher.js +0 -172
  511. package/dist/host/pattern-matcher.js.map +0 -1
  512. package/dist/host/router.d.ts +0 -26
  513. package/dist/host/router.d.ts.map +0 -1
  514. package/dist/host/router.js +0 -218
  515. package/dist/host/router.js.map +0 -1
  516. package/dist/host/testing.d.ts +0 -36
  517. package/dist/host/testing.d.ts.map +0 -1
  518. package/dist/host/testing.js +0 -55
  519. package/dist/host/testing.js.map +0 -1
  520. package/dist/host/types.d.ts +0 -115
  521. package/dist/host/types.d.ts.map +0 -1
  522. package/dist/host/types.js +0 -7
  523. package/dist/host/types.js.map +0 -1
  524. package/dist/host/utils.d.ts +0 -21
  525. package/dist/host/utils.d.ts.map +0 -1
  526. package/dist/host/utils.js +0 -23
  527. package/dist/host/utils.js.map +0 -1
  528. package/dist/href-client.d.ts +0 -131
  529. package/dist/href-client.d.ts.map +0 -1
  530. package/dist/href-client.js +0 -64
  531. package/dist/href-client.js.map +0 -1
  532. package/dist/href-context.d.ts +0 -29
  533. package/dist/href-context.d.ts.map +0 -1
  534. package/dist/href-context.js +0 -21
  535. package/dist/href-context.js.map +0 -1
  536. package/dist/index.d.ts +0 -73
  537. package/dist/index.d.ts.map +0 -1
  538. package/dist/index.js +0 -91
  539. package/dist/index.js.map +0 -1
  540. package/dist/index.rsc.d.ts +0 -32
  541. package/dist/index.rsc.d.ts.map +0 -1
  542. package/dist/index.rsc.js +0 -40
  543. package/dist/index.rsc.js.map +0 -1
  544. package/dist/internal-debug.d.ts +0 -2
  545. package/dist/internal-debug.d.ts.map +0 -1
  546. package/dist/internal-debug.js +0 -5
  547. package/dist/internal-debug.js.map +0 -1
  548. package/dist/loader.d.ts +0 -14
  549. package/dist/loader.d.ts.map +0 -1
  550. package/dist/loader.js +0 -20
  551. package/dist/loader.js.map +0 -1
  552. package/dist/loader.rsc.d.ts +0 -19
  553. package/dist/loader.rsc.d.ts.map +0 -1
  554. package/dist/loader.rsc.js +0 -99
  555. package/dist/loader.rsc.js.map +0 -1
  556. package/dist/network-error-thrower.d.ts +0 -17
  557. package/dist/network-error-thrower.d.ts.map +0 -1
  558. package/dist/network-error-thrower.js +0 -14
  559. package/dist/network-error-thrower.js.map +0 -1
  560. package/dist/outlet-context.d.ts +0 -13
  561. package/dist/outlet-context.d.ts.map +0 -1
  562. package/dist/outlet-context.js +0 -3
  563. package/dist/outlet-context.js.map +0 -1
  564. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  565. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  566. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  567. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  568. package/dist/prerender/param-hash.d.ts +0 -16
  569. package/dist/prerender/param-hash.d.ts.map +0 -1
  570. package/dist/prerender/param-hash.js +0 -36
  571. package/dist/prerender/param-hash.js.map +0 -1
  572. package/dist/prerender/store.d.ts +0 -38
  573. package/dist/prerender/store.d.ts.map +0 -1
  574. package/dist/prerender/store.js +0 -61
  575. package/dist/prerender/store.js.map +0 -1
  576. package/dist/prerender.d.ts +0 -66
  577. package/dist/prerender.d.ts.map +0 -1
  578. package/dist/prerender.js +0 -57
  579. package/dist/prerender.js.map +0 -1
  580. package/dist/reverse.d.ts +0 -196
  581. package/dist/reverse.d.ts.map +0 -1
  582. package/dist/reverse.js +0 -78
  583. package/dist/reverse.js.map +0 -1
  584. package/dist/root-error-boundary.d.ts +0 -33
  585. package/dist/root-error-boundary.d.ts.map +0 -1
  586. package/dist/root-error-boundary.js +0 -165
  587. package/dist/root-error-boundary.js.map +0 -1
  588. package/dist/route-content-wrapper.d.ts +0 -46
  589. package/dist/route-content-wrapper.d.ts.map +0 -1
  590. package/dist/route-content-wrapper.js +0 -77
  591. package/dist/route-content-wrapper.js.map +0 -1
  592. package/dist/route-definition.d.ts +0 -421
  593. package/dist/route-definition.d.ts.map +0 -1
  594. package/dist/route-definition.js +0 -868
  595. package/dist/route-definition.js.map +0 -1
  596. package/dist/route-map-builder.d.ts +0 -155
  597. package/dist/route-map-builder.d.ts.map +0 -1
  598. package/dist/route-map-builder.js +0 -237
  599. package/dist/route-map-builder.js.map +0 -1
  600. package/dist/route-types.d.ts +0 -165
  601. package/dist/route-types.d.ts.map +0 -1
  602. package/dist/route-types.js +0 -7
  603. package/dist/route-types.js.map +0 -1
  604. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  605. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  606. package/dist/router/__tests__/handler-context.test.js +0 -65
  607. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  608. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  609. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  610. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  611. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  612. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  613. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  614. package/dist/router/__tests__/match-context.test.js +0 -92
  615. package/dist/router/__tests__/match-context.test.js.map +0 -1
  616. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  617. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  618. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  619. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  620. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  621. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  622. package/dist/router/__tests__/match-result.test.js +0 -457
  623. package/dist/router/__tests__/match-result.test.js.map +0 -1
  624. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  625. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  626. package/dist/router/__tests__/on-error.test.js +0 -678
  627. package/dist/router/__tests__/on-error.test.js.map +0 -1
  628. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  629. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  630. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  631. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  632. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  633. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  634. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  635. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  636. package/dist/router/error-handling.d.ts +0 -77
  637. package/dist/router/error-handling.d.ts.map +0 -1
  638. package/dist/router/error-handling.js +0 -202
  639. package/dist/router/error-handling.js.map +0 -1
  640. package/dist/router/handler-context.d.ts +0 -20
  641. package/dist/router/handler-context.d.ts.map +0 -1
  642. package/dist/router/handler-context.js +0 -198
  643. package/dist/router/handler-context.js.map +0 -1
  644. package/dist/router/intercept-resolution.d.ts +0 -66
  645. package/dist/router/intercept-resolution.d.ts.map +0 -1
  646. package/dist/router/intercept-resolution.js +0 -246
  647. package/dist/router/intercept-resolution.js.map +0 -1
  648. package/dist/router/loader-resolution.d.ts +0 -64
  649. package/dist/router/loader-resolution.d.ts.map +0 -1
  650. package/dist/router/loader-resolution.js +0 -284
  651. package/dist/router/loader-resolution.js.map +0 -1
  652. package/dist/router/logging.d.ts +0 -15
  653. package/dist/router/logging.d.ts.map +0 -1
  654. package/dist/router/logging.js +0 -99
  655. package/dist/router/logging.js.map +0 -1
  656. package/dist/router/manifest.d.ts +0 -22
  657. package/dist/router/manifest.d.ts.map +0 -1
  658. package/dist/router/manifest.js +0 -181
  659. package/dist/router/manifest.js.map +0 -1
  660. package/dist/router/match-api.d.ts +0 -35
  661. package/dist/router/match-api.d.ts.map +0 -1
  662. package/dist/router/match-api.js +0 -406
  663. package/dist/router/match-api.js.map +0 -1
  664. package/dist/router/match-context.d.ts +0 -206
  665. package/dist/router/match-context.d.ts.map +0 -1
  666. package/dist/router/match-context.js +0 -17
  667. package/dist/router/match-context.js.map +0 -1
  668. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  669. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  670. package/dist/router/match-middleware/background-revalidation.js +0 -75
  671. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  672. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  673. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  674. package/dist/router/match-middleware/cache-lookup.js +0 -257
  675. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  676. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  677. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  678. package/dist/router/match-middleware/cache-store.js +0 -108
  679. package/dist/router/match-middleware/cache-store.js.map +0 -1
  680. package/dist/router/match-middleware/index.d.ts +0 -81
  681. package/dist/router/match-middleware/index.d.ts.map +0 -1
  682. package/dist/router/match-middleware/index.js +0 -80
  683. package/dist/router/match-middleware/index.js.map +0 -1
  684. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  685. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  686. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  687. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  688. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  689. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  690. package/dist/router/match-middleware/segment-resolution.js +0 -53
  691. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  692. package/dist/router/match-pipelines.d.ts +0 -147
  693. package/dist/router/match-pipelines.d.ts.map +0 -1
  694. package/dist/router/match-pipelines.js +0 -82
  695. package/dist/router/match-pipelines.js.map +0 -1
  696. package/dist/router/match-result.d.ts +0 -126
  697. package/dist/router/match-result.d.ts.map +0 -1
  698. package/dist/router/match-result.js +0 -93
  699. package/dist/router/match-result.js.map +0 -1
  700. package/dist/router/metrics.d.ts +0 -20
  701. package/dist/router/metrics.d.ts.map +0 -1
  702. package/dist/router/metrics.js +0 -47
  703. package/dist/router/metrics.js.map +0 -1
  704. package/dist/router/middleware.d.ts +0 -249
  705. package/dist/router/middleware.d.ts.map +0 -1
  706. package/dist/router/middleware.js +0 -434
  707. package/dist/router/middleware.js.map +0 -1
  708. package/dist/router/middleware.test.d.ts +0 -2
  709. package/dist/router/middleware.test.d.ts.map +0 -1
  710. package/dist/router/middleware.test.js +0 -816
  711. package/dist/router/middleware.test.js.map +0 -1
  712. package/dist/router/pattern-matching.d.ts +0 -149
  713. package/dist/router/pattern-matching.d.ts.map +0 -1
  714. package/dist/router/pattern-matching.js +0 -349
  715. package/dist/router/pattern-matching.js.map +0 -1
  716. package/dist/router/revalidation.d.ts +0 -44
  717. package/dist/router/revalidation.d.ts.map +0 -1
  718. package/dist/router/revalidation.js +0 -147
  719. package/dist/router/revalidation.js.map +0 -1
  720. package/dist/router/router-context.d.ts +0 -135
  721. package/dist/router/router-context.d.ts.map +0 -1
  722. package/dist/router/router-context.js +0 -36
  723. package/dist/router/router-context.js.map +0 -1
  724. package/dist/router/segment-resolution.d.ts +0 -127
  725. package/dist/router/segment-resolution.d.ts.map +0 -1
  726. package/dist/router/segment-resolution.js +0 -919
  727. package/dist/router/segment-resolution.js.map +0 -1
  728. package/dist/router/trie-matching.d.ts +0 -40
  729. package/dist/router/trie-matching.d.ts.map +0 -1
  730. package/dist/router/trie-matching.js +0 -127
  731. package/dist/router/trie-matching.js.map +0 -1
  732. package/dist/router/types.d.ts +0 -136
  733. package/dist/router/types.d.ts.map +0 -1
  734. package/dist/router/types.js +0 -7
  735. package/dist/router/types.js.map +0 -1
  736. package/dist/router.d.ts +0 -753
  737. package/dist/router.d.ts.map +0 -1
  738. package/dist/router.gen.d.ts +0 -6
  739. package/dist/router.gen.d.ts.map +0 -1
  740. package/dist/router.gen.js +0 -6
  741. package/dist/router.gen.js.map +0 -1
  742. package/dist/router.js +0 -1304
  743. package/dist/router.js.map +0 -1
  744. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  745. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  746. package/dist/rsc/__tests__/helpers.test.js +0 -140
  747. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  748. package/dist/rsc/handler.d.ts +0 -45
  749. package/dist/rsc/handler.d.ts.map +0 -1
  750. package/dist/rsc/handler.js +0 -1172
  751. package/dist/rsc/handler.js.map +0 -1
  752. package/dist/rsc/helpers.d.ts +0 -16
  753. package/dist/rsc/helpers.d.ts.map +0 -1
  754. package/dist/rsc/helpers.js +0 -55
  755. package/dist/rsc/helpers.js.map +0 -1
  756. package/dist/rsc/index.d.ts +0 -22
  757. package/dist/rsc/index.d.ts.map +0 -1
  758. package/dist/rsc/index.js +0 -23
  759. package/dist/rsc/index.js.map +0 -1
  760. package/dist/rsc/nonce.d.ts +0 -9
  761. package/dist/rsc/nonce.d.ts.map +0 -1
  762. package/dist/rsc/nonce.js +0 -18
  763. package/dist/rsc/nonce.js.map +0 -1
  764. package/dist/rsc/types.d.ts +0 -206
  765. package/dist/rsc/types.d.ts.map +0 -1
  766. package/dist/rsc/types.js +0 -8
  767. package/dist/rsc/types.js.map +0 -1
  768. package/dist/search-params.d.ts +0 -103
  769. package/dist/search-params.d.ts.map +0 -1
  770. package/dist/search-params.js +0 -74
  771. package/dist/search-params.js.map +0 -1
  772. package/dist/segment-system.d.ts +0 -75
  773. package/dist/segment-system.d.ts.map +0 -1
  774. package/dist/segment-system.js +0 -336
  775. package/dist/segment-system.js.map +0 -1
  776. package/dist/server/context.d.ts +0 -245
  777. package/dist/server/context.d.ts.map +0 -1
  778. package/dist/server/context.js +0 -197
  779. package/dist/server/context.js.map +0 -1
  780. package/dist/server/fetchable-loader-store.d.ts +0 -18
  781. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  782. package/dist/server/fetchable-loader-store.js +0 -18
  783. package/dist/server/fetchable-loader-store.js.map +0 -1
  784. package/dist/server/handle-store.d.ts +0 -85
  785. package/dist/server/handle-store.d.ts.map +0 -1
  786. package/dist/server/handle-store.js +0 -142
  787. package/dist/server/handle-store.js.map +0 -1
  788. package/dist/server/loader-registry.d.ts +0 -55
  789. package/dist/server/loader-registry.d.ts.map +0 -1
  790. package/dist/server/loader-registry.js +0 -132
  791. package/dist/server/loader-registry.js.map +0 -1
  792. package/dist/server/request-context.d.ts +0 -226
  793. package/dist/server/request-context.d.ts.map +0 -1
  794. package/dist/server/request-context.js +0 -290
  795. package/dist/server/request-context.js.map +0 -1
  796. package/dist/server/root-layout.d.ts +0 -4
  797. package/dist/server/root-layout.d.ts.map +0 -1
  798. package/dist/server/root-layout.js +0 -5
  799. package/dist/server/root-layout.js.map +0 -1
  800. package/dist/server.d.ts +0 -15
  801. package/dist/server.d.ts.map +0 -1
  802. package/dist/server.js +0 -20
  803. package/dist/server.js.map +0 -1
  804. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  805. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  806. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  807. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  808. package/dist/ssr/index.d.ts +0 -98
  809. package/dist/ssr/index.d.ts.map +0 -1
  810. package/dist/ssr/index.js +0 -158
  811. package/dist/ssr/index.js.map +0 -1
  812. package/dist/static-handler.d.ts +0 -50
  813. package/dist/static-handler.d.ts.map +0 -1
  814. package/dist/static-handler.gen.d.ts +0 -5
  815. package/dist/static-handler.gen.d.ts.map +0 -1
  816. package/dist/static-handler.gen.js +0 -5
  817. package/dist/static-handler.gen.js.map +0 -1
  818. package/dist/static-handler.js +0 -29
  819. package/dist/static-handler.js.map +0 -1
  820. package/dist/theme/ThemeProvider.d.ts +0 -20
  821. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  822. package/dist/theme/ThemeProvider.js +0 -240
  823. package/dist/theme/ThemeProvider.js.map +0 -1
  824. package/dist/theme/ThemeScript.d.ts +0 -48
  825. package/dist/theme/ThemeScript.d.ts.map +0 -1
  826. package/dist/theme/ThemeScript.js +0 -13
  827. package/dist/theme/ThemeScript.js.map +0 -1
  828. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  829. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  830. package/dist/theme/__tests__/theme.test.js +0 -103
  831. package/dist/theme/__tests__/theme.test.js.map +0 -1
  832. package/dist/theme/constants.d.ts +0 -29
  833. package/dist/theme/constants.d.ts.map +0 -1
  834. package/dist/theme/constants.js +0 -48
  835. package/dist/theme/constants.js.map +0 -1
  836. package/dist/theme/index.d.ts +0 -31
  837. package/dist/theme/index.d.ts.map +0 -1
  838. package/dist/theme/index.js +0 -36
  839. package/dist/theme/index.js.map +0 -1
  840. package/dist/theme/theme-context.d.ts +0 -40
  841. package/dist/theme/theme-context.d.ts.map +0 -1
  842. package/dist/theme/theme-context.js +0 -60
  843. package/dist/theme/theme-context.js.map +0 -1
  844. package/dist/theme/theme-script.d.ts +0 -27
  845. package/dist/theme/theme-script.d.ts.map +0 -1
  846. package/dist/theme/theme-script.js +0 -147
  847. package/dist/theme/theme-script.js.map +0 -1
  848. package/dist/theme/types.d.ts +0 -163
  849. package/dist/theme/types.d.ts.map +0 -1
  850. package/dist/theme/types.js +0 -11
  851. package/dist/theme/types.js.map +0 -1
  852. package/dist/theme/use-theme.d.ts +0 -12
  853. package/dist/theme/use-theme.d.ts.map +0 -1
  854. package/dist/theme/use-theme.js +0 -40
  855. package/dist/theme/use-theme.js.map +0 -1
  856. package/dist/types.d.ts +0 -1479
  857. package/dist/types.d.ts.map +0 -1
  858. package/dist/types.js +0 -10
  859. package/dist/types.js.map +0 -1
  860. package/dist/urls.d.ts +0 -441
  861. package/dist/urls.d.ts.map +0 -1
  862. package/dist/urls.gen.d.ts +0 -8
  863. package/dist/urls.gen.d.ts.map +0 -1
  864. package/dist/urls.gen.js +0 -8
  865. package/dist/urls.gen.js.map +0 -1
  866. package/dist/urls.js +0 -443
  867. package/dist/urls.js.map +0 -1
  868. package/dist/use-loader.d.ts +0 -127
  869. package/dist/use-loader.d.ts.map +0 -1
  870. package/dist/use-loader.js +0 -237
  871. package/dist/use-loader.js.map +0 -1
  872. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  873. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  874. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  875. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  876. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  877. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  878. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  879. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  880. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  881. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  882. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  883. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  884. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  885. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  886. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  887. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  888. package/dist/vite/ast-handler-extract.d.ts +0 -49
  889. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  890. package/dist/vite/ast-handler-extract.js +0 -249
  891. package/dist/vite/ast-handler-extract.js.map +0 -1
  892. package/dist/vite/expose-action-id.d.ts +0 -19
  893. package/dist/vite/expose-action-id.d.ts.map +0 -1
  894. package/dist/vite/expose-action-id.js +0 -250
  895. package/dist/vite/expose-action-id.js.map +0 -1
  896. package/dist/vite/expose-id-utils.d.ts +0 -69
  897. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  898. package/dist/vite/expose-id-utils.js +0 -289
  899. package/dist/vite/expose-id-utils.js.map +0 -1
  900. package/dist/vite/expose-internal-ids.d.ts +0 -22
  901. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  902. package/dist/vite/expose-internal-ids.js +0 -886
  903. package/dist/vite/expose-internal-ids.js.map +0 -1
  904. package/dist/vite/index.d.ts +0 -149
  905. package/dist/vite/index.d.ts.map +0 -1
  906. package/dist/vite/index.js.map +0 -1
  907. package/dist/vite/index.named-routes.gen.ts +0 -103
  908. package/dist/vite/package-resolution.d.ts +0 -43
  909. package/dist/vite/package-resolution.d.ts.map +0 -1
  910. package/dist/vite/package-resolution.js +0 -112
  911. package/dist/vite/package-resolution.js.map +0 -1
  912. package/dist/vite/virtual-entries.d.ts +0 -25
  913. package/dist/vite/virtual-entries.d.ts.map +0 -1
  914. package/dist/vite/virtual-entries.js +0 -110
  915. package/dist/vite/virtual-entries.js.map +0 -1
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"}