@rangojs/router 0.0.0-experimental.125 → 0.0.0-experimental.127

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 (902) hide show
  1. package/README.md +6 -4
  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 +5 -1
  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/{src/handles/index.ts → dist/handles/index.d.ts} +1 -2
  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 +361 -65
  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 -1
  809. package/skills/breadcrumbs/SKILL.md +60 -0
  810. package/skills/observability/SKILL.md +12 -3
  811. package/skills/prerender/SKILL.md +30 -11
  812. package/skills/router-setup/SKILL.md +11 -3
  813. package/skills/server-actions/SKILL.md +25 -1
  814. package/skills/testing/SKILL.md +17 -17
  815. package/skills/testing/cache-prerender.md +29 -3
  816. package/skills/testing/flight.md +13 -10
  817. package/skills/testing/render-handler.md +3 -0
  818. package/skills/testing/server-tree.md +1 -1
  819. package/skills/testing/setup.md +1 -1
  820. package/src/browser/partial-update.ts +22 -1
  821. package/src/browser/react/use-router.ts +2 -1
  822. package/src/browser/rsc-router.tsx +8 -1
  823. package/src/browser/server-action-bridge.ts +51 -3
  824. package/src/browser/types.ts +23 -4
  825. package/src/browser/validate-redirect-origin.ts +43 -15
  826. package/src/build/index.ts +8 -9
  827. package/src/build/route-trie.ts +43 -11
  828. package/src/build/route-types/codegen.ts +12 -1
  829. package/src/cache/cache-runtime.ts +21 -0
  830. package/src/cache/cache-scope.ts +20 -0
  831. package/src/cache/document-cache.ts +10 -0
  832. package/src/cache/profile-registry.ts +6 -34
  833. package/src/client.rsc.tsx +3 -0
  834. package/src/client.tsx +5 -0
  835. package/src/cloudflare/index.ts +11 -0
  836. package/src/cloudflare/tracing.ts +109 -0
  837. package/src/context-var.ts +12 -0
  838. package/src/defer.ts +196 -0
  839. package/src/handles/breadcrumbs.ts +16 -5
  840. package/src/index.rsc.ts +26 -2
  841. package/src/index.ts +23 -1
  842. package/src/redirect-origin.ts +100 -0
  843. package/src/route-definition/dsl-helpers.ts +19 -0
  844. package/src/route-definition/redirect.ts +32 -8
  845. package/src/route-definition/resolve-handler-use.ts +6 -0
  846. package/src/router/find-match.ts +0 -1
  847. package/src/router/instrument.ts +230 -0
  848. package/src/router/loader-resolution.ts +37 -31
  849. package/src/router/match-middleware/cache-lookup.ts +104 -139
  850. package/src/router/match-middleware/cache-store.ts +12 -0
  851. package/src/router/match-middleware/segment-resolution.ts +0 -1
  852. package/src/router/middleware-types.ts +0 -1
  853. package/src/router/middleware.ts +94 -33
  854. package/src/router/pattern-matching.ts +4 -23
  855. package/src/router/prerender-match.ts +32 -8
  856. package/src/router/revalidation.ts +9 -4
  857. package/src/router/route-snapshot.ts +0 -1
  858. package/src/router/router-context.ts +2 -2
  859. package/src/router/router-interfaces.ts +18 -0
  860. package/src/router/router-options.ts +58 -4
  861. package/src/router/segment-resolution/fresh.ts +15 -18
  862. package/src/router/segment-resolution/helpers.ts +6 -0
  863. package/src/router/segment-resolution/loader-cache.ts +30 -10
  864. package/src/router/segment-resolution/revalidation.ts +194 -261
  865. package/src/router/segment-wrappers.ts +3 -5
  866. package/src/router/telemetry-otel.ts +161 -179
  867. package/src/router/tracing.ts +198 -0
  868. package/src/router/trie-matching.ts +3 -5
  869. package/src/router.ts +13 -9
  870. package/src/rsc/handler-context.ts +1 -0
  871. package/src/rsc/handler.ts +135 -130
  872. package/src/rsc/helpers.ts +56 -3
  873. package/src/rsc/json-route-result.ts +38 -0
  874. package/src/rsc/loader-fetch.ts +7 -1
  875. package/src/rsc/origin-guard.ts +10 -4
  876. package/src/rsc/progressive-enhancement.ts +17 -2
  877. package/src/rsc/redirect-guard.ts +99 -0
  878. package/src/rsc/response-route-handler.ts +23 -18
  879. package/src/rsc/rsc-rendering.ts +38 -14
  880. package/src/rsc/server-action.ts +32 -8
  881. package/src/rsc/types.ts +6 -2
  882. package/src/segment-system.tsx +4 -1
  883. package/src/server/request-context.ts +35 -18
  884. package/src/testing/cache-status.ts +44 -1
  885. package/src/testing/dispatch.ts +43 -6
  886. package/src/testing/e2e/index.ts +1 -0
  887. package/src/testing/flight.ts +48 -2
  888. package/src/testing/index.ts +1 -0
  889. package/src/testing/render-handler.ts +31 -12
  890. package/src/testing/render-route.tsx +75 -13
  891. package/src/types/handler-context.ts +28 -1
  892. package/src/vite/discovery/discover-routers.ts +22 -11
  893. package/src/vite/discovery/prerender-collection.ts +28 -41
  894. package/src/vite/discovery/state.ts +11 -0
  895. package/src/vite/plugin-types.ts +56 -7
  896. package/src/vite/plugins/expose-ids/router-transform.ts +10 -0
  897. package/src/vite/plugins/refresh-cmd.ts +1 -1
  898. package/src/vite/plugins/use-cache-transform.ts +21 -10
  899. package/src/vite/rango.ts +2 -0
  900. package/src/vite/router-discovery.ts +16 -3
  901. package/src/vite/utils/prerender-utils.ts +36 -0
  902. package/src/router/middleware-cookies.ts +0 -42
@@ -1192,7 +1192,10 @@ function transformRouter(code, filePath, routerFnNames, absolutePath) {
1192
1192
  const basename2 = path3.basename(filePath).replace(/\.(tsx?|jsx?)$/, "");
1193
1193
  const routeNamesImport = `./${basename2}.named-routes.gen.js`;
1194
1194
  const routeNamesVar = `__rsc_rn`;
1195
+ const codeOffsets = new Set(codeMatchIndices(code, pat));
1196
+ pat.lastIndex = 0;
1195
1197
  while ((match = pat.exec(code)) !== null) {
1198
+ if (!codeOffsets.has(match.index)) continue;
1196
1199
  const callStart = match.index;
1197
1200
  const parenPos = match.index + match[0].length - 1;
1198
1201
  const closeParen = findMatchingParen(code, parenPos + 1);
@@ -1841,7 +1844,7 @@ function useCacheTransform() {
1841
1844
  };
1842
1845
  }
1843
1846
  function transformFileLevelUseCache(code, ast, filePath, sourceId, isBuild, isLayoutOrTemplate, transformWrapExport) {
1844
- const nonFunctionExports = [];
1847
+ const unconfirmedExports = [];
1845
1848
  const { exportNames, output } = transformWrapExport(code, ast, {
1846
1849
  runtime: (value, name) => {
1847
1850
  const funcId = isBuild ? hashId(filePath, name) : `${filePath}#${name}`;
@@ -1850,16 +1853,17 @@ function transformFileLevelUseCache(code, ast, filePath, sourceId, isBuild, isLa
1850
1853
  rejectNonAsyncFunction: false,
1851
1854
  filter: (name, meta) => {
1852
1855
  if (name === "default" && isLayoutOrTemplate) return false;
1853
- if (meta.isFunction === false) {
1854
- nonFunctionExports.push(name);
1856
+ if (meta.isFunction !== true) {
1857
+ unconfirmedExports.push(name);
1855
1858
  return false;
1856
1859
  }
1857
1860
  return true;
1858
1861
  }
1859
1862
  });
1860
- if (nonFunctionExports.length > 0) {
1863
+ if (unconfirmedExports.length > 0) {
1864
+ const plural = unconfirmedExports.length > 1;
1861
1865
  throw new Error(
1862
- `[rango:use-cache] File-level "use cache" in ${sourceId} cannot wrap non-function export${nonFunctionExports.length > 1 ? "s" : ""}: ${nonFunctionExports.map((n) => `"${n}"`).join(", ")}. Only function exports can be cached. Either remove "use cache" from the file level and add it inside individual functions, or move the non-function exports to a separate module.`
1866
+ `[rango:use-cache] File-level "use cache" in ${sourceId} only wraps exports that are statically-confirmed functions. ${plural ? "These exports are" : "This export is"} not: ${unconfirmedExports.map((n) => `"${n}"`).join(", ")}. Declare them directly (export async function foo() {} or export const foo = async () => {}). A factory or otherwise statically-indeterminate initializer (export const foo = makeCached(fn)) is rejected even if it returns a function at runtime -- rewrite it as a direct async function, or move non-function exports to a separate module.`
1863
1867
  );
1864
1868
  }
1865
1869
  if (exportNames.length === 0) {
@@ -2129,7 +2133,7 @@ import { resolve } from "node:path";
2129
2133
  // package.json
2130
2134
  var package_default = {
2131
2135
  name: "@rangojs/router",
2132
- version: "0.0.0-experimental.125",
2136
+ version: "0.0.0-experimental.127",
2133
2137
  description: "Django-inspired RSC router with composable URL patterns",
2134
2138
  keywords: [
2135
2139
  "react",
@@ -2239,6 +2243,11 @@ var package_default = {
2239
2243
  "react-server": "./src/cache/cache-runtime.ts",
2240
2244
  default: "./src/cache/cache-runtime.ts"
2241
2245
  },
2246
+ "./cloudflare": {
2247
+ types: "./src/cloudflare/index.ts",
2248
+ "react-server": "./src/cloudflare/index.ts",
2249
+ default: "./src/cloudflare/index.ts"
2250
+ },
2242
2251
  "./theme": {
2243
2252
  types: "./src/theme/index.ts",
2244
2253
  default: "./src/theme/index.ts"
@@ -2531,16 +2540,44 @@ export const NamedRoutes = {
2531
2540
  ${objectBody}
2532
2541
  } as const;
2533
2542
 
2543
+ // Aliased so the augmentation below does not pay a homomorphic mapped-type
2544
+ // instantiation per route; \`as const\` already makes the members readonly.
2545
+ type NamedRoutesShape = typeof NamedRoutes;
2546
+
2534
2547
  declare global {
2535
2548
  namespace Rango {
2536
- interface GeneratedRouteMap extends Readonly<typeof NamedRoutes> {}
2549
+ interface GeneratedRouteMap extends NamedRoutesShape {}
2537
2550
  }
2538
2551
  }
2539
2552
  `;
2540
2553
  }
2541
2554
 
2542
2555
  // src/build/route-types/scan-filter.ts
2556
+ import { join, relative } from "node:path";
2543
2557
  import picomatch from "picomatch";
2558
+ var DEFAULT_EXCLUDE_PATTERNS = [
2559
+ "**/__tests__/**",
2560
+ "**/__mocks__/**",
2561
+ "**/dist/**",
2562
+ "**/coverage/**",
2563
+ "**/*.test.{ts,tsx,js,jsx}",
2564
+ "**/*.spec.{ts,tsx,js,jsx}"
2565
+ ];
2566
+ function createScanFilter(root, opts) {
2567
+ const { include, exclude } = opts;
2568
+ const hasInclude = include && include.length > 0;
2569
+ const hasCustomExclude = exclude !== void 0;
2570
+ if (!hasInclude && !hasCustomExclude) return void 0;
2571
+ const effectiveExclude = exclude ?? DEFAULT_EXCLUDE_PATTERNS;
2572
+ const includeMatcher = hasInclude ? picomatch(include) : null;
2573
+ const excludeMatcher = effectiveExclude.length > 0 ? picomatch(effectiveExclude) : null;
2574
+ return (absolutePath) => {
2575
+ const rel = relative(root, absolutePath);
2576
+ if (excludeMatcher && excludeMatcher(rel)) return false;
2577
+ if (includeMatcher) return includeMatcher(rel);
2578
+ return true;
2579
+ };
2580
+ }
2544
2581
 
2545
2582
  // src/build/route-types/per-module-writer.ts
2546
2583
  import ts4 from "typescript";
@@ -2809,7 +2846,7 @@ import {
2809
2846
  readdirSync
2810
2847
  } from "node:fs";
2811
2848
  import {
2812
- join,
2849
+ join as join2,
2813
2850
  dirname as dirname2,
2814
2851
  resolve as resolve3,
2815
2852
  sep,
@@ -2845,7 +2882,7 @@ function findRouterFilesRecursive(dir, filter, results) {
2845
2882
  const childDirs = [];
2846
2883
  const routerFilesInDir = [];
2847
2884
  for (const entry of entries) {
2848
- const fullPath = join(dir, entry.name);
2885
+ const fullPath = join2(dir, entry.name);
2849
2886
  if (entry.isDirectory()) {
2850
2887
  if (entry.name === "node_modules" || entry.name === "dist" || entry.name === "coverage" || entry.name === "__tests__" || entry.name === "__mocks__" || entry.name.startsWith("."))
2851
2888
  continue;
@@ -3005,7 +3042,7 @@ function applyBasenameToRoutes(result, basename2) {
3005
3042
  }
3006
3043
  function genFileTsPath(sourceFile) {
3007
3044
  const base = pathBasename(sourceFile).replace(/\.(tsx?|jsx?)$/, "");
3008
- return join(dirname2(sourceFile), `${base}.named-routes.gen.ts`);
3045
+ return join2(dirname2(sourceFile), `${base}.named-routes.gen.ts`);
3009
3046
  }
3010
3047
  function resolveSearchSchemas(publicRouteNames, runtimeSchemas, sourceFile) {
3011
3048
  if (runtimeSchemas && Object.keys(runtimeSchemas).length > 0) {
@@ -3071,7 +3108,7 @@ function findRouterFiles(root, filter) {
3071
3108
  }
3072
3109
  function writeCombinedRouteTypes(root, knownRouterFiles, opts) {
3073
3110
  try {
3074
- const oldCombinedPath = join(root, "src", "named-routes.gen.ts");
3111
+ const oldCombinedPath = join2(root, "src", "named-routes.gen.ts");
3075
3112
  if (existsSync3(oldCombinedPath)) {
3076
3113
  unlinkSync(oldCombinedPath);
3077
3114
  console.log(
@@ -3499,7 +3536,7 @@ function getManualChunks(id) {
3499
3536
  }
3500
3537
 
3501
3538
  // src/vite/plugins/client-ref-hashing.ts
3502
- import { relative } from "node:path";
3539
+ import { relative as relative2 } from "node:path";
3503
3540
  import { createHash as createHash2 } from "node:crypto";
3504
3541
  var debug7 = createRangoDebugger(NS.transform);
3505
3542
  var CLIENT_PKG_PROXY_PREFIX = "/@id/__x00__virtual:vite-rsc/client-package-proxy/";
@@ -3516,10 +3553,10 @@ function computeProductionHash(projectRoot, refKey) {
3516
3553
  const absPath = decodeURIComponent(
3517
3554
  refKey.slice(CLIENT_IN_SERVER_PKG_PROXY_PREFIX.length)
3518
3555
  );
3519
- toHash = relative(projectRoot, absPath).replaceAll("\\", "/");
3556
+ toHash = relative2(projectRoot, absPath).replaceAll("\\", "/");
3520
3557
  } else if (refKey.startsWith(FS_PREFIX)) {
3521
3558
  const absPath = refKey.slice(FS_PREFIX.length - 1);
3522
- toHash = relative(projectRoot, absPath).replaceAll("\\", "/");
3559
+ toHash = relative2(projectRoot, absPath).replaceAll("\\", "/");
3523
3560
  } else if (refKey.startsWith("/")) {
3524
3561
  toHash = refKey.slice(1);
3525
3562
  } else {
@@ -4054,6 +4091,49 @@ function checkSelfGenWrite(state, filePath, consume) {
4054
4091
  }
4055
4092
  }
4056
4093
 
4094
+ // src/router/logging.ts
4095
+ import { AsyncLocalStorage } from "node:async_hooks";
4096
+
4097
+ // src/internal-debug.ts
4098
+ var INTERNAL_RANGO_DEBUG = typeof __RANGO_DEBUG__ !== "undefined" ? __RANGO_DEBUG__ : typeof process !== "undefined" && Boolean(process.env?.INTERNAL_RANGO_DEBUG);
4099
+
4100
+ // src/router/logging.ts
4101
+ var routerLogContext = new AsyncLocalStorage();
4102
+
4103
+ // src/router/pattern-matching.ts
4104
+ function parsePattern(pattern) {
4105
+ const segments = [];
4106
+ const segmentRegex = /\/(:([a-zA-Z_][a-zA-Z0-9_]*)(\(([^)]+)\))?(\?)?([^/]*)|(\*)|([^/]+))/g;
4107
+ let match;
4108
+ while ((match = segmentRegex.exec(pattern)) !== null) {
4109
+ const [
4110
+ ,
4111
+ ,
4112
+ paramName,
4113
+ ,
4114
+ constraint,
4115
+ optional,
4116
+ suffix,
4117
+ wildcard,
4118
+ staticText
4119
+ ] = match;
4120
+ if (wildcard) {
4121
+ segments.push({ type: "wildcard", value: "*", optional: false });
4122
+ } else if (paramName) {
4123
+ segments.push({
4124
+ type: "param",
4125
+ value: paramName,
4126
+ optional: optional === "?",
4127
+ constraint: constraint ? constraint.split("|") : void 0,
4128
+ suffix: suffix || void 0
4129
+ });
4130
+ } else if (staticText) {
4131
+ segments.push({ type: "static", value: staticText, optional: false });
4132
+ }
4133
+ }
4134
+ return segments;
4135
+ }
4136
+
4057
4137
  // src/build/prefix-tree-utils.ts
4058
4138
  function flattenLeafEntries(prefixTree, routeManifest, result) {
4059
4139
  function visit(node, ancestorStaticPrefixes) {
@@ -4096,6 +4176,216 @@ function buildRouteToStaticPrefix(prefixTree, result) {
4096
4176
  }
4097
4177
  }
4098
4178
 
4179
+ // src/build/route-trie.ts
4180
+ function buildRouteTrie(routeManifest, routeAncestry, routeToStaticPrefix, routeTrailingSlash, prerenderRouteNames, passthroughRouteNames, responseTypeRoutes) {
4181
+ const root = {};
4182
+ for (const [routeName, pattern] of Object.entries(routeManifest)) {
4183
+ const ancestry = routeAncestry[routeName] || [];
4184
+ const staticPrefix = routeToStaticPrefix[routeName] || "";
4185
+ const trailingSlash = routeTrailingSlash?.[routeName];
4186
+ const responseType = responseTypeRoutes?.[routeName];
4187
+ const hasTrailingSlash = pattern.length > 1 && pattern.endsWith("/");
4188
+ const normalizedPattern = hasTrailingSlash ? pattern.slice(0, -1) : pattern;
4189
+ const segments = parsePattern(normalizedPattern);
4190
+ insertRoute(root, segments, 0, {
4191
+ n: routeName,
4192
+ sp: staticPrefix,
4193
+ a: ancestry,
4194
+ ...trailingSlash ? { ts: trailingSlash } : {},
4195
+ ...prerenderRouteNames?.has(routeName) ? { pr: true } : {},
4196
+ ...passthroughRouteNames?.has(routeName) ? { pt: true } : {},
4197
+ ...responseType ? { rt: responseType } : {}
4198
+ });
4199
+ }
4200
+ sortSuffixParams(root);
4201
+ return root;
4202
+ }
4203
+ function sortSuffixParams(node) {
4204
+ if (node.xp) {
4205
+ const sorted = {};
4206
+ for (const suffix of Object.keys(node.xp).sort(
4207
+ (a, b) => b.length - a.length
4208
+ )) {
4209
+ sorted[suffix] = node.xp[suffix];
4210
+ }
4211
+ node.xp = sorted;
4212
+ }
4213
+ if (node.s) {
4214
+ for (const child of Object.values(node.s)) {
4215
+ sortSuffixParams(child);
4216
+ }
4217
+ }
4218
+ if (node.p) {
4219
+ sortSuffixParams(node.p.c);
4220
+ }
4221
+ if (node.xp) {
4222
+ for (const child of Object.values(node.xp)) {
4223
+ sortSuffixParams(child.c);
4224
+ }
4225
+ }
4226
+ }
4227
+ function buildPerRouterTrie(manifest) {
4228
+ const ancestry = manifest._routeAncestry;
4229
+ if (!ancestry || Object.keys(ancestry).length === 0) {
4230
+ return null;
4231
+ }
4232
+ const routeToStaticPrefix = {};
4233
+ for (const name of Object.keys(manifest.routeManifest)) {
4234
+ routeToStaticPrefix[name] = "";
4235
+ }
4236
+ if (manifest.prefixTree) {
4237
+ buildRouteToStaticPrefix(manifest.prefixTree, routeToStaticPrefix);
4238
+ }
4239
+ return buildRouteTrie(
4240
+ manifest.routeManifest,
4241
+ ancestry,
4242
+ routeToStaticPrefix,
4243
+ manifest.routeTrailingSlash,
4244
+ manifest.prerenderRoutes ? new Set(manifest.prerenderRoutes) : void 0,
4245
+ manifest.passthroughRoutes ? new Set(manifest.passthroughRoutes) : void 0,
4246
+ manifest.responseTypeRoutes
4247
+ );
4248
+ }
4249
+ function insertRoute(node, segments, index, leaf) {
4250
+ const constraints = {};
4251
+ for (const seg of segments) {
4252
+ if (seg.type === "param") {
4253
+ if (seg.constraint) {
4254
+ constraints[seg.value] = seg.constraint;
4255
+ }
4256
+ }
4257
+ }
4258
+ const leafBase = {
4259
+ ...leaf,
4260
+ ...Object.keys(constraints).length > 0 ? { cv: constraints } : {}
4261
+ };
4262
+ insertSegments(node, segments, index, leafBase, []);
4263
+ }
4264
+ function mergeLeaves(existing, leaf) {
4265
+ if (!existing) return leaf;
4266
+ if (existing.rt && leaf.rt) {
4267
+ const merged = leaf;
4268
+ merged.nv = existing.nv || [];
4269
+ merged.nv.push({ routeKey: existing.n, responseType: existing.rt });
4270
+ return merged;
4271
+ }
4272
+ if (leaf.rt && !existing.rt) {
4273
+ if (!existing.nv) {
4274
+ existing.nv = [];
4275
+ existing.rf = true;
4276
+ }
4277
+ existing.nv.push({ routeKey: leaf.n, responseType: leaf.rt });
4278
+ return existing;
4279
+ }
4280
+ if (!leaf.rt && existing.rt) {
4281
+ if (!leaf.nv) leaf.nv = [];
4282
+ if (existing.nv) leaf.nv.push(...existing.nv);
4283
+ leaf.nv.push({ routeKey: existing.n, responseType: existing.rt });
4284
+ return leaf;
4285
+ }
4286
+ return leaf;
4287
+ }
4288
+ function mergeLeaf(node, leaf) {
4289
+ node.r = mergeLeaves(node.r, leaf);
4290
+ }
4291
+ function buildLeaf(leafBase, paramNames) {
4292
+ return paramNames.length > 0 ? { ...leafBase, pa: [...paramNames] } : { ...leafBase };
4293
+ }
4294
+ function insertSegments(node, segments, index, leafBase, paramNames) {
4295
+ if (index >= segments.length) {
4296
+ mergeLeaf(node, buildLeaf(leafBase, paramNames));
4297
+ return;
4298
+ }
4299
+ const segment = segments[index];
4300
+ if (segment.type === "static") {
4301
+ if (!node.s) node.s = {};
4302
+ if (!node.s[segment.value]) node.s[segment.value] = {};
4303
+ insertSegments(
4304
+ node.s[segment.value],
4305
+ segments,
4306
+ index + 1,
4307
+ leafBase,
4308
+ paramNames
4309
+ );
4310
+ } else if (segment.type === "param") {
4311
+ if (segment.optional) {
4312
+ insertSegments(node, segments, index + 1, leafBase, paramNames);
4313
+ }
4314
+ if (segment.suffix) {
4315
+ if (!node.xp) node.xp = {};
4316
+ if (!node.xp[segment.suffix]) {
4317
+ node.xp[segment.suffix] = { n: segment.value, c: {} };
4318
+ }
4319
+ insertSegments(node.xp[segment.suffix].c, segments, index + 1, leafBase, [
4320
+ ...paramNames,
4321
+ segment.value
4322
+ ]);
4323
+ } else {
4324
+ if (!node.p) {
4325
+ node.p = { n: segment.value, c: {} };
4326
+ }
4327
+ insertSegments(node.p.c, segments, index + 1, leafBase, [
4328
+ ...paramNames,
4329
+ segment.value
4330
+ ]);
4331
+ }
4332
+ } else if (segment.type === "wildcard") {
4333
+ const wildLeaf = {
4334
+ ...buildLeaf(leafBase, paramNames),
4335
+ pn: "*"
4336
+ };
4337
+ const existing = node.w ? { ...node.w } : void 0;
4338
+ const merged = mergeLeaves(existing, wildLeaf);
4339
+ node.w = merged;
4340
+ }
4341
+ }
4342
+
4343
+ // src/build/collect-fallback-refs.ts
4344
+ var CLIENT_REF = /* @__PURE__ */ Symbol.for("react.client.reference");
4345
+ var MAX_DEPTH = 40;
4346
+ var SYNTHETIC_PROPS = {
4347
+ error: new Error("rango: build-time fallback-chunk discovery"),
4348
+ reset: () => {
4349
+ },
4350
+ pathname: "/",
4351
+ info: { componentStack: "" }
4352
+ };
4353
+ function isReactNodeLike(v) {
4354
+ return Array.isArray(v) || typeof v === "object" && v !== null && "$$typeof" in v;
4355
+ }
4356
+ function walkElementTree(node, report, depth) {
4357
+ if (node == null || depth > MAX_DEPTH) return;
4358
+ if (Array.isArray(node)) {
4359
+ for (const child of node) walkElementTree(child, report, depth + 1);
4360
+ return;
4361
+ }
4362
+ if (typeof node !== "object") return;
4363
+ const el = node;
4364
+ const type = el.type;
4365
+ if (type?.$$typeof === CLIENT_REF && typeof type.$$id === "string") {
4366
+ report(type.$$id.split("#")[0]);
4367
+ }
4368
+ const props = el.props;
4369
+ if (props && typeof props === "object") {
4370
+ walkElementTree(props.children, report, depth + 1);
4371
+ for (const key in props) {
4372
+ if (key === "children") continue;
4373
+ const value = props[key];
4374
+ if (isReactNodeLike(value)) walkElementTree(value, report, depth + 1);
4375
+ }
4376
+ }
4377
+ }
4378
+ function collectFallbackClientRefs(boundary, report) {
4379
+ try {
4380
+ let node = boundary;
4381
+ if (typeof node === "function") {
4382
+ node = node(SYNTHETIC_PROPS);
4383
+ }
4384
+ walkElementTree(node, report, 0);
4385
+ } catch {
4386
+ }
4387
+ }
4388
+
4099
4389
  // src/vite/utils/manifest-utils.ts
4100
4390
  function jsonParseExpression(value) {
4101
4391
  const json = JSON.stringify(value);
@@ -4104,6 +4394,9 @@ function jsonParseExpression(value) {
4104
4394
  }
4105
4395
 
4106
4396
  // src/context-var.ts
4397
+ function hasContextVars(variables) {
4398
+ return Object.keys(variables).length > 0 || Object.getOwnPropertySymbols(variables).length > 0;
4399
+ }
4107
4400
  var NON_CACHEABLE_KEYS = /* @__PURE__ */ Symbol.for(
4108
4401
  "rango:non-cacheable-keys"
4109
4402
  );
@@ -4240,6 +4533,23 @@ function notifyOnError(registry, error, phase, routeKey, pathname, skipped) {
4240
4533
  break;
4241
4534
  }
4242
4535
  }
4536
+ function resolvePrerenderError(registry, error, onError, label, elapsed, phase, routeKey, pathname) {
4537
+ const isSkip = error?.name === "Skip";
4538
+ if (isSkip || onError === "warn") {
4539
+ if (isSkip) {
4540
+ console.log(`[rango] SKIP ${label} (${elapsed}ms) - ${error.message}`);
4541
+ } else {
4542
+ console.warn(
4543
+ `[rango] WARN ${label} (${elapsed}ms) - render error, not pre-rendered (prerender.onError: "warn"): ${error.message}`
4544
+ );
4545
+ }
4546
+ notifyOnError(registry, error, phase, routeKey, pathname, true);
4547
+ return;
4548
+ }
4549
+ console.error(`[rango] FAIL ${label} (${elapsed}ms) - ${error.message}`);
4550
+ notifyOnError(registry, error, phase, routeKey, pathname);
4551
+ throw error;
4552
+ }
4243
4553
  function getStagedAssetDir(projectRoot) {
4244
4554
  return resolve5(projectRoot, "node_modules/.rangojs-router-build/rsc-assets");
4245
4555
  }
@@ -4356,7 +4666,7 @@ async function expandPrerenderRoutes(state, rscEnv, registry, allManifests) {
4356
4666
  (performance.now() - getParamsStart).toFixed(1)
4357
4667
  );
4358
4668
  const concurrency = def.options?.concurrency ?? 1;
4359
- const hasBuildVars = Object.keys(buildVars).length > 0 || Object.getOwnPropertySymbols(buildVars).length > 0;
4669
+ const hasBuildVars = hasContextVars(buildVars);
4360
4670
  for (const params of paramsList) {
4361
4671
  let url = substituteRouteParams(
4362
4672
  pattern,
@@ -4441,6 +4751,7 @@ async function expandPrerenderRoutes(state, rscEnv, registry, allManifests) {
4441
4751
  const manifestEntries = {};
4442
4752
  let doneCount = 0;
4443
4753
  let skipCount = 0;
4754
+ const prerenderOnError = state.opts?.prerenderOnError ?? "fail";
4444
4755
  const startTotal = performance.now();
4445
4756
  const groups = groupByConcurrency(entries);
4446
4757
  for (const group of groups) {
@@ -4500,34 +4811,19 @@ async function expandPrerenderRoutes(state, rscEnv, registry, allManifests) {
4500
4811
  doneCount++;
4501
4812
  break;
4502
4813
  } catch (err) {
4503
- if (err.name === "Skip") {
4504
- const elapsed2 = (performance.now() - startUrl).toFixed(0);
4505
- console.log(
4506
- `[rango] SKIP ${entry.urlPath.padEnd(40)} (${elapsed2}ms) - ${err.message}`
4507
- );
4508
- skipCount++;
4509
- notifyOnError(
4510
- registry,
4511
- err,
4512
- "prerender",
4513
- entry.routeName,
4514
- entry.urlPath,
4515
- true
4516
- );
4517
- break;
4518
- }
4519
4814
  const elapsed = (performance.now() - startUrl).toFixed(0);
4520
- console.error(
4521
- `[rango] FAIL ${entry.urlPath.padEnd(40)} (${elapsed}ms) - ${err.message}`
4522
- );
4523
- notifyOnError(
4815
+ resolvePrerenderError(
4524
4816
  registry,
4525
4817
  err,
4818
+ prerenderOnError,
4819
+ entry.urlPath.padEnd(40),
4820
+ elapsed,
4526
4821
  "prerender",
4527
4822
  entry.routeName,
4528
4823
  entry.urlPath
4529
4824
  );
4530
- throw err;
4825
+ skipCount++;
4826
+ break;
4531
4827
  }
4532
4828
  }
4533
4829
  }
@@ -4562,6 +4858,7 @@ async function renderStaticHandlers(state, rscEnv, registry) {
4562
4858
  let staticDone = 0;
4563
4859
  let staticSkip = 0;
4564
4860
  let totalStaticCount = 0;
4861
+ const prerenderOnError = state.opts?.prerenderOnError ?? "fail";
4565
4862
  for (const [, exportNames] of state.resolvedStaticModules) {
4566
4863
  totalStaticCount += exportNames.length;
4567
4864
  }
@@ -4609,22 +4906,18 @@ async function renderStaticHandlers(state, rscEnv, registry) {
4609
4906
  break;
4610
4907
  }
4611
4908
  } catch (err) {
4612
- if (err.name === "Skip") {
4613
- const elapsed2 = (performance.now() - startHandler).toFixed(0);
4614
- console.log(
4615
- `[rango] SKIP ${name.padEnd(40)} (${elapsed2}ms) - ${err.message}`
4616
- );
4617
- staticSkip++;
4618
- notifyOnError(registry, err, "static", void 0, void 0, true);
4619
- handled = true;
4620
- break;
4621
- }
4622
4909
  const elapsed = (performance.now() - startHandler).toFixed(0);
4623
- console.error(
4624
- `[rango] FAIL ${name.padEnd(40)} (${elapsed}ms) - ${err.message}`
4910
+ resolvePrerenderError(
4911
+ registry,
4912
+ err,
4913
+ prerenderOnError,
4914
+ name.padEnd(40),
4915
+ elapsed,
4916
+ "static"
4625
4917
  );
4626
- notifyOnError(registry, err, "static");
4627
- throw err;
4918
+ staticSkip++;
4919
+ handled = true;
4920
+ break;
4628
4921
  }
4629
4922
  }
4630
4923
  if (!handled) {
@@ -4798,8 +5091,8 @@ async function discoverRouters(state, rscEnv) {
4798
5091
  computeProductionHash(state.projectRoot, refKey)
4799
5092
  ) : void 0;
4800
5093
  const collectFromBoundaryNode = (node) => {
4801
- if (collectClientFallbackRef && buildMod.collectFallbackClientRefs) {
4802
- buildMod.collectFallbackClientRefs(node, collectClientFallbackRef);
5094
+ if (collectClientFallbackRef) {
5095
+ collectFallbackClientRefs(node, collectClientFallbackRef);
4803
5096
  }
4804
5097
  };
4805
5098
  const manifestGenStart = debug10 ? performance.now() : 0;
@@ -4889,8 +5182,7 @@ async function discoverRouters(state, rscEnv) {
4889
5182
  let newMergedRouteTrie = null;
4890
5183
  const trieStart = debug10 ? performance.now() : 0;
4891
5184
  if (Object.keys(newMergedRouteManifest).length > 0) {
4892
- const buildRouteTrie = buildMod.buildRouteTrie;
4893
- if (buildRouteTrie && mergedRouteAncestry) {
5185
+ if (mergedRouteAncestry) {
4894
5186
  const routeToStaticPrefix = {};
4895
5187
  for (const { manifest } of allManifests) {
4896
5188
  for (const name of Object.keys(manifest.routeManifest)) {
@@ -4927,9 +5219,8 @@ async function discoverRouters(state, rscEnv) {
4927
5219
  passthroughRouteNames,
4928
5220
  mergedResponseTypeRoutes
4929
5221
  );
4930
- const buildPerRouterTrie = buildMod.buildPerRouterTrie;
4931
5222
  for (const { id, manifest } of allManifests) {
4932
- const perRouterTrie = buildPerRouterTrie ? buildPerRouterTrie(manifest) : null;
5223
+ const perRouterTrie = buildPerRouterTrie(manifest);
4933
5224
  if (perRouterTrie) {
4934
5225
  newPerRouterTrieMap.set(id, perRouterTrie);
4935
5226
  }
@@ -4953,7 +5244,7 @@ async function discoverRouters(state, rscEnv) {
4953
5244
  }
4954
5245
 
4955
5246
  // src/vite/discovery/route-types-writer.ts
4956
- import { dirname as dirname3, join as join2, resolve as resolve6 } from "node:path";
5247
+ import { dirname as dirname3, join as join3, resolve as resolve6 } from "node:path";
4957
5248
  import { readFileSync as readFileSync4, writeFileSync as writeFileSync3, existsSync as existsSync5, unlinkSync as unlinkSync2 } from "node:fs";
4958
5249
  function filterUserNamedRoutes(manifest) {
4959
5250
  const filtered = {};
@@ -4985,7 +5276,7 @@ function writeRouteTypesFiles(state) {
4985
5276
  const entryDir = dirname3(
4986
5277
  resolve6(state.projectRoot, state.resolvedEntryPath)
4987
5278
  );
4988
- const oldCombinedPath = join2(entryDir, "named-routes.gen.ts");
5279
+ const oldCombinedPath = join3(entryDir, "named-routes.gen.ts");
4989
5280
  if (existsSync5(oldCombinedPath)) {
4990
5281
  unlinkSync2(oldCombinedPath);
4991
5282
  console.log(
@@ -5067,7 +5358,7 @@ function supplementGenFilesWithRuntimeRoutes(state) {
5067
5358
  }
5068
5359
 
5069
5360
  // src/vite/discovery/virtual-module-codegen.ts
5070
- import { dirname as dirname4, basename, join as join3 } from "node:path";
5361
+ import { dirname as dirname4, basename, join as join4 } from "node:path";
5071
5362
  function generateRoutesManifestModule(state) {
5072
5363
  const hasManifest = state.mergedRouteManifest && Object.keys(state.mergedRouteManifest).length > 0;
5073
5364
  if (hasManifest) {
@@ -5082,7 +5373,7 @@ function generateRoutesManifestModule(state) {
5082
5373
  /\.(tsx?|jsx?)$/,
5083
5374
  ""
5084
5375
  );
5085
- const genPath = join3(
5376
+ const genPath = join4(
5086
5377
  routerDir,
5087
5378
  `${routerBasename}.named-routes.gen.js`
5088
5379
  ).replaceAll("\\", "/");
@@ -5167,7 +5458,7 @@ function generatePerRouterModule(state, routerId) {
5167
5458
  /\.(tsx?|jsx?)$/,
5168
5459
  ""
5169
5460
  );
5170
- const genPath = join3(
5461
+ const genPath = join4(
5171
5462
  routerDir,
5172
5463
  `${routerBasename}.named-routes.gen.js`
5173
5464
  ).replaceAll("\\", "/");
@@ -5589,6 +5880,7 @@ function createRouterDiscoveryPlugin(entryPath, opts) {
5589
5880
  },
5590
5881
  configResolved(config) {
5591
5882
  s.projectRoot = config.root;
5883
+ s.scanFilter = opts?.discovery ? createScanFilter(s.projectRoot, opts.discovery) : void 0;
5592
5884
  s.isBuildMode = config.command === "build";
5593
5885
  viteCommand = config.command;
5594
5886
  viteMode = config.mode;
@@ -5991,9 +6283,11 @@ ${err.stack}`
5991
6283
  logResult(200, `match ${result.routeName}`);
5992
6284
  return;
5993
6285
  } catch (err) {
5994
- console.warn(
5995
- `[rango] Dev prerender failed for ${pathname}: ${err.message}`
5996
- );
6286
+ if (err?.name !== "Skip") {
6287
+ console.warn(
6288
+ `[rango] Dev prerender error for ${pathname} (serving live instead): ${err.message}`
6289
+ );
6290
+ }
5997
6291
  }
5998
6292
  }
5999
6293
  res.statusCode = 404;
@@ -6783,6 +7077,8 @@ ${list}`);
6783
7077
  enableBuildPrerender: prerenderEnabled,
6784
7078
  buildEnv: options?.buildEnv,
6785
7079
  preset,
7080
+ prerenderOnError: options?.prerender?.onError,
7081
+ discovery: options?.discovery,
6786
7082
  clientChunkCtx
6787
7083
  })
6788
7084
  );
@@ -6798,7 +7094,7 @@ ${list}`);
6798
7094
  // src/vite/plugins/refresh-cmd.ts
6799
7095
  function poke() {
6800
7096
  return {
6801
- name: "vite-plugin-poke",
7097
+ name: "@rangojs/router:poke",
6802
7098
  apply: "serve",
6803
7099
  configureServer(server) {
6804
7100
  const stdin = process.stdin;