@rangojs/router 0.0.0-experimental.21 → 0.0.0-experimental.23

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 (834) hide show
  1. package/README.md +43 -10
  2. package/dist/vite/index.js +2 -3
  3. package/package.json +1 -1
  4. package/skills/caching/SKILL.md +4 -4
  5. package/skills/document-cache/SKILL.md +2 -2
  6. package/skills/hooks/SKILL.md +13 -12
  7. package/skills/host-router/SKILL.md +218 -0
  8. package/skills/loader/SKILL.md +2 -2
  9. package/skills/prerender/SKILL.md +2 -2
  10. package/skills/rango/SKILL.md +0 -1
  11. package/skills/router-setup/SKILL.md +2 -2
  12. package/skills/typesafety/SKILL.md +1 -1
  13. package/src/host/index.ts +0 -3
  14. package/src/index.ts +30 -31
  15. package/src/route-definition/index.ts +0 -3
  16. package/src/router/loader-resolution.ts +1 -1
  17. package/src/router/metrics.ts +90 -10
  18. package/src/router/middleware-types.ts +12 -0
  19. package/src/router/middleware.ts +55 -9
  20. package/src/router/router-options.ts +1 -1
  21. package/src/router/segment-resolution/fresh.ts +18 -0
  22. package/src/router/segment-resolution/revalidation.ts +21 -6
  23. package/src/router.ts +6 -2
  24. package/src/rsc/index.ts +0 -20
  25. package/src/server/context.ts +8 -2
  26. package/src/server/request-context.ts +5 -1
  27. package/src/server.ts +6 -0
  28. package/src/theme/index.ts +4 -13
  29. package/src/vite/discovery/discover-routers.ts +2 -3
  30. package/dist/__internal.d.ts +0 -83
  31. package/dist/__internal.d.ts.map +0 -1
  32. package/dist/__internal.js +0 -19
  33. package/dist/__internal.js.map +0 -1
  34. package/dist/__mocks__/version.d.ts +0 -7
  35. package/dist/__mocks__/version.d.ts.map +0 -1
  36. package/dist/__mocks__/version.js +0 -7
  37. package/dist/__mocks__/version.js.map +0 -1
  38. package/dist/__tests__/client-href.test.d.ts +0 -2
  39. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  40. package/dist/__tests__/client-href.test.js +0 -74
  41. package/dist/__tests__/client-href.test.js.map +0 -1
  42. package/dist/__tests__/component-utils.test.d.ts +0 -2
  43. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  44. package/dist/__tests__/component-utils.test.js +0 -51
  45. package/dist/__tests__/component-utils.test.js.map +0 -1
  46. package/dist/__tests__/event-controller.test.d.ts +0 -2
  47. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  48. package/dist/__tests__/event-controller.test.js +0 -538
  49. package/dist/__tests__/event-controller.test.js.map +0 -1
  50. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  51. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  52. package/dist/__tests__/helpers/route-tree.js +0 -374
  53. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  54. package/dist/__tests__/match-result.test.d.ts +0 -2
  55. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  56. package/dist/__tests__/match-result.test.js +0 -154
  57. package/dist/__tests__/match-result.test.js.map +0 -1
  58. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  59. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  60. package/dist/__tests__/navigation-store.test.js +0 -440
  61. package/dist/__tests__/navigation-store.test.js.map +0 -1
  62. package/dist/__tests__/partial-update.test.d.ts +0 -2
  63. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  64. package/dist/__tests__/partial-update.test.js +0 -1009
  65. package/dist/__tests__/partial-update.test.js.map +0 -1
  66. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  67. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  68. package/dist/__tests__/reverse-types.test.js +0 -656
  69. package/dist/__tests__/reverse-types.test.js.map +0 -1
  70. package/dist/__tests__/route-definition.test.d.ts +0 -2
  71. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  72. package/dist/__tests__/route-definition.test.js +0 -55
  73. package/dist/__tests__/route-definition.test.js.map +0 -1
  74. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  75. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  76. package/dist/__tests__/router-helpers.test.js +0 -377
  77. package/dist/__tests__/router-helpers.test.js.map +0 -1
  78. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  79. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  80. package/dist/__tests__/router-integration-2.test.js +0 -426
  81. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  82. package/dist/__tests__/router-integration.test.d.ts +0 -2
  83. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  84. package/dist/__tests__/router-integration.test.js +0 -1051
  85. package/dist/__tests__/router-integration.test.js.map +0 -1
  86. package/dist/__tests__/search-params.test.d.ts +0 -5
  87. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  88. package/dist/__tests__/search-params.test.js +0 -306
  89. package/dist/__tests__/search-params.test.js.map +0 -1
  90. package/dist/__tests__/segment-system.test.d.ts +0 -2
  91. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  92. package/dist/__tests__/segment-system.test.js +0 -627
  93. package/dist/__tests__/segment-system.test.js.map +0 -1
  94. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  95. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  96. package/dist/__tests__/static-handler-types.test.js +0 -63
  97. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  98. package/dist/__tests__/urls.test.d.ts +0 -2
  99. package/dist/__tests__/urls.test.d.ts.map +0 -1
  100. package/dist/__tests__/urls.test.js +0 -421
  101. package/dist/__tests__/urls.test.js.map +0 -1
  102. package/dist/__tests__/use-mount.test.d.ts +0 -2
  103. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  104. package/dist/__tests__/use-mount.test.js +0 -35
  105. package/dist/__tests__/use-mount.test.js.map +0 -1
  106. package/dist/bin/rango.d.ts +0 -2
  107. package/dist/bin/rango.d.ts.map +0 -1
  108. package/dist/bin/rango.js.map +0 -1
  109. package/dist/browser/event-controller.d.ts +0 -191
  110. package/dist/browser/event-controller.d.ts.map +0 -1
  111. package/dist/browser/event-controller.js +0 -559
  112. package/dist/browser/event-controller.js.map +0 -1
  113. package/dist/browser/index.d.ts +0 -2
  114. package/dist/browser/index.d.ts.map +0 -1
  115. package/dist/browser/index.js +0 -14
  116. package/dist/browser/index.js.map +0 -1
  117. package/dist/browser/link-interceptor.d.ts +0 -38
  118. package/dist/browser/link-interceptor.d.ts.map +0 -1
  119. package/dist/browser/link-interceptor.js +0 -99
  120. package/dist/browser/link-interceptor.js.map +0 -1
  121. package/dist/browser/logging.d.ts +0 -10
  122. package/dist/browser/logging.d.ts.map +0 -1
  123. package/dist/browser/logging.js +0 -29
  124. package/dist/browser/logging.js.map +0 -1
  125. package/dist/browser/lru-cache.d.ts +0 -17
  126. package/dist/browser/lru-cache.d.ts.map +0 -1
  127. package/dist/browser/lru-cache.js +0 -50
  128. package/dist/browser/lru-cache.js.map +0 -1
  129. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  130. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  131. package/dist/browser/merge-segment-loaders.js +0 -102
  132. package/dist/browser/merge-segment-loaders.js.map +0 -1
  133. package/dist/browser/navigation-bridge.d.ts +0 -102
  134. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  135. package/dist/browser/navigation-bridge.js +0 -708
  136. package/dist/browser/navigation-bridge.js.map +0 -1
  137. package/dist/browser/navigation-client.d.ts +0 -25
  138. package/dist/browser/navigation-client.d.ts.map +0 -1
  139. package/dist/browser/navigation-client.js +0 -157
  140. package/dist/browser/navigation-client.js.map +0 -1
  141. package/dist/browser/navigation-store.d.ts +0 -101
  142. package/dist/browser/navigation-store.d.ts.map +0 -1
  143. package/dist/browser/navigation-store.js +0 -625
  144. package/dist/browser/navigation-store.js.map +0 -1
  145. package/dist/browser/partial-update.d.ts +0 -75
  146. package/dist/browser/partial-update.d.ts.map +0 -1
  147. package/dist/browser/partial-update.js +0 -426
  148. package/dist/browser/partial-update.js.map +0 -1
  149. package/dist/browser/react/Link.d.ts +0 -86
  150. package/dist/browser/react/Link.d.ts.map +0 -1
  151. package/dist/browser/react/Link.js +0 -128
  152. package/dist/browser/react/Link.js.map +0 -1
  153. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  154. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  155. package/dist/browser/react/NavigationProvider.js +0 -216
  156. package/dist/browser/react/NavigationProvider.js.map +0 -1
  157. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  158. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  159. package/dist/browser/react/ScrollRestoration.js +0 -57
  160. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  161. package/dist/browser/react/context.d.ts +0 -46
  162. package/dist/browser/react/context.d.ts.map +0 -1
  163. package/dist/browser/react/context.js +0 -10
  164. package/dist/browser/react/context.js.map +0 -1
  165. package/dist/browser/react/index.d.ts +0 -11
  166. package/dist/browser/react/index.d.ts.map +0 -1
  167. package/dist/browser/react/index.js +0 -22
  168. package/dist/browser/react/index.js.map +0 -1
  169. package/dist/browser/react/location-state-shared.d.ts +0 -63
  170. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  171. package/dist/browser/react/location-state-shared.js +0 -81
  172. package/dist/browser/react/location-state-shared.js.map +0 -1
  173. package/dist/browser/react/location-state.d.ts +0 -23
  174. package/dist/browser/react/location-state.d.ts.map +0 -1
  175. package/dist/browser/react/location-state.js +0 -29
  176. package/dist/browser/react/location-state.js.map +0 -1
  177. package/dist/browser/react/mount-context.d.ts +0 -24
  178. package/dist/browser/react/mount-context.d.ts.map +0 -1
  179. package/dist/browser/react/mount-context.js +0 -24
  180. package/dist/browser/react/mount-context.js.map +0 -1
  181. package/dist/browser/react/use-action.d.ts +0 -64
  182. package/dist/browser/react/use-action.d.ts.map +0 -1
  183. package/dist/browser/react/use-action.js +0 -134
  184. package/dist/browser/react/use-action.js.map +0 -1
  185. package/dist/browser/react/use-client-cache.d.ts +0 -41
  186. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  187. package/dist/browser/react/use-client-cache.js +0 -39
  188. package/dist/browser/react/use-client-cache.js.map +0 -1
  189. package/dist/browser/react/use-handle.d.ts +0 -31
  190. package/dist/browser/react/use-handle.d.ts.map +0 -1
  191. package/dist/browser/react/use-handle.js +0 -144
  192. package/dist/browser/react/use-handle.js.map +0 -1
  193. package/dist/browser/react/use-href.d.ts +0 -33
  194. package/dist/browser/react/use-href.d.ts.map +0 -1
  195. package/dist/browser/react/use-href.js +0 -39
  196. package/dist/browser/react/use-href.js.map +0 -1
  197. package/dist/browser/react/use-link-status.d.ts +0 -37
  198. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  199. package/dist/browser/react/use-link-status.js +0 -99
  200. package/dist/browser/react/use-link-status.js.map +0 -1
  201. package/dist/browser/react/use-mount.d.ts +0 -25
  202. package/dist/browser/react/use-mount.d.ts.map +0 -1
  203. package/dist/browser/react/use-mount.js +0 -30
  204. package/dist/browser/react/use-mount.js.map +0 -1
  205. package/dist/browser/react/use-navigation.d.ts +0 -27
  206. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  207. package/dist/browser/react/use-navigation.js +0 -87
  208. package/dist/browser/react/use-navigation.js.map +0 -1
  209. package/dist/browser/react/use-segments.d.ts +0 -38
  210. package/dist/browser/react/use-segments.d.ts.map +0 -1
  211. package/dist/browser/react/use-segments.js +0 -130
  212. package/dist/browser/react/use-segments.js.map +0 -1
  213. package/dist/browser/request-controller.d.ts +0 -26
  214. package/dist/browser/request-controller.d.ts.map +0 -1
  215. package/dist/browser/request-controller.js +0 -147
  216. package/dist/browser/request-controller.js.map +0 -1
  217. package/dist/browser/rsc-router.d.ts +0 -129
  218. package/dist/browser/rsc-router.d.ts.map +0 -1
  219. package/dist/browser/rsc-router.js +0 -195
  220. package/dist/browser/rsc-router.js.map +0 -1
  221. package/dist/browser/scroll-restoration.d.ts +0 -93
  222. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  223. package/dist/browser/scroll-restoration.js +0 -321
  224. package/dist/browser/scroll-restoration.js.map +0 -1
  225. package/dist/browser/segment-structure-assert.d.ts +0 -17
  226. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  227. package/dist/browser/segment-structure-assert.js +0 -59
  228. package/dist/browser/segment-structure-assert.js.map +0 -1
  229. package/dist/browser/server-action-bridge.d.ts +0 -26
  230. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  231. package/dist/browser/server-action-bridge.js +0 -668
  232. package/dist/browser/server-action-bridge.js.map +0 -1
  233. package/dist/browser/shallow.d.ts +0 -12
  234. package/dist/browser/shallow.d.ts.map +0 -1
  235. package/dist/browser/shallow.js +0 -34
  236. package/dist/browser/shallow.js.map +0 -1
  237. package/dist/browser/types.d.ts +0 -369
  238. package/dist/browser/types.d.ts.map +0 -1
  239. package/dist/browser/types.js +0 -2
  240. package/dist/browser/types.js.map +0 -1
  241. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  242. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  243. package/dist/build/__tests__/generate-cli.test.js +0 -237
  244. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  245. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  246. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  247. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  248. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  249. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  250. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  251. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  252. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  253. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  254. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  255. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  256. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  257. package/dist/build/generate-manifest.d.ts +0 -81
  258. package/dist/build/generate-manifest.d.ts.map +0 -1
  259. package/dist/build/generate-manifest.js +0 -276
  260. package/dist/build/generate-manifest.js.map +0 -1
  261. package/dist/build/generate-route-types.d.ts +0 -115
  262. package/dist/build/generate-route-types.d.ts.map +0 -1
  263. package/dist/build/generate-route-types.js +0 -740
  264. package/dist/build/generate-route-types.js.map +0 -1
  265. package/dist/build/index.d.ts +0 -21
  266. package/dist/build/index.d.ts.map +0 -1
  267. package/dist/build/index.js +0 -21
  268. package/dist/build/index.js.map +0 -1
  269. package/dist/build/route-trie.d.ts +0 -71
  270. package/dist/build/route-trie.d.ts.map +0 -1
  271. package/dist/build/route-trie.js +0 -175
  272. package/dist/build/route-trie.js.map +0 -1
  273. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  274. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  275. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  276. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  277. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  278. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  279. package/dist/cache/__tests__/document-cache.test.js +0 -345
  280. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  281. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  282. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  283. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  284. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  285. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  286. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  287. package/dist/cache/__tests__/memory-store.test.js +0 -367
  288. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  289. package/dist/cache/cache-scope.d.ts +0 -102
  290. package/dist/cache/cache-scope.d.ts.map +0 -1
  291. package/dist/cache/cache-scope.js +0 -440
  292. package/dist/cache/cache-scope.js.map +0 -1
  293. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  294. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  295. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  296. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  297. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  298. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  299. package/dist/cache/cf/cf-cache-store.js +0 -242
  300. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  301. package/dist/cache/cf/index.d.ts +0 -14
  302. package/dist/cache/cf/index.d.ts.map +0 -1
  303. package/dist/cache/cf/index.js +0 -17
  304. package/dist/cache/cf/index.js.map +0 -1
  305. package/dist/cache/document-cache.d.ts +0 -64
  306. package/dist/cache/document-cache.d.ts.map +0 -1
  307. package/dist/cache/document-cache.js +0 -228
  308. package/dist/cache/document-cache.js.map +0 -1
  309. package/dist/cache/index.d.ts +0 -19
  310. package/dist/cache/index.d.ts.map +0 -1
  311. package/dist/cache/index.js +0 -21
  312. package/dist/cache/index.js.map +0 -1
  313. package/dist/cache/memory-segment-store.d.ts +0 -110
  314. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  315. package/dist/cache/memory-segment-store.js +0 -117
  316. package/dist/cache/memory-segment-store.js.map +0 -1
  317. package/dist/cache/memory-store.d.ts +0 -41
  318. package/dist/cache/memory-store.d.ts.map +0 -1
  319. package/dist/cache/memory-store.js +0 -191
  320. package/dist/cache/memory-store.js.map +0 -1
  321. package/dist/cache/types.d.ts +0 -317
  322. package/dist/cache/types.d.ts.map +0 -1
  323. package/dist/cache/types.js +0 -12
  324. package/dist/cache/types.js.map +0 -1
  325. package/dist/client.d.ts +0 -248
  326. package/dist/client.d.ts.map +0 -1
  327. package/dist/client.js +0 -367
  328. package/dist/client.js.map +0 -1
  329. package/dist/client.rsc.d.ts +0 -26
  330. package/dist/client.rsc.d.ts.map +0 -1
  331. package/dist/client.rsc.js +0 -46
  332. package/dist/client.rsc.js.map +0 -1
  333. package/dist/component-utils.d.ts +0 -36
  334. package/dist/component-utils.d.ts.map +0 -1
  335. package/dist/component-utils.js +0 -61
  336. package/dist/component-utils.js.map +0 -1
  337. package/dist/components/DefaultDocument.d.ts +0 -13
  338. package/dist/components/DefaultDocument.d.ts.map +0 -1
  339. package/dist/components/DefaultDocument.js +0 -15
  340. package/dist/components/DefaultDocument.js.map +0 -1
  341. package/dist/debug.d.ts +0 -58
  342. package/dist/debug.d.ts.map +0 -1
  343. package/dist/debug.js +0 -157
  344. package/dist/debug.js.map +0 -1
  345. package/dist/default-error-boundary.d.ts +0 -11
  346. package/dist/default-error-boundary.d.ts.map +0 -1
  347. package/dist/default-error-boundary.js +0 -45
  348. package/dist/default-error-boundary.js.map +0 -1
  349. package/dist/deps/browser.d.ts +0 -2
  350. package/dist/deps/browser.d.ts.map +0 -1
  351. package/dist/deps/browser.js +0 -3
  352. package/dist/deps/browser.js.map +0 -1
  353. package/dist/deps/html-stream-client.d.ts +0 -2
  354. package/dist/deps/html-stream-client.d.ts.map +0 -1
  355. package/dist/deps/html-stream-client.js +0 -3
  356. package/dist/deps/html-stream-client.js.map +0 -1
  357. package/dist/deps/html-stream-server.d.ts +0 -2
  358. package/dist/deps/html-stream-server.d.ts.map +0 -1
  359. package/dist/deps/html-stream-server.js +0 -3
  360. package/dist/deps/html-stream-server.js.map +0 -1
  361. package/dist/deps/rsc.d.ts +0 -2
  362. package/dist/deps/rsc.d.ts.map +0 -1
  363. package/dist/deps/rsc.js +0 -4
  364. package/dist/deps/rsc.js.map +0 -1
  365. package/dist/deps/ssr.d.ts +0 -2
  366. package/dist/deps/ssr.d.ts.map +0 -1
  367. package/dist/deps/ssr.js +0 -3
  368. package/dist/deps/ssr.js.map +0 -1
  369. package/dist/errors.d.ts +0 -174
  370. package/dist/errors.d.ts.map +0 -1
  371. package/dist/errors.js +0 -241
  372. package/dist/errors.js.map +0 -1
  373. package/dist/handle.d.ts +0 -78
  374. package/dist/handle.d.ts.map +0 -1
  375. package/dist/handle.js +0 -82
  376. package/dist/handle.js.map +0 -1
  377. package/dist/handles/MetaTags.d.ts +0 -14
  378. package/dist/handles/MetaTags.d.ts.map +0 -1
  379. package/dist/handles/MetaTags.js +0 -136
  380. package/dist/handles/MetaTags.js.map +0 -1
  381. package/dist/handles/index.d.ts +0 -6
  382. package/dist/handles/index.d.ts.map +0 -1
  383. package/dist/handles/index.js +0 -6
  384. package/dist/handles/index.js.map +0 -1
  385. package/dist/handles/meta.d.ts +0 -39
  386. package/dist/handles/meta.d.ts.map +0 -1
  387. package/dist/handles/meta.js +0 -202
  388. package/dist/handles/meta.js.map +0 -1
  389. package/dist/host/__tests__/errors.test.d.ts +0 -2
  390. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  391. package/dist/host/__tests__/errors.test.js +0 -76
  392. package/dist/host/__tests__/errors.test.js.map +0 -1
  393. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  394. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  395. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  396. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  397. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  398. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  399. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  400. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  401. package/dist/host/__tests__/router.test.d.ts +0 -2
  402. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  403. package/dist/host/__tests__/router.test.js +0 -241
  404. package/dist/host/__tests__/router.test.js.map +0 -1
  405. package/dist/host/__tests__/testing.test.d.ts +0 -2
  406. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  407. package/dist/host/__tests__/testing.test.js +0 -64
  408. package/dist/host/__tests__/testing.test.js.map +0 -1
  409. package/dist/host/__tests__/utils.test.d.ts +0 -2
  410. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  411. package/dist/host/__tests__/utils.test.js +0 -29
  412. package/dist/host/__tests__/utils.test.js.map +0 -1
  413. package/dist/host/cookie-handler.d.ts +0 -34
  414. package/dist/host/cookie-handler.d.ts.map +0 -1
  415. package/dist/host/cookie-handler.js +0 -124
  416. package/dist/host/cookie-handler.js.map +0 -1
  417. package/dist/host/errors.d.ts +0 -56
  418. package/dist/host/errors.d.ts.map +0 -1
  419. package/dist/host/errors.js +0 -79
  420. package/dist/host/errors.js.map +0 -1
  421. package/dist/host/index.d.ts +0 -29
  422. package/dist/host/index.d.ts.map +0 -1
  423. package/dist/host/index.js +0 -32
  424. package/dist/host/index.js.map +0 -1
  425. package/dist/host/pattern-matcher.d.ts +0 -36
  426. package/dist/host/pattern-matcher.d.ts.map +0 -1
  427. package/dist/host/pattern-matcher.js +0 -172
  428. package/dist/host/pattern-matcher.js.map +0 -1
  429. package/dist/host/router.d.ts +0 -26
  430. package/dist/host/router.d.ts.map +0 -1
  431. package/dist/host/router.js +0 -218
  432. package/dist/host/router.js.map +0 -1
  433. package/dist/host/testing.d.ts +0 -36
  434. package/dist/host/testing.d.ts.map +0 -1
  435. package/dist/host/testing.js +0 -55
  436. package/dist/host/testing.js.map +0 -1
  437. package/dist/host/types.d.ts +0 -115
  438. package/dist/host/types.d.ts.map +0 -1
  439. package/dist/host/types.js +0 -7
  440. package/dist/host/types.js.map +0 -1
  441. package/dist/host/utils.d.ts +0 -21
  442. package/dist/host/utils.d.ts.map +0 -1
  443. package/dist/host/utils.js +0 -23
  444. package/dist/host/utils.js.map +0 -1
  445. package/dist/href-client.d.ts +0 -131
  446. package/dist/href-client.d.ts.map +0 -1
  447. package/dist/href-client.js +0 -64
  448. package/dist/href-client.js.map +0 -1
  449. package/dist/href-context.d.ts +0 -29
  450. package/dist/href-context.d.ts.map +0 -1
  451. package/dist/href-context.js +0 -21
  452. package/dist/href-context.js.map +0 -1
  453. package/dist/index.d.ts +0 -73
  454. package/dist/index.d.ts.map +0 -1
  455. package/dist/index.js +0 -91
  456. package/dist/index.js.map +0 -1
  457. package/dist/index.rsc.d.ts +0 -32
  458. package/dist/index.rsc.d.ts.map +0 -1
  459. package/dist/index.rsc.js +0 -40
  460. package/dist/index.rsc.js.map +0 -1
  461. package/dist/internal-debug.d.ts +0 -2
  462. package/dist/internal-debug.d.ts.map +0 -1
  463. package/dist/internal-debug.js +0 -5
  464. package/dist/internal-debug.js.map +0 -1
  465. package/dist/loader.d.ts +0 -14
  466. package/dist/loader.d.ts.map +0 -1
  467. package/dist/loader.js +0 -20
  468. package/dist/loader.js.map +0 -1
  469. package/dist/loader.rsc.d.ts +0 -19
  470. package/dist/loader.rsc.d.ts.map +0 -1
  471. package/dist/loader.rsc.js +0 -99
  472. package/dist/loader.rsc.js.map +0 -1
  473. package/dist/network-error-thrower.d.ts +0 -17
  474. package/dist/network-error-thrower.d.ts.map +0 -1
  475. package/dist/network-error-thrower.js +0 -14
  476. package/dist/network-error-thrower.js.map +0 -1
  477. package/dist/outlet-context.d.ts +0 -13
  478. package/dist/outlet-context.d.ts.map +0 -1
  479. package/dist/outlet-context.js +0 -3
  480. package/dist/outlet-context.js.map +0 -1
  481. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  482. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  483. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  484. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  485. package/dist/prerender/param-hash.d.ts +0 -16
  486. package/dist/prerender/param-hash.d.ts.map +0 -1
  487. package/dist/prerender/param-hash.js +0 -36
  488. package/dist/prerender/param-hash.js.map +0 -1
  489. package/dist/prerender/store.d.ts +0 -38
  490. package/dist/prerender/store.d.ts.map +0 -1
  491. package/dist/prerender/store.js +0 -61
  492. package/dist/prerender/store.js.map +0 -1
  493. package/dist/prerender.d.ts +0 -66
  494. package/dist/prerender.d.ts.map +0 -1
  495. package/dist/prerender.js +0 -57
  496. package/dist/prerender.js.map +0 -1
  497. package/dist/reverse.d.ts +0 -196
  498. package/dist/reverse.d.ts.map +0 -1
  499. package/dist/reverse.js +0 -78
  500. package/dist/reverse.js.map +0 -1
  501. package/dist/root-error-boundary.d.ts +0 -33
  502. package/dist/root-error-boundary.d.ts.map +0 -1
  503. package/dist/root-error-boundary.js +0 -165
  504. package/dist/root-error-boundary.js.map +0 -1
  505. package/dist/route-content-wrapper.d.ts +0 -46
  506. package/dist/route-content-wrapper.d.ts.map +0 -1
  507. package/dist/route-content-wrapper.js +0 -77
  508. package/dist/route-content-wrapper.js.map +0 -1
  509. package/dist/route-definition.d.ts +0 -421
  510. package/dist/route-definition.d.ts.map +0 -1
  511. package/dist/route-definition.js +0 -868
  512. package/dist/route-definition.js.map +0 -1
  513. package/dist/route-map-builder.d.ts +0 -155
  514. package/dist/route-map-builder.d.ts.map +0 -1
  515. package/dist/route-map-builder.js +0 -237
  516. package/dist/route-map-builder.js.map +0 -1
  517. package/dist/route-types.d.ts +0 -165
  518. package/dist/route-types.d.ts.map +0 -1
  519. package/dist/route-types.js +0 -7
  520. package/dist/route-types.js.map +0 -1
  521. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  522. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  523. package/dist/router/__tests__/handler-context.test.js +0 -65
  524. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  525. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  526. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  527. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  528. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  529. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  530. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  531. package/dist/router/__tests__/match-context.test.js +0 -92
  532. package/dist/router/__tests__/match-context.test.js.map +0 -1
  533. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  534. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  535. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  536. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  537. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  538. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  539. package/dist/router/__tests__/match-result.test.js +0 -457
  540. package/dist/router/__tests__/match-result.test.js.map +0 -1
  541. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  542. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  543. package/dist/router/__tests__/on-error.test.js +0 -678
  544. package/dist/router/__tests__/on-error.test.js.map +0 -1
  545. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  546. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  547. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  548. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  549. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  550. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  551. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  552. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  553. package/dist/router/error-handling.d.ts +0 -77
  554. package/dist/router/error-handling.d.ts.map +0 -1
  555. package/dist/router/error-handling.js +0 -202
  556. package/dist/router/error-handling.js.map +0 -1
  557. package/dist/router/handler-context.d.ts +0 -20
  558. package/dist/router/handler-context.d.ts.map +0 -1
  559. package/dist/router/handler-context.js +0 -198
  560. package/dist/router/handler-context.js.map +0 -1
  561. package/dist/router/intercept-resolution.d.ts +0 -66
  562. package/dist/router/intercept-resolution.d.ts.map +0 -1
  563. package/dist/router/intercept-resolution.js +0 -246
  564. package/dist/router/intercept-resolution.js.map +0 -1
  565. package/dist/router/loader-resolution.d.ts +0 -64
  566. package/dist/router/loader-resolution.d.ts.map +0 -1
  567. package/dist/router/loader-resolution.js +0 -284
  568. package/dist/router/loader-resolution.js.map +0 -1
  569. package/dist/router/logging.d.ts +0 -15
  570. package/dist/router/logging.d.ts.map +0 -1
  571. package/dist/router/logging.js +0 -99
  572. package/dist/router/logging.js.map +0 -1
  573. package/dist/router/manifest.d.ts +0 -22
  574. package/dist/router/manifest.d.ts.map +0 -1
  575. package/dist/router/manifest.js +0 -181
  576. package/dist/router/manifest.js.map +0 -1
  577. package/dist/router/match-api.d.ts +0 -35
  578. package/dist/router/match-api.d.ts.map +0 -1
  579. package/dist/router/match-api.js +0 -406
  580. package/dist/router/match-api.js.map +0 -1
  581. package/dist/router/match-context.d.ts +0 -206
  582. package/dist/router/match-context.d.ts.map +0 -1
  583. package/dist/router/match-context.js +0 -17
  584. package/dist/router/match-context.js.map +0 -1
  585. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  586. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  587. package/dist/router/match-middleware/background-revalidation.js +0 -75
  588. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  589. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  590. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  591. package/dist/router/match-middleware/cache-lookup.js +0 -257
  592. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  593. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  594. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  595. package/dist/router/match-middleware/cache-store.js +0 -108
  596. package/dist/router/match-middleware/cache-store.js.map +0 -1
  597. package/dist/router/match-middleware/index.d.ts +0 -81
  598. package/dist/router/match-middleware/index.d.ts.map +0 -1
  599. package/dist/router/match-middleware/index.js +0 -80
  600. package/dist/router/match-middleware/index.js.map +0 -1
  601. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  602. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  603. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  604. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  605. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  606. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  607. package/dist/router/match-middleware/segment-resolution.js +0 -53
  608. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  609. package/dist/router/match-pipelines.d.ts +0 -147
  610. package/dist/router/match-pipelines.d.ts.map +0 -1
  611. package/dist/router/match-pipelines.js +0 -82
  612. package/dist/router/match-pipelines.js.map +0 -1
  613. package/dist/router/match-result.d.ts +0 -126
  614. package/dist/router/match-result.d.ts.map +0 -1
  615. package/dist/router/match-result.js +0 -93
  616. package/dist/router/match-result.js.map +0 -1
  617. package/dist/router/metrics.d.ts +0 -20
  618. package/dist/router/metrics.d.ts.map +0 -1
  619. package/dist/router/metrics.js +0 -47
  620. package/dist/router/metrics.js.map +0 -1
  621. package/dist/router/middleware.d.ts +0 -249
  622. package/dist/router/middleware.d.ts.map +0 -1
  623. package/dist/router/middleware.js +0 -434
  624. package/dist/router/middleware.js.map +0 -1
  625. package/dist/router/middleware.test.d.ts +0 -2
  626. package/dist/router/middleware.test.d.ts.map +0 -1
  627. package/dist/router/middleware.test.js +0 -816
  628. package/dist/router/middleware.test.js.map +0 -1
  629. package/dist/router/pattern-matching.d.ts +0 -149
  630. package/dist/router/pattern-matching.d.ts.map +0 -1
  631. package/dist/router/pattern-matching.js +0 -349
  632. package/dist/router/pattern-matching.js.map +0 -1
  633. package/dist/router/revalidation.d.ts +0 -44
  634. package/dist/router/revalidation.d.ts.map +0 -1
  635. package/dist/router/revalidation.js +0 -147
  636. package/dist/router/revalidation.js.map +0 -1
  637. package/dist/router/router-context.d.ts +0 -135
  638. package/dist/router/router-context.d.ts.map +0 -1
  639. package/dist/router/router-context.js +0 -36
  640. package/dist/router/router-context.js.map +0 -1
  641. package/dist/router/segment-resolution.d.ts +0 -127
  642. package/dist/router/segment-resolution.d.ts.map +0 -1
  643. package/dist/router/segment-resolution.js +0 -919
  644. package/dist/router/segment-resolution.js.map +0 -1
  645. package/dist/router/trie-matching.d.ts +0 -40
  646. package/dist/router/trie-matching.d.ts.map +0 -1
  647. package/dist/router/trie-matching.js +0 -127
  648. package/dist/router/trie-matching.js.map +0 -1
  649. package/dist/router/types.d.ts +0 -136
  650. package/dist/router/types.d.ts.map +0 -1
  651. package/dist/router/types.js +0 -7
  652. package/dist/router/types.js.map +0 -1
  653. package/dist/router.d.ts +0 -753
  654. package/dist/router.d.ts.map +0 -1
  655. package/dist/router.gen.d.ts +0 -6
  656. package/dist/router.gen.d.ts.map +0 -1
  657. package/dist/router.gen.js +0 -6
  658. package/dist/router.gen.js.map +0 -1
  659. package/dist/router.js +0 -1304
  660. package/dist/router.js.map +0 -1
  661. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  662. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  663. package/dist/rsc/__tests__/helpers.test.js +0 -140
  664. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  665. package/dist/rsc/handler.d.ts +0 -45
  666. package/dist/rsc/handler.d.ts.map +0 -1
  667. package/dist/rsc/handler.js +0 -1172
  668. package/dist/rsc/handler.js.map +0 -1
  669. package/dist/rsc/helpers.d.ts +0 -16
  670. package/dist/rsc/helpers.d.ts.map +0 -1
  671. package/dist/rsc/helpers.js +0 -55
  672. package/dist/rsc/helpers.js.map +0 -1
  673. package/dist/rsc/index.d.ts +0 -22
  674. package/dist/rsc/index.d.ts.map +0 -1
  675. package/dist/rsc/index.js +0 -23
  676. package/dist/rsc/index.js.map +0 -1
  677. package/dist/rsc/nonce.d.ts +0 -9
  678. package/dist/rsc/nonce.d.ts.map +0 -1
  679. package/dist/rsc/nonce.js +0 -18
  680. package/dist/rsc/nonce.js.map +0 -1
  681. package/dist/rsc/types.d.ts +0 -206
  682. package/dist/rsc/types.d.ts.map +0 -1
  683. package/dist/rsc/types.js +0 -8
  684. package/dist/rsc/types.js.map +0 -1
  685. package/dist/search-params.d.ts +0 -103
  686. package/dist/search-params.d.ts.map +0 -1
  687. package/dist/search-params.js +0 -74
  688. package/dist/search-params.js.map +0 -1
  689. package/dist/segment-system.d.ts +0 -75
  690. package/dist/segment-system.d.ts.map +0 -1
  691. package/dist/segment-system.js +0 -336
  692. package/dist/segment-system.js.map +0 -1
  693. package/dist/server/context.d.ts +0 -245
  694. package/dist/server/context.d.ts.map +0 -1
  695. package/dist/server/context.js +0 -197
  696. package/dist/server/context.js.map +0 -1
  697. package/dist/server/fetchable-loader-store.d.ts +0 -18
  698. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  699. package/dist/server/fetchable-loader-store.js +0 -18
  700. package/dist/server/fetchable-loader-store.js.map +0 -1
  701. package/dist/server/handle-store.d.ts +0 -85
  702. package/dist/server/handle-store.d.ts.map +0 -1
  703. package/dist/server/handle-store.js +0 -142
  704. package/dist/server/handle-store.js.map +0 -1
  705. package/dist/server/loader-registry.d.ts +0 -55
  706. package/dist/server/loader-registry.d.ts.map +0 -1
  707. package/dist/server/loader-registry.js +0 -132
  708. package/dist/server/loader-registry.js.map +0 -1
  709. package/dist/server/request-context.d.ts +0 -226
  710. package/dist/server/request-context.d.ts.map +0 -1
  711. package/dist/server/request-context.js +0 -290
  712. package/dist/server/request-context.js.map +0 -1
  713. package/dist/server/root-layout.d.ts +0 -4
  714. package/dist/server/root-layout.d.ts.map +0 -1
  715. package/dist/server/root-layout.js +0 -5
  716. package/dist/server/root-layout.js.map +0 -1
  717. package/dist/server.d.ts +0 -15
  718. package/dist/server.d.ts.map +0 -1
  719. package/dist/server.js +0 -20
  720. package/dist/server.js.map +0 -1
  721. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  722. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  723. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  724. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  725. package/dist/ssr/index.d.ts +0 -98
  726. package/dist/ssr/index.d.ts.map +0 -1
  727. package/dist/ssr/index.js +0 -158
  728. package/dist/ssr/index.js.map +0 -1
  729. package/dist/static-handler.d.ts +0 -50
  730. package/dist/static-handler.d.ts.map +0 -1
  731. package/dist/static-handler.gen.d.ts +0 -5
  732. package/dist/static-handler.gen.d.ts.map +0 -1
  733. package/dist/static-handler.gen.js +0 -5
  734. package/dist/static-handler.gen.js.map +0 -1
  735. package/dist/static-handler.js +0 -29
  736. package/dist/static-handler.js.map +0 -1
  737. package/dist/theme/ThemeProvider.d.ts +0 -20
  738. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  739. package/dist/theme/ThemeProvider.js +0 -240
  740. package/dist/theme/ThemeProvider.js.map +0 -1
  741. package/dist/theme/ThemeScript.d.ts +0 -48
  742. package/dist/theme/ThemeScript.d.ts.map +0 -1
  743. package/dist/theme/ThemeScript.js +0 -13
  744. package/dist/theme/ThemeScript.js.map +0 -1
  745. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  746. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  747. package/dist/theme/__tests__/theme.test.js +0 -103
  748. package/dist/theme/__tests__/theme.test.js.map +0 -1
  749. package/dist/theme/constants.d.ts +0 -29
  750. package/dist/theme/constants.d.ts.map +0 -1
  751. package/dist/theme/constants.js +0 -48
  752. package/dist/theme/constants.js.map +0 -1
  753. package/dist/theme/index.d.ts +0 -31
  754. package/dist/theme/index.d.ts.map +0 -1
  755. package/dist/theme/index.js +0 -36
  756. package/dist/theme/index.js.map +0 -1
  757. package/dist/theme/theme-context.d.ts +0 -40
  758. package/dist/theme/theme-context.d.ts.map +0 -1
  759. package/dist/theme/theme-context.js +0 -60
  760. package/dist/theme/theme-context.js.map +0 -1
  761. package/dist/theme/theme-script.d.ts +0 -27
  762. package/dist/theme/theme-script.d.ts.map +0 -1
  763. package/dist/theme/theme-script.js +0 -147
  764. package/dist/theme/theme-script.js.map +0 -1
  765. package/dist/theme/types.d.ts +0 -163
  766. package/dist/theme/types.d.ts.map +0 -1
  767. package/dist/theme/types.js +0 -11
  768. package/dist/theme/types.js.map +0 -1
  769. package/dist/theme/use-theme.d.ts +0 -12
  770. package/dist/theme/use-theme.d.ts.map +0 -1
  771. package/dist/theme/use-theme.js +0 -40
  772. package/dist/theme/use-theme.js.map +0 -1
  773. package/dist/types.d.ts +0 -1479
  774. package/dist/types.d.ts.map +0 -1
  775. package/dist/types.js +0 -10
  776. package/dist/types.js.map +0 -1
  777. package/dist/urls.d.ts +0 -441
  778. package/dist/urls.d.ts.map +0 -1
  779. package/dist/urls.gen.d.ts +0 -8
  780. package/dist/urls.gen.d.ts.map +0 -1
  781. package/dist/urls.gen.js +0 -8
  782. package/dist/urls.gen.js.map +0 -1
  783. package/dist/urls.js +0 -443
  784. package/dist/urls.js.map +0 -1
  785. package/dist/use-loader.d.ts +0 -127
  786. package/dist/use-loader.d.ts.map +0 -1
  787. package/dist/use-loader.js +0 -237
  788. package/dist/use-loader.js.map +0 -1
  789. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  790. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  791. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  792. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  793. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  794. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  795. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  796. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  797. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  798. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  799. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  800. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  801. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  802. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  803. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  804. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  805. package/dist/vite/ast-handler-extract.d.ts +0 -49
  806. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  807. package/dist/vite/ast-handler-extract.js +0 -249
  808. package/dist/vite/ast-handler-extract.js.map +0 -1
  809. package/dist/vite/expose-action-id.d.ts +0 -19
  810. package/dist/vite/expose-action-id.d.ts.map +0 -1
  811. package/dist/vite/expose-action-id.js +0 -250
  812. package/dist/vite/expose-action-id.js.map +0 -1
  813. package/dist/vite/expose-id-utils.d.ts +0 -69
  814. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  815. package/dist/vite/expose-id-utils.js +0 -289
  816. package/dist/vite/expose-id-utils.js.map +0 -1
  817. package/dist/vite/expose-internal-ids.d.ts +0 -22
  818. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  819. package/dist/vite/expose-internal-ids.js +0 -886
  820. package/dist/vite/expose-internal-ids.js.map +0 -1
  821. package/dist/vite/index.d.ts +0 -149
  822. package/dist/vite/index.d.ts.map +0 -1
  823. package/dist/vite/index.js.map +0 -1
  824. package/dist/vite/index.named-routes.gen.ts +0 -103
  825. package/dist/vite/package-resolution.d.ts +0 -43
  826. package/dist/vite/package-resolution.d.ts.map +0 -1
  827. package/dist/vite/package-resolution.js +0 -112
  828. package/dist/vite/package-resolution.js.map +0 -1
  829. package/dist/vite/virtual-entries.d.ts +0 -25
  830. package/dist/vite/virtual-entries.d.ts.map +0 -1
  831. package/dist/vite/virtual-entries.js +0 -110
  832. package/dist/vite/virtual-entries.js.map +0 -1
  833. package/skills/testing/SKILL.md +0 -226
  834. package/src/route-definition/route-function.ts +0 -119
package/README.md CHANGED
@@ -45,6 +45,30 @@ For Cloudflare Workers:
45
45
  npm install @cloudflare/vite-plugin
46
46
  ```
47
47
 
48
+ ## Import Paths
49
+
50
+ Use these import paths consistently:
51
+
52
+ - `@rangojs/router` — server/RSC router APIs, route DSL, `createRouter`, `urls`, `redirect`, `Prerender`, `Static`, shared types
53
+ - `@rangojs/router/client` — hooks and components such as `Link`, `Outlet`, `href`, `useNavigation`, `useLoader`, `useAction`, `useLocationState`
54
+ - `@rangojs/router/cache` — public cache APIs such as `CFCacheStore`, `MemorySegmentCacheStore`, `createDocumentCacheMiddleware`
55
+ - `@rangojs/router/host`, `@rangojs/router/theme`, `@rangojs/router/vite` — specialized public subpaths
56
+ - `@rangojs/router/rsc`, `@rangojs/router/ssr` — advanced server-only integration subpaths for custom request/HTML pipelines
57
+
58
+ Use only subpaths that are explicitly exported from the package. Avoid deep imports such as `@rangojs/router/cache/cf`.
59
+
60
+ `@rangojs/router` is conditionally resolved. Server-only root APIs such as
61
+ `createRouter()`, `urls()`, `redirect()`, `Prerender()`, and `cookies()` rely on
62
+ the `react-server` export condition and are meant to run in router definitions,
63
+ handlers, and other RSC/server modules. Outside that environment the root entry
64
+ falls back to stub implementations that throw guidance errors.
65
+
66
+ If you hit a root-entrypoint stub error:
67
+
68
+ - hooks and components like `Link`, `Outlet`, `useLoader`, `useNavigation`, and `MetaTags` belong in `@rangojs/router/client`
69
+ - cache APIs like `CFCacheStore` and `createDocumentCacheMiddleware` belong in `@rangojs/router/cache`
70
+ - host-router APIs belong in `@rangojs/router/host`
71
+
48
72
  ## Quick Start
49
73
 
50
74
  ### Vite Config
@@ -62,6 +86,9 @@ export default defineConfig({
62
86
 
63
87
  ### Router
64
88
 
89
+ This file is a server/RSC module and should import router construction APIs from
90
+ `@rangojs/router`.
91
+
65
92
  ```tsx
66
93
  // src/router.tsx
67
94
  import { createRouter, urls } from "@rangojs/router";
@@ -842,16 +869,22 @@ module, use `scopedReverse<typeof localPatterns>(ctx.reverse)` or
842
869
 
843
870
  ## Subpath Exports
844
871
 
845
- | Export | Description |
846
- | ------------------------ | --------------------------------------------------------------------------------- |
847
- | `@rangojs/router` | Core: `createRouter`, `urls`, `createLoader`, `Handler`, `Prerender`, `Meta` |
848
- | `@rangojs/router/client` | Client: `Link`, `Outlet`, `href`, `useNavigation`, `useLoader`, `MetaTags` |
849
- | `@rangojs/router/cache` | Cache: `CFCacheStore`, `MemorySegmentCacheStore`, `createDocumentCacheMiddleware` |
850
- | `@rangojs/router/theme` | Theme: `useTheme`, `ThemeProvider`, `ThemeScript` |
851
- | `@rangojs/router/host` | Host routing: `createHostRouter`, `defineHosts` |
852
- | `@rangojs/router/vite` | Vite plugin: `rango()` |
853
- | `@rangojs/router/server` | Server utilities |
854
- | `@rangojs/router/build` | Build utilities |
872
+ | Export | Description |
873
+ | ------------------------ | -------------------------------------------------------------------------------------------------------- |
874
+ | `@rangojs/router` | Server/RSC core and shared types: `createRouter`, `urls`, `createLoader`, `Handler`, `Prerender`, `Meta` |
875
+ | `@rangojs/router/client` | Client: `Link`, `Outlet`, `href`, `useNavigation`, `useLoader`, `MetaTags` |
876
+ | `@rangojs/router/cache` | Cache: `CFCacheStore`, `MemorySegmentCacheStore`, `createDocumentCacheMiddleware` |
877
+ | `@rangojs/router/theme` | Theme: `useTheme`, `ThemeProvider`, `ThemeScript` |
878
+ | `@rangojs/router/host` | Host routing: `createHostRouter`, `defineHosts` |
879
+ | `@rangojs/router/vite` | Vite plugin: `rango()` |
880
+ | `@rangojs/router/rsc` | Advanced server pipeline APIs: `createRSCHandler`, request-context access |
881
+ | `@rangojs/router/ssr` | Advanced SSR bridge APIs: `createSSRHandler` |
882
+ | `@rangojs/router/server` | Internal build/runtime utilities for advanced integrations |
883
+ | `@rangojs/router/build` | Build utilities |
884
+
885
+ The root entrypoint is not a generic client/runtime barrel. If you need hooks
886
+ or components, import from `@rangojs/router/client`; if you need cache or host
887
+ APIs, use their dedicated subpaths.
855
888
 
856
889
  ## Examples
857
890
 
@@ -1745,7 +1745,7 @@ import { resolve } from "node:path";
1745
1745
  // package.json
1746
1746
  var package_default = {
1747
1747
  name: "@rangojs/router",
1748
- version: "0.0.0-experimental.21",
1748
+ version: "0.0.0-experimental.23",
1749
1749
  description: "Django-inspired RSC router with composable URL patterns",
1750
1750
  keywords: [
1751
1751
  "react",
@@ -3733,8 +3733,7 @@ async function discoverRouters(state, rscEnv) {
3733
3733
  let registry = serverMod.RouterRegistry;
3734
3734
  if (!registry || registry.size === 0) {
3735
3735
  try {
3736
- const hostMod = await rscEnv.runner.import("@rangojs/router/host");
3737
- const hostRegistry = hostMod.HostRouterRegistry;
3736
+ const hostRegistry = serverMod.HostRouterRegistry;
3738
3737
  if (hostRegistry && hostRegistry.size > 0) {
3739
3738
  console.log(
3740
3739
  `[rsc-router] Found ${hostRegistry.size} host router(s), resolving lazy handlers...`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rangojs/router",
3
- "version": "0.0.0-experimental.21",
3
+ "version": "0.0.0-experimental.23",
4
4
  "description": "Django-inspired RSC router with composable URL patterns",
5
5
  "keywords": [
6
6
  "react",
@@ -89,7 +89,7 @@ Configure a cache store in the router:
89
89
 
90
90
  ```typescript
91
91
  import { createRouter } from "@rangojs/router";
92
- import { MemorySegmentCacheStore } from "@rangojs/router/rsc";
92
+ import { MemorySegmentCacheStore } from "@rangojs/router/cache";
93
93
 
94
94
  const store = new MemorySegmentCacheStore({
95
95
  defaults: { ttl: 60, swr: 300 },
@@ -112,7 +112,7 @@ const router = createRouter({
112
112
  For single-instance deployments:
113
113
 
114
114
  ```typescript
115
- import { MemorySegmentCacheStore } from "@rangojs/router/rsc";
115
+ import { MemorySegmentCacheStore } from "@rangojs/router/cache";
116
116
 
117
117
  const store = new MemorySegmentCacheStore({
118
118
  defaults: { ttl: 60, swr: 300 },
@@ -125,7 +125,7 @@ const store = new MemorySegmentCacheStore({
125
125
  For distributed caching on Cloudflare Workers:
126
126
 
127
127
  ```typescript
128
- import { CFCacheStore } from "@rangojs/router/cache/cf";
128
+ import { CFCacheStore } from "@rangojs/router/cache";
129
129
 
130
130
  const router = createRouter<AppBindings>({
131
131
  document: Document,
@@ -175,7 +175,7 @@ cache({ store: checkoutCache }, () => [
175
175
 
176
176
  ```typescript
177
177
  import { urls } from "@rangojs/router";
178
- import { MemorySegmentCacheStore } from "@rangojs/router/rsc";
178
+ import { MemorySegmentCacheStore } from "@rangojs/router/cache";
179
179
 
180
180
  // Custom store for checkout (short TTL)
181
181
  const checkoutCache = new MemorySegmentCacheStore({
@@ -14,7 +14,7 @@ Configure document cache in router:
14
14
 
15
15
  ```typescript
16
16
  import { createRouter } from "@rangojs/router";
17
- import { CFCacheStore } from "@rangojs/router/cache/cf";
17
+ import { CFCacheStore } from "@rangojs/router/cache";
18
18
  import { urlpatterns } from "./urls";
19
19
 
20
20
  const router = createRouter<AppBindings>({
@@ -134,7 +134,7 @@ Segment hash ensures different cached responses for navigations from different s
134
134
  ```typescript
135
135
  // router.tsx
136
136
  import { createRouter } from "@rangojs/router";
137
- import { CFCacheStore } from "@rangojs/router/cache/cf";
137
+ import { CFCacheStore } from "@rangojs/router/cache";
138
138
  import { urlpatterns } from "./urls";
139
139
 
140
140
  const router = createRouter<AppBindings>({
@@ -6,7 +6,8 @@ argument-hint: [hook-name]
6
6
 
7
7
  # Client-Side React Hooks
8
8
 
9
- All hooks are imported from `@rangojs/router` or `@rangojs/router/client`.
9
+ Import the hooks and components in this skill from `@rangojs/router/client`.
10
+ The root `@rangojs/router` entrypoint is for server/RSC APIs and shared types.
10
11
 
11
12
  ## Navigation Hooks
12
13
 
@@ -63,7 +64,7 @@ Access current URL path and matched route segments:
63
64
 
64
65
  ```tsx
65
66
  "use client";
66
- import { useSegments } from "@rangojs/router";
67
+ import { useSegments } from "@rangojs/router/client";
67
68
 
68
69
  function Breadcrumbs() {
69
70
  const { path, segmentIds, location } = useSegments();
@@ -107,7 +108,7 @@ Access loader data (strict - data guaranteed):
107
108
 
108
109
  ```tsx
109
110
  "use client";
110
- import { useLoader } from "@rangojs/router";
111
+ import { useLoader } from "@rangojs/router/client";
111
112
  import { ProductLoader } from "../loaders/product";
112
113
 
113
114
  function ProductPrice() {
@@ -143,7 +144,7 @@ Access loader with on-demand fetching (flexible):
143
144
 
144
145
  ```tsx
145
146
  "use client";
146
- import { useFetchLoader } from "@rangojs/router";
147
+ import { useFetchLoader } from "@rangojs/router/client";
147
148
  import { SearchLoader } from "../loaders/search";
148
149
 
149
150
  function SearchResults() {
@@ -197,7 +198,7 @@ server, JSON bodies are available via `ctx.body` and FormData bodies via `ctx.fo
197
198
 
198
199
  ```tsx
199
200
  "use client";
200
- import { useFetchLoader } from "@rangojs/router";
201
+ import { useFetchLoader } from "@rangojs/router/client";
201
202
  import { FileUploadLoader } from "../loaders/upload";
202
203
 
203
204
  function FileUploader() {
@@ -244,7 +245,7 @@ Get all loader data in current context:
244
245
 
245
246
  ```tsx
246
247
  "use client";
247
- import { useLoaderData } from "@rangojs/router";
248
+ import { useLoaderData } from "@rangojs/router/client";
248
249
 
249
250
  function DebugPanel() {
250
251
  const allData = useLoaderData();
@@ -262,7 +263,7 @@ Access accumulated handle data from route segments:
262
263
 
263
264
  ```tsx
264
265
  "use client";
265
- import { useHandle } from "@rangojs/router";
266
+ import { useHandle } from "@rangojs/router/client";
266
267
  import { Breadcrumbs } from "../handles/breadcrumbs";
267
268
 
268
269
  function BreadcrumbNav() {
@@ -324,7 +325,7 @@ Track state of server action invocations:
324
325
 
325
326
  ```tsx
326
327
  "use client";
327
- import { useAction } from "@rangojs/router";
328
+ import { useAction } from "@rangojs/router/client";
328
329
  import { addToCart } from "../actions/cart";
329
330
 
330
331
  function AddToCartButton({ productId }: { productId: string }) {
@@ -359,7 +360,7 @@ Read type-safe state from history:
359
360
 
360
361
  ```tsx
361
362
  "use client";
362
- import { useLocationState, createLocationState } from "@rangojs/router";
363
+ import { useLocationState, createLocationState } from "@rangojs/router/client";
363
364
 
364
365
  // Define typed state (all export patterns supported)
365
366
  // Keys are auto-injected by the Vite plugin -- no manual key needed.
@@ -509,7 +510,7 @@ Manually control client-side navigation cache:
509
510
 
510
511
  ```tsx
511
512
  "use client";
512
- import { useClientCache } from "@rangojs/router";
513
+ import { useClientCache } from "@rangojs/router/client";
513
514
 
514
515
  function SaveButton() {
515
516
  const { clear } = useClientCache();
@@ -537,7 +538,7 @@ function SaveButton() {
537
538
  Render child content in layouts:
538
539
 
539
540
  ```tsx
540
- import { Outlet, ParallelOutlet } from "@rangojs/router";
541
+ import { Outlet, ParallelOutlet } from "@rangojs/router/client";
541
542
 
542
543
  function DashboardLayout({ children }: { children?: React.ReactNode }) {
543
544
  return (
@@ -558,7 +559,7 @@ Access outlet content programmatically:
558
559
 
559
560
  ```tsx
560
561
  "use client";
561
- import { useOutlet } from "@rangojs/router";
562
+ import { useOutlet } from "@rangojs/router/client";
562
563
 
563
564
  function ConditionalLayout() {
564
565
  const outlet = useOutlet();
@@ -0,0 +1,218 @@
1
+ ---
2
+ name: host-router
3
+ description: Multi-app host routing with domain/subdomain patterns
4
+ argument-hint:
5
+ ---
6
+
7
+ # Host Router
8
+
9
+ Route requests to different apps based on domain, subdomain, or path prefix patterns. Supports middleware, lazy loading, cookie-based host override for dev, and a fallback handler.
10
+
11
+ ## Import
12
+
13
+ ```typescript
14
+ import { createHostRouter, defineHosts } from "@rangojs/router/host";
15
+ ```
16
+
17
+ ## Basic Setup
18
+
19
+ ```typescript
20
+ // host-router.ts
21
+ import { createHostRouter } from "@rangojs/router/host";
22
+
23
+ const router = createHostRouter();
24
+
25
+ router.host(["."]).map(() => import("./apps/main"));
26
+ router.host(["admin.*"]).map(() => import("./apps/admin"));
27
+ router.host(["api.*"]).map(() => import("./apps/api"));
28
+
29
+ export default {
30
+ fetch(request: Request, env: Env, ctx: ExecutionContext) {
31
+ return router.match(request, { env, ctx });
32
+ },
33
+ };
34
+ ```
35
+
36
+ Each `.map()` receives either a direct handler `(request, input) => Response` or a lazy import `() => import(...)`. Lazy imports resolve a module with a `default` export that is either a handler function or another `HostRouter` (for nesting).
37
+
38
+ ## Pattern Syntax
39
+
40
+ | Pattern | Matches |
41
+ | ----------------- | ---------------------------------------------- |
42
+ | `.` or `*` | Any apex domain (`example.com`) |
43
+ | `**` | Any domain (apex + all subdomains) |
44
+ | `*.` | Any single-level subdomain (`www.example.com`) |
45
+ | `**. ` | Any multi-level subdomain (`a.b.example.com`) |
46
+ | `example.com` | Exact domain |
47
+ | `*.com` | Any apex `.com` domain |
48
+ | `*.example.com` | Single subdomain of `example.com` |
49
+ | `**.example.com` | Any depth subdomain of `example.com` |
50
+ | `admin.*` | `admin` subdomain of any apex domain |
51
+ | `admin.**` | `admin` subdomain of any domain |
52
+ | `admin.` | `admin` subdomain of any apex (no wildcard) |
53
+ | `example.com/api` | Domain + path prefix (prefix match) |
54
+
55
+ Patterns are tested in registration order. First match wins.
56
+
57
+ ## `defineHosts` for Type Safety
58
+
59
+ ```typescript
60
+ import { defineHosts } from "@rangojs/router/host";
61
+
62
+ const hosts = defineHosts({
63
+ admin: "admin.*",
64
+ api: "api.*",
65
+ app: [".", "www.*"],
66
+ });
67
+
68
+ router.host(hosts.admin).map(() => import("./apps/admin"));
69
+ router.host(hosts.app).map(() => import("./apps/main"));
70
+ ```
71
+
72
+ Returns a frozen object — keys are autocompleted by TypeScript.
73
+
74
+ ## Middleware
75
+
76
+ Global middleware runs for every matched route. Per-route middleware runs only for that host pattern.
77
+
78
+ ```typescript
79
+ const router = createHostRouter();
80
+
81
+ // Global — runs for all routes
82
+ router.use(async (request, input, next) => {
83
+ console.log(`[${new Date().toISOString()}] ${request.url}`);
84
+ return next();
85
+ });
86
+
87
+ // Per-route
88
+ router
89
+ .host(["admin.*"])
90
+ .use(requireAuth)
91
+ .map(() => import("./apps/admin"));
92
+ ```
93
+
94
+ Middleware signature: `(request: Request, input: RouterRequestInput, next: () => Promise<Response>) => Promise<Response>`
95
+
96
+ Calling `next()` more than once throws.
97
+
98
+ ## Fallback Handler
99
+
100
+ Handles cookie-override errors when `hostOverride` is configured (e.g., override from a disallowed host, invalid cookie hostname). The fallback does **not** catch unmatched hosts — those throw `NoRouteMatchError`. Catch that at the worker level if you need a 404.
101
+
102
+ ```typescript
103
+ const router = createHostRouter({
104
+ hostOverride: { cookieName: "x-dev-host", allowedHosts: ["localhost"] },
105
+ });
106
+
107
+ // Called when cookie override fails (not for general unmatched hosts)
108
+ router.fallback().map((request) => {
109
+ return new Response("Invalid host override", { status: 400 });
110
+ });
111
+ ```
112
+
113
+ For unmatched hosts without `hostOverride`, catch `NoRouteMatchError` in your worker fetch:
114
+
115
+ ```typescript
116
+ import { NoRouteMatchError } from "@rangojs/router/host";
117
+
118
+ export default {
119
+ async fetch(request: Request, env: Env, ctx: ExecutionContext) {
120
+ try {
121
+ return await router.match(request, { env, ctx });
122
+ } catch (err) {
123
+ if (err instanceof NoRouteMatchError) {
124
+ return new Response("Not Found", { status: 404 });
125
+ }
126
+ throw err;
127
+ }
128
+ },
129
+ };
130
+ ```
131
+
132
+ ## Cookie-Based Host Override
133
+
134
+ For development: route requests to a different app based on a cookie value, allowing developers to test different host routes from a single domain.
135
+
136
+ ```typescript
137
+ const router = createHostRouter({
138
+ hostOverride: {
139
+ cookieName: "x-dev-host",
140
+ allowedHosts: ["localhost", "**.dev.example.com"],
141
+ validate: (request, cookieValue, input) => {
142
+ // Optional custom validation — return the effective hostname
143
+ return cookieValue;
144
+ },
145
+ },
146
+ });
147
+ ```
148
+
149
+ When a request arrives:
150
+
151
+ 1. If no cookie → use actual hostname
152
+ 2. If cookie present and host is in `allowedHosts` → use cookie value as hostname
153
+ 3. If cookie present but host not allowed → throw `HostOverrideNotAllowedError`
154
+
155
+ Without a custom `validate`, the cookie value is validated as a hostname via `new URL()`.
156
+
157
+ ## Debug Mode
158
+
159
+ ```typescript
160
+ const router = createHostRouter({ debug: true });
161
+ ```
162
+
163
+ Logs pattern matching, route registration, and cookie override decisions to console.
164
+
165
+ ## Testing
166
+
167
+ ```typescript
168
+ import { createTestRequest, testPattern } from "@rangojs/router/host/testing";
169
+
170
+ // Test pattern matching
171
+ testPattern("admin.*", "admin.example.com"); // true
172
+ testPattern([".", "www.*"], "example.com"); // true
173
+
174
+ // Create requests for integration tests
175
+ const request = createTestRequest({
176
+ host: "admin.example.com",
177
+ path: "/dashboard",
178
+ cookies: { "x-dev-host": "api.example.com" },
179
+ });
180
+
181
+ // Test which route would match (without executing)
182
+ router.test("admin.example.com"); // { pattern, handler } | null
183
+ ```
184
+
185
+ ## Error Types
186
+
187
+ All errors extend `HostRouterError`:
188
+
189
+ | Error | When |
190
+ | ----------------------------- | ------------------------------------------- |
191
+ | `InvalidPatternError` | Pattern is empty, non-string, or has spaces |
192
+ | `HostOverrideNotAllowedError` | Cookie override from disallowed host |
193
+ | `InvalidHostnameError` | Cookie value isn't a valid hostname |
194
+ | `HostValidationError` | Custom `validate` function threw |
195
+ | `NoRouteMatchError` | No host pattern matched the request |
196
+ | `InvalidHandlerError` | Handler is not a function |
197
+
198
+ See the fallback section above for a `NoRouteMatchError` catch example.
199
+
200
+ ## Nesting Host Routers
201
+
202
+ A lazy handler can resolve to another `HostRouter`:
203
+
204
+ ```typescript
205
+ // apps/regional.ts
206
+ import { createHostRouter } from "@rangojs/router/host";
207
+
208
+ const regional = createHostRouter();
209
+ regional.host(["us.*"]).map(() => import("./regions/us"));
210
+ regional.host(["eu.*"]).map(() => import("./regions/eu"));
211
+
212
+ export default regional;
213
+ ```
214
+
215
+ ```typescript
216
+ // host-router.ts
217
+ router.host(["**.regional.example.com"]).map(() => import("./apps/regional"));
218
+ ```
@@ -68,7 +68,7 @@ export const urlpatterns = urls(({ path, loader }) => [
68
68
  ### In Server Components
69
69
 
70
70
  ```typescript
71
- import { useLoader } from "@rangojs/router";
71
+ import { useLoader } from "@rangojs/router/client";
72
72
  import { ProductLoader } from "./loaders/product";
73
73
 
74
74
  async function ProductPage() {
@@ -539,7 +539,7 @@ export const urlpatterns = urls(({ path, layout, loader, loading, cache, revalid
539
539
  ]);
540
540
 
541
541
  // pages/product.tsx
542
- import { useLoader } from "@rangojs/router";
542
+ import { useLoader } from "@rangojs/router/client";
543
543
  import { ProductLoader, CartLoader } from "./loaders/shop";
544
544
 
545
545
  async function ProductPage() {
@@ -521,10 +521,10 @@ export const guidesPatterns = urls(({ path }) => [
521
521
  ]);
522
522
 
523
523
  // urls.tsx
524
- import { urls, include } from "@rangojs/router";
524
+ import { urls } from "@rangojs/router";
525
525
  import { guidesPatterns } from "./pages/guides.js";
526
526
 
527
- export const urlpatterns = urls(({ path }) => [
527
+ export const urlpatterns = urls(({ path, include }) => [
528
528
  path("/", HomePage, { name: "home" }),
529
529
  include("/guides", guidesPatterns, { name: "guides" }),
530
530
  ]);
@@ -32,7 +32,6 @@ Django-inspired RSC router with composable URL patterns, type-safe href, and ser
32
32
  | `/response-routes` | JSON/text/HTML/XML/stream endpoints with `path.json()`, `path.text()` |
33
33
  | `/mime-routes` | Content negotiation — same URL, different response types via Accept header |
34
34
  | `/fonts` | Load web fonts with preload hints |
35
- | `/testing` | Unit test route trees with `buildRouteTree()` |
36
35
 
37
36
  ## Quick Start
38
37
 
@@ -297,10 +297,10 @@ export const shopPatterns = urls(({ path, layout }) => [
297
297
  ]);
298
298
 
299
299
  // src/urls.tsx
300
- import { urls, include } from "@rangojs/router";
300
+ import { urls } from "@rangojs/router";
301
301
  import { shopPatterns } from "./urls/shop";
302
302
 
303
- export const urlpatterns = urls(({ path }) => [
303
+ export const urlpatterns = urls(({ path, include }) => [
304
304
  path("/", HomePage, { name: "home" }),
305
305
  include("/shop", shopPatterns, { name: "shop" }),
306
306
  ]);
@@ -334,7 +334,7 @@ export const ProductLoader = createLoader(async (ctx) => {
334
334
  });
335
335
 
336
336
  // In server component - type is inferred
337
- import { useLoader } from "@rangojs/router";
337
+ import { useLoader } from "@rangojs/router/client";
338
338
 
339
339
  async function ProductPage() {
340
340
  const product = await useLoader(ProductLoader);
package/src/host/index.ts CHANGED
@@ -25,9 +25,6 @@
25
25
  // Core router
26
26
  export { createHostRouter } from "./router.js";
27
27
 
28
- // Host router registry for build-time discovery
29
- export { HostRouterRegistry, type HostRouterRegistryEntry } from "./router.js";
30
-
31
28
  // Utilities
32
29
  export { defineHosts } from "./utils.js";
33
30