@rangojs/router 0.5.1 → 0.6.0

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 (609) hide show
  1. package/README.md +5 -1
  2. package/dist/bin/rango.js +343 -125
  3. package/dist/types/browser/event-controller.d.ts +6 -0
  4. package/dist/types/browser/react/use-router.d.ts +10 -3
  5. package/dist/types/browser/react/use-search-params.d.ts +57 -10
  6. package/dist/types/browser/types.d.ts +22 -0
  7. package/dist/types/build/merge-full-manifests.d.ts +3 -0
  8. package/dist/types/build/route-trie.d.ts +4 -73
  9. package/dist/types/build/route-types/per-module-writer.d.ts +6 -4
  10. package/dist/types/build/route-types/router-processing.d.ts +2 -3
  11. package/dist/types/cache/cache-exec-scope.d.ts +31 -0
  12. package/dist/types/cache/cf/cf-cache-constants.d.ts +8 -1
  13. package/dist/types/cache/cf/cf-cache-store.d.ts +15 -1
  14. package/dist/types/cache/cf/cf-cache-types.d.ts +1 -1
  15. package/dist/types/cache/cf/cf-kv-utils.d.ts +21 -0
  16. package/dist/types/cache/taint.d.ts +12 -6
  17. package/dist/types/client-urls/client-root.d.ts +38 -0
  18. package/dist/types/client-urls/client-urls.d.ts +5 -0
  19. package/dist/types/client-urls/navigation.d.ts +38 -0
  20. package/dist/types/client-urls/revalidation-protocol.d.ts +25 -0
  21. package/dist/types/client-urls/server-projection.d.ts +62 -0
  22. package/dist/types/client-urls/types.d.ts +144 -0
  23. package/dist/types/client.d.ts +12 -4
  24. package/dist/types/client.rsc.d.ts +4 -1
  25. package/dist/types/decode-loader-results.d.ts +37 -0
  26. package/dist/types/errors.d.ts +1 -0
  27. package/dist/types/handles/is-thenable.d.ts +2 -4
  28. package/dist/types/index.d.ts +1 -1
  29. package/dist/types/loader-redirect.d.ts +27 -0
  30. package/dist/types/outlet-context.d.ts +12 -0
  31. package/dist/types/outlet-provider.d.ts +3 -1
  32. package/dist/types/redirect-origin.d.ts +4 -0
  33. package/dist/types/route-content-wrapper.d.ts +42 -1
  34. package/dist/types/route-definition/helpers-types.d.ts +13 -2
  35. package/dist/types/router/error-handling.d.ts +35 -1
  36. package/dist/types/router/intercept-resolution.d.ts +12 -0
  37. package/dist/types/router/loader-resolution.d.ts +24 -2
  38. package/dist/types/router/revalidation.d.ts +7 -0
  39. package/dist/{types.backup/build/route-trie.d.ts → types/router/route-trie-builder.d.ts} +4 -16
  40. package/dist/types/router/router-interfaces.d.ts +20 -0
  41. package/dist/types/router/segment-resolution/helpers.d.ts +1 -1
  42. package/dist/types/router/trie-matching.d.ts +1 -1
  43. package/dist/types/rsc/helpers.d.ts +3 -0
  44. package/dist/types/rsc/manifest-init.d.ts +5 -5
  45. package/dist/types/rsc/render-pipeline.d.ts +9 -0
  46. package/dist/types/rsc/routine-plan.d.ts +124 -0
  47. package/dist/types/rsc/shell-capture-constants.d.ts +17 -0
  48. package/dist/types/rsc/shell-capture.d.ts +9 -0
  49. package/dist/types/rsc/shell-serve.d.ts +11 -0
  50. package/dist/types/rsc/types.d.ts +30 -0
  51. package/dist/types/segment-system.d.ts +2 -0
  52. package/dist/types/server/context.d.ts +10 -0
  53. package/dist/types/server/handle-store.d.ts +34 -3
  54. package/dist/types/server/request-context.d.ts +14 -1
  55. package/dist/types/server.d.ts +1 -0
  56. package/dist/types/ssr/index.d.ts +22 -0
  57. package/dist/types/ssr/ssr-root.d.ts +10 -0
  58. package/dist/types/testing/dom.entry.d.ts +1 -1
  59. package/dist/types/testing/render-route.d.ts +16 -6
  60. package/dist/types/testing/run-loader.d.ts +9 -0
  61. package/dist/types/types/boundaries.d.ts +22 -0
  62. package/dist/types/types/index.d.ts +1 -1
  63. package/dist/types/types/loader-types.d.ts +57 -5
  64. package/dist/types/types/segments.d.ts +7 -0
  65. package/dist/types/urls/path-helper-types.d.ts +10 -4
  66. package/dist/types/vite/discovery/client-urls-projection.d.ts +53 -0
  67. package/dist/types/vite/discovery/discover-routers.d.ts +1 -1
  68. package/dist/types/vite/discovery/state.d.ts +8 -1
  69. package/dist/types/vite/encryption-key.d.ts +2 -0
  70. package/dist/types/vite/plugins/expose-internal-ids.d.ts +10 -0
  71. package/dist/types/vite/plugins/server-ref-hashing.d.ts +24 -0
  72. package/dist/types/vite/plugins/server-reference-pattern.d.ts +1 -0
  73. package/dist/types/vite/utils/shared-utils.d.ts +12 -0
  74. package/dist/vite/index.js +5101 -2056
  75. package/package.json +3 -3
  76. package/skills/breadcrumbs/SKILL.md +39 -9
  77. package/skills/caching/SKILL.md +1 -1
  78. package/skills/catalog.json +7 -1
  79. package/skills/client-urls/SKILL.md +338 -0
  80. package/skills/comparison/references/framework-comparison.md +23 -9
  81. package/skills/hooks/SKILL.md +2 -2
  82. package/skills/hooks/data.md +11 -2
  83. package/skills/hooks/handle-and-actions.md +7 -0
  84. package/skills/hooks/outlets.md +26 -5
  85. package/skills/hooks/urls.md +40 -3
  86. package/skills/loader/SKILL.md +132 -20
  87. package/skills/migrate-nextjs/SKILL.md +70 -10
  88. package/skills/migrate-react-router/SKILL.md +49 -13
  89. package/skills/migrate-react-router/component-migration.md +18 -13
  90. package/skills/migrate-react-router/data-and-actions.md +14 -3
  91. package/skills/migrate-react-router/route-mapping.md +15 -2
  92. package/skills/mime-routes/SKILL.md +3 -1
  93. package/skills/parallel/SKILL.md +32 -1
  94. package/skills/ppr/SKILL.md +16 -6
  95. package/skills/prerender/SKILL.md +8 -4
  96. package/skills/rango/SKILL.md +21 -17
  97. package/skills/react-compiler/SKILL.md +3 -3
  98. package/skills/response-routes/SKILL.md +4 -2
  99. package/skills/route/SKILL.md +5 -2
  100. package/skills/router-setup/SKILL.md +16 -2
  101. package/skills/scripts/SKILL.md +16 -6
  102. package/skills/shell-manifest/SKILL.md +16 -7
  103. package/skills/testing/SKILL.md +2 -2
  104. package/skills/testing/client-components.md +6 -0
  105. package/skills/testing/handles.md +30 -8
  106. package/skills/testing/loader.md +51 -49
  107. package/skills/testing/middleware.md +1 -1
  108. package/skills/theme/SKILL.md +8 -5
  109. package/skills/typesafety/generated-files-and-cli.md +16 -9
  110. package/skills/typesafety/route-types.md +5 -1
  111. package/skills/use-cache/SKILL.md +47 -0
  112. package/src/bin/rango.ts +7 -3
  113. package/src/browser/event-controller.ts +40 -15
  114. package/src/browser/navigation-bridge.ts +6 -0
  115. package/src/browser/navigation-client.ts +5 -0
  116. package/src/browser/partial-update.ts +77 -10
  117. package/src/browser/react/NavigationProvider.tsx +7 -0
  118. package/src/browser/react/use-router.ts +40 -11
  119. package/src/browser/react/use-search-params.ts +140 -17
  120. package/src/browser/rsc-router.tsx +59 -0
  121. package/src/browser/server-action-bridge.ts +26 -0
  122. package/src/browser/types.ts +22 -0
  123. package/src/build/merge-full-manifests.ts +161 -0
  124. package/src/build/route-trie.ts +9 -332
  125. package/src/build/route-types/include-resolution.ts +66 -11
  126. package/src/build/route-types/per-module-writer.ts +11 -6
  127. package/src/build/route-types/router-processing.ts +184 -153
  128. package/src/build/runtime-discovery.ts +23 -12
  129. package/src/cache/cache-exec-scope.ts +47 -0
  130. package/src/cache/cache-runtime.ts +113 -40
  131. package/src/cache/cf/cf-cache-constants.ts +8 -1
  132. package/src/cache/cf/cf-cache-store.ts +41 -64
  133. package/src/cache/cf/cf-cache-types.ts +1 -1
  134. package/src/cache/cf/cf-kv-utils.ts +38 -0
  135. package/src/cache/segment-codec.ts +21 -5
  136. package/src/cache/taint.ts +28 -9
  137. package/src/client-urls/client-root.tsx +168 -0
  138. package/src/client-urls/client-urls.ts +698 -0
  139. package/src/client-urls/navigation.ts +237 -0
  140. package/src/client-urls/revalidation-protocol.ts +56 -0
  141. package/src/client-urls/server-projection.ts +579 -0
  142. package/src/client-urls/types.ts +195 -0
  143. package/src/client.rsc.tsx +12 -0
  144. package/src/client.tsx +49 -6
  145. package/src/decode-loader-results.ts +113 -0
  146. package/src/errors.ts +14 -0
  147. package/src/handles/deferred-resolution.ts +14 -7
  148. package/src/handles/is-thenable.ts +2 -4
  149. package/src/index.ts +1 -0
  150. package/src/loader-redirect.tsx +64 -0
  151. package/src/outlet-context.ts +12 -0
  152. package/src/outlet-provider.tsx +15 -1
  153. package/src/redirect-origin.ts +29 -0
  154. package/src/route-content-wrapper.tsx +96 -3
  155. package/src/route-definition/dsl-helpers.ts +28 -3
  156. package/src/route-definition/helpers-types.ts +13 -0
  157. package/src/route-definition/redirect.ts +17 -18
  158. package/src/router/error-handling.ts +65 -11
  159. package/src/router/intercept-resolution.ts +29 -0
  160. package/src/router/loader-resolution.ts +261 -28
  161. package/src/router/match-middleware/cache-lookup.ts +24 -15
  162. package/src/router/match-result.ts +7 -0
  163. package/src/router/revalidation.ts +24 -11
  164. package/src/router/route-trie-builder.ts +334 -0
  165. package/src/router/router-interfaces.ts +38 -0
  166. package/src/router/segment-resolution/fresh.ts +47 -0
  167. package/src/router/segment-resolution/helpers.ts +9 -11
  168. package/src/router/segment-resolution/loader-cache.ts +14 -24
  169. package/src/router/segment-resolution/revalidation.ts +20 -1
  170. package/src/router/trie-matching.ts +3 -3
  171. package/src/router.ts +46 -1
  172. package/src/rsc/full-payload.ts +6 -0
  173. package/src/rsc/handler.ts +36 -12
  174. package/src/rsc/helpers.ts +13 -0
  175. package/src/rsc/loader-fetch.ts +2 -2
  176. package/src/rsc/manifest-init.ts +28 -9
  177. package/src/rsc/progressive-enhancement.ts +247 -70
  178. package/src/rsc/render-pipeline.ts +68 -24
  179. package/src/rsc/routine-plan.ts +359 -0
  180. package/src/rsc/rsc-rendering.ts +569 -302
  181. package/src/rsc/server-action.ts +180 -71
  182. package/src/rsc/shell-capture-constants.ts +18 -0
  183. package/src/rsc/shell-capture.ts +104 -21
  184. package/src/rsc/shell-serve.ts +15 -2
  185. package/src/rsc/ssr-setup.ts +10 -1
  186. package/src/rsc/types.ts +31 -2
  187. package/src/segment-system.tsx +83 -26
  188. package/src/server/context.ts +10 -0
  189. package/src/server/cookie-store.ts +19 -19
  190. package/src/server/handle-store.ts +185 -48
  191. package/src/server/request-context.ts +36 -6
  192. package/src/server.ts +7 -0
  193. package/src/ssr/index.tsx +37 -2
  194. package/src/ssr/ssr-root.tsx +30 -2
  195. package/src/testing/dom.entry.ts +1 -1
  196. package/src/testing/render-route.tsx +22 -8
  197. package/src/testing/run-loader.ts +51 -13
  198. package/src/types/boundaries.ts +19 -0
  199. package/src/types/index.ts +1 -0
  200. package/src/types/loader-types.ts +60 -5
  201. package/src/types/segments.ts +7 -0
  202. package/src/urls/include-helper.ts +22 -4
  203. package/src/urls/path-helper-types.ts +14 -1
  204. package/src/use-loader.tsx +67 -6
  205. package/src/vite/discovery/client-urls-projection.ts +322 -0
  206. package/src/vite/discovery/discover-routers.ts +43 -17
  207. package/src/vite/discovery/state.ts +11 -1
  208. package/src/vite/discovery/virtual-module-codegen.ts +20 -0
  209. package/src/vite/encryption-key.ts +29 -0
  210. package/src/vite/plugins/expose-action-id.ts +2 -2
  211. package/src/vite/plugins/expose-internal-ids.ts +46 -0
  212. package/src/vite/plugins/server-ref-hashing.ts +74 -0
  213. package/src/vite/plugins/server-reference-pattern.ts +10 -0
  214. package/src/vite/plugins/virtual-entries.ts +12 -3
  215. package/src/vite/rango.ts +9 -0
  216. package/src/vite/router-discovery.ts +184 -14
  217. package/src/vite/utils/shared-utils.ts +12 -7
  218. package/dist/types.backup/__internal.d.ts +0 -127
  219. package/dist/types.backup/bin/rango.d.ts +0 -1
  220. package/dist/types.backup/browser/action-coordinator.d.ts +0 -57
  221. package/dist/types.backup/browser/action-fence.d.ts +0 -33
  222. package/dist/types.backup/browser/app-shell.d.ts +0 -34
  223. package/dist/types.backup/browser/app-version.d.ts +0 -6
  224. package/dist/types.backup/browser/connection-warmup.d.ts +0 -31
  225. package/dist/types.backup/browser/cookie-name.d.ts +0 -66
  226. package/dist/types.backup/browser/event-controller.d.ts +0 -221
  227. package/dist/types.backup/browser/history-state.d.ts +0 -26
  228. package/dist/types.backup/browser/index.d.ts +0 -1
  229. package/dist/types.backup/browser/intercept-utils.d.ts +0 -30
  230. package/dist/types.backup/browser/invalidate-client-cache.d.ts +0 -17
  231. package/dist/types.backup/browser/link-interceptor.d.ts +0 -43
  232. package/dist/types.backup/browser/logging.d.ts +0 -33
  233. package/dist/types.backup/browser/merge-segment-loaders.d.ts +0 -38
  234. package/dist/types.backup/browser/navigation-bridge.d.ts +0 -27
  235. package/dist/types.backup/browser/navigation-client.d.ts +0 -17
  236. package/dist/types.backup/browser/navigation-store-handle.d.ts +0 -25
  237. package/dist/types.backup/browser/navigation-store.d.ts +0 -95
  238. package/dist/types.backup/browser/navigation-transaction.d.ts +0 -75
  239. package/dist/types.backup/browser/network-error-handler.d.ts +0 -35
  240. package/dist/types.backup/browser/partial-update.d.ts +0 -61
  241. package/dist/types.backup/browser/prefetch/cache.d.ts +0 -183
  242. package/dist/types.backup/browser/prefetch/fetch.d.ts +0 -52
  243. package/dist/types.backup/browser/prefetch/observer.d.ts +0 -27
  244. package/dist/types.backup/browser/prefetch/policy.d.ts +0 -13
  245. package/dist/types.backup/browser/prefetch/queue.d.ts +0 -48
  246. package/dist/types.backup/browser/prefetch/resource-ready.d.ts +0 -28
  247. package/dist/types.backup/browser/rango-state.d.ts +0 -52
  248. package/dist/types.backup/browser/react/Link.d.ts +0 -140
  249. package/dist/types.backup/browser/react/NavigationProvider.d.ts +0 -88
  250. package/dist/types.backup/browser/react/ScrollRestoration.d.ts +0 -78
  251. package/dist/types.backup/browser/react/context.d.ts +0 -54
  252. package/dist/types.backup/browser/react/filter-segment-order.d.ts +0 -35
  253. package/dist/types.backup/browser/react/index.d.ts +0 -1
  254. package/dist/types.backup/browser/react/location-state-shared.d.ts +0 -162
  255. package/dist/types.backup/browser/react/location-state.d.ts +0 -29
  256. package/dist/types.backup/browser/react/mount-context.d.ts +0 -23
  257. package/dist/types.backup/browser/react/nonce-context.d.ts +0 -14
  258. package/dist/types.backup/browser/react/shallow-equal.d.ts +0 -5
  259. package/dist/types.backup/browser/react/use-action.d.ts +0 -61
  260. package/dist/types.backup/browser/react/use-handle.d.ts +0 -21
  261. package/dist/types.backup/browser/react/use-href.d.ts +0 -32
  262. package/dist/types.backup/browser/react/use-link-status.d.ts +0 -36
  263. package/dist/types.backup/browser/react/use-mount.d.ts +0 -24
  264. package/dist/types.backup/browser/react/use-navigation.d.ts +0 -15
  265. package/dist/types.backup/browser/react/use-params.d.ts +0 -21
  266. package/dist/types.backup/browser/react/use-pathname.d.ts +0 -13
  267. package/dist/types.backup/browser/react/use-reverse.d.ts +0 -40
  268. package/dist/types.backup/browser/react/use-router.d.ts +0 -23
  269. package/dist/types.backup/browser/react/use-search-params.d.ts +0 -19
  270. package/dist/types.backup/browser/react/use-segments.d.ts +0 -29
  271. package/dist/types.backup/browser/response-adapter.d.ts +0 -58
  272. package/dist/types.backup/browser/rsc-router.d.ts +0 -141
  273. package/dist/types.backup/browser/scroll-restoration.d.ts +0 -103
  274. package/dist/types.backup/browser/segment-reconciler.d.ts +0 -74
  275. package/dist/types.backup/browser/segment-structure-assert.d.ts +0 -16
  276. package/dist/types.backup/browser/server-action-bridge.d.ts +0 -29
  277. package/dist/types.backup/browser/types.d.ts +0 -530
  278. package/dist/types.backup/browser/validate-redirect-origin.d.ts +0 -28
  279. package/dist/types.backup/build/collect-fallback-refs.d.ts +0 -5
  280. package/dist/types.backup/build/generate-manifest.d.ts +0 -100
  281. package/dist/types.backup/build/generate-route-types.d.ts +0 -8
  282. package/dist/types.backup/build/index.d.ts +0 -21
  283. package/dist/types.backup/build/prefix-tree-utils.d.ts +0 -56
  284. package/dist/types.backup/build/route-types/ast-helpers.d.ts +0 -3
  285. package/dist/types.backup/build/route-types/ast-route-extraction.d.ts +0 -13
  286. package/dist/types.backup/build/route-types/codegen.d.ts +0 -16
  287. package/dist/types.backup/build/route-types/include-resolution.d.ts +0 -74
  288. package/dist/types.backup/build/route-types/param-extraction.d.ts +0 -13
  289. package/dist/types.backup/build/route-types/per-module-writer.d.ts +0 -18
  290. package/dist/types.backup/build/route-types/router-processing.d.ts +0 -82
  291. package/dist/types.backup/build/route-types/scan-filter.d.ts +0 -17
  292. package/dist/types.backup/build/route-types/source-scan.d.ts +0 -13
  293. package/dist/types.backup/build/runtime-discovery.d.ts +0 -24
  294. package/dist/types.backup/cache/background-task.d.ts +0 -21
  295. package/dist/types.backup/cache/cache-error.d.ts +0 -71
  296. package/dist/types.backup/cache/cache-key-utils.d.ts +0 -35
  297. package/dist/types.backup/cache/cache-policy.d.ts +0 -59
  298. package/dist/types.backup/cache/cache-runtime.d.ts +0 -51
  299. package/dist/types.backup/cache/cache-scope.d.ts +0 -134
  300. package/dist/types.backup/cache/cache-tag.d.ts +0 -79
  301. package/dist/types.backup/cache/cf/cf-base64.d.ts +0 -4
  302. package/dist/types.backup/cache/cf/cf-cache-constants.d.ts +0 -105
  303. package/dist/types.backup/cache/cf/cf-cache-store.d.ts +0 -481
  304. package/dist/types.backup/cache/cf/cf-cache-types.d.ts +0 -300
  305. package/dist/types.backup/cache/cf/cf-kv-utils.d.ts +0 -22
  306. package/dist/types.backup/cache/cf/cf-tag-marker-memo.d.ts +0 -15
  307. package/dist/types.backup/cache/cf/index.d.ts +0 -3
  308. package/dist/types.backup/cache/document-cache.d.ts +0 -69
  309. package/dist/types.backup/cache/handle-capture.d.ts +0 -23
  310. package/dist/types.backup/cache/handle-snapshot.d.ts +0 -39
  311. package/dist/types.backup/cache/index.d.ts +0 -7
  312. package/dist/types.backup/cache/memory-segment-store.d.ts +0 -163
  313. package/dist/types.backup/cache/profile-registry.d.ts +0 -40
  314. package/dist/types.backup/cache/read-through-swr.d.ts +0 -60
  315. package/dist/types.backup/cache/segment-codec.d.ts +0 -78
  316. package/dist/types.backup/cache/shell-snapshot.d.ts +0 -162
  317. package/dist/types.backup/cache/tag-invalidation.d.ts +0 -74
  318. package/dist/types.backup/cache/taint.d.ts +0 -71
  319. package/dist/types.backup/cache/types.d.ts +0 -407
  320. package/dist/types.backup/cache/vercel/index.d.ts +0 -1
  321. package/dist/types.backup/cache/vercel/vercel-cache-store.d.ts +0 -267
  322. package/dist/types.backup/client.d.ts +0 -184
  323. package/dist/types.backup/client.rsc.d.ts +0 -39
  324. package/dist/types.backup/cloudflare/index.d.ts +0 -7
  325. package/dist/types.backup/cloudflare/tracing.d.ts +0 -53
  326. package/dist/types.backup/component-utils.d.ts +0 -46
  327. package/dist/types.backup/components/DefaultDocument.d.ts +0 -13
  328. package/dist/types.backup/context-var.d.ts +0 -84
  329. package/dist/types.backup/debug.d.ts +0 -57
  330. package/dist/types.backup/decode-loader-results.d.ts +0 -5
  331. package/dist/types.backup/default-error-boundary.d.ts +0 -10
  332. package/dist/types.backup/defer.d.ts +0 -89
  333. package/dist/types.backup/deps/browser.d.ts +0 -1
  334. package/dist/types.backup/deps/html-stream-client.d.ts +0 -1
  335. package/dist/types.backup/deps/html-stream-server.d.ts +0 -1
  336. package/dist/types.backup/deps/rsc.d.ts +0 -1
  337. package/dist/types.backup/deps/ssr.d.ts +0 -1
  338. package/dist/types.backup/encode-kv.d.ts +0 -35
  339. package/dist/types.backup/errors.d.ts +0 -226
  340. package/dist/types.backup/escape-script.d.ts +0 -44
  341. package/dist/types.backup/handle.d.ts +0 -93
  342. package/dist/types.backup/handles/MetaTags.d.ts +0 -17
  343. package/dist/types.backup/handles/Scripts.d.ts +0 -38
  344. package/dist/types.backup/handles/breadcrumbs.d.ts +0 -43
  345. package/dist/types.backup/handles/deferred-resolution.d.ts +0 -53
  346. package/dist/types.backup/handles/is-thenable.d.ts +0 -12
  347. package/dist/types.backup/handles/meta.d.ts +0 -43
  348. package/dist/types.backup/handles/script.d.ts +0 -139
  349. package/dist/types.backup/host/cookie-handler.d.ts +0 -8
  350. package/dist/types.backup/host/errors.d.ts +0 -40
  351. package/dist/types.backup/host/index.d.ts +0 -33
  352. package/dist/types.backup/host/pattern-matcher.d.ts +0 -30
  353. package/dist/types.backup/host/router.d.ts +0 -12
  354. package/dist/types.backup/host/testing.d.ts +0 -41
  355. package/dist/types.backup/host/types.d.ts +0 -148
  356. package/dist/types.backup/host/utils.d.ts +0 -20
  357. package/dist/types.backup/href-client.d.ts +0 -214
  358. package/dist/types.backup/index.d.ts +0 -112
  359. package/dist/types.backup/index.rsc.d.ts +0 -51
  360. package/dist/types.backup/internal-debug.d.ts +0 -1
  361. package/dist/types.backup/loader-store.d.ts +0 -193
  362. package/dist/types.backup/loader.d.ts +0 -18
  363. package/dist/types.backup/loader.rsc.d.ts +0 -18
  364. package/dist/types.backup/missing-id-error.d.ts +0 -1
  365. package/dist/types.backup/outlet-context.d.ts +0 -12
  366. package/dist/types.backup/outlet-provider.d.ts +0 -12
  367. package/dist/types.backup/prerender/build-shell-capture.d.ts +0 -104
  368. package/dist/types.backup/prerender/param-hash.d.ts +0 -6
  369. package/dist/types.backup/prerender/shell-manifest-key.d.ts +0 -18
  370. package/dist/types.backup/prerender/store.d.ts +0 -62
  371. package/dist/types.backup/prerender.d.ts +0 -292
  372. package/dist/types.backup/redirect-origin.d.ts +0 -55
  373. package/dist/types.backup/regex-escape.d.ts +0 -6
  374. package/dist/types.backup/render-error-thrower.d.ts +0 -13
  375. package/dist/types.backup/response-utils.d.ts +0 -35
  376. package/dist/types.backup/reverse.d.ts +0 -206
  377. package/dist/types.backup/root-error-boundary.d.ts +0 -32
  378. package/dist/types.backup/route-content-wrapper.d.ts +0 -40
  379. package/dist/types.backup/route-definition/dsl-helpers.d.ts +0 -130
  380. package/dist/types.backup/route-definition/helper-factories.d.ts +0 -22
  381. package/dist/types.backup/route-definition/helpers-types.d.ts +0 -392
  382. package/dist/types.backup/route-definition/index.d.ts +0 -7
  383. package/dist/types.backup/route-definition/redirect.d.ts +0 -48
  384. package/dist/types.backup/route-definition/resolve-handler-use.d.ts +0 -19
  385. package/dist/types.backup/route-definition/use-item-types.d.ts +0 -1
  386. package/dist/types.backup/route-definition.d.ts +0 -1
  387. package/dist/types.backup/route-map-builder.d.ts +0 -127
  388. package/dist/types.backup/route-name.d.ts +0 -27
  389. package/dist/types.backup/route-types.d.ts +0 -172
  390. package/dist/types.backup/router/basename.d.ts +0 -10
  391. package/dist/types.backup/router/content-negotiation.d.ts +0 -91
  392. package/dist/types.backup/router/debug-manifest.d.ts +0 -7
  393. package/dist/types.backup/router/error-handling.d.ts +0 -76
  394. package/dist/types.backup/router/find-match.d.ts +0 -19
  395. package/dist/types.backup/router/handler-context.d.ts +0 -41
  396. package/dist/types.backup/router/instrument.d.ts +0 -161
  397. package/dist/types.backup/router/intercept-resolution.d.ts +0 -79
  398. package/dist/types.backup/router/lazy-includes.d.ts +0 -26
  399. package/dist/types.backup/router/loader-resolution.d.ts +0 -63
  400. package/dist/types.backup/router/logging.d.ts +0 -41
  401. package/dist/types.backup/router/manifest.d.ts +0 -8
  402. package/dist/types.backup/router/match-api.d.ts +0 -19
  403. package/dist/types.backup/router/match-context.d.ts +0 -184
  404. package/dist/types.backup/router/match-handlers.d.ts +0 -49
  405. package/dist/types.backup/router/match-middleware/background-revalidation.d.ts +0 -113
  406. package/dist/types.backup/router/match-middleware/cache-lookup.d.ts +0 -113
  407. package/dist/types.backup/router/match-middleware/cache-store.d.ts +0 -112
  408. package/dist/types.backup/router/match-middleware/index.d.ts +0 -80
  409. package/dist/types.backup/router/match-middleware/intercept-resolution.d.ts +0 -116
  410. package/dist/types.backup/router/match-middleware/segment-resolution.d.ts +0 -94
  411. package/dist/types.backup/router/match-pipelines.d.ts +0 -103
  412. package/dist/types.backup/router/match-result.d.ts +0 -114
  413. package/dist/types.backup/router/metrics.d.ts +0 -6
  414. package/dist/types.backup/router/middleware-types.d.ts +0 -74
  415. package/dist/types.backup/router/middleware.d.ts +0 -116
  416. package/dist/types.backup/router/navigation-snapshot.d.ts +0 -22
  417. package/dist/types.backup/router/params-util.d.ts +0 -8
  418. package/dist/types.backup/router/parse-pattern.d.ts +0 -38
  419. package/dist/types.backup/router/pattern-matching.d.ts +0 -169
  420. package/dist/types.backup/router/prefetch-cache-ttl.d.ts +0 -27
  421. package/dist/types.backup/router/prefetch-limits.d.ts +0 -20
  422. package/dist/types.backup/router/prerender-match.d.ts +0 -50
  423. package/dist/types.backup/router/preview-match.d.ts +0 -22
  424. package/dist/types.backup/router/request-classification.d.ts +0 -104
  425. package/dist/types.backup/router/revalidation.d.ts +0 -57
  426. package/dist/types.backup/router/route-snapshot.d.ts +0 -112
  427. package/dist/types.backup/router/router-context.d.ts +0 -137
  428. package/dist/types.backup/router/router-interfaces.d.ts +0 -432
  429. package/dist/types.backup/router/router-options.d.ts +0 -738
  430. package/dist/types.backup/router/router-registry.d.ts +0 -15
  431. package/dist/types.backup/router/segment-resolution/fresh.d.ts +0 -55
  432. package/dist/types.backup/router/segment-resolution/helpers.d.ts +0 -93
  433. package/dist/types.backup/router/segment-resolution/loader-cache.d.ts +0 -33
  434. package/dist/types.backup/router/segment-resolution/loader-mask.d.ts +0 -44
  435. package/dist/types.backup/router/segment-resolution/loader-snapshot.d.ts +0 -90
  436. package/dist/types.backup/router/segment-resolution/mask-nested.d.ts +0 -53
  437. package/dist/types.backup/router/segment-resolution/revalidation.d.ts +0 -85
  438. package/dist/types.backup/router/segment-resolution/static-store.d.ts +0 -17
  439. package/dist/types.backup/router/segment-resolution/streamed-handler-telemetry.d.ts +0 -16
  440. package/dist/types.backup/router/segment-resolution/view-transition-default.d.ts +0 -28
  441. package/dist/types.backup/router/segment-resolution.d.ts +0 -3
  442. package/dist/types.backup/router/segment-wrappers.d.ts +0 -53
  443. package/dist/types.backup/router/state-cookie-name.d.ts +0 -1
  444. package/dist/types.backup/router/substitute-pattern-params.d.ts +0 -23
  445. package/dist/types.backup/router/telemetry-otel.d.ts +0 -113
  446. package/dist/types.backup/router/telemetry.d.ts +0 -215
  447. package/dist/types.backup/router/timeout.d.ts +0 -68
  448. package/dist/types.backup/router/tracing.d.ts +0 -125
  449. package/dist/types.backup/router/trie-matching.d.ts +0 -32
  450. package/dist/types.backup/router/types.d.ts +0 -98
  451. package/dist/types.backup/router/url-params.d.ts +0 -26
  452. package/dist/types.backup/router.d.ts +0 -7
  453. package/dist/types.backup/rsc/capture-queue.d.ts +0 -6
  454. package/dist/types.backup/rsc/full-payload.d.ts +0 -22
  455. package/dist/types.backup/rsc/handler-context.d.ts +0 -31
  456. package/dist/types.backup/rsc/handler.d.ts +0 -9
  457. package/dist/types.backup/rsc/helpers.d.ts +0 -213
  458. package/dist/types.backup/rsc/index.d.ts +0 -17
  459. package/dist/types.backup/rsc/json-route-result.d.ts +0 -20
  460. package/dist/types.backup/rsc/loader-fetch.d.ts +0 -14
  461. package/dist/types.backup/rsc/manifest-init.d.ts +0 -18
  462. package/dist/types.backup/rsc/nonce.d.ts +0 -28
  463. package/dist/types.backup/rsc/origin-guard.d.ts +0 -50
  464. package/dist/types.backup/rsc/progressive-enhancement.d.ts +0 -19
  465. package/dist/types.backup/rsc/redirect-guard.d.ts +0 -35
  466. package/dist/types.backup/rsc/response-cache-serve.d.ts +0 -46
  467. package/dist/types.backup/rsc/response-error.d.ts +0 -19
  468. package/dist/types.backup/rsc/response-route-handler.d.ts +0 -29
  469. package/dist/types.backup/rsc/rsc-rendering.d.ts +0 -23
  470. package/dist/types.backup/rsc/runtime-warnings.d.ts +0 -22
  471. package/dist/types.backup/rsc/server-action.d.ts +0 -68
  472. package/dist/types.backup/rsc/shell-build-manifest.d.ts +0 -84
  473. package/dist/types.backup/rsc/shell-capture-constants.d.ts +0 -27
  474. package/dist/types.backup/rsc/shell-capture.d.ts +0 -374
  475. package/dist/types.backup/rsc/shell-serve.d.ts +0 -136
  476. package/dist/types.backup/rsc/ssr-setup.d.ts +0 -48
  477. package/dist/types.backup/rsc/transition-gate.d.ts +0 -27
  478. package/dist/types.backup/rsc/types.d.ts +0 -290
  479. package/dist/types.backup/runtime-env.d.ts +0 -1
  480. package/dist/types.backup/search-params.d.ts +0 -125
  481. package/dist/types.backup/segment-content-promise.d.ts +0 -13
  482. package/dist/types.backup/segment-fragments.d.ts +0 -56
  483. package/dist/types.backup/segment-loader-promise.d.ts +0 -22
  484. package/dist/types.backup/segment-system.d.ts +0 -84
  485. package/dist/types.backup/serialize.d.ts +0 -164
  486. package/dist/types.backup/server/context.d.ts +0 -494
  487. package/dist/types.backup/server/cookie-parse.d.ts +0 -10
  488. package/dist/types.backup/server/cookie-store.d.ts +0 -107
  489. package/dist/types.backup/server/fetchable-loader-store.d.ts +0 -20
  490. package/dist/types.backup/server/handle-store.d.ts +0 -100
  491. package/dist/types.backup/server/loader-registry.d.ts +0 -32
  492. package/dist/types.backup/server/request-context.d.ts +0 -596
  493. package/dist/types.backup/server/root-layout.d.ts +0 -3
  494. package/dist/types.backup/server.d.ts +0 -15
  495. package/dist/types.backup/ssr/index.d.ts +0 -233
  496. package/dist/types.backup/ssr/inject-rsc-eager.d.ts +0 -3
  497. package/dist/types.backup/ssr/preinit-client-references.d.ts +0 -71
  498. package/dist/types.backup/ssr/ssr-root.d.ts +0 -69
  499. package/dist/types.backup/static-handler.d.ts +0 -57
  500. package/dist/types.backup/testing/cache-status.d.ts +0 -63
  501. package/dist/types.backup/testing/collect-handle.d.ts +0 -20
  502. package/dist/types.backup/testing/dispatch.d.ts +0 -123
  503. package/dist/types.backup/testing/dom.entry.d.ts +0 -15
  504. package/dist/types.backup/testing/e2e/fixture.d.ts +0 -37
  505. package/dist/types.backup/testing/e2e/index.d.ts +0 -30
  506. package/dist/types.backup/testing/e2e/matchers.d.ts +0 -17
  507. package/dist/types.backup/testing/e2e/page-helpers.d.ts +0 -62
  508. package/dist/types.backup/testing/e2e/parity.d.ts +0 -111
  509. package/dist/types.backup/testing/e2e/server.d.ts +0 -35
  510. package/dist/types.backup/testing/flight-matchers.d.ts +0 -55
  511. package/dist/types.backup/testing/flight-normalize.d.ts +0 -1
  512. package/dist/types.backup/testing/flight-tree.d.ts +0 -192
  513. package/dist/types.backup/testing/flight.d.ts +0 -115
  514. package/dist/types.backup/testing/flight.entry.d.ts +0 -27
  515. package/dist/types.backup/testing/generated-routes.d.ts +0 -66
  516. package/dist/types.backup/testing/index.d.ts +0 -52
  517. package/dist/types.backup/testing/internal/context.d.ts +0 -225
  518. package/dist/types.backup/testing/internal/flight-client-globals.d.ts +0 -1
  519. package/dist/types.backup/testing/internal/seed-vars.d.ts +0 -30
  520. package/dist/types.backup/testing/render-handler.d.ts +0 -160
  521. package/dist/types.backup/testing/render-route.d.ts +0 -246
  522. package/dist/types.backup/testing/run-loader.d.ts +0 -186
  523. package/dist/types.backup/testing/run-middleware.d.ts +0 -132
  524. package/dist/types.backup/testing/run-transition-when.d.ts +0 -77
  525. package/dist/types.backup/testing/vitest-stubs/cloudflare-email.d.ts +0 -6
  526. package/dist/types.backup/testing/vitest-stubs/cloudflare-workers.d.ts +0 -13
  527. package/dist/types.backup/testing/vitest-stubs/plugin-rsc.d.ts +0 -7
  528. package/dist/types.backup/testing/vitest-stubs/version.d.ts +0 -1
  529. package/dist/types.backup/testing/vitest.d.ts +0 -205
  530. package/dist/types.backup/theme/ThemeProvider.d.ts +0 -13
  531. package/dist/types.backup/theme/ThemeScript.d.ts +0 -45
  532. package/dist/types.backup/theme/constants.d.ts +0 -39
  533. package/dist/types.backup/theme/index.d.ts +0 -29
  534. package/dist/types.backup/theme/theme-context.d.ts +0 -21
  535. package/dist/types.backup/theme/theme-script.d.ts +0 -26
  536. package/dist/types.backup/theme/types.d.ts +0 -162
  537. package/dist/types.backup/theme/use-theme.d.ts +0 -8
  538. package/dist/types.backup/types/boundaries.d.ts +0 -93
  539. package/dist/types.backup/types/cache-types.d.ts +0 -191
  540. package/dist/types.backup/types/error-types.d.ts +0 -114
  541. package/dist/types.backup/types/global-namespace.d.ts +0 -90
  542. package/dist/types.backup/types/handler-context.d.ts +0 -658
  543. package/dist/types.backup/types/index.d.ts +0 -11
  544. package/dist/types.backup/types/loader-types.d.ts +0 -182
  545. package/dist/types.backup/types/request-scope.d.ts +0 -93
  546. package/dist/types.backup/types/route-config.d.ts +0 -105
  547. package/dist/types.backup/types/route-entry.d.ts +0 -95
  548. package/dist/types.backup/types/segments.d.ts +0 -234
  549. package/dist/types.backup/types.d.ts +0 -1
  550. package/dist/types.backup/urls/include-helper.d.ts +0 -17
  551. package/dist/types.backup/urls/include-provider.d.ts +0 -27
  552. package/dist/types.backup/urls/index.d.ts +0 -6
  553. package/dist/types.backup/urls/path-helper-types.d.ts +0 -197
  554. package/dist/types.backup/urls/path-helper.d.ts +0 -12
  555. package/dist/types.backup/urls/pattern-types.d.ts +0 -166
  556. package/dist/types.backup/urls/response-types.d.ts +0 -67
  557. package/dist/types.backup/urls/type-extraction.d.ts +0 -157
  558. package/dist/types.backup/urls/urls-function.d.ts +0 -24
  559. package/dist/types.backup/urls.d.ts +0 -1
  560. package/dist/types.backup/use-loader.d.ts +0 -150
  561. package/dist/types.backup/vercel/index.d.ts +0 -10
  562. package/dist/types.backup/vercel/tracing.d.ts +0 -70
  563. package/dist/types.backup/vite/debug.d.ts +0 -80
  564. package/dist/types.backup/vite/discovery/bundle-postprocess.d.ts +0 -12
  565. package/dist/types.backup/vite/discovery/dev-prerender-cache.d.ts +0 -65
  566. package/dist/types.backup/vite/discovery/discover-routers.d.ts +0 -17
  567. package/dist/types.backup/vite/discovery/discovery-errors.d.ts +0 -113
  568. package/dist/types.backup/vite/discovery/gate-state.d.ts +0 -79
  569. package/dist/types.backup/vite/discovery/prerender-collection.d.ts +0 -24
  570. package/dist/types.backup/vite/discovery/route-types-writer.d.ts +0 -32
  571. package/dist/types.backup/vite/discovery/self-gen-tracking.d.ts +0 -22
  572. package/dist/types.backup/vite/discovery/shell-prerender-phase.d.ts +0 -40
  573. package/dist/types.backup/vite/discovery/state.d.ts +0 -162
  574. package/dist/types.backup/vite/discovery/virtual-module-codegen.d.ts +0 -15
  575. package/dist/types.backup/vite/index.d.ts +0 -11
  576. package/dist/types.backup/vite/inject-client-debug.d.ts +0 -56
  577. package/dist/types.backup/vite/plugin-types.d.ts +0 -298
  578. package/dist/types.backup/vite/plugins/cjs-to-esm.d.ts +0 -6
  579. package/dist/types.backup/vite/plugins/client-ref-dedup.d.ts +0 -40
  580. package/dist/types.backup/vite/plugins/client-ref-hashing.d.ts +0 -35
  581. package/dist/types.backup/vite/plugins/cloudflare-protocol-stub.d.ts +0 -64
  582. package/dist/types.backup/vite/plugins/expose-action-id.d.ts +0 -18
  583. package/dist/types.backup/vite/plugins/expose-id-utils.d.ts +0 -37
  584. package/dist/types.backup/vite/plugins/expose-ids/export-analysis.d.ts +0 -19
  585. package/dist/types.backup/vite/plugins/expose-ids/handler-transform.d.ts +0 -10
  586. package/dist/types.backup/vite/plugins/expose-ids/loader-transform.d.ts +0 -8
  587. package/dist/types.backup/vite/plugins/expose-ids/router-transform.d.ts +0 -13
  588. package/dist/types.backup/vite/plugins/expose-ids/types.d.ts +0 -29
  589. package/dist/types.backup/vite/plugins/expose-internal-ids.d.ts +0 -6
  590. package/dist/types.backup/vite/plugins/performance-tracks.d.ts +0 -25
  591. package/dist/types.backup/vite/plugins/refresh-cmd.d.ts +0 -20
  592. package/dist/types.backup/vite/plugins/use-cache-transform.d.ts +0 -20
  593. package/dist/types.backup/vite/plugins/vercel-output.d.ts +0 -85
  594. package/dist/types.backup/vite/plugins/version-injector.d.ts +0 -21
  595. package/dist/types.backup/vite/plugins/version-plugin.d.ts +0 -19
  596. package/dist/types.backup/vite/plugins/virtual-entries.d.ts +0 -36
  597. package/dist/types.backup/vite/plugins/virtual-stub-plugin.d.ts +0 -7
  598. package/dist/types.backup/vite/rango.d.ts +0 -29
  599. package/dist/types.backup/vite/router-discovery.d.ts +0 -23
  600. package/dist/types.backup/vite/utils/ast-handler-extract.d.ts +0 -64
  601. package/dist/types.backup/vite/utils/banner.d.ts +0 -2
  602. package/dist/types.backup/vite/utils/bundle-analysis.d.ts +0 -28
  603. package/dist/types.backup/vite/utils/client-chunks.d.ts +0 -55
  604. package/dist/types.backup/vite/utils/directive-prologue.d.ts +0 -16
  605. package/dist/types.backup/vite/utils/forward-user-plugins.d.ts +0 -37
  606. package/dist/types.backup/vite/utils/manifest-utils.d.ts +0 -7
  607. package/dist/types.backup/vite/utils/package-resolution.d.ts +0 -6
  608. package/dist/types.backup/vite/utils/prerender-utils.d.ts +0 -32
  609. package/dist/types.backup/vite/utils/shared-utils.d.ts +0 -55
@@ -1,80 +0,0 @@
1
- /**
2
- * Debug logging for the Rango Vite plugin.
3
- *
4
- * Thin wrapper over the `debug` package (the same one Vite uses for its
5
- * own `vite:*` namespaces). Enable with either:
6
- *
7
- * DEBUG='rango:*' vite dev
8
- * vite --debug rango:* # vite prepends `vite:`, we bridge it
9
- *
10
- * Returns `undefined` when no matching namespace is enabled, so call sites
11
- * can guard expensive diagnostics with a simple truthiness check:
12
- *
13
- * const debug = createRangoDebugger(NS.routes);
14
- * if (debug) debug("built manifest (%d routes) in %dms", n, ms);
15
- *
16
- * Back-compat: INTERNAL_RANGO_DEBUG=1 still enables all rango namespaces.
17
- *
18
- * Vite CLI note: `vite --debug <feat>` rewrites to `DEBUG=vite:<feat>` — it
19
- * always prefixes with `vite:` and cannot enable bare `rango:*` namespaces.
20
- * We work around this by registering a shadow `vite:rango:*` instance for
21
- * each debugger, so either invocation works.
22
- */
23
- /**
24
- * Canonical debug namespaces. Import as `NS.xxx` instead of string literals
25
- * so typos become type errors and the full set lives in one place.
26
- */
27
- export declare const NS: {
28
- readonly config: "rango:config";
29
- readonly discovery: "rango:discovery";
30
- readonly routes: "rango:routes";
31
- readonly prerender: "rango:prerender";
32
- readonly build: "rango:build";
33
- readonly dev: "rango:dev";
34
- readonly transform: "rango:transform";
35
- readonly chunks: "rango:chunks";
36
- };
37
- export type Debugger = (formatter: string, ...args: unknown[]) => void;
38
- export declare function createRangoDebugger(namespace: string): Debugger | undefined;
39
- /**
40
- * Measure an async block and log its duration via `debug`. No-ops (still
41
- * runs `fn`) when the namespace is disabled, so production cost is a single
42
- * `.enabled` check per call.
43
- *
44
- * await timed(debug, "discover routers", () => discoverRouters(state));
45
- */
46
- export declare function timed<T>(debug: Debugger | undefined, label: string, fn: () => T | Promise<T>): Promise<T>;
47
- /**
48
- * Synchronous variant of `timed`. Use for sync call sites — wrapping them
49
- * with the async `timed` would create a floating promise that discards any
50
- * throw, bypassing the surrounding try/catch.
51
- */
52
- export declare function timedSync<T>(debug: Debugger | undefined, label: string, fn: () => T): T;
53
- /**
54
- * Aggregate counter for high-frequency call sites (typically Vite
55
- * `transform` hooks that run on many files). Per-call logging would
56
- * drown real signal; this collects totals and reports once on flush.
57
- *
58
- * const counter = createCounter(debug, "use-cache-transform");
59
- * // inside transform():
60
- * return counter?.time(id, () => doWork()) ?? doWork();
61
- * // or manually:
62
- * counter?.record(id, ms);
63
- * // flush on buildEnd (counter resets, so multi-env builds each get
64
- * // their own summary line):
65
- * counter?.flush();
66
- *
67
- * Returns `undefined` when the namespace is disabled so call sites pay
68
- * nothing when off.
69
- */
70
- export interface Counter {
71
- record(file: string, ms: number): void;
72
- /**
73
- * Convenience: time a sync or async block and record it. Propagates
74
- * throws; records regardless of outcome. Returns the function's result.
75
- */
76
- time<T>(file: string, fn: () => T): T;
77
- time<T>(file: string, fn: () => Promise<T>): Promise<T>;
78
- flush(): void;
79
- }
80
- export declare function createCounter(debug: Debugger | undefined, label: string): Counter | undefined;
@@ -1,12 +0,0 @@
1
- /**
2
- * Bundle Post-Processing
3
- *
4
- * Handles handler code eviction from prerender/static chunks and
5
- * injection of collected prerender/static data into the RSC entry bundle.
6
- */
7
- import type { DiscoveryState } from "./state.js";
8
- /**
9
- * Post-process the RSC bundle: evict handler code and inject
10
- * prerender/static data as importable asset modules.
11
- */
12
- export declare function postprocessBundle(state: DiscoveryState): void;
@@ -1,65 +0,0 @@
1
- /**
2
- * Dev prerender result cache — memoizes /__rsc_prerender responses between
3
- * HMR edits (issue #654).
4
- *
5
- * Freshness invariant (why identity keying is correct): the endpoint
6
- * re-imports the user's entry module through a Vite module runner on every
7
- * request. When ANY module in the entry → router → urls → handler chain was
8
- * invalidated (file edit propagates up the importer graph), that import
9
- * re-executes the entry, `createRouter()` re-runs, and `RouterRegistry.set`
10
- * (router.ts) replaces the router instance with a NEW object. When nothing
11
- * was invalidated, the import is a module-cache hit and the instance is the
12
- * SAME object. Router-instance identity therefore IS the HMR generation:
13
- * keying the cache on it gives "serve cached until an edit invalidates the
14
- * chain" without any watcher bookkeeping, and the WeakMap lets every stale
15
- * generation's bucket be garbage-collected the moment the registry drops
16
- * the old instance.
17
- *
18
- * Staleness envelope: a cached body can only go stale through NON-module
19
- * inputs (a getParams() reading a database, fs content outside the module
20
- * graph). Production freezes those at build time, so serving them frozen
21
- * between edits makes dev MORE faithful to production, not less — the
22
- * pre-#654 behavior of re-rendering per request was the anomaly.
23
- */
24
- import type { SerializedSegmentData } from "../../cache/types.js";
25
- /** Structural slice of `matchForPrerender`'s result the payload derivation needs. */
26
- export interface DevPrerenderMatchPayloadSource {
27
- segments: SerializedSegmentData[];
28
- handles: string;
29
- interceptSegments?: SerializedSegmentData[];
30
- interceptHandles?: string;
31
- }
32
- /** Serialized response bodies for the two endpoint variants of one render. */
33
- export interface DevPrerenderPayloadBodies {
34
- /** `intercept != 1` response: the route's own segments + handles. */
35
- main: string;
36
- /**
37
- * `intercept=1` response: main + intercept segments with the MERGED handle
38
- * string. Falls back to `main` byte-for-byte when the route has no
39
- * intercept segments — mirroring the endpoint's historical behavior.
40
- */
41
- intercept: string;
42
- }
43
- export interface DevPrerenderCache {
44
- get(router: object, key: string): string | undefined;
45
- set(router: object, key: string, body: string): void;
46
- }
47
- /**
48
- * Derive both variant bodies from one matchForPrerender result, so a single
49
- * render warms the main AND intercept cache keys (matchForPrerender computes
50
- * intercept segments unconditionally either way — see prerender-match.ts
51
- * step 14).
52
- */
53
- export declare function payloadBodiesFromResult(result: DevPrerenderMatchPayloadSource): DevPrerenderPayloadBodies;
54
- /**
55
- * Cache key for one endpoint request shape. `pathname` and `routeName` come
56
- * straight from the query; `passthrough` selects the getParams-checked match
57
- * path; `intercept` selects which variant body is served. All four dimensions
58
- * change the response, so all four are in the key.
59
- */
60
- export declare function devPrerenderCacheKey(pathname: string, opts: {
61
- intercept: boolean;
62
- passthrough: boolean;
63
- routeName: string | null;
64
- }): string;
65
- export declare function createDevPrerenderCache(maxEntriesPerRouter?: number): DevPrerenderCache;
@@ -1,17 +0,0 @@
1
- /**
2
- * Router Discovery
3
- *
4
- * Core discovery logic: imports the user's entry file via the RSC
5
- * environment's module runner, generates manifests for each discovered
6
- * router, and builds route tries for O(path_length) matching.
7
- */
8
- import type { DiscoveryState } from "./state.js";
9
- /**
10
- * Import the user's entry via RSC runner, generate manifests for each
11
- * discovered router, build route tries, and optionally run prerender
12
- * expansion and static handler rendering (build mode only).
13
- *
14
- * Returns the imported `@rangojs/router/server` module so the caller
15
- * can access the RouterRegistry and manifest setters.
16
- */
17
- export declare function discoverRouters(state: DiscoveryState, rscEnv: any): Promise<any>;
@@ -1,113 +0,0 @@
1
- /**
2
- * Router discovery error aggregation.
3
- *
4
- * During host-router discovery the lazy mounts registered by a host router are
5
- * invoked to trigger each sub-app's createRouter() registration. Some mount
6
- * failures are expected in the temporary discovery server context (a sub-app may
7
- * reference runtime-only bindings), so each is invoked defensively and its error
8
- * is collected rather than thrown.
9
- *
10
- * Previously these errors were discarded with an empty `catch {}`. When a real
11
- * failure - typically a sub-app whose router module fails to import - left the
12
- * registry empty, discovery reported the misleading "No routers found" message
13
- * with no trace of the underlying cause. The collected errors are now surfaced
14
- * via the `DiscoveryError` thrown at the end of discovery (issue #499).
15
- *
16
- * Which entries to invoke is taken from the consumer's declared intent, not
17
- * inferred from the function's shape. A host route is registered either with
18
- * `.map((request) => Response)` (an inline request handler, `kind: "handler"`)
19
- * or `.lazy(() => import("./sub-app"))` (a lazy mount, `kind: "lazy"`). Only
20
- * `kind === "lazy"` entries are invoked here; inline handlers are never invoked
21
- * during discovery (they need a Request and register no routers). Because a lazy
22
- * entry is known to be a module loader, ANY failure it produces - a synchronous
23
- * throw or a rejected promise - is a genuine discovery failure and is collected.
24
- */
25
- /** An error caught (and previously swallowed) while resolving host routers. */
26
- export interface CaughtDiscoveryError {
27
- /** Human-readable description of where the error was caught. */
28
- context: string;
29
- /** The caught value (an Error or otherwise). */
30
- error: unknown;
31
- }
32
- /**
33
- * Minimal shape of a host registry entry needed for mount resolution.
34
- * Mirrors the runtime HostRouterRegistry value without coupling to its type.
35
- */
36
- interface HostRegistryRoute {
37
- handler?: unknown;
38
- kind?: string;
39
- }
40
- interface HostRegistryEntry {
41
- routes: HostRegistryRoute[];
42
- fallback?: HostRegistryRoute | null;
43
- }
44
- /**
45
- * Invoke every lazy mount in the host registry to trigger sub-app
46
- * createRouter() registration, collecting (not throwing) any failures.
47
- *
48
- * Only `.lazy()` entries are invoked; `.map()` inline request handlers are
49
- * skipped (they need a Request and register no routers). Failures are returned
50
- * rather than thrown because some mounts legitimately fail in the temporary
51
- * discovery server context; the caller decides whether the failures matter,
52
- * which is only when discovery finds no routers at all.
53
- */
54
- export declare function resolveHostRouterHandlers(hostRegistry: Map<string, HostRegistryEntry>): Promise<CaughtDiscoveryError[]>;
55
- /**
56
- * Build the terminal "No routers found" message, appending any errors caught
57
- * during host-router discovery so the real cause is visible.
58
- *
59
- * The aggregated errors are inlined into the message (in addition to being
60
- * attached via `cause` on `DiscoveryError`) so they survive every caller: the
61
- * dev/HMR paths log `err.message`, and the build path re-throws using
62
- * `err.stack`, which begins with the message. None of those callers traverse
63
- * `cause`, so the message must carry the detail. Each error includes its stack
64
- * when available.
65
- */
66
- export declare function formatNoRoutersError(entryPath: string | undefined, errors: CaughtDiscoveryError[]): string;
67
- /**
68
- * Thrown when router discovery completes without finding any routers.
69
- *
70
- * Carries the entry path and the individual failures caught while resolving
71
- * host-router lazy handlers. The formatted detail is embedded in `message` (for
72
- * callers that log `err.message`/`err.stack`) and the underlying error(s) are
73
- * also attached via `cause` (a single failure directly, multiple wrapped in an
74
- * `AggregateError`) for cause-aware tooling such as the Vite error overlay.
75
- */
76
- export declare class DiscoveryError extends Error {
77
- /** The entry file that was imported before discovery gave up. */
78
- readonly entryPath: string | undefined;
79
- /** Individual failures caught while resolving host-router handlers. */
80
- readonly caught: CaughtDiscoveryError[];
81
- constructor(entryPath: string | undefined, caught: CaughtDiscoveryError[]);
82
- }
83
- /** How the dev caller should surface a discovery failure. */
84
- export interface DiscoveryFailureReport {
85
- level: "error" | "warn";
86
- message: string;
87
- }
88
- /**
89
- * Decide how to surface a dev-boot discovery failure in the terminal.
90
- *
91
- * The bare "no routers found" case (a DiscoveryError with no caught host-handler
92
- * failures) is ambiguous. It is either:
93
- * - a genuine misconfiguration — the entry never calls createRouter(), or the
94
- * configured entry path is wrong; or
95
- * - a transient artifact of a Vite dependency re-optimization racing with boot
96
- * discovery (a module read before the entry import resolves to the
97
- * pre-optimize copy of the runner graph while createRouter() populated the
98
- * post-optimize copy — see router-discovery.ts).
99
- *
100
- * We can only tell them apart when the caller observed the dep optimizer's
101
- * `browserHash` change across the discovery attempt (`reoptimizeObserved`): a
102
- * reload-causing re-optimization landed mid-flight, so the empty read was
103
- * transient and the app self-heals per-request (handler.ts builds the trie from
104
- * the router's live urlpatterns) with discovery re-running on the next boot.
105
- *
106
- * A DiscoveryError that DOES carry caught host-handler failures already embeds
107
- * the real cause in its message, and any non-DiscoveryError is a hard failure;
108
- * both stay loud with full detail.
109
- */
110
- export declare function describeDiscoveryFailure(err: unknown, opts?: {
111
- reoptimizeObserved?: boolean;
112
- }): DiscoveryFailureReport;
113
- export {};
@@ -1,79 +0,0 @@
1
- import type { Debugger } from "../debug.js";
2
- /**
3
- * Manifest-readiness gate + rediscovery scheduler.
4
- *
5
- * Owns the four pieces of state that cooperate to keep
6
- * `s.discoveryDone` (the promise the manifest virtual module's `load()`
7
- * hook awaits) consistent across HMR fan-out:
8
- *
9
- * - **gatePending**: a Promise has been issued and not yet resolved.
10
- * Workerd's manifest virtual module load() is blocked on it.
11
- * - **inProgress**: a refresh's work callback is currently executing.
12
- * - **queued**: a refresh was attempted while one was already in
13
- * flight; the active run consumes this in its `finally` and
14
- * recurses.
15
- * - **pendingEvents**: a route-file event has been received (gate
16
- * already reset) but the corresponding refresh's work hasn't started
17
- * yet — i.e. the debounce hasn't fired. Set in `noteRouteEvent`,
18
- * cleared at the start of each refresh cycle. Refresh's finally MUST
19
- * hold the gate if this is true even when `queued` is false,
20
- * otherwise an event whose debounce fires AFTER the active refresh
21
- * completes (the "tail-race" window) would observe a resolved gate.
22
- *
23
- * The HMR-event flow (cloudflare-stress repro):
24
- *
25
- * t=0 Touch 1 → noteRouteEvent → pendingEvents=true, beginGate
26
- * (gate1 pending)
27
- * → debounce 100ms
28
- * t=100 runRefreshCycle(work) → clear pendingEvents, work starts
29
- * t=750 Touch 2 → noteRouteEvent → pendingEvents=true (no-op gate)
30
- * → debounce fires at t=850
31
- * t=800 refresh A's finally → queued=false, pendingEvents=true
32
- * → HOLD gate (don't resolve)
33
- * t=850 runRefreshCycle (debounce) → clear pendingEvents, work starts
34
- * t=1500 refresh B's finally → queued=false, pendingEvents=false
35
- * → resolveGate (gate1 resolves)
36
- *
37
- * @internal Exported only for unit tests.
38
- */
39
- export interface DiscoveryGate {
40
- /**
41
- * Reset the gate to a fresh pending Promise via `s.discoveryDone`.
42
- * No-op when a gate is already pending — file watchers can fire
43
- * multiple events for one save, and replacing the resolver would
44
- * orphan the original promise (workerd's manifest load() would hang).
45
- */
46
- beginGate(): void;
47
- /**
48
- * Resolve the current pending gate. No-op when no gate is pending.
49
- * Called at the tail of the last refresh cycle in a burst.
50
- */
51
- resolveGate(): void;
52
- /**
53
- * Record that a route-file event has arrived. Sets `pendingEvents`
54
- * and begins the gate. Idempotent for both flags.
55
- */
56
- noteRouteEvent(): void;
57
- /**
58
- * Run one refresh cycle, managing queue + pending state around it.
59
- * If a cycle is already in flight, sets `queued=true` and returns.
60
- * Otherwise clears `pendingEvents`, runs `work`, and in `finally`:
61
- *
62
- * - queued → recurse, gate stays pending
63
- * - pendingEvents → hold gate (next debounced cycle resolves)
64
- * - neither → resolveGate
65
- */
66
- runRefreshCycle(work: () => Promise<void>): Promise<void>;
67
- /** Snapshot of internal state. Test-only. */
68
- readonly state: () => Readonly<{
69
- gatePending: boolean;
70
- inProgress: boolean;
71
- queued: boolean;
72
- pendingEvents: boolean;
73
- }>;
74
- }
75
- /** State container the gate writes `discoveryDone` into. */
76
- export interface GateOwner {
77
- discoveryDone: Promise<void> | null | undefined;
78
- }
79
- export declare function createDiscoveryGate(s: GateOwner, debug?: Debugger): DiscoveryGate;
@@ -1,24 +0,0 @@
1
- /**
2
- * Prerender Collection
3
- *
4
- * Expands prerender routes into concrete URLs and renders them at build
5
- * time. Also handles Static handler rendering for segment-level static
6
- * generation.
7
- */
8
- import type { DiscoveryState } from "./state.js";
9
- /**
10
- * Expand prerender routes into concrete URLs and render them via the
11
- * RSC runner. Stages asset modules and stores key-to-file entries in
12
- * state.prerenderManifestEntries.
13
- */
14
- export declare function expandPrerenderRoutes(state: DiscoveryState, rscEnv: any, registry: Map<string, any>, allManifests: Array<{
15
- id: string;
16
- manifest: any;
17
- }>): Promise<void>;
18
- /**
19
- * Render Static handlers at build time. Each Static handler is called
20
- * with a synthetic BuildContext and its output is RSC-serialized.
21
- * Stages asset modules and stores handlerId-to-file entries in
22
- * state.staticManifestEntries.
23
- */
24
- export declare function renderStaticHandlers(state: DiscoveryState, rscEnv: any, registry: Map<string, any>): Promise<void>;
@@ -1,32 +0,0 @@
1
- /**
2
- * Route Types Writer
3
- *
4
- * Generates and writes TypeScript route type files (named-routes.gen.ts)
5
- * from discovered router manifests and static source parsing.
6
- */
7
- import type { DiscoveryState } from "./state.js";
8
- /**
9
- * Write combined route types for all router files.
10
- * Only writes when content has changed to avoid triggering HMR loops.
11
- */
12
- export declare function writeCombinedRouteTypesWithTracking(state: DiscoveryState, opts?: {
13
- preserveIfLarger?: boolean;
14
- }): void;
15
- /**
16
- * Write per-router route types files from runtime discovery data.
17
- */
18
- export declare function writeRouteTypesFiles(state: DiscoveryState): void;
19
- /**
20
- * Supplement gen files with route groups from runtime manifests that the
21
- * static parser cannot resolve (factory calls like createDocsPatterns()).
22
- * Only adds groups whose dot-prefix (e.g. "docs.") is entirely absent
23
- * from the static output. Groups partially visible to the static parser
24
- * are left alone so renames/removals propagate immediately without
25
- * requiring a server restart.
26
- *
27
- * The runtime manifest (cachedManifest / perRouterManifestMap) is updated
28
- * automatically: the virtual:rsc-router/routes-manifest module imports the
29
- * gen file, so when we write new content here, Vite's HMR invalidates the
30
- * virtual module and re-evaluates it on the next request.
31
- */
32
- export declare function supplementGenFilesWithRuntimeRoutes(state: DiscoveryState): void;
@@ -1,22 +0,0 @@
1
- /**
2
- * Self-Generated File Tracking
3
- *
4
- * Tracks gen files recently written by the discovery plugin so the
5
- * file watcher can distinguish self-triggered change events from
6
- * manual edits.
7
- */
8
- import type { DiscoveryState } from "./state.js";
9
- export declare function markSelfGenWrite(state: DiscoveryState, filePath: string, content: string): void;
10
- export declare function consumeSelfGenWrite(state: DiscoveryState, filePath: string): boolean;
11
- /**
12
- * Non-consuming variant. Used by the `handleHotUpdate` plugin hook to
13
- * suppress vite's HMR cascade for our own gen-file writes WITHOUT
14
- * consuming the entry — `consumeSelfGenWrite` (called later from the
15
- * chokidar `change` handler in `handleRouteFileChange`) still needs to
16
- * see and consume the same entry to short-circuit our regen path.
17
- *
18
- * Both hooks fire for the same file change event:
19
- * - `handleHotUpdate` runs first (vite's HMR pipeline).
20
- * - chokidar `change` callback runs after (filesystem watcher).
21
- */
22
- export declare function peekSelfGenWrite(state: DiscoveryState, filePath: string): boolean;
@@ -1,40 +0,0 @@
1
- /**
2
- * Post-build PPR shell capture phase (producer B, issue #699).
3
- *
4
- * Runs from the buildApp post hook, AFTER every environment bundle is written
5
- * — the shell prelude embeds built client asset URLs (the bootstrap entry),
6
- * which do not exist during buildStart discovery. Reuses the buildStart temp
7
- * server kept alive on DiscoveryState (its realm already has tries installed
8
- * and routers registered), seeds an in-realm prerender store from the
9
- * retained phase-A Flight payloads, and drives the shared capture core
10
- * (prerender/build-shell-capture.ts) once per Prerender+ppr candidate. The
11
- * SSR half is composed from the temp server's SSR environment runner with
12
- * the BUILT client entry as bootstrap.
13
- *
14
- * Stored entries are staged as __ps-*.js asset modules under the RSC out
15
- * dir with a lazy __shell-manifest.js (mirroring the prerender manifest);
16
- * the runtime read-through (rsc/shell-build-manifest.ts) serves them on a
17
- * shell-store MISS. A candidate whose capture is refused, produces no shell,
18
- * or never consulted the prerender store is SKIPPED loudly — the route keeps
19
- * producer A (runtime capture) semantics, never a wrong-lane bake.
20
- */
21
- import type { DiscoveryState } from "./state.js";
22
- /**
23
- * Minimal builder surface the phase reads: resolved plugins (for the main
24
- * build's version plugin) and per-environment outDirs.
25
- */
26
- interface BuilderLike {
27
- config?: {
28
- base?: string;
29
- plugins?: readonly unknown[];
30
- };
31
- environments?: Record<string, {
32
- config?: {
33
- build?: {
34
- outDir?: string;
35
- };
36
- };
37
- } | undefined>;
38
- }
39
- export declare function runShellPrerenderPhase(s: DiscoveryState, builder: BuilderLike | undefined): Promise<void>;
40
- export {};
@@ -1,162 +0,0 @@
1
- /**
2
- * Discovery State
3
- *
4
- * Shared mutable state for the router discovery plugin.
5
- * Created once by createRouterDiscoveryPlugin() and passed
6
- * to all extracted helper functions.
7
- */
8
- import type { ScanFilter } from "../../build/generate-route-types.js";
9
- export declare const VIRTUAL_ROUTES_MANIFEST_ID = "virtual:rsc-router/routes-manifest";
10
- export interface PluginOptions {
11
- enableBuildPrerender?: boolean;
12
- staticRouteTypesGeneration?: boolean;
13
- routerPathRef?: {
14
- path?: string;
15
- };
16
- /** Build-time env option from rango() config. */
17
- buildEnv?: import("../plugin-types.js").BuildEnvOption;
18
- /** Deployment preset (needed for buildEnv "auto" resolution). */
19
- preset?: "node" | "cloudflare" | "vercel";
20
- /**
21
- * Route-discovery scan filter (glob include/exclude) from rango() config.
22
- * Compiled into `DiscoveryState.scanFilter` once `projectRoot` is known.
23
- */
24
- discovery?: {
25
- include?: string[];
26
- exclude?: string[];
27
- };
28
- /**
29
- * What to do when a Prerender/Static render throws at build time, from
30
- * rango({ prerender: { onError } }). "fail" (default) fails the build; "warn"
31
- * logs and skips baking the URL. See {@link import("../plugin-types.js").RangoOptions}.
32
- */
33
- prerenderOnError?: "fail" | "warn";
34
- /**
35
- * Shared context the built-in clientChunks strategy reads. Discovery populates
36
- * it (registered fallback hashes + single-router name) before the client build
37
- * invokes the strategy. Present only when the built-in strategy is active
38
- * (`clientChunks: true`/default); undefined for `false` or a custom function.
39
- */
40
- clientChunkCtx?: import("../utils/client-chunks.js").ClientChunkContext;
41
- /**
42
- * rango({ headScripts }) — threaded so the dev temp server can serve the
43
- * REAL virtual SSR entry (getVirtualEntrySSR) for the on-demand shell
44
- * capture endpoint with the app's configured head-script strategy.
45
- */
46
- headScripts?: import("../plugin-types.js").HeadScriptsOption;
47
- }
48
- export interface PrecomputedEntry {
49
- staticPrefix: string;
50
- routes: Record<string, string>;
51
- }
52
- export interface ChunkInfo {
53
- fileName: string;
54
- exports: Array<{
55
- name: string;
56
- handlerId: string;
57
- passthrough: boolean;
58
- }>;
59
- }
60
- export interface PerRouterManifestEntry {
61
- id: string;
62
- routeManifest: Record<string, string>;
63
- routeSearchSchemas?: Record<string, Record<string, string>>;
64
- sourceFile?: string;
65
- factoryOnlyPrefixes?: Set<string>;
66
- }
67
- /**
68
- * One Prerender+ppr URL the build must additionally produce a PPR shell entry
69
- * for (issue #699 producer B). `ppr` is the route's raw path option, already
70
- * filtered to truthy by the collector.
71
- */
72
- export interface ShellPrerenderCandidate {
73
- urlPath: string;
74
- routeName: string;
75
- paramHash: string;
76
- ppr: true | {
77
- ttl?: number;
78
- swr?: number;
79
- tags?: string[];
80
- captureTimeout?: number;
81
- };
82
- }
83
- export interface DiscoveryState {
84
- resolvedEntryPath: string | undefined;
85
- projectRoot: string;
86
- isBuildMode: boolean;
87
- userResolveAlias: any;
88
- /**
89
- * Data-only slice of the user's resolved config (resolve.* incl. native
90
- * tsconfigPaths, define, oxc) mirrored into the discovery temp server so it
91
- * resolves and transforms modules the same way the real environment does.
92
- * See `utils/forward-user-plugins.ts`.
93
- */
94
- userRunnerConfig: import("../utils/forward-user-plugins.js").ForwardedRunnerConfig | undefined;
95
- /**
96
- * User resolution plugins (resolveId/load), stripped to their resolution
97
- * surface, forwarded into the discovery temp server. Lets third-party
98
- * resolvers such as vite-tsconfig-paths participate in discovery.
99
- */
100
- userResolvePlugins: import("vite").Plugin[];
101
- scanFilter: ScanFilter | undefined;
102
- cachedRouterFiles: string[] | undefined;
103
- opts: PluginOptions | undefined;
104
- mergedRouteManifest: Record<string, string> | null;
105
- perRouterManifests: PerRouterManifestEntry[];
106
- mergedPrecomputedEntries: PrecomputedEntry[] | null;
107
- mergedRouteTrie: any;
108
- perRouterTrieMap: Map<string, any>;
109
- perRouterPrecomputedMap: Map<string, PrecomputedEntry[]>;
110
- perRouterManifestDataMap: Map<string, Record<string, string>>;
111
- prerenderManifestEntries: Record<string, string> | null;
112
- staticManifestEntries: Record<string, string> | null;
113
- /**
114
- * Build-time PPR shell candidates: prerender routes that ALSO declare the
115
- * `ppr` path option (issue #699 producer B). Collected by
116
- * expandPrerenderRoutes; consumed by the post-build shell capture phase.
117
- */
118
- shellCandidates: ShellPrerenderCandidate[] | null;
119
- /**
120
- * Raw prerender payload JSON strings keyed by manifest key, retained in
121
- * memory so the shell capture phase can seed an in-realm prerender store
122
- * without re-reading staged asset files.
123
- */
124
- prerenderPayloadValues: Map<string, string> | null;
125
- /**
126
- * The buildStart temp RSC server, kept alive past discovery when shell
127
- * candidates exist: the shell capture phase (buildApp post) reuses its
128
- * realm — tries installed, registry populated — after the client build has
129
- * produced the asset URLs the prelude must embed. Deferred as a PAIR with
130
- * the buildEnv; closed by the buildApp post hook's finally (success) or
131
- * buildEnd (aborted build).
132
- */
133
- shellPhaseTempServer: import("vite").ViteDevServer | null;
134
- handlerChunkInfoMap: Map<string, ChunkInfo>;
135
- staticHandlerChunkInfoMap: Map<string, ChunkInfo>;
136
- rscEntryFileName: string | null;
137
- resolvedPrerenderModules: Map<string, string[]> | undefined;
138
- resolvedStaticModules: Map<string, string[]> | undefined;
139
- discoveryDone: Promise<void> | null;
140
- devServerOrigin: string | null;
141
- devServer: any;
142
- selfWrittenGenFiles: Map<string, {
143
- at: number;
144
- hash: string;
145
- }>;
146
- SELF_WRITE_WINDOW_MS: number;
147
- /** Resolved build-time env bindings (set during buildStart/configureServer). */
148
- resolvedBuildEnv?: Record<string, unknown>;
149
- /** Cleanup function for build-time env resources (e.g., miniflare). */
150
- buildEnvDispose?: (() => Promise<void> | void) | null;
151
- /**
152
- * Set when the most recent HMR re-discovery threw. Cleared on the next
153
- * successful discovery. Surfaced via debug logs so we can detect "manifest
154
- * frozen at last-good after error → user fix in non-route file → no
155
- * rediscovery trigger" scenarios.
156
- */
157
- lastDiscoveryError?: {
158
- message: string;
159
- at: number;
160
- } | null;
161
- }
162
- export declare function createDiscoveryState(entryPath: string | undefined, opts: PluginOptions | undefined): DiscoveryState;
@@ -1,15 +0,0 @@
1
- /**
2
- * Virtual Module Code Generation
3
- *
4
- * Generates the code for virtual:rsc-router/routes-manifest and
5
- * per-router virtual modules used by the load() hook.
6
- */
7
- import type { DiscoveryState } from "./state.js";
8
- /**
9
- * Generate the code for the main virtual:rsc-router/routes-manifest module.
10
- */
11
- export declare function generateRoutesManifestModule(state: DiscoveryState): string;
12
- /**
13
- * Generate the code for a per-router virtual module.
14
- */
15
- export declare function generatePerRouterModule(state: DiscoveryState, routerId: string): string;