@rangojs/router 0.0.0-experimental.78a48627 → 0.0.0-experimental.7dc955ec

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 (866) hide show
  1. package/dist/bin/rango.js +8 -3
  2. package/dist/vite/index.js +155 -201
  3. package/package.json +1 -1
  4. package/skills/cache-guide/SKILL.md +32 -0
  5. package/skills/caching/SKILL.md +45 -4
  6. package/skills/parallel/SKILL.md +126 -0
  7. package/skills/route/SKILL.md +31 -0
  8. package/skills/typesafety/SKILL.md +10 -0
  9. package/src/browser/event-controller.ts +5 -0
  10. package/src/browser/navigation-client.ts +60 -27
  11. package/src/browser/partial-update.ts +23 -16
  12. package/src/browser/prefetch/cache.ts +57 -5
  13. package/src/browser/prefetch/fetch.ts +30 -21
  14. package/src/browser/prefetch/queue.ts +53 -13
  15. package/src/browser/react/Link.tsx +9 -1
  16. package/src/browser/react/NavigationProvider.tsx +3 -3
  17. package/src/browser/rsc-router.tsx +109 -57
  18. package/src/browser/scroll-restoration.ts +11 -10
  19. package/src/browser/segment-reconciler.ts +6 -1
  20. package/src/build/route-types/router-processing.ts +12 -2
  21. package/src/cache/cache-runtime.ts +15 -11
  22. package/src/cache/cache-scope.ts +48 -7
  23. package/src/cache/cf/cf-cache-store.ts +453 -11
  24. package/src/cache/cf/index.ts +5 -1
  25. package/src/cache/document-cache.ts +17 -7
  26. package/src/cache/index.ts +1 -0
  27. package/src/cache/taint.ts +55 -0
  28. package/src/context-var.ts +72 -2
  29. package/src/debug.ts +2 -2
  30. package/src/route-definition/dsl-helpers.ts +32 -7
  31. package/src/route-definition/redirect.ts +2 -2
  32. package/src/router/handler-context.ts +31 -8
  33. package/src/router/lazy-includes.ts +2 -1
  34. package/src/router/logging.ts +1 -1
  35. package/src/router/manifest.ts +6 -2
  36. package/src/router/match-middleware/background-revalidation.ts +30 -2
  37. package/src/router/match-middleware/cache-lookup.ts +66 -9
  38. package/src/router/match-middleware/cache-store.ts +53 -10
  39. package/src/router/match-middleware/intercept-resolution.ts +9 -7
  40. package/src/router/match-middleware/segment-resolution.ts +7 -5
  41. package/src/router/match-result.ts +22 -6
  42. package/src/router/metrics.ts +6 -1
  43. package/src/router/middleware-types.ts +6 -2
  44. package/src/router/middleware.ts +4 -3
  45. package/src/router/router-context.ts +1 -0
  46. package/src/router/segment-resolution/fresh.ts +141 -17
  47. package/src/router/segment-resolution/loader-cache.ts +1 -0
  48. package/src/router/segment-resolution/revalidation.ts +357 -289
  49. package/src/router.ts +1 -1
  50. package/src/segment-system.tsx +140 -4
  51. package/src/server/context.ts +102 -13
  52. package/src/server/request-context.ts +54 -13
  53. package/src/ssr/index.tsx +1 -0
  54. package/src/types/handler-context.ts +113 -19
  55. package/src/types/segments.ts +2 -0
  56. package/src/urls/path-helper.ts +1 -1
  57. package/src/vite/discovery/state.ts +0 -2
  58. package/src/vite/plugin-types.ts +0 -83
  59. package/src/vite/plugins/expose-action-id.ts +1 -3
  60. package/src/vite/plugins/version-plugin.ts +13 -1
  61. package/src/vite/rango.ts +144 -209
  62. package/src/vite/router-discovery.ts +0 -8
  63. package/src/vite/utils/banner.ts +3 -3
  64. package/dist/__internal.d.ts +0 -83
  65. package/dist/__internal.d.ts.map +0 -1
  66. package/dist/__internal.js +0 -19
  67. package/dist/__internal.js.map +0 -1
  68. package/dist/__mocks__/version.d.ts +0 -7
  69. package/dist/__mocks__/version.d.ts.map +0 -1
  70. package/dist/__mocks__/version.js +0 -7
  71. package/dist/__mocks__/version.js.map +0 -1
  72. package/dist/__tests__/client-href.test.d.ts +0 -2
  73. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  74. package/dist/__tests__/client-href.test.js +0 -74
  75. package/dist/__tests__/client-href.test.js.map +0 -1
  76. package/dist/__tests__/component-utils.test.d.ts +0 -2
  77. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  78. package/dist/__tests__/component-utils.test.js +0 -51
  79. package/dist/__tests__/component-utils.test.js.map +0 -1
  80. package/dist/__tests__/event-controller.test.d.ts +0 -2
  81. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  82. package/dist/__tests__/event-controller.test.js +0 -538
  83. package/dist/__tests__/event-controller.test.js.map +0 -1
  84. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  85. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  86. package/dist/__tests__/helpers/route-tree.js +0 -374
  87. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  88. package/dist/__tests__/match-result.test.d.ts +0 -2
  89. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  90. package/dist/__tests__/match-result.test.js +0 -154
  91. package/dist/__tests__/match-result.test.js.map +0 -1
  92. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  93. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  94. package/dist/__tests__/navigation-store.test.js +0 -440
  95. package/dist/__tests__/navigation-store.test.js.map +0 -1
  96. package/dist/__tests__/partial-update.test.d.ts +0 -2
  97. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  98. package/dist/__tests__/partial-update.test.js +0 -1009
  99. package/dist/__tests__/partial-update.test.js.map +0 -1
  100. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  101. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  102. package/dist/__tests__/reverse-types.test.js +0 -656
  103. package/dist/__tests__/reverse-types.test.js.map +0 -1
  104. package/dist/__tests__/route-definition.test.d.ts +0 -2
  105. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  106. package/dist/__tests__/route-definition.test.js +0 -55
  107. package/dist/__tests__/route-definition.test.js.map +0 -1
  108. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  109. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  110. package/dist/__tests__/router-helpers.test.js +0 -377
  111. package/dist/__tests__/router-helpers.test.js.map +0 -1
  112. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  113. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  114. package/dist/__tests__/router-integration-2.test.js +0 -426
  115. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  116. package/dist/__tests__/router-integration.test.d.ts +0 -2
  117. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  118. package/dist/__tests__/router-integration.test.js +0 -1051
  119. package/dist/__tests__/router-integration.test.js.map +0 -1
  120. package/dist/__tests__/search-params.test.d.ts +0 -5
  121. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  122. package/dist/__tests__/search-params.test.js +0 -306
  123. package/dist/__tests__/search-params.test.js.map +0 -1
  124. package/dist/__tests__/segment-system.test.d.ts +0 -2
  125. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  126. package/dist/__tests__/segment-system.test.js +0 -627
  127. package/dist/__tests__/segment-system.test.js.map +0 -1
  128. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  129. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  130. package/dist/__tests__/static-handler-types.test.js +0 -63
  131. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  132. package/dist/__tests__/urls.test.d.ts +0 -2
  133. package/dist/__tests__/urls.test.d.ts.map +0 -1
  134. package/dist/__tests__/urls.test.js +0 -421
  135. package/dist/__tests__/urls.test.js.map +0 -1
  136. package/dist/__tests__/use-mount.test.d.ts +0 -2
  137. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  138. package/dist/__tests__/use-mount.test.js +0 -35
  139. package/dist/__tests__/use-mount.test.js.map +0 -1
  140. package/dist/bin/rango.d.ts +0 -2
  141. package/dist/bin/rango.d.ts.map +0 -1
  142. package/dist/bin/rango.js.map +0 -1
  143. package/dist/browser/event-controller.d.ts +0 -191
  144. package/dist/browser/event-controller.d.ts.map +0 -1
  145. package/dist/browser/event-controller.js +0 -559
  146. package/dist/browser/event-controller.js.map +0 -1
  147. package/dist/browser/index.d.ts +0 -2
  148. package/dist/browser/index.d.ts.map +0 -1
  149. package/dist/browser/index.js +0 -14
  150. package/dist/browser/index.js.map +0 -1
  151. package/dist/browser/link-interceptor.d.ts +0 -38
  152. package/dist/browser/link-interceptor.d.ts.map +0 -1
  153. package/dist/browser/link-interceptor.js +0 -99
  154. package/dist/browser/link-interceptor.js.map +0 -1
  155. package/dist/browser/logging.d.ts +0 -10
  156. package/dist/browser/logging.d.ts.map +0 -1
  157. package/dist/browser/logging.js +0 -29
  158. package/dist/browser/logging.js.map +0 -1
  159. package/dist/browser/lru-cache.d.ts +0 -17
  160. package/dist/browser/lru-cache.d.ts.map +0 -1
  161. package/dist/browser/lru-cache.js +0 -50
  162. package/dist/browser/lru-cache.js.map +0 -1
  163. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  164. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  165. package/dist/browser/merge-segment-loaders.js +0 -102
  166. package/dist/browser/merge-segment-loaders.js.map +0 -1
  167. package/dist/browser/navigation-bridge.d.ts +0 -102
  168. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  169. package/dist/browser/navigation-bridge.js +0 -708
  170. package/dist/browser/navigation-bridge.js.map +0 -1
  171. package/dist/browser/navigation-client.d.ts +0 -25
  172. package/dist/browser/navigation-client.d.ts.map +0 -1
  173. package/dist/browser/navigation-client.js +0 -157
  174. package/dist/browser/navigation-client.js.map +0 -1
  175. package/dist/browser/navigation-store.d.ts +0 -101
  176. package/dist/browser/navigation-store.d.ts.map +0 -1
  177. package/dist/browser/navigation-store.js +0 -625
  178. package/dist/browser/navigation-store.js.map +0 -1
  179. package/dist/browser/partial-update.d.ts +0 -75
  180. package/dist/browser/partial-update.d.ts.map +0 -1
  181. package/dist/browser/partial-update.js +0 -426
  182. package/dist/browser/partial-update.js.map +0 -1
  183. package/dist/browser/react/Link.d.ts +0 -86
  184. package/dist/browser/react/Link.d.ts.map +0 -1
  185. package/dist/browser/react/Link.js +0 -128
  186. package/dist/browser/react/Link.js.map +0 -1
  187. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  188. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  189. package/dist/browser/react/NavigationProvider.js +0 -216
  190. package/dist/browser/react/NavigationProvider.js.map +0 -1
  191. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  192. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  193. package/dist/browser/react/ScrollRestoration.js +0 -57
  194. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  195. package/dist/browser/react/context.d.ts +0 -46
  196. package/dist/browser/react/context.d.ts.map +0 -1
  197. package/dist/browser/react/context.js +0 -10
  198. package/dist/browser/react/context.js.map +0 -1
  199. package/dist/browser/react/index.d.ts +0 -11
  200. package/dist/browser/react/index.d.ts.map +0 -1
  201. package/dist/browser/react/index.js +0 -22
  202. package/dist/browser/react/index.js.map +0 -1
  203. package/dist/browser/react/location-state-shared.d.ts +0 -63
  204. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  205. package/dist/browser/react/location-state-shared.js +0 -81
  206. package/dist/browser/react/location-state-shared.js.map +0 -1
  207. package/dist/browser/react/location-state.d.ts +0 -23
  208. package/dist/browser/react/location-state.d.ts.map +0 -1
  209. package/dist/browser/react/location-state.js +0 -29
  210. package/dist/browser/react/location-state.js.map +0 -1
  211. package/dist/browser/react/mount-context.d.ts +0 -24
  212. package/dist/browser/react/mount-context.d.ts.map +0 -1
  213. package/dist/browser/react/mount-context.js +0 -24
  214. package/dist/browser/react/mount-context.js.map +0 -1
  215. package/dist/browser/react/use-action.d.ts +0 -64
  216. package/dist/browser/react/use-action.d.ts.map +0 -1
  217. package/dist/browser/react/use-action.js +0 -134
  218. package/dist/browser/react/use-action.js.map +0 -1
  219. package/dist/browser/react/use-client-cache.d.ts +0 -41
  220. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  221. package/dist/browser/react/use-client-cache.js +0 -39
  222. package/dist/browser/react/use-client-cache.js.map +0 -1
  223. package/dist/browser/react/use-handle.d.ts +0 -31
  224. package/dist/browser/react/use-handle.d.ts.map +0 -1
  225. package/dist/browser/react/use-handle.js +0 -144
  226. package/dist/browser/react/use-handle.js.map +0 -1
  227. package/dist/browser/react/use-href.d.ts +0 -33
  228. package/dist/browser/react/use-href.d.ts.map +0 -1
  229. package/dist/browser/react/use-href.js +0 -39
  230. package/dist/browser/react/use-href.js.map +0 -1
  231. package/dist/browser/react/use-link-status.d.ts +0 -37
  232. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  233. package/dist/browser/react/use-link-status.js +0 -99
  234. package/dist/browser/react/use-link-status.js.map +0 -1
  235. package/dist/browser/react/use-mount.d.ts +0 -25
  236. package/dist/browser/react/use-mount.d.ts.map +0 -1
  237. package/dist/browser/react/use-mount.js +0 -30
  238. package/dist/browser/react/use-mount.js.map +0 -1
  239. package/dist/browser/react/use-navigation.d.ts +0 -27
  240. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  241. package/dist/browser/react/use-navigation.js +0 -87
  242. package/dist/browser/react/use-navigation.js.map +0 -1
  243. package/dist/browser/react/use-segments.d.ts +0 -38
  244. package/dist/browser/react/use-segments.d.ts.map +0 -1
  245. package/dist/browser/react/use-segments.js +0 -130
  246. package/dist/browser/react/use-segments.js.map +0 -1
  247. package/dist/browser/request-controller.d.ts +0 -26
  248. package/dist/browser/request-controller.d.ts.map +0 -1
  249. package/dist/browser/request-controller.js +0 -147
  250. package/dist/browser/request-controller.js.map +0 -1
  251. package/dist/browser/rsc-router.d.ts +0 -129
  252. package/dist/browser/rsc-router.d.ts.map +0 -1
  253. package/dist/browser/rsc-router.js +0 -195
  254. package/dist/browser/rsc-router.js.map +0 -1
  255. package/dist/browser/scroll-restoration.d.ts +0 -93
  256. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  257. package/dist/browser/scroll-restoration.js +0 -321
  258. package/dist/browser/scroll-restoration.js.map +0 -1
  259. package/dist/browser/segment-structure-assert.d.ts +0 -17
  260. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  261. package/dist/browser/segment-structure-assert.js +0 -59
  262. package/dist/browser/segment-structure-assert.js.map +0 -1
  263. package/dist/browser/server-action-bridge.d.ts +0 -26
  264. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  265. package/dist/browser/server-action-bridge.js +0 -668
  266. package/dist/browser/server-action-bridge.js.map +0 -1
  267. package/dist/browser/shallow.d.ts +0 -12
  268. package/dist/browser/shallow.d.ts.map +0 -1
  269. package/dist/browser/shallow.js +0 -34
  270. package/dist/browser/shallow.js.map +0 -1
  271. package/dist/browser/types.d.ts +0 -369
  272. package/dist/browser/types.d.ts.map +0 -1
  273. package/dist/browser/types.js +0 -2
  274. package/dist/browser/types.js.map +0 -1
  275. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  276. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  277. package/dist/build/__tests__/generate-cli.test.js +0 -237
  278. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  279. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  280. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  281. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  282. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  283. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  284. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  285. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  286. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  287. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  288. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  289. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  290. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  291. package/dist/build/generate-manifest.d.ts +0 -81
  292. package/dist/build/generate-manifest.d.ts.map +0 -1
  293. package/dist/build/generate-manifest.js +0 -276
  294. package/dist/build/generate-manifest.js.map +0 -1
  295. package/dist/build/generate-route-types.d.ts +0 -115
  296. package/dist/build/generate-route-types.d.ts.map +0 -1
  297. package/dist/build/generate-route-types.js +0 -740
  298. package/dist/build/generate-route-types.js.map +0 -1
  299. package/dist/build/index.d.ts +0 -21
  300. package/dist/build/index.d.ts.map +0 -1
  301. package/dist/build/index.js +0 -21
  302. package/dist/build/index.js.map +0 -1
  303. package/dist/build/route-trie.d.ts +0 -71
  304. package/dist/build/route-trie.d.ts.map +0 -1
  305. package/dist/build/route-trie.js +0 -175
  306. package/dist/build/route-trie.js.map +0 -1
  307. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  308. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  309. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  310. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  311. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  312. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  313. package/dist/cache/__tests__/document-cache.test.js +0 -345
  314. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  315. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  316. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  317. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  318. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  319. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  320. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  321. package/dist/cache/__tests__/memory-store.test.js +0 -367
  322. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  323. package/dist/cache/cache-scope.d.ts +0 -102
  324. package/dist/cache/cache-scope.d.ts.map +0 -1
  325. package/dist/cache/cache-scope.js +0 -440
  326. package/dist/cache/cache-scope.js.map +0 -1
  327. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  328. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  329. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  330. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  331. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  332. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  333. package/dist/cache/cf/cf-cache-store.js +0 -242
  334. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  335. package/dist/cache/cf/index.d.ts +0 -14
  336. package/dist/cache/cf/index.d.ts.map +0 -1
  337. package/dist/cache/cf/index.js +0 -17
  338. package/dist/cache/cf/index.js.map +0 -1
  339. package/dist/cache/document-cache.d.ts +0 -64
  340. package/dist/cache/document-cache.d.ts.map +0 -1
  341. package/dist/cache/document-cache.js +0 -228
  342. package/dist/cache/document-cache.js.map +0 -1
  343. package/dist/cache/index.d.ts +0 -19
  344. package/dist/cache/index.d.ts.map +0 -1
  345. package/dist/cache/index.js +0 -21
  346. package/dist/cache/index.js.map +0 -1
  347. package/dist/cache/memory-segment-store.d.ts +0 -110
  348. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  349. package/dist/cache/memory-segment-store.js +0 -117
  350. package/dist/cache/memory-segment-store.js.map +0 -1
  351. package/dist/cache/memory-store.d.ts +0 -41
  352. package/dist/cache/memory-store.d.ts.map +0 -1
  353. package/dist/cache/memory-store.js +0 -191
  354. package/dist/cache/memory-store.js.map +0 -1
  355. package/dist/cache/types.d.ts +0 -317
  356. package/dist/cache/types.d.ts.map +0 -1
  357. package/dist/cache/types.js +0 -12
  358. package/dist/cache/types.js.map +0 -1
  359. package/dist/client.d.ts +0 -248
  360. package/dist/client.d.ts.map +0 -1
  361. package/dist/client.js +0 -367
  362. package/dist/client.js.map +0 -1
  363. package/dist/client.rsc.d.ts +0 -26
  364. package/dist/client.rsc.d.ts.map +0 -1
  365. package/dist/client.rsc.js +0 -46
  366. package/dist/client.rsc.js.map +0 -1
  367. package/dist/component-utils.d.ts +0 -36
  368. package/dist/component-utils.d.ts.map +0 -1
  369. package/dist/component-utils.js +0 -61
  370. package/dist/component-utils.js.map +0 -1
  371. package/dist/components/DefaultDocument.d.ts +0 -13
  372. package/dist/components/DefaultDocument.d.ts.map +0 -1
  373. package/dist/components/DefaultDocument.js +0 -15
  374. package/dist/components/DefaultDocument.js.map +0 -1
  375. package/dist/debug.d.ts +0 -58
  376. package/dist/debug.d.ts.map +0 -1
  377. package/dist/debug.js +0 -157
  378. package/dist/debug.js.map +0 -1
  379. package/dist/default-error-boundary.d.ts +0 -11
  380. package/dist/default-error-boundary.d.ts.map +0 -1
  381. package/dist/default-error-boundary.js +0 -45
  382. package/dist/default-error-boundary.js.map +0 -1
  383. package/dist/deps/browser.d.ts +0 -2
  384. package/dist/deps/browser.d.ts.map +0 -1
  385. package/dist/deps/browser.js +0 -3
  386. package/dist/deps/browser.js.map +0 -1
  387. package/dist/deps/html-stream-client.d.ts +0 -2
  388. package/dist/deps/html-stream-client.d.ts.map +0 -1
  389. package/dist/deps/html-stream-client.js +0 -3
  390. package/dist/deps/html-stream-client.js.map +0 -1
  391. package/dist/deps/html-stream-server.d.ts +0 -2
  392. package/dist/deps/html-stream-server.d.ts.map +0 -1
  393. package/dist/deps/html-stream-server.js +0 -3
  394. package/dist/deps/html-stream-server.js.map +0 -1
  395. package/dist/deps/rsc.d.ts +0 -2
  396. package/dist/deps/rsc.d.ts.map +0 -1
  397. package/dist/deps/rsc.js +0 -4
  398. package/dist/deps/rsc.js.map +0 -1
  399. package/dist/deps/ssr.d.ts +0 -2
  400. package/dist/deps/ssr.d.ts.map +0 -1
  401. package/dist/deps/ssr.js +0 -3
  402. package/dist/deps/ssr.js.map +0 -1
  403. package/dist/errors.d.ts +0 -174
  404. package/dist/errors.d.ts.map +0 -1
  405. package/dist/errors.js +0 -241
  406. package/dist/errors.js.map +0 -1
  407. package/dist/handle.d.ts +0 -78
  408. package/dist/handle.d.ts.map +0 -1
  409. package/dist/handle.js +0 -82
  410. package/dist/handle.js.map +0 -1
  411. package/dist/handles/MetaTags.d.ts +0 -14
  412. package/dist/handles/MetaTags.d.ts.map +0 -1
  413. package/dist/handles/MetaTags.js +0 -136
  414. package/dist/handles/MetaTags.js.map +0 -1
  415. package/dist/handles/index.d.ts +0 -6
  416. package/dist/handles/index.d.ts.map +0 -1
  417. package/dist/handles/index.js +0 -6
  418. package/dist/handles/index.js.map +0 -1
  419. package/dist/handles/meta.d.ts +0 -39
  420. package/dist/handles/meta.d.ts.map +0 -1
  421. package/dist/handles/meta.js +0 -202
  422. package/dist/handles/meta.js.map +0 -1
  423. package/dist/host/__tests__/errors.test.d.ts +0 -2
  424. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  425. package/dist/host/__tests__/errors.test.js +0 -76
  426. package/dist/host/__tests__/errors.test.js.map +0 -1
  427. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  428. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  429. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  430. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  431. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  432. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  433. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  434. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  435. package/dist/host/__tests__/router.test.d.ts +0 -2
  436. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  437. package/dist/host/__tests__/router.test.js +0 -241
  438. package/dist/host/__tests__/router.test.js.map +0 -1
  439. package/dist/host/__tests__/testing.test.d.ts +0 -2
  440. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  441. package/dist/host/__tests__/testing.test.js +0 -64
  442. package/dist/host/__tests__/testing.test.js.map +0 -1
  443. package/dist/host/__tests__/utils.test.d.ts +0 -2
  444. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  445. package/dist/host/__tests__/utils.test.js +0 -29
  446. package/dist/host/__tests__/utils.test.js.map +0 -1
  447. package/dist/host/cookie-handler.d.ts +0 -34
  448. package/dist/host/cookie-handler.d.ts.map +0 -1
  449. package/dist/host/cookie-handler.js +0 -124
  450. package/dist/host/cookie-handler.js.map +0 -1
  451. package/dist/host/errors.d.ts +0 -56
  452. package/dist/host/errors.d.ts.map +0 -1
  453. package/dist/host/errors.js +0 -79
  454. package/dist/host/errors.js.map +0 -1
  455. package/dist/host/index.d.ts +0 -29
  456. package/dist/host/index.d.ts.map +0 -1
  457. package/dist/host/index.js +0 -32
  458. package/dist/host/index.js.map +0 -1
  459. package/dist/host/pattern-matcher.d.ts +0 -36
  460. package/dist/host/pattern-matcher.d.ts.map +0 -1
  461. package/dist/host/pattern-matcher.js +0 -172
  462. package/dist/host/pattern-matcher.js.map +0 -1
  463. package/dist/host/router.d.ts +0 -26
  464. package/dist/host/router.d.ts.map +0 -1
  465. package/dist/host/router.js +0 -218
  466. package/dist/host/router.js.map +0 -1
  467. package/dist/host/testing.d.ts +0 -36
  468. package/dist/host/testing.d.ts.map +0 -1
  469. package/dist/host/testing.js +0 -55
  470. package/dist/host/testing.js.map +0 -1
  471. package/dist/host/types.d.ts +0 -115
  472. package/dist/host/types.d.ts.map +0 -1
  473. package/dist/host/types.js +0 -7
  474. package/dist/host/types.js.map +0 -1
  475. package/dist/host/utils.d.ts +0 -21
  476. package/dist/host/utils.d.ts.map +0 -1
  477. package/dist/host/utils.js +0 -23
  478. package/dist/host/utils.js.map +0 -1
  479. package/dist/href-client.d.ts +0 -131
  480. package/dist/href-client.d.ts.map +0 -1
  481. package/dist/href-client.js +0 -64
  482. package/dist/href-client.js.map +0 -1
  483. package/dist/href-context.d.ts +0 -29
  484. package/dist/href-context.d.ts.map +0 -1
  485. package/dist/href-context.js +0 -21
  486. package/dist/href-context.js.map +0 -1
  487. package/dist/index.d.ts +0 -73
  488. package/dist/index.d.ts.map +0 -1
  489. package/dist/index.js +0 -91
  490. package/dist/index.js.map +0 -1
  491. package/dist/index.rsc.d.ts +0 -32
  492. package/dist/index.rsc.d.ts.map +0 -1
  493. package/dist/index.rsc.js +0 -40
  494. package/dist/index.rsc.js.map +0 -1
  495. package/dist/internal-debug.d.ts +0 -2
  496. package/dist/internal-debug.d.ts.map +0 -1
  497. package/dist/internal-debug.js +0 -5
  498. package/dist/internal-debug.js.map +0 -1
  499. package/dist/loader.d.ts +0 -14
  500. package/dist/loader.d.ts.map +0 -1
  501. package/dist/loader.js +0 -20
  502. package/dist/loader.js.map +0 -1
  503. package/dist/loader.rsc.d.ts +0 -19
  504. package/dist/loader.rsc.d.ts.map +0 -1
  505. package/dist/loader.rsc.js +0 -99
  506. package/dist/loader.rsc.js.map +0 -1
  507. package/dist/network-error-thrower.d.ts +0 -17
  508. package/dist/network-error-thrower.d.ts.map +0 -1
  509. package/dist/network-error-thrower.js +0 -14
  510. package/dist/network-error-thrower.js.map +0 -1
  511. package/dist/outlet-context.d.ts +0 -13
  512. package/dist/outlet-context.d.ts.map +0 -1
  513. package/dist/outlet-context.js +0 -3
  514. package/dist/outlet-context.js.map +0 -1
  515. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  516. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  517. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  518. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  519. package/dist/prerender/param-hash.d.ts +0 -16
  520. package/dist/prerender/param-hash.d.ts.map +0 -1
  521. package/dist/prerender/param-hash.js +0 -36
  522. package/dist/prerender/param-hash.js.map +0 -1
  523. package/dist/prerender/store.d.ts +0 -38
  524. package/dist/prerender/store.d.ts.map +0 -1
  525. package/dist/prerender/store.js +0 -61
  526. package/dist/prerender/store.js.map +0 -1
  527. package/dist/prerender.d.ts +0 -66
  528. package/dist/prerender.d.ts.map +0 -1
  529. package/dist/prerender.js +0 -57
  530. package/dist/prerender.js.map +0 -1
  531. package/dist/reverse.d.ts +0 -196
  532. package/dist/reverse.d.ts.map +0 -1
  533. package/dist/reverse.js +0 -78
  534. package/dist/reverse.js.map +0 -1
  535. package/dist/root-error-boundary.d.ts +0 -33
  536. package/dist/root-error-boundary.d.ts.map +0 -1
  537. package/dist/root-error-boundary.js +0 -165
  538. package/dist/root-error-boundary.js.map +0 -1
  539. package/dist/route-content-wrapper.d.ts +0 -46
  540. package/dist/route-content-wrapper.d.ts.map +0 -1
  541. package/dist/route-content-wrapper.js +0 -77
  542. package/dist/route-content-wrapper.js.map +0 -1
  543. package/dist/route-definition.d.ts +0 -421
  544. package/dist/route-definition.d.ts.map +0 -1
  545. package/dist/route-definition.js +0 -868
  546. package/dist/route-definition.js.map +0 -1
  547. package/dist/route-map-builder.d.ts +0 -155
  548. package/dist/route-map-builder.d.ts.map +0 -1
  549. package/dist/route-map-builder.js +0 -237
  550. package/dist/route-map-builder.js.map +0 -1
  551. package/dist/route-types.d.ts +0 -165
  552. package/dist/route-types.d.ts.map +0 -1
  553. package/dist/route-types.js +0 -7
  554. package/dist/route-types.js.map +0 -1
  555. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  556. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  557. package/dist/router/__tests__/handler-context.test.js +0 -65
  558. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  559. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  560. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  561. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  562. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  563. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  564. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  565. package/dist/router/__tests__/match-context.test.js +0 -92
  566. package/dist/router/__tests__/match-context.test.js.map +0 -1
  567. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  568. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  569. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  570. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  571. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  572. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  573. package/dist/router/__tests__/match-result.test.js +0 -457
  574. package/dist/router/__tests__/match-result.test.js.map +0 -1
  575. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  576. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  577. package/dist/router/__tests__/on-error.test.js +0 -678
  578. package/dist/router/__tests__/on-error.test.js.map +0 -1
  579. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  580. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  581. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  582. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  583. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  584. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  585. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  586. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  587. package/dist/router/error-handling.d.ts +0 -77
  588. package/dist/router/error-handling.d.ts.map +0 -1
  589. package/dist/router/error-handling.js +0 -202
  590. package/dist/router/error-handling.js.map +0 -1
  591. package/dist/router/handler-context.d.ts +0 -20
  592. package/dist/router/handler-context.d.ts.map +0 -1
  593. package/dist/router/handler-context.js +0 -198
  594. package/dist/router/handler-context.js.map +0 -1
  595. package/dist/router/intercept-resolution.d.ts +0 -66
  596. package/dist/router/intercept-resolution.d.ts.map +0 -1
  597. package/dist/router/intercept-resolution.js +0 -246
  598. package/dist/router/intercept-resolution.js.map +0 -1
  599. package/dist/router/loader-resolution.d.ts +0 -64
  600. package/dist/router/loader-resolution.d.ts.map +0 -1
  601. package/dist/router/loader-resolution.js +0 -284
  602. package/dist/router/loader-resolution.js.map +0 -1
  603. package/dist/router/logging.d.ts +0 -15
  604. package/dist/router/logging.d.ts.map +0 -1
  605. package/dist/router/logging.js +0 -99
  606. package/dist/router/logging.js.map +0 -1
  607. package/dist/router/manifest.d.ts +0 -22
  608. package/dist/router/manifest.d.ts.map +0 -1
  609. package/dist/router/manifest.js +0 -181
  610. package/dist/router/manifest.js.map +0 -1
  611. package/dist/router/match-api.d.ts +0 -35
  612. package/dist/router/match-api.d.ts.map +0 -1
  613. package/dist/router/match-api.js +0 -406
  614. package/dist/router/match-api.js.map +0 -1
  615. package/dist/router/match-context.d.ts +0 -206
  616. package/dist/router/match-context.d.ts.map +0 -1
  617. package/dist/router/match-context.js +0 -17
  618. package/dist/router/match-context.js.map +0 -1
  619. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  620. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  621. package/dist/router/match-middleware/background-revalidation.js +0 -75
  622. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  623. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  624. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  625. package/dist/router/match-middleware/cache-lookup.js +0 -257
  626. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  627. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  628. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  629. package/dist/router/match-middleware/cache-store.js +0 -108
  630. package/dist/router/match-middleware/cache-store.js.map +0 -1
  631. package/dist/router/match-middleware/index.d.ts +0 -81
  632. package/dist/router/match-middleware/index.d.ts.map +0 -1
  633. package/dist/router/match-middleware/index.js +0 -80
  634. package/dist/router/match-middleware/index.js.map +0 -1
  635. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  636. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  637. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  638. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  639. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  640. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  641. package/dist/router/match-middleware/segment-resolution.js +0 -53
  642. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  643. package/dist/router/match-pipelines.d.ts +0 -147
  644. package/dist/router/match-pipelines.d.ts.map +0 -1
  645. package/dist/router/match-pipelines.js +0 -82
  646. package/dist/router/match-pipelines.js.map +0 -1
  647. package/dist/router/match-result.d.ts +0 -126
  648. package/dist/router/match-result.d.ts.map +0 -1
  649. package/dist/router/match-result.js +0 -93
  650. package/dist/router/match-result.js.map +0 -1
  651. package/dist/router/metrics.d.ts +0 -20
  652. package/dist/router/metrics.d.ts.map +0 -1
  653. package/dist/router/metrics.js +0 -47
  654. package/dist/router/metrics.js.map +0 -1
  655. package/dist/router/middleware.d.ts +0 -249
  656. package/dist/router/middleware.d.ts.map +0 -1
  657. package/dist/router/middleware.js +0 -434
  658. package/dist/router/middleware.js.map +0 -1
  659. package/dist/router/middleware.test.d.ts +0 -2
  660. package/dist/router/middleware.test.d.ts.map +0 -1
  661. package/dist/router/middleware.test.js +0 -816
  662. package/dist/router/middleware.test.js.map +0 -1
  663. package/dist/router/pattern-matching.d.ts +0 -149
  664. package/dist/router/pattern-matching.d.ts.map +0 -1
  665. package/dist/router/pattern-matching.js +0 -349
  666. package/dist/router/pattern-matching.js.map +0 -1
  667. package/dist/router/revalidation.d.ts +0 -44
  668. package/dist/router/revalidation.d.ts.map +0 -1
  669. package/dist/router/revalidation.js +0 -147
  670. package/dist/router/revalidation.js.map +0 -1
  671. package/dist/router/router-context.d.ts +0 -135
  672. package/dist/router/router-context.d.ts.map +0 -1
  673. package/dist/router/router-context.js +0 -36
  674. package/dist/router/router-context.js.map +0 -1
  675. package/dist/router/segment-resolution.d.ts +0 -127
  676. package/dist/router/segment-resolution.d.ts.map +0 -1
  677. package/dist/router/segment-resolution.js +0 -919
  678. package/dist/router/segment-resolution.js.map +0 -1
  679. package/dist/router/trie-matching.d.ts +0 -40
  680. package/dist/router/trie-matching.d.ts.map +0 -1
  681. package/dist/router/trie-matching.js +0 -127
  682. package/dist/router/trie-matching.js.map +0 -1
  683. package/dist/router/types.d.ts +0 -136
  684. package/dist/router/types.d.ts.map +0 -1
  685. package/dist/router/types.js +0 -7
  686. package/dist/router/types.js.map +0 -1
  687. package/dist/router.d.ts +0 -753
  688. package/dist/router.d.ts.map +0 -1
  689. package/dist/router.gen.d.ts +0 -6
  690. package/dist/router.gen.d.ts.map +0 -1
  691. package/dist/router.gen.js +0 -6
  692. package/dist/router.gen.js.map +0 -1
  693. package/dist/router.js +0 -1304
  694. package/dist/router.js.map +0 -1
  695. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  696. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  697. package/dist/rsc/__tests__/helpers.test.js +0 -140
  698. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  699. package/dist/rsc/handler.d.ts +0 -45
  700. package/dist/rsc/handler.d.ts.map +0 -1
  701. package/dist/rsc/handler.js +0 -1172
  702. package/dist/rsc/handler.js.map +0 -1
  703. package/dist/rsc/helpers.d.ts +0 -16
  704. package/dist/rsc/helpers.d.ts.map +0 -1
  705. package/dist/rsc/helpers.js +0 -55
  706. package/dist/rsc/helpers.js.map +0 -1
  707. package/dist/rsc/index.d.ts +0 -22
  708. package/dist/rsc/index.d.ts.map +0 -1
  709. package/dist/rsc/index.js +0 -23
  710. package/dist/rsc/index.js.map +0 -1
  711. package/dist/rsc/nonce.d.ts +0 -9
  712. package/dist/rsc/nonce.d.ts.map +0 -1
  713. package/dist/rsc/nonce.js +0 -18
  714. package/dist/rsc/nonce.js.map +0 -1
  715. package/dist/rsc/types.d.ts +0 -206
  716. package/dist/rsc/types.d.ts.map +0 -1
  717. package/dist/rsc/types.js +0 -8
  718. package/dist/rsc/types.js.map +0 -1
  719. package/dist/search-params.d.ts +0 -103
  720. package/dist/search-params.d.ts.map +0 -1
  721. package/dist/search-params.js +0 -74
  722. package/dist/search-params.js.map +0 -1
  723. package/dist/segment-system.d.ts +0 -75
  724. package/dist/segment-system.d.ts.map +0 -1
  725. package/dist/segment-system.js +0 -336
  726. package/dist/segment-system.js.map +0 -1
  727. package/dist/server/context.d.ts +0 -245
  728. package/dist/server/context.d.ts.map +0 -1
  729. package/dist/server/context.js +0 -197
  730. package/dist/server/context.js.map +0 -1
  731. package/dist/server/fetchable-loader-store.d.ts +0 -18
  732. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  733. package/dist/server/fetchable-loader-store.js +0 -18
  734. package/dist/server/fetchable-loader-store.js.map +0 -1
  735. package/dist/server/handle-store.d.ts +0 -85
  736. package/dist/server/handle-store.d.ts.map +0 -1
  737. package/dist/server/handle-store.js +0 -142
  738. package/dist/server/handle-store.js.map +0 -1
  739. package/dist/server/loader-registry.d.ts +0 -55
  740. package/dist/server/loader-registry.d.ts.map +0 -1
  741. package/dist/server/loader-registry.js +0 -132
  742. package/dist/server/loader-registry.js.map +0 -1
  743. package/dist/server/request-context.d.ts +0 -226
  744. package/dist/server/request-context.d.ts.map +0 -1
  745. package/dist/server/request-context.js +0 -290
  746. package/dist/server/request-context.js.map +0 -1
  747. package/dist/server/root-layout.d.ts +0 -4
  748. package/dist/server/root-layout.d.ts.map +0 -1
  749. package/dist/server/root-layout.js +0 -5
  750. package/dist/server/root-layout.js.map +0 -1
  751. package/dist/server.d.ts +0 -15
  752. package/dist/server.d.ts.map +0 -1
  753. package/dist/server.js +0 -20
  754. package/dist/server.js.map +0 -1
  755. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  756. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  757. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  758. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  759. package/dist/ssr/index.d.ts +0 -98
  760. package/dist/ssr/index.d.ts.map +0 -1
  761. package/dist/ssr/index.js +0 -158
  762. package/dist/ssr/index.js.map +0 -1
  763. package/dist/static-handler.d.ts +0 -50
  764. package/dist/static-handler.d.ts.map +0 -1
  765. package/dist/static-handler.gen.d.ts +0 -5
  766. package/dist/static-handler.gen.d.ts.map +0 -1
  767. package/dist/static-handler.gen.js +0 -5
  768. package/dist/static-handler.gen.js.map +0 -1
  769. package/dist/static-handler.js +0 -29
  770. package/dist/static-handler.js.map +0 -1
  771. package/dist/theme/ThemeProvider.d.ts +0 -20
  772. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  773. package/dist/theme/ThemeProvider.js +0 -240
  774. package/dist/theme/ThemeProvider.js.map +0 -1
  775. package/dist/theme/ThemeScript.d.ts +0 -48
  776. package/dist/theme/ThemeScript.d.ts.map +0 -1
  777. package/dist/theme/ThemeScript.js +0 -13
  778. package/dist/theme/ThemeScript.js.map +0 -1
  779. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  780. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  781. package/dist/theme/__tests__/theme.test.js +0 -103
  782. package/dist/theme/__tests__/theme.test.js.map +0 -1
  783. package/dist/theme/constants.d.ts +0 -29
  784. package/dist/theme/constants.d.ts.map +0 -1
  785. package/dist/theme/constants.js +0 -48
  786. package/dist/theme/constants.js.map +0 -1
  787. package/dist/theme/index.d.ts +0 -31
  788. package/dist/theme/index.d.ts.map +0 -1
  789. package/dist/theme/index.js +0 -36
  790. package/dist/theme/index.js.map +0 -1
  791. package/dist/theme/theme-context.d.ts +0 -40
  792. package/dist/theme/theme-context.d.ts.map +0 -1
  793. package/dist/theme/theme-context.js +0 -60
  794. package/dist/theme/theme-context.js.map +0 -1
  795. package/dist/theme/theme-script.d.ts +0 -27
  796. package/dist/theme/theme-script.d.ts.map +0 -1
  797. package/dist/theme/theme-script.js +0 -147
  798. package/dist/theme/theme-script.js.map +0 -1
  799. package/dist/theme/types.d.ts +0 -163
  800. package/dist/theme/types.d.ts.map +0 -1
  801. package/dist/theme/types.js +0 -11
  802. package/dist/theme/types.js.map +0 -1
  803. package/dist/theme/use-theme.d.ts +0 -12
  804. package/dist/theme/use-theme.d.ts.map +0 -1
  805. package/dist/theme/use-theme.js +0 -40
  806. package/dist/theme/use-theme.js.map +0 -1
  807. package/dist/types.d.ts +0 -1479
  808. package/dist/types.d.ts.map +0 -1
  809. package/dist/types.js +0 -10
  810. package/dist/types.js.map +0 -1
  811. package/dist/urls.d.ts +0 -441
  812. package/dist/urls.d.ts.map +0 -1
  813. package/dist/urls.gen.d.ts +0 -8
  814. package/dist/urls.gen.d.ts.map +0 -1
  815. package/dist/urls.gen.js +0 -8
  816. package/dist/urls.gen.js.map +0 -1
  817. package/dist/urls.js +0 -443
  818. package/dist/urls.js.map +0 -1
  819. package/dist/use-loader.d.ts +0 -127
  820. package/dist/use-loader.d.ts.map +0 -1
  821. package/dist/use-loader.js +0 -237
  822. package/dist/use-loader.js.map +0 -1
  823. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  824. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  825. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  826. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  827. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  828. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  829. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  830. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  831. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  832. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  833. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  834. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  835. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  836. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  837. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  838. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  839. package/dist/vite/ast-handler-extract.d.ts +0 -49
  840. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  841. package/dist/vite/ast-handler-extract.js +0 -249
  842. package/dist/vite/ast-handler-extract.js.map +0 -1
  843. package/dist/vite/expose-action-id.d.ts +0 -19
  844. package/dist/vite/expose-action-id.d.ts.map +0 -1
  845. package/dist/vite/expose-action-id.js +0 -250
  846. package/dist/vite/expose-action-id.js.map +0 -1
  847. package/dist/vite/expose-id-utils.d.ts +0 -69
  848. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  849. package/dist/vite/expose-id-utils.js +0 -289
  850. package/dist/vite/expose-id-utils.js.map +0 -1
  851. package/dist/vite/expose-internal-ids.d.ts +0 -22
  852. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  853. package/dist/vite/expose-internal-ids.js +0 -886
  854. package/dist/vite/expose-internal-ids.js.map +0 -1
  855. package/dist/vite/index.d.ts +0 -149
  856. package/dist/vite/index.d.ts.map +0 -1
  857. package/dist/vite/index.js.map +0 -1
  858. package/dist/vite/index.named-routes.gen.ts +0 -103
  859. package/dist/vite/package-resolution.d.ts +0 -43
  860. package/dist/vite/package-resolution.d.ts.map +0 -1
  861. package/dist/vite/package-resolution.js +0 -112
  862. package/dist/vite/package-resolution.js.map +0 -1
  863. package/dist/vite/virtual-entries.d.ts +0 -25
  864. package/dist/vite/virtual-entries.d.ts.map +0 -1
  865. package/dist/vite/virtual-entries.js +0 -110
  866. package/dist/vite/virtual-entries.js.map +0 -1
package/dist/bin/rango.js CHANGED
@@ -601,7 +601,7 @@ function countPublicRouteEntries(source) {
601
601
  return count;
602
602
  }
603
603
  function isRoutableSourceFile(name) {
604
- return (name.endsWith(".ts") || name.endsWith(".tsx") || name.endsWith(".js") || name.endsWith(".jsx")) && !name.includes(".gen.");
604
+ return (name.endsWith(".ts") || name.endsWith(".tsx") || name.endsWith(".js") || name.endsWith(".jsx")) && !name.includes(".gen.") && !name.includes(".test.") && !name.includes(".spec.");
605
605
  }
606
606
  function findRouterFilesRecursive(dir, filter, results) {
607
607
  let entries;
@@ -618,7 +618,8 @@ function findRouterFilesRecursive(dir, filter, results) {
618
618
  for (const entry of entries) {
619
619
  const fullPath = join2(dir, entry.name);
620
620
  if (entry.isDirectory()) {
621
- if (entry.name === "node_modules" || entry.name.startsWith(".")) continue;
621
+ if (entry.name === "node_modules" || entry.name === "dist" || entry.name === "coverage" || entry.name === "__tests__" || entry.name === "__mocks__" || entry.name.startsWith("."))
622
+ continue;
622
623
  childDirs.push(fullPath);
623
624
  continue;
624
625
  }
@@ -1062,8 +1063,9 @@ function createVersionPlugin() {
1062
1063
  let isDev = false;
1063
1064
  let server = null;
1064
1065
  const clientModuleSignatures = /* @__PURE__ */ new Map();
1066
+ let versionCounter = 0;
1065
1067
  const bumpVersion = (reason) => {
1066
- currentVersion = Date.now().toString(16);
1068
+ currentVersion = Date.now().toString(16) + String(++versionCounter);
1067
1069
  console.log(`[rsc-router] ${reason}, version updated: ${currentVersion}`);
1068
1070
  const rscEnv = server?.environments?.rsc;
1069
1071
  const versionMod = rscEnv?.moduleGraph?.getModuleById(
@@ -1119,6 +1121,9 @@ function createVersionPlugin() {
1119
1121
  if (!isDev) return;
1120
1122
  const isRscModule = this.environment?.name === "rsc";
1121
1123
  if (!isRscModule) return;
1124
+ if (ctx.modules.length === 1 && ctx.modules[0].id === "\0" + VIRTUAL_IDS.version) {
1125
+ return;
1126
+ }
1122
1127
  if (isCodeModule(ctx.file)) {
1123
1128
  const filePath = normalizeModuleId(ctx.file);
1124
1129
  const previousSignature = clientModuleSignatures.get(filePath);
@@ -292,7 +292,7 @@ function exposeActionId() {
292
292
  }
293
293
  if (!rscPluginApi) {
294
294
  throw new Error(
295
- "[rsc-router] Could not find @vitejs/plugin-rsc. @rangojs/router requires the Vite RSC plugin.\nThe RSC plugin should be included automatically. If you disabled it with\nrango({ rsc: false }), add rsc() before rango() in your config."
295
+ "[rsc-router] Could not find @vitejs/plugin-rsc. @rangojs/router requires the Vite RSC plugin, which is included automatically by rango()."
296
296
  );
297
297
  }
298
298
  if (!isBuild) return;
@@ -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.78a48627",
1748
+ version: "0.0.0-experimental.7dc955ec",
1749
1749
  description: "Django-inspired RSC router with composable URL patterns",
1750
1750
  keywords: [
1751
1751
  "react",
@@ -2095,31 +2095,7 @@ declare global {
2095
2095
  }
2096
2096
 
2097
2097
  // src/build/route-types/scan-filter.ts
2098
- import { join, relative } from "node:path";
2099
2098
  import picomatch from "picomatch";
2100
- var DEFAULT_EXCLUDE_PATTERNS = [
2101
- "**/__tests__/**",
2102
- "**/__mocks__/**",
2103
- "**/dist/**",
2104
- "**/coverage/**",
2105
- "**/*.test.{ts,tsx,js,jsx}",
2106
- "**/*.spec.{ts,tsx,js,jsx}"
2107
- ];
2108
- function createScanFilter(root, opts) {
2109
- const { include, exclude } = opts;
2110
- const hasInclude = include && include.length > 0;
2111
- const hasCustomExclude = exclude !== void 0;
2112
- if (!hasInclude && !hasCustomExclude) return void 0;
2113
- const effectiveExclude = exclude ?? DEFAULT_EXCLUDE_PATTERNS;
2114
- const includeMatcher = hasInclude ? picomatch(include) : null;
2115
- const excludeMatcher = effectiveExclude.length > 0 ? picomatch(effectiveExclude) : null;
2116
- return (absolutePath) => {
2117
- const rel = relative(root, absolutePath);
2118
- if (excludeMatcher && excludeMatcher(rel)) return false;
2119
- if (includeMatcher) return includeMatcher(rel);
2120
- return true;
2121
- };
2122
- }
2123
2099
 
2124
2100
  // src/build/route-types/per-module-writer.ts
2125
2101
  import ts4 from "typescript";
@@ -2386,7 +2362,7 @@ import {
2386
2362
  readdirSync
2387
2363
  } from "node:fs";
2388
2364
  import {
2389
- join as join2,
2365
+ join,
2390
2366
  dirname as dirname2,
2391
2367
  resolve as resolve3,
2392
2368
  sep,
@@ -2406,7 +2382,7 @@ function countPublicRouteEntries(source) {
2406
2382
  }
2407
2383
  var ROUTER_CALL_PATTERN = /\bcreateRouter\s*[<(]/;
2408
2384
  function isRoutableSourceFile(name) {
2409
- return (name.endsWith(".ts") || name.endsWith(".tsx") || name.endsWith(".js") || name.endsWith(".jsx")) && !name.includes(".gen.");
2385
+ return (name.endsWith(".ts") || name.endsWith(".tsx") || name.endsWith(".js") || name.endsWith(".jsx")) && !name.includes(".gen.") && !name.includes(".test.") && !name.includes(".spec.");
2410
2386
  }
2411
2387
  function findRouterFilesRecursive(dir, filter, results) {
2412
2388
  let entries;
@@ -2421,9 +2397,10 @@ function findRouterFilesRecursive(dir, filter, results) {
2421
2397
  const childDirs = [];
2422
2398
  const routerFilesInDir = [];
2423
2399
  for (const entry of entries) {
2424
- const fullPath = join2(dir, entry.name);
2400
+ const fullPath = join(dir, entry.name);
2425
2401
  if (entry.isDirectory()) {
2426
- if (entry.name === "node_modules" || entry.name.startsWith(".")) continue;
2402
+ if (entry.name === "node_modules" || entry.name === "dist" || entry.name === "coverage" || entry.name === "__tests__" || entry.name === "__mocks__" || entry.name.startsWith("."))
2403
+ continue;
2427
2404
  childDirs.push(fullPath);
2428
2405
  continue;
2429
2406
  }
@@ -2547,7 +2524,7 @@ function findRouterFiles(root, filter) {
2547
2524
  }
2548
2525
  function writeCombinedRouteTypes(root, knownRouterFiles, opts) {
2549
2526
  try {
2550
- const oldCombinedPath = join2(root, "src", "named-routes.gen.ts");
2527
+ const oldCombinedPath = join(root, "src", "named-routes.gen.ts");
2551
2528
  if (existsSync3(oldCombinedPath)) {
2552
2529
  unlinkSync(oldCombinedPath);
2553
2530
  console.log(
@@ -2587,7 +2564,7 @@ function writeCombinedRouteTypes(root, knownRouterFiles, opts) {
2587
2564
  /\.(tsx?|jsx?)$/,
2588
2565
  ""
2589
2566
  );
2590
- const outPath = join2(
2567
+ const outPath = join(
2591
2568
  dirname2(routerFilePath),
2592
2569
  `${routerBasename}.named-routes.gen.ts`
2593
2570
  );
@@ -2717,8 +2694,9 @@ function createVersionPlugin() {
2717
2694
  let isDev = false;
2718
2695
  let server = null;
2719
2696
  const clientModuleSignatures = /* @__PURE__ */ new Map();
2697
+ let versionCounter = 0;
2720
2698
  const bumpVersion = (reason) => {
2721
- currentVersion = Date.now().toString(16);
2699
+ currentVersion = Date.now().toString(16) + String(++versionCounter);
2722
2700
  console.log(`[rsc-router] ${reason}, version updated: ${currentVersion}`);
2723
2701
  const rscEnv = server?.environments?.rsc;
2724
2702
  const versionMod = rscEnv?.moduleGraph?.getModuleById(
@@ -2774,6 +2752,9 @@ function createVersionPlugin() {
2774
2752
  if (!isDev) return;
2775
2753
  const isRscModule = this.environment?.name === "rsc";
2776
2754
  if (!isRscModule) return;
2755
+ if (ctx.modules.length === 1 && ctx.modules[0].id === "\0" + VIRTUAL_IDS.version) {
2756
+ return;
2757
+ }
2777
2758
  if (isCodeModule(ctx.file)) {
2778
2759
  const filePath = normalizeModuleId(ctx.file);
2779
2760
  const previousSignature = clientModuleSignatures.get(filePath);
@@ -2903,11 +2884,11 @@ ${dim} \u2571${reset} ${bold}\u2554\u2550\u2557${reset}${dim} * \u2
2903
2884
  ${dim} ${reset}${bold}\u2551 \u2551${reset} ${bold}\u2554\u2550\u2557${reset}${dim} * \u2727. \u2571${reset}
2904
2885
  ${dim} ${reset}${bold}\u2554\u2557 \u2551 \u2551 \u2551 \u2551${reset}${dim} * \u2571${reset}
2905
2886
  ${dim} ${reset}${bold}\u2551\u2551 \u2551 \u2551 \u2551 \u2551 \u2566\u2550\u2557\u2554\u2550\u2557\u2554\u2557\u2554\u2554\u2550\u2557\u2554\u2550\u2557${reset}${dim} \u2727 \u2726${reset}
2906
- ${dim} ${reset}${bold}\u2550\u2563\u2551 \u2551 \u2560\u2550\u255D \u2551 \u2560\u2566\u255D\u2560\u2550\u2563\u2551\u2551\u2551\u2551 \u2566\u2551 \u2551${reset}${dim} * \u2727${reset}
2887
+ ${dim} ${reset}${bold}\u2551\u2551 \u2551 \u2560\u2550\u255D \u2551 \u2560\u2566\u255D\u2560\u2550\u2563\u2551\u2551\u2551\u2551 \u2566\u2551 \u2551${reset}${dim} * \u2727${reset}
2907
2888
  ${dim} ${reset}${bold}\u2551\u255A\u2550\u255D \u2554\u2550\u2550\u2550\u255D \u2569\u255A\u2550\u2569 \u2569\u255D\u255A\u255D\u255A\u2550\u255D\u255A\u2550\u255D${reset}${dim} \u2726 . *${reset}
2908
2889
  ${dim} ${reset}${bold}\u255A\u2550\u2550\u2557 \u2551${reset}${dim} * RSC Wrangler \u2727 \u2726${reset}
2909
- ${dim} * ${reset}${bold}\u2551 \u2560\u2550${reset}${dim} * \u2727. \u2571${reset}
2910
- ${bold}\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2569\u2550\u2550\u2550${reset}${dim} \u2726 *${reset}
2890
+ ${dim} * ${reset}${bold}\u2551 \u2551${reset}${dim} * \u2727. \u2571${reset}
2891
+ ${dim} ${reset}${bold}\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550${reset}${dim} \u2726 *${reset}
2911
2892
 
2912
2893
  v${version} \xB7 ${preset} \xB7 ${mode}
2913
2894
  `;
@@ -3052,7 +3033,7 @@ function createVirtualStubPlugin() {
3052
3033
  }
3053
3034
 
3054
3035
  // src/vite/plugins/client-ref-hashing.ts
3055
- import { relative as relative2 } from "node:path";
3036
+ import { relative } from "node:path";
3056
3037
  import { createHash as createHash2 } from "node:crypto";
3057
3038
  var CLIENT_PKG_PROXY_PREFIX = "/@id/__x00__virtual:vite-rsc/client-package-proxy/";
3058
3039
  var CLIENT_IN_SERVER_PKG_PROXY_PREFIX = "/@id/__x00__virtual:vite-rsc/client-in-server-package-proxy/";
@@ -3065,10 +3046,10 @@ function computeProductionHash(projectRoot, refKey) {
3065
3046
  const absPath = decodeURIComponent(
3066
3047
  refKey.slice(CLIENT_IN_SERVER_PKG_PROXY_PREFIX.length)
3067
3048
  );
3068
- toHash = relative2(projectRoot, absPath).replaceAll("\\", "/");
3049
+ toHash = relative(projectRoot, absPath).replaceAll("\\", "/");
3069
3050
  } else if (refKey.startsWith(FS_PREFIX)) {
3070
3051
  const absPath = refKey.slice(FS_PREFIX.length - 1);
3071
- toHash = relative2(projectRoot, absPath).replaceAll("\\", "/");
3052
+ toHash = relative(projectRoot, absPath).replaceAll("\\", "/");
3072
3053
  } else if (refKey.startsWith("/")) {
3073
3054
  toHash = refKey.slice(1);
3074
3055
  } else {
@@ -3293,8 +3274,17 @@ function jsonParseExpression(value) {
3293
3274
  }
3294
3275
 
3295
3276
  // src/context-var.ts
3277
+ var NON_CACHEABLE_KEYS = /* @__PURE__ */ Symbol.for(
3278
+ "rango:non-cacheable-keys"
3279
+ );
3280
+ function getNonCacheableKeys(variables) {
3281
+ if (!variables[NON_CACHEABLE_KEYS]) {
3282
+ variables[NON_CACHEABLE_KEYS] = /* @__PURE__ */ new Set();
3283
+ }
3284
+ return variables[NON_CACHEABLE_KEYS];
3285
+ }
3296
3286
  var FORBIDDEN_KEYS = /* @__PURE__ */ new Set(["__proto__", "constructor", "prototype"]);
3297
- function contextSet(variables, keyOrVar, value) {
3287
+ function contextSet(variables, keyOrVar, value, options) {
3298
3288
  if (typeof keyOrVar === "string") {
3299
3289
  if (FORBIDDEN_KEYS.has(keyOrVar)) {
3300
3290
  throw new Error(
@@ -3302,8 +3292,14 @@ function contextSet(variables, keyOrVar, value) {
3302
3292
  );
3303
3293
  }
3304
3294
  variables[keyOrVar] = value;
3295
+ if (options?.cache === false) {
3296
+ getNonCacheableKeys(variables).add(keyOrVar);
3297
+ }
3305
3298
  } else {
3306
3299
  variables[keyOrVar.key] = value;
3300
+ if (options?.cache === false) {
3301
+ getNonCacheableKeys(variables).add(keyOrVar.key);
3302
+ }
3307
3303
  }
3308
3304
  }
3309
3305
 
@@ -3937,7 +3933,7 @@ async function discoverRouters(state, rscEnv) {
3937
3933
  }
3938
3934
 
3939
3935
  // src/vite/discovery/route-types-writer.ts
3940
- import { dirname as dirname3, basename, join as join3, resolve as resolve6 } from "node:path";
3936
+ import { dirname as dirname3, basename, join as join2, resolve as resolve6 } from "node:path";
3941
3937
  import { readFileSync as readFileSync4, writeFileSync as writeFileSync3, existsSync as existsSync5, unlinkSync as unlinkSync2 } from "node:fs";
3942
3938
  function filterUserNamedRoutes(manifest) {
3943
3939
  const filtered = {};
@@ -3958,7 +3954,7 @@ function writeCombinedRouteTypesWithTracking(state, opts) {
3958
3954
  /\.(tsx?|jsx?)$/,
3959
3955
  ""
3960
3956
  );
3961
- const outPath = join3(routerDir, `${routerBasename}.named-routes.gen.ts`);
3957
+ const outPath = join2(routerDir, `${routerBasename}.named-routes.gen.ts`);
3962
3958
  try {
3963
3959
  preContent.set(outPath, readFileSync4(outPath, "utf-8"));
3964
3960
  } catch {
@@ -3971,7 +3967,7 @@ function writeCombinedRouteTypesWithTracking(state, opts) {
3971
3967
  /\.(tsx?|jsx?)$/,
3972
3968
  ""
3973
3969
  );
3974
- const outPath = join3(routerDir, `${routerBasename}.named-routes.gen.ts`);
3970
+ const outPath = join2(routerDir, `${routerBasename}.named-routes.gen.ts`);
3975
3971
  if (!existsSync5(outPath)) continue;
3976
3972
  try {
3977
3973
  const content = readFileSync4(outPath, "utf-8");
@@ -3988,7 +3984,7 @@ function writeRouteTypesFiles(state) {
3988
3984
  const entryDir = dirname3(
3989
3985
  resolve6(state.projectRoot, state.resolvedEntryPath)
3990
3986
  );
3991
- const oldCombinedPath = join3(entryDir, "named-routes.gen.ts");
3987
+ const oldCombinedPath = join2(entryDir, "named-routes.gen.ts");
3992
3988
  if (existsSync5(oldCombinedPath)) {
3993
3989
  unlinkSync2(oldCombinedPath);
3994
3990
  console.log(
@@ -4013,7 +4009,7 @@ Set an explicit \`id\` on createRouter() or check the call site.`
4013
4009
  }
4014
4010
  const routerDir = dirname3(sourceFile);
4015
4011
  const routerBasename = basename(sourceFile).replace(/\.(tsx?|jsx?)$/, "");
4016
- const outPath = join3(routerDir, `${routerBasename}.named-routes.gen.ts`);
4012
+ const outPath = join2(routerDir, `${routerBasename}.named-routes.gen.ts`);
4017
4013
  const userRoutes = filterUserNamedRoutes(routeManifest);
4018
4014
  let effectiveSearchSchemas = routeSearchSchemas;
4019
4015
  if ((!effectiveSearchSchemas || Object.keys(effectiveSearchSchemas).length === 0) && sourceFile) {
@@ -4078,7 +4074,7 @@ function supplementGenFilesWithRuntimeRoutes(state) {
4078
4074
  }
4079
4075
  const routerDir = dirname3(sourceFile);
4080
4076
  const routerBasename = basename(sourceFile).replace(/\.(tsx?|jsx?)$/, "");
4081
- const outPath = join3(routerDir, `${routerBasename}.named-routes.gen.ts`);
4077
+ const outPath = join2(routerDir, `${routerBasename}.named-routes.gen.ts`);
4082
4078
  const source = generateRouteTypesSource(
4083
4079
  mergedRoutes,
4084
4080
  Object.keys(mergedSearchSchemas).length > 0 ? mergedSearchSchemas : void 0
@@ -4092,7 +4088,7 @@ function supplementGenFilesWithRuntimeRoutes(state) {
4092
4088
  }
4093
4089
 
4094
4090
  // src/vite/discovery/virtual-module-codegen.ts
4095
- import { dirname as dirname4, basename as basename2, join as join4 } from "node:path";
4091
+ import { dirname as dirname4, basename as basename2, join as join3 } from "node:path";
4096
4092
  function generateRoutesManifestModule(state) {
4097
4093
  const hasManifest = state.mergedRouteManifest && Object.keys(state.mergedRouteManifest).length > 0;
4098
4094
  if (hasManifest) {
@@ -4107,7 +4103,7 @@ function generateRoutesManifestModule(state) {
4107
4103
  /\.(tsx?|jsx?)$/,
4108
4104
  ""
4109
4105
  );
4110
- const genPath = join4(
4106
+ const genPath = join3(
4111
4107
  routerDir,
4112
4108
  `${routerBasename}.named-routes.gen.js`
4113
4109
  ).replaceAll("\\", "/");
@@ -4204,7 +4200,7 @@ function generatePerRouterModule(state, routerId) {
4204
4200
  /\.(tsx?|jsx?)$/,
4205
4201
  ""
4206
4202
  );
4207
- const genPath = join4(
4203
+ const genPath = join3(
4208
4204
  routerDir,
4209
4205
  `${routerBasename}.named-routes.gen.js`
4210
4206
  ).replaceAll("\\", "/");
@@ -4445,12 +4441,6 @@ function createRouterDiscoveryPlugin(entryPath, opts) {
4445
4441
  s.resolvedEntryPath = entries[0];
4446
4442
  }
4447
4443
  }
4448
- if (opts?.include || opts?.exclude) {
4449
- s.scanFilter = createScanFilter(s.projectRoot, {
4450
- include: opts.include,
4451
- exclude: opts.exclude
4452
- });
4453
- }
4454
4444
  if (opts?.staticRouteTypesGeneration !== false) {
4455
4445
  s.cachedRouterFiles = findRouterFiles(s.projectRoot, s.scanFilter);
4456
4446
  writeCombinedRouteTypesWithTracking(s, { preserveIfLarger: true });
@@ -4879,7 +4869,6 @@ async function rango(options) {
4879
4869
  const plugins = [];
4880
4870
  const rangoAliases = getPackageAliases();
4881
4871
  const excludeDeps = getExcludeDeps();
4882
- let rscEntryPath = null;
4883
4872
  const routerRef = { path: void 0 };
4884
4873
  const prerenderEnabled = true;
4885
4874
  if (preset === "cloudflare") {
@@ -4983,153 +4972,121 @@ async function rango(options) {
4983
4972
  );
4984
4973
  plugins.push(clientRefDedup());
4985
4974
  } else {
4986
- const nodeOptions = resolvedOptions;
4987
- routerRef.path = nodeOptions.router;
4988
- if (!routerRef.path) {
4989
- plugins.push({
4990
- name: "@rangojs/router:auto-discover",
4991
- config(userConfig) {
4992
- if (routerRef.path) return;
4993
- const root = userConfig.root ? resolve9(process.cwd(), userConfig.root) : process.cwd();
4994
- const filter = createScanFilter(root, {
4995
- include: resolvedOptions.include,
4996
- exclude: resolvedOptions.exclude
4997
- });
4998
- const candidates = findRouterFiles(root, filter);
4999
- if (candidates.length === 1) {
5000
- const abs = candidates[0];
5001
- routerRef.path = (abs.startsWith(root) ? "./" + abs.slice(root.length + 1) : abs).replaceAll("\\", "/");
5002
- } else if (candidates.length > 1) {
5003
- const list = candidates.map(
5004
- (f) => " - " + (f.startsWith(root) ? f.slice(root.length + 1) : f)
5005
- ).join("\n");
5006
- throw new Error(
5007
- `[rsc-router] Multiple routers found. Specify \`router\` to choose one:
5008
- ${list}`
5009
- );
5010
- }
4975
+ plugins.push({
4976
+ name: "@rangojs/router:auto-discover",
4977
+ config(userConfig) {
4978
+ if (routerRef.path) return;
4979
+ const root = userConfig.root ? resolve9(process.cwd(), userConfig.root) : process.cwd();
4980
+ const candidates = findRouterFiles(root);
4981
+ if (candidates.length === 1) {
4982
+ const abs = candidates[0];
4983
+ routerRef.path = (abs.startsWith(root) ? "./" + abs.slice(root.length + 1) : abs).replaceAll("\\", "/");
4984
+ } else if (candidates.length > 1) {
4985
+ const list = candidates.map(
4986
+ (f) => " - " + (f.startsWith(root) ? f.slice(root.length + 1) : f)
4987
+ ).join("\n");
4988
+ throw new Error(`[rsc-router] Multiple routers found:
4989
+ ${list}`);
5011
4990
  }
5012
- });
5013
- }
5014
- const rscOption = nodeOptions.rsc ?? true;
5015
- if (rscOption !== false) {
5016
- const { default: rsc } = await import("@vitejs/plugin-rsc");
5017
- const userEntries = typeof rscOption === "boolean" ? {} : rscOption.entries || {};
5018
- const finalEntries = {
5019
- client: userEntries.client ?? VIRTUAL_IDS.browser,
5020
- ssr: userEntries.ssr ?? VIRTUAL_IDS.ssr,
5021
- rsc: userEntries.rsc ?? VIRTUAL_IDS.rsc
5022
- };
5023
- rscEntryPath = userEntries.rsc ?? null;
5024
- let hasWarnedDuplicate = false;
5025
- plugins.push({
5026
- name: "@rangojs/router:rsc-integration",
5027
- enforce: "pre",
5028
- config() {
5029
- const useVirtualClient = finalEntries.client === VIRTUAL_IDS.browser;
5030
- const useVirtualSSR = finalEntries.ssr === VIRTUAL_IDS.ssr;
5031
- const useVirtualRSC = finalEntries.rsc === VIRTUAL_IDS.rsc;
5032
- return {
5033
- // Exclude rsc-router modules from optimization to prevent module duplication
5034
- // This ensures the same Context instance is used by both browser entry and RSC proxy modules
5035
- optimizeDeps: {
5036
- exclude: excludeDeps,
5037
- esbuildOptions: sharedEsbuildOptions
5038
- },
5039
- build: {
5040
- rollupOptions: { onwarn }
5041
- },
5042
- resolve: {
5043
- alias: rangoAliases
5044
- },
5045
- environments: {
5046
- client: {
5047
- build: {
5048
- rollupOptions: {
5049
- output: {
5050
- manualChunks: getManualChunks
5051
- }
5052
- }
5053
- },
5054
- // Always exclude rsc-router modules, conditionally add virtual entry
5055
- optimizeDeps: {
5056
- // Pre-bundle React and rsc-html-stream to prevent late discovery
5057
- // triggering ERR_OUTDATED_OPTIMIZED_DEP on cold starts
5058
- include: [
5059
- "react",
5060
- "react-dom",
5061
- "react/jsx-runtime",
5062
- "react/jsx-dev-runtime",
5063
- "rsc-html-stream/client"
5064
- ],
5065
- exclude: excludeDeps,
5066
- esbuildOptions: sharedEsbuildOptions,
5067
- ...useVirtualClient && {
5068
- // Tell Vite to scan the virtual entry for dependencies
5069
- entries: [VIRTUAL_IDS.browser]
5070
- }
5071
- }
5072
- },
5073
- ...useVirtualSSR && {
5074
- ssr: {
5075
- optimizeDeps: {
5076
- entries: [VIRTUAL_IDS.ssr],
5077
- // Pre-bundle all SSR deps to prevent late discovery triggering ERR_OUTDATED_OPTIMIZED_DEP
5078
- include: [
5079
- "react",
5080
- "react-dom",
5081
- "react-dom/server.edge",
5082
- "react-dom/static.edge",
5083
- "react/jsx-runtime",
5084
- "react/jsx-dev-runtime",
5085
- "@vitejs/plugin-rsc/vendor/react-server-dom/client.edge"
5086
- ],
5087
- exclude: excludeDeps,
5088
- esbuildOptions: sharedEsbuildOptions
4991
+ }
4992
+ });
4993
+ const finalEntries = {
4994
+ client: VIRTUAL_IDS.browser,
4995
+ ssr: VIRTUAL_IDS.ssr,
4996
+ rsc: VIRTUAL_IDS.rsc
4997
+ };
4998
+ const { default: rsc } = await import("@vitejs/plugin-rsc");
4999
+ let hasWarnedDuplicate = false;
5000
+ plugins.push({
5001
+ name: "@rangojs/router:rsc-integration",
5002
+ enforce: "pre",
5003
+ config() {
5004
+ return {
5005
+ optimizeDeps: {
5006
+ exclude: excludeDeps,
5007
+ esbuildOptions: sharedEsbuildOptions
5008
+ },
5009
+ build: {
5010
+ rollupOptions: { onwarn }
5011
+ },
5012
+ resolve: {
5013
+ alias: rangoAliases
5014
+ },
5015
+ environments: {
5016
+ client: {
5017
+ build: {
5018
+ rollupOptions: {
5019
+ output: {
5020
+ manualChunks: getManualChunks
5089
5021
  }
5090
5022
  }
5091
5023
  },
5092
- ...useVirtualRSC && {
5093
- rsc: {
5094
- optimizeDeps: {
5095
- entries: [VIRTUAL_IDS.rsc],
5096
- // Pre-bundle all RSC deps to prevent late discovery triggering ERR_OUTDATED_OPTIMIZED_DEP
5097
- include: [
5098
- "react",
5099
- "react/jsx-runtime",
5100
- "react/jsx-dev-runtime",
5101
- "@vitejs/plugin-rsc/vendor/react-server-dom/server.edge"
5102
- ],
5103
- esbuildOptions: sharedEsbuildOptions
5104
- }
5105
- }
5024
+ optimizeDeps: {
5025
+ include: [
5026
+ "react",
5027
+ "react-dom",
5028
+ "react/jsx-runtime",
5029
+ "react/jsx-dev-runtime",
5030
+ "rsc-html-stream/client"
5031
+ ],
5032
+ exclude: excludeDeps,
5033
+ esbuildOptions: sharedEsbuildOptions,
5034
+ entries: [VIRTUAL_IDS.browser]
5035
+ }
5036
+ },
5037
+ ssr: {
5038
+ optimizeDeps: {
5039
+ entries: [VIRTUAL_IDS.ssr],
5040
+ include: [
5041
+ "react",
5042
+ "react-dom",
5043
+ "react-dom/server.edge",
5044
+ "react-dom/static.edge",
5045
+ "react/jsx-runtime",
5046
+ "react/jsx-dev-runtime",
5047
+ "@vitejs/plugin-rsc/vendor/react-server-dom/client.edge"
5048
+ ],
5049
+ exclude: excludeDeps,
5050
+ esbuildOptions: sharedEsbuildOptions
5051
+ }
5052
+ },
5053
+ rsc: {
5054
+ optimizeDeps: {
5055
+ entries: [VIRTUAL_IDS.rsc],
5056
+ include: [
5057
+ "react",
5058
+ "react/jsx-runtime",
5059
+ "react/jsx-dev-runtime",
5060
+ "@vitejs/plugin-rsc/vendor/react-server-dom/server.edge"
5061
+ ],
5062
+ esbuildOptions: sharedEsbuildOptions
5106
5063
  }
5107
5064
  }
5108
- };
5109
- },
5110
- configResolved(config) {
5111
- if (showBanner) {
5112
- const mode = config.command === "serve" ? process.argv.includes("preview") ? "preview" : "dev" : "build";
5113
- printBanner(mode, "node", rangoVersion);
5114
- }
5115
- const rscMinimalCount = config.plugins.filter(
5116
- (p) => p.name === "rsc:minimal"
5117
- ).length;
5118
- if (rscMinimalCount > 1 && !hasWarnedDuplicate) {
5119
- hasWarnedDuplicate = true;
5120
- console.warn(
5121
- "[rsc-router] Duplicate @vitejs/plugin-rsc detected. Remove rsc() from your config or use rango({ rsc: false }) for manual configuration."
5122
- );
5123
5065
  }
5066
+ };
5067
+ },
5068
+ configResolved(config) {
5069
+ if (showBanner) {
5070
+ const mode = config.command === "serve" ? process.argv.includes("preview") ? "preview" : "dev" : "build";
5071
+ printBanner(mode, "node", rangoVersion);
5124
5072
  }
5125
- });
5126
- plugins.push(createVirtualEntriesPlugin(finalEntries, routerRef));
5127
- plugins.push(
5128
- rsc({
5129
- entries: finalEntries
5130
- })
5131
- );
5132
- }
5073
+ const rscMinimalCount = config.plugins.filter(
5074
+ (p) => p.name === "rsc:minimal"
5075
+ ).length;
5076
+ if (rscMinimalCount > 1 && !hasWarnedDuplicate) {
5077
+ hasWarnedDuplicate = true;
5078
+ console.warn(
5079
+ "[rsc-router] Duplicate @vitejs/plugin-rsc detected. Remove rsc() from your vite config \u2014 rango() includes it automatically."
5080
+ );
5081
+ }
5082
+ }
5083
+ });
5084
+ plugins.push(createVirtualEntriesPlugin(finalEntries, routerRef));
5085
+ plugins.push(
5086
+ rsc({
5087
+ entries: finalEntries
5088
+ })
5089
+ );
5133
5090
  plugins.push(clientRefDedup());
5134
5091
  }
5135
5092
  plugins.push({
@@ -5157,18 +5114,15 @@ ${list}`
5157
5114
  plugins.push(createVersionPlugin());
5158
5115
  const discoveryEntryPath = preset !== "cloudflare" ? routerRef.path : void 0;
5159
5116
  const discoveryRouterRef = preset !== "cloudflare" ? routerRef : void 0;
5160
- const injectorEntryPath = rscEntryPath ?? (preset === "cloudflare" ? void 0 : null);
5161
- if (injectorEntryPath !== null) {
5162
- plugins.push(createVersionInjectorPlugin(injectorEntryPath));
5117
+ if (preset === "cloudflare") {
5118
+ plugins.push(createVersionInjectorPlugin(void 0));
5163
5119
  }
5164
5120
  plugins.push(createCjsToEsmPlugin());
5165
5121
  plugins.push(
5166
5122
  createRouterDiscoveryPlugin(discoveryEntryPath, {
5167
5123
  routerPathRef: discoveryRouterRef,
5168
5124
  enableBuildPrerender: prerenderEnabled,
5169
- staticRouteTypesGeneration: resolvedOptions.staticRouteTypesGeneration,
5170
- include: resolvedOptions.include,
5171
- exclude: resolvedOptions.exclude
5125
+ staticRouteTypesGeneration: resolvedOptions.staticRouteTypesGeneration
5172
5126
  })
5173
5127
  );
5174
5128
  return plugins;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rangojs/router",
3
- "version": "0.0.0-experimental.78a48627",
3
+ "version": "0.0.0-experimental.7dc955ec",
4
4
  "description": "Django-inspired RSC router with composable URL patterns",
5
5
  "keywords": [
6
6
  "react",
@@ -162,6 +162,38 @@ middleware(async (ctx, next) => {
162
162
  });
163
163
  ```
164
164
 
165
+ ## Context Variable Cache Safety
166
+
167
+ Context variables created with `createVar()` are cacheable by default and can
168
+ be read freely inside `cache()` and `"use cache"` scopes. Non-cacheable vars
169
+ throw at read time to prevent request-specific data from being captured.
170
+
171
+ There are two ways to mark a value as non-cacheable:
172
+
173
+ ```typescript
174
+ // Var-level policy — inherently request-specific data
175
+ const Session = createVar<SessionData>({ cache: false });
176
+
177
+ // Write-level escalation — this specific write is non-cacheable
178
+ ctx.set(Theme, derivedTheme, { cache: false });
179
+ ```
180
+
181
+ "Least cacheable wins": if either the var definition or the `ctx.set()` call
182
+ specifies `cache: false`, the value is non-cacheable.
183
+
184
+ **Behavior inside cache scopes:**
185
+
186
+ | Operation | Inside `cache()` / `"use cache"` |
187
+ | ----------------------------------- | -------------------------------- |
188
+ | `ctx.get(cacheableVar)` | Allowed |
189
+ | `ctx.get(nonCacheableVar)` | Throws |
190
+ | `ctx.set(var, value)` (cacheable) | Allowed |
191
+ | `ctx.header()`, `ctx.cookie()`, etc | Throws (response side effects) |
192
+
193
+ Write is dumb — `ctx.set()` stores the cache metadata but does not enforce.
194
+ Enforcement happens at read time (`ctx.get()`), where ALS detects the cache
195
+ scope and rejects non-cacheable reads.
196
+
165
197
  ## Loaders Are Always Fresh
166
198
 
167
199
  Loaders are **never cached** by route-level `cache()`. Even on a full cache hit