@rangojs/router 0.0.0-experimental.22 → 0.0.0-experimental.23

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 (814) hide show
  1. package/dist/vite/index.js +1 -1
  2. package/package.json +1 -1
  3. package/src/router/loader-resolution.ts +1 -1
  4. package/src/router/metrics.ts +90 -10
  5. package/src/router/middleware-types.ts +12 -0
  6. package/src/router/middleware.ts +55 -9
  7. package/src/router/segment-resolution/fresh.ts +18 -0
  8. package/src/router/segment-resolution/revalidation.ts +21 -6
  9. package/src/router.ts +6 -2
  10. package/src/server/context.ts +8 -2
  11. package/src/server/request-context.ts +5 -1
  12. package/dist/__internal.d.ts +0 -83
  13. package/dist/__internal.d.ts.map +0 -1
  14. package/dist/__internal.js +0 -19
  15. package/dist/__internal.js.map +0 -1
  16. package/dist/__mocks__/version.d.ts +0 -7
  17. package/dist/__mocks__/version.d.ts.map +0 -1
  18. package/dist/__mocks__/version.js +0 -7
  19. package/dist/__mocks__/version.js.map +0 -1
  20. package/dist/__tests__/client-href.test.d.ts +0 -2
  21. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  22. package/dist/__tests__/client-href.test.js +0 -74
  23. package/dist/__tests__/client-href.test.js.map +0 -1
  24. package/dist/__tests__/component-utils.test.d.ts +0 -2
  25. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  26. package/dist/__tests__/component-utils.test.js +0 -51
  27. package/dist/__tests__/component-utils.test.js.map +0 -1
  28. package/dist/__tests__/event-controller.test.d.ts +0 -2
  29. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  30. package/dist/__tests__/event-controller.test.js +0 -538
  31. package/dist/__tests__/event-controller.test.js.map +0 -1
  32. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  33. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  34. package/dist/__tests__/helpers/route-tree.js +0 -374
  35. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  36. package/dist/__tests__/match-result.test.d.ts +0 -2
  37. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  38. package/dist/__tests__/match-result.test.js +0 -154
  39. package/dist/__tests__/match-result.test.js.map +0 -1
  40. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  41. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  42. package/dist/__tests__/navigation-store.test.js +0 -440
  43. package/dist/__tests__/navigation-store.test.js.map +0 -1
  44. package/dist/__tests__/partial-update.test.d.ts +0 -2
  45. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  46. package/dist/__tests__/partial-update.test.js +0 -1009
  47. package/dist/__tests__/partial-update.test.js.map +0 -1
  48. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  49. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  50. package/dist/__tests__/reverse-types.test.js +0 -656
  51. package/dist/__tests__/reverse-types.test.js.map +0 -1
  52. package/dist/__tests__/route-definition.test.d.ts +0 -2
  53. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  54. package/dist/__tests__/route-definition.test.js +0 -55
  55. package/dist/__tests__/route-definition.test.js.map +0 -1
  56. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  57. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  58. package/dist/__tests__/router-helpers.test.js +0 -377
  59. package/dist/__tests__/router-helpers.test.js.map +0 -1
  60. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  61. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  62. package/dist/__tests__/router-integration-2.test.js +0 -426
  63. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  64. package/dist/__tests__/router-integration.test.d.ts +0 -2
  65. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  66. package/dist/__tests__/router-integration.test.js +0 -1051
  67. package/dist/__tests__/router-integration.test.js.map +0 -1
  68. package/dist/__tests__/search-params.test.d.ts +0 -5
  69. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  70. package/dist/__tests__/search-params.test.js +0 -306
  71. package/dist/__tests__/search-params.test.js.map +0 -1
  72. package/dist/__tests__/segment-system.test.d.ts +0 -2
  73. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  74. package/dist/__tests__/segment-system.test.js +0 -627
  75. package/dist/__tests__/segment-system.test.js.map +0 -1
  76. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  77. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  78. package/dist/__tests__/static-handler-types.test.js +0 -63
  79. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  80. package/dist/__tests__/urls.test.d.ts +0 -2
  81. package/dist/__tests__/urls.test.d.ts.map +0 -1
  82. package/dist/__tests__/urls.test.js +0 -421
  83. package/dist/__tests__/urls.test.js.map +0 -1
  84. package/dist/__tests__/use-mount.test.d.ts +0 -2
  85. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  86. package/dist/__tests__/use-mount.test.js +0 -35
  87. package/dist/__tests__/use-mount.test.js.map +0 -1
  88. package/dist/bin/rango.d.ts +0 -2
  89. package/dist/bin/rango.d.ts.map +0 -1
  90. package/dist/bin/rango.js.map +0 -1
  91. package/dist/browser/event-controller.d.ts +0 -191
  92. package/dist/browser/event-controller.d.ts.map +0 -1
  93. package/dist/browser/event-controller.js +0 -559
  94. package/dist/browser/event-controller.js.map +0 -1
  95. package/dist/browser/index.d.ts +0 -2
  96. package/dist/browser/index.d.ts.map +0 -1
  97. package/dist/browser/index.js +0 -14
  98. package/dist/browser/index.js.map +0 -1
  99. package/dist/browser/link-interceptor.d.ts +0 -38
  100. package/dist/browser/link-interceptor.d.ts.map +0 -1
  101. package/dist/browser/link-interceptor.js +0 -99
  102. package/dist/browser/link-interceptor.js.map +0 -1
  103. package/dist/browser/logging.d.ts +0 -10
  104. package/dist/browser/logging.d.ts.map +0 -1
  105. package/dist/browser/logging.js +0 -29
  106. package/dist/browser/logging.js.map +0 -1
  107. package/dist/browser/lru-cache.d.ts +0 -17
  108. package/dist/browser/lru-cache.d.ts.map +0 -1
  109. package/dist/browser/lru-cache.js +0 -50
  110. package/dist/browser/lru-cache.js.map +0 -1
  111. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  112. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  113. package/dist/browser/merge-segment-loaders.js +0 -102
  114. package/dist/browser/merge-segment-loaders.js.map +0 -1
  115. package/dist/browser/navigation-bridge.d.ts +0 -102
  116. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  117. package/dist/browser/navigation-bridge.js +0 -708
  118. package/dist/browser/navigation-bridge.js.map +0 -1
  119. package/dist/browser/navigation-client.d.ts +0 -25
  120. package/dist/browser/navigation-client.d.ts.map +0 -1
  121. package/dist/browser/navigation-client.js +0 -157
  122. package/dist/browser/navigation-client.js.map +0 -1
  123. package/dist/browser/navigation-store.d.ts +0 -101
  124. package/dist/browser/navigation-store.d.ts.map +0 -1
  125. package/dist/browser/navigation-store.js +0 -625
  126. package/dist/browser/navigation-store.js.map +0 -1
  127. package/dist/browser/partial-update.d.ts +0 -75
  128. package/dist/browser/partial-update.d.ts.map +0 -1
  129. package/dist/browser/partial-update.js +0 -426
  130. package/dist/browser/partial-update.js.map +0 -1
  131. package/dist/browser/react/Link.d.ts +0 -86
  132. package/dist/browser/react/Link.d.ts.map +0 -1
  133. package/dist/browser/react/Link.js +0 -128
  134. package/dist/browser/react/Link.js.map +0 -1
  135. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  136. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  137. package/dist/browser/react/NavigationProvider.js +0 -216
  138. package/dist/browser/react/NavigationProvider.js.map +0 -1
  139. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  140. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  141. package/dist/browser/react/ScrollRestoration.js +0 -57
  142. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  143. package/dist/browser/react/context.d.ts +0 -46
  144. package/dist/browser/react/context.d.ts.map +0 -1
  145. package/dist/browser/react/context.js +0 -10
  146. package/dist/browser/react/context.js.map +0 -1
  147. package/dist/browser/react/index.d.ts +0 -11
  148. package/dist/browser/react/index.d.ts.map +0 -1
  149. package/dist/browser/react/index.js +0 -22
  150. package/dist/browser/react/index.js.map +0 -1
  151. package/dist/browser/react/location-state-shared.d.ts +0 -63
  152. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  153. package/dist/browser/react/location-state-shared.js +0 -81
  154. package/dist/browser/react/location-state-shared.js.map +0 -1
  155. package/dist/browser/react/location-state.d.ts +0 -23
  156. package/dist/browser/react/location-state.d.ts.map +0 -1
  157. package/dist/browser/react/location-state.js +0 -29
  158. package/dist/browser/react/location-state.js.map +0 -1
  159. package/dist/browser/react/mount-context.d.ts +0 -24
  160. package/dist/browser/react/mount-context.d.ts.map +0 -1
  161. package/dist/browser/react/mount-context.js +0 -24
  162. package/dist/browser/react/mount-context.js.map +0 -1
  163. package/dist/browser/react/use-action.d.ts +0 -64
  164. package/dist/browser/react/use-action.d.ts.map +0 -1
  165. package/dist/browser/react/use-action.js +0 -134
  166. package/dist/browser/react/use-action.js.map +0 -1
  167. package/dist/browser/react/use-client-cache.d.ts +0 -41
  168. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  169. package/dist/browser/react/use-client-cache.js +0 -39
  170. package/dist/browser/react/use-client-cache.js.map +0 -1
  171. package/dist/browser/react/use-handle.d.ts +0 -31
  172. package/dist/browser/react/use-handle.d.ts.map +0 -1
  173. package/dist/browser/react/use-handle.js +0 -144
  174. package/dist/browser/react/use-handle.js.map +0 -1
  175. package/dist/browser/react/use-href.d.ts +0 -33
  176. package/dist/browser/react/use-href.d.ts.map +0 -1
  177. package/dist/browser/react/use-href.js +0 -39
  178. package/dist/browser/react/use-href.js.map +0 -1
  179. package/dist/browser/react/use-link-status.d.ts +0 -37
  180. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  181. package/dist/browser/react/use-link-status.js +0 -99
  182. package/dist/browser/react/use-link-status.js.map +0 -1
  183. package/dist/browser/react/use-mount.d.ts +0 -25
  184. package/dist/browser/react/use-mount.d.ts.map +0 -1
  185. package/dist/browser/react/use-mount.js +0 -30
  186. package/dist/browser/react/use-mount.js.map +0 -1
  187. package/dist/browser/react/use-navigation.d.ts +0 -27
  188. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  189. package/dist/browser/react/use-navigation.js +0 -87
  190. package/dist/browser/react/use-navigation.js.map +0 -1
  191. package/dist/browser/react/use-segments.d.ts +0 -38
  192. package/dist/browser/react/use-segments.d.ts.map +0 -1
  193. package/dist/browser/react/use-segments.js +0 -130
  194. package/dist/browser/react/use-segments.js.map +0 -1
  195. package/dist/browser/request-controller.d.ts +0 -26
  196. package/dist/browser/request-controller.d.ts.map +0 -1
  197. package/dist/browser/request-controller.js +0 -147
  198. package/dist/browser/request-controller.js.map +0 -1
  199. package/dist/browser/rsc-router.d.ts +0 -129
  200. package/dist/browser/rsc-router.d.ts.map +0 -1
  201. package/dist/browser/rsc-router.js +0 -195
  202. package/dist/browser/rsc-router.js.map +0 -1
  203. package/dist/browser/scroll-restoration.d.ts +0 -93
  204. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  205. package/dist/browser/scroll-restoration.js +0 -321
  206. package/dist/browser/scroll-restoration.js.map +0 -1
  207. package/dist/browser/segment-structure-assert.d.ts +0 -17
  208. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  209. package/dist/browser/segment-structure-assert.js +0 -59
  210. package/dist/browser/segment-structure-assert.js.map +0 -1
  211. package/dist/browser/server-action-bridge.d.ts +0 -26
  212. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  213. package/dist/browser/server-action-bridge.js +0 -668
  214. package/dist/browser/server-action-bridge.js.map +0 -1
  215. package/dist/browser/shallow.d.ts +0 -12
  216. package/dist/browser/shallow.d.ts.map +0 -1
  217. package/dist/browser/shallow.js +0 -34
  218. package/dist/browser/shallow.js.map +0 -1
  219. package/dist/browser/types.d.ts +0 -369
  220. package/dist/browser/types.d.ts.map +0 -1
  221. package/dist/browser/types.js +0 -2
  222. package/dist/browser/types.js.map +0 -1
  223. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  224. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  225. package/dist/build/__tests__/generate-cli.test.js +0 -237
  226. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  227. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  228. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  229. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  230. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  231. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  232. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  233. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  234. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  235. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  236. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  237. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  238. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  239. package/dist/build/generate-manifest.d.ts +0 -81
  240. package/dist/build/generate-manifest.d.ts.map +0 -1
  241. package/dist/build/generate-manifest.js +0 -276
  242. package/dist/build/generate-manifest.js.map +0 -1
  243. package/dist/build/generate-route-types.d.ts +0 -115
  244. package/dist/build/generate-route-types.d.ts.map +0 -1
  245. package/dist/build/generate-route-types.js +0 -740
  246. package/dist/build/generate-route-types.js.map +0 -1
  247. package/dist/build/index.d.ts +0 -21
  248. package/dist/build/index.d.ts.map +0 -1
  249. package/dist/build/index.js +0 -21
  250. package/dist/build/index.js.map +0 -1
  251. package/dist/build/route-trie.d.ts +0 -71
  252. package/dist/build/route-trie.d.ts.map +0 -1
  253. package/dist/build/route-trie.js +0 -175
  254. package/dist/build/route-trie.js.map +0 -1
  255. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  256. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  257. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  258. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  259. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  260. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  261. package/dist/cache/__tests__/document-cache.test.js +0 -345
  262. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  263. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  264. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  265. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  266. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  267. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  268. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  269. package/dist/cache/__tests__/memory-store.test.js +0 -367
  270. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  271. package/dist/cache/cache-scope.d.ts +0 -102
  272. package/dist/cache/cache-scope.d.ts.map +0 -1
  273. package/dist/cache/cache-scope.js +0 -440
  274. package/dist/cache/cache-scope.js.map +0 -1
  275. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  276. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  277. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  278. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  279. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  280. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  281. package/dist/cache/cf/cf-cache-store.js +0 -242
  282. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  283. package/dist/cache/cf/index.d.ts +0 -14
  284. package/dist/cache/cf/index.d.ts.map +0 -1
  285. package/dist/cache/cf/index.js +0 -17
  286. package/dist/cache/cf/index.js.map +0 -1
  287. package/dist/cache/document-cache.d.ts +0 -64
  288. package/dist/cache/document-cache.d.ts.map +0 -1
  289. package/dist/cache/document-cache.js +0 -228
  290. package/dist/cache/document-cache.js.map +0 -1
  291. package/dist/cache/index.d.ts +0 -19
  292. package/dist/cache/index.d.ts.map +0 -1
  293. package/dist/cache/index.js +0 -21
  294. package/dist/cache/index.js.map +0 -1
  295. package/dist/cache/memory-segment-store.d.ts +0 -110
  296. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  297. package/dist/cache/memory-segment-store.js +0 -117
  298. package/dist/cache/memory-segment-store.js.map +0 -1
  299. package/dist/cache/memory-store.d.ts +0 -41
  300. package/dist/cache/memory-store.d.ts.map +0 -1
  301. package/dist/cache/memory-store.js +0 -191
  302. package/dist/cache/memory-store.js.map +0 -1
  303. package/dist/cache/types.d.ts +0 -317
  304. package/dist/cache/types.d.ts.map +0 -1
  305. package/dist/cache/types.js +0 -12
  306. package/dist/cache/types.js.map +0 -1
  307. package/dist/client.d.ts +0 -248
  308. package/dist/client.d.ts.map +0 -1
  309. package/dist/client.js +0 -367
  310. package/dist/client.js.map +0 -1
  311. package/dist/client.rsc.d.ts +0 -26
  312. package/dist/client.rsc.d.ts.map +0 -1
  313. package/dist/client.rsc.js +0 -46
  314. package/dist/client.rsc.js.map +0 -1
  315. package/dist/component-utils.d.ts +0 -36
  316. package/dist/component-utils.d.ts.map +0 -1
  317. package/dist/component-utils.js +0 -61
  318. package/dist/component-utils.js.map +0 -1
  319. package/dist/components/DefaultDocument.d.ts +0 -13
  320. package/dist/components/DefaultDocument.d.ts.map +0 -1
  321. package/dist/components/DefaultDocument.js +0 -15
  322. package/dist/components/DefaultDocument.js.map +0 -1
  323. package/dist/debug.d.ts +0 -58
  324. package/dist/debug.d.ts.map +0 -1
  325. package/dist/debug.js +0 -157
  326. package/dist/debug.js.map +0 -1
  327. package/dist/default-error-boundary.d.ts +0 -11
  328. package/dist/default-error-boundary.d.ts.map +0 -1
  329. package/dist/default-error-boundary.js +0 -45
  330. package/dist/default-error-boundary.js.map +0 -1
  331. package/dist/deps/browser.d.ts +0 -2
  332. package/dist/deps/browser.d.ts.map +0 -1
  333. package/dist/deps/browser.js +0 -3
  334. package/dist/deps/browser.js.map +0 -1
  335. package/dist/deps/html-stream-client.d.ts +0 -2
  336. package/dist/deps/html-stream-client.d.ts.map +0 -1
  337. package/dist/deps/html-stream-client.js +0 -3
  338. package/dist/deps/html-stream-client.js.map +0 -1
  339. package/dist/deps/html-stream-server.d.ts +0 -2
  340. package/dist/deps/html-stream-server.d.ts.map +0 -1
  341. package/dist/deps/html-stream-server.js +0 -3
  342. package/dist/deps/html-stream-server.js.map +0 -1
  343. package/dist/deps/rsc.d.ts +0 -2
  344. package/dist/deps/rsc.d.ts.map +0 -1
  345. package/dist/deps/rsc.js +0 -4
  346. package/dist/deps/rsc.js.map +0 -1
  347. package/dist/deps/ssr.d.ts +0 -2
  348. package/dist/deps/ssr.d.ts.map +0 -1
  349. package/dist/deps/ssr.js +0 -3
  350. package/dist/deps/ssr.js.map +0 -1
  351. package/dist/errors.d.ts +0 -174
  352. package/dist/errors.d.ts.map +0 -1
  353. package/dist/errors.js +0 -241
  354. package/dist/errors.js.map +0 -1
  355. package/dist/handle.d.ts +0 -78
  356. package/dist/handle.d.ts.map +0 -1
  357. package/dist/handle.js +0 -82
  358. package/dist/handle.js.map +0 -1
  359. package/dist/handles/MetaTags.d.ts +0 -14
  360. package/dist/handles/MetaTags.d.ts.map +0 -1
  361. package/dist/handles/MetaTags.js +0 -136
  362. package/dist/handles/MetaTags.js.map +0 -1
  363. package/dist/handles/index.d.ts +0 -6
  364. package/dist/handles/index.d.ts.map +0 -1
  365. package/dist/handles/index.js +0 -6
  366. package/dist/handles/index.js.map +0 -1
  367. package/dist/handles/meta.d.ts +0 -39
  368. package/dist/handles/meta.d.ts.map +0 -1
  369. package/dist/handles/meta.js +0 -202
  370. package/dist/handles/meta.js.map +0 -1
  371. package/dist/host/__tests__/errors.test.d.ts +0 -2
  372. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  373. package/dist/host/__tests__/errors.test.js +0 -76
  374. package/dist/host/__tests__/errors.test.js.map +0 -1
  375. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  376. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  377. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  378. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  379. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  380. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  381. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  382. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  383. package/dist/host/__tests__/router.test.d.ts +0 -2
  384. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  385. package/dist/host/__tests__/router.test.js +0 -241
  386. package/dist/host/__tests__/router.test.js.map +0 -1
  387. package/dist/host/__tests__/testing.test.d.ts +0 -2
  388. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  389. package/dist/host/__tests__/testing.test.js +0 -64
  390. package/dist/host/__tests__/testing.test.js.map +0 -1
  391. package/dist/host/__tests__/utils.test.d.ts +0 -2
  392. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  393. package/dist/host/__tests__/utils.test.js +0 -29
  394. package/dist/host/__tests__/utils.test.js.map +0 -1
  395. package/dist/host/cookie-handler.d.ts +0 -34
  396. package/dist/host/cookie-handler.d.ts.map +0 -1
  397. package/dist/host/cookie-handler.js +0 -124
  398. package/dist/host/cookie-handler.js.map +0 -1
  399. package/dist/host/errors.d.ts +0 -56
  400. package/dist/host/errors.d.ts.map +0 -1
  401. package/dist/host/errors.js +0 -79
  402. package/dist/host/errors.js.map +0 -1
  403. package/dist/host/index.d.ts +0 -29
  404. package/dist/host/index.d.ts.map +0 -1
  405. package/dist/host/index.js +0 -32
  406. package/dist/host/index.js.map +0 -1
  407. package/dist/host/pattern-matcher.d.ts +0 -36
  408. package/dist/host/pattern-matcher.d.ts.map +0 -1
  409. package/dist/host/pattern-matcher.js +0 -172
  410. package/dist/host/pattern-matcher.js.map +0 -1
  411. package/dist/host/router.d.ts +0 -26
  412. package/dist/host/router.d.ts.map +0 -1
  413. package/dist/host/router.js +0 -218
  414. package/dist/host/router.js.map +0 -1
  415. package/dist/host/testing.d.ts +0 -36
  416. package/dist/host/testing.d.ts.map +0 -1
  417. package/dist/host/testing.js +0 -55
  418. package/dist/host/testing.js.map +0 -1
  419. package/dist/host/types.d.ts +0 -115
  420. package/dist/host/types.d.ts.map +0 -1
  421. package/dist/host/types.js +0 -7
  422. package/dist/host/types.js.map +0 -1
  423. package/dist/host/utils.d.ts +0 -21
  424. package/dist/host/utils.d.ts.map +0 -1
  425. package/dist/host/utils.js +0 -23
  426. package/dist/host/utils.js.map +0 -1
  427. package/dist/href-client.d.ts +0 -131
  428. package/dist/href-client.d.ts.map +0 -1
  429. package/dist/href-client.js +0 -64
  430. package/dist/href-client.js.map +0 -1
  431. package/dist/href-context.d.ts +0 -29
  432. package/dist/href-context.d.ts.map +0 -1
  433. package/dist/href-context.js +0 -21
  434. package/dist/href-context.js.map +0 -1
  435. package/dist/index.d.ts +0 -73
  436. package/dist/index.d.ts.map +0 -1
  437. package/dist/index.js +0 -91
  438. package/dist/index.js.map +0 -1
  439. package/dist/index.rsc.d.ts +0 -32
  440. package/dist/index.rsc.d.ts.map +0 -1
  441. package/dist/index.rsc.js +0 -40
  442. package/dist/index.rsc.js.map +0 -1
  443. package/dist/internal-debug.d.ts +0 -2
  444. package/dist/internal-debug.d.ts.map +0 -1
  445. package/dist/internal-debug.js +0 -5
  446. package/dist/internal-debug.js.map +0 -1
  447. package/dist/loader.d.ts +0 -14
  448. package/dist/loader.d.ts.map +0 -1
  449. package/dist/loader.js +0 -20
  450. package/dist/loader.js.map +0 -1
  451. package/dist/loader.rsc.d.ts +0 -19
  452. package/dist/loader.rsc.d.ts.map +0 -1
  453. package/dist/loader.rsc.js +0 -99
  454. package/dist/loader.rsc.js.map +0 -1
  455. package/dist/network-error-thrower.d.ts +0 -17
  456. package/dist/network-error-thrower.d.ts.map +0 -1
  457. package/dist/network-error-thrower.js +0 -14
  458. package/dist/network-error-thrower.js.map +0 -1
  459. package/dist/outlet-context.d.ts +0 -13
  460. package/dist/outlet-context.d.ts.map +0 -1
  461. package/dist/outlet-context.js +0 -3
  462. package/dist/outlet-context.js.map +0 -1
  463. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  464. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  465. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  466. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  467. package/dist/prerender/param-hash.d.ts +0 -16
  468. package/dist/prerender/param-hash.d.ts.map +0 -1
  469. package/dist/prerender/param-hash.js +0 -36
  470. package/dist/prerender/param-hash.js.map +0 -1
  471. package/dist/prerender/store.d.ts +0 -38
  472. package/dist/prerender/store.d.ts.map +0 -1
  473. package/dist/prerender/store.js +0 -61
  474. package/dist/prerender/store.js.map +0 -1
  475. package/dist/prerender.d.ts +0 -66
  476. package/dist/prerender.d.ts.map +0 -1
  477. package/dist/prerender.js +0 -57
  478. package/dist/prerender.js.map +0 -1
  479. package/dist/reverse.d.ts +0 -196
  480. package/dist/reverse.d.ts.map +0 -1
  481. package/dist/reverse.js +0 -78
  482. package/dist/reverse.js.map +0 -1
  483. package/dist/root-error-boundary.d.ts +0 -33
  484. package/dist/root-error-boundary.d.ts.map +0 -1
  485. package/dist/root-error-boundary.js +0 -165
  486. package/dist/root-error-boundary.js.map +0 -1
  487. package/dist/route-content-wrapper.d.ts +0 -46
  488. package/dist/route-content-wrapper.d.ts.map +0 -1
  489. package/dist/route-content-wrapper.js +0 -77
  490. package/dist/route-content-wrapper.js.map +0 -1
  491. package/dist/route-definition.d.ts +0 -421
  492. package/dist/route-definition.d.ts.map +0 -1
  493. package/dist/route-definition.js +0 -868
  494. package/dist/route-definition.js.map +0 -1
  495. package/dist/route-map-builder.d.ts +0 -155
  496. package/dist/route-map-builder.d.ts.map +0 -1
  497. package/dist/route-map-builder.js +0 -237
  498. package/dist/route-map-builder.js.map +0 -1
  499. package/dist/route-types.d.ts +0 -165
  500. package/dist/route-types.d.ts.map +0 -1
  501. package/dist/route-types.js +0 -7
  502. package/dist/route-types.js.map +0 -1
  503. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  504. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  505. package/dist/router/__tests__/handler-context.test.js +0 -65
  506. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  507. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  508. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  509. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  510. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  511. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  512. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  513. package/dist/router/__tests__/match-context.test.js +0 -92
  514. package/dist/router/__tests__/match-context.test.js.map +0 -1
  515. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  516. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  517. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  518. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  519. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  520. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  521. package/dist/router/__tests__/match-result.test.js +0 -457
  522. package/dist/router/__tests__/match-result.test.js.map +0 -1
  523. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  524. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  525. package/dist/router/__tests__/on-error.test.js +0 -678
  526. package/dist/router/__tests__/on-error.test.js.map +0 -1
  527. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  528. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  529. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  530. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  531. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  532. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  533. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  534. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  535. package/dist/router/error-handling.d.ts +0 -77
  536. package/dist/router/error-handling.d.ts.map +0 -1
  537. package/dist/router/error-handling.js +0 -202
  538. package/dist/router/error-handling.js.map +0 -1
  539. package/dist/router/handler-context.d.ts +0 -20
  540. package/dist/router/handler-context.d.ts.map +0 -1
  541. package/dist/router/handler-context.js +0 -198
  542. package/dist/router/handler-context.js.map +0 -1
  543. package/dist/router/intercept-resolution.d.ts +0 -66
  544. package/dist/router/intercept-resolution.d.ts.map +0 -1
  545. package/dist/router/intercept-resolution.js +0 -246
  546. package/dist/router/intercept-resolution.js.map +0 -1
  547. package/dist/router/loader-resolution.d.ts +0 -64
  548. package/dist/router/loader-resolution.d.ts.map +0 -1
  549. package/dist/router/loader-resolution.js +0 -284
  550. package/dist/router/loader-resolution.js.map +0 -1
  551. package/dist/router/logging.d.ts +0 -15
  552. package/dist/router/logging.d.ts.map +0 -1
  553. package/dist/router/logging.js +0 -99
  554. package/dist/router/logging.js.map +0 -1
  555. package/dist/router/manifest.d.ts +0 -22
  556. package/dist/router/manifest.d.ts.map +0 -1
  557. package/dist/router/manifest.js +0 -181
  558. package/dist/router/manifest.js.map +0 -1
  559. package/dist/router/match-api.d.ts +0 -35
  560. package/dist/router/match-api.d.ts.map +0 -1
  561. package/dist/router/match-api.js +0 -406
  562. package/dist/router/match-api.js.map +0 -1
  563. package/dist/router/match-context.d.ts +0 -206
  564. package/dist/router/match-context.d.ts.map +0 -1
  565. package/dist/router/match-context.js +0 -17
  566. package/dist/router/match-context.js.map +0 -1
  567. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  568. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  569. package/dist/router/match-middleware/background-revalidation.js +0 -75
  570. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  571. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  572. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  573. package/dist/router/match-middleware/cache-lookup.js +0 -257
  574. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  575. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  576. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  577. package/dist/router/match-middleware/cache-store.js +0 -108
  578. package/dist/router/match-middleware/cache-store.js.map +0 -1
  579. package/dist/router/match-middleware/index.d.ts +0 -81
  580. package/dist/router/match-middleware/index.d.ts.map +0 -1
  581. package/dist/router/match-middleware/index.js +0 -80
  582. package/dist/router/match-middleware/index.js.map +0 -1
  583. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  584. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  585. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  586. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  587. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  588. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  589. package/dist/router/match-middleware/segment-resolution.js +0 -53
  590. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  591. package/dist/router/match-pipelines.d.ts +0 -147
  592. package/dist/router/match-pipelines.d.ts.map +0 -1
  593. package/dist/router/match-pipelines.js +0 -82
  594. package/dist/router/match-pipelines.js.map +0 -1
  595. package/dist/router/match-result.d.ts +0 -126
  596. package/dist/router/match-result.d.ts.map +0 -1
  597. package/dist/router/match-result.js +0 -93
  598. package/dist/router/match-result.js.map +0 -1
  599. package/dist/router/metrics.d.ts +0 -20
  600. package/dist/router/metrics.d.ts.map +0 -1
  601. package/dist/router/metrics.js +0 -47
  602. package/dist/router/metrics.js.map +0 -1
  603. package/dist/router/middleware.d.ts +0 -249
  604. package/dist/router/middleware.d.ts.map +0 -1
  605. package/dist/router/middleware.js +0 -434
  606. package/dist/router/middleware.js.map +0 -1
  607. package/dist/router/middleware.test.d.ts +0 -2
  608. package/dist/router/middleware.test.d.ts.map +0 -1
  609. package/dist/router/middleware.test.js +0 -816
  610. package/dist/router/middleware.test.js.map +0 -1
  611. package/dist/router/pattern-matching.d.ts +0 -149
  612. package/dist/router/pattern-matching.d.ts.map +0 -1
  613. package/dist/router/pattern-matching.js +0 -349
  614. package/dist/router/pattern-matching.js.map +0 -1
  615. package/dist/router/revalidation.d.ts +0 -44
  616. package/dist/router/revalidation.d.ts.map +0 -1
  617. package/dist/router/revalidation.js +0 -147
  618. package/dist/router/revalidation.js.map +0 -1
  619. package/dist/router/router-context.d.ts +0 -135
  620. package/dist/router/router-context.d.ts.map +0 -1
  621. package/dist/router/router-context.js +0 -36
  622. package/dist/router/router-context.js.map +0 -1
  623. package/dist/router/segment-resolution.d.ts +0 -127
  624. package/dist/router/segment-resolution.d.ts.map +0 -1
  625. package/dist/router/segment-resolution.js +0 -919
  626. package/dist/router/segment-resolution.js.map +0 -1
  627. package/dist/router/trie-matching.d.ts +0 -40
  628. package/dist/router/trie-matching.d.ts.map +0 -1
  629. package/dist/router/trie-matching.js +0 -127
  630. package/dist/router/trie-matching.js.map +0 -1
  631. package/dist/router/types.d.ts +0 -136
  632. package/dist/router/types.d.ts.map +0 -1
  633. package/dist/router/types.js +0 -7
  634. package/dist/router/types.js.map +0 -1
  635. package/dist/router.d.ts +0 -753
  636. package/dist/router.d.ts.map +0 -1
  637. package/dist/router.gen.d.ts +0 -6
  638. package/dist/router.gen.d.ts.map +0 -1
  639. package/dist/router.gen.js +0 -6
  640. package/dist/router.gen.js.map +0 -1
  641. package/dist/router.js +0 -1304
  642. package/dist/router.js.map +0 -1
  643. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  644. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  645. package/dist/rsc/__tests__/helpers.test.js +0 -140
  646. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  647. package/dist/rsc/handler.d.ts +0 -45
  648. package/dist/rsc/handler.d.ts.map +0 -1
  649. package/dist/rsc/handler.js +0 -1172
  650. package/dist/rsc/handler.js.map +0 -1
  651. package/dist/rsc/helpers.d.ts +0 -16
  652. package/dist/rsc/helpers.d.ts.map +0 -1
  653. package/dist/rsc/helpers.js +0 -55
  654. package/dist/rsc/helpers.js.map +0 -1
  655. package/dist/rsc/index.d.ts +0 -22
  656. package/dist/rsc/index.d.ts.map +0 -1
  657. package/dist/rsc/index.js +0 -23
  658. package/dist/rsc/index.js.map +0 -1
  659. package/dist/rsc/nonce.d.ts +0 -9
  660. package/dist/rsc/nonce.d.ts.map +0 -1
  661. package/dist/rsc/nonce.js +0 -18
  662. package/dist/rsc/nonce.js.map +0 -1
  663. package/dist/rsc/types.d.ts +0 -206
  664. package/dist/rsc/types.d.ts.map +0 -1
  665. package/dist/rsc/types.js +0 -8
  666. package/dist/rsc/types.js.map +0 -1
  667. package/dist/search-params.d.ts +0 -103
  668. package/dist/search-params.d.ts.map +0 -1
  669. package/dist/search-params.js +0 -74
  670. package/dist/search-params.js.map +0 -1
  671. package/dist/segment-system.d.ts +0 -75
  672. package/dist/segment-system.d.ts.map +0 -1
  673. package/dist/segment-system.js +0 -336
  674. package/dist/segment-system.js.map +0 -1
  675. package/dist/server/context.d.ts +0 -245
  676. package/dist/server/context.d.ts.map +0 -1
  677. package/dist/server/context.js +0 -197
  678. package/dist/server/context.js.map +0 -1
  679. package/dist/server/fetchable-loader-store.d.ts +0 -18
  680. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  681. package/dist/server/fetchable-loader-store.js +0 -18
  682. package/dist/server/fetchable-loader-store.js.map +0 -1
  683. package/dist/server/handle-store.d.ts +0 -85
  684. package/dist/server/handle-store.d.ts.map +0 -1
  685. package/dist/server/handle-store.js +0 -142
  686. package/dist/server/handle-store.js.map +0 -1
  687. package/dist/server/loader-registry.d.ts +0 -55
  688. package/dist/server/loader-registry.d.ts.map +0 -1
  689. package/dist/server/loader-registry.js +0 -132
  690. package/dist/server/loader-registry.js.map +0 -1
  691. package/dist/server/request-context.d.ts +0 -226
  692. package/dist/server/request-context.d.ts.map +0 -1
  693. package/dist/server/request-context.js +0 -290
  694. package/dist/server/request-context.js.map +0 -1
  695. package/dist/server/root-layout.d.ts +0 -4
  696. package/dist/server/root-layout.d.ts.map +0 -1
  697. package/dist/server/root-layout.js +0 -5
  698. package/dist/server/root-layout.js.map +0 -1
  699. package/dist/server.d.ts +0 -15
  700. package/dist/server.d.ts.map +0 -1
  701. package/dist/server.js +0 -20
  702. package/dist/server.js.map +0 -1
  703. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  704. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  705. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  706. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  707. package/dist/ssr/index.d.ts +0 -98
  708. package/dist/ssr/index.d.ts.map +0 -1
  709. package/dist/ssr/index.js +0 -158
  710. package/dist/ssr/index.js.map +0 -1
  711. package/dist/static-handler.d.ts +0 -50
  712. package/dist/static-handler.d.ts.map +0 -1
  713. package/dist/static-handler.gen.d.ts +0 -5
  714. package/dist/static-handler.gen.d.ts.map +0 -1
  715. package/dist/static-handler.gen.js +0 -5
  716. package/dist/static-handler.gen.js.map +0 -1
  717. package/dist/static-handler.js +0 -29
  718. package/dist/static-handler.js.map +0 -1
  719. package/dist/theme/ThemeProvider.d.ts +0 -20
  720. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  721. package/dist/theme/ThemeProvider.js +0 -240
  722. package/dist/theme/ThemeProvider.js.map +0 -1
  723. package/dist/theme/ThemeScript.d.ts +0 -48
  724. package/dist/theme/ThemeScript.d.ts.map +0 -1
  725. package/dist/theme/ThemeScript.js +0 -13
  726. package/dist/theme/ThemeScript.js.map +0 -1
  727. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  728. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  729. package/dist/theme/__tests__/theme.test.js +0 -103
  730. package/dist/theme/__tests__/theme.test.js.map +0 -1
  731. package/dist/theme/constants.d.ts +0 -29
  732. package/dist/theme/constants.d.ts.map +0 -1
  733. package/dist/theme/constants.js +0 -48
  734. package/dist/theme/constants.js.map +0 -1
  735. package/dist/theme/index.d.ts +0 -31
  736. package/dist/theme/index.d.ts.map +0 -1
  737. package/dist/theme/index.js +0 -36
  738. package/dist/theme/index.js.map +0 -1
  739. package/dist/theme/theme-context.d.ts +0 -40
  740. package/dist/theme/theme-context.d.ts.map +0 -1
  741. package/dist/theme/theme-context.js +0 -60
  742. package/dist/theme/theme-context.js.map +0 -1
  743. package/dist/theme/theme-script.d.ts +0 -27
  744. package/dist/theme/theme-script.d.ts.map +0 -1
  745. package/dist/theme/theme-script.js +0 -147
  746. package/dist/theme/theme-script.js.map +0 -1
  747. package/dist/theme/types.d.ts +0 -163
  748. package/dist/theme/types.d.ts.map +0 -1
  749. package/dist/theme/types.js +0 -11
  750. package/dist/theme/types.js.map +0 -1
  751. package/dist/theme/use-theme.d.ts +0 -12
  752. package/dist/theme/use-theme.d.ts.map +0 -1
  753. package/dist/theme/use-theme.js +0 -40
  754. package/dist/theme/use-theme.js.map +0 -1
  755. package/dist/types.d.ts +0 -1479
  756. package/dist/types.d.ts.map +0 -1
  757. package/dist/types.js +0 -10
  758. package/dist/types.js.map +0 -1
  759. package/dist/urls.d.ts +0 -441
  760. package/dist/urls.d.ts.map +0 -1
  761. package/dist/urls.gen.d.ts +0 -8
  762. package/dist/urls.gen.d.ts.map +0 -1
  763. package/dist/urls.gen.js +0 -8
  764. package/dist/urls.gen.js.map +0 -1
  765. package/dist/urls.js +0 -443
  766. package/dist/urls.js.map +0 -1
  767. package/dist/use-loader.d.ts +0 -127
  768. package/dist/use-loader.d.ts.map +0 -1
  769. package/dist/use-loader.js +0 -237
  770. package/dist/use-loader.js.map +0 -1
  771. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  772. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  773. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  774. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  775. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  776. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  777. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  778. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  779. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  780. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  781. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  782. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  783. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  784. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  785. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  786. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  787. package/dist/vite/ast-handler-extract.d.ts +0 -49
  788. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  789. package/dist/vite/ast-handler-extract.js +0 -249
  790. package/dist/vite/ast-handler-extract.js.map +0 -1
  791. package/dist/vite/expose-action-id.d.ts +0 -19
  792. package/dist/vite/expose-action-id.d.ts.map +0 -1
  793. package/dist/vite/expose-action-id.js +0 -250
  794. package/dist/vite/expose-action-id.js.map +0 -1
  795. package/dist/vite/expose-id-utils.d.ts +0 -69
  796. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  797. package/dist/vite/expose-id-utils.js +0 -289
  798. package/dist/vite/expose-id-utils.js.map +0 -1
  799. package/dist/vite/expose-internal-ids.d.ts +0 -22
  800. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  801. package/dist/vite/expose-internal-ids.js +0 -886
  802. package/dist/vite/expose-internal-ids.js.map +0 -1
  803. package/dist/vite/index.d.ts +0 -149
  804. package/dist/vite/index.d.ts.map +0 -1
  805. package/dist/vite/index.js.map +0 -1
  806. package/dist/vite/index.named-routes.gen.ts +0 -103
  807. package/dist/vite/package-resolution.d.ts +0 -43
  808. package/dist/vite/package-resolution.d.ts.map +0 -1
  809. package/dist/vite/package-resolution.js +0 -112
  810. package/dist/vite/package-resolution.js.map +0 -1
  811. package/dist/vite/virtual-entries.d.ts +0 -25
  812. package/dist/vite/virtual-entries.d.ts.map +0 -1
  813. package/dist/vite/virtual-entries.js +0 -110
  814. package/dist/vite/virtual-entries.js.map +0 -1
@@ -1745,7 +1745,7 @@ import { resolve } from "node:path";
1745
1745
  // package.json
1746
1746
  var package_default = {
1747
1747
  name: "@rangojs/router",
1748
- version: "0.0.0-experimental.22",
1748
+ version: "0.0.0-experimental.23",
1749
1749
  description: "Django-inspired RSC router with composable URL patterns",
1750
1750
  keywords: [
1751
1751
  "react",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rangojs/router",
3
- "version": "0.0.0-experimental.22",
3
+ "version": "0.0.0-experimental.23",
4
4
  "description": "Django-inspired RSC router with composable URL patterns",
5
5
  "keywords": [
6
6
  "react",
@@ -262,7 +262,7 @@ function createLoaderExecutor<TEnv>(
262
262
  reverse: ctx.reverse as LoaderContext["reverse"],
263
263
  };
264
264
 
265
- const doneLoader = track(`loader:${loader.$$id}`);
265
+ const doneLoader = track(`loader:${loader.$$id}`, 2);
266
266
  const promise = Promise.resolve(
267
267
  loaderFn(loaderCtx as LoaderContext<any, TEnv>),
268
268
  ).finally(() => {
@@ -4,7 +4,56 @@
4
4
  * Performance metrics collection and reporting for RSC Router.
5
5
  */
6
6
 
7
- import type { MetricsStore } from "../server/context";
7
+ import type { MetricsStore, PerformanceMetric } from "../server/context";
8
+
9
+ const BASE_INDENT = 2;
10
+ const DEPTH_INDENT = 2;
11
+ const TIMELINE_WIDTH = 40;
12
+
13
+ function formatMs(value: number): string {
14
+ return `${value.toFixed(1)}ms`;
15
+ }
16
+
17
+ function sortMetrics(metrics: PerformanceMetric[]): PerformanceMetric[] {
18
+ return [...metrics].sort((a, b) => a.startTime - b.startTime);
19
+ }
20
+
21
+ function renderTimeline(metric: PerformanceMetric, total: number): string {
22
+ if (TIMELINE_WIDTH <= 0) {
23
+ return "||";
24
+ }
25
+
26
+ const cells = Array(TIMELINE_WIDTH).fill(".");
27
+
28
+ if (!(total > 0)) {
29
+ cells[0] = "#";
30
+ return `|${cells.join("")}|`;
31
+ }
32
+
33
+ const start = Math.max(0, metric.startTime);
34
+ const end = Math.max(start, metric.startTime + metric.duration);
35
+ const startColumn = Math.min(
36
+ TIMELINE_WIDTH - 1,
37
+ Math.floor((start / total) * TIMELINE_WIDTH),
38
+ );
39
+ const endColumn = Math.max(
40
+ startColumn + 1,
41
+ Math.min(
42
+ TIMELINE_WIDTH,
43
+ Math.ceil((Math.min(total, end) / total) * TIMELINE_WIDTH),
44
+ ),
45
+ );
46
+
47
+ cells.fill("#", startColumn, endColumn);
48
+ return `|${cells.join("")}|`;
49
+ }
50
+
51
+ function createTimelineAxis(total: number): string {
52
+ const totalLabel = formatMs(total);
53
+ return `0ms${" ".repeat(
54
+ Math.max(1, TIMELINE_WIDTH - "0ms".length - totalLabel.length),
55
+ )}${totalLabel}`;
56
+ }
8
57
 
9
58
  /**
10
59
  * Create a metrics store for the request if debugPerformance is enabled
@@ -21,7 +70,8 @@ export function createMetricsStore(
21
70
  }
22
71
 
23
72
  /**
24
- * Log metrics to console in a formatted way
73
+ * Log metrics to console in a formatted way.
74
+ * Uses a shared-axis timeline so overlapping work stays visible.
25
75
  */
26
76
  export function logMetrics(
27
77
  method: string,
@@ -30,32 +80,62 @@ export function logMetrics(
30
80
  ): void {
31
81
  const total = performance.now() - metricsStore.requestStart;
32
82
 
33
- // Find max label length for alignment
34
- const maxLabelLen = Math.max(
35
- ...metricsStore.metrics.map((m) => m.label.length),
36
- 20,
83
+ const sorted = sortMetrics(metricsStore.metrics);
84
+ const labels = sorted.map(
85
+ (m) =>
86
+ `${" ".repeat(BASE_INDENT + (m.depth ?? 0) * DEPTH_INDENT)}${m.label}`,
87
+ );
88
+ const startValues = sorted.map((m) => formatMs(m.startTime));
89
+ const durationValues = sorted.map((m) => formatMs(m.duration));
90
+ const startWidth = Math.max(
91
+ "start".length,
92
+ ...startValues.map((v) => v.length),
93
+ );
94
+ const durationWidth = Math.max(
95
+ "dur".length,
96
+ ...durationValues.map((v) => v.length),
97
+ );
98
+ const spanWidth = Math.max(
99
+ "span".length,
100
+ ...labels.map((label) => label.length),
101
+ 22,
102
+ );
103
+ const timelinePadding = " ".repeat(
104
+ startWidth + 2 + durationWidth + 2 + spanWidth + 2,
37
105
  );
38
106
 
39
107
  console.log(`[RSC Perf] ${method} ${pathname} (${total.toFixed(1)}ms)`);
108
+ console.log(
109
+ `${"start".padStart(startWidth)} ${"dur".padStart(durationWidth)} ${"span".padEnd(spanWidth)} timeline`,
110
+ );
111
+ console.log(`${timelinePadding}${createTimelineAxis(total)}`);
112
+
113
+ for (let index = 0; index < sorted.length; index++) {
114
+ const metric = sorted[index];
115
+ const label = labels[index].padEnd(spanWidth);
116
+ const start = formatMs(metric.startTime).padStart(startWidth);
117
+ const duration = formatMs(metric.duration).padStart(durationWidth);
40
118
 
41
- for (const m of metricsStore.metrics) {
42
- const paddedLabel = m.label.padEnd(maxLabelLen);
43
- console.log(` ${paddedLabel} ${m.duration.toFixed(1)}ms`);
119
+ console.log(
120
+ `${start} ${duration} ${label} ${renderTimeline(metric, total)}`,
121
+ );
44
122
  }
45
123
  }
46
124
 
47
125
  /**
48
126
  * Generate Server-Timing header value from metrics
49
127
  * Format: metric-name;dur=X.XX
128
+ * Depth is encoded as a "d{N}-" prefix for nested metrics.
50
129
  */
51
130
  export function generateServerTiming(metricsStore: MetricsStore): string {
52
131
  return metricsStore.metrics
53
132
  .map((m) => {
54
133
  // Convert label to valid Server-Timing name (alphanumeric and hyphens)
55
- const name = m.label
134
+ const base = m.label
56
135
  .replace(/:/g, "-")
57
136
  .replace(/[^a-zA-Z0-9-]/g, "")
58
137
  .toLowerCase();
138
+ const name = m.depth ? `d${m.depth}-${base}` : base;
59
139
  return `${name};dur=${m.duration.toFixed(2)}`;
60
140
  })
61
141
  .join(", ");
@@ -100,6 +100,18 @@ export interface MiddlewareContext<
100
100
  */
101
101
  routeName?: DefaultRouteName;
102
102
 
103
+ /**
104
+ * Enable performance metrics for this request.
105
+ * When called, granular timing breakdown is logged to console and
106
+ * included in the Server-Timing response header, regardless of the
107
+ * router-level `debugPerformance` option.
108
+ *
109
+ * Must be called **before** `await next()` — the metrics store is
110
+ * created at the start of route matching inside `next()`, so calling
111
+ * this after `next()` returns has no effect.
112
+ */
113
+ debugPerformance(): void;
114
+
103
115
  /**
104
116
  * Generate URLs from route names.
105
117
  * - `name` — global route, from the named-routes definition
@@ -227,6 +227,13 @@ export function createMiddlewareContext<TEnv>(
227
227
  `ctx.reverse() is not available - route map was not provided to middleware context`,
228
228
  );
229
229
  }),
230
+
231
+ debugPerformance(): void {
232
+ const reqCtx = _getRequestContext();
233
+ if (reqCtx) {
234
+ reqCtx._debugPerformance = true;
235
+ }
236
+ },
230
237
  };
231
238
  }
232
239
 
@@ -309,14 +316,21 @@ export async function executeMiddleware<TEnv>(
309
316
  }
310
317
  });
311
318
  // Also merge shared RequestContext stub (cookies written via cookies().set()).
312
- // Set-Cookie duplication is prevented by createResponseWithMergedHeaders
313
- // draining Set-Cookie from ctx.res after merging (helpers.ts).
319
+ // Dedup Set-Cookie: an inner executeMiddleware (route-level middleware)
320
+ // may have already merged the same reqCtx cookies into the response.
314
321
  const reqCtx = _getRequestContext();
315
322
  if (reqCtx) {
323
+ const stubCookies = reqCtx.res.headers.getSetCookie();
324
+ if (stubCookies.length > 0) {
325
+ const existing = new Set(mergedHeaders.getSetCookie());
326
+ for (const cookie of stubCookies) {
327
+ if (!existing.has(cookie)) {
328
+ mergedHeaders.append("set-cookie", cookie);
329
+ }
330
+ }
331
+ }
316
332
  reqCtx.res.headers.forEach((value, name) => {
317
- if (name.toLowerCase() === "set-cookie") {
318
- mergedHeaders.append(name, value);
319
- } else if (!mergedHeaders.has(name)) {
333
+ if (name !== "set-cookie" && !mergedHeaders.has(name)) {
320
334
  mergedHeaders.set(name, value);
321
335
  }
322
336
  });
@@ -391,13 +405,22 @@ export async function executeMiddleware<TEnv>(
391
405
  mergedHeaders.set(name, value);
392
406
  }
393
407
  });
394
- // Also merge shared RequestContext stub (cookies written via setCookie)
408
+ // Also merge shared RequestContext stub (cookies written via setCookie).
409
+ // Dedup Set-Cookie: an inner executeMiddleware (route-level middleware)
410
+ // may have already merged the same reqCtx cookies into the response.
395
411
  const reqCtx = _getRequestContext();
396
412
  if (reqCtx) {
413
+ const stubCookies = reqCtx.res.headers.getSetCookie();
414
+ if (stubCookies.length > 0) {
415
+ const existing = new Set(mergedHeaders.getSetCookie());
416
+ for (const cookie of stubCookies) {
417
+ if (!existing.has(cookie)) {
418
+ mergedHeaders.append("set-cookie", cookie);
419
+ }
420
+ }
421
+ }
397
422
  reqCtx.res.headers.forEach((value, name) => {
398
- if (name.toLowerCase() === "set-cookie") {
399
- mergedHeaders.append(name, value);
400
- } else if (!mergedHeaders.has(name)) {
423
+ if (name !== "set-cookie" && !mergedHeaders.has(name)) {
401
424
  mergedHeaders.set(name, value);
402
425
  }
403
426
  });
@@ -459,6 +482,29 @@ export async function executeMiddleware<TEnv>(
459
482
  throw new Error("No response generated by middleware chain");
460
483
  }
461
484
 
485
+ // Final re-merge: capture any RequestContext stub headers added after the
486
+ // last merge point (e.g. cookies().set() called after await next()).
487
+ // The reqCtx stub may have already been partially merged during finalHandler
488
+ // or early-return paths; only append *new* Set-Cookie entries to avoid dupes.
489
+ const reqCtx = _getRequestContext();
490
+ if (reqCtx) {
491
+ const stubCookies = reqCtx.res.headers.getSetCookie();
492
+ if (stubCookies.length > 0) {
493
+ const existingCookies = new Set(finalResponse.headers.getSetCookie());
494
+ for (const cookie of stubCookies) {
495
+ if (!existingCookies.has(cookie)) {
496
+ finalResponse.headers.append("set-cookie", cookie);
497
+ }
498
+ }
499
+ }
500
+ // Fill in non-cookie headers that aren't already on the response
501
+ reqCtx.res.headers.forEach((value, name) => {
502
+ if (name !== "set-cookie" && !finalResponse.headers.has(name)) {
503
+ finalResponse.headers.set(name, value);
504
+ }
505
+ });
506
+ }
507
+
462
508
  return finalResponse;
463
509
  }
464
510
 
@@ -24,6 +24,7 @@ import {
24
24
  } from "./helpers.js";
25
25
  import { getRouterContext } from "../router-context.js";
26
26
  import { resolveSink, safeEmit } from "../telemetry.js";
27
+ import { track } from "../../server/context.js";
27
28
 
28
29
  // ---------------------------------------------------------------------------
29
30
  // Streamed handler telemetry
@@ -178,7 +179,9 @@ export async function resolveSegment<TEnv>(
178
179
  (context as InternalHandlerContext<any, TEnv>)._currentSegmentId =
179
180
  entry.shortCode;
180
181
 
182
+ const doneLayoutHandler = track(`handler:${entry.id}`, 2);
181
183
  const component = await resolveLayoutComponent(entry, context);
184
+ doneLayoutHandler();
182
185
 
183
186
  segments.push({
184
187
  id: entry.shortCode,
@@ -241,9 +244,11 @@ export async function resolveSegment<TEnv>(
241
244
  entry.shortCode,
242
245
  );
243
246
  if (component === undefined) {
247
+ const doneRouteHandler = track(`handler:${entry.id}`, 2);
244
248
  if (entry.loading) {
245
249
  const result = handleHandlerResult(entry.handler(context));
246
250
  if (result instanceof Promise) {
251
+ result.finally(doneRouteHandler).catch(() => {});
247
252
  const tracked = deps.trackHandler(result, {
248
253
  segmentId: entry.shortCode,
249
254
  segmentType: entry.type,
@@ -258,10 +263,12 @@ export async function resolveSegment<TEnv>(
258
263
  );
259
264
  component = tracked;
260
265
  } else {
266
+ doneRouteHandler();
261
267
  component = result;
262
268
  }
263
269
  } else {
264
270
  component = handleHandlerResult(await entry.handler(context));
271
+ doneRouteHandler();
265
272
  }
266
273
  }
267
274
 
@@ -343,7 +350,9 @@ export async function resolveOrphanLayout<TEnv>(
343
350
 
344
351
  // Handler-first: orphan layout handler executes before its parallels
345
352
  // so that ctx.set() values are visible to parallel children.
353
+ const doneOrphanHandler = track(`handler:${orphan.id}`, 2);
346
354
  const component = await resolveLayoutComponent(orphan, context);
355
+ doneOrphanHandler();
347
356
 
348
357
  segments.push({
349
358
  id: orphan.shortCode,
@@ -410,12 +419,17 @@ export async function resolveParallelEntry<TEnv>(
410
419
  );
411
420
 
412
421
  if (component === undefined) {
422
+ const doneParallelHandler = track(
423
+ `handler:${parallelEntry.id}.${slot}`,
424
+ 2,
425
+ );
413
426
  const hasLoadingFallback =
414
427
  parallelEntry.loading !== undefined && parallelEntry.loading !== false;
415
428
  if (hasLoadingFallback) {
416
429
  const result =
417
430
  typeof handler === "function" ? handler(context) : handler;
418
431
  if (result instanceof Promise) {
432
+ result.finally(doneParallelHandler).catch(() => {});
419
433
  const tracked = deps.trackHandler(result, {
420
434
  segmentId: `${parentShortCode}.${slot}`,
421
435
  segmentType: "parallel",
@@ -430,11 +444,13 @@ export async function resolveParallelEntry<TEnv>(
430
444
  );
431
445
  component = tracked as ReactNode;
432
446
  } else {
447
+ doneParallelHandler();
433
448
  component = result as ReactNode;
434
449
  }
435
450
  } else {
436
451
  component =
437
452
  typeof handler === "function" ? await handler(context) : handler;
453
+ doneParallelHandler();
438
454
  }
439
455
  }
440
456
 
@@ -499,6 +515,7 @@ export async function resolveAllSegments<TEnv>(
499
515
  } catch {}
500
516
 
501
517
  for (const entry of entries) {
518
+ const doneEntry = track(`segment:${entry.id}`, 1);
502
519
  const resolvedSegments = await resolveWithErrorBoundary(
503
520
  entry,
504
521
  params,
@@ -518,6 +535,7 @@ export async function resolveAllSegments<TEnv>(
518
535
  { request: safeRequest, url: context.url, routeKey, telemetry },
519
536
  context.pathname,
520
537
  );
538
+ doneEntry();
521
539
  // Deduplicate by segment ID. include() scopes can produce entries that
522
540
  // resolve the same shared layout/loader segment. Duplicates in the segment
523
541
  // array propagate to the client's matched[] and change the React tree depth.
@@ -37,6 +37,7 @@ import {
37
37
  } from "./helpers.js";
38
38
  import { getRouterContext } from "../router-context.js";
39
39
  import { resolveSink, safeEmit } from "../telemetry.js";
40
+ import { track } from "../../server/context.js";
40
41
 
41
42
  // ---------------------------------------------------------------------------
42
43
  // Telemetry helpers
@@ -621,20 +622,29 @@ export async function resolveEntryHandlerWithRevalidation<TEnv>(
621
622
  return shouldRevalidate;
622
623
  },
623
624
  async () => {
625
+ const doneHandler = track(`handler:${entry.id}`, 2);
624
626
  (context as InternalHandlerContext<any, TEnv>)._currentSegmentId =
625
627
  entry.shortCode;
626
628
  if (entry.type === "layout" || entry.type === "cache") {
627
- return resolveLayoutComponent(entry, context);
629
+ const layoutComponent = await resolveLayoutComponent(entry, context);
630
+ doneHandler();
631
+ return layoutComponent;
628
632
  }
629
633
  const staticComponent = await tryStaticHandler(entry, entry.shortCode);
630
- if (staticComponent !== undefined) return staticComponent;
634
+ if (staticComponent !== undefined) {
635
+ doneHandler();
636
+ return staticComponent;
637
+ }
631
638
  const routeEntry = entry as Extract<EntryData, { type: "route" }>;
632
639
  if (!routeEntry.loading) {
633
- return handleHandlerResult(await routeEntry.handler(context));
640
+ const result = handleHandlerResult(await routeEntry.handler(context));
641
+ doneHandler();
642
+ return result;
634
643
  }
635
644
  if (!actionContext) {
636
645
  const result = handleHandlerResult(routeEntry.handler(context));
637
646
  if (result instanceof Promise) {
647
+ result.finally(doneHandler).catch(() => {});
638
648
  const tracked = deps.trackHandler(result, {
639
649
  segmentId: entry.shortCode,
640
650
  segmentType: entry.type,
@@ -649,15 +659,18 @@ export async function resolveEntryHandlerWithRevalidation<TEnv>(
649
659
  );
650
660
  return { content: tracked };
651
661
  }
662
+ doneHandler();
652
663
  return { content: result };
653
664
  }
654
665
  debugLog("segment.action", "resolving action route with awaited value", {
655
666
  entryId: entry.id,
656
667
  });
668
+ const actionResult = handleHandlerResult(
669
+ await routeEntry.handler(context),
670
+ );
671
+ doneHandler();
657
672
  return {
658
- content: Promise.resolve(
659
- handleHandlerResult(await routeEntry.handler(context)),
660
- ),
673
+ content: Promise.resolve(actionResult),
661
674
  };
662
675
  },
663
676
  () => null,
@@ -1178,6 +1191,7 @@ export async function resolveAllSegmentsWithRevalidation<TEnv>(
1178
1191
  }
1179
1192
 
1180
1193
  const nonParallelEntry = entry as Exclude<EntryData, { type: "parallel" }>;
1194
+ const doneEntry = track(`segment:${entry.id}`, 1);
1181
1195
  const resolved = await resolveWithErrorBoundary(
1182
1196
  nonParallelEntry,
1183
1197
  params,
@@ -1204,6 +1218,7 @@ export async function resolveAllSegmentsWithRevalidation<TEnv>(
1204
1218
  : undefined,
1205
1219
  pathname,
1206
1220
  );
1221
+ doneEntry();
1207
1222
 
1208
1223
  // Deduplicate segments and matchedIds by ID, matching resolveAllSegments.
1209
1224
  // include() scopes can produce entries that resolve the same shared
package/src/router.ts CHANGED
@@ -357,8 +357,12 @@ export function createRouter<TEnv = any>(
357
357
  return precomputedByPrefix;
358
358
  }
359
359
 
360
- // Wrapper to pass debugPerformance to external createMetricsStore
361
- const getMetricsStore = () => createMetricsStore(debugPerformance);
360
+ // Wrapper to pass debugPerformance to external createMetricsStore.
361
+ // Also checks per-request flag set by ctx.debugPerformance() in middleware.
362
+ const getMetricsStore = () =>
363
+ createMetricsStore(
364
+ debugPerformance || !!_getRequestContext()?._debugPerformance,
365
+ );
362
366
 
363
367
  // Wrapper to pass defaults to error/notFound boundary finders
364
368
  const findNearestErrorBoundary = (entry: EntryData | null) =>
@@ -26,6 +26,7 @@ export interface PerformanceMetric {
26
26
  label: string; // e.g., "route-matching", "loader:UserLoader"
27
27
  duration: number; // milliseconds
28
28
  startTime: number; // relative to request start
29
+ depth?: number; // nesting level for hierarchical display (0 = top-level)
29
30
  }
30
31
 
31
32
  /**
@@ -567,7 +568,7 @@ export type { HelperContext };
567
568
  * done(); // Records duration
568
569
  * ```
569
570
  */
570
- export function track(label: string): () => void {
571
+ export function track(label: string, depth?: number): () => void {
571
572
  const store = RSCRouterContext.getStore();
572
573
 
573
574
  // No-op if context unavailable or metrics not enabled
@@ -580,6 +581,11 @@ export function track(label: string): () => void {
580
581
  return () => {
581
582
  const duration =
582
583
  performance.now() - store.metrics!.requestStart - startTime;
583
- store.metrics!.metrics.push({ label, duration, startTime });
584
+ store.metrics!.metrics.push({
585
+ label,
586
+ duration,
587
+ startTime,
588
+ ...(depth != null ? { depth } : {}),
589
+ });
584
590
  };
585
591
  }
@@ -266,6 +266,9 @@ export interface RequestContext<
266
266
  * errors without failing the response.
267
267
  */
268
268
  _reportBackgroundError?: (error: unknown, category: string) => void;
269
+
270
+ /** @internal Per-request debug performance override (set via ctx.debugPerformance()) */
271
+ _debugPerformance?: boolean;
269
272
  }
270
273
 
271
274
  /**
@@ -293,6 +296,7 @@ export type PublicRequestContext<
293
296
  | "_prevRouteKey"
294
297
  | "_reportedErrors"
295
298
  | "_reportBackgroundError"
299
+ | "_debugPerformance"
296
300
  >;
297
301
 
298
302
  // AsyncLocalStorage instance for request context
@@ -882,7 +886,7 @@ export function createUseFunction<TEnv>(
882
886
  };
883
887
 
884
888
  // Start loader execution with tracking
885
- const doneLoader = track(`loader:${loader.$$id}`);
889
+ const doneLoader = track(`loader:${loader.$$id}`, 2);
886
890
  const promise = Promise.resolve(loaderFn(loaderCtx)).finally(() => {
887
891
  doneLoader();
888
892
  });
@@ -1,83 +0,0 @@
1
- /**
2
- * Internal Types - Implementation Details
3
- *
4
- * @internal
5
- * These types are for internal use only and should not be relied upon by consumers.
6
- * They may change without notice between versions.
7
- *
8
- * If you find yourself needing these types, please open an issue to discuss
9
- * adding them to the public API.
10
- */
11
- /**
12
- * @internal
13
- * Internal representation of a resolved route segment.
14
- * Used during route matching and rendering pipeline.
15
- */
16
- export type { ResolvedSegment, SegmentMetadata } from "./types.js";
17
- /**
18
- * @internal
19
- * Internal match result from route resolution.
20
- */
21
- export type { MatchResult, SlotState } from "./types.js";
22
- /**
23
- * @internal
24
- * Context for intercept route selection.
25
- */
26
- export type { InterceptSelectorContext, InterceptSegmentsState, InterceptWhenFn, } from "./server/context.js";
27
- /**
28
- * @internal
29
- * RSC protocol payload structure.
30
- */
31
- export type { RscPayload, ReactFormState } from "./rsc/types.js";
32
- /**
33
- * @internal
34
- * Internal navigation store interface.
35
- */
36
- export type { NavigationStore, NavigationBridge, RscMetadata, ActionResult, InflightAction, NavigationState, TrackedActionState, ActionStateListener, SegmentCache, SegmentState, NavigationUpdate, } from "./browser/types.js";
37
- /**
38
- * @internal
39
- * Internal handle storage mechanism.
40
- */
41
- export type { HandleStore, HandleData } from "./server/handle-store.js";
42
- /**
43
- * @internal
44
- * Segment handle data in cache.
45
- */
46
- export type { SegmentHandleData } from "./cache/types.js";
47
- /**
48
- * @internal
49
- * Internal cache entry data structure.
50
- */
51
- export type { CachedEntryData, CachedEntryResult, CacheGetResult, SerializedSegmentData, CacheDefaults, } from "./cache/types.js";
52
- /**
53
- * @internal
54
- * Router context for AsyncLocalStorage.
55
- */
56
- export type { RouterContext, RevalidationContext, InterceptResult } from "./router/router-context.js";
57
- /**
58
- * @internal
59
- * Route match context during pipeline processing.
60
- */
61
- export type { MatchContext, MatchPipelineState } from "./router/match-context.js";
62
- /**
63
- * @internal
64
- * Pattern matching result.
65
- */
66
- export type { RouteMatchResult } from "./router/pattern-matching.js";
67
- /**
68
- * @internal
69
- * Entry data during route traversal.
70
- */
71
- export type { EntryData, InterceptEntry, MetricsStore, PerformanceMetric, EntryCacheConfig, EntryPropCommon, EntryPropDatas, LoaderEntry, EntryPropSegments, } from "./server/context.js";
72
- /**
73
- * @internal
74
- * Internal handler context with additional props for router internals.
75
- * Includes `_originalRequest` and `_currentSegmentId`.
76
- */
77
- export type { InternalHandlerContext } from "./types.js";
78
- /**
79
- * @internal
80
- * Debug utilities for manifest inspection and comparison.
81
- */
82
- export { serializeManifest, compareManifests, formatManifestDiff, type SerializedEntry, type SerializedManifest, } from "./debug.js";
83
- //# sourceMappingURL=__internal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"__internal.d.ts","sourceRoot":"","sources":["../src/__internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;;;GAIG;AACH,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEnE;;;GAGG;AACH,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAMzD;;;GAGG;AACH,YAAY,EACV,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAM7B;;;GAGG;AACH,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEjE;;;GAGG;AACH,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAM5B;;;GAGG;AACH,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAExE;;;GAGG;AACH,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAM1D;;;GAGG;AACH,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAM1B;;;GAGG;AACH,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAMtG;;;GAGG;AACH,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAElF;;;GAGG;AACH,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAMrE;;;GAGG;AACH,YAAY,EACV,SAAS,EACT,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAM7B;;;;GAIG;AACH,YAAY,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAMzD;;;GAGG;AACH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,eAAe,EACpB,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Internal Types - Implementation Details
3
- *
4
- * @internal
5
- * These types are for internal use only and should not be relied upon by consumers.
6
- * They may change without notice between versions.
7
- *
8
- * If you find yourself needing these types, please open an issue to discuss
9
- * adding them to the public API.
10
- */
11
- // ============================================================================
12
- // Debug Utilities (Internal)
13
- // ============================================================================
14
- /**
15
- * @internal
16
- * Debug utilities for manifest inspection and comparison.
17
- */
18
- export { serializeManifest, compareManifests, formatManifestDiff, } from "./debug.js";
19
- //# sourceMappingURL=__internal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"__internal.js","sourceRoot":"","sources":["../src/__internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAsJH,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E;;;GAGG;AACH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GAGnB,MAAM,YAAY,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Mock for rsc-router:version virtual module.
3
- * Used by vitest since the virtual module is only available at build time.
4
- * Empty string disables version path in URLs for simpler test assertions.
5
- */
6
- export declare const VERSION = "";
7
- //# sourceMappingURL=version.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/__mocks__/version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,OAAO,KAAK,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Mock for rsc-router:version virtual module.
3
- * Used by vitest since the virtual module is only available at build time.
4
- * Empty string disables version path in URLs for simpler test assertions.
5
- */
6
- export const VERSION = "";
7
- //# sourceMappingURL=version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/__mocks__/version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,CAAC"}