@rangojs/router 0.0.0-experimental.111 → 0.0.0-experimental.113

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 (875) hide show
  1. package/dist/bin/rango.js +42 -38
  2. package/dist/vite/index.js +147 -194
  3. package/package.json +17 -16
  4. package/skills/cache-guide/SKILL.md +35 -24
  5. package/skills/caching/SKILL.md +115 -7
  6. package/skills/document-cache/SKILL.md +78 -55
  7. package/skills/hooks/SKILL.md +37 -19
  8. package/skills/loader/SKILL.md +3 -3
  9. package/skills/rango/SKILL.md +15 -10
  10. package/skills/use-cache/SKILL.md +34 -5
  11. package/src/browser/action-coordinator.ts +53 -36
  12. package/src/browser/event-controller.ts +42 -66
  13. package/src/browser/navigation-bridge.ts +4 -0
  14. package/src/browser/navigation-client.ts +12 -15
  15. package/src/browser/navigation-store.ts +7 -8
  16. package/src/browser/navigation-transaction.ts +7 -21
  17. package/src/browser/partial-update.ts +8 -16
  18. package/src/browser/react/NavigationProvider.tsx +29 -40
  19. package/src/browser/react/location-state-shared.ts +93 -3
  20. package/src/browser/react/use-params.ts +3 -4
  21. package/src/browser/response-adapter.ts +25 -0
  22. package/src/browser/rsc-router.tsx +16 -2
  23. package/src/browser/server-action-bridge.ts +23 -30
  24. package/src/browser/types.ts +2 -0
  25. package/src/build/generate-manifest.ts +29 -31
  26. package/src/build/generate-route-types.ts +2 -0
  27. package/src/build/route-types/per-module-writer.ts +4 -1
  28. package/src/build/route-types/router-processing.ts +37 -9
  29. package/src/build/runtime-discovery.ts +9 -20
  30. package/src/cache/cache-scope.ts +28 -42
  31. package/src/cache/cf/cf-cache-store.ts +49 -6
  32. package/src/decode-loader-results.ts +36 -0
  33. package/src/errors.ts +11 -0
  34. package/src/loader-store.ts +62 -25
  35. package/src/loader.ts +1 -5
  36. package/src/response-utils.ts +9 -0
  37. package/src/route-content-wrapper.tsx +6 -28
  38. package/src/route-definition/helpers-types.ts +13 -4
  39. package/src/router/content-negotiation.ts +15 -2
  40. package/src/router/intercept-resolution.ts +4 -18
  41. package/src/router/loader-resolution.ts +16 -2
  42. package/src/router/match-middleware/cache-lookup.ts +44 -91
  43. package/src/router/match-middleware/cache-store.ts +3 -2
  44. package/src/router/match-result.ts +32 -30
  45. package/src/router/middleware.ts +46 -78
  46. package/src/router/preview-match.ts +3 -1
  47. package/src/router/request-classification.ts +4 -28
  48. package/src/rsc/handler.ts +20 -65
  49. package/src/rsc/helpers.ts +3 -2
  50. package/src/rsc/origin-guard.ts +28 -10
  51. package/src/rsc/response-route-handler.ts +32 -52
  52. package/src/rsc/rsc-rendering.ts +27 -53
  53. package/src/rsc/runtime-warnings.ts +9 -10
  54. package/src/rsc/server-action.ts +13 -37
  55. package/src/rsc/ssr-setup.ts +16 -0
  56. package/src/segment-system.tsx +46 -47
  57. package/src/server/context.ts +26 -0
  58. package/src/server/cookie-store.ts +28 -4
  59. package/src/types/handler-context.ts +5 -2
  60. package/src/use-loader.tsx +89 -42
  61. package/src/vite/discovery/discover-routers.ts +10 -22
  62. package/src/vite/discovery/route-types-writer.ts +38 -82
  63. package/src/vite/plugins/cjs-to-esm.ts +3 -7
  64. package/src/vite/plugins/expose-ids/handler-transform.ts +8 -61
  65. package/src/vite/plugins/expose-ids/loader-transform.ts +3 -5
  66. package/src/vite/plugins/expose-internal-ids.ts +34 -62
  67. package/src/vite/plugins/use-cache-transform.ts +12 -10
  68. package/src/vite/plugins/version-injector.ts +2 -12
  69. package/src/vite/router-discovery.ts +71 -26
  70. package/src/vite/utils/shared-utils.ts +13 -1
  71. package/dist/__internal.d.ts +0 -83
  72. package/dist/__internal.d.ts.map +0 -1
  73. package/dist/__internal.js +0 -19
  74. package/dist/__internal.js.map +0 -1
  75. package/dist/__mocks__/version.d.ts +0 -7
  76. package/dist/__mocks__/version.d.ts.map +0 -1
  77. package/dist/__mocks__/version.js +0 -7
  78. package/dist/__mocks__/version.js.map +0 -1
  79. package/dist/__tests__/client-href.test.d.ts +0 -2
  80. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  81. package/dist/__tests__/client-href.test.js +0 -74
  82. package/dist/__tests__/client-href.test.js.map +0 -1
  83. package/dist/__tests__/component-utils.test.d.ts +0 -2
  84. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  85. package/dist/__tests__/component-utils.test.js +0 -51
  86. package/dist/__tests__/component-utils.test.js.map +0 -1
  87. package/dist/__tests__/event-controller.test.d.ts +0 -2
  88. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  89. package/dist/__tests__/event-controller.test.js +0 -538
  90. package/dist/__tests__/event-controller.test.js.map +0 -1
  91. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  92. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  93. package/dist/__tests__/helpers/route-tree.js +0 -374
  94. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  95. package/dist/__tests__/match-result.test.d.ts +0 -2
  96. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  97. package/dist/__tests__/match-result.test.js +0 -154
  98. package/dist/__tests__/match-result.test.js.map +0 -1
  99. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  100. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  101. package/dist/__tests__/navigation-store.test.js +0 -440
  102. package/dist/__tests__/navigation-store.test.js.map +0 -1
  103. package/dist/__tests__/partial-update.test.d.ts +0 -2
  104. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  105. package/dist/__tests__/partial-update.test.js +0 -1009
  106. package/dist/__tests__/partial-update.test.js.map +0 -1
  107. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  108. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  109. package/dist/__tests__/reverse-types.test.js +0 -656
  110. package/dist/__tests__/reverse-types.test.js.map +0 -1
  111. package/dist/__tests__/route-definition.test.d.ts +0 -2
  112. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  113. package/dist/__tests__/route-definition.test.js +0 -55
  114. package/dist/__tests__/route-definition.test.js.map +0 -1
  115. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  116. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  117. package/dist/__tests__/router-helpers.test.js +0 -377
  118. package/dist/__tests__/router-helpers.test.js.map +0 -1
  119. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  120. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  121. package/dist/__tests__/router-integration-2.test.js +0 -426
  122. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  123. package/dist/__tests__/router-integration.test.d.ts +0 -2
  124. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  125. package/dist/__tests__/router-integration.test.js +0 -1051
  126. package/dist/__tests__/router-integration.test.js.map +0 -1
  127. package/dist/__tests__/search-params.test.d.ts +0 -5
  128. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  129. package/dist/__tests__/search-params.test.js +0 -306
  130. package/dist/__tests__/search-params.test.js.map +0 -1
  131. package/dist/__tests__/segment-system.test.d.ts +0 -2
  132. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  133. package/dist/__tests__/segment-system.test.js +0 -627
  134. package/dist/__tests__/segment-system.test.js.map +0 -1
  135. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  136. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  137. package/dist/__tests__/static-handler-types.test.js +0 -63
  138. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  139. package/dist/__tests__/urls.test.d.ts +0 -2
  140. package/dist/__tests__/urls.test.d.ts.map +0 -1
  141. package/dist/__tests__/urls.test.js +0 -421
  142. package/dist/__tests__/urls.test.js.map +0 -1
  143. package/dist/__tests__/use-mount.test.d.ts +0 -2
  144. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  145. package/dist/__tests__/use-mount.test.js +0 -35
  146. package/dist/__tests__/use-mount.test.js.map +0 -1
  147. package/dist/bin/rango.d.ts +0 -2
  148. package/dist/bin/rango.d.ts.map +0 -1
  149. package/dist/bin/rango.js.map +0 -1
  150. package/dist/browser/event-controller.d.ts +0 -191
  151. package/dist/browser/event-controller.d.ts.map +0 -1
  152. package/dist/browser/event-controller.js +0 -559
  153. package/dist/browser/event-controller.js.map +0 -1
  154. package/dist/browser/index.d.ts +0 -2
  155. package/dist/browser/index.d.ts.map +0 -1
  156. package/dist/browser/index.js +0 -14
  157. package/dist/browser/index.js.map +0 -1
  158. package/dist/browser/link-interceptor.d.ts +0 -38
  159. package/dist/browser/link-interceptor.d.ts.map +0 -1
  160. package/dist/browser/link-interceptor.js +0 -99
  161. package/dist/browser/link-interceptor.js.map +0 -1
  162. package/dist/browser/logging.d.ts +0 -10
  163. package/dist/browser/logging.d.ts.map +0 -1
  164. package/dist/browser/logging.js +0 -29
  165. package/dist/browser/logging.js.map +0 -1
  166. package/dist/browser/lru-cache.d.ts +0 -17
  167. package/dist/browser/lru-cache.d.ts.map +0 -1
  168. package/dist/browser/lru-cache.js +0 -50
  169. package/dist/browser/lru-cache.js.map +0 -1
  170. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  171. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  172. package/dist/browser/merge-segment-loaders.js +0 -102
  173. package/dist/browser/merge-segment-loaders.js.map +0 -1
  174. package/dist/browser/navigation-bridge.d.ts +0 -102
  175. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  176. package/dist/browser/navigation-bridge.js +0 -708
  177. package/dist/browser/navigation-bridge.js.map +0 -1
  178. package/dist/browser/navigation-client.d.ts +0 -25
  179. package/dist/browser/navigation-client.d.ts.map +0 -1
  180. package/dist/browser/navigation-client.js +0 -157
  181. package/dist/browser/navigation-client.js.map +0 -1
  182. package/dist/browser/navigation-store.d.ts +0 -101
  183. package/dist/browser/navigation-store.d.ts.map +0 -1
  184. package/dist/browser/navigation-store.js +0 -625
  185. package/dist/browser/navigation-store.js.map +0 -1
  186. package/dist/browser/partial-update.d.ts +0 -75
  187. package/dist/browser/partial-update.d.ts.map +0 -1
  188. package/dist/browser/partial-update.js +0 -426
  189. package/dist/browser/partial-update.js.map +0 -1
  190. package/dist/browser/react/Link.d.ts +0 -86
  191. package/dist/browser/react/Link.d.ts.map +0 -1
  192. package/dist/browser/react/Link.js +0 -128
  193. package/dist/browser/react/Link.js.map +0 -1
  194. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  195. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  196. package/dist/browser/react/NavigationProvider.js +0 -216
  197. package/dist/browser/react/NavigationProvider.js.map +0 -1
  198. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  199. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  200. package/dist/browser/react/ScrollRestoration.js +0 -57
  201. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  202. package/dist/browser/react/context.d.ts +0 -46
  203. package/dist/browser/react/context.d.ts.map +0 -1
  204. package/dist/browser/react/context.js +0 -10
  205. package/dist/browser/react/context.js.map +0 -1
  206. package/dist/browser/react/index.d.ts +0 -11
  207. package/dist/browser/react/index.d.ts.map +0 -1
  208. package/dist/browser/react/index.js +0 -22
  209. package/dist/browser/react/index.js.map +0 -1
  210. package/dist/browser/react/location-state-shared.d.ts +0 -63
  211. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  212. package/dist/browser/react/location-state-shared.js +0 -81
  213. package/dist/browser/react/location-state-shared.js.map +0 -1
  214. package/dist/browser/react/location-state.d.ts +0 -23
  215. package/dist/browser/react/location-state.d.ts.map +0 -1
  216. package/dist/browser/react/location-state.js +0 -29
  217. package/dist/browser/react/location-state.js.map +0 -1
  218. package/dist/browser/react/mount-context.d.ts +0 -24
  219. package/dist/browser/react/mount-context.d.ts.map +0 -1
  220. package/dist/browser/react/mount-context.js +0 -24
  221. package/dist/browser/react/mount-context.js.map +0 -1
  222. package/dist/browser/react/use-action.d.ts +0 -64
  223. package/dist/browser/react/use-action.d.ts.map +0 -1
  224. package/dist/browser/react/use-action.js +0 -134
  225. package/dist/browser/react/use-action.js.map +0 -1
  226. package/dist/browser/react/use-client-cache.d.ts +0 -41
  227. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  228. package/dist/browser/react/use-client-cache.js +0 -39
  229. package/dist/browser/react/use-client-cache.js.map +0 -1
  230. package/dist/browser/react/use-handle.d.ts +0 -31
  231. package/dist/browser/react/use-handle.d.ts.map +0 -1
  232. package/dist/browser/react/use-handle.js +0 -144
  233. package/dist/browser/react/use-handle.js.map +0 -1
  234. package/dist/browser/react/use-href.d.ts +0 -33
  235. package/dist/browser/react/use-href.d.ts.map +0 -1
  236. package/dist/browser/react/use-href.js +0 -39
  237. package/dist/browser/react/use-href.js.map +0 -1
  238. package/dist/browser/react/use-link-status.d.ts +0 -37
  239. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  240. package/dist/browser/react/use-link-status.js +0 -99
  241. package/dist/browser/react/use-link-status.js.map +0 -1
  242. package/dist/browser/react/use-mount.d.ts +0 -25
  243. package/dist/browser/react/use-mount.d.ts.map +0 -1
  244. package/dist/browser/react/use-mount.js +0 -30
  245. package/dist/browser/react/use-mount.js.map +0 -1
  246. package/dist/browser/react/use-navigation.d.ts +0 -27
  247. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  248. package/dist/browser/react/use-navigation.js +0 -87
  249. package/dist/browser/react/use-navigation.js.map +0 -1
  250. package/dist/browser/react/use-segments.d.ts +0 -38
  251. package/dist/browser/react/use-segments.d.ts.map +0 -1
  252. package/dist/browser/react/use-segments.js +0 -130
  253. package/dist/browser/react/use-segments.js.map +0 -1
  254. package/dist/browser/request-controller.d.ts +0 -26
  255. package/dist/browser/request-controller.d.ts.map +0 -1
  256. package/dist/browser/request-controller.js +0 -147
  257. package/dist/browser/request-controller.js.map +0 -1
  258. package/dist/browser/rsc-router.d.ts +0 -129
  259. package/dist/browser/rsc-router.d.ts.map +0 -1
  260. package/dist/browser/rsc-router.js +0 -195
  261. package/dist/browser/rsc-router.js.map +0 -1
  262. package/dist/browser/scroll-restoration.d.ts +0 -93
  263. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  264. package/dist/browser/scroll-restoration.js +0 -321
  265. package/dist/browser/scroll-restoration.js.map +0 -1
  266. package/dist/browser/segment-structure-assert.d.ts +0 -17
  267. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  268. package/dist/browser/segment-structure-assert.js +0 -59
  269. package/dist/browser/segment-structure-assert.js.map +0 -1
  270. package/dist/browser/server-action-bridge.d.ts +0 -26
  271. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  272. package/dist/browser/server-action-bridge.js +0 -668
  273. package/dist/browser/server-action-bridge.js.map +0 -1
  274. package/dist/browser/shallow.d.ts +0 -12
  275. package/dist/browser/shallow.d.ts.map +0 -1
  276. package/dist/browser/shallow.js +0 -34
  277. package/dist/browser/shallow.js.map +0 -1
  278. package/dist/browser/types.d.ts +0 -369
  279. package/dist/browser/types.d.ts.map +0 -1
  280. package/dist/browser/types.js +0 -2
  281. package/dist/browser/types.js.map +0 -1
  282. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  283. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  284. package/dist/build/__tests__/generate-cli.test.js +0 -237
  285. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  286. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  287. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  288. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  289. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  290. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  291. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  292. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  293. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  294. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  295. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  296. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  297. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  298. package/dist/build/generate-manifest.d.ts +0 -81
  299. package/dist/build/generate-manifest.d.ts.map +0 -1
  300. package/dist/build/generate-manifest.js +0 -276
  301. package/dist/build/generate-manifest.js.map +0 -1
  302. package/dist/build/generate-route-types.d.ts +0 -115
  303. package/dist/build/generate-route-types.d.ts.map +0 -1
  304. package/dist/build/generate-route-types.js +0 -740
  305. package/dist/build/generate-route-types.js.map +0 -1
  306. package/dist/build/index.d.ts +0 -21
  307. package/dist/build/index.d.ts.map +0 -1
  308. package/dist/build/index.js +0 -21
  309. package/dist/build/index.js.map +0 -1
  310. package/dist/build/route-trie.d.ts +0 -71
  311. package/dist/build/route-trie.d.ts.map +0 -1
  312. package/dist/build/route-trie.js +0 -175
  313. package/dist/build/route-trie.js.map +0 -1
  314. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  315. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  316. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  317. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  318. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  319. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  320. package/dist/cache/__tests__/document-cache.test.js +0 -345
  321. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  322. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  323. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  324. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  325. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  326. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  327. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  328. package/dist/cache/__tests__/memory-store.test.js +0 -367
  329. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  330. package/dist/cache/cache-scope.d.ts +0 -102
  331. package/dist/cache/cache-scope.d.ts.map +0 -1
  332. package/dist/cache/cache-scope.js +0 -440
  333. package/dist/cache/cache-scope.js.map +0 -1
  334. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  335. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  336. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  337. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  338. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  339. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  340. package/dist/cache/cf/cf-cache-store.js +0 -242
  341. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  342. package/dist/cache/cf/index.d.ts +0 -14
  343. package/dist/cache/cf/index.d.ts.map +0 -1
  344. package/dist/cache/cf/index.js +0 -17
  345. package/dist/cache/cf/index.js.map +0 -1
  346. package/dist/cache/document-cache.d.ts +0 -64
  347. package/dist/cache/document-cache.d.ts.map +0 -1
  348. package/dist/cache/document-cache.js +0 -228
  349. package/dist/cache/document-cache.js.map +0 -1
  350. package/dist/cache/index.d.ts +0 -19
  351. package/dist/cache/index.d.ts.map +0 -1
  352. package/dist/cache/index.js +0 -21
  353. package/dist/cache/index.js.map +0 -1
  354. package/dist/cache/memory-segment-store.d.ts +0 -110
  355. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  356. package/dist/cache/memory-segment-store.js +0 -117
  357. package/dist/cache/memory-segment-store.js.map +0 -1
  358. package/dist/cache/memory-store.d.ts +0 -41
  359. package/dist/cache/memory-store.d.ts.map +0 -1
  360. package/dist/cache/memory-store.js +0 -191
  361. package/dist/cache/memory-store.js.map +0 -1
  362. package/dist/cache/types.d.ts +0 -317
  363. package/dist/cache/types.d.ts.map +0 -1
  364. package/dist/cache/types.js +0 -12
  365. package/dist/cache/types.js.map +0 -1
  366. package/dist/client.d.ts +0 -248
  367. package/dist/client.d.ts.map +0 -1
  368. package/dist/client.js +0 -367
  369. package/dist/client.js.map +0 -1
  370. package/dist/client.rsc.d.ts +0 -26
  371. package/dist/client.rsc.d.ts.map +0 -1
  372. package/dist/client.rsc.js +0 -46
  373. package/dist/client.rsc.js.map +0 -1
  374. package/dist/component-utils.d.ts +0 -36
  375. package/dist/component-utils.d.ts.map +0 -1
  376. package/dist/component-utils.js +0 -61
  377. package/dist/component-utils.js.map +0 -1
  378. package/dist/components/DefaultDocument.d.ts +0 -13
  379. package/dist/components/DefaultDocument.d.ts.map +0 -1
  380. package/dist/components/DefaultDocument.js +0 -15
  381. package/dist/components/DefaultDocument.js.map +0 -1
  382. package/dist/debug.d.ts +0 -58
  383. package/dist/debug.d.ts.map +0 -1
  384. package/dist/debug.js +0 -157
  385. package/dist/debug.js.map +0 -1
  386. package/dist/default-error-boundary.d.ts +0 -11
  387. package/dist/default-error-boundary.d.ts.map +0 -1
  388. package/dist/default-error-boundary.js +0 -45
  389. package/dist/default-error-boundary.js.map +0 -1
  390. package/dist/deps/browser.d.ts +0 -2
  391. package/dist/deps/browser.d.ts.map +0 -1
  392. package/dist/deps/browser.js +0 -3
  393. package/dist/deps/browser.js.map +0 -1
  394. package/dist/deps/html-stream-client.d.ts +0 -2
  395. package/dist/deps/html-stream-client.d.ts.map +0 -1
  396. package/dist/deps/html-stream-client.js +0 -3
  397. package/dist/deps/html-stream-client.js.map +0 -1
  398. package/dist/deps/html-stream-server.d.ts +0 -2
  399. package/dist/deps/html-stream-server.d.ts.map +0 -1
  400. package/dist/deps/html-stream-server.js +0 -3
  401. package/dist/deps/html-stream-server.js.map +0 -1
  402. package/dist/deps/rsc.d.ts +0 -2
  403. package/dist/deps/rsc.d.ts.map +0 -1
  404. package/dist/deps/rsc.js +0 -4
  405. package/dist/deps/rsc.js.map +0 -1
  406. package/dist/deps/ssr.d.ts +0 -2
  407. package/dist/deps/ssr.d.ts.map +0 -1
  408. package/dist/deps/ssr.js +0 -3
  409. package/dist/deps/ssr.js.map +0 -1
  410. package/dist/errors.d.ts +0 -174
  411. package/dist/errors.d.ts.map +0 -1
  412. package/dist/errors.js +0 -241
  413. package/dist/errors.js.map +0 -1
  414. package/dist/handle.d.ts +0 -78
  415. package/dist/handle.d.ts.map +0 -1
  416. package/dist/handle.js +0 -82
  417. package/dist/handle.js.map +0 -1
  418. package/dist/handles/MetaTags.d.ts +0 -14
  419. package/dist/handles/MetaTags.d.ts.map +0 -1
  420. package/dist/handles/MetaTags.js +0 -136
  421. package/dist/handles/MetaTags.js.map +0 -1
  422. package/dist/handles/index.d.ts +0 -6
  423. package/dist/handles/index.d.ts.map +0 -1
  424. package/dist/handles/index.js +0 -6
  425. package/dist/handles/index.js.map +0 -1
  426. package/dist/handles/meta.d.ts +0 -39
  427. package/dist/handles/meta.d.ts.map +0 -1
  428. package/dist/handles/meta.js +0 -202
  429. package/dist/handles/meta.js.map +0 -1
  430. package/dist/host/__tests__/errors.test.d.ts +0 -2
  431. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  432. package/dist/host/__tests__/errors.test.js +0 -76
  433. package/dist/host/__tests__/errors.test.js.map +0 -1
  434. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  435. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  436. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  437. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  438. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  439. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  440. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  441. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  442. package/dist/host/__tests__/router.test.d.ts +0 -2
  443. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  444. package/dist/host/__tests__/router.test.js +0 -241
  445. package/dist/host/__tests__/router.test.js.map +0 -1
  446. package/dist/host/__tests__/testing.test.d.ts +0 -2
  447. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  448. package/dist/host/__tests__/testing.test.js +0 -64
  449. package/dist/host/__tests__/testing.test.js.map +0 -1
  450. package/dist/host/__tests__/utils.test.d.ts +0 -2
  451. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  452. package/dist/host/__tests__/utils.test.js +0 -29
  453. package/dist/host/__tests__/utils.test.js.map +0 -1
  454. package/dist/host/cookie-handler.d.ts +0 -34
  455. package/dist/host/cookie-handler.d.ts.map +0 -1
  456. package/dist/host/cookie-handler.js +0 -124
  457. package/dist/host/cookie-handler.js.map +0 -1
  458. package/dist/host/errors.d.ts +0 -56
  459. package/dist/host/errors.d.ts.map +0 -1
  460. package/dist/host/errors.js +0 -79
  461. package/dist/host/errors.js.map +0 -1
  462. package/dist/host/index.d.ts +0 -29
  463. package/dist/host/index.d.ts.map +0 -1
  464. package/dist/host/index.js +0 -32
  465. package/dist/host/index.js.map +0 -1
  466. package/dist/host/pattern-matcher.d.ts +0 -36
  467. package/dist/host/pattern-matcher.d.ts.map +0 -1
  468. package/dist/host/pattern-matcher.js +0 -172
  469. package/dist/host/pattern-matcher.js.map +0 -1
  470. package/dist/host/router.d.ts +0 -26
  471. package/dist/host/router.d.ts.map +0 -1
  472. package/dist/host/router.js +0 -218
  473. package/dist/host/router.js.map +0 -1
  474. package/dist/host/testing.d.ts +0 -36
  475. package/dist/host/testing.d.ts.map +0 -1
  476. package/dist/host/testing.js +0 -55
  477. package/dist/host/testing.js.map +0 -1
  478. package/dist/host/types.d.ts +0 -115
  479. package/dist/host/types.d.ts.map +0 -1
  480. package/dist/host/types.js +0 -7
  481. package/dist/host/types.js.map +0 -1
  482. package/dist/host/utils.d.ts +0 -21
  483. package/dist/host/utils.d.ts.map +0 -1
  484. package/dist/host/utils.js +0 -23
  485. package/dist/host/utils.js.map +0 -1
  486. package/dist/href-client.d.ts +0 -131
  487. package/dist/href-client.d.ts.map +0 -1
  488. package/dist/href-client.js +0 -64
  489. package/dist/href-client.js.map +0 -1
  490. package/dist/href-context.d.ts +0 -29
  491. package/dist/href-context.d.ts.map +0 -1
  492. package/dist/href-context.js +0 -21
  493. package/dist/href-context.js.map +0 -1
  494. package/dist/index.d.ts +0 -73
  495. package/dist/index.d.ts.map +0 -1
  496. package/dist/index.js +0 -91
  497. package/dist/index.js.map +0 -1
  498. package/dist/index.rsc.d.ts +0 -32
  499. package/dist/index.rsc.d.ts.map +0 -1
  500. package/dist/index.rsc.js +0 -40
  501. package/dist/index.rsc.js.map +0 -1
  502. package/dist/internal-debug.d.ts +0 -2
  503. package/dist/internal-debug.d.ts.map +0 -1
  504. package/dist/internal-debug.js +0 -5
  505. package/dist/internal-debug.js.map +0 -1
  506. package/dist/loader.d.ts +0 -14
  507. package/dist/loader.d.ts.map +0 -1
  508. package/dist/loader.js +0 -20
  509. package/dist/loader.js.map +0 -1
  510. package/dist/loader.rsc.d.ts +0 -19
  511. package/dist/loader.rsc.d.ts.map +0 -1
  512. package/dist/loader.rsc.js +0 -99
  513. package/dist/loader.rsc.js.map +0 -1
  514. package/dist/network-error-thrower.d.ts +0 -17
  515. package/dist/network-error-thrower.d.ts.map +0 -1
  516. package/dist/network-error-thrower.js +0 -14
  517. package/dist/network-error-thrower.js.map +0 -1
  518. package/dist/outlet-context.d.ts +0 -13
  519. package/dist/outlet-context.d.ts.map +0 -1
  520. package/dist/outlet-context.js +0 -3
  521. package/dist/outlet-context.js.map +0 -1
  522. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  523. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  524. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  525. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  526. package/dist/prerender/param-hash.d.ts +0 -16
  527. package/dist/prerender/param-hash.d.ts.map +0 -1
  528. package/dist/prerender/param-hash.js +0 -36
  529. package/dist/prerender/param-hash.js.map +0 -1
  530. package/dist/prerender/store.d.ts +0 -38
  531. package/dist/prerender/store.d.ts.map +0 -1
  532. package/dist/prerender/store.js +0 -61
  533. package/dist/prerender/store.js.map +0 -1
  534. package/dist/prerender.d.ts +0 -66
  535. package/dist/prerender.d.ts.map +0 -1
  536. package/dist/prerender.js +0 -57
  537. package/dist/prerender.js.map +0 -1
  538. package/dist/reverse.d.ts +0 -196
  539. package/dist/reverse.d.ts.map +0 -1
  540. package/dist/reverse.js +0 -78
  541. package/dist/reverse.js.map +0 -1
  542. package/dist/root-error-boundary.d.ts +0 -33
  543. package/dist/root-error-boundary.d.ts.map +0 -1
  544. package/dist/root-error-boundary.js +0 -165
  545. package/dist/root-error-boundary.js.map +0 -1
  546. package/dist/route-content-wrapper.d.ts +0 -46
  547. package/dist/route-content-wrapper.d.ts.map +0 -1
  548. package/dist/route-content-wrapper.js +0 -77
  549. package/dist/route-content-wrapper.js.map +0 -1
  550. package/dist/route-definition.d.ts +0 -421
  551. package/dist/route-definition.d.ts.map +0 -1
  552. package/dist/route-definition.js +0 -868
  553. package/dist/route-definition.js.map +0 -1
  554. package/dist/route-map-builder.d.ts +0 -155
  555. package/dist/route-map-builder.d.ts.map +0 -1
  556. package/dist/route-map-builder.js +0 -237
  557. package/dist/route-map-builder.js.map +0 -1
  558. package/dist/route-types.d.ts +0 -165
  559. package/dist/route-types.d.ts.map +0 -1
  560. package/dist/route-types.js +0 -7
  561. package/dist/route-types.js.map +0 -1
  562. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  563. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  564. package/dist/router/__tests__/handler-context.test.js +0 -65
  565. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  566. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  567. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  568. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  569. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  570. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  571. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  572. package/dist/router/__tests__/match-context.test.js +0 -92
  573. package/dist/router/__tests__/match-context.test.js.map +0 -1
  574. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  575. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  576. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  577. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  578. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  579. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  580. package/dist/router/__tests__/match-result.test.js +0 -457
  581. package/dist/router/__tests__/match-result.test.js.map +0 -1
  582. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  583. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  584. package/dist/router/__tests__/on-error.test.js +0 -678
  585. package/dist/router/__tests__/on-error.test.js.map +0 -1
  586. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  587. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  588. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  589. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  590. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  591. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  592. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  593. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  594. package/dist/router/error-handling.d.ts +0 -77
  595. package/dist/router/error-handling.d.ts.map +0 -1
  596. package/dist/router/error-handling.js +0 -202
  597. package/dist/router/error-handling.js.map +0 -1
  598. package/dist/router/handler-context.d.ts +0 -20
  599. package/dist/router/handler-context.d.ts.map +0 -1
  600. package/dist/router/handler-context.js +0 -198
  601. package/dist/router/handler-context.js.map +0 -1
  602. package/dist/router/intercept-resolution.d.ts +0 -66
  603. package/dist/router/intercept-resolution.d.ts.map +0 -1
  604. package/dist/router/intercept-resolution.js +0 -246
  605. package/dist/router/intercept-resolution.js.map +0 -1
  606. package/dist/router/loader-resolution.d.ts +0 -64
  607. package/dist/router/loader-resolution.d.ts.map +0 -1
  608. package/dist/router/loader-resolution.js +0 -284
  609. package/dist/router/loader-resolution.js.map +0 -1
  610. package/dist/router/logging.d.ts +0 -15
  611. package/dist/router/logging.d.ts.map +0 -1
  612. package/dist/router/logging.js +0 -99
  613. package/dist/router/logging.js.map +0 -1
  614. package/dist/router/manifest.d.ts +0 -22
  615. package/dist/router/manifest.d.ts.map +0 -1
  616. package/dist/router/manifest.js +0 -181
  617. package/dist/router/manifest.js.map +0 -1
  618. package/dist/router/match-api.d.ts +0 -35
  619. package/dist/router/match-api.d.ts.map +0 -1
  620. package/dist/router/match-api.js +0 -406
  621. package/dist/router/match-api.js.map +0 -1
  622. package/dist/router/match-context.d.ts +0 -206
  623. package/dist/router/match-context.d.ts.map +0 -1
  624. package/dist/router/match-context.js +0 -17
  625. package/dist/router/match-context.js.map +0 -1
  626. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  627. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  628. package/dist/router/match-middleware/background-revalidation.js +0 -75
  629. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  630. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  631. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  632. package/dist/router/match-middleware/cache-lookup.js +0 -257
  633. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  634. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  635. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  636. package/dist/router/match-middleware/cache-store.js +0 -108
  637. package/dist/router/match-middleware/cache-store.js.map +0 -1
  638. package/dist/router/match-middleware/index.d.ts +0 -81
  639. package/dist/router/match-middleware/index.d.ts.map +0 -1
  640. package/dist/router/match-middleware/index.js +0 -80
  641. package/dist/router/match-middleware/index.js.map +0 -1
  642. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  643. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  644. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  645. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  646. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  647. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  648. package/dist/router/match-middleware/segment-resolution.js +0 -53
  649. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  650. package/dist/router/match-pipelines.d.ts +0 -147
  651. package/dist/router/match-pipelines.d.ts.map +0 -1
  652. package/dist/router/match-pipelines.js +0 -82
  653. package/dist/router/match-pipelines.js.map +0 -1
  654. package/dist/router/match-result.d.ts +0 -126
  655. package/dist/router/match-result.d.ts.map +0 -1
  656. package/dist/router/match-result.js +0 -93
  657. package/dist/router/match-result.js.map +0 -1
  658. package/dist/router/metrics.d.ts +0 -20
  659. package/dist/router/metrics.d.ts.map +0 -1
  660. package/dist/router/metrics.js +0 -47
  661. package/dist/router/metrics.js.map +0 -1
  662. package/dist/router/middleware.d.ts +0 -249
  663. package/dist/router/middleware.d.ts.map +0 -1
  664. package/dist/router/middleware.js +0 -434
  665. package/dist/router/middleware.js.map +0 -1
  666. package/dist/router/middleware.test.d.ts +0 -2
  667. package/dist/router/middleware.test.d.ts.map +0 -1
  668. package/dist/router/middleware.test.js +0 -816
  669. package/dist/router/middleware.test.js.map +0 -1
  670. package/dist/router/pattern-matching.d.ts +0 -149
  671. package/dist/router/pattern-matching.d.ts.map +0 -1
  672. package/dist/router/pattern-matching.js +0 -349
  673. package/dist/router/pattern-matching.js.map +0 -1
  674. package/dist/router/revalidation.d.ts +0 -44
  675. package/dist/router/revalidation.d.ts.map +0 -1
  676. package/dist/router/revalidation.js +0 -147
  677. package/dist/router/revalidation.js.map +0 -1
  678. package/dist/router/router-context.d.ts +0 -135
  679. package/dist/router/router-context.d.ts.map +0 -1
  680. package/dist/router/router-context.js +0 -36
  681. package/dist/router/router-context.js.map +0 -1
  682. package/dist/router/segment-resolution.d.ts +0 -127
  683. package/dist/router/segment-resolution.d.ts.map +0 -1
  684. package/dist/router/segment-resolution.js +0 -919
  685. package/dist/router/segment-resolution.js.map +0 -1
  686. package/dist/router/trie-matching.d.ts +0 -40
  687. package/dist/router/trie-matching.d.ts.map +0 -1
  688. package/dist/router/trie-matching.js +0 -127
  689. package/dist/router/trie-matching.js.map +0 -1
  690. package/dist/router/types.d.ts +0 -136
  691. package/dist/router/types.d.ts.map +0 -1
  692. package/dist/router/types.js +0 -7
  693. package/dist/router/types.js.map +0 -1
  694. package/dist/router.d.ts +0 -753
  695. package/dist/router.d.ts.map +0 -1
  696. package/dist/router.gen.d.ts +0 -6
  697. package/dist/router.gen.d.ts.map +0 -1
  698. package/dist/router.gen.js +0 -6
  699. package/dist/router.gen.js.map +0 -1
  700. package/dist/router.js +0 -1304
  701. package/dist/router.js.map +0 -1
  702. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  703. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  704. package/dist/rsc/__tests__/helpers.test.js +0 -140
  705. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  706. package/dist/rsc/handler.d.ts +0 -45
  707. package/dist/rsc/handler.d.ts.map +0 -1
  708. package/dist/rsc/handler.js +0 -1172
  709. package/dist/rsc/handler.js.map +0 -1
  710. package/dist/rsc/helpers.d.ts +0 -16
  711. package/dist/rsc/helpers.d.ts.map +0 -1
  712. package/dist/rsc/helpers.js +0 -55
  713. package/dist/rsc/helpers.js.map +0 -1
  714. package/dist/rsc/index.d.ts +0 -22
  715. package/dist/rsc/index.d.ts.map +0 -1
  716. package/dist/rsc/index.js +0 -23
  717. package/dist/rsc/index.js.map +0 -1
  718. package/dist/rsc/nonce.d.ts +0 -9
  719. package/dist/rsc/nonce.d.ts.map +0 -1
  720. package/dist/rsc/nonce.js +0 -18
  721. package/dist/rsc/nonce.js.map +0 -1
  722. package/dist/rsc/types.d.ts +0 -206
  723. package/dist/rsc/types.d.ts.map +0 -1
  724. package/dist/rsc/types.js +0 -8
  725. package/dist/rsc/types.js.map +0 -1
  726. package/dist/search-params.d.ts +0 -103
  727. package/dist/search-params.d.ts.map +0 -1
  728. package/dist/search-params.js +0 -74
  729. package/dist/search-params.js.map +0 -1
  730. package/dist/segment-system.d.ts +0 -75
  731. package/dist/segment-system.d.ts.map +0 -1
  732. package/dist/segment-system.js +0 -336
  733. package/dist/segment-system.js.map +0 -1
  734. package/dist/server/context.d.ts +0 -245
  735. package/dist/server/context.d.ts.map +0 -1
  736. package/dist/server/context.js +0 -197
  737. package/dist/server/context.js.map +0 -1
  738. package/dist/server/fetchable-loader-store.d.ts +0 -18
  739. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  740. package/dist/server/fetchable-loader-store.js +0 -18
  741. package/dist/server/fetchable-loader-store.js.map +0 -1
  742. package/dist/server/handle-store.d.ts +0 -85
  743. package/dist/server/handle-store.d.ts.map +0 -1
  744. package/dist/server/handle-store.js +0 -142
  745. package/dist/server/handle-store.js.map +0 -1
  746. package/dist/server/loader-registry.d.ts +0 -55
  747. package/dist/server/loader-registry.d.ts.map +0 -1
  748. package/dist/server/loader-registry.js +0 -132
  749. package/dist/server/loader-registry.js.map +0 -1
  750. package/dist/server/request-context.d.ts +0 -226
  751. package/dist/server/request-context.d.ts.map +0 -1
  752. package/dist/server/request-context.js +0 -290
  753. package/dist/server/request-context.js.map +0 -1
  754. package/dist/server/root-layout.d.ts +0 -4
  755. package/dist/server/root-layout.d.ts.map +0 -1
  756. package/dist/server/root-layout.js +0 -5
  757. package/dist/server/root-layout.js.map +0 -1
  758. package/dist/server.d.ts +0 -15
  759. package/dist/server.d.ts.map +0 -1
  760. package/dist/server.js +0 -20
  761. package/dist/server.js.map +0 -1
  762. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  763. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  764. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  765. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  766. package/dist/ssr/index.d.ts +0 -98
  767. package/dist/ssr/index.d.ts.map +0 -1
  768. package/dist/ssr/index.js +0 -158
  769. package/dist/ssr/index.js.map +0 -1
  770. package/dist/static-handler.d.ts +0 -50
  771. package/dist/static-handler.d.ts.map +0 -1
  772. package/dist/static-handler.gen.d.ts +0 -5
  773. package/dist/static-handler.gen.d.ts.map +0 -1
  774. package/dist/static-handler.gen.js +0 -5
  775. package/dist/static-handler.gen.js.map +0 -1
  776. package/dist/static-handler.js +0 -29
  777. package/dist/static-handler.js.map +0 -1
  778. package/dist/theme/ThemeProvider.d.ts +0 -20
  779. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  780. package/dist/theme/ThemeProvider.js +0 -240
  781. package/dist/theme/ThemeProvider.js.map +0 -1
  782. package/dist/theme/ThemeScript.d.ts +0 -48
  783. package/dist/theme/ThemeScript.d.ts.map +0 -1
  784. package/dist/theme/ThemeScript.js +0 -13
  785. package/dist/theme/ThemeScript.js.map +0 -1
  786. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  787. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  788. package/dist/theme/__tests__/theme.test.js +0 -103
  789. package/dist/theme/__tests__/theme.test.js.map +0 -1
  790. package/dist/theme/constants.d.ts +0 -29
  791. package/dist/theme/constants.d.ts.map +0 -1
  792. package/dist/theme/constants.js +0 -48
  793. package/dist/theme/constants.js.map +0 -1
  794. package/dist/theme/index.d.ts +0 -31
  795. package/dist/theme/index.d.ts.map +0 -1
  796. package/dist/theme/index.js +0 -36
  797. package/dist/theme/index.js.map +0 -1
  798. package/dist/theme/theme-context.d.ts +0 -40
  799. package/dist/theme/theme-context.d.ts.map +0 -1
  800. package/dist/theme/theme-context.js +0 -60
  801. package/dist/theme/theme-context.js.map +0 -1
  802. package/dist/theme/theme-script.d.ts +0 -27
  803. package/dist/theme/theme-script.d.ts.map +0 -1
  804. package/dist/theme/theme-script.js +0 -147
  805. package/dist/theme/theme-script.js.map +0 -1
  806. package/dist/theme/types.d.ts +0 -163
  807. package/dist/theme/types.d.ts.map +0 -1
  808. package/dist/theme/types.js +0 -11
  809. package/dist/theme/types.js.map +0 -1
  810. package/dist/theme/use-theme.d.ts +0 -12
  811. package/dist/theme/use-theme.d.ts.map +0 -1
  812. package/dist/theme/use-theme.js +0 -40
  813. package/dist/theme/use-theme.js.map +0 -1
  814. package/dist/types.d.ts +0 -1479
  815. package/dist/types.d.ts.map +0 -1
  816. package/dist/types.js +0 -10
  817. package/dist/types.js.map +0 -1
  818. package/dist/urls.d.ts +0 -441
  819. package/dist/urls.d.ts.map +0 -1
  820. package/dist/urls.gen.d.ts +0 -8
  821. package/dist/urls.gen.d.ts.map +0 -1
  822. package/dist/urls.gen.js +0 -8
  823. package/dist/urls.gen.js.map +0 -1
  824. package/dist/urls.js +0 -443
  825. package/dist/urls.js.map +0 -1
  826. package/dist/use-loader.d.ts +0 -127
  827. package/dist/use-loader.d.ts.map +0 -1
  828. package/dist/use-loader.js +0 -237
  829. package/dist/use-loader.js.map +0 -1
  830. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  831. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  832. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  833. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  834. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  835. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  836. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  837. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  838. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  839. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  840. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  841. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  842. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  843. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  844. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  845. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  846. package/dist/vite/ast-handler-extract.d.ts +0 -49
  847. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  848. package/dist/vite/ast-handler-extract.js +0 -249
  849. package/dist/vite/ast-handler-extract.js.map +0 -1
  850. package/dist/vite/expose-action-id.d.ts +0 -19
  851. package/dist/vite/expose-action-id.d.ts.map +0 -1
  852. package/dist/vite/expose-action-id.js +0 -250
  853. package/dist/vite/expose-action-id.js.map +0 -1
  854. package/dist/vite/expose-id-utils.d.ts +0 -69
  855. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  856. package/dist/vite/expose-id-utils.js +0 -289
  857. package/dist/vite/expose-id-utils.js.map +0 -1
  858. package/dist/vite/expose-internal-ids.d.ts +0 -22
  859. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  860. package/dist/vite/expose-internal-ids.js +0 -886
  861. package/dist/vite/expose-internal-ids.js.map +0 -1
  862. package/dist/vite/index.d.ts +0 -149
  863. package/dist/vite/index.d.ts.map +0 -1
  864. package/dist/vite/index.js.bak +0 -5448
  865. package/dist/vite/index.js.map +0 -1
  866. package/dist/vite/index.named-routes.gen.ts +0 -103
  867. package/dist/vite/package-resolution.d.ts +0 -43
  868. package/dist/vite/package-resolution.d.ts.map +0 -1
  869. package/dist/vite/package-resolution.js +0 -112
  870. package/dist/vite/package-resolution.js.map +0 -1
  871. package/dist/vite/virtual-entries.d.ts +0 -25
  872. package/dist/vite/virtual-entries.d.ts.map +0 -1
  873. package/dist/vite/virtual-entries.js +0 -110
  874. package/dist/vite/virtual-entries.js.map +0 -1
  875. package/src/browser/action-response-classifier.ts +0 -99
package/dist/router.d.ts DELETED
@@ -1,753 +0,0 @@
1
- import type { ComponentType } from "react";
2
- import { type ReactNode } from "react";
3
- import type { SegmentCacheStore } from "./cache/types.js";
4
- import { type SerializedManifest } from "./debug.js";
5
- import { type ReverseFunction, type PrefixRoutePatterns } from "./reverse.js";
6
- import { type RouteHandlers } from "./route-definition.js";
7
- import type { AllUseItems } from "./route-types.js";
8
- import type { UrlPatterns } from "./urls.js";
9
- import type { ErrorBoundaryHandler, ErrorInfo, HandlerContext, MatchResult, NotFoundBoundaryHandler, OnErrorCallback, RouteDefinition } from "./types";
10
- import type { NonceProvider } from "./rsc/types.js";
11
- import { type ExecutionContext } from "./server/request-context.js";
12
- import type { SerializedSegmentData, SegmentHandleData } from "./cache/types.js";
13
- import { type MiddlewareEntry, type MiddlewareFn } from "./router/middleware.js";
14
- /**
15
- * Props passed to the root layout component
16
- */
17
- export interface RootLayoutProps {
18
- children: ReactNode;
19
- }
20
- /**
21
- * Router configuration options
22
- */
23
- /**
24
- * Brand marker for identifying router instances at build time.
25
- * Used by the Vite plugin to auto-discover routers from module exports.
26
- */
27
- export declare const RSC_ROUTER_BRAND: "__rsc_router__";
28
- /**
29
- * Global registry of all router instances created via createRouter().
30
- * Each router is keyed by its id (auto-generated or user-provided).
31
- * Used by the Vite plugin at build time to discover routers and extract
32
- * manifests, prefix trees, and pre-render candidates.
33
- */
34
- export declare const RouterRegistry: Map<string, RSCRouter<any, any>>;
35
- export interface RSCRouterOptions<TEnv = any> {
36
- /**
37
- * Unique identifier for this router instance.
38
- * Used to namespace static output files and route maps.
39
- * Auto-generated if not provided.
40
- */
41
- id?: string;
42
- /**
43
- * Injected by the Vite transform at compile time.
44
- * Hash of filename + line number for stable cross-environment ID.
45
- * @internal
46
- */
47
- $$id?: string;
48
- /**
49
- * Enable performance metrics collection
50
- * When enabled, metrics are output to console and available via Server-Timing header
51
- */
52
- debugPerformance?: boolean;
53
- /**
54
- * Allow the `?__debug_manifest` query parameter to return route manifest data as JSON.
55
- * In development mode this is always enabled regardless of this setting.
56
- * Defaults to true. Set to false to disable in production.
57
- * @internal
58
- */
59
- allowDebugManifest?: boolean;
60
- /**
61
- * Document component that wraps the entire application.
62
- *
63
- * This component provides the HTML structure for your app and wraps
64
- * both normal route content AND error states, preventing the app shell
65
- * from unmounting during errors (avoids FOUC).
66
- *
67
- * Must be a client component ("use client") that accepts { children }.
68
- *
69
- * If not provided, a default document with basic HTML structure is used:
70
- * `<html><head><meta charset/viewport></head><body>{children}</body></html>`
71
- *
72
- * @example
73
- * ```typescript
74
- * // components/Document.tsx
75
- * "use client";
76
- * export function Document({ children }: { children: ReactNode }) {
77
- * return (
78
- * <html lang="en">
79
- * <head>
80
- * <link rel="stylesheet" href="/styles.css" />
81
- * </head>
82
- * <body>
83
- * <nav>...</nav>
84
- * {children}
85
- * </body>
86
- * </html>
87
- * );
88
- * }
89
- *
90
- * // router.tsx
91
- * const router = createRouter<AppEnv>({
92
- * document: Document,
93
- * });
94
- * ```
95
- */
96
- document?: ComponentType<RootLayoutProps>;
97
- /**
98
- * Default error boundary fallback used when no error boundary is defined in the route tree
99
- * If not provided, errors will propagate and crash the request
100
- */
101
- defaultErrorBoundary?: ReactNode | ErrorBoundaryHandler;
102
- /**
103
- * Default not-found boundary fallback used when no notFoundBoundary is defined in the route tree
104
- * If not provided, DataNotFoundError will be treated as a regular error
105
- */
106
- defaultNotFoundBoundary?: ReactNode | NotFoundBoundaryHandler;
107
- /**
108
- * Component to render when no route matches the requested URL.
109
- *
110
- * This is rendered within your document/app shell with a 404 status code.
111
- * Use this for a custom 404 page that maintains your app's look and feel.
112
- *
113
- * If not provided, a default "Page not found" component is rendered.
114
- *
115
- * Can be a static ReactNode or a function receiving the pathname.
116
- *
117
- * @example
118
- * ```typescript
119
- * // Simple static component
120
- * const router = createRouter<AppEnv>({
121
- * document: Document,
122
- * notFound: <NotFound404 />,
123
- * });
124
- *
125
- * // Dynamic component with pathname
126
- * const router = createRouter<AppEnv>({
127
- * document: Document,
128
- * notFound: ({ pathname }) => (
129
- * <div>
130
- * <h1>404 - Not Found</h1>
131
- * <p>No page exists at {pathname}</p>
132
- * <a href="/">Go home</a>
133
- * </div>
134
- * ),
135
- * });
136
- * ```
137
- */
138
- notFound?: ReactNode | ((props: {
139
- pathname: string;
140
- }) => ReactNode);
141
- /**
142
- * Callback invoked when an error occurs during request handling.
143
- *
144
- * This callback is for notification/logging purposes - it cannot modify
145
- * the error handling flow. Use errorBoundary() in route definitions to
146
- * customize error UI.
147
- *
148
- * The callback receives comprehensive context about the error including:
149
- * - The error itself
150
- * - Phase where it occurred (routing, middleware, loader, handler, etc.)
151
- * - Request info (URL, method, params)
152
- * - Route info (routeKey, segmentId)
153
- * - Environment/bindings
154
- * - Duration from request start
155
- *
156
- * @example
157
- * ```typescript
158
- * const router = createRouter<AppEnv>({
159
- * onError: (context) => {
160
- * // Send to error tracking service
161
- * Sentry.captureException(context.error, {
162
- * tags: {
163
- * phase: context.phase,
164
- * route: context.routeKey,
165
- * },
166
- * extra: {
167
- * url: context.url.toString(),
168
- * params: context.params,
169
- * duration: context.duration,
170
- * },
171
- * });
172
- * },
173
- * });
174
- * ```
175
- */
176
- onError?: OnErrorCallback<TEnv>;
177
- /**
178
- * Cache store for segment caching.
179
- *
180
- * When provided, enables route-level caching via cache() boundaries.
181
- * The store handles persistence (memory, KV, Redis, etc.).
182
- *
183
- * Can be a static config or a function receiving env for runtime bindings.
184
- *
185
- * @example Static config
186
- * ```typescript
187
- * import { MemorySegmentCacheStore } from "rsc-router/rsc";
188
- *
189
- * const router = createRouter({
190
- * cache: {
191
- * store: new MemorySegmentCacheStore({ defaults: { ttl: 60 } }),
192
- * },
193
- * });
194
- * ```
195
- *
196
- * @example Dynamic config with env (e.g., Cloudflare Workers with ExecutionContext)
197
- * ```typescript
198
- * const router = createRouter<AppEnv>({
199
- * cache: (env) => ({
200
- * store: new CFCacheStore({
201
- * defaults: { ttl: 60 },
202
- * ctx: env.ctx, // ExecutionContext for non-blocking writes
203
- * }),
204
- * }),
205
- * });
206
- * ```
207
- */
208
- cache?: {
209
- store: SegmentCacheStore;
210
- enabled?: boolean;
211
- } | ((env: TEnv & {
212
- ctx?: ExecutionContext;
213
- }) => {
214
- store: SegmentCacheStore;
215
- enabled?: boolean;
216
- });
217
- /**
218
- * Theme configuration for automatic theme management.
219
- *
220
- * When provided, enables:
221
- * - ctx.theme and ctx.setTheme() in route handlers
222
- * - useTheme() hook for client components
223
- * - FOUC prevention via inline script in MetaTags
224
- * - Automatic ThemeProvider wrapping in NavigationProvider
225
- *
226
- * @example
227
- * ```typescript
228
- * const router = createRouter<AppEnv>({
229
- * theme: {
230
- * defaultTheme: "system",
231
- * themes: ["light", "dark"],
232
- * }
233
- * });
234
- *
235
- * // In route handler:
236
- * route("settings", (ctx) => {
237
- * const theme = ctx.theme; // "light" | "dark" | "system"
238
- * ctx.setTheme("dark"); // Sets cookie
239
- * return <SettingsPage />;
240
- * });
241
- *
242
- * // In client component:
243
- * import { useTheme } from "@rangojs/router/theme";
244
- *
245
- * function ThemeToggle() {
246
- * const { theme, setTheme, themes } = useTheme();
247
- * return <select value={theme} onChange={e => setTheme(e.target.value)}>
248
- * {themes.map(t => <option key={t}>{t}</option>)}
249
- * </select>;
250
- * }
251
- * ```
252
- *
253
- * Use `theme: true` to enable with all defaults.
254
- */
255
- theme?: import("./theme/types.js").ThemeConfig | true;
256
- /**
257
- * URL patterns to register with the router.
258
- *
259
- * Alternative to calling `.routes()` method - allows passing patterns
260
- * directly in the config for a more concise setup.
261
- *
262
- * @example
263
- * ```typescript
264
- * import { urls } from "@rangojs/router/server";
265
- *
266
- * const urlpatterns = urls(({ path, layout }) => [
267
- * path("/", HomePage, { name: "home" }),
268
- * path("/about", AboutPage, { name: "about" }),
269
- * ]);
270
- *
271
- * const router = createRouter<AppEnv>({
272
- * document: Document,
273
- * urls: urlpatterns,
274
- * });
275
- * ```
276
- */
277
- urls?: UrlPatterns<TEnv, any>;
278
- /**
279
- * Injected by the Vite transform at compile time.
280
- * Static import of NamedRoutes from the generated named-routes file.
281
- * Provides O(1) reverse() fallback when lazy includes haven't resolved.
282
- * @internal
283
- */
284
- $$routeNames?: Record<string, string>;
285
- /**
286
- * Nonce provider for Content Security Policy (CSP).
287
- *
288
- * Can be:
289
- * - A function that returns a nonce string
290
- * - A function that returns `true` to auto-generate a nonce
291
- * - Undefined to disable nonce (default)
292
- *
293
- * The nonce will be applied to inline scripts injected by the RSC payload.
294
- * It's also available to middleware via `ctx.get('nonce')`.
295
- *
296
- * @example Auto-generate nonce
297
- * ```tsx
298
- * createRouter({
299
- * nonce: () => true,
300
- * });
301
- * ```
302
- *
303
- * @example Custom nonce from request context
304
- * ```tsx
305
- * createRouter({
306
- * nonce: (request, env) => env.nonce,
307
- * });
308
- * ```
309
- */
310
- nonce?: NonceProvider<TEnv>;
311
- /**
312
- * RSC version string included in metadata.
313
- * The browser sends this back on partial requests to detect version mismatches.
314
- *
315
- * Defaults to the auto-generated VERSION from `@rangojs/router:version` virtual module.
316
- * Only set this if you need a custom versioning strategy.
317
- *
318
- * @default VERSION from @rangojs/router:version
319
- */
320
- version?: string;
321
- /**
322
- * Enable connection warmup to keep TCP+TLS alive after idle periods.
323
- *
324
- * When enabled, the client sends a HEAD request after the user returns
325
- * from an idle period (60s+), prewarming the TLS connection before
326
- * the next navigation.
327
- *
328
- * @default true
329
- */
330
- warmup?: boolean;
331
- }
332
- /**
333
- * Merge route patterns with response types into a single route map.
334
- * Routes with response types get { path, response } objects; others stay as strings.
335
- * Handles both plain string routes and { path, search } object routes.
336
- */
337
- type MergeRoutesWithResponses<TRoutes extends Record<string, unknown>, TResponses> = {
338
- [K in keyof TRoutes]: K extends keyof NonNullable<TResponses> ? unknown extends NonNullable<TResponses>[K] ? TRoutes[K] : TRoutes[K] extends {
339
- readonly path: infer P extends string;
340
- } ? TRoutes[K] & {
341
- readonly response: NonNullable<TResponses>[K];
342
- } : {
343
- readonly path: TRoutes[K] & string;
344
- readonly response: NonNullable<TResponses>[K];
345
- } : TRoutes[K];
346
- };
347
- /**
348
- * Extract the URL pattern from a route entry (string or { path, response } object)
349
- */
350
- type PatternOfEntry<V> = V extends string ? V : V extends {
351
- readonly path: infer P extends string;
352
- } ? P : never;
353
- /**
354
- * Type-level detection of conflicting route keys.
355
- * Extracts keys that exist in both TExisting and TNew but with different URL patterns.
356
- * Returns `never` if no conflicts exist.
357
- * Compares patterns (not full entries) to handle both string and { path, response } values.
358
- *
359
- * @example
360
- * ```typescript
361
- * ConflictingKeys<{ a: "/a" }, { a: "/b" }> // "a" (conflict - same key, different URLs)
362
- * ConflictingKeys<{ a: "/a" }, { a: "/a" }> // never (no conflict - same key and URL)
363
- * ConflictingKeys<{ a: "/a" }, { b: "/b" }> // never (no conflict - different keys)
364
- * ```
365
- */
366
- type ConflictingKeys<TExisting extends Record<string, unknown>, TNew extends Record<string, unknown>> = {
367
- [K in keyof TExisting & keyof TNew]: PatternOfEntry<TExisting[K]> extends PatternOfEntry<TNew[K]> ? PatternOfEntry<TNew[K]> extends PatternOfEntry<TExisting[K]> ? never : K : K;
368
- }[keyof TExisting & keyof TNew];
369
- /**
370
- * Error type returned when route keys conflict.
371
- * Methods require an impossible `never` parameter so TypeScript errors at the call site.
372
- */
373
- type RouteConflictError<TConflicts extends string> = {
374
- __error: `Route key conflict! Key "${TConflicts}" already exists with a different URL pattern.`;
375
- hint: "Route keys must be globally unique. Use prefixed names like 'blog.index' instead of 'index'.";
376
- conflictingKeys: TConflicts;
377
- routes: (__conflict: `Fix route key conflict: "${TConflicts}" is already defined with a different URL pattern`) => never;
378
- map: (__conflict: `Fix route key conflict: "${TConflicts}" is already defined with a different URL pattern`) => never;
379
- };
380
- /**
381
- * Simplified route helpers for inline route definitions.
382
- * Uses TRoutes (Record<string, string>) instead of RouteDefinition.
383
- *
384
- * Note: Some helpers use `any` for context types as a trade-off for simpler usage.
385
- * The main type safety is in the `route` helper which enforces valid route names.
386
- * For full type safety, use the standard map() API with separate handler files.
387
- */
388
- type InlineRouteHelpers<TRoutes extends Record<string, string>, TEnv> = {
389
- /**
390
- * Define a route handler for a specific route pattern
391
- */
392
- route: <K extends keyof TRoutes & string>(name: K, handler: ((ctx: HandlerContext<{}, TEnv>) => ReactNode | Promise<ReactNode>) | ReactNode) => AllUseItems;
393
- /**
394
- * Define a layout that wraps child routes
395
- */
396
- layout: (component: ReactNode | ((ctx: HandlerContext<any, TEnv>) => ReactNode | Promise<ReactNode>), use?: () => AllUseItems[]) => AllUseItems;
397
- /**
398
- * Define parallel routes
399
- */
400
- parallel: (slots: Record<`@${string}`, ReactNode | ((ctx: HandlerContext<any, TEnv>) => ReactNode | Promise<ReactNode>)>, use?: () => AllUseItems[]) => AllUseItems;
401
- /**
402
- * Define route middleware
403
- */
404
- middleware: (fn: (ctx: any, next: () => Promise<void>) => Promise<void>) => AllUseItems;
405
- /**
406
- * Define revalidation handlers
407
- */
408
- revalidate: (fn: (ctx: any) => boolean | Promise<boolean>) => AllUseItems;
409
- /**
410
- * Define data loaders
411
- */
412
- loader: (loader: any, use?: () => AllUseItems[]) => AllUseItems;
413
- /**
414
- * Define loading states
415
- */
416
- loading: (component: ReactNode) => AllUseItems;
417
- /**
418
- * Define error boundaries
419
- */
420
- errorBoundary: (handler: ReactNode | ((props: {
421
- error: Error;
422
- }) => ReactNode)) => AllUseItems;
423
- /**
424
- * Define not found boundaries
425
- */
426
- notFoundBoundary: (handler: ReactNode | ((props: {
427
- pathname: string;
428
- }) => ReactNode)) => AllUseItems;
429
- /**
430
- * Define intercept routes
431
- */
432
- intercept: (name: string, handler: ReactNode | ((ctx: HandlerContext<any, TEnv>) => ReactNode | Promise<ReactNode>), use?: () => AllUseItems[]) => AllUseItems;
433
- /**
434
- * Define when conditions for intercepts
435
- */
436
- when: (condition: (ctx: any) => boolean | Promise<boolean>) => AllUseItems;
437
- /**
438
- * Define cache configuration
439
- */
440
- cache: (config: {
441
- ttl?: number;
442
- swr?: number;
443
- } | false, use?: () => AllUseItems[]) => AllUseItems;
444
- };
445
- /**
446
- * Router builder for chaining .use() and .map()
447
- * TRoutes accumulates all registered route types through the chain
448
- * TLocalRoutes contains the routes for the current .routes() call (for inline handler typing)
449
- */
450
- interface RouteBuilder<T extends RouteDefinition, TEnv, TRoutes extends Record<string, unknown>, TLocalRoutes extends Record<string, string> = Record<string, string>> {
451
- /**
452
- * Add middleware scoped to this mount
453
- * Called between .routes() and .map()
454
- *
455
- * @example
456
- * ```typescript
457
- * .routes("/admin", adminRoutes)
458
- * .use(authMiddleware) // All of /admin/*
459
- * .use("/danger/*", superAuth) // Only /admin/danger/*
460
- * .map(() => import("./admin"))
461
- * ```
462
- */
463
- use(patternOrMiddleware: string | MiddlewareFn<TEnv>, middleware?: MiddlewareFn<TEnv>): RouteBuilder<T, TEnv, TRoutes, TLocalRoutes>;
464
- /**
465
- * Map routes to handlers
466
- *
467
- * Supports two patterns:
468
- *
469
- * 1. Lazy loading (code-split):
470
- * ```typescript
471
- * .routes(homeRoutes)
472
- * .map(() => import("./handlers/home"))
473
- * ```
474
- *
475
- * 2. Inline definition:
476
- * ```typescript
477
- * .routes({ index: "/", about: "/about" })
478
- * .map(({ route }) => [
479
- * route("index", () => <HomePage />),
480
- * route("about", () => <AboutPage />),
481
- * ])
482
- * ```
483
- */
484
- map<H extends (helpers: InlineRouteHelpers<TLocalRoutes, TEnv>) => Array<AllUseItems>>(handler: H): RSCRouter<TEnv, TRoutes>;
485
- map(handler: () => Array<AllUseItems> | Promise<{
486
- default: RouteHandlers<TLocalRoutes>;
487
- }> | Promise<RouteHandlers<TLocalRoutes>>): RSCRouter<TEnv, TRoutes>;
488
- /**
489
- * Accumulated route map for typeof extraction
490
- * Used for module augmentation: `type AppRoutes = typeof _router.routeMap`
491
- */
492
- readonly routeMap: TRoutes;
493
- }
494
- /**
495
- * RSC Router interface
496
- * TRoutes accumulates all registered route types through the builder chain
497
- */
498
- export interface RSCRouter<TEnv = any, TRoutes extends Record<string, unknown> = Record<string, string>> {
499
- /**
500
- * Brand marker for build-time discovery.
501
- * The Vite plugin uses this to identify router instances in module exports.
502
- */
503
- readonly __brand: typeof RSC_ROUTER_BRAND;
504
- /**
505
- * Unique identifier for this router instance.
506
- * Used to namespace static output and isolate route maps between routers.
507
- */
508
- readonly id: string;
509
- /**
510
- * Register routes with a prefix
511
- * Route keys stay unchanged, only URL patterns get the prefix applied.
512
- * This enables composable route modules that work regardless of mount point.
513
- *
514
- * @throws Compile-time error if route keys conflict with previously registered routes
515
- */
516
- routes<const TPrefix extends string, const T extends Record<string, string>>(prefix: TPrefix, routes: T): ConflictingKeys<TRoutes, PrefixRoutePatterns<T, TPrefix>> extends never ? RouteBuilder<RouteDefinition, TEnv, TRoutes & PrefixRoutePatterns<T, TPrefix>, T> : RouteConflictError<ConflictingKeys<TRoutes, PrefixRoutePatterns<T, TPrefix>> & string>;
517
- /**
518
- * Register routes without a prefix
519
- * Route types are accumulated through the chain
520
- *
521
- * @throws Compile-time error if route keys conflict with previously registered routes
522
- */
523
- routes<const T extends Record<string, string>>(routes: T): ConflictingKeys<TRoutes, T> extends never ? RouteBuilder<RouteDefinition, TEnv, TRoutes & T, T> : RouteConflictError<ConflictingKeys<TRoutes, T> & string>;
524
- /**
525
- * Register routes using Django-style URL patterns
526
- * This is the new API for @rangojs/router - call once with urls() result
527
- *
528
- * @example
529
- * ```typescript
530
- * createRouter({})
531
- * .routes(urlpatterns) // Single call with urls() result
532
- * ```
533
- */
534
- routes<T extends UrlPatterns<TEnv, any>>(patterns: T): RSCRouter<TEnv, TRoutes & (NonNullable<T["_routes"]> extends Record<string, unknown> ? MergeRoutesWithResponses<NonNullable<T["_routes"]>, T["_responses"]> : Record<string, string>)>;
535
- /**
536
- * Add global middleware that runs on all routes
537
- * Position matters: middleware before any .routes() is global
538
- *
539
- * @example
540
- * ```typescript
541
- * createRouter({ document: RootLayout })
542
- * .use(loggerMiddleware) // All routes
543
- * .use("/api/*", rateLimiter) // Pattern match
544
- * .routes(homeRoutes)
545
- * .map(() => import("./home"))
546
- * ```
547
- */
548
- use(patternOrMiddleware: string | MiddlewareFn<TEnv>, middleware?: MiddlewareFn<TEnv>): RSCRouter<TEnv, TRoutes>;
549
- /**
550
- * Type-safe URL builder for registered routes
551
- * Types are inferred from the accumulated route registrations
552
- * Route keys stay unchanged regardless of mount prefix.
553
- *
554
- * @example
555
- * ```typescript
556
- * // Given: .routes("/shop", { cart: "/cart", detail: "/product/:slug" })
557
- * router.reverse("cart"); // "/shop/cart"
558
- * router.reverse("detail", { slug: "widget" }); // "/shop/product/widget"
559
- * ```
560
- */
561
- reverse: ReverseFunction<TRoutes>;
562
- /**
563
- * Accumulated route map for typeof extraction
564
- * Used for module augmentation: `type AppRoutes = typeof _router.routeMap`
565
- *
566
- * @example
567
- * ```typescript
568
- * const _router = createRouter<AppEnv>()
569
- * .routes(homeRoutes).map(() => import('./home'))
570
- * .routes('/shop', shopRoutes).map(() => import('./shop'));
571
- *
572
- * type AppRoutes = typeof _router.routeMap;
573
- *
574
- * declare global {
575
- * namespace RSCRouter {
576
- * interface RegisteredRoutes extends AppRoutes {}
577
- * }
578
- * }
579
- * ```
580
- */
581
- readonly routeMap: TRoutes;
582
- /**
583
- * Root layout component that wraps the entire application
584
- * Access this to pass to renderSegments
585
- */
586
- readonly rootLayout?: ComponentType<RootLayoutProps>;
587
- /**
588
- * Error callback for monitoring/alerting
589
- * Called when errors occur in loaders, actions, or routes
590
- */
591
- readonly onError?: RSCRouterOptions<TEnv>["onError"];
592
- /**
593
- * Cache configuration (for internal use by RSC handler)
594
- */
595
- readonly cache?: RSCRouterOptions<TEnv>["cache"];
596
- /**
597
- * Not found component to render when no route matches (for internal use by RSC handler)
598
- */
599
- readonly notFound?: RSCRouterOptions<TEnv>["notFound"];
600
- /**
601
- * Resolved theme configuration (null if theme not enabled)
602
- * Used by NavigationProvider to include ThemeProvider and by MetaTags to render theme script
603
- */
604
- readonly themeConfig: import("./theme/types.js").ResolvedThemeConfig | null;
605
- /**
606
- * Whether connection warmup is enabled.
607
- * When true, the client sends HEAD /?_rsc_warmup after idle periods
608
- * and the server responds with 204 No Content.
609
- */
610
- readonly warmupEnabled: boolean;
611
- /**
612
- * Whether ?__debug_manifest is allowed in production.
613
- * Always enabled in development.
614
- * @internal
615
- */
616
- readonly allowDebugManifest: boolean;
617
- /**
618
- * App-level middleware entries (for internal use by RSC handler)
619
- * These wrap the entire request/response cycle
620
- */
621
- readonly middleware: MiddlewareEntry<TEnv>[];
622
- /**
623
- * Nonce provider for CSP (for internal use by createHandler)
624
- */
625
- readonly nonce?: NonceProvider<TEnv>;
626
- /**
627
- * RSC version string (for internal use by createHandler)
628
- */
629
- readonly version?: string;
630
- /**
631
- * URL patterns reference for build-time manifest generation
632
- * @internal
633
- */
634
- readonly urlpatterns?: UrlPatterns<TEnv, any>;
635
- /**
636
- * Source file path where createRouter() was called.
637
- * Set via Error.stack parsing at construction time.
638
- * Used by the Vite plugin to write per-router named-routes.gen.ts files.
639
- * @internal
640
- */
641
- readonly __sourceFile?: string;
642
- match(request: Request, context: TEnv): Promise<MatchResult>;
643
- /**
644
- * Build-time pre-render match. Resolves segments with a BuildContext
645
- * (no request/env/headers/cookies), skipping middleware and loaders.
646
- * Used by the Vite plugin to collect pre-render data at build time.
647
- * @internal
648
- */
649
- matchForPrerender(pathname: string, params: Record<string, string>): Promise<{
650
- segments: SerializedSegmentData[];
651
- handles: Record<string, SegmentHandleData>;
652
- routeName: string;
653
- params: Record<string, string>;
654
- } | null>;
655
- /**
656
- * Preview match - returns route middleware without segment resolution.
657
- * Also returns responseType and handler for response routes (non-RSC short-circuit).
658
- */
659
- previewMatch(request: Request, context: TEnv): Promise<{
660
- routeMiddleware?: Array<{
661
- handler: import("./router/middleware.js").MiddlewareFn;
662
- params: Record<string, string>;
663
- }>;
664
- responseType?: string;
665
- handler?: Function;
666
- params?: Record<string, string>;
667
- negotiated?: boolean;
668
- } | null>;
669
- matchPartial(request: Request, context: TEnv, actionContext?: {
670
- actionId?: string;
671
- actionUrl?: URL;
672
- actionResult?: any;
673
- formData?: FormData;
674
- }): Promise<MatchResult | null>;
675
- /**
676
- * Match an error to the nearest error boundary and return error segments
677
- *
678
- * Used when an action or other operation fails and we need to render
679
- * the error boundary UI. Finds the nearest errorBoundary in the route tree
680
- * for the current URL and renders it with the error info.
681
- *
682
- * @param request - The current request (used to match the route)
683
- * @param context - Environment context
684
- * @param error - The error that occurred
685
- * @param segmentType - Type of segment where error occurred (default: "route")
686
- * @returns MatchResult with error segment, or null if no error boundary found
687
- */
688
- matchError(request: Request, context: TEnv, error: unknown, segmentType?: ErrorInfo["segmentType"]): Promise<MatchResult | null>;
689
- /**
690
- * @internal
691
- * Debug utility to serialize the manifest for inspection
692
- * Returns a JSON-friendly representation of all routes and layouts
693
- */
694
- debugManifest(): Promise<SerializedManifest>;
695
- /**
696
- * Handle an RSC request.
697
- *
698
- * Uses the router's configuration (nonce, version, cache) automatically.
699
- * The handler is lazily created on first call.
700
- *
701
- * @example Cloudflare Workers
702
- * ```tsx
703
- * import { router } from "./router";
704
- *
705
- * export default { fetch: router.fetch };
706
- * ```
707
- *
708
- * @example Direct export
709
- * ```tsx
710
- * const router = createRouter({
711
- * document: Document,
712
- * urls: urlpatterns,
713
- * nonce: () => true,
714
- * });
715
- *
716
- * export const fetch = router.fetch;
717
- * ```
718
- */
719
- fetch(request: Request, env: TEnv & {
720
- ctx?: ExecutionContext;
721
- }): Promise<Response>;
722
- }
723
- /**
724
- * Create an RSC router with generic context type
725
- * Route types are accumulated automatically through the builder chain
726
- *
727
- * @example
728
- * ```typescript
729
- * interface AppContext {
730
- * db: Database;
731
- * user?: User;
732
- * }
733
- *
734
- * const router = createRouter<AppContext>({
735
- * debugPerformance: true // Enable metrics
736
- * });
737
- *
738
- * // Route types accumulate through the chain - no module augmentation needed!
739
- * // Keys stay unchanged, only URL patterns get the prefix
740
- * router
741
- * .routes(homeRoutes) // accumulates homeRoutes
742
- * .map(() => import('./home'))
743
- * .routes('/shop', shopRoutes) // accumulates shopRoutes with prefixed URLs
744
- * .map(() => import('./shop'));
745
- *
746
- * // router.reverse now has type-safe autocomplete for all registered routes
747
- * // Given shopRoutes = { cart: "/cart" }, reverse uses original key:
748
- * router.reverse("cart"); // "/shop/cart"
749
- * ```
750
- */
751
- export declare function createRouter<TEnv = any>(options?: RSCRouterOptions<TEnv>): RSCRouter<TEnv, {}>;
752
- export {};
753
- //# sourceMappingURL=router.d.ts.map