@rangojs/router 0.0.0-experimental.106 → 0.0.0-experimental.108

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 (881) hide show
  1. package/README.md +3 -3
  2. package/dist/__internal.d.ts +83 -0
  3. package/dist/__internal.d.ts.map +1 -0
  4. package/dist/__internal.js +19 -0
  5. package/dist/__internal.js.map +1 -0
  6. package/dist/__mocks__/version.d.ts +7 -0
  7. package/dist/__mocks__/version.d.ts.map +1 -0
  8. package/dist/__mocks__/version.js +7 -0
  9. package/dist/__mocks__/version.js.map +1 -0
  10. package/dist/__tests__/client-href.test.d.ts +2 -0
  11. package/dist/__tests__/client-href.test.d.ts.map +1 -0
  12. package/dist/__tests__/client-href.test.js +74 -0
  13. package/dist/__tests__/client-href.test.js.map +1 -0
  14. package/dist/__tests__/component-utils.test.d.ts +2 -0
  15. package/dist/__tests__/component-utils.test.d.ts.map +1 -0
  16. package/dist/__tests__/component-utils.test.js +51 -0
  17. package/dist/__tests__/component-utils.test.js.map +1 -0
  18. package/dist/__tests__/event-controller.test.d.ts +2 -0
  19. package/dist/__tests__/event-controller.test.d.ts.map +1 -0
  20. package/dist/__tests__/event-controller.test.js +538 -0
  21. package/dist/__tests__/event-controller.test.js.map +1 -0
  22. package/dist/__tests__/helpers/route-tree.d.ts +118 -0
  23. package/dist/__tests__/helpers/route-tree.d.ts.map +1 -0
  24. package/dist/__tests__/helpers/route-tree.js +374 -0
  25. package/dist/__tests__/helpers/route-tree.js.map +1 -0
  26. package/dist/__tests__/match-result.test.d.ts +2 -0
  27. package/dist/__tests__/match-result.test.d.ts.map +1 -0
  28. package/dist/__tests__/match-result.test.js +154 -0
  29. package/dist/__tests__/match-result.test.js.map +1 -0
  30. package/dist/__tests__/navigation-store.test.d.ts +2 -0
  31. package/dist/__tests__/navigation-store.test.d.ts.map +1 -0
  32. package/dist/__tests__/navigation-store.test.js +440 -0
  33. package/dist/__tests__/navigation-store.test.js.map +1 -0
  34. package/dist/__tests__/partial-update.test.d.ts +2 -0
  35. package/dist/__tests__/partial-update.test.d.ts.map +1 -0
  36. package/dist/__tests__/partial-update.test.js +1009 -0
  37. package/dist/__tests__/partial-update.test.js.map +1 -0
  38. package/dist/__tests__/reverse-types.test.d.ts +8 -0
  39. package/dist/__tests__/reverse-types.test.d.ts.map +1 -0
  40. package/dist/__tests__/reverse-types.test.js +656 -0
  41. package/dist/__tests__/reverse-types.test.js.map +1 -0
  42. package/dist/__tests__/route-definition.test.d.ts +2 -0
  43. package/dist/__tests__/route-definition.test.d.ts.map +1 -0
  44. package/dist/__tests__/route-definition.test.js +55 -0
  45. package/dist/__tests__/route-definition.test.js.map +1 -0
  46. package/dist/__tests__/router-helpers.test.d.ts +2 -0
  47. package/dist/__tests__/router-helpers.test.d.ts.map +1 -0
  48. package/dist/__tests__/router-helpers.test.js +377 -0
  49. package/dist/__tests__/router-helpers.test.js.map +1 -0
  50. package/dist/__tests__/router-integration-2.test.d.ts +2 -0
  51. package/dist/__tests__/router-integration-2.test.d.ts.map +1 -0
  52. package/dist/__tests__/router-integration-2.test.js +426 -0
  53. package/dist/__tests__/router-integration-2.test.js.map +1 -0
  54. package/dist/__tests__/router-integration.test.d.ts +2 -0
  55. package/dist/__tests__/router-integration.test.d.ts.map +1 -0
  56. package/dist/__tests__/router-integration.test.js +1051 -0
  57. package/dist/__tests__/router-integration.test.js.map +1 -0
  58. package/dist/__tests__/search-params.test.d.ts +5 -0
  59. package/dist/__tests__/search-params.test.d.ts.map +1 -0
  60. package/dist/__tests__/search-params.test.js +306 -0
  61. package/dist/__tests__/search-params.test.js.map +1 -0
  62. package/dist/__tests__/segment-system.test.d.ts +2 -0
  63. package/dist/__tests__/segment-system.test.d.ts.map +1 -0
  64. package/dist/__tests__/segment-system.test.js +627 -0
  65. package/dist/__tests__/segment-system.test.js.map +1 -0
  66. package/dist/__tests__/static-handler-types.test.d.ts +8 -0
  67. package/dist/__tests__/static-handler-types.test.d.ts.map +1 -0
  68. package/dist/__tests__/static-handler-types.test.js +63 -0
  69. package/dist/__tests__/static-handler-types.test.js.map +1 -0
  70. package/dist/__tests__/urls.test.d.ts +2 -0
  71. package/dist/__tests__/urls.test.d.ts.map +1 -0
  72. package/dist/__tests__/urls.test.js +421 -0
  73. package/dist/__tests__/urls.test.js.map +1 -0
  74. package/dist/__tests__/use-mount.test.d.ts +2 -0
  75. package/dist/__tests__/use-mount.test.d.ts.map +1 -0
  76. package/dist/__tests__/use-mount.test.js +35 -0
  77. package/dist/__tests__/use-mount.test.js.map +1 -0
  78. package/dist/bin/rango.d.ts +2 -0
  79. package/dist/bin/rango.d.ts.map +1 -0
  80. package/dist/bin/rango.js +16 -16
  81. package/dist/bin/rango.js.map +1 -0
  82. package/dist/browser/event-controller.d.ts +191 -0
  83. package/dist/browser/event-controller.d.ts.map +1 -0
  84. package/dist/browser/event-controller.js +559 -0
  85. package/dist/browser/event-controller.js.map +1 -0
  86. package/dist/browser/index.d.ts +2 -0
  87. package/dist/browser/index.d.ts.map +1 -0
  88. package/dist/browser/index.js +14 -0
  89. package/dist/browser/index.js.map +1 -0
  90. package/dist/browser/link-interceptor.d.ts +38 -0
  91. package/dist/browser/link-interceptor.d.ts.map +1 -0
  92. package/dist/browser/link-interceptor.js +99 -0
  93. package/dist/browser/link-interceptor.js.map +1 -0
  94. package/dist/browser/logging.d.ts +10 -0
  95. package/dist/browser/logging.d.ts.map +1 -0
  96. package/dist/browser/logging.js +29 -0
  97. package/dist/browser/logging.js.map +1 -0
  98. package/dist/browser/lru-cache.d.ts +17 -0
  99. package/dist/browser/lru-cache.d.ts.map +1 -0
  100. package/dist/browser/lru-cache.js +50 -0
  101. package/dist/browser/lru-cache.js.map +1 -0
  102. package/dist/browser/merge-segment-loaders.d.ts +39 -0
  103. package/dist/browser/merge-segment-loaders.d.ts.map +1 -0
  104. package/dist/browser/merge-segment-loaders.js +102 -0
  105. package/dist/browser/merge-segment-loaders.js.map +1 -0
  106. package/dist/browser/navigation-bridge.d.ts +102 -0
  107. package/dist/browser/navigation-bridge.d.ts.map +1 -0
  108. package/dist/browser/navigation-bridge.js +708 -0
  109. package/dist/browser/navigation-bridge.js.map +1 -0
  110. package/dist/browser/navigation-client.d.ts +25 -0
  111. package/dist/browser/navigation-client.d.ts.map +1 -0
  112. package/dist/browser/navigation-client.js +157 -0
  113. package/dist/browser/navigation-client.js.map +1 -0
  114. package/dist/browser/navigation-store.d.ts +101 -0
  115. package/dist/browser/navigation-store.d.ts.map +1 -0
  116. package/dist/browser/navigation-store.js +625 -0
  117. package/dist/browser/navigation-store.js.map +1 -0
  118. package/dist/browser/partial-update.d.ts +75 -0
  119. package/dist/browser/partial-update.d.ts.map +1 -0
  120. package/dist/browser/partial-update.js +426 -0
  121. package/dist/browser/partial-update.js.map +1 -0
  122. package/dist/browser/react/Link.d.ts +86 -0
  123. package/dist/browser/react/Link.d.ts.map +1 -0
  124. package/dist/browser/react/Link.js +128 -0
  125. package/dist/browser/react/Link.js.map +1 -0
  126. package/dist/browser/react/NavigationProvider.d.ts +63 -0
  127. package/dist/browser/react/NavigationProvider.d.ts.map +1 -0
  128. package/dist/browser/react/NavigationProvider.js +216 -0
  129. package/dist/browser/react/NavigationProvider.js.map +1 -0
  130. package/dist/browser/react/ScrollRestoration.d.ts +75 -0
  131. package/dist/browser/react/ScrollRestoration.d.ts.map +1 -0
  132. package/dist/browser/react/ScrollRestoration.js +57 -0
  133. package/dist/browser/react/ScrollRestoration.js.map +1 -0
  134. package/dist/browser/react/context.d.ts +46 -0
  135. package/dist/browser/react/context.d.ts.map +1 -0
  136. package/dist/browser/react/context.js +10 -0
  137. package/dist/browser/react/context.js.map +1 -0
  138. package/dist/browser/react/index.d.ts +11 -0
  139. package/dist/browser/react/index.d.ts.map +1 -0
  140. package/dist/browser/react/index.js +22 -0
  141. package/dist/browser/react/index.js.map +1 -0
  142. package/dist/browser/react/location-state-shared.d.ts +63 -0
  143. package/dist/browser/react/location-state-shared.d.ts.map +1 -0
  144. package/dist/browser/react/location-state-shared.js +81 -0
  145. package/dist/browser/react/location-state-shared.js.map +1 -0
  146. package/dist/browser/react/location-state.d.ts +23 -0
  147. package/dist/browser/react/location-state.d.ts.map +1 -0
  148. package/dist/browser/react/location-state.js +29 -0
  149. package/dist/browser/react/location-state.js.map +1 -0
  150. package/dist/browser/react/mount-context.d.ts +24 -0
  151. package/dist/browser/react/mount-context.d.ts.map +1 -0
  152. package/dist/browser/react/mount-context.js +24 -0
  153. package/dist/browser/react/mount-context.js.map +1 -0
  154. package/dist/browser/react/use-action.d.ts +64 -0
  155. package/dist/browser/react/use-action.d.ts.map +1 -0
  156. package/dist/browser/react/use-action.js +134 -0
  157. package/dist/browser/react/use-action.js.map +1 -0
  158. package/dist/browser/react/use-client-cache.d.ts +41 -0
  159. package/dist/browser/react/use-client-cache.d.ts.map +1 -0
  160. package/dist/browser/react/use-client-cache.js +39 -0
  161. package/dist/browser/react/use-client-cache.js.map +1 -0
  162. package/dist/browser/react/use-handle.d.ts +31 -0
  163. package/dist/browser/react/use-handle.d.ts.map +1 -0
  164. package/dist/browser/react/use-handle.js +144 -0
  165. package/dist/browser/react/use-handle.js.map +1 -0
  166. package/dist/browser/react/use-href.d.ts +33 -0
  167. package/dist/browser/react/use-href.d.ts.map +1 -0
  168. package/dist/browser/react/use-href.js +39 -0
  169. package/dist/browser/react/use-href.js.map +1 -0
  170. package/dist/browser/react/use-link-status.d.ts +37 -0
  171. package/dist/browser/react/use-link-status.d.ts.map +1 -0
  172. package/dist/browser/react/use-link-status.js +99 -0
  173. package/dist/browser/react/use-link-status.js.map +1 -0
  174. package/dist/browser/react/use-mount.d.ts +25 -0
  175. package/dist/browser/react/use-mount.d.ts.map +1 -0
  176. package/dist/browser/react/use-mount.js +30 -0
  177. package/dist/browser/react/use-mount.js.map +1 -0
  178. package/dist/browser/react/use-navigation.d.ts +27 -0
  179. package/dist/browser/react/use-navigation.d.ts.map +1 -0
  180. package/dist/browser/react/use-navigation.js +87 -0
  181. package/dist/browser/react/use-navigation.js.map +1 -0
  182. package/dist/browser/react/use-segments.d.ts +38 -0
  183. package/dist/browser/react/use-segments.d.ts.map +1 -0
  184. package/dist/browser/react/use-segments.js +130 -0
  185. package/dist/browser/react/use-segments.js.map +1 -0
  186. package/dist/browser/request-controller.d.ts +26 -0
  187. package/dist/browser/request-controller.d.ts.map +1 -0
  188. package/dist/browser/request-controller.js +147 -0
  189. package/dist/browser/request-controller.js.map +1 -0
  190. package/dist/browser/rsc-router.d.ts +129 -0
  191. package/dist/browser/rsc-router.d.ts.map +1 -0
  192. package/dist/browser/rsc-router.js +195 -0
  193. package/dist/browser/rsc-router.js.map +1 -0
  194. package/dist/browser/scroll-restoration.d.ts +93 -0
  195. package/dist/browser/scroll-restoration.d.ts.map +1 -0
  196. package/dist/browser/scroll-restoration.js +321 -0
  197. package/dist/browser/scroll-restoration.js.map +1 -0
  198. package/dist/browser/segment-structure-assert.d.ts +17 -0
  199. package/dist/browser/segment-structure-assert.d.ts.map +1 -0
  200. package/dist/browser/segment-structure-assert.js +59 -0
  201. package/dist/browser/segment-structure-assert.js.map +1 -0
  202. package/dist/browser/server-action-bridge.d.ts +26 -0
  203. package/dist/browser/server-action-bridge.d.ts.map +1 -0
  204. package/dist/browser/server-action-bridge.js +668 -0
  205. package/dist/browser/server-action-bridge.js.map +1 -0
  206. package/dist/browser/shallow.d.ts +12 -0
  207. package/dist/browser/shallow.d.ts.map +1 -0
  208. package/dist/browser/shallow.js +34 -0
  209. package/dist/browser/shallow.js.map +1 -0
  210. package/dist/browser/types.d.ts +369 -0
  211. package/dist/browser/types.d.ts.map +1 -0
  212. package/dist/browser/types.js +2 -0
  213. package/dist/browser/types.js.map +1 -0
  214. package/dist/build/__tests__/generate-cli.test.d.ts +2 -0
  215. package/dist/build/__tests__/generate-cli.test.d.ts.map +1 -0
  216. package/dist/build/__tests__/generate-cli.test.js +237 -0
  217. package/dist/build/__tests__/generate-cli.test.js.map +1 -0
  218. package/dist/build/__tests__/generate-manifest.test.d.ts +2 -0
  219. package/dist/build/__tests__/generate-manifest.test.d.ts.map +1 -0
  220. package/dist/build/__tests__/generate-manifest.test.js +119 -0
  221. package/dist/build/__tests__/generate-manifest.test.js.map +1 -0
  222. package/dist/build/__tests__/generate-route-types.test.d.ts +2 -0
  223. package/dist/build/__tests__/generate-route-types.test.d.ts.map +1 -0
  224. package/dist/build/__tests__/generate-route-types.test.js +620 -0
  225. package/dist/build/__tests__/generate-route-types.test.js.map +1 -0
  226. package/dist/build/__tests__/per-router-manifest.test.d.ts +2 -0
  227. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +1 -0
  228. package/dist/build/__tests__/per-router-manifest.test.js +308 -0
  229. package/dist/build/__tests__/per-router-manifest.test.js.map +1 -0
  230. package/dist/build/generate-manifest.d.ts +81 -0
  231. package/dist/build/generate-manifest.d.ts.map +1 -0
  232. package/dist/build/generate-manifest.js +276 -0
  233. package/dist/build/generate-manifest.js.map +1 -0
  234. package/dist/build/generate-route-types.d.ts +115 -0
  235. package/dist/build/generate-route-types.d.ts.map +1 -0
  236. package/dist/build/generate-route-types.js +740 -0
  237. package/dist/build/generate-route-types.js.map +1 -0
  238. package/dist/build/index.d.ts +21 -0
  239. package/dist/build/index.d.ts.map +1 -0
  240. package/dist/build/index.js +21 -0
  241. package/dist/build/index.js.map +1 -0
  242. package/dist/build/route-trie.d.ts +71 -0
  243. package/dist/build/route-trie.d.ts.map +1 -0
  244. package/dist/build/route-trie.js +175 -0
  245. package/dist/build/route-trie.js.map +1 -0
  246. package/dist/cache/__tests__/cache-scope.test.d.ts +2 -0
  247. package/dist/cache/__tests__/cache-scope.test.d.ts.map +1 -0
  248. package/dist/cache/__tests__/cache-scope.test.js +208 -0
  249. package/dist/cache/__tests__/cache-scope.test.js.map +1 -0
  250. package/dist/cache/__tests__/document-cache.test.d.ts +2 -0
  251. package/dist/cache/__tests__/document-cache.test.d.ts.map +1 -0
  252. package/dist/cache/__tests__/document-cache.test.js +345 -0
  253. package/dist/cache/__tests__/document-cache.test.js.map +1 -0
  254. package/dist/cache/__tests__/memory-segment-store.test.d.ts +2 -0
  255. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +1 -0
  256. package/dist/cache/__tests__/memory-segment-store.test.js +425 -0
  257. package/dist/cache/__tests__/memory-segment-store.test.js.map +1 -0
  258. package/dist/cache/__tests__/memory-store.test.d.ts +2 -0
  259. package/dist/cache/__tests__/memory-store.test.d.ts.map +1 -0
  260. package/dist/cache/__tests__/memory-store.test.js +367 -0
  261. package/dist/cache/__tests__/memory-store.test.js.map +1 -0
  262. package/dist/cache/cache-scope.d.ts +102 -0
  263. package/dist/cache/cache-scope.d.ts.map +1 -0
  264. package/dist/cache/cache-scope.js +440 -0
  265. package/dist/cache/cache-scope.js.map +1 -0
  266. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +2 -0
  267. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +1 -0
  268. package/dist/cache/cf/__tests__/cf-cache-store.test.js +330 -0
  269. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +1 -0
  270. package/dist/cache/cf/cf-cache-store.d.ts +165 -0
  271. package/dist/cache/cf/cf-cache-store.d.ts.map +1 -0
  272. package/dist/cache/cf/cf-cache-store.js +242 -0
  273. package/dist/cache/cf/cf-cache-store.js.map +1 -0
  274. package/dist/cache/cf/index.d.ts +14 -0
  275. package/dist/cache/cf/index.d.ts.map +1 -0
  276. package/dist/cache/cf/index.js +17 -0
  277. package/dist/cache/cf/index.js.map +1 -0
  278. package/dist/cache/document-cache.d.ts +64 -0
  279. package/dist/cache/document-cache.d.ts.map +1 -0
  280. package/dist/cache/document-cache.js +228 -0
  281. package/dist/cache/document-cache.js.map +1 -0
  282. package/dist/cache/index.d.ts +19 -0
  283. package/dist/cache/index.d.ts.map +1 -0
  284. package/dist/cache/index.js +21 -0
  285. package/dist/cache/index.js.map +1 -0
  286. package/dist/cache/memory-segment-store.d.ts +110 -0
  287. package/dist/cache/memory-segment-store.d.ts.map +1 -0
  288. package/dist/cache/memory-segment-store.js +117 -0
  289. package/dist/cache/memory-segment-store.js.map +1 -0
  290. package/dist/cache/memory-store.d.ts +41 -0
  291. package/dist/cache/memory-store.d.ts.map +1 -0
  292. package/dist/cache/memory-store.js +191 -0
  293. package/dist/cache/memory-store.js.map +1 -0
  294. package/dist/cache/types.d.ts +317 -0
  295. package/dist/cache/types.d.ts.map +1 -0
  296. package/dist/cache/types.js +12 -0
  297. package/dist/cache/types.js.map +1 -0
  298. package/dist/client.d.ts +248 -0
  299. package/dist/client.d.ts.map +1 -0
  300. package/dist/client.js +367 -0
  301. package/dist/client.js.map +1 -0
  302. package/dist/client.rsc.d.ts +26 -0
  303. package/dist/client.rsc.d.ts.map +1 -0
  304. package/dist/client.rsc.js +46 -0
  305. package/dist/client.rsc.js.map +1 -0
  306. package/dist/component-utils.d.ts +36 -0
  307. package/dist/component-utils.d.ts.map +1 -0
  308. package/dist/component-utils.js +61 -0
  309. package/dist/component-utils.js.map +1 -0
  310. package/dist/components/DefaultDocument.d.ts +13 -0
  311. package/dist/components/DefaultDocument.d.ts.map +1 -0
  312. package/dist/components/DefaultDocument.js +15 -0
  313. package/dist/components/DefaultDocument.js.map +1 -0
  314. package/dist/debug.d.ts +58 -0
  315. package/dist/debug.d.ts.map +1 -0
  316. package/dist/debug.js +157 -0
  317. package/dist/debug.js.map +1 -0
  318. package/dist/default-error-boundary.d.ts +11 -0
  319. package/dist/default-error-boundary.d.ts.map +1 -0
  320. package/dist/default-error-boundary.js +45 -0
  321. package/dist/default-error-boundary.js.map +1 -0
  322. package/dist/deps/browser.d.ts +2 -0
  323. package/dist/deps/browser.d.ts.map +1 -0
  324. package/dist/deps/browser.js +3 -0
  325. package/dist/deps/browser.js.map +1 -0
  326. package/dist/deps/html-stream-client.d.ts +2 -0
  327. package/dist/deps/html-stream-client.d.ts.map +1 -0
  328. package/dist/deps/html-stream-client.js +3 -0
  329. package/dist/deps/html-stream-client.js.map +1 -0
  330. package/dist/deps/html-stream-server.d.ts +2 -0
  331. package/dist/deps/html-stream-server.d.ts.map +1 -0
  332. package/dist/deps/html-stream-server.js +3 -0
  333. package/dist/deps/html-stream-server.js.map +1 -0
  334. package/dist/deps/rsc.d.ts +2 -0
  335. package/dist/deps/rsc.d.ts.map +1 -0
  336. package/dist/deps/rsc.js +4 -0
  337. package/dist/deps/rsc.js.map +1 -0
  338. package/dist/deps/ssr.d.ts +2 -0
  339. package/dist/deps/ssr.d.ts.map +1 -0
  340. package/dist/deps/ssr.js +3 -0
  341. package/dist/deps/ssr.js.map +1 -0
  342. package/dist/errors.d.ts +174 -0
  343. package/dist/errors.d.ts.map +1 -0
  344. package/dist/errors.js +241 -0
  345. package/dist/errors.js.map +1 -0
  346. package/dist/handle.d.ts +78 -0
  347. package/dist/handle.d.ts.map +1 -0
  348. package/dist/handle.js +82 -0
  349. package/dist/handle.js.map +1 -0
  350. package/dist/handles/MetaTags.d.ts +14 -0
  351. package/dist/handles/MetaTags.d.ts.map +1 -0
  352. package/dist/handles/MetaTags.js +136 -0
  353. package/dist/handles/MetaTags.js.map +1 -0
  354. package/dist/handles/index.d.ts +6 -0
  355. package/dist/handles/index.d.ts.map +1 -0
  356. package/dist/handles/index.js +6 -0
  357. package/dist/handles/index.js.map +1 -0
  358. package/dist/handles/meta.d.ts +39 -0
  359. package/dist/handles/meta.d.ts.map +1 -0
  360. package/dist/handles/meta.js +202 -0
  361. package/dist/handles/meta.js.map +1 -0
  362. package/dist/host/__tests__/errors.test.d.ts +2 -0
  363. package/dist/host/__tests__/errors.test.d.ts.map +1 -0
  364. package/dist/host/__tests__/errors.test.js +76 -0
  365. package/dist/host/__tests__/errors.test.js.map +1 -0
  366. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +2 -0
  367. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +1 -0
  368. package/dist/host/__tests__/pattern-comprehensive.test.js +732 -0
  369. package/dist/host/__tests__/pattern-comprehensive.test.js.map +1 -0
  370. package/dist/host/__tests__/pattern-matcher.test.d.ts +2 -0
  371. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +1 -0
  372. package/dist/host/__tests__/pattern-matcher.test.js +251 -0
  373. package/dist/host/__tests__/pattern-matcher.test.js.map +1 -0
  374. package/dist/host/__tests__/router.test.d.ts +2 -0
  375. package/dist/host/__tests__/router.test.d.ts.map +1 -0
  376. package/dist/host/__tests__/router.test.js +241 -0
  377. package/dist/host/__tests__/router.test.js.map +1 -0
  378. package/dist/host/__tests__/testing.test.d.ts +2 -0
  379. package/dist/host/__tests__/testing.test.d.ts.map +1 -0
  380. package/dist/host/__tests__/testing.test.js +64 -0
  381. package/dist/host/__tests__/testing.test.js.map +1 -0
  382. package/dist/host/__tests__/utils.test.d.ts +2 -0
  383. package/dist/host/__tests__/utils.test.d.ts.map +1 -0
  384. package/dist/host/__tests__/utils.test.js +29 -0
  385. package/dist/host/__tests__/utils.test.js.map +1 -0
  386. package/dist/host/cookie-handler.d.ts +34 -0
  387. package/dist/host/cookie-handler.d.ts.map +1 -0
  388. package/dist/host/cookie-handler.js +124 -0
  389. package/dist/host/cookie-handler.js.map +1 -0
  390. package/dist/host/errors.d.ts +56 -0
  391. package/dist/host/errors.d.ts.map +1 -0
  392. package/dist/host/errors.js +79 -0
  393. package/dist/host/errors.js.map +1 -0
  394. package/dist/host/index.d.ts +29 -0
  395. package/dist/host/index.d.ts.map +1 -0
  396. package/dist/host/index.js +32 -0
  397. package/dist/host/index.js.map +1 -0
  398. package/dist/host/pattern-matcher.d.ts +36 -0
  399. package/dist/host/pattern-matcher.d.ts.map +1 -0
  400. package/dist/host/pattern-matcher.js +172 -0
  401. package/dist/host/pattern-matcher.js.map +1 -0
  402. package/dist/host/router.d.ts +26 -0
  403. package/dist/host/router.d.ts.map +1 -0
  404. package/dist/host/router.js +218 -0
  405. package/dist/host/router.js.map +1 -0
  406. package/dist/host/testing.d.ts +36 -0
  407. package/dist/host/testing.d.ts.map +1 -0
  408. package/dist/host/testing.js +55 -0
  409. package/dist/host/testing.js.map +1 -0
  410. package/dist/host/types.d.ts +115 -0
  411. package/dist/host/types.d.ts.map +1 -0
  412. package/dist/host/types.js +7 -0
  413. package/dist/host/types.js.map +1 -0
  414. package/dist/host/utils.d.ts +21 -0
  415. package/dist/host/utils.d.ts.map +1 -0
  416. package/dist/host/utils.js +23 -0
  417. package/dist/host/utils.js.map +1 -0
  418. package/dist/href-client.d.ts +131 -0
  419. package/dist/href-client.d.ts.map +1 -0
  420. package/dist/href-client.js +64 -0
  421. package/dist/href-client.js.map +1 -0
  422. package/dist/href-context.d.ts +29 -0
  423. package/dist/href-context.d.ts.map +1 -0
  424. package/dist/href-context.js +21 -0
  425. package/dist/href-context.js.map +1 -0
  426. package/dist/index.d.ts +73 -0
  427. package/dist/index.d.ts.map +1 -0
  428. package/dist/index.js +91 -0
  429. package/dist/index.js.map +1 -0
  430. package/dist/index.rsc.d.ts +32 -0
  431. package/dist/index.rsc.d.ts.map +1 -0
  432. package/dist/index.rsc.js +40 -0
  433. package/dist/index.rsc.js.map +1 -0
  434. package/dist/internal-debug.d.ts +2 -0
  435. package/dist/internal-debug.d.ts.map +1 -0
  436. package/dist/internal-debug.js +5 -0
  437. package/dist/internal-debug.js.map +1 -0
  438. package/dist/loader.d.ts +14 -0
  439. package/dist/loader.d.ts.map +1 -0
  440. package/dist/loader.js +20 -0
  441. package/dist/loader.js.map +1 -0
  442. package/dist/loader.rsc.d.ts +19 -0
  443. package/dist/loader.rsc.d.ts.map +1 -0
  444. package/dist/loader.rsc.js +99 -0
  445. package/dist/loader.rsc.js.map +1 -0
  446. package/dist/network-error-thrower.d.ts +17 -0
  447. package/dist/network-error-thrower.d.ts.map +1 -0
  448. package/dist/network-error-thrower.js +14 -0
  449. package/dist/network-error-thrower.js.map +1 -0
  450. package/dist/outlet-context.d.ts +13 -0
  451. package/dist/outlet-context.d.ts.map +1 -0
  452. package/dist/outlet-context.js +3 -0
  453. package/dist/outlet-context.js.map +1 -0
  454. package/dist/prerender/__tests__/param-hash.test.d.ts +2 -0
  455. package/dist/prerender/__tests__/param-hash.test.d.ts.map +1 -0
  456. package/dist/prerender/__tests__/param-hash.test.js +148 -0
  457. package/dist/prerender/__tests__/param-hash.test.js.map +1 -0
  458. package/dist/prerender/param-hash.d.ts +16 -0
  459. package/dist/prerender/param-hash.d.ts.map +1 -0
  460. package/dist/prerender/param-hash.js +36 -0
  461. package/dist/prerender/param-hash.js.map +1 -0
  462. package/dist/prerender/store.d.ts +38 -0
  463. package/dist/prerender/store.d.ts.map +1 -0
  464. package/dist/prerender/store.js +61 -0
  465. package/dist/prerender/store.js.map +1 -0
  466. package/dist/prerender.d.ts +66 -0
  467. package/dist/prerender.d.ts.map +1 -0
  468. package/dist/prerender.js +57 -0
  469. package/dist/prerender.js.map +1 -0
  470. package/dist/reverse.d.ts +196 -0
  471. package/dist/reverse.d.ts.map +1 -0
  472. package/dist/reverse.js +78 -0
  473. package/dist/reverse.js.map +1 -0
  474. package/dist/root-error-boundary.d.ts +33 -0
  475. package/dist/root-error-boundary.d.ts.map +1 -0
  476. package/dist/root-error-boundary.js +165 -0
  477. package/dist/root-error-boundary.js.map +1 -0
  478. package/dist/route-content-wrapper.d.ts +46 -0
  479. package/dist/route-content-wrapper.d.ts.map +1 -0
  480. package/dist/route-content-wrapper.js +77 -0
  481. package/dist/route-content-wrapper.js.map +1 -0
  482. package/dist/route-definition.d.ts +421 -0
  483. package/dist/route-definition.d.ts.map +1 -0
  484. package/dist/route-definition.js +868 -0
  485. package/dist/route-definition.js.map +1 -0
  486. package/dist/route-map-builder.d.ts +155 -0
  487. package/dist/route-map-builder.d.ts.map +1 -0
  488. package/dist/route-map-builder.js +237 -0
  489. package/dist/route-map-builder.js.map +1 -0
  490. package/dist/route-types.d.ts +165 -0
  491. package/dist/route-types.d.ts.map +1 -0
  492. package/dist/route-types.js +7 -0
  493. package/dist/route-types.js.map +1 -0
  494. package/dist/router/__tests__/handler-context.test.d.ts +2 -0
  495. package/dist/router/__tests__/handler-context.test.d.ts.map +1 -0
  496. package/dist/router/__tests__/handler-context.test.js +65 -0
  497. package/dist/router/__tests__/handler-context.test.js.map +1 -0
  498. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +2 -0
  499. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +1 -0
  500. package/dist/router/__tests__/loader-cycle-detection.test.js +221 -0
  501. package/dist/router/__tests__/loader-cycle-detection.test.js.map +1 -0
  502. package/dist/router/__tests__/match-context.test.d.ts +2 -0
  503. package/dist/router/__tests__/match-context.test.d.ts.map +1 -0
  504. package/dist/router/__tests__/match-context.test.js +92 -0
  505. package/dist/router/__tests__/match-context.test.js.map +1 -0
  506. package/dist/router/__tests__/match-pipelines.test.d.ts +2 -0
  507. package/dist/router/__tests__/match-pipelines.test.d.ts.map +1 -0
  508. package/dist/router/__tests__/match-pipelines.test.js +417 -0
  509. package/dist/router/__tests__/match-pipelines.test.js.map +1 -0
  510. package/dist/router/__tests__/match-result.test.d.ts +2 -0
  511. package/dist/router/__tests__/match-result.test.d.ts.map +1 -0
  512. package/dist/router/__tests__/match-result.test.js +457 -0
  513. package/dist/router/__tests__/match-result.test.js.map +1 -0
  514. package/dist/router/__tests__/on-error.test.d.ts +2 -0
  515. package/dist/router/__tests__/on-error.test.d.ts.map +1 -0
  516. package/dist/router/__tests__/on-error.test.js +678 -0
  517. package/dist/router/__tests__/on-error.test.js.map +1 -0
  518. package/dist/router/__tests__/pattern-matching.test.d.ts +2 -0
  519. package/dist/router/__tests__/pattern-matching.test.d.ts.map +1 -0
  520. package/dist/router/__tests__/pattern-matching.test.js +629 -0
  521. package/dist/router/__tests__/pattern-matching.test.js.map +1 -0
  522. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +2 -0
  523. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +1 -0
  524. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +155 -0
  525. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +1 -0
  526. package/dist/router/error-handling.d.ts +77 -0
  527. package/dist/router/error-handling.d.ts.map +1 -0
  528. package/dist/router/error-handling.js +202 -0
  529. package/dist/router/error-handling.js.map +1 -0
  530. package/dist/router/handler-context.d.ts +20 -0
  531. package/dist/router/handler-context.d.ts.map +1 -0
  532. package/dist/router/handler-context.js +198 -0
  533. package/dist/router/handler-context.js.map +1 -0
  534. package/dist/router/intercept-resolution.d.ts +66 -0
  535. package/dist/router/intercept-resolution.d.ts.map +1 -0
  536. package/dist/router/intercept-resolution.js +246 -0
  537. package/dist/router/intercept-resolution.js.map +1 -0
  538. package/dist/router/loader-resolution.d.ts +64 -0
  539. package/dist/router/loader-resolution.d.ts.map +1 -0
  540. package/dist/router/loader-resolution.js +284 -0
  541. package/dist/router/loader-resolution.js.map +1 -0
  542. package/dist/router/logging.d.ts +15 -0
  543. package/dist/router/logging.d.ts.map +1 -0
  544. package/dist/router/logging.js +99 -0
  545. package/dist/router/logging.js.map +1 -0
  546. package/dist/router/manifest.d.ts +22 -0
  547. package/dist/router/manifest.d.ts.map +1 -0
  548. package/dist/router/manifest.js +181 -0
  549. package/dist/router/manifest.js.map +1 -0
  550. package/dist/router/match-api.d.ts +35 -0
  551. package/dist/router/match-api.d.ts.map +1 -0
  552. package/dist/router/match-api.js +406 -0
  553. package/dist/router/match-api.js.map +1 -0
  554. package/dist/router/match-context.d.ts +206 -0
  555. package/dist/router/match-context.d.ts.map +1 -0
  556. package/dist/router/match-context.js +17 -0
  557. package/dist/router/match-context.js.map +1 -0
  558. package/dist/router/match-middleware/background-revalidation.d.ts +127 -0
  559. package/dist/router/match-middleware/background-revalidation.d.ts.map +1 -0
  560. package/dist/router/match-middleware/background-revalidation.js +75 -0
  561. package/dist/router/match-middleware/background-revalidation.js.map +1 -0
  562. package/dist/router/match-middleware/cache-lookup.d.ts +112 -0
  563. package/dist/router/match-middleware/cache-lookup.d.ts.map +1 -0
  564. package/dist/router/match-middleware/cache-lookup.js +257 -0
  565. package/dist/router/match-middleware/cache-lookup.js.map +1 -0
  566. package/dist/router/match-middleware/cache-store.d.ts +113 -0
  567. package/dist/router/match-middleware/cache-store.d.ts.map +1 -0
  568. package/dist/router/match-middleware/cache-store.js +108 -0
  569. package/dist/router/match-middleware/cache-store.js.map +1 -0
  570. package/dist/router/match-middleware/index.d.ts +81 -0
  571. package/dist/router/match-middleware/index.d.ts.map +1 -0
  572. package/dist/router/match-middleware/index.js +80 -0
  573. package/dist/router/match-middleware/index.js.map +1 -0
  574. package/dist/router/match-middleware/intercept-resolution.d.ts +117 -0
  575. package/dist/router/match-middleware/intercept-resolution.d.ts.map +1 -0
  576. package/dist/router/match-middleware/intercept-resolution.js +134 -0
  577. package/dist/router/match-middleware/intercept-resolution.js.map +1 -0
  578. package/dist/router/match-middleware/segment-resolution.d.ts +99 -0
  579. package/dist/router/match-middleware/segment-resolution.d.ts.map +1 -0
  580. package/dist/router/match-middleware/segment-resolution.js +53 -0
  581. package/dist/router/match-middleware/segment-resolution.js.map +1 -0
  582. package/dist/router/match-pipelines.d.ts +147 -0
  583. package/dist/router/match-pipelines.d.ts.map +1 -0
  584. package/dist/router/match-pipelines.js +82 -0
  585. package/dist/router/match-pipelines.js.map +1 -0
  586. package/dist/router/match-result.d.ts +126 -0
  587. package/dist/router/match-result.d.ts.map +1 -0
  588. package/dist/router/match-result.js +93 -0
  589. package/dist/router/match-result.js.map +1 -0
  590. package/dist/router/metrics.d.ts +20 -0
  591. package/dist/router/metrics.d.ts.map +1 -0
  592. package/dist/router/metrics.js +47 -0
  593. package/dist/router/metrics.js.map +1 -0
  594. package/dist/router/middleware.d.ts +249 -0
  595. package/dist/router/middleware.d.ts.map +1 -0
  596. package/dist/router/middleware.js +434 -0
  597. package/dist/router/middleware.js.map +1 -0
  598. package/dist/router/middleware.test.d.ts +2 -0
  599. package/dist/router/middleware.test.d.ts.map +1 -0
  600. package/dist/router/middleware.test.js +816 -0
  601. package/dist/router/middleware.test.js.map +1 -0
  602. package/dist/router/pattern-matching.d.ts +149 -0
  603. package/dist/router/pattern-matching.d.ts.map +1 -0
  604. package/dist/router/pattern-matching.js +349 -0
  605. package/dist/router/pattern-matching.js.map +1 -0
  606. package/dist/router/revalidation.d.ts +44 -0
  607. package/dist/router/revalidation.d.ts.map +1 -0
  608. package/dist/router/revalidation.js +147 -0
  609. package/dist/router/revalidation.js.map +1 -0
  610. package/dist/router/router-context.d.ts +135 -0
  611. package/dist/router/router-context.d.ts.map +1 -0
  612. package/dist/router/router-context.js +36 -0
  613. package/dist/router/router-context.js.map +1 -0
  614. package/dist/router/segment-resolution.d.ts +127 -0
  615. package/dist/router/segment-resolution.d.ts.map +1 -0
  616. package/dist/router/segment-resolution.js +919 -0
  617. package/dist/router/segment-resolution.js.map +1 -0
  618. package/dist/router/trie-matching.d.ts +40 -0
  619. package/dist/router/trie-matching.d.ts.map +1 -0
  620. package/dist/router/trie-matching.js +127 -0
  621. package/dist/router/trie-matching.js.map +1 -0
  622. package/dist/router/types.d.ts +136 -0
  623. package/dist/router/types.d.ts.map +1 -0
  624. package/dist/router/types.js +7 -0
  625. package/dist/router/types.js.map +1 -0
  626. package/dist/router.d.ts +753 -0
  627. package/dist/router.d.ts.map +1 -0
  628. package/dist/router.gen.d.ts +6 -0
  629. package/dist/router.gen.d.ts.map +1 -0
  630. package/dist/router.gen.js +6 -0
  631. package/dist/router.gen.js.map +1 -0
  632. package/dist/router.js +1304 -0
  633. package/dist/router.js.map +1 -0
  634. package/dist/rsc/__tests__/helpers.test.d.ts +2 -0
  635. package/dist/rsc/__tests__/helpers.test.d.ts.map +1 -0
  636. package/dist/rsc/__tests__/helpers.test.js +140 -0
  637. package/dist/rsc/__tests__/helpers.test.js.map +1 -0
  638. package/dist/rsc/handler.d.ts +45 -0
  639. package/dist/rsc/handler.d.ts.map +1 -0
  640. package/dist/rsc/handler.js +1172 -0
  641. package/dist/rsc/handler.js.map +1 -0
  642. package/dist/rsc/helpers.d.ts +16 -0
  643. package/dist/rsc/helpers.d.ts.map +1 -0
  644. package/dist/rsc/helpers.js +55 -0
  645. package/dist/rsc/helpers.js.map +1 -0
  646. package/dist/rsc/index.d.ts +22 -0
  647. package/dist/rsc/index.d.ts.map +1 -0
  648. package/dist/rsc/index.js +23 -0
  649. package/dist/rsc/index.js.map +1 -0
  650. package/dist/rsc/nonce.d.ts +9 -0
  651. package/dist/rsc/nonce.d.ts.map +1 -0
  652. package/dist/rsc/nonce.js +18 -0
  653. package/dist/rsc/nonce.js.map +1 -0
  654. package/dist/rsc/types.d.ts +206 -0
  655. package/dist/rsc/types.d.ts.map +1 -0
  656. package/dist/rsc/types.js +8 -0
  657. package/dist/rsc/types.js.map +1 -0
  658. package/dist/search-params.d.ts +103 -0
  659. package/dist/search-params.d.ts.map +1 -0
  660. package/dist/search-params.js +74 -0
  661. package/dist/search-params.js.map +1 -0
  662. package/dist/segment-system.d.ts +75 -0
  663. package/dist/segment-system.d.ts.map +1 -0
  664. package/dist/segment-system.js +336 -0
  665. package/dist/segment-system.js.map +1 -0
  666. package/dist/server/context.d.ts +245 -0
  667. package/dist/server/context.d.ts.map +1 -0
  668. package/dist/server/context.js +197 -0
  669. package/dist/server/context.js.map +1 -0
  670. package/dist/server/fetchable-loader-store.d.ts +18 -0
  671. package/dist/server/fetchable-loader-store.d.ts.map +1 -0
  672. package/dist/server/fetchable-loader-store.js +18 -0
  673. package/dist/server/fetchable-loader-store.js.map +1 -0
  674. package/dist/server/handle-store.d.ts +85 -0
  675. package/dist/server/handle-store.d.ts.map +1 -0
  676. package/dist/server/handle-store.js +142 -0
  677. package/dist/server/handle-store.js.map +1 -0
  678. package/dist/server/loader-registry.d.ts +55 -0
  679. package/dist/server/loader-registry.d.ts.map +1 -0
  680. package/dist/server/loader-registry.js +132 -0
  681. package/dist/server/loader-registry.js.map +1 -0
  682. package/dist/server/request-context.d.ts +226 -0
  683. package/dist/server/request-context.d.ts.map +1 -0
  684. package/dist/server/request-context.js +290 -0
  685. package/dist/server/request-context.js.map +1 -0
  686. package/dist/server/root-layout.d.ts +4 -0
  687. package/dist/server/root-layout.d.ts.map +1 -0
  688. package/dist/server/root-layout.js +5 -0
  689. package/dist/server/root-layout.js.map +1 -0
  690. package/dist/server.d.ts +15 -0
  691. package/dist/server.d.ts.map +1 -0
  692. package/dist/server.js +20 -0
  693. package/dist/server.js.map +1 -0
  694. package/dist/ssr/__tests__/ssr-handler.test.d.ts +2 -0
  695. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +1 -0
  696. package/dist/ssr/__tests__/ssr-handler.test.js +132 -0
  697. package/dist/ssr/__tests__/ssr-handler.test.js.map +1 -0
  698. package/dist/ssr/index.d.ts +98 -0
  699. package/dist/ssr/index.d.ts.map +1 -0
  700. package/dist/ssr/index.js +158 -0
  701. package/dist/ssr/index.js.map +1 -0
  702. package/dist/static-handler.d.ts +50 -0
  703. package/dist/static-handler.d.ts.map +1 -0
  704. package/dist/static-handler.gen.d.ts +5 -0
  705. package/dist/static-handler.gen.d.ts.map +1 -0
  706. package/dist/static-handler.gen.js +5 -0
  707. package/dist/static-handler.gen.js.map +1 -0
  708. package/dist/static-handler.js +29 -0
  709. package/dist/static-handler.js.map +1 -0
  710. package/dist/theme/ThemeProvider.d.ts +20 -0
  711. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  712. package/dist/theme/ThemeProvider.js +240 -0
  713. package/dist/theme/ThemeProvider.js.map +1 -0
  714. package/dist/theme/ThemeScript.d.ts +48 -0
  715. package/dist/theme/ThemeScript.d.ts.map +1 -0
  716. package/dist/theme/ThemeScript.js +13 -0
  717. package/dist/theme/ThemeScript.js.map +1 -0
  718. package/dist/theme/__tests__/theme.test.d.ts +2 -0
  719. package/dist/theme/__tests__/theme.test.d.ts.map +1 -0
  720. package/dist/theme/__tests__/theme.test.js +103 -0
  721. package/dist/theme/__tests__/theme.test.js.map +1 -0
  722. package/dist/theme/constants.d.ts +29 -0
  723. package/dist/theme/constants.d.ts.map +1 -0
  724. package/dist/theme/constants.js +48 -0
  725. package/dist/theme/constants.js.map +1 -0
  726. package/dist/theme/index.d.ts +31 -0
  727. package/dist/theme/index.d.ts.map +1 -0
  728. package/dist/theme/index.js +36 -0
  729. package/dist/theme/index.js.map +1 -0
  730. package/dist/theme/theme-context.d.ts +40 -0
  731. package/dist/theme/theme-context.d.ts.map +1 -0
  732. package/dist/theme/theme-context.js +60 -0
  733. package/dist/theme/theme-context.js.map +1 -0
  734. package/dist/theme/theme-script.d.ts +27 -0
  735. package/dist/theme/theme-script.d.ts.map +1 -0
  736. package/dist/theme/theme-script.js +147 -0
  737. package/dist/theme/theme-script.js.map +1 -0
  738. package/dist/theme/types.d.ts +163 -0
  739. package/dist/theme/types.d.ts.map +1 -0
  740. package/dist/theme/types.js +11 -0
  741. package/dist/theme/types.js.map +1 -0
  742. package/dist/theme/use-theme.d.ts +12 -0
  743. package/dist/theme/use-theme.d.ts.map +1 -0
  744. package/dist/theme/use-theme.js +40 -0
  745. package/dist/theme/use-theme.js.map +1 -0
  746. package/dist/types.d.ts +1479 -0
  747. package/dist/types.d.ts.map +1 -0
  748. package/dist/types.js +10 -0
  749. package/dist/types.js.map +1 -0
  750. package/dist/urls.d.ts +441 -0
  751. package/dist/urls.d.ts.map +1 -0
  752. package/dist/urls.gen.d.ts +8 -0
  753. package/dist/urls.gen.d.ts.map +1 -0
  754. package/dist/urls.gen.js +8 -0
  755. package/dist/urls.gen.js.map +1 -0
  756. package/dist/urls.js +443 -0
  757. package/dist/urls.js.map +1 -0
  758. package/dist/use-loader.d.ts +127 -0
  759. package/dist/use-loader.d.ts.map +1 -0
  760. package/dist/use-loader.js +237 -0
  761. package/dist/use-loader.js.map +1 -0
  762. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +2 -0
  763. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +1 -0
  764. package/dist/vite/__tests__/ast-handler-extract.test.js +294 -0
  765. package/dist/vite/__tests__/ast-handler-extract.test.js.map +1 -0
  766. package/dist/vite/__tests__/expose-id-utils.test.d.ts +2 -0
  767. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +1 -0
  768. package/dist/vite/__tests__/expose-id-utils.test.js +224 -0
  769. package/dist/vite/__tests__/expose-id-utils.test.js.map +1 -0
  770. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +2 -0
  771. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +1 -0
  772. package/dist/vite/__tests__/expose-internal-ids.test.js +647 -0
  773. package/dist/vite/__tests__/expose-internal-ids.test.js.map +1 -0
  774. package/dist/vite/__tests__/expose-router-id.test.d.ts +2 -0
  775. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +1 -0
  776. package/dist/vite/__tests__/expose-router-id.test.js +39 -0
  777. package/dist/vite/__tests__/expose-router-id.test.js.map +1 -0
  778. package/dist/vite/ast-handler-extract.d.ts +49 -0
  779. package/dist/vite/ast-handler-extract.d.ts.map +1 -0
  780. package/dist/vite/ast-handler-extract.js +249 -0
  781. package/dist/vite/ast-handler-extract.js.map +1 -0
  782. package/dist/vite/expose-action-id.d.ts +19 -0
  783. package/dist/vite/expose-action-id.d.ts.map +1 -0
  784. package/dist/vite/expose-action-id.js +250 -0
  785. package/dist/vite/expose-action-id.js.map +1 -0
  786. package/dist/vite/expose-id-utils.d.ts +69 -0
  787. package/dist/vite/expose-id-utils.d.ts.map +1 -0
  788. package/dist/vite/expose-id-utils.js +289 -0
  789. package/dist/vite/expose-id-utils.js.map +1 -0
  790. package/dist/vite/expose-internal-ids.d.ts +22 -0
  791. package/dist/vite/expose-internal-ids.d.ts.map +1 -0
  792. package/dist/vite/expose-internal-ids.js +886 -0
  793. package/dist/vite/expose-internal-ids.js.map +1 -0
  794. package/dist/vite/index.d.ts +149 -0
  795. package/dist/vite/index.d.ts.map +1 -0
  796. package/dist/vite/index.js +135 -143
  797. package/dist/vite/index.js.bak +5448 -0
  798. package/dist/vite/index.js.map +1 -0
  799. package/dist/vite/index.named-routes.gen.ts +103 -0
  800. package/dist/vite/package-resolution.d.ts +43 -0
  801. package/dist/vite/package-resolution.d.ts.map +1 -0
  802. package/dist/vite/package-resolution.js +112 -0
  803. package/dist/vite/package-resolution.js.map +1 -0
  804. package/dist/vite/virtual-entries.d.ts +25 -0
  805. package/dist/vite/virtual-entries.d.ts.map +1 -0
  806. package/dist/vite/virtual-entries.js +110 -0
  807. package/dist/vite/virtual-entries.js.map +1 -0
  808. package/package.json +6 -6
  809. package/skills/cache-guide/SKILL.md +30 -15
  810. package/skills/hooks/SKILL.md +2 -0
  811. package/skills/links/SKILL.md +2 -0
  812. package/skills/loader/SKILL.md +1 -1
  813. package/skills/middleware/SKILL.md +3 -3
  814. package/skills/mime-routes/SKILL.md +27 -0
  815. package/skills/observability/SKILL.md +3 -1
  816. package/skills/prerender/SKILL.md +13 -13
  817. package/skills/rango/SKILL.md +9 -0
  818. package/skills/response-routes/SKILL.md +27 -3
  819. package/skills/router-setup/SKILL.md +3 -3
  820. package/skills/typesafety/SKILL.md +186 -31
  821. package/src/__augment-tests__/augment.ts +37 -0
  822. package/src/__augment-tests__/augmented.check.ts +64 -0
  823. package/src/browser/index.ts +3 -3
  824. package/src/browser/react/location-state-shared.ts +3 -3
  825. package/src/browser/rsc-router.tsx +14 -14
  826. package/src/browser/segment-structure-assert.ts +2 -2
  827. package/src/build/generate-manifest.ts +3 -3
  828. package/src/build/route-types/codegen.ts +4 -4
  829. package/src/build/route-types/include-resolution.ts +1 -1
  830. package/src/build/route-types/per-module-writer.ts +3 -3
  831. package/src/build/route-types/router-processing.ts +4 -4
  832. package/src/build/route-types/scan-filter.ts +1 -1
  833. package/src/errors.ts +1 -1
  834. package/src/handle.ts +2 -2
  835. package/src/href-client.ts +1 -1
  836. package/src/index.rsc.ts +2 -2
  837. package/src/loader.rsc.ts +1 -1
  838. package/src/loader.ts +1 -1
  839. package/src/prerender.ts +4 -4
  840. package/src/route-definition/dsl-helpers.ts +2 -2
  841. package/src/route-definition/helpers-types.ts +2 -2
  842. package/src/router/error-handling.ts +1 -1
  843. package/src/router/lazy-includes.ts +2 -2
  844. package/src/router/metrics.ts +1 -1
  845. package/src/router/middleware-types.ts +1 -1
  846. package/src/router/prerender-match.ts +1 -1
  847. package/src/router/router-interfaces.ts +34 -28
  848. package/src/router/router-options.ts +1 -1
  849. package/src/router/router-registry.ts +2 -5
  850. package/src/router/segment-resolution/fresh.ts +2 -2
  851. package/src/router/segment-resolution/revalidation.ts +2 -2
  852. package/src/router.ts +13 -16
  853. package/src/rsc/handler-context.ts +2 -2
  854. package/src/rsc/index.ts +1 -1
  855. package/src/rsc/types.ts +2 -2
  856. package/src/search-params.ts +4 -4
  857. package/src/server/context.ts +16 -16
  858. package/src/static-handler.ts +1 -1
  859. package/src/types/global-namespace.ts +39 -26
  860. package/src/types/handler-context.ts +3 -3
  861. package/src/urls/path-helper-types.ts +2 -2
  862. package/src/urls/pattern-types.ts +34 -0
  863. package/src/vite/discovery/bundle-postprocess.ts +6 -6
  864. package/src/vite/discovery/discover-routers.ts +3 -3
  865. package/src/vite/discovery/discovery-errors.ts +1 -1
  866. package/src/vite/discovery/prerender-collection.ts +19 -25
  867. package/src/vite/discovery/route-types-writer.ts +3 -3
  868. package/src/vite/plugins/cloudflare-protocol-stub.ts +1 -1
  869. package/src/vite/plugins/expose-action-id.ts +2 -2
  870. package/src/vite/plugins/expose-id-utils.ts +12 -8
  871. package/src/vite/plugins/expose-ids/export-analysis.ts +33 -9
  872. package/src/vite/plugins/expose-internal-ids.ts +1 -1
  873. package/src/vite/plugins/performance-tracks.ts +12 -16
  874. package/src/vite/plugins/use-cache-transform.ts +1 -1
  875. package/src/vite/plugins/version-plugin.ts +2 -2
  876. package/src/vite/plugins/virtual-entries.ts +2 -2
  877. package/src/vite/rango.ts +11 -11
  878. package/src/vite/router-discovery.ts +15 -19
  879. package/src/vite/utils/ast-handler-extract.ts +15 -15
  880. package/src/vite/utils/bundle-analysis.ts +4 -2
  881. package/src/vite/utils/shared-utils.ts +26 -22
@@ -264,7 +264,7 @@ export type PathHelpers<TEnv> = {
264
264
  * Define an intercepting route for soft navigation
265
265
  * Note: routeName must match a named path() in this urlpatterns
266
266
  */
267
- intercept: keyof RSCRouter.GeneratedRouteMap extends never
267
+ intercept: keyof Rango.GeneratedRouteMap extends never
268
268
  ? (
269
269
  slotName: `@${string}`,
270
270
  routeName: string,
@@ -273,7 +273,7 @@ export type PathHelpers<TEnv> = {
273
273
  ) => InterceptItem
274
274
  : (
275
275
  slotName: `@${string}`,
276
- routeName: (keyof RSCRouter.GeneratedRouteMap & string) | `.${string}`,
276
+ routeName: (keyof Rango.GeneratedRouteMap & string) | `.${string}`,
277
277
  handler: ReactNode | Handler<any, any, TEnv>,
278
278
  use?: () => InterceptUseItem[],
279
279
  ) => InterceptItem;
@@ -88,6 +88,40 @@ export interface UrlPatterns<
88
88
  readonly _responses?: TResponses;
89
89
  }
90
90
 
91
+ /**
92
+ * Extract the phantom env type carried by a UrlPatterns value.
93
+ */
94
+ export type UrlPatternsEnv<T> =
95
+ T extends UrlPatterns<infer TEnv, any, any> ? TEnv : never;
96
+
97
+ /**
98
+ * Guards `routes()` env compatibility without over-constraining.
99
+ *
100
+ * - An env-agnostic block (its env is `unknown` — e.g. a shared urls() module,
101
+ * or an app that does not augment `Rango.Env`) attaches to any router.
102
+ * - A block carrying a concrete env is accepted only when the router env
103
+ * (`TRouterEnv`) satisfies it; resolves to `never` otherwise, so a
104
+ * `urls<{ DB: D1Database }>()` cannot be mounted on a `createRouter<{}>()`.
105
+ *
106
+ * Use as `patterns: T & EnvCompatible<T, TEnv>` so `T` still infers from the
107
+ * argument — a bare `EnvCompatible<T, TEnv>` parameter sits in a non-inferrable
108
+ * conditional position and would collapse `T` to its constraint.
109
+ *
110
+ * Known limitation: `TRouterEnv extends ...` distributes over a union router env,
111
+ * so a `urls<A>()` block is accepted on `createRouter<A | B>()` even though the
112
+ * `B` arm cannot supply `A`'s env. Suppressing distribution with
113
+ * `[TRouterEnv] extends [...]` would close that edge but breaks the common
114
+ * generic-`TEnv` call sites (a deferred type parameter can't resolve the tuple
115
+ * conditional, so the intersection stops reducing to `T`). A router has one env,
116
+ * so a union env is not a supported pattern; the distributive form is kept.
117
+ */
118
+ export type EnvCompatible<TPatterns, TRouterEnv> =
119
+ unknown extends UrlPatternsEnv<TPatterns>
120
+ ? TPatterns
121
+ : TRouterEnv extends UrlPatternsEnv<TPatterns>
122
+ ? TPatterns
123
+ : never;
124
+
91
125
  /**
92
126
  * Options for include()
93
127
  */
@@ -71,12 +71,12 @@ export function postprocessBundle(state: DiscoveryState): void {
71
71
  writeFileSync(chunkPath, result.code);
72
72
  const savedKB = (result.savedBytes / 1024).toFixed(1);
73
73
  console.log(
74
- `[rsc-router] Evicted ${target.label} (${savedKB} KB saved): ${info.fileName}`,
74
+ `[rango] Evicted ${target.label} (${savedKB} KB saved): ${info.fileName}`,
75
75
  );
76
76
  }
77
77
  } catch (replaceErr: any) {
78
78
  console.warn(
79
- `[rsc-router] Failed to evict ${target.label}: ${replaceErr.message}`,
79
+ `[rango] Failed to evict ${target.label}: ${replaceErr.message}`,
80
80
  );
81
81
  }
82
82
  }
@@ -121,11 +121,11 @@ export function postprocessBundle(state: DiscoveryState): void {
121
121
 
122
122
  const totalKB = (totalBytes / 1024).toFixed(1);
123
123
  console.log(
124
- `[rsc-router] Wrote prerender assets (${totalKB} KB total, ${Object.keys(state.prerenderManifestEntries!).length} entries)`,
124
+ `[rango] Wrote prerender assets (${totalKB} KB total, ${Object.keys(state.prerenderManifestEntries!).length} entries)`,
125
125
  );
126
126
  } catch (err: any) {
127
127
  throw new Error(
128
- `[rsc-router] Failed to write prerender assets: ${err.message}`,
128
+ `[rango] Failed to write prerender assets: ${err.message}`,
129
129
  );
130
130
  }
131
131
  }
@@ -169,11 +169,11 @@ export function postprocessBundle(state: DiscoveryState): void {
169
169
 
170
170
  const totalKB = (totalBytes / 1024).toFixed(1);
171
171
  console.log(
172
- `[rsc-router] Wrote static assets (${totalKB} KB total, ${Object.keys(state.staticManifestEntries!).length} entries)`,
172
+ `[rango] Wrote static assets (${totalKB} KB total, ${Object.keys(state.staticManifestEntries!).length} entries)`,
173
173
  );
174
174
  } catch (err: any) {
175
175
  throw new Error(
176
- `[rsc-router] Failed to write static assets: ${err.message}`,
176
+ `[rango] Failed to write static assets: ${err.message}`,
177
177
  );
178
178
  }
179
179
  }
@@ -73,7 +73,7 @@ export async function discoverRouters(
73
73
 
74
74
  if (hostRegistry && hostRegistry.size > 0) {
75
75
  console.log(
76
- `[rsc-router] Found ${hostRegistry.size} host router(s), resolving lazy handlers...`,
76
+ `[rango] Found ${hostRegistry.size} host router(s), resolving lazy handlers...`,
77
77
  );
78
78
 
79
79
  const handlerErrors = await resolveHostRouterHandlers(hostRegistry);
@@ -224,7 +224,7 @@ export async function discoverRouters(
224
224
  newPerRouterPrecomputedMap.set(id, routerPrecomputed);
225
225
 
226
226
  console.log(
227
- `[rsc-router] Router "${id}" -> ${routeCount} routes ` +
227
+ `[rango] Router "${id}" -> ${routeCount} routes ` +
228
228
  `(${staticRoutes} static, ${dynamicRoutes} dynamic)`,
229
229
  );
230
230
  }
@@ -240,7 +240,7 @@ export async function discoverRouters(
240
240
  );
241
241
  if (autoIds.length > 1) {
242
242
  console.warn(
243
- `[rsc-router] WARNING: ${autoIds.length} routers use auto-generated IDs (${autoIds.join(", ")}). ` +
243
+ `[rango] WARNING: ${autoIds.length} routers use auto-generated IDs (${autoIds.join(", ")}). ` +
244
244
  `In multi-router setups, each createRouter() must have an explicit \`id\` option ` +
245
245
  `to ensure per-router manifest data is matched correctly at runtime. ` +
246
246
  `Example: createRouter({ id: "site", ... })`,
@@ -131,7 +131,7 @@ export function formatNoRoutersError(
131
131
  entryPath: string | undefined,
132
132
  errors: CaughtDiscoveryError[],
133
133
  ): string {
134
- const base = `[rsc-router] No routers found in registry after importing ${entryPath}`;
134
+ const base = `[rango] No routers found in registry after importing ${entryPath}`;
135
135
  if (errors.length === 0) {
136
136
  return base;
137
137
  }
@@ -81,7 +81,7 @@ export async function expandPrerenderRoutes(
81
81
  ? setInterval(() => {
82
82
  const elapsed = ((performance.now() - paramsStart) / 1000).toFixed(1);
83
83
  console.log(
84
- `[rsc-router] Resolving prerender params... ${resolvedRoutes}/${totalDynamic} routes (${elapsed}s)`,
84
+ `[rango] Resolving prerender params... ${resolvedRoutes}/${totalDynamic} routes (${elapsed}s)`,
85
85
  );
86
86
  }, 5000)
87
87
  : undefined;
@@ -122,7 +122,7 @@ export async function expandPrerenderRoutes(
122
122
  get env() {
123
123
  if (buildEnv !== undefined) return buildEnv;
124
124
  throw new Error(
125
- "[rsc-router] ctx.env is not available during build-time getParams(). " +
125
+ "[rango] ctx.env is not available during build-time getParams(). " +
126
126
  "Configure buildEnv in your rango() plugin options to enable build-time env access.",
127
127
  );
128
128
  },
@@ -170,7 +170,7 @@ export async function expandPrerenderRoutes(
170
170
  // Skip in getParams() skips the entire route
171
171
  if (err.name === "Skip") {
172
172
  console.log(
173
- `[rsc-router] SKIP route "${routeName}" - ${err.message}`,
173
+ `[rango] SKIP route "${routeName}" - ${err.message}`,
174
174
  );
175
175
  notifyOnError(
176
176
  registry,
@@ -184,14 +184,14 @@ export async function expandPrerenderRoutes(
184
184
  }
185
185
  // Regular error: fail the build
186
186
  console.error(
187
- `[rsc-router] Failed to get params for prerender route "${routeName}": ${err.message}`,
187
+ `[rango] Failed to get params for prerender route "${routeName}": ${err.message}`,
188
188
  );
189
189
  notifyOnError(registry, err, "prerender", routeName);
190
190
  throw err;
191
191
  }
192
192
  } else {
193
193
  console.warn(
194
- `[rsc-router] Dynamic prerender route "${routeName}" has no getParams(), skipping`,
194
+ `[rango] Dynamic prerender route "${routeName}" has no getParams(), skipping`,
195
195
  );
196
196
  }
197
197
  }
@@ -202,7 +202,7 @@ export async function expandPrerenderRoutes(
202
202
  clearInterval(progressInterval);
203
203
  const elapsed = ((performance.now() - paramsStart) / 1000).toFixed(1);
204
204
  console.log(
205
- `[rsc-router] Resolved prerender params: ${resolvedRoutes}/${totalDynamic} routes (${elapsed}s)`,
205
+ `[rango] Resolved prerender params: ${resolvedRoutes}/${totalDynamic} routes (${elapsed}s)`,
206
206
  );
207
207
  }
208
208
  }
@@ -220,7 +220,7 @@ export async function expandPrerenderRoutes(
220
220
  const concurrencyNote =
221
221
  maxConcurrency > 1 ? ` (concurrency: ${maxConcurrency})` : "";
222
222
  console.log(
223
- `[rsc-router] Pre-rendering ${entries.length} URL(s)${concurrencyNote}...`,
223
+ `[rango] Pre-rendering ${entries.length} URL(s)${concurrencyNote}...`,
224
224
  );
225
225
  debug?.(
226
226
  "prerender loop: %d entries, max concurrency %d",
@@ -261,7 +261,7 @@ export async function expandPrerenderRoutes(
261
261
  if (result.passthrough) {
262
262
  const elapsed = (performance.now() - startUrl).toFixed(0);
263
263
  console.log(
264
- `[rsc-router] PASS ${entry.urlPath.padEnd(40)} (${elapsed}ms) - live fallback`,
264
+ `[rango] PASS ${entry.urlPath.padEnd(40)} (${elapsed}ms) - live fallback`,
265
265
  );
266
266
  doneCount++;
267
267
  break;
@@ -295,7 +295,7 @@ export async function expandPrerenderRoutes(
295
295
  }
296
296
  const elapsed = (performance.now() - startUrl).toFixed(0);
297
297
  console.log(
298
- `[rsc-router] OK ${entry.urlPath.padEnd(40)} (${elapsed}ms)`,
298
+ `[rango] OK ${entry.urlPath.padEnd(40)} (${elapsed}ms)`,
299
299
  );
300
300
  doneCount++;
301
301
  break;
@@ -303,7 +303,7 @@ export async function expandPrerenderRoutes(
303
303
  if (err.name === "Skip") {
304
304
  const elapsed = (performance.now() - startUrl).toFixed(0);
305
305
  console.log(
306
- `[rsc-router] SKIP ${entry.urlPath.padEnd(40)} (${elapsed}ms) - ${err.message}`,
306
+ `[rango] SKIP ${entry.urlPath.padEnd(40)} (${elapsed}ms) - ${err.message}`,
307
307
  );
308
308
  skipCount++;
309
309
  notifyOnError(
@@ -319,7 +319,7 @@ export async function expandPrerenderRoutes(
319
319
  // Regular error: log, notify, and fail the build
320
320
  const elapsed = (performance.now() - startUrl).toFixed(0);
321
321
  console.error(
322
- `[rsc-router] FAIL ${entry.urlPath.padEnd(40)} (${elapsed}ms) - ${err.message}`,
322
+ `[rango] FAIL ${entry.urlPath.padEnd(40)} (${elapsed}ms) - ${err.message}`,
323
323
  );
324
324
  notifyOnError(
325
325
  registry,
@@ -342,7 +342,7 @@ export async function expandPrerenderRoutes(
342
342
  const parts = [`${doneCount} done`];
343
343
  if (skipCount > 0) parts.push(`${skipCount} skipped`);
344
344
  console.log(
345
- `[rsc-router] Pre-render complete: ${parts.join(", ")} (${totalElapsed}ms total)`,
345
+ `[rango] Pre-render complete: ${parts.join(", ")} (${totalElapsed}ms total)`,
346
346
  );
347
347
  debug?.(
348
348
  "expandPrerenderRoutes done: %d done, %d skipped, %sms (overall %sms)",
@@ -387,9 +387,7 @@ export async function renderStaticHandlers(
387
387
  totalStaticCount += exportNames.length;
388
388
  }
389
389
  const startStatic = performance.now();
390
- console.log(
391
- `[rsc-router] Rendering ${totalStaticCount} static handler(s)...`,
392
- );
390
+ console.log(`[rango] Rendering ${totalStaticCount} static handler(s)...`);
393
391
 
394
392
  for (const [moduleId, exportNames] of state.resolvedStaticModules) {
395
393
  let mod: any;
@@ -397,7 +395,7 @@ export async function renderStaticHandlers(
397
395
  mod = await rscEnv!.runner.import(moduleId);
398
396
  } catch (err: any) {
399
397
  console.error(
400
- `[rsc-router] Failed to import static module ${moduleId}: ${err.message}`,
398
+ `[rango] Failed to import static module ${moduleId}: ${err.message}`,
401
399
  );
402
400
  notifyOnError(registry, err, "static");
403
401
  throw err;
@@ -432,9 +430,7 @@ export async function renderStaticHandlers(
432
430
  exportValue,
433
431
  );
434
432
  const elapsed = (performance.now() - startHandler).toFixed(0);
435
- console.log(
436
- `[rsc-router] OK ${name.padEnd(40)} (${elapsed}ms)`,
437
- );
433
+ console.log(`[rango] OK ${name.padEnd(40)} (${elapsed}ms)`);
438
434
  staticDone++;
439
435
  handled = true;
440
436
  break;
@@ -443,7 +439,7 @@ export async function renderStaticHandlers(
443
439
  if (err.name === "Skip") {
444
440
  const elapsed = (performance.now() - startHandler).toFixed(0);
445
441
  console.log(
446
- `[rsc-router] SKIP ${name.padEnd(40)} (${elapsed}ms) - ${err.message}`,
442
+ `[rango] SKIP ${name.padEnd(40)} (${elapsed}ms) - ${err.message}`,
447
443
  );
448
444
  staticSkip++;
449
445
  notifyOnError(registry, err, "static", undefined, undefined, true);
@@ -453,16 +449,14 @@ export async function renderStaticHandlers(
453
449
  // Regular error: log, notify, and fail the build
454
450
  const elapsed = (performance.now() - startHandler).toFixed(0);
455
451
  console.error(
456
- `[rsc-router] FAIL ${name.padEnd(40)} (${elapsed}ms) - ${err.message}`,
452
+ `[rango] FAIL ${name.padEnd(40)} (${elapsed}ms) - ${err.message}`,
457
453
  );
458
454
  notifyOnError(registry, err, "static");
459
455
  throw err;
460
456
  }
461
457
  }
462
458
  if (!handled) {
463
- console.warn(
464
- `[rsc-router] No router could render static handler "${name}"`,
465
- );
459
+ console.warn(`[rango] No router could render static handler "${name}"`);
466
460
  }
467
461
  }
468
462
  }
@@ -474,7 +468,7 @@ export async function renderStaticHandlers(
474
468
  const staticParts = [`${staticDone} done`];
475
469
  if (staticSkip > 0) staticParts.push(`${staticSkip} skipped`);
476
470
  console.log(
477
- `[rsc-router] Static render complete: ${staticParts.join(", ")} (${totalStaticElapsed}ms total)`,
471
+ `[rango] Static render complete: ${staticParts.join(", ")} (${totalStaticElapsed}ms total)`,
478
472
  );
479
473
  debug?.(
480
474
  "renderStaticHandlers done: %d done, %d skipped, %sms (overall %sms)",
@@ -104,7 +104,7 @@ export function writeRouteTypesFiles(state: DiscoveryState): void {
104
104
  if (existsSync(oldCombinedPath)) {
105
105
  unlinkSync(oldCombinedPath);
106
106
  console.log(
107
- `[rsc-router] Removed stale combined route types: ${oldCombinedPath}`,
107
+ `[rango] Removed stale combined route types: ${oldCombinedPath}`,
108
108
  );
109
109
  }
110
110
  } catch {}
@@ -122,7 +122,7 @@ export function writeRouteTypesFiles(state: DiscoveryState): void {
122
122
  // the wrong location, causing non-deterministic type resolution.
123
123
  if (sourceFile.includes("node_modules")) {
124
124
  throw new Error(
125
- `[rsc-router] Router "${id}" has sourceFile inside node_modules: ${sourceFile}\n` +
125
+ `[rango] Router "${id}" has sourceFile inside node_modules: ${sourceFile}\n` +
126
126
  `This means createRouter() stack trace parsing matched a Vite internal frame.\n` +
127
127
  `Set an explicit \`id\` on createRouter() or check the call site.`,
128
128
  );
@@ -169,7 +169,7 @@ export function writeRouteTypesFiles(state: DiscoveryState): void {
169
169
  if (existing !== source) {
170
170
  markSelfGenWrite(state, outPath, source);
171
171
  writeFileSync(outPath, source);
172
- console.log(`[rsc-router] Generated route types -> ${outPath}`);
172
+ console.log(`[rango] Generated route types -> ${outPath}`);
173
173
  }
174
174
  }
175
175
  }
@@ -139,7 +139,7 @@ export function createCloudflareProtocolStubPlugin(): Plugin {
139
139
 
140
140
  let ast: AstNode;
141
141
  try {
142
- ast = this.parse(code) as unknown as AstNode;
142
+ ast = this.parse(code, { lang: "tsx" }) as unknown as AstNode;
143
143
  } catch {
144
144
  // Malformed source — let a downstream plugin surface the parse error.
145
145
  return null;
@@ -42,7 +42,7 @@ function getRscPluginApi(config: ResolvedConfig): RscPluginApi | undefined {
42
42
  );
43
43
  if (plugin) {
44
44
  console.warn(
45
- `[rsc-router:expose-action-id] RSC plugin found by API structure (name: "${plugin.name}"). ` +
45
+ `[rango:expose-action-id] RSC plugin found by API structure (name: "${plugin.name}"). ` +
46
46
  `Consider updating the name lookup if the plugin was renamed.`,
47
47
  );
48
48
  }
@@ -287,7 +287,7 @@ export function exposeActionId(): Plugin {
287
287
 
288
288
  if (!rscPluginApi) {
289
289
  throw new Error(
290
- "[rsc-router] Could not find @vitejs/plugin-rsc. " +
290
+ "[rango] Could not find @vitejs/plugin-rsc. " +
291
291
  "@rangojs/router requires the Vite RSC plugin, which is included automatically by rango().",
292
292
  );
293
293
  }
@@ -32,18 +32,22 @@ export function makeStubId(
32
32
  }
33
33
 
34
34
  /**
35
- * Generate an 8-char hex hash for an inline static handler call site.
36
- * Uses file path and line number (plus optional index for same-line collisions).
35
+ * Generate an 8-char hex hash for an inline handler call site.
36
+ *
37
+ * Keyed on the source-order INDEX of the call (the Nth inline `fnName(...)` in
38
+ * the file), NOT its line number. Line numbers shift between the prerender
39
+ * build context and the production build context (preceding transforms differ,
40
+ * e.g. plugin-react boilerplate), which would desync the prerender manifest key
41
+ * from the runtime handler id and break prerender/static freezing. The
42
+ * source-order index is invariant to line shifts; `fnName` keeps Static and
43
+ * Prerender inline ids from colliding at the same index.
37
44
  */
38
45
  export function hashInlineId(
39
46
  filePath: string,
40
- lineNumber: number,
41
- index?: number,
47
+ fnName: string,
48
+ index: number,
42
49
  ): string {
43
- const input =
44
- index !== undefined && index > 0
45
- ? `${filePath}:${lineNumber}:${index}`
46
- : `${filePath}:${lineNumber}`;
50
+ const input = `${filePath}:${fnName}:${index}`;
47
51
  return crypto.createHash("sha256").update(input).digest("hex").slice(0, 8);
48
52
  }
49
53
 
@@ -119,6 +119,28 @@ export function getCalledIdentifierFromCall(callExpr: any): string | null {
119
119
  return null;
120
120
  }
121
121
 
122
+ /**
123
+ * plugin-react's dev Fast Refresh wraps exports whose function body uses
124
+ * hook-like calls in a signature-registration call. A loader/handle that calls
125
+ * `ctx.use(...)` trips this heuristic, so `export const X = createLoader(...)`
126
+ * becomes `export const X = _s(createLoader(...), "<sig>", true)` — the create*
127
+ * call is the first argument of an unrelated wrapper call. Unwrap a single such
128
+ * layer so ID injection still targets the inner create* call. The `$$id`
129
+ * assignment is appended after the whole statement (against the export local),
130
+ * which is unaffected by the wrapper since `_s(x)` returns `x`.
131
+ */
132
+ function unwrapSignatureWrappedCall(init: any, fnNameSet: Set<string>): any {
133
+ if (init?.type !== "CallExpression") return init;
134
+ const directId = getCalledIdentifierFromCall(init);
135
+ if (directId && fnNameSet.has(directId)) return init;
136
+ const firstArg = init.arguments?.[0];
137
+ if (firstArg?.type === "CallExpression") {
138
+ const innerId = getCalledIdentifierFromCall(firstArg);
139
+ if (innerId && fnNameSet.has(innerId)) return firstArg;
140
+ }
141
+ return init;
142
+ }
143
+
122
144
  export function collectCreateExportBindingsFallback(
123
145
  code: string,
124
146
  fnNames: string[],
@@ -196,7 +218,7 @@ export function collectCreateExportBindings(
196
218
  ): CreateExportBinding[] {
197
219
  if (!program) {
198
220
  try {
199
- program = parseAst(code, { jsx: true });
221
+ program = parseAst(code, { lang: "tsx" });
200
222
  } catch {
201
223
  return collectCreateExportBindingsFallback(code, fnNames);
202
224
  }
@@ -212,10 +234,13 @@ export function collectCreateExportBindings(
212
234
  }
213
235
 
214
236
  for (const decl of varDecl.declarations ?? []) {
215
- const calledIdentifier = getCalledIdentifierFromCall(decl?.init);
237
+ // Unwrap a Fast Refresh signature wrapper (`_s(createLoader(...), ...)`)
238
+ // so injection targets the inner create* call. Falls back to decl.init.
239
+ const callExpr = unwrapSignatureWrappedCall(decl?.init, fnNameSet);
240
+ const calledIdentifier = getCalledIdentifierFromCall(callExpr);
216
241
  if (
217
242
  decl?.id?.type !== "Identifier" ||
218
- decl?.init?.type !== "CallExpression" ||
243
+ callExpr?.type !== "CallExpression" ||
219
244
  !calledIdentifier ||
220
245
  !fnNameSet.has(calledIdentifier)
221
246
  ) {
@@ -226,9 +251,8 @@ export function collectCreateExportBindings(
226
251
  const exportNames = exportMap.get(localName) ?? [];
227
252
  if (exportNames.length === 0) continue;
228
253
 
229
- const callStart = decl.init.start as number;
230
- const callEnd = decl.init.end as number;
231
- const calleeEnd = decl.init.callee.end as number;
254
+ const callEnd = callExpr.end as number;
255
+ const calleeEnd = callExpr.callee.end as number;
232
256
 
233
257
  let openParenPos = -1;
234
258
  for (let i = calleeEnd; i < callEnd; i++) {
@@ -245,10 +269,10 @@ export function collectCreateExportBindings(
245
269
  bindings.push({
246
270
  localName,
247
271
  exportNames,
248
- callExprStart: decl.init.start as number,
272
+ callExprStart: callExpr.start as number,
249
273
  callOpenParenPos: openParenPos,
250
274
  callCloseParenPos: closeParenPos,
251
- argCount: decl.init.arguments?.length ?? 0,
275
+ argCount: callExpr.arguments?.length ?? 0,
252
276
  statementEnd,
253
277
  });
254
278
  }
@@ -284,7 +308,7 @@ export function buildUnsupportedShapeWarning(
284
308
  fnName: string,
285
309
  ): string {
286
310
  return [
287
- `[rsc-router] Unsupported ${fnName} shape in "${filePath}".`,
311
+ `[rango] Unsupported ${fnName} shape in "${filePath}".`,
288
312
  `Supported shapes are:`,
289
313
  ` - export const X = ${fnName}(...)`,
290
314
  ` - const X = ${fnName}(...); export { X }`,
@@ -335,7 +335,7 @@ ${lazyImports.join(",\n")}
335
335
  }
336
336
  if (_cachedAst !== undefined || _astParseFailed) return _cachedAst;
337
337
  try {
338
- _cachedAst = parseAst(code, { jsx: true });
338
+ _cachedAst = parseAst(code, { lang: "tsx" });
339
339
  } catch {
340
340
  _astParseFailed = true;
341
341
  }
@@ -48,25 +48,21 @@ export function patchRsdwClientDebugInfoRecovery(code: string): {
48
48
 
49
49
  export function performanceTracksOptimizeDepsPlugin(): {
50
50
  name: string;
51
- setup(build: any): void;
51
+ load(id: string): Promise<{ code: string } | null>;
52
52
  } {
53
+ const RSDW_CLIENT_RE =
54
+ /react-server-dom-webpack-client\.browser\.(development|production)\.js$/;
53
55
  return {
54
56
  name: "@rangojs/router:performance-tracks-optimize-deps",
55
- setup(build: any): void {
56
- build.onLoad(
57
- {
58
- filter:
59
- /react-server-dom-webpack-client\.browser\.(development|production)\.js$/,
60
- },
61
- async (args: { path: string }) => {
62
- const code = await readFile(args.path, "utf8");
63
- const patched = patchRsdwClientDebugInfoRecovery(code);
64
- return {
65
- contents: patched.code,
66
- loader: "js",
67
- };
68
- },
69
- );
57
+ // Vite 8 optimizes deps with Rolldown (Rollup-style plugin pipeline), so the
58
+ // pre-bundled RSDW client is patched via load() rather than esbuild's onLoad.
59
+ // Returning code overrides Rolldown's default filesystem read for the module.
60
+ async load(id: string): Promise<{ code: string } | null> {
61
+ const cleanId = id.split("?")[0] ?? id;
62
+ if (!RSDW_CLIENT_RE.test(cleanId)) return null;
63
+ const code = await readFile(cleanId, "utf8");
64
+ const patched = patchRsdwClientDebugInfoRecovery(code);
65
+ return { code: patched.code };
70
66
  },
71
67
  };
72
68
  }
@@ -84,7 +84,7 @@ export function useCacheTransform(): Plugin {
84
84
  let ast: any;
85
85
  try {
86
86
  const { parseAst } = await import("vite");
87
- ast = parseAst(code);
87
+ ast = parseAst(code, { lang: "tsx" });
88
88
  } catch {
89
89
  return;
90
90
  }
@@ -18,7 +18,7 @@ function getClientModuleSignature(
18
18
  ): ClientModuleSignature | undefined {
19
19
  let program: any;
20
20
  try {
21
- program = parseAst(source, { jsx: true });
21
+ program = parseAst(source, { lang: "tsx" });
22
22
  } catch {
23
23
  return undefined;
24
24
  }
@@ -141,7 +141,7 @@ export function createVersionPlugin(): Plugin {
141
141
  // Use timestamp + counter to guarantee uniqueness even when multiple
142
142
  // bumps happen within the same millisecond (e.g. cascading HMR events).
143
143
  currentVersion = Date.now().toString(16) + String(++versionCounter);
144
- console.log(`[rsc-router] ${reason}, version updated: ${currentVersion}`);
144
+ console.log(`[rango] ${reason}, version updated: ${currentVersion}`);
145
145
 
146
146
  const rscEnv = server?.environments?.rsc;
147
147
  const versionMod = rscEnv?.moduleGraph?.getModuleById(
@@ -14,7 +14,7 @@ import {
14
14
  import { createElement, StrictMode } from "react";
15
15
  import { hydrateRoot } from "react-dom/client";
16
16
  import { rscStream } from "@rangojs/router/internal/deps/html-stream-client";
17
- import { initBrowserApp, RSCRouter } from "@rangojs/router/browser";
17
+ import { initBrowserApp, Rango } from "@rangojs/router/browser";
18
18
 
19
19
  async function initializeApp() {
20
20
  const deps = {
@@ -29,7 +29,7 @@ async function initializeApp() {
29
29
 
30
30
  hydrateRoot(
31
31
  document,
32
- createElement(StrictMode, null, createElement(RSCRouter))
32
+ createElement(StrictMode, null, createElement(Rango))
33
33
  );
34
34
  }
35
35