@rangojs/router 0.0.0-experimental.f2337aef → 0.0.0-experimental.f2d1a2f1

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 (972) hide show
  1. package/README.md +126 -38
  2. package/dist/bin/rango.js +138 -50
  3. package/dist/vite/index.js +1183 -461
  4. package/dist/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  5. package/package.json +7 -5
  6. package/skills/breadcrumbs/SKILL.md +3 -1
  7. package/skills/cache-guide/SKILL.md +32 -0
  8. package/skills/caching/SKILL.md +45 -4
  9. package/skills/handler-use/SKILL.md +362 -0
  10. package/skills/hooks/SKILL.md +28 -20
  11. package/skills/intercept/SKILL.md +20 -0
  12. package/skills/layout/SKILL.md +22 -0
  13. package/skills/links/SKILL.md +91 -17
  14. package/skills/loader/SKILL.md +88 -45
  15. package/skills/middleware/SKILL.md +34 -3
  16. package/skills/migrate-nextjs/SKILL.md +560 -0
  17. package/skills/migrate-react-router/SKILL.md +765 -0
  18. package/skills/parallel/SKILL.md +185 -0
  19. package/skills/prerender/SKILL.md +110 -68
  20. package/skills/rango/SKILL.md +24 -22
  21. package/skills/response-routes/SKILL.md +8 -0
  22. package/skills/route/SKILL.md +55 -0
  23. package/skills/router-setup/SKILL.md +87 -2
  24. package/skills/streams-and-websockets/SKILL.md +283 -0
  25. package/skills/typesafety/SKILL.md +13 -1
  26. package/src/__internal.ts +1 -1
  27. package/src/browser/app-shell.ts +52 -0
  28. package/src/browser/app-version.ts +14 -0
  29. package/src/browser/event-controller.ts +5 -0
  30. package/src/browser/navigation-bridge.ts +88 -9
  31. package/src/browser/navigation-client.ts +167 -59
  32. package/src/browser/navigation-store.ts +68 -9
  33. package/src/browser/navigation-transaction.ts +11 -9
  34. package/src/browser/partial-update.ts +109 -15
  35. package/src/browser/prefetch/cache.ts +175 -15
  36. package/src/browser/prefetch/fetch.ts +180 -33
  37. package/src/browser/prefetch/queue.ts +123 -20
  38. package/src/browser/prefetch/resource-ready.ts +77 -0
  39. package/src/browser/rango-state.ts +53 -13
  40. package/src/browser/react/Link.tsx +81 -9
  41. package/src/browser/react/NavigationProvider.tsx +89 -14
  42. package/src/browser/react/context.ts +7 -2
  43. package/src/browser/react/use-handle.ts +9 -58
  44. package/src/browser/react/use-navigation.ts +22 -2
  45. package/src/browser/react/use-params.ts +11 -1
  46. package/src/browser/react/use-router.ts +29 -9
  47. package/src/browser/rsc-router.tsx +168 -65
  48. package/src/browser/scroll-restoration.ts +30 -15
  49. package/src/browser/segment-reconciler.ts +36 -9
  50. package/src/browser/server-action-bridge.ts +8 -6
  51. package/src/browser/types.ts +49 -5
  52. package/src/build/generate-manifest.ts +6 -6
  53. package/src/build/generate-route-types.ts +3 -0
  54. package/src/build/route-trie.ts +50 -24
  55. package/src/build/route-types/include-resolution.ts +8 -1
  56. package/src/build/route-types/router-processing.ts +223 -74
  57. package/src/build/route-types/scan-filter.ts +8 -1
  58. package/src/cache/cache-runtime.ts +15 -11
  59. package/src/cache/cache-scope.ts +48 -7
  60. package/src/cache/cf/cf-cache-store.ts +455 -15
  61. package/src/cache/cf/index.ts +5 -1
  62. package/src/cache/document-cache.ts +17 -7
  63. package/src/cache/index.ts +1 -0
  64. package/src/cache/taint.ts +55 -0
  65. package/src/client.tsx +84 -230
  66. package/src/context-var.ts +72 -2
  67. package/src/debug.ts +2 -2
  68. package/src/handle.ts +40 -0
  69. package/src/index.rsc.ts +6 -1
  70. package/src/index.ts +49 -6
  71. package/src/outlet-context.ts +1 -1
  72. package/src/prerender/store.ts +5 -4
  73. package/src/prerender.ts +138 -77
  74. package/src/response-utils.ts +28 -0
  75. package/src/reverse.ts +27 -2
  76. package/src/route-definition/dsl-helpers.ts +240 -40
  77. package/src/route-definition/helpers-types.ts +67 -19
  78. package/src/route-definition/index.ts +3 -0
  79. package/src/route-definition/redirect.ts +11 -3
  80. package/src/route-definition/resolve-handler-use.ts +155 -0
  81. package/src/route-types.ts +18 -0
  82. package/src/router/content-negotiation.ts +100 -1
  83. package/src/router/handler-context.ts +101 -25
  84. package/src/router/intercept-resolution.ts +9 -4
  85. package/src/router/lazy-includes.ts +10 -7
  86. package/src/router/loader-resolution.ts +159 -21
  87. package/src/router/logging.ts +1 -1
  88. package/src/router/manifest.ts +31 -16
  89. package/src/router/match-api.ts +127 -192
  90. package/src/router/match-middleware/background-revalidation.ts +30 -2
  91. package/src/router/match-middleware/cache-lookup.ts +94 -17
  92. package/src/router/match-middleware/cache-store.ts +53 -10
  93. package/src/router/match-middleware/intercept-resolution.ts +9 -7
  94. package/src/router/match-middleware/segment-resolution.ts +60 -5
  95. package/src/router/match-result.ts +104 -10
  96. package/src/router/metrics.ts +6 -1
  97. package/src/router/middleware-types.ts +8 -30
  98. package/src/router/middleware.ts +36 -10
  99. package/src/router/navigation-snapshot.ts +182 -0
  100. package/src/router/pattern-matching.ts +60 -9
  101. package/src/router/prerender-match.ts +110 -10
  102. package/src/router/preview-match.ts +30 -102
  103. package/src/router/request-classification.ts +310 -0
  104. package/src/router/route-snapshot.ts +245 -0
  105. package/src/router/router-context.ts +1 -0
  106. package/src/router/router-interfaces.ts +36 -4
  107. package/src/router/router-options.ts +37 -11
  108. package/src/router/segment-resolution/fresh.ts +198 -20
  109. package/src/router/segment-resolution/helpers.ts +29 -24
  110. package/src/router/segment-resolution/loader-cache.ts +1 -0
  111. package/src/router/segment-resolution/revalidation.ts +433 -296
  112. package/src/router/trie-matching.ts +10 -4
  113. package/src/router/types.ts +1 -0
  114. package/src/router/url-params.ts +49 -0
  115. package/src/router.ts +60 -8
  116. package/src/rsc/handler.ts +478 -374
  117. package/src/rsc/helpers.ts +69 -41
  118. package/src/rsc/loader-fetch.ts +23 -3
  119. package/src/rsc/manifest-init.ts +5 -1
  120. package/src/rsc/progressive-enhancement.ts +16 -2
  121. package/src/rsc/response-route-handler.ts +14 -1
  122. package/src/rsc/rsc-rendering.ts +17 -1
  123. package/src/rsc/server-action.ts +10 -0
  124. package/src/rsc/ssr-setup.ts +2 -2
  125. package/src/rsc/types.ts +9 -1
  126. package/src/segment-content-promise.ts +67 -0
  127. package/src/segment-loader-promise.ts +122 -0
  128. package/src/segment-system.tsx +109 -23
  129. package/src/server/context.ts +166 -17
  130. package/src/server/handle-store.ts +19 -0
  131. package/src/server/loader-registry.ts +9 -8
  132. package/src/server/request-context.ts +194 -60
  133. package/src/ssr/index.tsx +4 -0
  134. package/src/static-handler.ts +18 -6
  135. package/src/types/cache-types.ts +4 -4
  136. package/src/types/handler-context.ts +137 -65
  137. package/src/types/loader-types.ts +41 -15
  138. package/src/types/request-scope.ts +126 -0
  139. package/src/types/route-entry.ts +19 -1
  140. package/src/types/segments.ts +2 -0
  141. package/src/urls/include-helper.ts +24 -14
  142. package/src/urls/path-helper-types.ts +39 -6
  143. package/src/urls/path-helper.ts +48 -13
  144. package/src/urls/pattern-types.ts +12 -0
  145. package/src/urls/response-types.ts +18 -16
  146. package/src/use-loader.tsx +77 -5
  147. package/src/vite/debug.ts +86 -0
  148. package/src/vite/discovery/bundle-postprocess.ts +30 -33
  149. package/src/vite/discovery/discover-routers.ts +5 -1
  150. package/src/vite/discovery/prerender-collection.ts +128 -74
  151. package/src/vite/discovery/state.ts +13 -6
  152. package/src/vite/index.ts +4 -0
  153. package/src/vite/plugin-types.ts +51 -79
  154. package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
  155. package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  156. package/src/vite/plugins/cloudflare-protocol-stub.ts +214 -0
  157. package/src/vite/plugins/expose-action-id.ts +1 -3
  158. package/src/vite/plugins/expose-id-utils.ts +12 -0
  159. package/src/vite/plugins/expose-ids/handler-transform.ts +30 -0
  160. package/src/vite/plugins/expose-internal-ids.ts +257 -40
  161. package/src/vite/plugins/performance-tracks.ts +86 -0
  162. package/src/vite/plugins/refresh-cmd.ts +88 -26
  163. package/src/vite/plugins/version-plugin.ts +13 -1
  164. package/src/vite/rango.ts +204 -217
  165. package/src/vite/router-discovery.ts +335 -64
  166. package/src/vite/utils/banner.ts +4 -4
  167. package/src/vite/utils/package-resolution.ts +41 -1
  168. package/src/vite/utils/prerender-utils.ts +37 -5
  169. package/src/vite/utils/shared-utils.ts +3 -2
  170. package/dist/__internal.d.ts +0 -83
  171. package/dist/__internal.d.ts.map +0 -1
  172. package/dist/__internal.js +0 -19
  173. package/dist/__internal.js.map +0 -1
  174. package/dist/__mocks__/version.d.ts +0 -7
  175. package/dist/__mocks__/version.d.ts.map +0 -1
  176. package/dist/__mocks__/version.js +0 -7
  177. package/dist/__mocks__/version.js.map +0 -1
  178. package/dist/__tests__/client-href.test.d.ts +0 -2
  179. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  180. package/dist/__tests__/client-href.test.js +0 -74
  181. package/dist/__tests__/client-href.test.js.map +0 -1
  182. package/dist/__tests__/component-utils.test.d.ts +0 -2
  183. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  184. package/dist/__tests__/component-utils.test.js +0 -51
  185. package/dist/__tests__/component-utils.test.js.map +0 -1
  186. package/dist/__tests__/event-controller.test.d.ts +0 -2
  187. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  188. package/dist/__tests__/event-controller.test.js +0 -538
  189. package/dist/__tests__/event-controller.test.js.map +0 -1
  190. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  191. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  192. package/dist/__tests__/helpers/route-tree.js +0 -374
  193. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  194. package/dist/__tests__/match-result.test.d.ts +0 -2
  195. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  196. package/dist/__tests__/match-result.test.js +0 -154
  197. package/dist/__tests__/match-result.test.js.map +0 -1
  198. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  199. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  200. package/dist/__tests__/navigation-store.test.js +0 -440
  201. package/dist/__tests__/navigation-store.test.js.map +0 -1
  202. package/dist/__tests__/partial-update.test.d.ts +0 -2
  203. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  204. package/dist/__tests__/partial-update.test.js +0 -1009
  205. package/dist/__tests__/partial-update.test.js.map +0 -1
  206. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  207. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  208. package/dist/__tests__/reverse-types.test.js +0 -656
  209. package/dist/__tests__/reverse-types.test.js.map +0 -1
  210. package/dist/__tests__/route-definition.test.d.ts +0 -2
  211. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  212. package/dist/__tests__/route-definition.test.js +0 -55
  213. package/dist/__tests__/route-definition.test.js.map +0 -1
  214. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  215. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  216. package/dist/__tests__/router-helpers.test.js +0 -377
  217. package/dist/__tests__/router-helpers.test.js.map +0 -1
  218. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  219. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  220. package/dist/__tests__/router-integration-2.test.js +0 -426
  221. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  222. package/dist/__tests__/router-integration.test.d.ts +0 -2
  223. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  224. package/dist/__tests__/router-integration.test.js +0 -1051
  225. package/dist/__tests__/router-integration.test.js.map +0 -1
  226. package/dist/__tests__/search-params.test.d.ts +0 -5
  227. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  228. package/dist/__tests__/search-params.test.js +0 -306
  229. package/dist/__tests__/search-params.test.js.map +0 -1
  230. package/dist/__tests__/segment-system.test.d.ts +0 -2
  231. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  232. package/dist/__tests__/segment-system.test.js +0 -627
  233. package/dist/__tests__/segment-system.test.js.map +0 -1
  234. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  235. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  236. package/dist/__tests__/static-handler-types.test.js +0 -63
  237. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  238. package/dist/__tests__/urls.test.d.ts +0 -2
  239. package/dist/__tests__/urls.test.d.ts.map +0 -1
  240. package/dist/__tests__/urls.test.js +0 -421
  241. package/dist/__tests__/urls.test.js.map +0 -1
  242. package/dist/__tests__/use-mount.test.d.ts +0 -2
  243. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  244. package/dist/__tests__/use-mount.test.js +0 -35
  245. package/dist/__tests__/use-mount.test.js.map +0 -1
  246. package/dist/bin/rango.d.ts +0 -2
  247. package/dist/bin/rango.d.ts.map +0 -1
  248. package/dist/bin/rango.js.map +0 -1
  249. package/dist/browser/event-controller.d.ts +0 -191
  250. package/dist/browser/event-controller.d.ts.map +0 -1
  251. package/dist/browser/event-controller.js +0 -559
  252. package/dist/browser/event-controller.js.map +0 -1
  253. package/dist/browser/index.d.ts +0 -2
  254. package/dist/browser/index.d.ts.map +0 -1
  255. package/dist/browser/index.js +0 -14
  256. package/dist/browser/index.js.map +0 -1
  257. package/dist/browser/link-interceptor.d.ts +0 -38
  258. package/dist/browser/link-interceptor.d.ts.map +0 -1
  259. package/dist/browser/link-interceptor.js +0 -99
  260. package/dist/browser/link-interceptor.js.map +0 -1
  261. package/dist/browser/logging.d.ts +0 -10
  262. package/dist/browser/logging.d.ts.map +0 -1
  263. package/dist/browser/logging.js +0 -29
  264. package/dist/browser/logging.js.map +0 -1
  265. package/dist/browser/lru-cache.d.ts +0 -17
  266. package/dist/browser/lru-cache.d.ts.map +0 -1
  267. package/dist/browser/lru-cache.js +0 -50
  268. package/dist/browser/lru-cache.js.map +0 -1
  269. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  270. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  271. package/dist/browser/merge-segment-loaders.js +0 -102
  272. package/dist/browser/merge-segment-loaders.js.map +0 -1
  273. package/dist/browser/navigation-bridge.d.ts +0 -102
  274. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  275. package/dist/browser/navigation-bridge.js +0 -708
  276. package/dist/browser/navigation-bridge.js.map +0 -1
  277. package/dist/browser/navigation-client.d.ts +0 -25
  278. package/dist/browser/navigation-client.d.ts.map +0 -1
  279. package/dist/browser/navigation-client.js +0 -157
  280. package/dist/browser/navigation-client.js.map +0 -1
  281. package/dist/browser/navigation-store.d.ts +0 -101
  282. package/dist/browser/navigation-store.d.ts.map +0 -1
  283. package/dist/browser/navigation-store.js +0 -625
  284. package/dist/browser/navigation-store.js.map +0 -1
  285. package/dist/browser/partial-update.d.ts +0 -75
  286. package/dist/browser/partial-update.d.ts.map +0 -1
  287. package/dist/browser/partial-update.js +0 -426
  288. package/dist/browser/partial-update.js.map +0 -1
  289. package/dist/browser/react/Link.d.ts +0 -86
  290. package/dist/browser/react/Link.d.ts.map +0 -1
  291. package/dist/browser/react/Link.js +0 -128
  292. package/dist/browser/react/Link.js.map +0 -1
  293. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  294. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  295. package/dist/browser/react/NavigationProvider.js +0 -216
  296. package/dist/browser/react/NavigationProvider.js.map +0 -1
  297. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  298. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  299. package/dist/browser/react/ScrollRestoration.js +0 -57
  300. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  301. package/dist/browser/react/context.d.ts +0 -46
  302. package/dist/browser/react/context.d.ts.map +0 -1
  303. package/dist/browser/react/context.js +0 -10
  304. package/dist/browser/react/context.js.map +0 -1
  305. package/dist/browser/react/index.d.ts +0 -11
  306. package/dist/browser/react/index.d.ts.map +0 -1
  307. package/dist/browser/react/index.js +0 -22
  308. package/dist/browser/react/index.js.map +0 -1
  309. package/dist/browser/react/location-state-shared.d.ts +0 -63
  310. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  311. package/dist/browser/react/location-state-shared.js +0 -81
  312. package/dist/browser/react/location-state-shared.js.map +0 -1
  313. package/dist/browser/react/location-state.d.ts +0 -23
  314. package/dist/browser/react/location-state.d.ts.map +0 -1
  315. package/dist/browser/react/location-state.js +0 -29
  316. package/dist/browser/react/location-state.js.map +0 -1
  317. package/dist/browser/react/mount-context.d.ts +0 -24
  318. package/dist/browser/react/mount-context.d.ts.map +0 -1
  319. package/dist/browser/react/mount-context.js +0 -24
  320. package/dist/browser/react/mount-context.js.map +0 -1
  321. package/dist/browser/react/use-action.d.ts +0 -64
  322. package/dist/browser/react/use-action.d.ts.map +0 -1
  323. package/dist/browser/react/use-action.js +0 -134
  324. package/dist/browser/react/use-action.js.map +0 -1
  325. package/dist/browser/react/use-client-cache.d.ts +0 -41
  326. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  327. package/dist/browser/react/use-client-cache.js +0 -39
  328. package/dist/browser/react/use-client-cache.js.map +0 -1
  329. package/dist/browser/react/use-handle.d.ts +0 -31
  330. package/dist/browser/react/use-handle.d.ts.map +0 -1
  331. package/dist/browser/react/use-handle.js +0 -144
  332. package/dist/browser/react/use-handle.js.map +0 -1
  333. package/dist/browser/react/use-href.d.ts +0 -33
  334. package/dist/browser/react/use-href.d.ts.map +0 -1
  335. package/dist/browser/react/use-href.js +0 -39
  336. package/dist/browser/react/use-href.js.map +0 -1
  337. package/dist/browser/react/use-link-status.d.ts +0 -37
  338. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  339. package/dist/browser/react/use-link-status.js +0 -99
  340. package/dist/browser/react/use-link-status.js.map +0 -1
  341. package/dist/browser/react/use-mount.d.ts +0 -25
  342. package/dist/browser/react/use-mount.d.ts.map +0 -1
  343. package/dist/browser/react/use-mount.js +0 -30
  344. package/dist/browser/react/use-mount.js.map +0 -1
  345. package/dist/browser/react/use-navigation.d.ts +0 -27
  346. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  347. package/dist/browser/react/use-navigation.js +0 -87
  348. package/dist/browser/react/use-navigation.js.map +0 -1
  349. package/dist/browser/react/use-segments.d.ts +0 -38
  350. package/dist/browser/react/use-segments.d.ts.map +0 -1
  351. package/dist/browser/react/use-segments.js +0 -130
  352. package/dist/browser/react/use-segments.js.map +0 -1
  353. package/dist/browser/request-controller.d.ts +0 -26
  354. package/dist/browser/request-controller.d.ts.map +0 -1
  355. package/dist/browser/request-controller.js +0 -147
  356. package/dist/browser/request-controller.js.map +0 -1
  357. package/dist/browser/rsc-router.d.ts +0 -129
  358. package/dist/browser/rsc-router.d.ts.map +0 -1
  359. package/dist/browser/rsc-router.js +0 -195
  360. package/dist/browser/rsc-router.js.map +0 -1
  361. package/dist/browser/scroll-restoration.d.ts +0 -93
  362. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  363. package/dist/browser/scroll-restoration.js +0 -321
  364. package/dist/browser/scroll-restoration.js.map +0 -1
  365. package/dist/browser/segment-structure-assert.d.ts +0 -17
  366. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  367. package/dist/browser/segment-structure-assert.js +0 -59
  368. package/dist/browser/segment-structure-assert.js.map +0 -1
  369. package/dist/browser/server-action-bridge.d.ts +0 -26
  370. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  371. package/dist/browser/server-action-bridge.js +0 -668
  372. package/dist/browser/server-action-bridge.js.map +0 -1
  373. package/dist/browser/shallow.d.ts +0 -12
  374. package/dist/browser/shallow.d.ts.map +0 -1
  375. package/dist/browser/shallow.js +0 -34
  376. package/dist/browser/shallow.js.map +0 -1
  377. package/dist/browser/types.d.ts +0 -369
  378. package/dist/browser/types.d.ts.map +0 -1
  379. package/dist/browser/types.js +0 -2
  380. package/dist/browser/types.js.map +0 -1
  381. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  382. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  383. package/dist/build/__tests__/generate-cli.test.js +0 -237
  384. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  385. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  386. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  387. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  388. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  389. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  390. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  391. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  392. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  393. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  394. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  395. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  396. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  397. package/dist/build/generate-manifest.d.ts +0 -81
  398. package/dist/build/generate-manifest.d.ts.map +0 -1
  399. package/dist/build/generate-manifest.js +0 -276
  400. package/dist/build/generate-manifest.js.map +0 -1
  401. package/dist/build/generate-route-types.d.ts +0 -115
  402. package/dist/build/generate-route-types.d.ts.map +0 -1
  403. package/dist/build/generate-route-types.js +0 -740
  404. package/dist/build/generate-route-types.js.map +0 -1
  405. package/dist/build/index.d.ts +0 -21
  406. package/dist/build/index.d.ts.map +0 -1
  407. package/dist/build/index.js +0 -21
  408. package/dist/build/index.js.map +0 -1
  409. package/dist/build/route-trie.d.ts +0 -71
  410. package/dist/build/route-trie.d.ts.map +0 -1
  411. package/dist/build/route-trie.js +0 -175
  412. package/dist/build/route-trie.js.map +0 -1
  413. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  414. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  415. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  416. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  417. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  418. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  419. package/dist/cache/__tests__/document-cache.test.js +0 -345
  420. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  421. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  422. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  423. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  424. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  425. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  426. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  427. package/dist/cache/__tests__/memory-store.test.js +0 -367
  428. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  429. package/dist/cache/cache-scope.d.ts +0 -102
  430. package/dist/cache/cache-scope.d.ts.map +0 -1
  431. package/dist/cache/cache-scope.js +0 -440
  432. package/dist/cache/cache-scope.js.map +0 -1
  433. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  434. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  435. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  436. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  437. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  438. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  439. package/dist/cache/cf/cf-cache-store.js +0 -242
  440. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  441. package/dist/cache/cf/index.d.ts +0 -14
  442. package/dist/cache/cf/index.d.ts.map +0 -1
  443. package/dist/cache/cf/index.js +0 -17
  444. package/dist/cache/cf/index.js.map +0 -1
  445. package/dist/cache/document-cache.d.ts +0 -64
  446. package/dist/cache/document-cache.d.ts.map +0 -1
  447. package/dist/cache/document-cache.js +0 -228
  448. package/dist/cache/document-cache.js.map +0 -1
  449. package/dist/cache/index.d.ts +0 -19
  450. package/dist/cache/index.d.ts.map +0 -1
  451. package/dist/cache/index.js +0 -21
  452. package/dist/cache/index.js.map +0 -1
  453. package/dist/cache/memory-segment-store.d.ts +0 -110
  454. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  455. package/dist/cache/memory-segment-store.js +0 -117
  456. package/dist/cache/memory-segment-store.js.map +0 -1
  457. package/dist/cache/memory-store.d.ts +0 -41
  458. package/dist/cache/memory-store.d.ts.map +0 -1
  459. package/dist/cache/memory-store.js +0 -191
  460. package/dist/cache/memory-store.js.map +0 -1
  461. package/dist/cache/types.d.ts +0 -317
  462. package/dist/cache/types.d.ts.map +0 -1
  463. package/dist/cache/types.js +0 -12
  464. package/dist/cache/types.js.map +0 -1
  465. package/dist/client.d.ts +0 -248
  466. package/dist/client.d.ts.map +0 -1
  467. package/dist/client.js +0 -367
  468. package/dist/client.js.map +0 -1
  469. package/dist/client.rsc.d.ts +0 -26
  470. package/dist/client.rsc.d.ts.map +0 -1
  471. package/dist/client.rsc.js +0 -46
  472. package/dist/client.rsc.js.map +0 -1
  473. package/dist/component-utils.d.ts +0 -36
  474. package/dist/component-utils.d.ts.map +0 -1
  475. package/dist/component-utils.js +0 -61
  476. package/dist/component-utils.js.map +0 -1
  477. package/dist/components/DefaultDocument.d.ts +0 -13
  478. package/dist/components/DefaultDocument.d.ts.map +0 -1
  479. package/dist/components/DefaultDocument.js +0 -15
  480. package/dist/components/DefaultDocument.js.map +0 -1
  481. package/dist/debug.d.ts +0 -58
  482. package/dist/debug.d.ts.map +0 -1
  483. package/dist/debug.js +0 -157
  484. package/dist/debug.js.map +0 -1
  485. package/dist/default-error-boundary.d.ts +0 -11
  486. package/dist/default-error-boundary.d.ts.map +0 -1
  487. package/dist/default-error-boundary.js +0 -45
  488. package/dist/default-error-boundary.js.map +0 -1
  489. package/dist/deps/browser.d.ts +0 -2
  490. package/dist/deps/browser.d.ts.map +0 -1
  491. package/dist/deps/browser.js +0 -3
  492. package/dist/deps/browser.js.map +0 -1
  493. package/dist/deps/html-stream-client.d.ts +0 -2
  494. package/dist/deps/html-stream-client.d.ts.map +0 -1
  495. package/dist/deps/html-stream-client.js +0 -3
  496. package/dist/deps/html-stream-client.js.map +0 -1
  497. package/dist/deps/html-stream-server.d.ts +0 -2
  498. package/dist/deps/html-stream-server.d.ts.map +0 -1
  499. package/dist/deps/html-stream-server.js +0 -3
  500. package/dist/deps/html-stream-server.js.map +0 -1
  501. package/dist/deps/rsc.d.ts +0 -2
  502. package/dist/deps/rsc.d.ts.map +0 -1
  503. package/dist/deps/rsc.js +0 -4
  504. package/dist/deps/rsc.js.map +0 -1
  505. package/dist/deps/ssr.d.ts +0 -2
  506. package/dist/deps/ssr.d.ts.map +0 -1
  507. package/dist/deps/ssr.js +0 -3
  508. package/dist/deps/ssr.js.map +0 -1
  509. package/dist/errors.d.ts +0 -174
  510. package/dist/errors.d.ts.map +0 -1
  511. package/dist/errors.js +0 -241
  512. package/dist/errors.js.map +0 -1
  513. package/dist/handle.d.ts +0 -78
  514. package/dist/handle.d.ts.map +0 -1
  515. package/dist/handle.js +0 -82
  516. package/dist/handle.js.map +0 -1
  517. package/dist/handles/MetaTags.d.ts +0 -14
  518. package/dist/handles/MetaTags.d.ts.map +0 -1
  519. package/dist/handles/MetaTags.js +0 -136
  520. package/dist/handles/MetaTags.js.map +0 -1
  521. package/dist/handles/index.d.ts +0 -6
  522. package/dist/handles/index.d.ts.map +0 -1
  523. package/dist/handles/index.js +0 -6
  524. package/dist/handles/index.js.map +0 -1
  525. package/dist/handles/meta.d.ts +0 -39
  526. package/dist/handles/meta.d.ts.map +0 -1
  527. package/dist/handles/meta.js +0 -202
  528. package/dist/handles/meta.js.map +0 -1
  529. package/dist/host/__tests__/errors.test.d.ts +0 -2
  530. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  531. package/dist/host/__tests__/errors.test.js +0 -76
  532. package/dist/host/__tests__/errors.test.js.map +0 -1
  533. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  534. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  535. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  536. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  537. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  538. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  539. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  540. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  541. package/dist/host/__tests__/router.test.d.ts +0 -2
  542. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  543. package/dist/host/__tests__/router.test.js +0 -241
  544. package/dist/host/__tests__/router.test.js.map +0 -1
  545. package/dist/host/__tests__/testing.test.d.ts +0 -2
  546. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  547. package/dist/host/__tests__/testing.test.js +0 -64
  548. package/dist/host/__tests__/testing.test.js.map +0 -1
  549. package/dist/host/__tests__/utils.test.d.ts +0 -2
  550. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  551. package/dist/host/__tests__/utils.test.js +0 -29
  552. package/dist/host/__tests__/utils.test.js.map +0 -1
  553. package/dist/host/cookie-handler.d.ts +0 -34
  554. package/dist/host/cookie-handler.d.ts.map +0 -1
  555. package/dist/host/cookie-handler.js +0 -124
  556. package/dist/host/cookie-handler.js.map +0 -1
  557. package/dist/host/errors.d.ts +0 -56
  558. package/dist/host/errors.d.ts.map +0 -1
  559. package/dist/host/errors.js +0 -79
  560. package/dist/host/errors.js.map +0 -1
  561. package/dist/host/index.d.ts +0 -29
  562. package/dist/host/index.d.ts.map +0 -1
  563. package/dist/host/index.js +0 -32
  564. package/dist/host/index.js.map +0 -1
  565. package/dist/host/pattern-matcher.d.ts +0 -36
  566. package/dist/host/pattern-matcher.d.ts.map +0 -1
  567. package/dist/host/pattern-matcher.js +0 -172
  568. package/dist/host/pattern-matcher.js.map +0 -1
  569. package/dist/host/router.d.ts +0 -26
  570. package/dist/host/router.d.ts.map +0 -1
  571. package/dist/host/router.js +0 -218
  572. package/dist/host/router.js.map +0 -1
  573. package/dist/host/testing.d.ts +0 -36
  574. package/dist/host/testing.d.ts.map +0 -1
  575. package/dist/host/testing.js +0 -55
  576. package/dist/host/testing.js.map +0 -1
  577. package/dist/host/types.d.ts +0 -115
  578. package/dist/host/types.d.ts.map +0 -1
  579. package/dist/host/types.js +0 -7
  580. package/dist/host/types.js.map +0 -1
  581. package/dist/host/utils.d.ts +0 -21
  582. package/dist/host/utils.d.ts.map +0 -1
  583. package/dist/host/utils.js +0 -23
  584. package/dist/host/utils.js.map +0 -1
  585. package/dist/href-client.d.ts +0 -131
  586. package/dist/href-client.d.ts.map +0 -1
  587. package/dist/href-client.js +0 -64
  588. package/dist/href-client.js.map +0 -1
  589. package/dist/href-context.d.ts +0 -29
  590. package/dist/href-context.d.ts.map +0 -1
  591. package/dist/href-context.js +0 -21
  592. package/dist/href-context.js.map +0 -1
  593. package/dist/index.d.ts +0 -73
  594. package/dist/index.d.ts.map +0 -1
  595. package/dist/index.js +0 -91
  596. package/dist/index.js.map +0 -1
  597. package/dist/index.rsc.d.ts +0 -32
  598. package/dist/index.rsc.d.ts.map +0 -1
  599. package/dist/index.rsc.js +0 -40
  600. package/dist/index.rsc.js.map +0 -1
  601. package/dist/internal-debug.d.ts +0 -2
  602. package/dist/internal-debug.d.ts.map +0 -1
  603. package/dist/internal-debug.js +0 -5
  604. package/dist/internal-debug.js.map +0 -1
  605. package/dist/loader.d.ts +0 -14
  606. package/dist/loader.d.ts.map +0 -1
  607. package/dist/loader.js +0 -20
  608. package/dist/loader.js.map +0 -1
  609. package/dist/loader.rsc.d.ts +0 -19
  610. package/dist/loader.rsc.d.ts.map +0 -1
  611. package/dist/loader.rsc.js +0 -99
  612. package/dist/loader.rsc.js.map +0 -1
  613. package/dist/network-error-thrower.d.ts +0 -17
  614. package/dist/network-error-thrower.d.ts.map +0 -1
  615. package/dist/network-error-thrower.js +0 -14
  616. package/dist/network-error-thrower.js.map +0 -1
  617. package/dist/outlet-context.d.ts +0 -13
  618. package/dist/outlet-context.d.ts.map +0 -1
  619. package/dist/outlet-context.js +0 -3
  620. package/dist/outlet-context.js.map +0 -1
  621. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  622. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  623. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  624. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  625. package/dist/prerender/param-hash.d.ts +0 -16
  626. package/dist/prerender/param-hash.d.ts.map +0 -1
  627. package/dist/prerender/param-hash.js +0 -36
  628. package/dist/prerender/param-hash.js.map +0 -1
  629. package/dist/prerender/store.d.ts +0 -38
  630. package/dist/prerender/store.d.ts.map +0 -1
  631. package/dist/prerender/store.js +0 -61
  632. package/dist/prerender/store.js.map +0 -1
  633. package/dist/prerender.d.ts +0 -66
  634. package/dist/prerender.d.ts.map +0 -1
  635. package/dist/prerender.js +0 -57
  636. package/dist/prerender.js.map +0 -1
  637. package/dist/reverse.d.ts +0 -196
  638. package/dist/reverse.d.ts.map +0 -1
  639. package/dist/reverse.js +0 -78
  640. package/dist/reverse.js.map +0 -1
  641. package/dist/root-error-boundary.d.ts +0 -33
  642. package/dist/root-error-boundary.d.ts.map +0 -1
  643. package/dist/root-error-boundary.js +0 -165
  644. package/dist/root-error-boundary.js.map +0 -1
  645. package/dist/route-content-wrapper.d.ts +0 -46
  646. package/dist/route-content-wrapper.d.ts.map +0 -1
  647. package/dist/route-content-wrapper.js +0 -77
  648. package/dist/route-content-wrapper.js.map +0 -1
  649. package/dist/route-definition.d.ts +0 -421
  650. package/dist/route-definition.d.ts.map +0 -1
  651. package/dist/route-definition.js +0 -868
  652. package/dist/route-definition.js.map +0 -1
  653. package/dist/route-map-builder.d.ts +0 -155
  654. package/dist/route-map-builder.d.ts.map +0 -1
  655. package/dist/route-map-builder.js +0 -237
  656. package/dist/route-map-builder.js.map +0 -1
  657. package/dist/route-types.d.ts +0 -165
  658. package/dist/route-types.d.ts.map +0 -1
  659. package/dist/route-types.js +0 -7
  660. package/dist/route-types.js.map +0 -1
  661. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  662. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  663. package/dist/router/__tests__/handler-context.test.js +0 -65
  664. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  665. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  666. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  667. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  668. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  669. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  670. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  671. package/dist/router/__tests__/match-context.test.js +0 -92
  672. package/dist/router/__tests__/match-context.test.js.map +0 -1
  673. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  674. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  675. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  676. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  677. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  678. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  679. package/dist/router/__tests__/match-result.test.js +0 -457
  680. package/dist/router/__tests__/match-result.test.js.map +0 -1
  681. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  682. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  683. package/dist/router/__tests__/on-error.test.js +0 -678
  684. package/dist/router/__tests__/on-error.test.js.map +0 -1
  685. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  686. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  687. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  688. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  689. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  690. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  691. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  692. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  693. package/dist/router/error-handling.d.ts +0 -77
  694. package/dist/router/error-handling.d.ts.map +0 -1
  695. package/dist/router/error-handling.js +0 -202
  696. package/dist/router/error-handling.js.map +0 -1
  697. package/dist/router/handler-context.d.ts +0 -20
  698. package/dist/router/handler-context.d.ts.map +0 -1
  699. package/dist/router/handler-context.js +0 -198
  700. package/dist/router/handler-context.js.map +0 -1
  701. package/dist/router/intercept-resolution.d.ts +0 -66
  702. package/dist/router/intercept-resolution.d.ts.map +0 -1
  703. package/dist/router/intercept-resolution.js +0 -246
  704. package/dist/router/intercept-resolution.js.map +0 -1
  705. package/dist/router/loader-resolution.d.ts +0 -64
  706. package/dist/router/loader-resolution.d.ts.map +0 -1
  707. package/dist/router/loader-resolution.js +0 -284
  708. package/dist/router/loader-resolution.js.map +0 -1
  709. package/dist/router/logging.d.ts +0 -15
  710. package/dist/router/logging.d.ts.map +0 -1
  711. package/dist/router/logging.js +0 -99
  712. package/dist/router/logging.js.map +0 -1
  713. package/dist/router/manifest.d.ts +0 -22
  714. package/dist/router/manifest.d.ts.map +0 -1
  715. package/dist/router/manifest.js +0 -181
  716. package/dist/router/manifest.js.map +0 -1
  717. package/dist/router/match-api.d.ts +0 -35
  718. package/dist/router/match-api.d.ts.map +0 -1
  719. package/dist/router/match-api.js +0 -406
  720. package/dist/router/match-api.js.map +0 -1
  721. package/dist/router/match-context.d.ts +0 -206
  722. package/dist/router/match-context.d.ts.map +0 -1
  723. package/dist/router/match-context.js +0 -17
  724. package/dist/router/match-context.js.map +0 -1
  725. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  726. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  727. package/dist/router/match-middleware/background-revalidation.js +0 -75
  728. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  729. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  730. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  731. package/dist/router/match-middleware/cache-lookup.js +0 -257
  732. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  733. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  734. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  735. package/dist/router/match-middleware/cache-store.js +0 -108
  736. package/dist/router/match-middleware/cache-store.js.map +0 -1
  737. package/dist/router/match-middleware/index.d.ts +0 -81
  738. package/dist/router/match-middleware/index.d.ts.map +0 -1
  739. package/dist/router/match-middleware/index.js +0 -80
  740. package/dist/router/match-middleware/index.js.map +0 -1
  741. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  742. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  743. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  744. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  745. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  746. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  747. package/dist/router/match-middleware/segment-resolution.js +0 -53
  748. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  749. package/dist/router/match-pipelines.d.ts +0 -147
  750. package/dist/router/match-pipelines.d.ts.map +0 -1
  751. package/dist/router/match-pipelines.js +0 -82
  752. package/dist/router/match-pipelines.js.map +0 -1
  753. package/dist/router/match-result.d.ts +0 -126
  754. package/dist/router/match-result.d.ts.map +0 -1
  755. package/dist/router/match-result.js +0 -93
  756. package/dist/router/match-result.js.map +0 -1
  757. package/dist/router/metrics.d.ts +0 -20
  758. package/dist/router/metrics.d.ts.map +0 -1
  759. package/dist/router/metrics.js +0 -47
  760. package/dist/router/metrics.js.map +0 -1
  761. package/dist/router/middleware.d.ts +0 -249
  762. package/dist/router/middleware.d.ts.map +0 -1
  763. package/dist/router/middleware.js +0 -434
  764. package/dist/router/middleware.js.map +0 -1
  765. package/dist/router/middleware.test.d.ts +0 -2
  766. package/dist/router/middleware.test.d.ts.map +0 -1
  767. package/dist/router/middleware.test.js +0 -816
  768. package/dist/router/middleware.test.js.map +0 -1
  769. package/dist/router/pattern-matching.d.ts +0 -149
  770. package/dist/router/pattern-matching.d.ts.map +0 -1
  771. package/dist/router/pattern-matching.js +0 -349
  772. package/dist/router/pattern-matching.js.map +0 -1
  773. package/dist/router/revalidation.d.ts +0 -44
  774. package/dist/router/revalidation.d.ts.map +0 -1
  775. package/dist/router/revalidation.js +0 -147
  776. package/dist/router/revalidation.js.map +0 -1
  777. package/dist/router/router-context.d.ts +0 -135
  778. package/dist/router/router-context.d.ts.map +0 -1
  779. package/dist/router/router-context.js +0 -36
  780. package/dist/router/router-context.js.map +0 -1
  781. package/dist/router/segment-resolution.d.ts +0 -127
  782. package/dist/router/segment-resolution.d.ts.map +0 -1
  783. package/dist/router/segment-resolution.js +0 -919
  784. package/dist/router/segment-resolution.js.map +0 -1
  785. package/dist/router/trie-matching.d.ts +0 -40
  786. package/dist/router/trie-matching.d.ts.map +0 -1
  787. package/dist/router/trie-matching.js +0 -127
  788. package/dist/router/trie-matching.js.map +0 -1
  789. package/dist/router/types.d.ts +0 -136
  790. package/dist/router/types.d.ts.map +0 -1
  791. package/dist/router/types.js +0 -7
  792. package/dist/router/types.js.map +0 -1
  793. package/dist/router.d.ts +0 -753
  794. package/dist/router.d.ts.map +0 -1
  795. package/dist/router.gen.d.ts +0 -6
  796. package/dist/router.gen.d.ts.map +0 -1
  797. package/dist/router.gen.js +0 -6
  798. package/dist/router.gen.js.map +0 -1
  799. package/dist/router.js +0 -1304
  800. package/dist/router.js.map +0 -1
  801. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  802. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  803. package/dist/rsc/__tests__/helpers.test.js +0 -140
  804. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  805. package/dist/rsc/handler.d.ts +0 -45
  806. package/dist/rsc/handler.d.ts.map +0 -1
  807. package/dist/rsc/handler.js +0 -1172
  808. package/dist/rsc/handler.js.map +0 -1
  809. package/dist/rsc/helpers.d.ts +0 -16
  810. package/dist/rsc/helpers.d.ts.map +0 -1
  811. package/dist/rsc/helpers.js +0 -55
  812. package/dist/rsc/helpers.js.map +0 -1
  813. package/dist/rsc/index.d.ts +0 -22
  814. package/dist/rsc/index.d.ts.map +0 -1
  815. package/dist/rsc/index.js +0 -23
  816. package/dist/rsc/index.js.map +0 -1
  817. package/dist/rsc/nonce.d.ts +0 -9
  818. package/dist/rsc/nonce.d.ts.map +0 -1
  819. package/dist/rsc/nonce.js +0 -18
  820. package/dist/rsc/nonce.js.map +0 -1
  821. package/dist/rsc/types.d.ts +0 -206
  822. package/dist/rsc/types.d.ts.map +0 -1
  823. package/dist/rsc/types.js +0 -8
  824. package/dist/rsc/types.js.map +0 -1
  825. package/dist/search-params.d.ts +0 -103
  826. package/dist/search-params.d.ts.map +0 -1
  827. package/dist/search-params.js +0 -74
  828. package/dist/search-params.js.map +0 -1
  829. package/dist/segment-system.d.ts +0 -75
  830. package/dist/segment-system.d.ts.map +0 -1
  831. package/dist/segment-system.js +0 -336
  832. package/dist/segment-system.js.map +0 -1
  833. package/dist/server/context.d.ts +0 -245
  834. package/dist/server/context.d.ts.map +0 -1
  835. package/dist/server/context.js +0 -197
  836. package/dist/server/context.js.map +0 -1
  837. package/dist/server/fetchable-loader-store.d.ts +0 -18
  838. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  839. package/dist/server/fetchable-loader-store.js +0 -18
  840. package/dist/server/fetchable-loader-store.js.map +0 -1
  841. package/dist/server/handle-store.d.ts +0 -85
  842. package/dist/server/handle-store.d.ts.map +0 -1
  843. package/dist/server/handle-store.js +0 -142
  844. package/dist/server/handle-store.js.map +0 -1
  845. package/dist/server/loader-registry.d.ts +0 -55
  846. package/dist/server/loader-registry.d.ts.map +0 -1
  847. package/dist/server/loader-registry.js +0 -132
  848. package/dist/server/loader-registry.js.map +0 -1
  849. package/dist/server/request-context.d.ts +0 -226
  850. package/dist/server/request-context.d.ts.map +0 -1
  851. package/dist/server/request-context.js +0 -290
  852. package/dist/server/request-context.js.map +0 -1
  853. package/dist/server/root-layout.d.ts +0 -4
  854. package/dist/server/root-layout.d.ts.map +0 -1
  855. package/dist/server/root-layout.js +0 -5
  856. package/dist/server/root-layout.js.map +0 -1
  857. package/dist/server.d.ts +0 -15
  858. package/dist/server.d.ts.map +0 -1
  859. package/dist/server.js +0 -20
  860. package/dist/server.js.map +0 -1
  861. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  862. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  863. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  864. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  865. package/dist/ssr/index.d.ts +0 -98
  866. package/dist/ssr/index.d.ts.map +0 -1
  867. package/dist/ssr/index.js +0 -158
  868. package/dist/ssr/index.js.map +0 -1
  869. package/dist/static-handler.d.ts +0 -50
  870. package/dist/static-handler.d.ts.map +0 -1
  871. package/dist/static-handler.gen.d.ts +0 -5
  872. package/dist/static-handler.gen.d.ts.map +0 -1
  873. package/dist/static-handler.gen.js +0 -5
  874. package/dist/static-handler.gen.js.map +0 -1
  875. package/dist/static-handler.js +0 -29
  876. package/dist/static-handler.js.map +0 -1
  877. package/dist/theme/ThemeProvider.d.ts +0 -20
  878. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  879. package/dist/theme/ThemeProvider.js +0 -240
  880. package/dist/theme/ThemeProvider.js.map +0 -1
  881. package/dist/theme/ThemeScript.d.ts +0 -48
  882. package/dist/theme/ThemeScript.d.ts.map +0 -1
  883. package/dist/theme/ThemeScript.js +0 -13
  884. package/dist/theme/ThemeScript.js.map +0 -1
  885. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  886. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  887. package/dist/theme/__tests__/theme.test.js +0 -103
  888. package/dist/theme/__tests__/theme.test.js.map +0 -1
  889. package/dist/theme/constants.d.ts +0 -29
  890. package/dist/theme/constants.d.ts.map +0 -1
  891. package/dist/theme/constants.js +0 -48
  892. package/dist/theme/constants.js.map +0 -1
  893. package/dist/theme/index.d.ts +0 -31
  894. package/dist/theme/index.d.ts.map +0 -1
  895. package/dist/theme/index.js +0 -36
  896. package/dist/theme/index.js.map +0 -1
  897. package/dist/theme/theme-context.d.ts +0 -40
  898. package/dist/theme/theme-context.d.ts.map +0 -1
  899. package/dist/theme/theme-context.js +0 -60
  900. package/dist/theme/theme-context.js.map +0 -1
  901. package/dist/theme/theme-script.d.ts +0 -27
  902. package/dist/theme/theme-script.d.ts.map +0 -1
  903. package/dist/theme/theme-script.js +0 -147
  904. package/dist/theme/theme-script.js.map +0 -1
  905. package/dist/theme/types.d.ts +0 -163
  906. package/dist/theme/types.d.ts.map +0 -1
  907. package/dist/theme/types.js +0 -11
  908. package/dist/theme/types.js.map +0 -1
  909. package/dist/theme/use-theme.d.ts +0 -12
  910. package/dist/theme/use-theme.d.ts.map +0 -1
  911. package/dist/theme/use-theme.js +0 -40
  912. package/dist/theme/use-theme.js.map +0 -1
  913. package/dist/types.d.ts +0 -1479
  914. package/dist/types.d.ts.map +0 -1
  915. package/dist/types.js +0 -10
  916. package/dist/types.js.map +0 -1
  917. package/dist/urls.d.ts +0 -441
  918. package/dist/urls.d.ts.map +0 -1
  919. package/dist/urls.gen.d.ts +0 -8
  920. package/dist/urls.gen.d.ts.map +0 -1
  921. package/dist/urls.gen.js +0 -8
  922. package/dist/urls.gen.js.map +0 -1
  923. package/dist/urls.js +0 -443
  924. package/dist/urls.js.map +0 -1
  925. package/dist/use-loader.d.ts +0 -127
  926. package/dist/use-loader.d.ts.map +0 -1
  927. package/dist/use-loader.js +0 -237
  928. package/dist/use-loader.js.map +0 -1
  929. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  930. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  931. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  932. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  933. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  934. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  935. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  936. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  937. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  938. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  939. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  940. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  941. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  942. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  943. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  944. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  945. package/dist/vite/ast-handler-extract.d.ts +0 -49
  946. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  947. package/dist/vite/ast-handler-extract.js +0 -249
  948. package/dist/vite/ast-handler-extract.js.map +0 -1
  949. package/dist/vite/expose-action-id.d.ts +0 -19
  950. package/dist/vite/expose-action-id.d.ts.map +0 -1
  951. package/dist/vite/expose-action-id.js +0 -250
  952. package/dist/vite/expose-action-id.js.map +0 -1
  953. package/dist/vite/expose-id-utils.d.ts +0 -69
  954. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  955. package/dist/vite/expose-id-utils.js +0 -289
  956. package/dist/vite/expose-id-utils.js.map +0 -1
  957. package/dist/vite/expose-internal-ids.d.ts +0 -22
  958. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  959. package/dist/vite/expose-internal-ids.js +0 -886
  960. package/dist/vite/expose-internal-ids.js.map +0 -1
  961. package/dist/vite/index.d.ts +0 -149
  962. package/dist/vite/index.d.ts.map +0 -1
  963. package/dist/vite/index.js.map +0 -1
  964. package/dist/vite/index.named-routes.gen.ts +0 -103
  965. package/dist/vite/package-resolution.d.ts +0 -43
  966. package/dist/vite/package-resolution.d.ts.map +0 -1
  967. package/dist/vite/package-resolution.js +0 -112
  968. package/dist/vite/package-resolution.js.map +0 -1
  969. package/dist/vite/virtual-entries.d.ts +0 -25
  970. package/dist/vite/virtual-entries.d.ts.map +0 -1
  971. package/dist/vite/virtual-entries.js +0 -110
  972. package/dist/vite/virtual-entries.js.map +0 -1
package/dist/urls.js DELETED
@@ -1,443 +0,0 @@
1
- import { getContext, runWithPrefixes, getUrlPrefix, getNamePrefix, } from "./server/context";
2
- import { invariant } from "./errors";
3
- import { isPrerenderHandler, } from "./prerender.js";
4
- import { isStaticHandler, } from "./static-handler.js";
5
- import { registerSearchSchema } from "./route-map-builder.js";
6
- // ============================================================================
7
- // Response Route Symbol and Types
8
- // ============================================================================
9
- /**
10
- * Symbol marking a route as a response route (non-RSC).
11
- * Stored on PathOptions and UrlPatterns to signal the trie to short-circuit.
12
- */
13
- export const RESPONSE_TYPE = Symbol.for("rangojs.responseType");
14
- // ============================================================================
15
- // Helper Implementations
16
- // ============================================================================
17
- /**
18
- * Check if a value is a valid use item
19
- */
20
- const isValidUseItem = (item) => {
21
- return (typeof item === "undefined" ||
22
- item === null ||
23
- (item &&
24
- typeof item === "object" &&
25
- "type" in item &&
26
- [
27
- "layout",
28
- "route",
29
- "middleware",
30
- "revalidate",
31
- "parallel",
32
- "intercept",
33
- "loader",
34
- "loading",
35
- "errorBoundary",
36
- "notFoundBoundary",
37
- "when",
38
- "cache",
39
- "include",
40
- ].includes(item.type)));
41
- };
42
- /**
43
- * Apply URL prefix to a pattern
44
- * Handles edge cases like "/" patterns and double slashes
45
- */
46
- function applyUrlPrefix(prefix, pattern) {
47
- if (!prefix)
48
- return pattern;
49
- if (pattern === "/")
50
- return prefix;
51
- if (prefix.endsWith("/") && pattern.startsWith("/")) {
52
- return prefix + pattern.slice(1);
53
- }
54
- return prefix + pattern;
55
- }
56
- /**
57
- * Apply name prefix to a route name
58
- */
59
- function applyNamePrefix(prefix, name) {
60
- if (!prefix)
61
- return name;
62
- return `${prefix}.${name}`;
63
- }
64
- /**
65
- * Create path() helper
66
- *
67
- * The path() function is the key new feature - it combines URL pattern
68
- * with handler at the definition site.
69
- */
70
- /**
71
- * Resolve response type from path options (set by path.json(), path.text(), etc.)
72
- */
73
- function resolveResponseType(options) {
74
- return options?.[RESPONSE_TYPE];
75
- }
76
- function createPathHelper() {
77
- return ((pattern, handler, optionsOrUse, maybeUse) => {
78
- const store = getContext();
79
- const ctx = store.getStore();
80
- if (!ctx)
81
- throw new Error("path() must be called inside urls()");
82
- invariant(!ctx.parent || ctx.parent.type !== "parallel", "path() cannot be used inside parallel()");
83
- // Walk the parent chain to prevent path() nested under another path(),
84
- // even when separated by intermediate layouts (e.g. path(layout(path())))
85
- {
86
- let ancestor = ctx.parent;
87
- while (ancestor) {
88
- invariant(ancestor.type !== "route", "path() cannot be nested inside another path()");
89
- ancestor = ancestor.parent;
90
- }
91
- }
92
- // Determine options and use based on argument types
93
- let options;
94
- let use;
95
- if (typeof optionsOrUse === "function") {
96
- // path(pattern, handler, use)
97
- use = optionsOrUse;
98
- }
99
- else if (typeof optionsOrUse === "object") {
100
- // path(pattern, handler, options) or path(pattern, handler, options, use)
101
- options = optionsOrUse;
102
- use = maybeUse;
103
- }
104
- // Get prefixes from context (set by include())
105
- const urlPrefix = getUrlPrefix();
106
- const namePrefix = getNamePrefix();
107
- // Apply URL prefix to pattern
108
- const prefixedPattern = applyUrlPrefix(urlPrefix, pattern);
109
- // Generate route name - use provided name or generate from pattern
110
- const localName = options?.name || `$path_${pattern.replace(/[/:*?]/g, "_")}`;
111
- // Apply name prefix if set (from include())
112
- const routeName = applyNamePrefix(namePrefix, localName);
113
- const namespace = `${ctx.namespace}.${store.getNextIndex("route")}.${routeName}`;
114
- // Per-request pruning: skip registration for routes that won't be rendered.
115
- // forRoute is set by loadManifest() to the matched route name. During
116
- // evaluateLazyEntry() (route matching), forRoute is unset so all routes
117
- // register normally. We still increment counters to keep shortCodes stable
118
- // across different routes (needed for segment reconciliation on navigation).
119
- //
120
- // include() does not need its own forRoute pruning. include() creates lazy
121
- // entries that defer handler execution until route matching. When the lazy
122
- // handler eventually runs inside loadManifest(), this path() check already
123
- // covers all routes defined inside the include.
124
- if (ctx.forRoute && routeName !== ctx.forRoute) {
125
- store.getShortCode("route");
126
- return { type: "route" };
127
- }
128
- // Ensure handler is always a function (wrap ReactNode or extract from prerender/static def)
129
- const wrappedHandler = typeof handler === "function"
130
- ? handler
131
- : isPrerenderHandler(handler)
132
- ? handler.handler
133
- : isStaticHandler(handler)
134
- ? handler.handler
135
- : () => handler;
136
- const entry = {
137
- id: namespace,
138
- shortCode: store.getShortCode("route"),
139
- type: "route",
140
- parent: ctx.parent,
141
- handler: wrappedHandler,
142
- // Store the PREFIXED pattern for route matching
143
- pattern: prefixedPattern,
144
- loading: undefined,
145
- middleware: [],
146
- revalidate: [],
147
- errorBoundary: [],
148
- notFoundBoundary: [],
149
- layout: [],
150
- parallel: [],
151
- intercept: [],
152
- loader: [],
153
- ...(urlPrefix ? { mountPath: urlPrefix } : {}),
154
- ...(isPrerenderHandler(handler)
155
- ? {
156
- isPrerender: true,
157
- prerenderDef: handler,
158
- }
159
- : {}),
160
- ...(isStaticHandler(handler)
161
- ? { isStaticPrerender: true }
162
- : {}),
163
- ...(resolveResponseType(options)
164
- ? { responseType: resolveResponseType(options) }
165
- : {}),
166
- };
167
- // Check for duplicate route names (TypeScript should catch this, but runtime check too)
168
- invariant(ctx.manifest.get(routeName) === undefined, `Duplicate route name: ${routeName} at ${namespace}`);
169
- // Register route entry with prefixed name
170
- ctx.manifest.set(routeName, entry);
171
- // Also store pattern in a separate map for URL generation
172
- if (ctx.patterns) {
173
- ctx.patterns.set(routeName, prefixedPattern);
174
- }
175
- // Store pattern grouped by URL prefix for separate entry creation
176
- if (ctx.patternsByPrefix) {
177
- const urlPrefix = getUrlPrefix() || "";
178
- if (!ctx.patternsByPrefix.has(urlPrefix)) {
179
- ctx.patternsByPrefix.set(urlPrefix, new Map());
180
- }
181
- ctx.patternsByPrefix.get(urlPrefix).set(routeName, prefixedPattern);
182
- }
183
- // Store trailing slash config if specified
184
- if (options?.trailingSlash && ctx.trailingSlash) {
185
- ctx.trailingSlash.set(routeName, options.trailingSlash);
186
- }
187
- // Store search schema if specified
188
- if (options?.search) {
189
- if (ctx.searchSchemas) {
190
- ctx.searchSchemas.set(routeName, options.search);
191
- }
192
- registerSearchSchema(routeName, options.search);
193
- }
194
- // Run use callback if provided
195
- if (use && typeof use === "function") {
196
- const result = store.run(namespace, entry, use);
197
- invariant(Array.isArray(result) && result.every((item) => isValidUseItem(item)), `path() use() callback must return an array of use items [${namespace}]`);
198
- return { name: namespace, type: "route", uses: result };
199
- }
200
- return { name: namespace, type: "route" };
201
- });
202
- }
203
- /**
204
- * Attach response type tag methods (.json, .text, .html, .xml, .md, .image, .stream, .any) to a path helper.
205
- * Each tag wraps the original path() call with the RESPONSE_TYPE option set.
206
- */
207
- function attachPathResponseTags(pathFn) {
208
- function createTagged(responseType) {
209
- return ((pattern, handler, optionsOrUse, maybeUse) => {
210
- let options;
211
- let use;
212
- if (typeof optionsOrUse === "function") {
213
- options = { [RESPONSE_TYPE]: responseType };
214
- use = optionsOrUse;
215
- }
216
- else {
217
- options = { ...optionsOrUse, [RESPONSE_TYPE]: responseType };
218
- use = maybeUse;
219
- }
220
- return pathFn(pattern, handler, options, use);
221
- });
222
- }
223
- const extended = pathFn;
224
- extended.json = createTagged("json");
225
- extended.text = createTagged("text");
226
- extended.html = createTagged("html");
227
- extended.xml = createTagged("xml");
228
- extended.md = createTagged("md");
229
- extended.image = createTagged("image");
230
- extended.stream = createTagged("stream");
231
- extended.any = createTagged("any");
232
- return extended;
233
- }
234
- /**
235
- * Process an IncludeItem by executing its nested patterns with prefixes
236
- * This expands the include into actual route registrations
237
- */
238
- function processIncludeItem(item) {
239
- const { prefix, patterns, options } = item;
240
- const namePrefix = options?.name;
241
- // Execute the nested patterns' handler with URL and name prefixes
242
- // The urlPrefix being set tells nested urls() to skip RootLayout wrapping
243
- return runWithPrefixes(prefix, namePrefix, () => {
244
- // Call the nested patterns' handler - this registers routes with prefixed patterns/names
245
- return patterns.handler();
246
- });
247
- }
248
- /**
249
- * Recursively process items, expanding any IncludeItems
250
- * Returns items with IncludeItems expanded into actual route items
251
- *
252
- * Lazy includes are kept as-is (not expanded) for the router to handle later.
253
- */
254
- function processItems(items) {
255
- const result = [];
256
- for (const item of items) {
257
- if (!item)
258
- continue;
259
- if (item.type === "include") {
260
- const includeItem = item;
261
- // Lazy includes are NOT expanded here - kept for router to handle
262
- if (includeItem.lazy) {
263
- result.push(item);
264
- continue;
265
- }
266
- // Eager includes are already expanded during include() call
267
- if (includeItem._expanded) {
268
- // Items were expanded immediately - just process them recursively
269
- result.push(...processItems(includeItem._expanded));
270
- }
271
- else {
272
- // Fallback for legacy include items without _expanded
273
- const expanded = processIncludeItem(item);
274
- result.push(...processItems(expanded));
275
- }
276
- }
277
- else if (item.type === "layout" && item.uses) {
278
- // Process nested items in layout
279
- const layoutItem = item;
280
- layoutItem.uses = processItems(layoutItem.uses);
281
- result.push(layoutItem);
282
- }
283
- else {
284
- result.push(item);
285
- }
286
- }
287
- return result;
288
- }
289
- /**
290
- * Create include() helper for composing URL patterns
291
- *
292
- * By default, include() IMMEDIATELY expands the nested patterns. This ensures
293
- * that routes from included patterns inherit the correct parent context
294
- * (the layout they're included in).
295
- *
296
- * With `lazy: true`, patterns are NOT expanded at definition time. Instead,
297
- * they're evaluated on first request that matches the prefix. This improves
298
- * cold start time for apps with many routes.
299
- */
300
- function createIncludeHelper() {
301
- return (prefix, patterns, options) => {
302
- var _a;
303
- const store = getContext();
304
- const ctx = store.getStore();
305
- if (!ctx)
306
- throw new Error("include() must be called inside urls()");
307
- const namePrefix = options?.name;
308
- const name = `$include_${prefix.replace(/[/:*?]/g, "_")}`;
309
- // Capture context for deferred evaluation
310
- const capturedUrlPrefix = getUrlPrefix();
311
- const capturedNamePrefix = getNamePrefix();
312
- const capturedParent = ctx.parent;
313
- const fullPrefix = capturedUrlPrefix
314
- ? (capturedUrlPrefix.endsWith("/") && prefix.startsWith("/")
315
- ? capturedUrlPrefix + prefix.slice(1)
316
- : capturedUrlPrefix + prefix)
317
- : prefix;
318
- const fullNamePrefix = namePrefix
319
- ? capturedNamePrefix
320
- ? `${capturedNamePrefix}.${namePrefix}`
321
- : namePrefix
322
- : capturedNamePrefix;
323
- // Track this include for build-time manifest generation
324
- if (ctx.trackedIncludes) {
325
- ctx.trackedIncludes.push({
326
- prefix,
327
- fullPrefix,
328
- namePrefix: fullNamePrefix,
329
- patterns,
330
- lazy: true,
331
- });
332
- }
333
- // Snapshot parent's counters so lazy manifest generation starts
334
- // at the correct index, preventing shortCode collisions with
335
- // sibling entries (e.g., BlogLayout and ArticlesLayout under NavLayout).
336
- const capturedCounters = { ...ctx.counters };
337
- // Reserve a layout slot in the parent's counter so sibling lazy includes
338
- // produce different shortCode indices for their root layout.
339
- // Without this, consecutive include() calls capture identical counters
340
- // and their first child layouts get the same shortCode (e.g., both M0L0L0),
341
- // causing the client partial-update diff to see no changes on navigation.
342
- if (capturedParent?.shortCode) {
343
- const layoutCounterKey = `${capturedParent.shortCode}_layout`;
344
- (_a = ctx.counters)[layoutCounterKey] ?? (_a[layoutCounterKey] = 0);
345
- ctx.counters[layoutCounterKey]++;
346
- }
347
- // All includes are lazy - patterns are evaluated on first matching request
348
- // This improves cold start time significantly for large route sets
349
- return {
350
- type: "include",
351
- name,
352
- prefix,
353
- patterns,
354
- options,
355
- lazy: true,
356
- _lazyContext: {
357
- urlPrefix: capturedUrlPrefix,
358
- namePrefix: fullNamePrefix,
359
- parent: capturedParent,
360
- counters: capturedCounters,
361
- },
362
- };
363
- };
364
- }
365
- // ============================================================================
366
- // Re-use existing helpers from route-definition.ts
367
- // ============================================================================
368
- // Import the helper creation functions from route-definition
369
- import { createRouteHelpers } from "./route-definition.js";
370
- // ============================================================================
371
- // urls() Main Entry Point
372
- // ============================================================================
373
- /**
374
- * Define URL patterns with Django-inspired syntax
375
- *
376
- * Replaces map() as the entry point for route definitions.
377
- * URL patterns are now visible at the definition site via path().
378
- *
379
- * @example
380
- * ```typescript
381
- * export const blogPatterns = urls(({ path, layout, loader }) => [
382
- * layout(BlogLayout, () => [
383
- * path("/", BlogIndex, { name: "index" }),
384
- * path("/:slug", BlogPost, { name: "post" }, () => [
385
- * loader(PostLoader),
386
- * ]),
387
- * ]),
388
- * ]);
389
- * ```
390
- */
391
- export function urls(builder) {
392
- // Collect path definitions during build
393
- const definitions = [];
394
- // Create the handler function that will be called by the router
395
- const handler = () => {
396
- invariant(typeof builder === "function", "urls() expects a builder function as its argument");
397
- // Get base helpers from the existing route-definition module
398
- const baseHelpers = createRouteHelpers();
399
- // Create the path helper (with .json, .text, .html, .xml, .image, .stream, .any tags)
400
- const pathHelper = attachPathResponseTags(createPathHelper());
401
- // Create the include helper
402
- const includeHelper = createIncludeHelper();
403
- // Combine all helpers
404
- // Note: layout and cache are cast to their typed versions - phantom types don't affect runtime
405
- const helpers = {
406
- path: pathHelper,
407
- include: includeHelper,
408
- layout: baseHelpers.layout,
409
- parallel: baseHelpers.parallel,
410
- intercept: baseHelpers.intercept,
411
- middleware: baseHelpers.middleware,
412
- revalidate: baseHelpers.revalidate,
413
- loader: baseHelpers.loader,
414
- loading: baseHelpers.loading,
415
- errorBoundary: baseHelpers.errorBoundary,
416
- notFoundBoundary: baseHelpers.notFoundBoundary,
417
- when: baseHelpers.when,
418
- cache: baseHelpers.cache,
419
- };
420
- // Execute builder directly - manifest.ts handles RootLayout wrapping
421
- // for inline handlers (non-Promise results).
422
- // For nested include() calls, routes inherit the outer RootLayout.
423
- const builderResult = builder(helpers);
424
- return processItems(builderResult);
425
- };
426
- // trailingSlash config is populated when handler() runs
427
- // We expose it via a getter that reads from the context after handler execution
428
- return {
429
- definitions,
430
- handler,
431
- get trailingSlash() {
432
- // Get the trailingSlash map from the current context
433
- // This will be populated after handler() is called
434
- const store = getContext();
435
- const ctx = store.context.getStore();
436
- if (!ctx?.trailingSlash) {
437
- return {};
438
- }
439
- return Object.fromEntries(ctx.trailingSlash);
440
- },
441
- };
442
- }
443
- //# sourceMappingURL=urls.js.map
package/dist/urls.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"urls.js","sourceRoot":"","sources":["../src/urls.ts"],"names":[],"mappings":"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"}
@@ -1,127 +0,0 @@
1
- import type { LoaderDefinition, LoadOptions } from "./types.js";
2
- /**
3
- * Load function type with form action support
4
- */
5
- export type LoadFunction<T> = ((options?: LoadOptions) => Promise<T>) & {
6
- /** Form action for progressive enhancement - can be passed to form action prop */
7
- action: (formData: FormData) => Promise<void>;
8
- };
9
- /**
10
- * Result type for useLoader hook (strict - data is required)
11
- */
12
- export interface UseLoaderResult<T> {
13
- /** The loaded data - guaranteed to exist when loader is registered on route */
14
- data: T;
15
- /** True while a load() is in progress */
16
- isLoading: boolean;
17
- /** Error from the most recent load attempt, null if successful */
18
- error: Error | null;
19
- /** Function to trigger a fetch (only works if loader is fetchable) */
20
- load: LoadFunction<T>;
21
- /** Alias for load */
22
- refetch: LoadFunction<T>;
23
- }
24
- /**
25
- * Result type for useFetchLoader hook (flexible - data is optional)
26
- */
27
- export interface UseFetchLoaderResult<T> {
28
- /** The loaded data - may be undefined if not yet fetched or not in context */
29
- data: T | undefined;
30
- /** True while a load() is in progress */
31
- isLoading: boolean;
32
- /** Error from the most recent load attempt, null if successful */
33
- error: Error | null;
34
- /** Function to trigger a fetch (only works if loader is fetchable) */
35
- load: LoadFunction<T>;
36
- /** Alias for load */
37
- refetch: LoadFunction<T>;
38
- }
39
- /**
40
- * Options for useLoader hook
41
- */
42
- export interface UseLoaderOptions {
43
- /**
44
- * If true (default), errors from load() will be thrown to the nearest error boundary.
45
- * If false, errors are only captured in the `error` state.
46
- * @default true
47
- */
48
- throwOnError?: boolean;
49
- }
50
- /**
51
- * Hook to access loader data from route context (strict version)
52
- *
53
- * Use this when the loader is registered on the route via `loader()`.
54
- * The data is guaranteed to exist - throws an error if not found.
55
- *
56
- * For on-demand fetching or when loader might not be in context,
57
- * use `useFetchLoader` instead.
58
- *
59
- * @param loader - The loader definition (must be registered on route)
60
- * @param options - Optional configuration
61
- * @returns Object with data (guaranteed), isLoading, error, load, and refetch
62
- * @throws Error if loader data is not found in context
63
- *
64
- * @example Basic usage - accessing route loader data
65
- * ```tsx
66
- * "use client";
67
- * import { useLoader } from "rsc-router/client";
68
- * import { CartLoader } from "../loaders/cart";
69
- *
70
- * // In route definition: loader(CartLoader)
71
- *
72
- * export function CartIcon() {
73
- * const { data } = useLoader(CartLoader);
74
- * // data is guaranteed to be CartData, not CartData | undefined
75
- * return <span>Cart ({data.items.length})</span>;
76
- * }
77
- * ```
78
- */
79
- export declare function useLoader<T>(loader: LoaderDefinition<T>, options?: UseLoaderOptions): UseLoaderResult<T>;
80
- /**
81
- * Hook to access loader data with optional fetching (flexible version)
82
- *
83
- * Use this when:
84
- * - The loader might not be registered on the route
85
- * - You want to fetch data on-demand from the client
86
- * - You're building a reusable component that doesn't assume route context
87
- *
88
- * If the loader IS registered on the route, it will still get the initial
89
- * data from context - you just have to handle the `undefined` case in types.
90
- *
91
- * @param loader - The loader definition
92
- * @param options - Optional configuration
93
- * @returns Object with data (may be undefined), isLoading, error, load, and refetch
94
- *
95
- * @example On-demand fetching
96
- * ```tsx
97
- * "use client";
98
- * import { useFetchLoader } from "rsc-router/client";
99
- * import { SearchLoader } from "../loaders/search";
100
- *
101
- * export function SearchResults() {
102
- * const { data, load, isLoading } = useFetchLoader(SearchLoader);
103
- *
104
- * const handleSearch = async (query: string) => {
105
- * await load({ params: { query } });
106
- * };
107
- *
108
- * return (
109
- * <div>
110
- * <button onClick={() => handleSearch("test")}>Search</button>
111
- * {isLoading && <span>Loading...</span>}
112
- * {data?.results.map(r => <div key={r.id}>{r.name}</div>)}
113
- * </div>
114
- * );
115
- * }
116
- * ```
117
- *
118
- * @example With route context (hybrid usage)
119
- * ```tsx
120
- * // Loader registered on route: loader(UserLoader)
121
- * // useFetchLoader still works - gets initial data from context
122
- * const { data, load } = useFetchLoader(UserLoader);
123
- * // data is UserData | undefined (even though it will have initial value)
124
- * ```
125
- */
126
- export declare function useFetchLoader<T>(loader: LoaderDefinition<T>, options?: UseLoaderOptions): UseFetchLoaderResult<T>;
127
- //# sourceMappingURL=use-loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-loader.d.ts","sourceRoot":"","sources":["../src/use-loader.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAUhE;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG;IACtE,kFAAkF;IAClF,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,+EAA+E;IAC/E,IAAI,EAAE,CAAC,CAAC;IACR,yCAAyC;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,kEAAkE;IAClE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,sEAAsE;IACtE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACtB,qBAAqB;IACrB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,8EAA8E;IAC9E,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IACpB,yCAAyC;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,kEAAkE;IAClE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,sEAAsE;IACtE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACtB,qBAAqB;IACrB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAuLD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,gBAAgB,GACzB,eAAe,CAAC,CAAC,CAAC,CAapB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,gBAAgB,GACzB,oBAAoB,CAAC,CAAC,CAAC,CAEzB"}