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

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 (961) hide show
  1. package/AGENTS.md +4 -0
  2. package/README.md +122 -30
  3. package/dist/bin/rango.js +138 -50
  4. package/dist/vite/index.js +602 -309
  5. package/package.json +16 -15
  6. package/skills/breadcrumbs/SKILL.md +250 -0
  7. package/skills/cache-guide/SKILL.md +32 -0
  8. package/skills/caching/SKILL.md +49 -8
  9. package/skills/document-cache/SKILL.md +2 -2
  10. package/skills/hooks/SKILL.md +33 -31
  11. package/skills/host-router/SKILL.md +218 -0
  12. package/skills/links/SKILL.md +3 -1
  13. package/skills/loader/SKILL.md +72 -22
  14. package/skills/middleware/SKILL.md +2 -0
  15. package/skills/parallel/SKILL.md +126 -0
  16. package/skills/prerender/SKILL.md +112 -70
  17. package/skills/rango/SKILL.md +0 -1
  18. package/skills/route/SKILL.md +34 -4
  19. package/skills/router-setup/SKILL.md +95 -5
  20. package/skills/typesafety/SKILL.md +35 -23
  21. package/src/__internal.ts +92 -0
  22. package/src/browser/app-version.ts +14 -0
  23. package/src/browser/event-controller.ts +5 -0
  24. package/src/browser/link-interceptor.ts +4 -0
  25. package/src/browser/navigation-bridge.ts +104 -14
  26. package/src/browser/navigation-client.ts +126 -44
  27. package/src/browser/navigation-store.ts +43 -8
  28. package/src/browser/navigation-transaction.ts +11 -9
  29. package/src/browser/partial-update.ts +80 -15
  30. package/src/browser/prefetch/cache.ts +166 -27
  31. package/src/browser/prefetch/fetch.ts +52 -39
  32. package/src/browser/prefetch/policy.ts +6 -0
  33. package/src/browser/prefetch/queue.ts +92 -20
  34. package/src/browser/prefetch/resource-ready.ts +77 -0
  35. package/src/browser/react/Link.tsx +70 -14
  36. package/src/browser/react/NavigationProvider.tsx +40 -4
  37. package/src/browser/react/context.ts +7 -2
  38. package/src/browser/react/use-handle.ts +9 -58
  39. package/src/browser/react/use-router.ts +21 -8
  40. package/src/browser/rsc-router.tsx +143 -60
  41. package/src/browser/scroll-restoration.ts +41 -42
  42. package/src/browser/segment-reconciler.ts +6 -1
  43. package/src/browser/server-action-bridge.ts +8 -6
  44. package/src/browser/types.ts +60 -5
  45. package/src/build/generate-manifest.ts +6 -6
  46. package/src/build/generate-route-types.ts +3 -0
  47. package/src/build/route-trie.ts +19 -3
  48. package/src/build/route-types/include-resolution.ts +8 -1
  49. package/src/build/route-types/router-processing.ts +223 -74
  50. package/src/build/route-types/scan-filter.ts +8 -1
  51. package/src/cache/cache-runtime.ts +15 -11
  52. package/src/cache/cache-scope.ts +48 -7
  53. package/src/cache/cf/cf-cache-store.ts +453 -11
  54. package/src/cache/cf/index.ts +5 -1
  55. package/src/cache/document-cache.ts +17 -7
  56. package/src/cache/index.ts +1 -0
  57. package/src/cache/taint.ts +55 -0
  58. package/src/client.rsc.tsx +2 -1
  59. package/src/client.tsx +3 -102
  60. package/src/context-var.ts +72 -2
  61. package/src/debug.ts +2 -2
  62. package/src/handle.ts +40 -0
  63. package/src/handles/breadcrumbs.ts +66 -0
  64. package/src/handles/index.ts +1 -0
  65. package/src/host/index.ts +0 -3
  66. package/src/index.rsc.ts +6 -36
  67. package/src/index.ts +40 -66
  68. package/src/prerender/store.ts +5 -4
  69. package/src/prerender.ts +138 -77
  70. package/src/reverse.ts +22 -1
  71. package/src/route-definition/dsl-helpers.ts +73 -25
  72. package/src/route-definition/helpers-types.ts +10 -6
  73. package/src/route-definition/index.ts +3 -3
  74. package/src/route-definition/redirect.ts +11 -3
  75. package/src/route-definition/resolve-handler-use.ts +149 -0
  76. package/src/route-map-builder.ts +7 -1
  77. package/src/route-types.ts +11 -0
  78. package/src/router/content-negotiation.ts +100 -1
  79. package/src/router/find-match.ts +4 -2
  80. package/src/router/handler-context.ts +108 -25
  81. package/src/router/intercept-resolution.ts +11 -4
  82. package/src/router/lazy-includes.ts +4 -1
  83. package/src/router/loader-resolution.ts +123 -11
  84. package/src/router/logging.ts +5 -2
  85. package/src/router/manifest.ts +9 -3
  86. package/src/router/match-api.ts +125 -190
  87. package/src/router/match-middleware/background-revalidation.ts +30 -2
  88. package/src/router/match-middleware/cache-lookup.ts +88 -16
  89. package/src/router/match-middleware/cache-store.ts +53 -10
  90. package/src/router/match-middleware/intercept-resolution.ts +9 -7
  91. package/src/router/match-middleware/segment-resolution.ts +61 -5
  92. package/src/router/match-result.ts +22 -15
  93. package/src/router/metrics.ts +238 -13
  94. package/src/router/middleware-types.ts +53 -12
  95. package/src/router/middleware.ts +172 -85
  96. package/src/router/navigation-snapshot.ts +182 -0
  97. package/src/router/pattern-matching.ts +20 -5
  98. package/src/router/prerender-match.ts +114 -10
  99. package/src/router/preview-match.ts +30 -102
  100. package/src/router/request-classification.ts +310 -0
  101. package/src/router/revalidation.ts +27 -7
  102. package/src/router/route-snapshot.ts +245 -0
  103. package/src/router/router-context.ts +6 -1
  104. package/src/router/router-interfaces.ts +50 -5
  105. package/src/router/router-options.ts +50 -19
  106. package/src/router/segment-resolution/fresh.ts +210 -19
  107. package/src/router/segment-resolution/helpers.ts +30 -25
  108. package/src/router/segment-resolution/loader-cache.ts +1 -0
  109. package/src/router/segment-resolution/revalidation.ts +448 -301
  110. package/src/router/segment-wrappers.ts +2 -0
  111. package/src/router/trie-matching.ts +20 -2
  112. package/src/router/types.ts +1 -0
  113. package/src/router.ts +88 -15
  114. package/src/rsc/handler.ts +546 -359
  115. package/src/rsc/index.ts +0 -20
  116. package/src/rsc/manifest-init.ts +5 -1
  117. package/src/rsc/progressive-enhancement.ts +25 -8
  118. package/src/rsc/rsc-rendering.ts +35 -43
  119. package/src/rsc/server-action.ts +16 -10
  120. package/src/rsc/ssr-setup.ts +128 -0
  121. package/src/rsc/types.ts +10 -1
  122. package/src/search-params.ts +16 -13
  123. package/src/segment-system.tsx +140 -4
  124. package/src/server/context.ts +148 -16
  125. package/src/server/loader-registry.ts +9 -8
  126. package/src/server/request-context.ts +186 -29
  127. package/src/server.ts +6 -0
  128. package/src/ssr/index.tsx +4 -0
  129. package/src/static-handler.ts +18 -6
  130. package/src/theme/index.ts +4 -13
  131. package/src/types/cache-types.ts +4 -4
  132. package/src/types/handler-context.ts +149 -49
  133. package/src/types/loader-types.ts +36 -9
  134. package/src/types/route-config.ts +17 -8
  135. package/src/types/route-entry.ts +8 -1
  136. package/src/types/segments.ts +2 -5
  137. package/src/urls/path-helper-types.ts +9 -2
  138. package/src/urls/path-helper.ts +48 -13
  139. package/src/urls/pattern-types.ts +12 -0
  140. package/src/urls/response-types.ts +16 -6
  141. package/src/use-loader.tsx +73 -4
  142. package/src/vite/discovery/bundle-postprocess.ts +30 -33
  143. package/src/vite/discovery/discover-routers.ts +7 -4
  144. package/src/vite/discovery/prerender-collection.ts +14 -1
  145. package/src/vite/discovery/state.ts +13 -6
  146. package/src/vite/index.ts +8 -3
  147. package/src/vite/plugin-types.ts +51 -79
  148. package/src/vite/plugins/expose-action-id.ts +1 -3
  149. package/src/vite/plugins/performance-tracks.ts +88 -0
  150. package/src/vite/plugins/refresh-cmd.ts +127 -0
  151. package/src/vite/plugins/version-plugin.ts +13 -1
  152. package/src/vite/rango.ts +163 -211
  153. package/src/vite/router-discovery.ts +178 -45
  154. package/src/vite/utils/banner.ts +3 -3
  155. package/src/vite/utils/prerender-utils.ts +18 -0
  156. package/src/vite/utils/shared-utils.ts +3 -2
  157. package/dist/__internal.d.ts +0 -83
  158. package/dist/__internal.d.ts.map +0 -1
  159. package/dist/__internal.js +0 -19
  160. package/dist/__internal.js.map +0 -1
  161. package/dist/__mocks__/version.d.ts +0 -7
  162. package/dist/__mocks__/version.d.ts.map +0 -1
  163. package/dist/__mocks__/version.js +0 -7
  164. package/dist/__mocks__/version.js.map +0 -1
  165. package/dist/__tests__/client-href.test.d.ts +0 -2
  166. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  167. package/dist/__tests__/client-href.test.js +0 -74
  168. package/dist/__tests__/client-href.test.js.map +0 -1
  169. package/dist/__tests__/component-utils.test.d.ts +0 -2
  170. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  171. package/dist/__tests__/component-utils.test.js +0 -51
  172. package/dist/__tests__/component-utils.test.js.map +0 -1
  173. package/dist/__tests__/event-controller.test.d.ts +0 -2
  174. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  175. package/dist/__tests__/event-controller.test.js +0 -538
  176. package/dist/__tests__/event-controller.test.js.map +0 -1
  177. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  178. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  179. package/dist/__tests__/helpers/route-tree.js +0 -374
  180. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  181. package/dist/__tests__/match-result.test.d.ts +0 -2
  182. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  183. package/dist/__tests__/match-result.test.js +0 -154
  184. package/dist/__tests__/match-result.test.js.map +0 -1
  185. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  186. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  187. package/dist/__tests__/navigation-store.test.js +0 -440
  188. package/dist/__tests__/navigation-store.test.js.map +0 -1
  189. package/dist/__tests__/partial-update.test.d.ts +0 -2
  190. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  191. package/dist/__tests__/partial-update.test.js +0 -1009
  192. package/dist/__tests__/partial-update.test.js.map +0 -1
  193. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  194. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  195. package/dist/__tests__/reverse-types.test.js +0 -656
  196. package/dist/__tests__/reverse-types.test.js.map +0 -1
  197. package/dist/__tests__/route-definition.test.d.ts +0 -2
  198. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  199. package/dist/__tests__/route-definition.test.js +0 -55
  200. package/dist/__tests__/route-definition.test.js.map +0 -1
  201. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  202. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  203. package/dist/__tests__/router-helpers.test.js +0 -377
  204. package/dist/__tests__/router-helpers.test.js.map +0 -1
  205. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  206. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  207. package/dist/__tests__/router-integration-2.test.js +0 -426
  208. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  209. package/dist/__tests__/router-integration.test.d.ts +0 -2
  210. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  211. package/dist/__tests__/router-integration.test.js +0 -1051
  212. package/dist/__tests__/router-integration.test.js.map +0 -1
  213. package/dist/__tests__/search-params.test.d.ts +0 -5
  214. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  215. package/dist/__tests__/search-params.test.js +0 -306
  216. package/dist/__tests__/search-params.test.js.map +0 -1
  217. package/dist/__tests__/segment-system.test.d.ts +0 -2
  218. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  219. package/dist/__tests__/segment-system.test.js +0 -627
  220. package/dist/__tests__/segment-system.test.js.map +0 -1
  221. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  222. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  223. package/dist/__tests__/static-handler-types.test.js +0 -63
  224. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  225. package/dist/__tests__/urls.test.d.ts +0 -2
  226. package/dist/__tests__/urls.test.d.ts.map +0 -1
  227. package/dist/__tests__/urls.test.js +0 -421
  228. package/dist/__tests__/urls.test.js.map +0 -1
  229. package/dist/__tests__/use-mount.test.d.ts +0 -2
  230. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  231. package/dist/__tests__/use-mount.test.js +0 -35
  232. package/dist/__tests__/use-mount.test.js.map +0 -1
  233. package/dist/bin/rango.d.ts +0 -2
  234. package/dist/bin/rango.d.ts.map +0 -1
  235. package/dist/bin/rango.js.map +0 -1
  236. package/dist/browser/event-controller.d.ts +0 -191
  237. package/dist/browser/event-controller.d.ts.map +0 -1
  238. package/dist/browser/event-controller.js +0 -559
  239. package/dist/browser/event-controller.js.map +0 -1
  240. package/dist/browser/index.d.ts +0 -2
  241. package/dist/browser/index.d.ts.map +0 -1
  242. package/dist/browser/index.js +0 -14
  243. package/dist/browser/index.js.map +0 -1
  244. package/dist/browser/link-interceptor.d.ts +0 -38
  245. package/dist/browser/link-interceptor.d.ts.map +0 -1
  246. package/dist/browser/link-interceptor.js +0 -99
  247. package/dist/browser/link-interceptor.js.map +0 -1
  248. package/dist/browser/logging.d.ts +0 -10
  249. package/dist/browser/logging.d.ts.map +0 -1
  250. package/dist/browser/logging.js +0 -29
  251. package/dist/browser/logging.js.map +0 -1
  252. package/dist/browser/lru-cache.d.ts +0 -17
  253. package/dist/browser/lru-cache.d.ts.map +0 -1
  254. package/dist/browser/lru-cache.js +0 -50
  255. package/dist/browser/lru-cache.js.map +0 -1
  256. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  257. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  258. package/dist/browser/merge-segment-loaders.js +0 -102
  259. package/dist/browser/merge-segment-loaders.js.map +0 -1
  260. package/dist/browser/navigation-bridge.d.ts +0 -102
  261. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  262. package/dist/browser/navigation-bridge.js +0 -708
  263. package/dist/browser/navigation-bridge.js.map +0 -1
  264. package/dist/browser/navigation-client.d.ts +0 -25
  265. package/dist/browser/navigation-client.d.ts.map +0 -1
  266. package/dist/browser/navigation-client.js +0 -157
  267. package/dist/browser/navigation-client.js.map +0 -1
  268. package/dist/browser/navigation-store.d.ts +0 -101
  269. package/dist/browser/navigation-store.d.ts.map +0 -1
  270. package/dist/browser/navigation-store.js +0 -625
  271. package/dist/browser/navigation-store.js.map +0 -1
  272. package/dist/browser/partial-update.d.ts +0 -75
  273. package/dist/browser/partial-update.d.ts.map +0 -1
  274. package/dist/browser/partial-update.js +0 -426
  275. package/dist/browser/partial-update.js.map +0 -1
  276. package/dist/browser/react/Link.d.ts +0 -86
  277. package/dist/browser/react/Link.d.ts.map +0 -1
  278. package/dist/browser/react/Link.js +0 -128
  279. package/dist/browser/react/Link.js.map +0 -1
  280. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  281. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  282. package/dist/browser/react/NavigationProvider.js +0 -216
  283. package/dist/browser/react/NavigationProvider.js.map +0 -1
  284. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  285. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  286. package/dist/browser/react/ScrollRestoration.js +0 -57
  287. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  288. package/dist/browser/react/context.d.ts +0 -46
  289. package/dist/browser/react/context.d.ts.map +0 -1
  290. package/dist/browser/react/context.js +0 -10
  291. package/dist/browser/react/context.js.map +0 -1
  292. package/dist/browser/react/index.d.ts +0 -11
  293. package/dist/browser/react/index.d.ts.map +0 -1
  294. package/dist/browser/react/index.js +0 -22
  295. package/dist/browser/react/index.js.map +0 -1
  296. package/dist/browser/react/location-state-shared.d.ts +0 -63
  297. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  298. package/dist/browser/react/location-state-shared.js +0 -81
  299. package/dist/browser/react/location-state-shared.js.map +0 -1
  300. package/dist/browser/react/location-state.d.ts +0 -23
  301. package/dist/browser/react/location-state.d.ts.map +0 -1
  302. package/dist/browser/react/location-state.js +0 -29
  303. package/dist/browser/react/location-state.js.map +0 -1
  304. package/dist/browser/react/mount-context.d.ts +0 -24
  305. package/dist/browser/react/mount-context.d.ts.map +0 -1
  306. package/dist/browser/react/mount-context.js +0 -24
  307. package/dist/browser/react/mount-context.js.map +0 -1
  308. package/dist/browser/react/use-action.d.ts +0 -64
  309. package/dist/browser/react/use-action.d.ts.map +0 -1
  310. package/dist/browser/react/use-action.js +0 -134
  311. package/dist/browser/react/use-action.js.map +0 -1
  312. package/dist/browser/react/use-client-cache.d.ts +0 -41
  313. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  314. package/dist/browser/react/use-client-cache.js +0 -39
  315. package/dist/browser/react/use-client-cache.js.map +0 -1
  316. package/dist/browser/react/use-handle.d.ts +0 -31
  317. package/dist/browser/react/use-handle.d.ts.map +0 -1
  318. package/dist/browser/react/use-handle.js +0 -144
  319. package/dist/browser/react/use-handle.js.map +0 -1
  320. package/dist/browser/react/use-href.d.ts +0 -33
  321. package/dist/browser/react/use-href.d.ts.map +0 -1
  322. package/dist/browser/react/use-href.js +0 -39
  323. package/dist/browser/react/use-href.js.map +0 -1
  324. package/dist/browser/react/use-link-status.d.ts +0 -37
  325. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  326. package/dist/browser/react/use-link-status.js +0 -99
  327. package/dist/browser/react/use-link-status.js.map +0 -1
  328. package/dist/browser/react/use-mount.d.ts +0 -25
  329. package/dist/browser/react/use-mount.d.ts.map +0 -1
  330. package/dist/browser/react/use-mount.js +0 -30
  331. package/dist/browser/react/use-mount.js.map +0 -1
  332. package/dist/browser/react/use-navigation.d.ts +0 -27
  333. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  334. package/dist/browser/react/use-navigation.js +0 -87
  335. package/dist/browser/react/use-navigation.js.map +0 -1
  336. package/dist/browser/react/use-segments.d.ts +0 -38
  337. package/dist/browser/react/use-segments.d.ts.map +0 -1
  338. package/dist/browser/react/use-segments.js +0 -130
  339. package/dist/browser/react/use-segments.js.map +0 -1
  340. package/dist/browser/request-controller.d.ts +0 -26
  341. package/dist/browser/request-controller.d.ts.map +0 -1
  342. package/dist/browser/request-controller.js +0 -147
  343. package/dist/browser/request-controller.js.map +0 -1
  344. package/dist/browser/rsc-router.d.ts +0 -129
  345. package/dist/browser/rsc-router.d.ts.map +0 -1
  346. package/dist/browser/rsc-router.js +0 -195
  347. package/dist/browser/rsc-router.js.map +0 -1
  348. package/dist/browser/scroll-restoration.d.ts +0 -93
  349. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  350. package/dist/browser/scroll-restoration.js +0 -321
  351. package/dist/browser/scroll-restoration.js.map +0 -1
  352. package/dist/browser/segment-structure-assert.d.ts +0 -17
  353. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  354. package/dist/browser/segment-structure-assert.js +0 -59
  355. package/dist/browser/segment-structure-assert.js.map +0 -1
  356. package/dist/browser/server-action-bridge.d.ts +0 -26
  357. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  358. package/dist/browser/server-action-bridge.js +0 -668
  359. package/dist/browser/server-action-bridge.js.map +0 -1
  360. package/dist/browser/shallow.d.ts +0 -12
  361. package/dist/browser/shallow.d.ts.map +0 -1
  362. package/dist/browser/shallow.js +0 -34
  363. package/dist/browser/shallow.js.map +0 -1
  364. package/dist/browser/types.d.ts +0 -369
  365. package/dist/browser/types.d.ts.map +0 -1
  366. package/dist/browser/types.js +0 -2
  367. package/dist/browser/types.js.map +0 -1
  368. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  369. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  370. package/dist/build/__tests__/generate-cli.test.js +0 -237
  371. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  372. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  373. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  374. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  375. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  376. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  377. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  378. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  379. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  380. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  381. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  382. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  383. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  384. package/dist/build/generate-manifest.d.ts +0 -81
  385. package/dist/build/generate-manifest.d.ts.map +0 -1
  386. package/dist/build/generate-manifest.js +0 -276
  387. package/dist/build/generate-manifest.js.map +0 -1
  388. package/dist/build/generate-route-types.d.ts +0 -115
  389. package/dist/build/generate-route-types.d.ts.map +0 -1
  390. package/dist/build/generate-route-types.js +0 -740
  391. package/dist/build/generate-route-types.js.map +0 -1
  392. package/dist/build/index.d.ts +0 -21
  393. package/dist/build/index.d.ts.map +0 -1
  394. package/dist/build/index.js +0 -21
  395. package/dist/build/index.js.map +0 -1
  396. package/dist/build/route-trie.d.ts +0 -71
  397. package/dist/build/route-trie.d.ts.map +0 -1
  398. package/dist/build/route-trie.js +0 -175
  399. package/dist/build/route-trie.js.map +0 -1
  400. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  401. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  402. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  403. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  404. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  405. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  406. package/dist/cache/__tests__/document-cache.test.js +0 -345
  407. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  408. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  409. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  410. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  411. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  412. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  413. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  414. package/dist/cache/__tests__/memory-store.test.js +0 -367
  415. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  416. package/dist/cache/cache-scope.d.ts +0 -102
  417. package/dist/cache/cache-scope.d.ts.map +0 -1
  418. package/dist/cache/cache-scope.js +0 -440
  419. package/dist/cache/cache-scope.js.map +0 -1
  420. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  421. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  422. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  423. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  424. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  425. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  426. package/dist/cache/cf/cf-cache-store.js +0 -242
  427. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  428. package/dist/cache/cf/index.d.ts +0 -14
  429. package/dist/cache/cf/index.d.ts.map +0 -1
  430. package/dist/cache/cf/index.js +0 -17
  431. package/dist/cache/cf/index.js.map +0 -1
  432. package/dist/cache/document-cache.d.ts +0 -64
  433. package/dist/cache/document-cache.d.ts.map +0 -1
  434. package/dist/cache/document-cache.js +0 -228
  435. package/dist/cache/document-cache.js.map +0 -1
  436. package/dist/cache/index.d.ts +0 -19
  437. package/dist/cache/index.d.ts.map +0 -1
  438. package/dist/cache/index.js +0 -21
  439. package/dist/cache/index.js.map +0 -1
  440. package/dist/cache/memory-segment-store.d.ts +0 -110
  441. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  442. package/dist/cache/memory-segment-store.js +0 -117
  443. package/dist/cache/memory-segment-store.js.map +0 -1
  444. package/dist/cache/memory-store.d.ts +0 -41
  445. package/dist/cache/memory-store.d.ts.map +0 -1
  446. package/dist/cache/memory-store.js +0 -191
  447. package/dist/cache/memory-store.js.map +0 -1
  448. package/dist/cache/types.d.ts +0 -317
  449. package/dist/cache/types.d.ts.map +0 -1
  450. package/dist/cache/types.js +0 -12
  451. package/dist/cache/types.js.map +0 -1
  452. package/dist/client.d.ts +0 -248
  453. package/dist/client.d.ts.map +0 -1
  454. package/dist/client.js +0 -367
  455. package/dist/client.js.map +0 -1
  456. package/dist/client.rsc.d.ts +0 -26
  457. package/dist/client.rsc.d.ts.map +0 -1
  458. package/dist/client.rsc.js +0 -46
  459. package/dist/client.rsc.js.map +0 -1
  460. package/dist/component-utils.d.ts +0 -36
  461. package/dist/component-utils.d.ts.map +0 -1
  462. package/dist/component-utils.js +0 -61
  463. package/dist/component-utils.js.map +0 -1
  464. package/dist/components/DefaultDocument.d.ts +0 -13
  465. package/dist/components/DefaultDocument.d.ts.map +0 -1
  466. package/dist/components/DefaultDocument.js +0 -15
  467. package/dist/components/DefaultDocument.js.map +0 -1
  468. package/dist/debug.d.ts +0 -58
  469. package/dist/debug.d.ts.map +0 -1
  470. package/dist/debug.js +0 -157
  471. package/dist/debug.js.map +0 -1
  472. package/dist/default-error-boundary.d.ts +0 -11
  473. package/dist/default-error-boundary.d.ts.map +0 -1
  474. package/dist/default-error-boundary.js +0 -45
  475. package/dist/default-error-boundary.js.map +0 -1
  476. package/dist/deps/browser.d.ts +0 -2
  477. package/dist/deps/browser.d.ts.map +0 -1
  478. package/dist/deps/browser.js +0 -3
  479. package/dist/deps/browser.js.map +0 -1
  480. package/dist/deps/html-stream-client.d.ts +0 -2
  481. package/dist/deps/html-stream-client.d.ts.map +0 -1
  482. package/dist/deps/html-stream-client.js +0 -3
  483. package/dist/deps/html-stream-client.js.map +0 -1
  484. package/dist/deps/html-stream-server.d.ts +0 -2
  485. package/dist/deps/html-stream-server.d.ts.map +0 -1
  486. package/dist/deps/html-stream-server.js +0 -3
  487. package/dist/deps/html-stream-server.js.map +0 -1
  488. package/dist/deps/rsc.d.ts +0 -2
  489. package/dist/deps/rsc.d.ts.map +0 -1
  490. package/dist/deps/rsc.js +0 -4
  491. package/dist/deps/rsc.js.map +0 -1
  492. package/dist/deps/ssr.d.ts +0 -2
  493. package/dist/deps/ssr.d.ts.map +0 -1
  494. package/dist/deps/ssr.js +0 -3
  495. package/dist/deps/ssr.js.map +0 -1
  496. package/dist/errors.d.ts +0 -174
  497. package/dist/errors.d.ts.map +0 -1
  498. package/dist/errors.js +0 -241
  499. package/dist/errors.js.map +0 -1
  500. package/dist/handle.d.ts +0 -78
  501. package/dist/handle.d.ts.map +0 -1
  502. package/dist/handle.js +0 -82
  503. package/dist/handle.js.map +0 -1
  504. package/dist/handles/MetaTags.d.ts +0 -14
  505. package/dist/handles/MetaTags.d.ts.map +0 -1
  506. package/dist/handles/MetaTags.js +0 -136
  507. package/dist/handles/MetaTags.js.map +0 -1
  508. package/dist/handles/index.d.ts +0 -6
  509. package/dist/handles/index.d.ts.map +0 -1
  510. package/dist/handles/index.js +0 -6
  511. package/dist/handles/index.js.map +0 -1
  512. package/dist/handles/meta.d.ts +0 -39
  513. package/dist/handles/meta.d.ts.map +0 -1
  514. package/dist/handles/meta.js +0 -202
  515. package/dist/handles/meta.js.map +0 -1
  516. package/dist/host/__tests__/errors.test.d.ts +0 -2
  517. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  518. package/dist/host/__tests__/errors.test.js +0 -76
  519. package/dist/host/__tests__/errors.test.js.map +0 -1
  520. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  521. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  522. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  523. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  524. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  525. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  526. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  527. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  528. package/dist/host/__tests__/router.test.d.ts +0 -2
  529. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  530. package/dist/host/__tests__/router.test.js +0 -241
  531. package/dist/host/__tests__/router.test.js.map +0 -1
  532. package/dist/host/__tests__/testing.test.d.ts +0 -2
  533. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  534. package/dist/host/__tests__/testing.test.js +0 -64
  535. package/dist/host/__tests__/testing.test.js.map +0 -1
  536. package/dist/host/__tests__/utils.test.d.ts +0 -2
  537. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  538. package/dist/host/__tests__/utils.test.js +0 -29
  539. package/dist/host/__tests__/utils.test.js.map +0 -1
  540. package/dist/host/cookie-handler.d.ts +0 -34
  541. package/dist/host/cookie-handler.d.ts.map +0 -1
  542. package/dist/host/cookie-handler.js +0 -124
  543. package/dist/host/cookie-handler.js.map +0 -1
  544. package/dist/host/errors.d.ts +0 -56
  545. package/dist/host/errors.d.ts.map +0 -1
  546. package/dist/host/errors.js +0 -79
  547. package/dist/host/errors.js.map +0 -1
  548. package/dist/host/index.d.ts +0 -29
  549. package/dist/host/index.d.ts.map +0 -1
  550. package/dist/host/index.js +0 -32
  551. package/dist/host/index.js.map +0 -1
  552. package/dist/host/pattern-matcher.d.ts +0 -36
  553. package/dist/host/pattern-matcher.d.ts.map +0 -1
  554. package/dist/host/pattern-matcher.js +0 -172
  555. package/dist/host/pattern-matcher.js.map +0 -1
  556. package/dist/host/router.d.ts +0 -26
  557. package/dist/host/router.d.ts.map +0 -1
  558. package/dist/host/router.js +0 -218
  559. package/dist/host/router.js.map +0 -1
  560. package/dist/host/testing.d.ts +0 -36
  561. package/dist/host/testing.d.ts.map +0 -1
  562. package/dist/host/testing.js +0 -55
  563. package/dist/host/testing.js.map +0 -1
  564. package/dist/host/types.d.ts +0 -115
  565. package/dist/host/types.d.ts.map +0 -1
  566. package/dist/host/types.js +0 -7
  567. package/dist/host/types.js.map +0 -1
  568. package/dist/host/utils.d.ts +0 -21
  569. package/dist/host/utils.d.ts.map +0 -1
  570. package/dist/host/utils.js +0 -23
  571. package/dist/host/utils.js.map +0 -1
  572. package/dist/href-client.d.ts +0 -131
  573. package/dist/href-client.d.ts.map +0 -1
  574. package/dist/href-client.js +0 -64
  575. package/dist/href-client.js.map +0 -1
  576. package/dist/href-context.d.ts +0 -29
  577. package/dist/href-context.d.ts.map +0 -1
  578. package/dist/href-context.js +0 -21
  579. package/dist/href-context.js.map +0 -1
  580. package/dist/index.d.ts +0 -73
  581. package/dist/index.d.ts.map +0 -1
  582. package/dist/index.js +0 -91
  583. package/dist/index.js.map +0 -1
  584. package/dist/index.rsc.d.ts +0 -32
  585. package/dist/index.rsc.d.ts.map +0 -1
  586. package/dist/index.rsc.js +0 -40
  587. package/dist/index.rsc.js.map +0 -1
  588. package/dist/internal-debug.d.ts +0 -2
  589. package/dist/internal-debug.d.ts.map +0 -1
  590. package/dist/internal-debug.js +0 -5
  591. package/dist/internal-debug.js.map +0 -1
  592. package/dist/loader.d.ts +0 -14
  593. package/dist/loader.d.ts.map +0 -1
  594. package/dist/loader.js +0 -20
  595. package/dist/loader.js.map +0 -1
  596. package/dist/loader.rsc.d.ts +0 -19
  597. package/dist/loader.rsc.d.ts.map +0 -1
  598. package/dist/loader.rsc.js +0 -99
  599. package/dist/loader.rsc.js.map +0 -1
  600. package/dist/network-error-thrower.d.ts +0 -17
  601. package/dist/network-error-thrower.d.ts.map +0 -1
  602. package/dist/network-error-thrower.js +0 -14
  603. package/dist/network-error-thrower.js.map +0 -1
  604. package/dist/outlet-context.d.ts +0 -13
  605. package/dist/outlet-context.d.ts.map +0 -1
  606. package/dist/outlet-context.js +0 -3
  607. package/dist/outlet-context.js.map +0 -1
  608. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  609. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  610. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  611. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  612. package/dist/prerender/param-hash.d.ts +0 -16
  613. package/dist/prerender/param-hash.d.ts.map +0 -1
  614. package/dist/prerender/param-hash.js +0 -36
  615. package/dist/prerender/param-hash.js.map +0 -1
  616. package/dist/prerender/store.d.ts +0 -38
  617. package/dist/prerender/store.d.ts.map +0 -1
  618. package/dist/prerender/store.js +0 -61
  619. package/dist/prerender/store.js.map +0 -1
  620. package/dist/prerender.d.ts +0 -66
  621. package/dist/prerender.d.ts.map +0 -1
  622. package/dist/prerender.js +0 -57
  623. package/dist/prerender.js.map +0 -1
  624. package/dist/reverse.d.ts +0 -196
  625. package/dist/reverse.d.ts.map +0 -1
  626. package/dist/reverse.js +0 -78
  627. package/dist/reverse.js.map +0 -1
  628. package/dist/root-error-boundary.d.ts +0 -33
  629. package/dist/root-error-boundary.d.ts.map +0 -1
  630. package/dist/root-error-boundary.js +0 -165
  631. package/dist/root-error-boundary.js.map +0 -1
  632. package/dist/route-content-wrapper.d.ts +0 -46
  633. package/dist/route-content-wrapper.d.ts.map +0 -1
  634. package/dist/route-content-wrapper.js +0 -77
  635. package/dist/route-content-wrapper.js.map +0 -1
  636. package/dist/route-definition.d.ts +0 -421
  637. package/dist/route-definition.d.ts.map +0 -1
  638. package/dist/route-definition.js +0 -868
  639. package/dist/route-definition.js.map +0 -1
  640. package/dist/route-map-builder.d.ts +0 -155
  641. package/dist/route-map-builder.d.ts.map +0 -1
  642. package/dist/route-map-builder.js +0 -237
  643. package/dist/route-map-builder.js.map +0 -1
  644. package/dist/route-types.d.ts +0 -165
  645. package/dist/route-types.d.ts.map +0 -1
  646. package/dist/route-types.js +0 -7
  647. package/dist/route-types.js.map +0 -1
  648. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  649. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  650. package/dist/router/__tests__/handler-context.test.js +0 -65
  651. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  652. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  653. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  654. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  655. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  656. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  657. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  658. package/dist/router/__tests__/match-context.test.js +0 -92
  659. package/dist/router/__tests__/match-context.test.js.map +0 -1
  660. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  661. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  662. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  663. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  664. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  665. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  666. package/dist/router/__tests__/match-result.test.js +0 -457
  667. package/dist/router/__tests__/match-result.test.js.map +0 -1
  668. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  669. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  670. package/dist/router/__tests__/on-error.test.js +0 -678
  671. package/dist/router/__tests__/on-error.test.js.map +0 -1
  672. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  673. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  674. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  675. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  676. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  677. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  678. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  679. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  680. package/dist/router/error-handling.d.ts +0 -77
  681. package/dist/router/error-handling.d.ts.map +0 -1
  682. package/dist/router/error-handling.js +0 -202
  683. package/dist/router/error-handling.js.map +0 -1
  684. package/dist/router/handler-context.d.ts +0 -20
  685. package/dist/router/handler-context.d.ts.map +0 -1
  686. package/dist/router/handler-context.js +0 -198
  687. package/dist/router/handler-context.js.map +0 -1
  688. package/dist/router/intercept-resolution.d.ts +0 -66
  689. package/dist/router/intercept-resolution.d.ts.map +0 -1
  690. package/dist/router/intercept-resolution.js +0 -246
  691. package/dist/router/intercept-resolution.js.map +0 -1
  692. package/dist/router/loader-resolution.d.ts +0 -64
  693. package/dist/router/loader-resolution.d.ts.map +0 -1
  694. package/dist/router/loader-resolution.js +0 -284
  695. package/dist/router/loader-resolution.js.map +0 -1
  696. package/dist/router/logging.d.ts +0 -15
  697. package/dist/router/logging.d.ts.map +0 -1
  698. package/dist/router/logging.js +0 -99
  699. package/dist/router/logging.js.map +0 -1
  700. package/dist/router/manifest.d.ts +0 -22
  701. package/dist/router/manifest.d.ts.map +0 -1
  702. package/dist/router/manifest.js +0 -181
  703. package/dist/router/manifest.js.map +0 -1
  704. package/dist/router/match-api.d.ts +0 -35
  705. package/dist/router/match-api.d.ts.map +0 -1
  706. package/dist/router/match-api.js +0 -406
  707. package/dist/router/match-api.js.map +0 -1
  708. package/dist/router/match-context.d.ts +0 -206
  709. package/dist/router/match-context.d.ts.map +0 -1
  710. package/dist/router/match-context.js +0 -17
  711. package/dist/router/match-context.js.map +0 -1
  712. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  713. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  714. package/dist/router/match-middleware/background-revalidation.js +0 -75
  715. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  716. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  717. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  718. package/dist/router/match-middleware/cache-lookup.js +0 -257
  719. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  720. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  721. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  722. package/dist/router/match-middleware/cache-store.js +0 -108
  723. package/dist/router/match-middleware/cache-store.js.map +0 -1
  724. package/dist/router/match-middleware/index.d.ts +0 -81
  725. package/dist/router/match-middleware/index.d.ts.map +0 -1
  726. package/dist/router/match-middleware/index.js +0 -80
  727. package/dist/router/match-middleware/index.js.map +0 -1
  728. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  729. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  730. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  731. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  732. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  733. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  734. package/dist/router/match-middleware/segment-resolution.js +0 -53
  735. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  736. package/dist/router/match-pipelines.d.ts +0 -147
  737. package/dist/router/match-pipelines.d.ts.map +0 -1
  738. package/dist/router/match-pipelines.js +0 -82
  739. package/dist/router/match-pipelines.js.map +0 -1
  740. package/dist/router/match-result.d.ts +0 -126
  741. package/dist/router/match-result.d.ts.map +0 -1
  742. package/dist/router/match-result.js +0 -93
  743. package/dist/router/match-result.js.map +0 -1
  744. package/dist/router/metrics.d.ts +0 -20
  745. package/dist/router/metrics.d.ts.map +0 -1
  746. package/dist/router/metrics.js +0 -47
  747. package/dist/router/metrics.js.map +0 -1
  748. package/dist/router/middleware.d.ts +0 -249
  749. package/dist/router/middleware.d.ts.map +0 -1
  750. package/dist/router/middleware.js +0 -434
  751. package/dist/router/middleware.js.map +0 -1
  752. package/dist/router/middleware.test.d.ts +0 -2
  753. package/dist/router/middleware.test.d.ts.map +0 -1
  754. package/dist/router/middleware.test.js +0 -816
  755. package/dist/router/middleware.test.js.map +0 -1
  756. package/dist/router/pattern-matching.d.ts +0 -149
  757. package/dist/router/pattern-matching.d.ts.map +0 -1
  758. package/dist/router/pattern-matching.js +0 -349
  759. package/dist/router/pattern-matching.js.map +0 -1
  760. package/dist/router/revalidation.d.ts +0 -44
  761. package/dist/router/revalidation.d.ts.map +0 -1
  762. package/dist/router/revalidation.js +0 -147
  763. package/dist/router/revalidation.js.map +0 -1
  764. package/dist/router/router-context.d.ts +0 -135
  765. package/dist/router/router-context.d.ts.map +0 -1
  766. package/dist/router/router-context.js +0 -36
  767. package/dist/router/router-context.js.map +0 -1
  768. package/dist/router/segment-resolution.d.ts +0 -127
  769. package/dist/router/segment-resolution.d.ts.map +0 -1
  770. package/dist/router/segment-resolution.js +0 -919
  771. package/dist/router/segment-resolution.js.map +0 -1
  772. package/dist/router/trie-matching.d.ts +0 -40
  773. package/dist/router/trie-matching.d.ts.map +0 -1
  774. package/dist/router/trie-matching.js +0 -127
  775. package/dist/router/trie-matching.js.map +0 -1
  776. package/dist/router/types.d.ts +0 -136
  777. package/dist/router/types.d.ts.map +0 -1
  778. package/dist/router/types.js +0 -7
  779. package/dist/router/types.js.map +0 -1
  780. package/dist/router.d.ts +0 -753
  781. package/dist/router.d.ts.map +0 -1
  782. package/dist/router.gen.d.ts +0 -6
  783. package/dist/router.gen.d.ts.map +0 -1
  784. package/dist/router.gen.js +0 -6
  785. package/dist/router.gen.js.map +0 -1
  786. package/dist/router.js +0 -1304
  787. package/dist/router.js.map +0 -1
  788. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  789. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  790. package/dist/rsc/__tests__/helpers.test.js +0 -140
  791. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  792. package/dist/rsc/handler.d.ts +0 -45
  793. package/dist/rsc/handler.d.ts.map +0 -1
  794. package/dist/rsc/handler.js +0 -1172
  795. package/dist/rsc/handler.js.map +0 -1
  796. package/dist/rsc/helpers.d.ts +0 -16
  797. package/dist/rsc/helpers.d.ts.map +0 -1
  798. package/dist/rsc/helpers.js +0 -55
  799. package/dist/rsc/helpers.js.map +0 -1
  800. package/dist/rsc/index.d.ts +0 -22
  801. package/dist/rsc/index.d.ts.map +0 -1
  802. package/dist/rsc/index.js +0 -23
  803. package/dist/rsc/index.js.map +0 -1
  804. package/dist/rsc/nonce.d.ts +0 -9
  805. package/dist/rsc/nonce.d.ts.map +0 -1
  806. package/dist/rsc/nonce.js +0 -18
  807. package/dist/rsc/nonce.js.map +0 -1
  808. package/dist/rsc/types.d.ts +0 -206
  809. package/dist/rsc/types.d.ts.map +0 -1
  810. package/dist/rsc/types.js +0 -8
  811. package/dist/rsc/types.js.map +0 -1
  812. package/dist/search-params.d.ts +0 -103
  813. package/dist/search-params.d.ts.map +0 -1
  814. package/dist/search-params.js +0 -74
  815. package/dist/search-params.js.map +0 -1
  816. package/dist/segment-system.d.ts +0 -75
  817. package/dist/segment-system.d.ts.map +0 -1
  818. package/dist/segment-system.js +0 -336
  819. package/dist/segment-system.js.map +0 -1
  820. package/dist/server/context.d.ts +0 -245
  821. package/dist/server/context.d.ts.map +0 -1
  822. package/dist/server/context.js +0 -197
  823. package/dist/server/context.js.map +0 -1
  824. package/dist/server/fetchable-loader-store.d.ts +0 -18
  825. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  826. package/dist/server/fetchable-loader-store.js +0 -18
  827. package/dist/server/fetchable-loader-store.js.map +0 -1
  828. package/dist/server/handle-store.d.ts +0 -85
  829. package/dist/server/handle-store.d.ts.map +0 -1
  830. package/dist/server/handle-store.js +0 -142
  831. package/dist/server/handle-store.js.map +0 -1
  832. package/dist/server/loader-registry.d.ts +0 -55
  833. package/dist/server/loader-registry.d.ts.map +0 -1
  834. package/dist/server/loader-registry.js +0 -132
  835. package/dist/server/loader-registry.js.map +0 -1
  836. package/dist/server/request-context.d.ts +0 -226
  837. package/dist/server/request-context.d.ts.map +0 -1
  838. package/dist/server/request-context.js +0 -290
  839. package/dist/server/request-context.js.map +0 -1
  840. package/dist/server/root-layout.d.ts +0 -4
  841. package/dist/server/root-layout.d.ts.map +0 -1
  842. package/dist/server/root-layout.js +0 -5
  843. package/dist/server/root-layout.js.map +0 -1
  844. package/dist/server.d.ts +0 -15
  845. package/dist/server.d.ts.map +0 -1
  846. package/dist/server.js +0 -20
  847. package/dist/server.js.map +0 -1
  848. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  849. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  850. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  851. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  852. package/dist/ssr/index.d.ts +0 -98
  853. package/dist/ssr/index.d.ts.map +0 -1
  854. package/dist/ssr/index.js +0 -158
  855. package/dist/ssr/index.js.map +0 -1
  856. package/dist/static-handler.d.ts +0 -50
  857. package/dist/static-handler.d.ts.map +0 -1
  858. package/dist/static-handler.gen.d.ts +0 -5
  859. package/dist/static-handler.gen.d.ts.map +0 -1
  860. package/dist/static-handler.gen.js +0 -5
  861. package/dist/static-handler.gen.js.map +0 -1
  862. package/dist/static-handler.js +0 -29
  863. package/dist/static-handler.js.map +0 -1
  864. package/dist/theme/ThemeProvider.d.ts +0 -20
  865. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  866. package/dist/theme/ThemeProvider.js +0 -240
  867. package/dist/theme/ThemeProvider.js.map +0 -1
  868. package/dist/theme/ThemeScript.d.ts +0 -48
  869. package/dist/theme/ThemeScript.d.ts.map +0 -1
  870. package/dist/theme/ThemeScript.js +0 -13
  871. package/dist/theme/ThemeScript.js.map +0 -1
  872. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  873. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  874. package/dist/theme/__tests__/theme.test.js +0 -103
  875. package/dist/theme/__tests__/theme.test.js.map +0 -1
  876. package/dist/theme/constants.d.ts +0 -29
  877. package/dist/theme/constants.d.ts.map +0 -1
  878. package/dist/theme/constants.js +0 -48
  879. package/dist/theme/constants.js.map +0 -1
  880. package/dist/theme/index.d.ts +0 -31
  881. package/dist/theme/index.d.ts.map +0 -1
  882. package/dist/theme/index.js +0 -36
  883. package/dist/theme/index.js.map +0 -1
  884. package/dist/theme/theme-context.d.ts +0 -40
  885. package/dist/theme/theme-context.d.ts.map +0 -1
  886. package/dist/theme/theme-context.js +0 -60
  887. package/dist/theme/theme-context.js.map +0 -1
  888. package/dist/theme/theme-script.d.ts +0 -27
  889. package/dist/theme/theme-script.d.ts.map +0 -1
  890. package/dist/theme/theme-script.js +0 -147
  891. package/dist/theme/theme-script.js.map +0 -1
  892. package/dist/theme/types.d.ts +0 -163
  893. package/dist/theme/types.d.ts.map +0 -1
  894. package/dist/theme/types.js +0 -11
  895. package/dist/theme/types.js.map +0 -1
  896. package/dist/theme/use-theme.d.ts +0 -12
  897. package/dist/theme/use-theme.d.ts.map +0 -1
  898. package/dist/theme/use-theme.js +0 -40
  899. package/dist/theme/use-theme.js.map +0 -1
  900. package/dist/types.d.ts +0 -1479
  901. package/dist/types.d.ts.map +0 -1
  902. package/dist/types.js +0 -10
  903. package/dist/types.js.map +0 -1
  904. package/dist/urls.d.ts +0 -441
  905. package/dist/urls.d.ts.map +0 -1
  906. package/dist/urls.gen.d.ts +0 -8
  907. package/dist/urls.gen.d.ts.map +0 -1
  908. package/dist/urls.gen.js +0 -8
  909. package/dist/urls.gen.js.map +0 -1
  910. package/dist/urls.js +0 -443
  911. package/dist/urls.js.map +0 -1
  912. package/dist/use-loader.d.ts +0 -127
  913. package/dist/use-loader.d.ts.map +0 -1
  914. package/dist/use-loader.js +0 -237
  915. package/dist/use-loader.js.map +0 -1
  916. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  917. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  918. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  919. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  920. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  921. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  922. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  923. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  924. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  925. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  926. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  927. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  928. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  929. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  930. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  931. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  932. package/dist/vite/ast-handler-extract.d.ts +0 -49
  933. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  934. package/dist/vite/ast-handler-extract.js +0 -249
  935. package/dist/vite/ast-handler-extract.js.map +0 -1
  936. package/dist/vite/expose-action-id.d.ts +0 -19
  937. package/dist/vite/expose-action-id.d.ts.map +0 -1
  938. package/dist/vite/expose-action-id.js +0 -250
  939. package/dist/vite/expose-action-id.js.map +0 -1
  940. package/dist/vite/expose-id-utils.d.ts +0 -69
  941. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  942. package/dist/vite/expose-id-utils.js +0 -289
  943. package/dist/vite/expose-id-utils.js.map +0 -1
  944. package/dist/vite/expose-internal-ids.d.ts +0 -22
  945. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  946. package/dist/vite/expose-internal-ids.js +0 -886
  947. package/dist/vite/expose-internal-ids.js.map +0 -1
  948. package/dist/vite/index.d.ts +0 -149
  949. package/dist/vite/index.d.ts.map +0 -1
  950. package/dist/vite/index.js.map +0 -1
  951. package/dist/vite/index.named-routes.gen.ts +0 -103
  952. package/dist/vite/package-resolution.d.ts +0 -43
  953. package/dist/vite/package-resolution.d.ts.map +0 -1
  954. package/dist/vite/package-resolution.js +0 -112
  955. package/dist/vite/package-resolution.js.map +0 -1
  956. package/dist/vite/virtual-entries.d.ts +0 -25
  957. package/dist/vite/virtual-entries.d.ts.map +0 -1
  958. package/dist/vite/virtual-entries.js +0 -110
  959. package/dist/vite/virtual-entries.js.map +0 -1
  960. package/skills/testing/SKILL.md +0 -226
  961. package/src/route-definition/route-function.ts +0 -119
package/dist/errors.js DELETED
@@ -1,241 +0,0 @@
1
- /**
2
- * Custom error classes for RSC Router
3
- *
4
- * All errors include:
5
- * - Descriptive names for easy identification
6
- * - Cause property for structured debugging data
7
- */
8
- /**
9
- * Thrown when no route matches the requested pathname
10
- */
11
- export class RouteNotFoundError extends Error {
12
- constructor(message, options) {
13
- super(message);
14
- this.name = "RouteNotFoundError";
15
- Object.setPrototypeOf(this, RouteNotFoundError.prototype);
16
- this.cause = options?.cause;
17
- }
18
- }
19
- /**
20
- * Thrown when data is not found (e.g., product with ID doesn't exist)
21
- * Use this in handlers/loaders to trigger the nearest notFoundBoundary
22
- *
23
- * @example
24
- * ```typescript
25
- * route("products.detail", async (ctx) => {
26
- * const product = await db.products.get(ctx.params.slug);
27
- * if (!product) throw new DataNotFoundError("Product not found");
28
- * return <ProductDetail product={product} />;
29
- * });
30
- * ```
31
- */
32
- export class DataNotFoundError extends Error {
33
- constructor(message = "Not found", options) {
34
- super(message);
35
- this.name = "DataNotFoundError";
36
- Object.setPrototypeOf(this, DataNotFoundError.prototype);
37
- this.cause = options?.cause;
38
- }
39
- }
40
- /**
41
- * Convenience function to throw a DataNotFoundError
42
- * Shorter syntax for common not-found scenarios
43
- *
44
- * @example
45
- * ```typescript
46
- * const product = await db.products.get(slug);
47
- * if (!product) throw notFound("Product not found");
48
- * // or simply:
49
- * if (!product) throw notFound();
50
- * ```
51
- */
52
- export function notFound(message) {
53
- throw new DataNotFoundError(message);
54
- }
55
- /**
56
- * Thrown when middleware execution fails
57
- */
58
- export class MiddlewareError extends Error {
59
- constructor(message, options) {
60
- super(message);
61
- this.name = "MiddlewareError";
62
- Object.setPrototypeOf(this, MiddlewareError.prototype);
63
- this.cause = options?.cause;
64
- }
65
- }
66
- /**
67
- * Thrown when a route handler fails
68
- */
69
- export class HandlerError extends Error {
70
- constructor(message, options) {
71
- super(message);
72
- this.name = "HandlerError";
73
- Object.setPrototypeOf(this, HandlerError.prototype);
74
- this.cause = options?.cause;
75
- }
76
- }
77
- /**
78
- * Thrown when segment building fails
79
- */
80
- export class BuildError extends Error {
81
- constructor(message, options) {
82
- super(message);
83
- this.name = "BuildError";
84
- Object.setPrototypeOf(this, BuildError.prototype);
85
- this.cause = options?.cause;
86
- }
87
- }
88
- /**
89
- * Thrown when a network request fails (server unreachable, no internet, etc.)
90
- * This error triggers the root error boundary with retry capability.
91
- *
92
- * @example
93
- * ```typescript
94
- * try {
95
- * await fetch(url);
96
- * } catch (error) {
97
- * if (error instanceof TypeError) {
98
- * throw new NetworkError("Unable to connect to server", { cause: error });
99
- * }
100
- * throw error;
101
- * }
102
- * ```
103
- */
104
- export class NetworkError extends Error {
105
- constructor(message = "Network request failed", options) {
106
- super(message);
107
- this.name = "NetworkError";
108
- Object.setPrototypeOf(this, NetworkError.prototype);
109
- this.cause = options?.cause;
110
- this.url = options?.url;
111
- this.operation = options?.operation;
112
- }
113
- }
114
- /**
115
- * Check if an error is a network-level failure (server unreachable, no internet)
116
- * These are typically TypeError from fetch when the network request itself fails.
117
- */
118
- export function isNetworkError(error) {
119
- // NetworkError we throw ourselves
120
- if (error instanceof NetworkError) {
121
- return true;
122
- }
123
- // TypeError from fetch() when network fails (e.g., "Failed to fetch")
124
- if (error instanceof TypeError) {
125
- const message = error.message.toLowerCase();
126
- return (message.includes("failed to fetch") ||
127
- message.includes("network request failed") ||
128
- message.includes("networkerror") ||
129
- message.includes("load failed"));
130
- }
131
- // DOMException with network-related names
132
- if (error instanceof DOMException) {
133
- return error.name === "NetworkError";
134
- }
135
- return false;
136
- }
137
- /**
138
- * Structured error for JSON response routes.
139
- * Thrown by handlers to return a typed error envelope with a specific HTTP status.
140
- *
141
- * Unlike standard Error, RouterError messages are always exposed to the client
142
- * (the developer intentionally crafted them for consumers).
143
- *
144
- * @example
145
- * ```typescript
146
- * path("/products/:id", (ctx) => {
147
- * const product = products.find(p => p.id === ctx.params.id);
148
- * if (!product) throw new RouterError("NOT_FOUND", "Product not found", { status: 404 });
149
- * return product;
150
- * }, { name: "productDetail" })
151
- * ```
152
- */
153
- export class RouterError extends Error {
154
- constructor(code, message, options) {
155
- super(message);
156
- this.name = "RouterError";
157
- Object.setPrototypeOf(this, RouterError.prototype);
158
- this.code = code;
159
- this.status = options?.status ?? 500;
160
- this.type = options?.type;
161
- this.cause = options?.cause;
162
- }
163
- }
164
- /**
165
- * Thrown when route handler returns invalid type
166
- */
167
- export class InvalidHandlerError extends Error {
168
- constructor(message, options) {
169
- super(message);
170
- this.name = "InvalidHandlerError";
171
- Object.setPrototypeOf(this, InvalidHandlerError.prototype);
172
- this.cause = options?.cause;
173
- }
174
- }
175
- /**
176
- * Internal invariant assertion for development-time checks
177
- *
178
- * @internal
179
- * @param condition - Condition that must be true
180
- * @param message - Error message to throw if condition is false
181
- * @throws {Error} If condition is false
182
- *
183
- * @example
184
- * ```typescript
185
- * invariant(user !== null, 'User must be defined');
186
- * invariant(node.type === 'layout', `Expected layout, got ${node.type}`);
187
- * ```
188
- */
189
- export function invariant(condition, message) {
190
- if (!condition) {
191
- throw new Error(`Invariant: ${message}`);
192
- }
193
- }
194
- /**
195
- * Sanitize errors for production - prevents leaking sensitive information
196
- *
197
- * SECURITY CRITICAL:
198
- * - In production: NEVER send stack traces, file paths, or internal state
199
- * - In development: Show full error details for debugging
200
- * - ALWAYS consume error.stack to prevent memory leaks
201
- *
202
- * @param error - Error to sanitize
203
- * @returns Response suitable for sending to client
204
- */
205
- export function sanitizeError(error) {
206
- // CRITICAL: Consume stack trace to prevent memory leaks
207
- if (error && typeof error === "object" && "stack" in error) {
208
- const _ = error.stack; // Force V8 to generate/consume stack trace
209
- }
210
- // Response objects are safe to return as-is
211
- if (error instanceof Response) {
212
- return error;
213
- }
214
- const isDev = import.meta.env?.DEV ?? true;
215
- if (isDev) {
216
- // Development: Send full error details for debugging
217
- const errorDetails = {
218
- name: error instanceof Error ? error.name : "Error",
219
- message: error instanceof Error ? error.message : String(error),
220
- stack: error instanceof Error ? error.stack : undefined,
221
- cause: error && typeof error === "object" && "cause" in error
222
- ? error.cause
223
- : undefined,
224
- };
225
- return new Response(JSON.stringify(errorDetails, null, 2), {
226
- status: 500,
227
- headers: {
228
- "Content-Type": "application/json",
229
- },
230
- });
231
- }
232
- // Production: Generic error only - NO internal details
233
- // SECURITY: Never leak stack traces, file paths, or application state
234
- return new Response("Internal Server Error", {
235
- status: 500,
236
- headers: {
237
- "Content-Type": "text/plain",
238
- },
239
- });
240
- }
241
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/handle.d.ts DELETED
@@ -1,78 +0,0 @@
1
- /**
2
- * Handle definition for accumulating data across route segments.
3
- *
4
- * Handles allow server-side route handlers to pass accumulated data to client
5
- * components. Unlike loaders (which fetch data for specific routes), handles
6
- * accumulate data across all matched route segments.
7
- *
8
- * @example
9
- * ```ts
10
- * // Define a handle (name auto-generated from file + export)
11
- * export const Breadcrumbs = createHandle<BreadcrumbItem>();
12
- *
13
- * // Use in handler
14
- * const push = ctx.use(Breadcrumbs);
15
- * push({ label: "Home", href: "/" });
16
- *
17
- * // Consume on client
18
- * const crumbs = useHandle(Breadcrumbs);
19
- * ```
20
- */
21
- export interface Handle<TData, TAccumulated = TData[]> {
22
- /**
23
- * Brand to distinguish handles from loaders in ctx.use()
24
- */
25
- readonly __brand: "handle";
26
- /**
27
- * Auto-generated unique ID for this handle (used as key in storage)
28
- * Format: "filePath#ExportName" in dev, "hash#ExportName" in production
29
- */
30
- readonly $$id: string;
31
- }
32
- /**
33
- * Look up a collect function from the registry by handle $$id.
34
- * Returns undefined if not registered (falls back to defaultCollect in useHandle).
35
- */
36
- export declare function getCollectFn(id: string): ((segments: unknown[][]) => unknown) | undefined;
37
- /**
38
- * Create a handle definition for accumulating data across route segments.
39
- *
40
- * The $$id is auto-generated by the Vite exposeInternalIds plugin based on
41
- * file path and export name. No manual naming required.
42
- *
43
- * @param collect - Optional collect function (default: flatten into array)
44
- * @param __injectedId - Auto-injected by Vite plugin, do not provide manually
45
- *
46
- * @example
47
- * ```ts
48
- * // Default: flatten into array
49
- * export const Breadcrumbs = createHandle<BreadcrumbItem>();
50
- * // Result type: BreadcrumbItem[]
51
- *
52
- * // Custom: last value wins
53
- * export const PageTitle = createHandle<string, string>(
54
- * (segments) => segments.flat().at(-1) ?? "Default Title"
55
- * );
56
- * // Result type: string
57
- *
58
- * // Custom: object merge
59
- * export const Meta = createHandle<Partial<MetaTags>, MetaTags>(
60
- * (segments) => Object.assign({ robots: "index,follow" }, ...segments.flat())
61
- * );
62
- * // Result type: MetaTags
63
- *
64
- * // Custom: dedupe by href
65
- * export const Breadcrumbs = createHandle<BreadcrumbItem>(
66
- * (segments) => {
67
- * const all = segments.flat();
68
- * return all.filter((item, i) => all.findIndex(x => x.href === item.href) === i);
69
- * }
70
- * );
71
- * ```
72
- */
73
- export declare function createHandle<TData, TAccumulated = TData[]>(collect?: (segments: TData[][]) => TAccumulated, __injectedId?: string): Handle<TData, TAccumulated>;
74
- /**
75
- * Type guard to check if a value is a Handle.
76
- */
77
- export declare function isHandle(value: unknown): value is Handle<unknown, unknown>;
78
- //# sourceMappingURL=handle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../src/handle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,EAAE;IACnD;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CAEvB;AAcD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,OAAO,CAAC,GAAG,SAAS,CAEzF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,EAAE,EACxD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,YAAY,EAC/C,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAwB7B;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAO1E"}
package/dist/handle.js DELETED
@@ -1,82 +0,0 @@
1
- /**
2
- * Default collect function that flattens segment arrays into a single array.
3
- */
4
- function defaultCollect(segments) {
5
- return segments.flat();
6
- }
7
- // Module-level registry mapping $$id to collect functions.
8
- // Populated when createHandle() runs (both server and client).
9
- // Used by useHandle() to recover collect when handle is deserialized from RSC prop.
10
- const collectRegistry = new Map();
11
- /**
12
- * Look up a collect function from the registry by handle $$id.
13
- * Returns undefined if not registered (falls back to defaultCollect in useHandle).
14
- */
15
- export function getCollectFn(id) {
16
- return collectRegistry.get(id);
17
- }
18
- /**
19
- * Create a handle definition for accumulating data across route segments.
20
- *
21
- * The $$id is auto-generated by the Vite exposeInternalIds plugin based on
22
- * file path and export name. No manual naming required.
23
- *
24
- * @param collect - Optional collect function (default: flatten into array)
25
- * @param __injectedId - Auto-injected by Vite plugin, do not provide manually
26
- *
27
- * @example
28
- * ```ts
29
- * // Default: flatten into array
30
- * export const Breadcrumbs = createHandle<BreadcrumbItem>();
31
- * // Result type: BreadcrumbItem[]
32
- *
33
- * // Custom: last value wins
34
- * export const PageTitle = createHandle<string, string>(
35
- * (segments) => segments.flat().at(-1) ?? "Default Title"
36
- * );
37
- * // Result type: string
38
- *
39
- * // Custom: object merge
40
- * export const Meta = createHandle<Partial<MetaTags>, MetaTags>(
41
- * (segments) => Object.assign({ robots: "index,follow" }, ...segments.flat())
42
- * );
43
- * // Result type: MetaTags
44
- *
45
- * // Custom: dedupe by href
46
- * export const Breadcrumbs = createHandle<BreadcrumbItem>(
47
- * (segments) => {
48
- * const all = segments.flat();
49
- * return all.filter((item, i) => all.findIndex(x => x.href === item.href) === i);
50
- * }
51
- * );
52
- * ```
53
- */
54
- export function createHandle(collect, __injectedId) {
55
- const handleId = __injectedId ?? "";
56
- if (!handleId && process.env.NODE_ENV !== "production") {
57
- throw new Error("[rsc-router] Handle is missing $$id. " +
58
- "Make sure the exposeInternalIds Vite plugin is enabled and " +
59
- "the handle is exported with: export const MyHandle = createHandle(...)");
60
- }
61
- const collectFn = collect ??
62
- defaultCollect;
63
- // Register collect in module-level registry so useHandle() can recover it
64
- // when the handle is deserialized from RSC props (toJSON strips collect).
65
- if (handleId) {
66
- collectRegistry.set(handleId, collectFn);
67
- }
68
- return {
69
- __brand: "handle",
70
- $$id: handleId,
71
- };
72
- }
73
- /**
74
- * Type guard to check if a value is a Handle.
75
- */
76
- export function isHandle(value) {
77
- return (typeof value === "object" &&
78
- value !== null &&
79
- "__brand" in value &&
80
- value.__brand === "handle");
81
- }
82
- //# sourceMappingURL=handle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle.js","sourceRoot":"","sources":["../src/handle.ts"],"names":[],"mappings":"AAkCA;;GAEG;AACH,SAAS,cAAc,CAAI,QAAe;IACxC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,2DAA2D;AAC3D,+DAA+D;AAC/D,oFAAoF;AACpF,MAAM,eAAe,GAAG,IAAI,GAAG,EAA8C,CAAC;AAE9E;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,OAAO,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,YAAY,CAC1B,OAA+C,EAC/C,YAAqB;IAErB,MAAM,QAAQ,GAAG,YAAY,IAAI,EAAE,CAAC;IAEpC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,uCAAuC;YACrC,6DAA6D;YAC7D,wEAAwE,CAC3E,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,OAAO;QACtB,cAAmE,CAAC;IAEvE,0EAA0E;IAC1E,0EAA0E;IAC1E,IAAI,QAAQ,EAAE,CAAC;QACb,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,SAA+C,CAAC,CAAC;IACjF,CAAC;IAED,OAAO;QACL,OAAO,EAAE,QAAiB;QAC1B,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,SAAS,IAAI,KAAK;QACjB,KAA8B,CAAC,OAAO,KAAK,QAAQ,CACrD,CAAC;AACJ,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Renders all collected meta descriptors from route handlers.
3
- *
4
- * Place this component inside the `<head>` element of your document.
5
- * It will automatically update when meta descriptors change during navigation.
6
- *
7
- * When theme is enabled in router config, also renders the theme initialization
8
- * script to prevent FOUC (flash of unstyled content).
9
- *
10
- * Async meta descriptors (Promise<MetaDescriptorBase>) are resolved using
11
- * React's use() hook. RSC streaming handles the Promise resolution.
12
- */
13
- export declare function MetaTags(): React.ReactNode;
14
- //# sourceMappingURL=MetaTags.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetaTags.d.ts","sourceRoot":"","sources":["../../src/handles/MetaTags.tsx"],"names":[],"mappings":"AAgKA;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,IAAI,KAAK,CAAC,SAAS,CAoB1C"}
@@ -1,136 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
- /**
4
- * Component to render collected meta descriptors in the document head.
5
- *
6
- * Supports both sync and async meta descriptors. Async descriptors
7
- * (Promise<MetaDescriptorBase>) are resolved using React's use() hook.
8
- *
9
- * When theme is enabled in the router config, MetaTags also renders
10
- * the theme initialization script to prevent FOUC (flash of unstyled content).
11
- *
12
- * @example
13
- * ```tsx
14
- * function RootLayout() {
15
- * return (
16
- * <html lang="en" suppressHydrationWarning>
17
- * <head>
18
- * <MetaTags />
19
- * </head>
20
- * <body>...</body>
21
- * </html>
22
- * );
23
- * }
24
- * ```
25
- */
26
- import { use } from "react";
27
- import { useHandle } from "../browser/react/use-handle.js";
28
- import { Meta } from "./meta.js";
29
- import { getSSRThemeConfig } from "../theme/theme-context.js";
30
- import { generateThemeScript } from "../theme/theme-script.js";
31
- // Type guards for MetaDescriptorBase variants
32
- function hasCharSet(d) {
33
- return "charSet" in d && d.charSet === "utf-8";
34
- }
35
- function hasTitle(d) {
36
- return "title" in d && typeof d.title === "string";
37
- }
38
- function hasNameContent(d) {
39
- return "name" in d && "content" in d &&
40
- typeof d.name === "string" &&
41
- typeof d.content === "string";
42
- }
43
- function hasPropertyContent(d) {
44
- return "property" in d && "content" in d &&
45
- typeof d.property === "string" &&
46
- typeof d.content === "string";
47
- }
48
- function hasHttpEquivContent(d) {
49
- return "httpEquiv" in d && "content" in d &&
50
- typeof d.httpEquiv === "string" &&
51
- typeof d.content === "string";
52
- }
53
- function hasScriptLdJson(d) {
54
- return "script:ld+json" in d;
55
- }
56
- function hasTagName(d) {
57
- return "tagName" in d && (d.tagName === "meta" || d.tagName === "link");
58
- }
59
- /**
60
- * Check if a value is a Promise.
61
- */
62
- function isPromise(value) {
63
- return value !== null && typeof value === "object" && "then" in value;
64
- }
65
- /**
66
- * Render a single meta descriptor as a React element.
67
- */
68
- function renderMetaDescriptor(descriptor, index) {
69
- // charset
70
- if (hasCharSet(descriptor)) {
71
- return _jsx("meta", { charSet: descriptor.charSet }, "charSet");
72
- }
73
- // title
74
- if (hasTitle(descriptor)) {
75
- return _jsx("title", { children: descriptor.title }, "title");
76
- }
77
- // name + content (description, viewport, etc.)
78
- if (hasNameContent(descriptor)) {
79
- return (_jsx("meta", { name: descriptor.name, content: descriptor.content }, `name-${descriptor.name}`));
80
- }
81
- // property + content (Open Graph, etc.)
82
- if (hasPropertyContent(descriptor)) {
83
- return (_jsx("meta", { property: descriptor.property, content: descriptor.content }, `property-${descriptor.property}`));
84
- }
85
- // http-equiv + content
86
- if (hasHttpEquivContent(descriptor)) {
87
- return (_jsx("meta", { httpEquiv: descriptor.httpEquiv, content: descriptor.content }, `httpEquiv-${descriptor.httpEquiv}`));
88
- }
89
- // JSON-LD structured data
90
- if (hasScriptLdJson(descriptor)) {
91
- const json = JSON.stringify(descriptor["script:ld+json"]);
92
- return (_jsx("script", { type: "application/ld+json", dangerouslySetInnerHTML: { __html: json } }, `ld-json-${index}`));
93
- }
94
- // Custom tagName (meta or link with arbitrary attributes)
95
- if (hasTagName(descriptor)) {
96
- const { tagName, ...rest } = descriptor;
97
- if (tagName === "link") {
98
- return _jsx("link", { ...rest }, `link-${index}`);
99
- }
100
- if (tagName === "meta") {
101
- return _jsx("meta", { ...rest }, `meta-${index}`);
102
- }
103
- }
104
- // Fallback: treat as meta attributes
105
- return _jsx("meta", { ...descriptor }, `meta-fallback-${index}`);
106
- }
107
- /**
108
- * Wrapper component to resolve a Promise<MetaDescriptorBase> using use().
109
- */
110
- function AsyncMetaTag({ promise, index }) {
111
- const resolved = use(promise);
112
- return renderMetaDescriptor(resolved, index);
113
- }
114
- /**
115
- * Renders all collected meta descriptors from route handlers.
116
- *
117
- * Place this component inside the `<head>` element of your document.
118
- * It will automatically update when meta descriptors change during navigation.
119
- *
120
- * When theme is enabled in router config, also renders the theme initialization
121
- * script to prevent FOUC (flash of unstyled content).
122
- *
123
- * Async meta descriptors (Promise<MetaDescriptorBase>) are resolved using
124
- * React's use() hook. RSC streaming handles the Promise resolution.
125
- */
126
- export function MetaTags() {
127
- const descriptors = useHandle(Meta);
128
- const themeConfig = getSSRThemeConfig();
129
- return (_jsxs(_Fragment, { children: [themeConfig && (_jsx("script", { dangerouslySetInnerHTML: { __html: generateThemeScript(themeConfig) } })), descriptors.map((descriptor, index) => {
130
- if (isPromise(descriptor)) {
131
- return _jsx(AsyncMetaTag, { promise: descriptor, index: index }, `async-${index}`);
132
- }
133
- return renderMetaDescriptor(descriptor, index);
134
- })] }));
135
- }
136
- //# sourceMappingURL=MetaTags.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetaTags.js","sourceRoot":"","sources":["../../src/handles/MetaTags.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,8CAA8C;AAC9C,SAAS,UAAU,CAAC,CAAqB;IACvC,OAAO,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;AACjD,CAAC;AAED,SAAS,QAAQ,CAAC,CAAqB;IACrC,OAAO,OAAO,IAAI,CAAC,IAAI,OAAQ,CAAyB,CAAC,KAAK,KAAK,QAAQ,CAAC;AAC9E,CAAC;AAED,SAAS,cAAc,CAAC,CAAqB;IAC3C,OAAO,MAAM,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC;QAClC,OAAQ,CAAwB,CAAC,IAAI,KAAK,QAAQ;QAClD,OAAQ,CAA2B,CAAC,OAAO,KAAK,QAAQ,CAAC;AAC7D,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAqB;IAC/C,OAAO,UAAU,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC;QACtC,OAAQ,CAA4B,CAAC,QAAQ,KAAK,QAAQ;QAC1D,OAAQ,CAA2B,CAAC,OAAO,KAAK,QAAQ,CAAC;AAC7D,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAqB;IAChD,OAAO,WAAW,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC;QACvC,OAAQ,CAA6B,CAAC,SAAS,KAAK,QAAQ;QAC5D,OAAQ,CAA2B,CAAC,OAAO,KAAK,QAAQ,CAAC;AAC7D,CAAC;AAED,SAAS,eAAe,CAAC,CAAqB;IAC5C,OAAO,gBAAgB,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,CAAqB;IACvC,OAAO,SAAS,IAAI,CAAC,IAAI,CAAE,CAA2B,CAAC,OAAO,KAAK,MAAM,IAAK,CAA2B,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;AAChI,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,UAA8B,EAC9B,KAAa;IAEb,UAAU;IACV,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAO,eAAoB,OAAO,EAAE,UAAU,CAAC,OAAO,IAArC,SAAS,CAAgC,CAAC;IAC7D,CAAC;IAED,QAAQ;IACR,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACzB,OAAO,0BAAoB,UAAU,CAAC,KAAK,IAAzB,OAAO,CAA2B,CAAC;IACvD,CAAC;IAED,+CAA+C;IAC/C,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,CACL,eAEE,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,OAAO,EAAE,UAAU,CAAC,OAAO,IAFtB,QAAQ,UAAU,CAAC,IAAI,EAAE,CAG9B,CACH,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,OAAO,CACL,eAEE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,OAAO,EAAE,UAAU,CAAC,OAAO,IAFtB,YAAY,UAAU,CAAC,QAAQ,EAAE,CAGtC,CACH,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,IAAI,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,CACL,eAEE,SAAS,EAAE,UAAU,CAAC,SAAS,EAC/B,OAAO,EAAE,UAAU,CAAC,OAAO,IAFtB,aAAa,UAAU,CAAC,SAAS,EAAE,CAGxC,CACH,CAAC;IACJ,CAAC;IAED,0BAA0B;IAC1B,IAAI,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1D,OAAO,CACL,iBAEE,IAAI,EAAC,qBAAqB,EAC1B,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAFpC,WAAW,KAAK,EAAE,CAGvB,CACH,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC;QACxC,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,OAAO,kBAAiC,IAAkD,IAAxE,QAAQ,KAAK,EAAE,CAA6D,CAAC;QACjG,CAAC;QACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,OAAO,kBAAiC,IAAkD,IAAxE,QAAQ,KAAK,EAAE,CAA6D,CAAC;QACjG,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,OAAO,kBAA0C,UAAwD,IAAvF,iBAAiB,KAAK,EAAE,CAAmE,CAAC;AAChH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAA2D;IAC/F,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ;IACtB,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAqB,CAAC;IACxD,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IAExC,OAAO,CACL,8BAEG,WAAW,IAAI,CACd,iBACE,uBAAuB,EAAE,EAAE,MAAM,EAAE,mBAAmB,CAAC,WAAW,CAAC,EAAE,GACrE,CACH,EACA,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;gBACrC,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC1B,OAAO,KAAC,YAAY,IAAwB,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,IAAnD,SAAS,KAAK,EAAE,CAAuC,CAAC;gBACpF,CAAC;gBACD,OAAO,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACjD,CAAC,CAAC,IACD,CACJ,CAAC;AACJ,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Built-in handles for rsc-router.
3
- */
4
- export { Meta } from "./meta.ts";
5
- export { MetaTags } from "./MetaTags.tsx";
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handles/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Built-in handles for rsc-router.
3
- */
4
- export { Meta } from "./meta.ts";
5
- export { MetaTags } from "./MetaTags.tsx";
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handles/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,39 +0,0 @@
1
- /**
2
- * Built-in Meta handle for managing document metadata across route segments.
3
- *
4
- * Provides automatic deduplication: later routes override earlier ones
5
- * for the same meta key (title, name, property, etc.)
6
- *
7
- * @example
8
- * ```tsx
9
- * // In route handler
10
- * route("product/:id", (ctx) => {
11
- * const meta = ctx.use(Meta);
12
- * meta({ title: "Product Details" });
13
- * meta({ name: "description", content: "..." });
14
- * meta({ property: "og:title", content: "..." });
15
- * });
16
- *
17
- * // In layout (renders the collected meta tags)
18
- * function RootLayout() {
19
- * return (
20
- * <html>
21
- * <head>
22
- * <MetaTags />
23
- * </head>
24
- * ...
25
- * </html>
26
- * );
27
- * }
28
- * ```
29
- */
30
- import { type Handle } from "../handle.js";
31
- import type { MetaDescriptor } from "../router/types.js";
32
- /**
33
- * Built-in handle for managing document metadata.
34
- *
35
- * Use `ctx.use(Meta)` in route handlers to push meta descriptors.
36
- * Use `<MetaTags />` component to render them in the document head.
37
- */
38
- export declare const Meta: Handle<MetaDescriptor, MetaDescriptor[]>;
39
- //# sourceMappingURL=meta.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/handles/meta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,oBAAoB,CAAC;AA0M5B;;;;;GAKG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE,CAGzD,CAAC"}