@rangojs/router 0.0.0-experimental.0b3f4e91 → 0.0.0-experimental.0c4f94c2

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 (890) hide show
  1. package/README.md +76 -18
  2. package/dist/bin/rango.js +2 -1
  3. package/dist/vite/index.js +507 -192
  4. package/package.json +3 -3
  5. package/skills/handler-use/SKILL.md +362 -0
  6. package/skills/intercept/SKILL.md +20 -0
  7. package/skills/layout/SKILL.md +22 -0
  8. package/skills/middleware/SKILL.md +32 -3
  9. package/skills/migrate-nextjs/SKILL.md +560 -0
  10. package/skills/migrate-react-router/SKILL.md +764 -0
  11. package/skills/parallel/SKILL.md +59 -0
  12. package/skills/prerender/SKILL.md +110 -68
  13. package/skills/rango/SKILL.md +24 -22
  14. package/skills/route/SKILL.md +24 -0
  15. package/src/__internal.ts +1 -1
  16. package/src/browser/navigation-bridge.ts +7 -1
  17. package/src/browser/navigation-client.ts +34 -6
  18. package/src/browser/partial-update.ts +5 -0
  19. package/src/browser/prefetch/cache.ts +16 -6
  20. package/src/browser/prefetch/fetch.ts +60 -4
  21. package/src/browser/react/Link.tsx +25 -2
  22. package/src/browser/react/use-handle.ts +9 -58
  23. package/src/browser/scroll-restoration.ts +10 -8
  24. package/src/browser/segment-reconciler.ts +26 -0
  25. package/src/build/generate-manifest.ts +3 -6
  26. package/src/build/route-trie.ts +50 -24
  27. package/src/build/route-types/scan-filter.ts +8 -1
  28. package/src/client.tsx +2 -56
  29. package/src/handle.ts +40 -0
  30. package/src/index.rsc.ts +3 -1
  31. package/src/index.ts +46 -6
  32. package/src/prerender/store.ts +5 -4
  33. package/src/prerender.ts +138 -77
  34. package/src/reverse.ts +25 -1
  35. package/src/route-definition/dsl-helpers.ts +194 -32
  36. package/src/route-definition/helpers-types.ts +61 -14
  37. package/src/route-definition/index.ts +3 -0
  38. package/src/route-definition/resolve-handler-use.ts +149 -0
  39. package/src/route-types.ts +11 -0
  40. package/src/router/content-negotiation.ts +100 -1
  41. package/src/router/handler-context.ts +46 -6
  42. package/src/router/loader-resolution.ts +147 -19
  43. package/src/router/match-api.ts +124 -189
  44. package/src/router/match-middleware/cache-lookup.ts +24 -7
  45. package/src/router/match-middleware/segment-resolution.ts +53 -0
  46. package/src/router/match-result.ts +82 -4
  47. package/src/router/navigation-snapshot.ts +182 -0
  48. package/src/router/prerender-match.ts +108 -8
  49. package/src/router/preview-match.ts +30 -102
  50. package/src/router/request-classification.ts +310 -0
  51. package/src/router/route-snapshot.ts +245 -0
  52. package/src/router/router-interfaces.ts +11 -0
  53. package/src/router/segment-resolution/fresh.ts +59 -2
  54. package/src/router/segment-resolution/revalidation.ts +79 -6
  55. package/src/router.ts +13 -1
  56. package/src/rsc/handler.ts +468 -377
  57. package/src/rsc/loader-fetch.ts +23 -3
  58. package/src/rsc/progressive-enhancement.ts +10 -2
  59. package/src/rsc/rsc-rendering.ts +5 -1
  60. package/src/rsc/server-action.ts +6 -0
  61. package/src/rsc/ssr-setup.ts +1 -1
  62. package/src/rsc/types.ts +1 -0
  63. package/src/segment-system.tsx +45 -11
  64. package/src/server/context.ts +14 -1
  65. package/src/server/handle-store.ts +19 -0
  66. package/src/server/request-context.ts +125 -3
  67. package/src/static-handler.ts +18 -6
  68. package/src/types/handler-context.ts +12 -2
  69. package/src/types/loader-types.ts +32 -4
  70. package/src/types/route-entry.ts +1 -1
  71. package/src/types/segments.ts +4 -0
  72. package/src/urls/path-helper-types.ts +39 -6
  73. package/src/urls/path-helper.ts +47 -12
  74. package/src/urls/response-types.ts +16 -6
  75. package/src/use-loader.tsx +77 -5
  76. package/src/vite/discovery/bundle-postprocess.ts +30 -33
  77. package/src/vite/discovery/prerender-collection.ts +128 -74
  78. package/src/vite/discovery/state.ts +13 -4
  79. package/src/vite/index.ts +4 -0
  80. package/src/vite/plugin-types.ts +60 -5
  81. package/src/vite/plugins/expose-id-utils.ts +12 -0
  82. package/src/vite/plugins/expose-ids/handler-transform.ts +30 -0
  83. package/src/vite/plugins/expose-internal-ids.ts +257 -40
  84. package/src/vite/plugins/refresh-cmd.ts +88 -26
  85. package/src/vite/rango.ts +2 -1
  86. package/src/vite/router-discovery.ts +178 -37
  87. package/src/vite/utils/prerender-utils.ts +37 -5
  88. package/dist/__internal.d.ts +0 -83
  89. package/dist/__internal.d.ts.map +0 -1
  90. package/dist/__internal.js +0 -19
  91. package/dist/__internal.js.map +0 -1
  92. package/dist/__mocks__/version.d.ts +0 -7
  93. package/dist/__mocks__/version.d.ts.map +0 -1
  94. package/dist/__mocks__/version.js +0 -7
  95. package/dist/__mocks__/version.js.map +0 -1
  96. package/dist/__tests__/client-href.test.d.ts +0 -2
  97. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  98. package/dist/__tests__/client-href.test.js +0 -74
  99. package/dist/__tests__/client-href.test.js.map +0 -1
  100. package/dist/__tests__/component-utils.test.d.ts +0 -2
  101. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  102. package/dist/__tests__/component-utils.test.js +0 -51
  103. package/dist/__tests__/component-utils.test.js.map +0 -1
  104. package/dist/__tests__/event-controller.test.d.ts +0 -2
  105. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  106. package/dist/__tests__/event-controller.test.js +0 -538
  107. package/dist/__tests__/event-controller.test.js.map +0 -1
  108. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  109. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  110. package/dist/__tests__/helpers/route-tree.js +0 -374
  111. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  112. package/dist/__tests__/match-result.test.d.ts +0 -2
  113. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  114. package/dist/__tests__/match-result.test.js +0 -154
  115. package/dist/__tests__/match-result.test.js.map +0 -1
  116. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  117. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  118. package/dist/__tests__/navigation-store.test.js +0 -440
  119. package/dist/__tests__/navigation-store.test.js.map +0 -1
  120. package/dist/__tests__/partial-update.test.d.ts +0 -2
  121. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  122. package/dist/__tests__/partial-update.test.js +0 -1009
  123. package/dist/__tests__/partial-update.test.js.map +0 -1
  124. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  125. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  126. package/dist/__tests__/reverse-types.test.js +0 -656
  127. package/dist/__tests__/reverse-types.test.js.map +0 -1
  128. package/dist/__tests__/route-definition.test.d.ts +0 -2
  129. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  130. package/dist/__tests__/route-definition.test.js +0 -55
  131. package/dist/__tests__/route-definition.test.js.map +0 -1
  132. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  133. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  134. package/dist/__tests__/router-helpers.test.js +0 -377
  135. package/dist/__tests__/router-helpers.test.js.map +0 -1
  136. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  137. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  138. package/dist/__tests__/router-integration-2.test.js +0 -426
  139. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  140. package/dist/__tests__/router-integration.test.d.ts +0 -2
  141. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  142. package/dist/__tests__/router-integration.test.js +0 -1051
  143. package/dist/__tests__/router-integration.test.js.map +0 -1
  144. package/dist/__tests__/search-params.test.d.ts +0 -5
  145. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  146. package/dist/__tests__/search-params.test.js +0 -306
  147. package/dist/__tests__/search-params.test.js.map +0 -1
  148. package/dist/__tests__/segment-system.test.d.ts +0 -2
  149. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  150. package/dist/__tests__/segment-system.test.js +0 -627
  151. package/dist/__tests__/segment-system.test.js.map +0 -1
  152. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  153. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  154. package/dist/__tests__/static-handler-types.test.js +0 -63
  155. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  156. package/dist/__tests__/urls.test.d.ts +0 -2
  157. package/dist/__tests__/urls.test.d.ts.map +0 -1
  158. package/dist/__tests__/urls.test.js +0 -421
  159. package/dist/__tests__/urls.test.js.map +0 -1
  160. package/dist/__tests__/use-mount.test.d.ts +0 -2
  161. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  162. package/dist/__tests__/use-mount.test.js +0 -35
  163. package/dist/__tests__/use-mount.test.js.map +0 -1
  164. package/dist/bin/rango.d.ts +0 -2
  165. package/dist/bin/rango.d.ts.map +0 -1
  166. package/dist/bin/rango.js.map +0 -1
  167. package/dist/browser/event-controller.d.ts +0 -191
  168. package/dist/browser/event-controller.d.ts.map +0 -1
  169. package/dist/browser/event-controller.js +0 -559
  170. package/dist/browser/event-controller.js.map +0 -1
  171. package/dist/browser/index.d.ts +0 -2
  172. package/dist/browser/index.d.ts.map +0 -1
  173. package/dist/browser/index.js +0 -14
  174. package/dist/browser/index.js.map +0 -1
  175. package/dist/browser/link-interceptor.d.ts +0 -38
  176. package/dist/browser/link-interceptor.d.ts.map +0 -1
  177. package/dist/browser/link-interceptor.js +0 -99
  178. package/dist/browser/link-interceptor.js.map +0 -1
  179. package/dist/browser/logging.d.ts +0 -10
  180. package/dist/browser/logging.d.ts.map +0 -1
  181. package/dist/browser/logging.js +0 -29
  182. package/dist/browser/logging.js.map +0 -1
  183. package/dist/browser/lru-cache.d.ts +0 -17
  184. package/dist/browser/lru-cache.d.ts.map +0 -1
  185. package/dist/browser/lru-cache.js +0 -50
  186. package/dist/browser/lru-cache.js.map +0 -1
  187. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  188. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  189. package/dist/browser/merge-segment-loaders.js +0 -102
  190. package/dist/browser/merge-segment-loaders.js.map +0 -1
  191. package/dist/browser/navigation-bridge.d.ts +0 -102
  192. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  193. package/dist/browser/navigation-bridge.js +0 -708
  194. package/dist/browser/navigation-bridge.js.map +0 -1
  195. package/dist/browser/navigation-client.d.ts +0 -25
  196. package/dist/browser/navigation-client.d.ts.map +0 -1
  197. package/dist/browser/navigation-client.js +0 -157
  198. package/dist/browser/navigation-client.js.map +0 -1
  199. package/dist/browser/navigation-store.d.ts +0 -101
  200. package/dist/browser/navigation-store.d.ts.map +0 -1
  201. package/dist/browser/navigation-store.js +0 -625
  202. package/dist/browser/navigation-store.js.map +0 -1
  203. package/dist/browser/partial-update.d.ts +0 -75
  204. package/dist/browser/partial-update.d.ts.map +0 -1
  205. package/dist/browser/partial-update.js +0 -426
  206. package/dist/browser/partial-update.js.map +0 -1
  207. package/dist/browser/react/Link.d.ts +0 -86
  208. package/dist/browser/react/Link.d.ts.map +0 -1
  209. package/dist/browser/react/Link.js +0 -128
  210. package/dist/browser/react/Link.js.map +0 -1
  211. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  212. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  213. package/dist/browser/react/NavigationProvider.js +0 -216
  214. package/dist/browser/react/NavigationProvider.js.map +0 -1
  215. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  216. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  217. package/dist/browser/react/ScrollRestoration.js +0 -57
  218. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  219. package/dist/browser/react/context.d.ts +0 -46
  220. package/dist/browser/react/context.d.ts.map +0 -1
  221. package/dist/browser/react/context.js +0 -10
  222. package/dist/browser/react/context.js.map +0 -1
  223. package/dist/browser/react/index.d.ts +0 -11
  224. package/dist/browser/react/index.d.ts.map +0 -1
  225. package/dist/browser/react/index.js +0 -22
  226. package/dist/browser/react/index.js.map +0 -1
  227. package/dist/browser/react/location-state-shared.d.ts +0 -63
  228. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  229. package/dist/browser/react/location-state-shared.js +0 -81
  230. package/dist/browser/react/location-state-shared.js.map +0 -1
  231. package/dist/browser/react/location-state.d.ts +0 -23
  232. package/dist/browser/react/location-state.d.ts.map +0 -1
  233. package/dist/browser/react/location-state.js +0 -29
  234. package/dist/browser/react/location-state.js.map +0 -1
  235. package/dist/browser/react/mount-context.d.ts +0 -24
  236. package/dist/browser/react/mount-context.d.ts.map +0 -1
  237. package/dist/browser/react/mount-context.js +0 -24
  238. package/dist/browser/react/mount-context.js.map +0 -1
  239. package/dist/browser/react/use-action.d.ts +0 -64
  240. package/dist/browser/react/use-action.d.ts.map +0 -1
  241. package/dist/browser/react/use-action.js +0 -134
  242. package/dist/browser/react/use-action.js.map +0 -1
  243. package/dist/browser/react/use-client-cache.d.ts +0 -41
  244. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  245. package/dist/browser/react/use-client-cache.js +0 -39
  246. package/dist/browser/react/use-client-cache.js.map +0 -1
  247. package/dist/browser/react/use-handle.d.ts +0 -31
  248. package/dist/browser/react/use-handle.d.ts.map +0 -1
  249. package/dist/browser/react/use-handle.js +0 -144
  250. package/dist/browser/react/use-handle.js.map +0 -1
  251. package/dist/browser/react/use-href.d.ts +0 -33
  252. package/dist/browser/react/use-href.d.ts.map +0 -1
  253. package/dist/browser/react/use-href.js +0 -39
  254. package/dist/browser/react/use-href.js.map +0 -1
  255. package/dist/browser/react/use-link-status.d.ts +0 -37
  256. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  257. package/dist/browser/react/use-link-status.js +0 -99
  258. package/dist/browser/react/use-link-status.js.map +0 -1
  259. package/dist/browser/react/use-mount.d.ts +0 -25
  260. package/dist/browser/react/use-mount.d.ts.map +0 -1
  261. package/dist/browser/react/use-mount.js +0 -30
  262. package/dist/browser/react/use-mount.js.map +0 -1
  263. package/dist/browser/react/use-navigation.d.ts +0 -27
  264. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  265. package/dist/browser/react/use-navigation.js +0 -87
  266. package/dist/browser/react/use-navigation.js.map +0 -1
  267. package/dist/browser/react/use-segments.d.ts +0 -38
  268. package/dist/browser/react/use-segments.d.ts.map +0 -1
  269. package/dist/browser/react/use-segments.js +0 -130
  270. package/dist/browser/react/use-segments.js.map +0 -1
  271. package/dist/browser/request-controller.d.ts +0 -26
  272. package/dist/browser/request-controller.d.ts.map +0 -1
  273. package/dist/browser/request-controller.js +0 -147
  274. package/dist/browser/request-controller.js.map +0 -1
  275. package/dist/browser/rsc-router.d.ts +0 -129
  276. package/dist/browser/rsc-router.d.ts.map +0 -1
  277. package/dist/browser/rsc-router.js +0 -195
  278. package/dist/browser/rsc-router.js.map +0 -1
  279. package/dist/browser/scroll-restoration.d.ts +0 -93
  280. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  281. package/dist/browser/scroll-restoration.js +0 -321
  282. package/dist/browser/scroll-restoration.js.map +0 -1
  283. package/dist/browser/segment-structure-assert.d.ts +0 -17
  284. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  285. package/dist/browser/segment-structure-assert.js +0 -59
  286. package/dist/browser/segment-structure-assert.js.map +0 -1
  287. package/dist/browser/server-action-bridge.d.ts +0 -26
  288. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  289. package/dist/browser/server-action-bridge.js +0 -668
  290. package/dist/browser/server-action-bridge.js.map +0 -1
  291. package/dist/browser/shallow.d.ts +0 -12
  292. package/dist/browser/shallow.d.ts.map +0 -1
  293. package/dist/browser/shallow.js +0 -34
  294. package/dist/browser/shallow.js.map +0 -1
  295. package/dist/browser/types.d.ts +0 -369
  296. package/dist/browser/types.d.ts.map +0 -1
  297. package/dist/browser/types.js +0 -2
  298. package/dist/browser/types.js.map +0 -1
  299. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  300. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  301. package/dist/build/__tests__/generate-cli.test.js +0 -237
  302. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  303. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  304. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  305. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  306. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  307. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  308. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  309. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  310. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  311. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  312. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  313. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  314. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  315. package/dist/build/generate-manifest.d.ts +0 -81
  316. package/dist/build/generate-manifest.d.ts.map +0 -1
  317. package/dist/build/generate-manifest.js +0 -276
  318. package/dist/build/generate-manifest.js.map +0 -1
  319. package/dist/build/generate-route-types.d.ts +0 -115
  320. package/dist/build/generate-route-types.d.ts.map +0 -1
  321. package/dist/build/generate-route-types.js +0 -740
  322. package/dist/build/generate-route-types.js.map +0 -1
  323. package/dist/build/index.d.ts +0 -21
  324. package/dist/build/index.d.ts.map +0 -1
  325. package/dist/build/index.js +0 -21
  326. package/dist/build/index.js.map +0 -1
  327. package/dist/build/route-trie.d.ts +0 -71
  328. package/dist/build/route-trie.d.ts.map +0 -1
  329. package/dist/build/route-trie.js +0 -175
  330. package/dist/build/route-trie.js.map +0 -1
  331. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  332. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  333. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  334. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  335. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  336. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  337. package/dist/cache/__tests__/document-cache.test.js +0 -345
  338. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  339. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  340. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  341. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  342. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  343. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  344. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  345. package/dist/cache/__tests__/memory-store.test.js +0 -367
  346. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  347. package/dist/cache/cache-scope.d.ts +0 -102
  348. package/dist/cache/cache-scope.d.ts.map +0 -1
  349. package/dist/cache/cache-scope.js +0 -440
  350. package/dist/cache/cache-scope.js.map +0 -1
  351. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  352. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  353. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  354. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  355. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  356. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  357. package/dist/cache/cf/cf-cache-store.js +0 -242
  358. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  359. package/dist/cache/cf/index.d.ts +0 -14
  360. package/dist/cache/cf/index.d.ts.map +0 -1
  361. package/dist/cache/cf/index.js +0 -17
  362. package/dist/cache/cf/index.js.map +0 -1
  363. package/dist/cache/document-cache.d.ts +0 -64
  364. package/dist/cache/document-cache.d.ts.map +0 -1
  365. package/dist/cache/document-cache.js +0 -228
  366. package/dist/cache/document-cache.js.map +0 -1
  367. package/dist/cache/index.d.ts +0 -19
  368. package/dist/cache/index.d.ts.map +0 -1
  369. package/dist/cache/index.js +0 -21
  370. package/dist/cache/index.js.map +0 -1
  371. package/dist/cache/memory-segment-store.d.ts +0 -110
  372. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  373. package/dist/cache/memory-segment-store.js +0 -117
  374. package/dist/cache/memory-segment-store.js.map +0 -1
  375. package/dist/cache/memory-store.d.ts +0 -41
  376. package/dist/cache/memory-store.d.ts.map +0 -1
  377. package/dist/cache/memory-store.js +0 -191
  378. package/dist/cache/memory-store.js.map +0 -1
  379. package/dist/cache/types.d.ts +0 -317
  380. package/dist/cache/types.d.ts.map +0 -1
  381. package/dist/cache/types.js +0 -12
  382. package/dist/cache/types.js.map +0 -1
  383. package/dist/client.d.ts +0 -248
  384. package/dist/client.d.ts.map +0 -1
  385. package/dist/client.js +0 -367
  386. package/dist/client.js.map +0 -1
  387. package/dist/client.rsc.d.ts +0 -26
  388. package/dist/client.rsc.d.ts.map +0 -1
  389. package/dist/client.rsc.js +0 -46
  390. package/dist/client.rsc.js.map +0 -1
  391. package/dist/component-utils.d.ts +0 -36
  392. package/dist/component-utils.d.ts.map +0 -1
  393. package/dist/component-utils.js +0 -61
  394. package/dist/component-utils.js.map +0 -1
  395. package/dist/components/DefaultDocument.d.ts +0 -13
  396. package/dist/components/DefaultDocument.d.ts.map +0 -1
  397. package/dist/components/DefaultDocument.js +0 -15
  398. package/dist/components/DefaultDocument.js.map +0 -1
  399. package/dist/debug.d.ts +0 -58
  400. package/dist/debug.d.ts.map +0 -1
  401. package/dist/debug.js +0 -157
  402. package/dist/debug.js.map +0 -1
  403. package/dist/default-error-boundary.d.ts +0 -11
  404. package/dist/default-error-boundary.d.ts.map +0 -1
  405. package/dist/default-error-boundary.js +0 -45
  406. package/dist/default-error-boundary.js.map +0 -1
  407. package/dist/deps/browser.d.ts +0 -2
  408. package/dist/deps/browser.d.ts.map +0 -1
  409. package/dist/deps/browser.js +0 -3
  410. package/dist/deps/browser.js.map +0 -1
  411. package/dist/deps/html-stream-client.d.ts +0 -2
  412. package/dist/deps/html-stream-client.d.ts.map +0 -1
  413. package/dist/deps/html-stream-client.js +0 -3
  414. package/dist/deps/html-stream-client.js.map +0 -1
  415. package/dist/deps/html-stream-server.d.ts +0 -2
  416. package/dist/deps/html-stream-server.d.ts.map +0 -1
  417. package/dist/deps/html-stream-server.js +0 -3
  418. package/dist/deps/html-stream-server.js.map +0 -1
  419. package/dist/deps/rsc.d.ts +0 -2
  420. package/dist/deps/rsc.d.ts.map +0 -1
  421. package/dist/deps/rsc.js +0 -4
  422. package/dist/deps/rsc.js.map +0 -1
  423. package/dist/deps/ssr.d.ts +0 -2
  424. package/dist/deps/ssr.d.ts.map +0 -1
  425. package/dist/deps/ssr.js +0 -3
  426. package/dist/deps/ssr.js.map +0 -1
  427. package/dist/errors.d.ts +0 -174
  428. package/dist/errors.d.ts.map +0 -1
  429. package/dist/errors.js +0 -241
  430. package/dist/errors.js.map +0 -1
  431. package/dist/handle.d.ts +0 -78
  432. package/dist/handle.d.ts.map +0 -1
  433. package/dist/handle.js +0 -82
  434. package/dist/handle.js.map +0 -1
  435. package/dist/handles/MetaTags.d.ts +0 -14
  436. package/dist/handles/MetaTags.d.ts.map +0 -1
  437. package/dist/handles/MetaTags.js +0 -136
  438. package/dist/handles/MetaTags.js.map +0 -1
  439. package/dist/handles/index.d.ts +0 -6
  440. package/dist/handles/index.d.ts.map +0 -1
  441. package/dist/handles/index.js +0 -6
  442. package/dist/handles/index.js.map +0 -1
  443. package/dist/handles/meta.d.ts +0 -39
  444. package/dist/handles/meta.d.ts.map +0 -1
  445. package/dist/handles/meta.js +0 -202
  446. package/dist/handles/meta.js.map +0 -1
  447. package/dist/host/__tests__/errors.test.d.ts +0 -2
  448. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  449. package/dist/host/__tests__/errors.test.js +0 -76
  450. package/dist/host/__tests__/errors.test.js.map +0 -1
  451. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  452. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  453. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  454. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  455. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  456. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  457. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  458. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  459. package/dist/host/__tests__/router.test.d.ts +0 -2
  460. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  461. package/dist/host/__tests__/router.test.js +0 -241
  462. package/dist/host/__tests__/router.test.js.map +0 -1
  463. package/dist/host/__tests__/testing.test.d.ts +0 -2
  464. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  465. package/dist/host/__tests__/testing.test.js +0 -64
  466. package/dist/host/__tests__/testing.test.js.map +0 -1
  467. package/dist/host/__tests__/utils.test.d.ts +0 -2
  468. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  469. package/dist/host/__tests__/utils.test.js +0 -29
  470. package/dist/host/__tests__/utils.test.js.map +0 -1
  471. package/dist/host/cookie-handler.d.ts +0 -34
  472. package/dist/host/cookie-handler.d.ts.map +0 -1
  473. package/dist/host/cookie-handler.js +0 -124
  474. package/dist/host/cookie-handler.js.map +0 -1
  475. package/dist/host/errors.d.ts +0 -56
  476. package/dist/host/errors.d.ts.map +0 -1
  477. package/dist/host/errors.js +0 -79
  478. package/dist/host/errors.js.map +0 -1
  479. package/dist/host/index.d.ts +0 -29
  480. package/dist/host/index.d.ts.map +0 -1
  481. package/dist/host/index.js +0 -32
  482. package/dist/host/index.js.map +0 -1
  483. package/dist/host/pattern-matcher.d.ts +0 -36
  484. package/dist/host/pattern-matcher.d.ts.map +0 -1
  485. package/dist/host/pattern-matcher.js +0 -172
  486. package/dist/host/pattern-matcher.js.map +0 -1
  487. package/dist/host/router.d.ts +0 -26
  488. package/dist/host/router.d.ts.map +0 -1
  489. package/dist/host/router.js +0 -218
  490. package/dist/host/router.js.map +0 -1
  491. package/dist/host/testing.d.ts +0 -36
  492. package/dist/host/testing.d.ts.map +0 -1
  493. package/dist/host/testing.js +0 -55
  494. package/dist/host/testing.js.map +0 -1
  495. package/dist/host/types.d.ts +0 -115
  496. package/dist/host/types.d.ts.map +0 -1
  497. package/dist/host/types.js +0 -7
  498. package/dist/host/types.js.map +0 -1
  499. package/dist/host/utils.d.ts +0 -21
  500. package/dist/host/utils.d.ts.map +0 -1
  501. package/dist/host/utils.js +0 -23
  502. package/dist/host/utils.js.map +0 -1
  503. package/dist/href-client.d.ts +0 -131
  504. package/dist/href-client.d.ts.map +0 -1
  505. package/dist/href-client.js +0 -64
  506. package/dist/href-client.js.map +0 -1
  507. package/dist/href-context.d.ts +0 -29
  508. package/dist/href-context.d.ts.map +0 -1
  509. package/dist/href-context.js +0 -21
  510. package/dist/href-context.js.map +0 -1
  511. package/dist/index.d.ts +0 -73
  512. package/dist/index.d.ts.map +0 -1
  513. package/dist/index.js +0 -91
  514. package/dist/index.js.map +0 -1
  515. package/dist/index.rsc.d.ts +0 -32
  516. package/dist/index.rsc.d.ts.map +0 -1
  517. package/dist/index.rsc.js +0 -40
  518. package/dist/index.rsc.js.map +0 -1
  519. package/dist/internal-debug.d.ts +0 -2
  520. package/dist/internal-debug.d.ts.map +0 -1
  521. package/dist/internal-debug.js +0 -5
  522. package/dist/internal-debug.js.map +0 -1
  523. package/dist/loader.d.ts +0 -14
  524. package/dist/loader.d.ts.map +0 -1
  525. package/dist/loader.js +0 -20
  526. package/dist/loader.js.map +0 -1
  527. package/dist/loader.rsc.d.ts +0 -19
  528. package/dist/loader.rsc.d.ts.map +0 -1
  529. package/dist/loader.rsc.js +0 -99
  530. package/dist/loader.rsc.js.map +0 -1
  531. package/dist/network-error-thrower.d.ts +0 -17
  532. package/dist/network-error-thrower.d.ts.map +0 -1
  533. package/dist/network-error-thrower.js +0 -14
  534. package/dist/network-error-thrower.js.map +0 -1
  535. package/dist/outlet-context.d.ts +0 -13
  536. package/dist/outlet-context.d.ts.map +0 -1
  537. package/dist/outlet-context.js +0 -3
  538. package/dist/outlet-context.js.map +0 -1
  539. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  540. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  541. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  542. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  543. package/dist/prerender/param-hash.d.ts +0 -16
  544. package/dist/prerender/param-hash.d.ts.map +0 -1
  545. package/dist/prerender/param-hash.js +0 -36
  546. package/dist/prerender/param-hash.js.map +0 -1
  547. package/dist/prerender/store.d.ts +0 -38
  548. package/dist/prerender/store.d.ts.map +0 -1
  549. package/dist/prerender/store.js +0 -61
  550. package/dist/prerender/store.js.map +0 -1
  551. package/dist/prerender.d.ts +0 -66
  552. package/dist/prerender.d.ts.map +0 -1
  553. package/dist/prerender.js +0 -57
  554. package/dist/prerender.js.map +0 -1
  555. package/dist/reverse.d.ts +0 -196
  556. package/dist/reverse.d.ts.map +0 -1
  557. package/dist/reverse.js +0 -78
  558. package/dist/reverse.js.map +0 -1
  559. package/dist/root-error-boundary.d.ts +0 -33
  560. package/dist/root-error-boundary.d.ts.map +0 -1
  561. package/dist/root-error-boundary.js +0 -165
  562. package/dist/root-error-boundary.js.map +0 -1
  563. package/dist/route-content-wrapper.d.ts +0 -46
  564. package/dist/route-content-wrapper.d.ts.map +0 -1
  565. package/dist/route-content-wrapper.js +0 -77
  566. package/dist/route-content-wrapper.js.map +0 -1
  567. package/dist/route-definition.d.ts +0 -421
  568. package/dist/route-definition.d.ts.map +0 -1
  569. package/dist/route-definition.js +0 -868
  570. package/dist/route-definition.js.map +0 -1
  571. package/dist/route-map-builder.d.ts +0 -155
  572. package/dist/route-map-builder.d.ts.map +0 -1
  573. package/dist/route-map-builder.js +0 -237
  574. package/dist/route-map-builder.js.map +0 -1
  575. package/dist/route-types.d.ts +0 -165
  576. package/dist/route-types.d.ts.map +0 -1
  577. package/dist/route-types.js +0 -7
  578. package/dist/route-types.js.map +0 -1
  579. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  580. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  581. package/dist/router/__tests__/handler-context.test.js +0 -65
  582. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  583. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  584. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  585. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  586. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  587. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  588. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  589. package/dist/router/__tests__/match-context.test.js +0 -92
  590. package/dist/router/__tests__/match-context.test.js.map +0 -1
  591. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  592. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  593. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  594. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  595. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  596. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  597. package/dist/router/__tests__/match-result.test.js +0 -457
  598. package/dist/router/__tests__/match-result.test.js.map +0 -1
  599. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  600. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  601. package/dist/router/__tests__/on-error.test.js +0 -678
  602. package/dist/router/__tests__/on-error.test.js.map +0 -1
  603. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  604. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  605. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  606. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  607. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  608. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  609. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  610. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  611. package/dist/router/error-handling.d.ts +0 -77
  612. package/dist/router/error-handling.d.ts.map +0 -1
  613. package/dist/router/error-handling.js +0 -202
  614. package/dist/router/error-handling.js.map +0 -1
  615. package/dist/router/handler-context.d.ts +0 -20
  616. package/dist/router/handler-context.d.ts.map +0 -1
  617. package/dist/router/handler-context.js +0 -198
  618. package/dist/router/handler-context.js.map +0 -1
  619. package/dist/router/intercept-resolution.d.ts +0 -66
  620. package/dist/router/intercept-resolution.d.ts.map +0 -1
  621. package/dist/router/intercept-resolution.js +0 -246
  622. package/dist/router/intercept-resolution.js.map +0 -1
  623. package/dist/router/loader-resolution.d.ts +0 -64
  624. package/dist/router/loader-resolution.d.ts.map +0 -1
  625. package/dist/router/loader-resolution.js +0 -284
  626. package/dist/router/loader-resolution.js.map +0 -1
  627. package/dist/router/logging.d.ts +0 -15
  628. package/dist/router/logging.d.ts.map +0 -1
  629. package/dist/router/logging.js +0 -99
  630. package/dist/router/logging.js.map +0 -1
  631. package/dist/router/manifest.d.ts +0 -22
  632. package/dist/router/manifest.d.ts.map +0 -1
  633. package/dist/router/manifest.js +0 -181
  634. package/dist/router/manifest.js.map +0 -1
  635. package/dist/router/match-api.d.ts +0 -35
  636. package/dist/router/match-api.d.ts.map +0 -1
  637. package/dist/router/match-api.js +0 -406
  638. package/dist/router/match-api.js.map +0 -1
  639. package/dist/router/match-context.d.ts +0 -206
  640. package/dist/router/match-context.d.ts.map +0 -1
  641. package/dist/router/match-context.js +0 -17
  642. package/dist/router/match-context.js.map +0 -1
  643. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  644. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  645. package/dist/router/match-middleware/background-revalidation.js +0 -75
  646. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  647. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  648. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  649. package/dist/router/match-middleware/cache-lookup.js +0 -257
  650. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  651. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  652. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  653. package/dist/router/match-middleware/cache-store.js +0 -108
  654. package/dist/router/match-middleware/cache-store.js.map +0 -1
  655. package/dist/router/match-middleware/index.d.ts +0 -81
  656. package/dist/router/match-middleware/index.d.ts.map +0 -1
  657. package/dist/router/match-middleware/index.js +0 -80
  658. package/dist/router/match-middleware/index.js.map +0 -1
  659. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  660. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  661. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  662. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  663. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  664. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  665. package/dist/router/match-middleware/segment-resolution.js +0 -53
  666. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  667. package/dist/router/match-pipelines.d.ts +0 -147
  668. package/dist/router/match-pipelines.d.ts.map +0 -1
  669. package/dist/router/match-pipelines.js +0 -82
  670. package/dist/router/match-pipelines.js.map +0 -1
  671. package/dist/router/match-result.d.ts +0 -126
  672. package/dist/router/match-result.d.ts.map +0 -1
  673. package/dist/router/match-result.js +0 -93
  674. package/dist/router/match-result.js.map +0 -1
  675. package/dist/router/metrics.d.ts +0 -20
  676. package/dist/router/metrics.d.ts.map +0 -1
  677. package/dist/router/metrics.js +0 -47
  678. package/dist/router/metrics.js.map +0 -1
  679. package/dist/router/middleware.d.ts +0 -249
  680. package/dist/router/middleware.d.ts.map +0 -1
  681. package/dist/router/middleware.js +0 -434
  682. package/dist/router/middleware.js.map +0 -1
  683. package/dist/router/middleware.test.d.ts +0 -2
  684. package/dist/router/middleware.test.d.ts.map +0 -1
  685. package/dist/router/middleware.test.js +0 -816
  686. package/dist/router/middleware.test.js.map +0 -1
  687. package/dist/router/pattern-matching.d.ts +0 -149
  688. package/dist/router/pattern-matching.d.ts.map +0 -1
  689. package/dist/router/pattern-matching.js +0 -349
  690. package/dist/router/pattern-matching.js.map +0 -1
  691. package/dist/router/revalidation.d.ts +0 -44
  692. package/dist/router/revalidation.d.ts.map +0 -1
  693. package/dist/router/revalidation.js +0 -147
  694. package/dist/router/revalidation.js.map +0 -1
  695. package/dist/router/router-context.d.ts +0 -135
  696. package/dist/router/router-context.d.ts.map +0 -1
  697. package/dist/router/router-context.js +0 -36
  698. package/dist/router/router-context.js.map +0 -1
  699. package/dist/router/segment-resolution.d.ts +0 -127
  700. package/dist/router/segment-resolution.d.ts.map +0 -1
  701. package/dist/router/segment-resolution.js +0 -919
  702. package/dist/router/segment-resolution.js.map +0 -1
  703. package/dist/router/trie-matching.d.ts +0 -40
  704. package/dist/router/trie-matching.d.ts.map +0 -1
  705. package/dist/router/trie-matching.js +0 -127
  706. package/dist/router/trie-matching.js.map +0 -1
  707. package/dist/router/types.d.ts +0 -136
  708. package/dist/router/types.d.ts.map +0 -1
  709. package/dist/router/types.js +0 -7
  710. package/dist/router/types.js.map +0 -1
  711. package/dist/router.d.ts +0 -753
  712. package/dist/router.d.ts.map +0 -1
  713. package/dist/router.gen.d.ts +0 -6
  714. package/dist/router.gen.d.ts.map +0 -1
  715. package/dist/router.gen.js +0 -6
  716. package/dist/router.gen.js.map +0 -1
  717. package/dist/router.js +0 -1304
  718. package/dist/router.js.map +0 -1
  719. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  720. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  721. package/dist/rsc/__tests__/helpers.test.js +0 -140
  722. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  723. package/dist/rsc/handler.d.ts +0 -45
  724. package/dist/rsc/handler.d.ts.map +0 -1
  725. package/dist/rsc/handler.js +0 -1172
  726. package/dist/rsc/handler.js.map +0 -1
  727. package/dist/rsc/helpers.d.ts +0 -16
  728. package/dist/rsc/helpers.d.ts.map +0 -1
  729. package/dist/rsc/helpers.js +0 -55
  730. package/dist/rsc/helpers.js.map +0 -1
  731. package/dist/rsc/index.d.ts +0 -22
  732. package/dist/rsc/index.d.ts.map +0 -1
  733. package/dist/rsc/index.js +0 -23
  734. package/dist/rsc/index.js.map +0 -1
  735. package/dist/rsc/nonce.d.ts +0 -9
  736. package/dist/rsc/nonce.d.ts.map +0 -1
  737. package/dist/rsc/nonce.js +0 -18
  738. package/dist/rsc/nonce.js.map +0 -1
  739. package/dist/rsc/types.d.ts +0 -206
  740. package/dist/rsc/types.d.ts.map +0 -1
  741. package/dist/rsc/types.js +0 -8
  742. package/dist/rsc/types.js.map +0 -1
  743. package/dist/search-params.d.ts +0 -103
  744. package/dist/search-params.d.ts.map +0 -1
  745. package/dist/search-params.js +0 -74
  746. package/dist/search-params.js.map +0 -1
  747. package/dist/segment-system.d.ts +0 -75
  748. package/dist/segment-system.d.ts.map +0 -1
  749. package/dist/segment-system.js +0 -336
  750. package/dist/segment-system.js.map +0 -1
  751. package/dist/server/context.d.ts +0 -245
  752. package/dist/server/context.d.ts.map +0 -1
  753. package/dist/server/context.js +0 -197
  754. package/dist/server/context.js.map +0 -1
  755. package/dist/server/fetchable-loader-store.d.ts +0 -18
  756. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  757. package/dist/server/fetchable-loader-store.js +0 -18
  758. package/dist/server/fetchable-loader-store.js.map +0 -1
  759. package/dist/server/handle-store.d.ts +0 -85
  760. package/dist/server/handle-store.d.ts.map +0 -1
  761. package/dist/server/handle-store.js +0 -142
  762. package/dist/server/handle-store.js.map +0 -1
  763. package/dist/server/loader-registry.d.ts +0 -55
  764. package/dist/server/loader-registry.d.ts.map +0 -1
  765. package/dist/server/loader-registry.js +0 -132
  766. package/dist/server/loader-registry.js.map +0 -1
  767. package/dist/server/request-context.d.ts +0 -226
  768. package/dist/server/request-context.d.ts.map +0 -1
  769. package/dist/server/request-context.js +0 -290
  770. package/dist/server/request-context.js.map +0 -1
  771. package/dist/server/root-layout.d.ts +0 -4
  772. package/dist/server/root-layout.d.ts.map +0 -1
  773. package/dist/server/root-layout.js +0 -5
  774. package/dist/server/root-layout.js.map +0 -1
  775. package/dist/server.d.ts +0 -15
  776. package/dist/server.d.ts.map +0 -1
  777. package/dist/server.js +0 -20
  778. package/dist/server.js.map +0 -1
  779. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  780. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  781. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  782. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  783. package/dist/ssr/index.d.ts +0 -98
  784. package/dist/ssr/index.d.ts.map +0 -1
  785. package/dist/ssr/index.js +0 -158
  786. package/dist/ssr/index.js.map +0 -1
  787. package/dist/static-handler.d.ts +0 -50
  788. package/dist/static-handler.d.ts.map +0 -1
  789. package/dist/static-handler.gen.d.ts +0 -5
  790. package/dist/static-handler.gen.d.ts.map +0 -1
  791. package/dist/static-handler.gen.js +0 -5
  792. package/dist/static-handler.gen.js.map +0 -1
  793. package/dist/static-handler.js +0 -29
  794. package/dist/static-handler.js.map +0 -1
  795. package/dist/theme/ThemeProvider.d.ts +0 -20
  796. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  797. package/dist/theme/ThemeProvider.js +0 -240
  798. package/dist/theme/ThemeProvider.js.map +0 -1
  799. package/dist/theme/ThemeScript.d.ts +0 -48
  800. package/dist/theme/ThemeScript.d.ts.map +0 -1
  801. package/dist/theme/ThemeScript.js +0 -13
  802. package/dist/theme/ThemeScript.js.map +0 -1
  803. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  804. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  805. package/dist/theme/__tests__/theme.test.js +0 -103
  806. package/dist/theme/__tests__/theme.test.js.map +0 -1
  807. package/dist/theme/constants.d.ts +0 -29
  808. package/dist/theme/constants.d.ts.map +0 -1
  809. package/dist/theme/constants.js +0 -48
  810. package/dist/theme/constants.js.map +0 -1
  811. package/dist/theme/index.d.ts +0 -31
  812. package/dist/theme/index.d.ts.map +0 -1
  813. package/dist/theme/index.js +0 -36
  814. package/dist/theme/index.js.map +0 -1
  815. package/dist/theme/theme-context.d.ts +0 -40
  816. package/dist/theme/theme-context.d.ts.map +0 -1
  817. package/dist/theme/theme-context.js +0 -60
  818. package/dist/theme/theme-context.js.map +0 -1
  819. package/dist/theme/theme-script.d.ts +0 -27
  820. package/dist/theme/theme-script.d.ts.map +0 -1
  821. package/dist/theme/theme-script.js +0 -147
  822. package/dist/theme/theme-script.js.map +0 -1
  823. package/dist/theme/types.d.ts +0 -163
  824. package/dist/theme/types.d.ts.map +0 -1
  825. package/dist/theme/types.js +0 -11
  826. package/dist/theme/types.js.map +0 -1
  827. package/dist/theme/use-theme.d.ts +0 -12
  828. package/dist/theme/use-theme.d.ts.map +0 -1
  829. package/dist/theme/use-theme.js +0 -40
  830. package/dist/theme/use-theme.js.map +0 -1
  831. package/dist/types.d.ts +0 -1479
  832. package/dist/types.d.ts.map +0 -1
  833. package/dist/types.js +0 -10
  834. package/dist/types.js.map +0 -1
  835. package/dist/urls.d.ts +0 -441
  836. package/dist/urls.d.ts.map +0 -1
  837. package/dist/urls.gen.d.ts +0 -8
  838. package/dist/urls.gen.d.ts.map +0 -1
  839. package/dist/urls.gen.js +0 -8
  840. package/dist/urls.gen.js.map +0 -1
  841. package/dist/urls.js +0 -443
  842. package/dist/urls.js.map +0 -1
  843. package/dist/use-loader.d.ts +0 -127
  844. package/dist/use-loader.d.ts.map +0 -1
  845. package/dist/use-loader.js +0 -237
  846. package/dist/use-loader.js.map +0 -1
  847. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  848. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  849. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  850. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  851. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  852. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  853. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  854. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  855. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  856. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  857. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  858. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  859. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  860. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  861. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  862. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  863. package/dist/vite/ast-handler-extract.d.ts +0 -49
  864. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  865. package/dist/vite/ast-handler-extract.js +0 -249
  866. package/dist/vite/ast-handler-extract.js.map +0 -1
  867. package/dist/vite/expose-action-id.d.ts +0 -19
  868. package/dist/vite/expose-action-id.d.ts.map +0 -1
  869. package/dist/vite/expose-action-id.js +0 -250
  870. package/dist/vite/expose-action-id.js.map +0 -1
  871. package/dist/vite/expose-id-utils.d.ts +0 -69
  872. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  873. package/dist/vite/expose-id-utils.js +0 -289
  874. package/dist/vite/expose-id-utils.js.map +0 -1
  875. package/dist/vite/expose-internal-ids.d.ts +0 -22
  876. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  877. package/dist/vite/expose-internal-ids.js +0 -886
  878. package/dist/vite/expose-internal-ids.js.map +0 -1
  879. package/dist/vite/index.d.ts +0 -149
  880. package/dist/vite/index.d.ts.map +0 -1
  881. package/dist/vite/index.js.map +0 -1
  882. package/dist/vite/index.named-routes.gen.ts +0 -103
  883. package/dist/vite/package-resolution.d.ts +0 -43
  884. package/dist/vite/package-resolution.d.ts.map +0 -1
  885. package/dist/vite/package-resolution.js +0 -112
  886. package/dist/vite/package-resolution.js.map +0 -1
  887. package/dist/vite/virtual-entries.d.ts +0 -25
  888. package/dist/vite/virtual-entries.d.ts.map +0 -1
  889. package/dist/vite/virtual-entries.js +0 -110
  890. package/dist/vite/virtual-entries.js.map +0 -1
@@ -1,172 +0,0 @@
1
- /**
2
- * Pattern Matching Engine
3
- *
4
- * Handles matching of hostnames and paths against various patterns:
5
- * - `.` or `*` - any apex domain
6
- * - `**` - any domain (apex + subdomains)
7
- * - `*.` - any single-level subdomain
8
- * - `**.` - any multi-level subdomain
9
- * - `example.com` - exact domain
10
- * - `*.com` - any apex .com domain
11
- * - `*.example.com` - subdomain of example.com
12
- * - `**.example.com` - any depth subdomain
13
- * - `admin.*` - admin subdomain of any apex
14
- * - `example.com/admin` - specific domain with path prefix
15
- */
16
- import { InvalidPatternError } from './errors.js';
17
- /**
18
- * Normalize a pattern by removing trailing slashes from paths
19
- */
20
- export function normalizePattern(pattern) {
21
- // If pattern has a path component, remove trailing slash
22
- const slashIndex = pattern.indexOf('/');
23
- if (slashIndex !== -1) {
24
- const domain = pattern.slice(0, slashIndex);
25
- const path = pattern.slice(slashIndex).replace(/\/$/, '');
26
- return domain + path;
27
- }
28
- return pattern;
29
- }
30
- /**
31
- * Parse hostname and path from request URL
32
- */
33
- export function parseRequest(request) {
34
- const url = new URL(request.url);
35
- const hostname = url.hostname;
36
- const pathname = url.pathname;
37
- const parts = hostname.split('.');
38
- return { hostname, pathname, parts };
39
- }
40
- /**
41
- * Count subdomain levels (0 for apex, 1+ for subdomains)
42
- */
43
- function getSubdomainLevel(parts) {
44
- // Apex domain has 2 parts (example.com)
45
- // Single subdomain has 3 parts (www.example.com)
46
- // Multi-level has 4+ parts (a.b.example.com)
47
- return Math.max(0, parts.length - 2);
48
- }
49
- /**
50
- * Check if hostname is an apex domain (no subdomains)
51
- */
52
- function isApexDomain(parts) {
53
- return parts.length === 2;
54
- }
55
- /**
56
- * Match a single pattern against hostname and path
57
- */
58
- export function matchPattern(pattern, hostname, pathname, parts) {
59
- const normalized = normalizePattern(pattern);
60
- // Check if pattern has path component
61
- const slashIndex = normalized.indexOf('/');
62
- const hasPath = slashIndex !== -1;
63
- const domainPattern = hasPath ? normalized.slice(0, slashIndex) : normalized;
64
- const pathPattern = hasPath ? normalized.slice(slashIndex) : null;
65
- // First match domain
66
- const domainMatch = matchDomainPattern(domainPattern, hostname, parts);
67
- if (!domainMatch) {
68
- return false;
69
- }
70
- // Then match path (prefix match)
71
- if (pathPattern) {
72
- return pathname === pathPattern || pathname.startsWith(pathPattern + '/');
73
- }
74
- return true;
75
- }
76
- /**
77
- * Match domain pattern against hostname
78
- */
79
- function matchDomainPattern(pattern, hostname, parts) {
80
- // Exact match
81
- if (pattern === hostname) {
82
- return true;
83
- }
84
- // `.` or `*` - any apex domain
85
- if (pattern === '.' || pattern === '*') {
86
- return isApexDomain(parts);
87
- }
88
- // `**` - any domain (apex + all subdomains)
89
- if (pattern === '**') {
90
- return true;
91
- }
92
- // `*.` - any single-level subdomain
93
- if (pattern === '*.') {
94
- return getSubdomainLevel(parts) === 1;
95
- }
96
- // `**.` - any multi-level subdomain (2+ levels)
97
- if (pattern === '**.') {
98
- return getSubdomainLevel(parts) >= 2;
99
- }
100
- // `*.tld` - any apex domain with specific TLD (e.g., *.com)
101
- if (pattern.startsWith('*.') && !pattern.includes('.', 2)) {
102
- const tld = pattern.slice(2);
103
- return isApexDomain(parts) && hostname.endsWith('.' + tld);
104
- }
105
- // `*.example.com` - single subdomain of specific domain
106
- if (pattern.startsWith('*.')) {
107
- const baseDomain = pattern.slice(2);
108
- if (hostname.endsWith('.' + baseDomain)) {
109
- // Count parts: if pattern is *.example.com (3 parts),
110
- // hostname should have exactly 4 parts (www.example.com)
111
- const patternParts = baseDomain.split('.');
112
- return parts.length === patternParts.length + 1;
113
- }
114
- return false;
115
- }
116
- // `**.example.com` - any depth subdomain of specific domain
117
- if (pattern.startsWith('**.')) {
118
- const baseDomain = pattern.slice(3);
119
- if (hostname.endsWith('.' + baseDomain)) {
120
- const patternParts = baseDomain.split('.');
121
- // Must have more parts than the base domain (i.e., has subdomains)
122
- return parts.length > patternParts.length;
123
- }
124
- return false;
125
- }
126
- // `subdomain.*` - specific subdomain of any apex domain
127
- // e.g., admin.* matches admin.example.com, admin.google.com
128
- if (pattern.endsWith('.*')) {
129
- const subdomain = pattern.slice(0, -2);
130
- // Must be single-level subdomain (3 parts total)
131
- if (parts.length === 3 && parts[0] === subdomain) {
132
- return true;
133
- }
134
- return false;
135
- }
136
- // `subdomain.**` - specific subdomain of any domain (including multi-level)
137
- // e.g., admin.** matches admin.example.com, admin.sub.example.com
138
- if (pattern.endsWith('.**')) {
139
- const subdomain = pattern.slice(0, -3);
140
- if (parts.length >= 3 && parts[0] === subdomain) {
141
- return true;
142
- }
143
- return false;
144
- }
145
- // `subdomain.` - specific subdomain of any apex domain (no wildcard)
146
- // e.g., admin. matches admin.example.com, admin.google.com
147
- if (pattern.endsWith('.') && !pattern.includes('*')) {
148
- const subdomain = pattern.slice(0, -1);
149
- // Must be exactly 3 parts (subdomain.domain.tld)
150
- if (parts.length === 3 && parts[0] === subdomain) {
151
- return true;
152
- }
153
- return false;
154
- }
155
- return false;
156
- }
157
- /**
158
- * Validate pattern format
159
- */
160
- export function validatePattern(pattern) {
161
- if (!pattern || typeof pattern !== 'string') {
162
- throw new InvalidPatternError(pattern, 'Pattern must be a non-empty string', { cause: { type: typeof pattern, value: pattern } });
163
- }
164
- // Check for invalid characters (spaces, etc.)
165
- if (/\s/.test(pattern)) {
166
- throw new InvalidPatternError(pattern, 'contains whitespace', {
167
- cause: { pattern },
168
- });
169
- }
170
- // Additional validation can be added here
171
- }
172
- //# sourceMappingURL=pattern-matcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pattern-matcher.js","sourceRoot":"","sources":["../../src/host/pattern-matcher.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- /**
2
- * Host Router Implementation
3
- *
4
- * Main router that handles host-based routing with middleware and cookie override.
5
- */
6
- import type { HostRouter, HostRouterOptions, RouteEntry } from './types.js';
7
- /**
8
- * Registry entry for a host router instance.
9
- * Stores references to the live routes array and fallback, so the discovery
10
- * plugin can iterate handlers registered after createHostRouter() returns.
11
- */
12
- export interface HostRouterRegistryEntry {
13
- routes: RouteEntry[];
14
- fallback: RouteEntry | null;
15
- }
16
- /**
17
- * Global registry for host routers (parallel to RouterRegistry for RSC routers).
18
- * Populated by createHostRouter() so the build-time discovery plugin can find
19
- * host routers and resolve their lazy handlers to trigger sub-app createRouter() calls.
20
- */
21
- export declare const HostRouterRegistry: Map<string, HostRouterRegistryEntry>;
22
- /**
23
- * Create a host router
24
- */
25
- export declare function createHostRouter(options?: HostRouterOptions): HostRouter;
26
- //# sourceMappingURL=router.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/host/router.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,UAAU,EAEV,iBAAiB,EAKjB,UAAU,EAEX,MAAM,YAAY,CAAC;AAiBpB;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,EAAE,UAAU,GAAG,IAAI,CAAC;CAC7B;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAa,CAAC;AAIlF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,UAAU,CAkR5E"}
@@ -1,218 +0,0 @@
1
- /**
2
- * Host Router Implementation
3
- *
4
- * Main router that handles host-based routing with middleware and cookie override.
5
- */
6
- import { matchPattern, parseRequest, normalizePattern, validatePattern, } from './pattern-matcher.js';
7
- import { handleCookieOverride, createCookieErrorResponse, } from './cookie-handler.js';
8
- import { HostRouterError, NoRouteMatchError, InvalidHandlerError, } from './errors.js';
9
- /**
10
- * Global registry for host routers (parallel to RouterRegistry for RSC routers).
11
- * Populated by createHostRouter() so the build-time discovery plugin can find
12
- * host routers and resolve their lazy handlers to trigger sub-app createRouter() calls.
13
- */
14
- export const HostRouterRegistry = new Map();
15
- let hostRouterAutoId = 0;
16
- /**
17
- * Create a host router
18
- */
19
- export function createHostRouter(options = {}) {
20
- const routes = [];
21
- const globalMiddleware = [];
22
- let fallbackRoute = null;
23
- const { debug = false, hostOverride } = options;
24
- function log(message, ...args) {
25
- if (debug) {
26
- console.log(`[HostRouter] ${message}`, ...args);
27
- }
28
- }
29
- /**
30
- * Create a route builder for chaining
31
- */
32
- function createRouteBuilder(patterns, isFallback = false) {
33
- const middleware = [];
34
- return {
35
- use(...mw) {
36
- middleware.push(...mw);
37
- return this;
38
- },
39
- map(handler) {
40
- const entry = {
41
- patterns,
42
- middleware,
43
- handler,
44
- isFallback,
45
- };
46
- if (isFallback) {
47
- fallbackRoute = entry;
48
- }
49
- else {
50
- routes.push(entry);
51
- }
52
- log(`Registered ${isFallback ? 'fallback' : 'route'}:`, patterns.join(', '));
53
- return router;
54
- },
55
- };
56
- }
57
- /**
58
- * Find matching route for hostname and path
59
- */
60
- function findMatchingRoute(hostname, pathname) {
61
- const parts = hostname.split('.');
62
- for (const route of routes) {
63
- for (const pattern of route.patterns) {
64
- if (matchPattern(pattern, hostname, pathname, parts)) {
65
- log(`Matched pattern: "${pattern}"`);
66
- return route;
67
- }
68
- }
69
- }
70
- return null;
71
- }
72
- /**
73
- * Execute middleware chain
74
- */
75
- async function executeMiddleware(middleware, request, context, finalHandler) {
76
- let index = 0;
77
- async function next() {
78
- if (index >= middleware.length) {
79
- return finalHandler();
80
- }
81
- const mw = middleware[index++];
82
- if (!mw) {
83
- return finalHandler();
84
- }
85
- return mw(request, context, next);
86
- }
87
- return next();
88
- }
89
- /**
90
- * Execute handler (lazy or direct)
91
- */
92
- async function executeHandler(handler, request, context) {
93
- // Check if it's a lazy handler (function that returns promise)
94
- if (typeof handler === 'function') {
95
- const result = handler(request, context);
96
- // If it returns a promise with default export
97
- if (result && typeof result === 'object' && 'then' in result) {
98
- const module = await result;
99
- if (typeof module === 'object' &&
100
- module !== null &&
101
- 'default' in module) {
102
- const defaultExport = module
103
- .default;
104
- // If default export is a router with match method
105
- if (typeof defaultExport === 'object' &&
106
- defaultExport !== null &&
107
- 'match' in defaultExport) {
108
- return defaultExport.match(request, context);
109
- }
110
- // Otherwise treat as handler
111
- return defaultExport(request, context);
112
- }
113
- // If promise resolves to Response
114
- return result;
115
- }
116
- // Direct handler
117
- return result;
118
- }
119
- throw new InvalidHandlerError(handler, {
120
- cause: { handlerType: typeof handler },
121
- });
122
- }
123
- /**
124
- * Router instance
125
- */
126
- const router = {
127
- host(patterns) {
128
- const patternsArray = Array.isArray(patterns) ? patterns : [patterns];
129
- // Validate and normalize patterns
130
- const normalized = patternsArray.map((p) => {
131
- validatePattern(p);
132
- return normalizePattern(p);
133
- });
134
- return createRouteBuilder(normalized, false);
135
- },
136
- use(...middleware) {
137
- globalMiddleware.push(...middleware);
138
- log(`Registered global middleware (${middleware.length})`);
139
- return router;
140
- },
141
- fallback() {
142
- return createRouteBuilder([], true);
143
- },
144
- test(hostname) {
145
- const parts = hostname.split('.');
146
- const pathname = '/';
147
- for (const route of routes) {
148
- for (const pattern of route.patterns) {
149
- if (matchPattern(pattern, hostname, pathname, parts)) {
150
- return {
151
- pattern,
152
- handler: route.handler,
153
- };
154
- }
155
- }
156
- }
157
- return null;
158
- },
159
- async match(request, context = {}) {
160
- log(`Request: ${request.url}`);
161
- let effectiveHostname;
162
- try {
163
- // Handle cookie override (may throw HostRouterError)
164
- effectiveHostname = handleCookieOverride(request, hostOverride, context);
165
- }
166
- catch (error) {
167
- // If it's a HostRouterError from cookie override
168
- if (error instanceof HostRouterError) {
169
- log(`Cookie override error: ${error.message}`);
170
- // If fallback exists, use it
171
- if (fallbackRoute) {
172
- context.error = error;
173
- const allMiddleware = [
174
- ...globalMiddleware,
175
- ...fallbackRoute.middleware,
176
- ];
177
- return executeMiddleware(allMiddleware, request, context, () => executeHandler(fallbackRoute.handler, request, context));
178
- }
179
- // Otherwise return error response with cookie deletion
180
- if (hostOverride) {
181
- return createCookieErrorResponse(hostOverride.cookieName, error.message);
182
- }
183
- }
184
- // Re-throw non-HostRouterErrors
185
- throw error;
186
- }
187
- const { pathname } = parseRequest(request);
188
- if (effectiveHostname !== parseRequest(request).hostname) {
189
- log(`Cookie override: ${effectiveHostname}`);
190
- }
191
- // Find matching route
192
- const matchedRoute = findMatchingRoute(effectiveHostname, pathname);
193
- if (!matchedRoute) {
194
- log(`No route matched`);
195
- throw new NoRouteMatchError(effectiveHostname, pathname, {
196
- cause: {
197
- hostname: effectiveHostname,
198
- pathname,
199
- },
200
- });
201
- }
202
- // Combine global and route-specific middleware
203
- const allMiddleware = [...globalMiddleware, ...matchedRoute.middleware];
204
- // Execute middleware chain and handler
205
- return executeMiddleware(allMiddleware, request, context, () => executeHandler(matchedRoute.handler, request, context));
206
- },
207
- };
208
- // Register in the global HostRouterRegistry for build-time discovery.
209
- // The routes array and fallbackRoute ref are live - they reflect routes
210
- // added via .host().map() after this point.
211
- const registryId = `host-router-${hostRouterAutoId++}`;
212
- HostRouterRegistry.set(registryId, {
213
- get routes() { return routes; },
214
- get fallback() { return fallbackRoute; },
215
- });
216
- return router;
217
- }
218
- //# sourceMappingURL=router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/host/router.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- /**
2
- * Testing Utilities for Host Router
3
- *
4
- * Helper functions for testing host routing.
5
- */
6
- export interface CreateTestRequestOptions {
7
- host: string;
8
- path?: string;
9
- method?: string;
10
- cookies?: Record<string, string>;
11
- headers?: Record<string, string>;
12
- }
13
- /**
14
- * Create a test request with specific host and cookies
15
- *
16
- * @example
17
- * ```ts
18
- * const request = createTestRequest({
19
- * host: 'admin.example.com',
20
- * path: '/dashboard',
21
- * cookies: { 'x-requested-host': 'api.example.com' }
22
- * });
23
- * ```
24
- */
25
- export declare function createTestRequest(options: CreateTestRequestOptions): Request;
26
- /**
27
- * Test if a pattern matches a hostname
28
- *
29
- * @example
30
- * ```ts
31
- * expect(testPattern('admin.*', 'admin.example.com')).toBe(true);
32
- * expect(testPattern(['*', 'www.*'], 'example.com')).toBe(true);
33
- * ```
34
- */
35
- export declare function testPattern(pattern: string | string[], hostname: string): boolean;
36
- //# sourceMappingURL=testing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/host/testing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAwB5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,QAAQ,EAAE,MAAM,GACf,OAAO,CAYT"}
@@ -1,55 +0,0 @@
1
- /**
2
- * Testing Utilities for Host Router
3
- *
4
- * Helper functions for testing host routing.
5
- */
6
- import { matchPattern } from './pattern-matcher.js';
7
- /**
8
- * Create a test request with specific host and cookies
9
- *
10
- * @example
11
- * ```ts
12
- * const request = createTestRequest({
13
- * host: 'admin.example.com',
14
- * path: '/dashboard',
15
- * cookies: { 'x-requested-host': 'api.example.com' }
16
- * });
17
- * ```
18
- */
19
- export function createTestRequest(options) {
20
- const { host, path = '/', method = 'GET', cookies = {}, headers = {}, } = options;
21
- const url = `http://${host}${path}`;
22
- const requestHeaders = new Headers(headers);
23
- // Add cookies if provided
24
- if (Object.keys(cookies).length > 0) {
25
- const cookieString = Object.entries(cookies)
26
- .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)
27
- .join('; ');
28
- requestHeaders.set('cookie', cookieString);
29
- }
30
- return new Request(url, {
31
- method,
32
- headers: requestHeaders,
33
- });
34
- }
35
- /**
36
- * Test if a pattern matches a hostname
37
- *
38
- * @example
39
- * ```ts
40
- * expect(testPattern('admin.*', 'admin.example.com')).toBe(true);
41
- * expect(testPattern(['*', 'www.*'], 'example.com')).toBe(true);
42
- * ```
43
- */
44
- export function testPattern(pattern, hostname) {
45
- const patterns = Array.isArray(pattern) ? pattern : [pattern];
46
- const parts = hostname.split('.');
47
- const pathname = '/';
48
- for (const p of patterns) {
49
- if (matchPattern(p, hostname, pathname, parts)) {
50
- return true;
51
- }
52
- }
53
- return false;
54
- }
55
- //# sourceMappingURL=testing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/host/testing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAUpD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAiC;IACjE,MAAM,EACJ,IAAI,EACJ,IAAI,GAAG,GAAG,EACV,MAAM,GAAG,KAAK,EACd,OAAO,GAAG,EAAE,EACZ,OAAO,GAAG,EAAE,GACb,GAAG,OAAO,CAAC;IAEZ,MAAM,GAAG,GAAG,UAAU,IAAI,GAAG,IAAI,EAAE,CAAC;IACpC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5C,0BAA0B;IAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;aAC5D,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE;QACtB,MAAM;QACN,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CACzB,OAA0B,EAC1B,QAAgB;IAEhB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,GAAG,CAAC;IAErB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,115 +0,0 @@
1
- /**
2
- * Host Router Types
3
- *
4
- * Type definitions for the host-based routing system.
5
- */
6
- /**
7
- * Handler function that processes a request and returns a response
8
- */
9
- export type Handler = (request: Request, context: any) => Response | Promise<Response>;
10
- /**
11
- * Lazy handler that dynamically imports a module with a default handler or router
12
- */
13
- export type LazyHandler = () => Promise<{
14
- default: Handler | HostRouter;
15
- }>;
16
- /**
17
- * Middleware function that can intercept and modify requests/responses
18
- */
19
- export type Middleware = (request: Request, context: any, next: () => Promise<Response>) => Promise<Response>;
20
- /**
21
- * Host pattern - can be a string or array of strings
22
- */
23
- export type HostPattern = string | string[];
24
- /**
25
- * Result from testing a hostname against patterns
26
- */
27
- export interface HostMatchResult {
28
- pattern: string;
29
- handler: Handler | LazyHandler;
30
- }
31
- /**
32
- * Host route builder for chaining middleware and handler
33
- */
34
- export interface HostRouteBuilder {
35
- /**
36
- * Add middleware to this host pattern
37
- */
38
- use(...middleware: Middleware[]): HostRouteBuilder;
39
- /**
40
- * Map to a handler or lazy import
41
- */
42
- map(handler: Handler | LazyHandler): HostRouter;
43
- }
44
- /**
45
- * Main host router interface
46
- */
47
- export interface HostRouter {
48
- /**
49
- * Register a host pattern
50
- */
51
- host(patterns: HostPattern): HostRouteBuilder;
52
- /**
53
- * Register global middleware
54
- */
55
- use(...middleware: Middleware[]): HostRouter;
56
- /**
57
- * Match an incoming request
58
- */
59
- match(request: Request, context?: any): Promise<Response>;
60
- /**
61
- * Register fallback handler for allowed hosts without valid cookie
62
- */
63
- fallback(): HostRouteBuilder;
64
- /**
65
- * Test which handler would match a hostname
66
- */
67
- test(hostname: string): HostMatchResult | null;
68
- }
69
- /**
70
- * Host override configuration
71
- */
72
- export interface HostOverrideConfig {
73
- /**
74
- * Cookie name to read for host override
75
- */
76
- cookieName: string;
77
- /**
78
- * Hosts that are allowed to use override
79
- */
80
- allowedHosts: string[];
81
- /**
82
- * Optional validation function
83
- */
84
- validate?: (request: Request, cookieValue: string, context: any) => string;
85
- }
86
- /**
87
- * Host router options
88
- */
89
- export interface HostRouterOptions {
90
- /**
91
- * Enable debug logging
92
- */
93
- debug?: boolean;
94
- /**
95
- * Cookie-based host override configuration
96
- */
97
- hostOverride?: HostOverrideConfig;
98
- }
99
- /**
100
- * Internal route entry
101
- */
102
- export interface RouteEntry {
103
- patterns: string[];
104
- middleware: Middleware[];
105
- handler: Handler | LazyHandler;
106
- isFallback?: boolean;
107
- }
108
- /**
109
- * Pattern match result (internal)
110
- */
111
- export interface PatternMatchResult {
112
- matched: boolean;
113
- routeEntry?: RouteEntry;
114
- }
115
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/host/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,CACpB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,GAAG,KACT,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,GAAG,UAAU,CAAA;CAAE,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,KAC1B,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,GAAG,WAAW,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,GAAG,CAAC,GAAG,UAAU,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC;IAEnD;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,gBAAgB,CAAC;IAE9C;;OAEG;IACH,GAAG,CAAC,GAAG,UAAU,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;IAE7C;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE1D;;OAEG;IACH,QAAQ,IAAI,gBAAgB,CAAC;IAE7B;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,MAAM,CAAC;CAC5E;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,OAAO,EAAE,OAAO,GAAG,WAAW,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Host Router Types
3
- *
4
- * Type definitions for the host-based routing system.
5
- */
6
- export {};
7
- //# sourceMappingURL=types.js.map