@rangojs/router 0.0.0-experimental.111 → 0.0.0-experimental.113

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 (875) hide show
  1. package/dist/bin/rango.js +42 -38
  2. package/dist/vite/index.js +147 -194
  3. package/package.json +17 -16
  4. package/skills/cache-guide/SKILL.md +35 -24
  5. package/skills/caching/SKILL.md +115 -7
  6. package/skills/document-cache/SKILL.md +78 -55
  7. package/skills/hooks/SKILL.md +37 -19
  8. package/skills/loader/SKILL.md +3 -3
  9. package/skills/rango/SKILL.md +15 -10
  10. package/skills/use-cache/SKILL.md +34 -5
  11. package/src/browser/action-coordinator.ts +53 -36
  12. package/src/browser/event-controller.ts +42 -66
  13. package/src/browser/navigation-bridge.ts +4 -0
  14. package/src/browser/navigation-client.ts +12 -15
  15. package/src/browser/navigation-store.ts +7 -8
  16. package/src/browser/navigation-transaction.ts +7 -21
  17. package/src/browser/partial-update.ts +8 -16
  18. package/src/browser/react/NavigationProvider.tsx +29 -40
  19. package/src/browser/react/location-state-shared.ts +93 -3
  20. package/src/browser/react/use-params.ts +3 -4
  21. package/src/browser/response-adapter.ts +25 -0
  22. package/src/browser/rsc-router.tsx +16 -2
  23. package/src/browser/server-action-bridge.ts +23 -30
  24. package/src/browser/types.ts +2 -0
  25. package/src/build/generate-manifest.ts +29 -31
  26. package/src/build/generate-route-types.ts +2 -0
  27. package/src/build/route-types/per-module-writer.ts +4 -1
  28. package/src/build/route-types/router-processing.ts +37 -9
  29. package/src/build/runtime-discovery.ts +9 -20
  30. package/src/cache/cache-scope.ts +28 -42
  31. package/src/cache/cf/cf-cache-store.ts +49 -6
  32. package/src/decode-loader-results.ts +36 -0
  33. package/src/errors.ts +11 -0
  34. package/src/loader-store.ts +62 -25
  35. package/src/loader.ts +1 -5
  36. package/src/response-utils.ts +9 -0
  37. package/src/route-content-wrapper.tsx +6 -28
  38. package/src/route-definition/helpers-types.ts +13 -4
  39. package/src/router/content-negotiation.ts +15 -2
  40. package/src/router/intercept-resolution.ts +4 -18
  41. package/src/router/loader-resolution.ts +16 -2
  42. package/src/router/match-middleware/cache-lookup.ts +44 -91
  43. package/src/router/match-middleware/cache-store.ts +3 -2
  44. package/src/router/match-result.ts +32 -30
  45. package/src/router/middleware.ts +46 -78
  46. package/src/router/preview-match.ts +3 -1
  47. package/src/router/request-classification.ts +4 -28
  48. package/src/rsc/handler.ts +20 -65
  49. package/src/rsc/helpers.ts +3 -2
  50. package/src/rsc/origin-guard.ts +28 -10
  51. package/src/rsc/response-route-handler.ts +32 -52
  52. package/src/rsc/rsc-rendering.ts +27 -53
  53. package/src/rsc/runtime-warnings.ts +9 -10
  54. package/src/rsc/server-action.ts +13 -37
  55. package/src/rsc/ssr-setup.ts +16 -0
  56. package/src/segment-system.tsx +46 -47
  57. package/src/server/context.ts +26 -0
  58. package/src/server/cookie-store.ts +28 -4
  59. package/src/types/handler-context.ts +5 -2
  60. package/src/use-loader.tsx +89 -42
  61. package/src/vite/discovery/discover-routers.ts +10 -22
  62. package/src/vite/discovery/route-types-writer.ts +38 -82
  63. package/src/vite/plugins/cjs-to-esm.ts +3 -7
  64. package/src/vite/plugins/expose-ids/handler-transform.ts +8 -61
  65. package/src/vite/plugins/expose-ids/loader-transform.ts +3 -5
  66. package/src/vite/plugins/expose-internal-ids.ts +34 -62
  67. package/src/vite/plugins/use-cache-transform.ts +12 -10
  68. package/src/vite/plugins/version-injector.ts +2 -12
  69. package/src/vite/router-discovery.ts +71 -26
  70. package/src/vite/utils/shared-utils.ts +13 -1
  71. package/dist/__internal.d.ts +0 -83
  72. package/dist/__internal.d.ts.map +0 -1
  73. package/dist/__internal.js +0 -19
  74. package/dist/__internal.js.map +0 -1
  75. package/dist/__mocks__/version.d.ts +0 -7
  76. package/dist/__mocks__/version.d.ts.map +0 -1
  77. package/dist/__mocks__/version.js +0 -7
  78. package/dist/__mocks__/version.js.map +0 -1
  79. package/dist/__tests__/client-href.test.d.ts +0 -2
  80. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  81. package/dist/__tests__/client-href.test.js +0 -74
  82. package/dist/__tests__/client-href.test.js.map +0 -1
  83. package/dist/__tests__/component-utils.test.d.ts +0 -2
  84. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  85. package/dist/__tests__/component-utils.test.js +0 -51
  86. package/dist/__tests__/component-utils.test.js.map +0 -1
  87. package/dist/__tests__/event-controller.test.d.ts +0 -2
  88. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  89. package/dist/__tests__/event-controller.test.js +0 -538
  90. package/dist/__tests__/event-controller.test.js.map +0 -1
  91. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  92. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  93. package/dist/__tests__/helpers/route-tree.js +0 -374
  94. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  95. package/dist/__tests__/match-result.test.d.ts +0 -2
  96. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  97. package/dist/__tests__/match-result.test.js +0 -154
  98. package/dist/__tests__/match-result.test.js.map +0 -1
  99. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  100. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  101. package/dist/__tests__/navigation-store.test.js +0 -440
  102. package/dist/__tests__/navigation-store.test.js.map +0 -1
  103. package/dist/__tests__/partial-update.test.d.ts +0 -2
  104. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  105. package/dist/__tests__/partial-update.test.js +0 -1009
  106. package/dist/__tests__/partial-update.test.js.map +0 -1
  107. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  108. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  109. package/dist/__tests__/reverse-types.test.js +0 -656
  110. package/dist/__tests__/reverse-types.test.js.map +0 -1
  111. package/dist/__tests__/route-definition.test.d.ts +0 -2
  112. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  113. package/dist/__tests__/route-definition.test.js +0 -55
  114. package/dist/__tests__/route-definition.test.js.map +0 -1
  115. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  116. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  117. package/dist/__tests__/router-helpers.test.js +0 -377
  118. package/dist/__tests__/router-helpers.test.js.map +0 -1
  119. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  120. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  121. package/dist/__tests__/router-integration-2.test.js +0 -426
  122. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  123. package/dist/__tests__/router-integration.test.d.ts +0 -2
  124. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  125. package/dist/__tests__/router-integration.test.js +0 -1051
  126. package/dist/__tests__/router-integration.test.js.map +0 -1
  127. package/dist/__tests__/search-params.test.d.ts +0 -5
  128. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  129. package/dist/__tests__/search-params.test.js +0 -306
  130. package/dist/__tests__/search-params.test.js.map +0 -1
  131. package/dist/__tests__/segment-system.test.d.ts +0 -2
  132. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  133. package/dist/__tests__/segment-system.test.js +0 -627
  134. package/dist/__tests__/segment-system.test.js.map +0 -1
  135. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  136. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  137. package/dist/__tests__/static-handler-types.test.js +0 -63
  138. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  139. package/dist/__tests__/urls.test.d.ts +0 -2
  140. package/dist/__tests__/urls.test.d.ts.map +0 -1
  141. package/dist/__tests__/urls.test.js +0 -421
  142. package/dist/__tests__/urls.test.js.map +0 -1
  143. package/dist/__tests__/use-mount.test.d.ts +0 -2
  144. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  145. package/dist/__tests__/use-mount.test.js +0 -35
  146. package/dist/__tests__/use-mount.test.js.map +0 -1
  147. package/dist/bin/rango.d.ts +0 -2
  148. package/dist/bin/rango.d.ts.map +0 -1
  149. package/dist/bin/rango.js.map +0 -1
  150. package/dist/browser/event-controller.d.ts +0 -191
  151. package/dist/browser/event-controller.d.ts.map +0 -1
  152. package/dist/browser/event-controller.js +0 -559
  153. package/dist/browser/event-controller.js.map +0 -1
  154. package/dist/browser/index.d.ts +0 -2
  155. package/dist/browser/index.d.ts.map +0 -1
  156. package/dist/browser/index.js +0 -14
  157. package/dist/browser/index.js.map +0 -1
  158. package/dist/browser/link-interceptor.d.ts +0 -38
  159. package/dist/browser/link-interceptor.d.ts.map +0 -1
  160. package/dist/browser/link-interceptor.js +0 -99
  161. package/dist/browser/link-interceptor.js.map +0 -1
  162. package/dist/browser/logging.d.ts +0 -10
  163. package/dist/browser/logging.d.ts.map +0 -1
  164. package/dist/browser/logging.js +0 -29
  165. package/dist/browser/logging.js.map +0 -1
  166. package/dist/browser/lru-cache.d.ts +0 -17
  167. package/dist/browser/lru-cache.d.ts.map +0 -1
  168. package/dist/browser/lru-cache.js +0 -50
  169. package/dist/browser/lru-cache.js.map +0 -1
  170. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  171. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  172. package/dist/browser/merge-segment-loaders.js +0 -102
  173. package/dist/browser/merge-segment-loaders.js.map +0 -1
  174. package/dist/browser/navigation-bridge.d.ts +0 -102
  175. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  176. package/dist/browser/navigation-bridge.js +0 -708
  177. package/dist/browser/navigation-bridge.js.map +0 -1
  178. package/dist/browser/navigation-client.d.ts +0 -25
  179. package/dist/browser/navigation-client.d.ts.map +0 -1
  180. package/dist/browser/navigation-client.js +0 -157
  181. package/dist/browser/navigation-client.js.map +0 -1
  182. package/dist/browser/navigation-store.d.ts +0 -101
  183. package/dist/browser/navigation-store.d.ts.map +0 -1
  184. package/dist/browser/navigation-store.js +0 -625
  185. package/dist/browser/navigation-store.js.map +0 -1
  186. package/dist/browser/partial-update.d.ts +0 -75
  187. package/dist/browser/partial-update.d.ts.map +0 -1
  188. package/dist/browser/partial-update.js +0 -426
  189. package/dist/browser/partial-update.js.map +0 -1
  190. package/dist/browser/react/Link.d.ts +0 -86
  191. package/dist/browser/react/Link.d.ts.map +0 -1
  192. package/dist/browser/react/Link.js +0 -128
  193. package/dist/browser/react/Link.js.map +0 -1
  194. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  195. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  196. package/dist/browser/react/NavigationProvider.js +0 -216
  197. package/dist/browser/react/NavigationProvider.js.map +0 -1
  198. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  199. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  200. package/dist/browser/react/ScrollRestoration.js +0 -57
  201. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  202. package/dist/browser/react/context.d.ts +0 -46
  203. package/dist/browser/react/context.d.ts.map +0 -1
  204. package/dist/browser/react/context.js +0 -10
  205. package/dist/browser/react/context.js.map +0 -1
  206. package/dist/browser/react/index.d.ts +0 -11
  207. package/dist/browser/react/index.d.ts.map +0 -1
  208. package/dist/browser/react/index.js +0 -22
  209. package/dist/browser/react/index.js.map +0 -1
  210. package/dist/browser/react/location-state-shared.d.ts +0 -63
  211. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  212. package/dist/browser/react/location-state-shared.js +0 -81
  213. package/dist/browser/react/location-state-shared.js.map +0 -1
  214. package/dist/browser/react/location-state.d.ts +0 -23
  215. package/dist/browser/react/location-state.d.ts.map +0 -1
  216. package/dist/browser/react/location-state.js +0 -29
  217. package/dist/browser/react/location-state.js.map +0 -1
  218. package/dist/browser/react/mount-context.d.ts +0 -24
  219. package/dist/browser/react/mount-context.d.ts.map +0 -1
  220. package/dist/browser/react/mount-context.js +0 -24
  221. package/dist/browser/react/mount-context.js.map +0 -1
  222. package/dist/browser/react/use-action.d.ts +0 -64
  223. package/dist/browser/react/use-action.d.ts.map +0 -1
  224. package/dist/browser/react/use-action.js +0 -134
  225. package/dist/browser/react/use-action.js.map +0 -1
  226. package/dist/browser/react/use-client-cache.d.ts +0 -41
  227. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  228. package/dist/browser/react/use-client-cache.js +0 -39
  229. package/dist/browser/react/use-client-cache.js.map +0 -1
  230. package/dist/browser/react/use-handle.d.ts +0 -31
  231. package/dist/browser/react/use-handle.d.ts.map +0 -1
  232. package/dist/browser/react/use-handle.js +0 -144
  233. package/dist/browser/react/use-handle.js.map +0 -1
  234. package/dist/browser/react/use-href.d.ts +0 -33
  235. package/dist/browser/react/use-href.d.ts.map +0 -1
  236. package/dist/browser/react/use-href.js +0 -39
  237. package/dist/browser/react/use-href.js.map +0 -1
  238. package/dist/browser/react/use-link-status.d.ts +0 -37
  239. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  240. package/dist/browser/react/use-link-status.js +0 -99
  241. package/dist/browser/react/use-link-status.js.map +0 -1
  242. package/dist/browser/react/use-mount.d.ts +0 -25
  243. package/dist/browser/react/use-mount.d.ts.map +0 -1
  244. package/dist/browser/react/use-mount.js +0 -30
  245. package/dist/browser/react/use-mount.js.map +0 -1
  246. package/dist/browser/react/use-navigation.d.ts +0 -27
  247. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  248. package/dist/browser/react/use-navigation.js +0 -87
  249. package/dist/browser/react/use-navigation.js.map +0 -1
  250. package/dist/browser/react/use-segments.d.ts +0 -38
  251. package/dist/browser/react/use-segments.d.ts.map +0 -1
  252. package/dist/browser/react/use-segments.js +0 -130
  253. package/dist/browser/react/use-segments.js.map +0 -1
  254. package/dist/browser/request-controller.d.ts +0 -26
  255. package/dist/browser/request-controller.d.ts.map +0 -1
  256. package/dist/browser/request-controller.js +0 -147
  257. package/dist/browser/request-controller.js.map +0 -1
  258. package/dist/browser/rsc-router.d.ts +0 -129
  259. package/dist/browser/rsc-router.d.ts.map +0 -1
  260. package/dist/browser/rsc-router.js +0 -195
  261. package/dist/browser/rsc-router.js.map +0 -1
  262. package/dist/browser/scroll-restoration.d.ts +0 -93
  263. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  264. package/dist/browser/scroll-restoration.js +0 -321
  265. package/dist/browser/scroll-restoration.js.map +0 -1
  266. package/dist/browser/segment-structure-assert.d.ts +0 -17
  267. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  268. package/dist/browser/segment-structure-assert.js +0 -59
  269. package/dist/browser/segment-structure-assert.js.map +0 -1
  270. package/dist/browser/server-action-bridge.d.ts +0 -26
  271. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  272. package/dist/browser/server-action-bridge.js +0 -668
  273. package/dist/browser/server-action-bridge.js.map +0 -1
  274. package/dist/browser/shallow.d.ts +0 -12
  275. package/dist/browser/shallow.d.ts.map +0 -1
  276. package/dist/browser/shallow.js +0 -34
  277. package/dist/browser/shallow.js.map +0 -1
  278. package/dist/browser/types.d.ts +0 -369
  279. package/dist/browser/types.d.ts.map +0 -1
  280. package/dist/browser/types.js +0 -2
  281. package/dist/browser/types.js.map +0 -1
  282. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  283. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  284. package/dist/build/__tests__/generate-cli.test.js +0 -237
  285. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  286. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  287. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  288. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  289. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  290. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  291. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  292. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  293. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  294. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  295. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  296. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  297. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  298. package/dist/build/generate-manifest.d.ts +0 -81
  299. package/dist/build/generate-manifest.d.ts.map +0 -1
  300. package/dist/build/generate-manifest.js +0 -276
  301. package/dist/build/generate-manifest.js.map +0 -1
  302. package/dist/build/generate-route-types.d.ts +0 -115
  303. package/dist/build/generate-route-types.d.ts.map +0 -1
  304. package/dist/build/generate-route-types.js +0 -740
  305. package/dist/build/generate-route-types.js.map +0 -1
  306. package/dist/build/index.d.ts +0 -21
  307. package/dist/build/index.d.ts.map +0 -1
  308. package/dist/build/index.js +0 -21
  309. package/dist/build/index.js.map +0 -1
  310. package/dist/build/route-trie.d.ts +0 -71
  311. package/dist/build/route-trie.d.ts.map +0 -1
  312. package/dist/build/route-trie.js +0 -175
  313. package/dist/build/route-trie.js.map +0 -1
  314. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  315. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  316. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  317. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  318. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  319. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  320. package/dist/cache/__tests__/document-cache.test.js +0 -345
  321. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  322. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  323. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  324. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  325. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  326. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  327. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  328. package/dist/cache/__tests__/memory-store.test.js +0 -367
  329. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  330. package/dist/cache/cache-scope.d.ts +0 -102
  331. package/dist/cache/cache-scope.d.ts.map +0 -1
  332. package/dist/cache/cache-scope.js +0 -440
  333. package/dist/cache/cache-scope.js.map +0 -1
  334. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  335. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  336. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  337. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  338. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  339. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  340. package/dist/cache/cf/cf-cache-store.js +0 -242
  341. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  342. package/dist/cache/cf/index.d.ts +0 -14
  343. package/dist/cache/cf/index.d.ts.map +0 -1
  344. package/dist/cache/cf/index.js +0 -17
  345. package/dist/cache/cf/index.js.map +0 -1
  346. package/dist/cache/document-cache.d.ts +0 -64
  347. package/dist/cache/document-cache.d.ts.map +0 -1
  348. package/dist/cache/document-cache.js +0 -228
  349. package/dist/cache/document-cache.js.map +0 -1
  350. package/dist/cache/index.d.ts +0 -19
  351. package/dist/cache/index.d.ts.map +0 -1
  352. package/dist/cache/index.js +0 -21
  353. package/dist/cache/index.js.map +0 -1
  354. package/dist/cache/memory-segment-store.d.ts +0 -110
  355. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  356. package/dist/cache/memory-segment-store.js +0 -117
  357. package/dist/cache/memory-segment-store.js.map +0 -1
  358. package/dist/cache/memory-store.d.ts +0 -41
  359. package/dist/cache/memory-store.d.ts.map +0 -1
  360. package/dist/cache/memory-store.js +0 -191
  361. package/dist/cache/memory-store.js.map +0 -1
  362. package/dist/cache/types.d.ts +0 -317
  363. package/dist/cache/types.d.ts.map +0 -1
  364. package/dist/cache/types.js +0 -12
  365. package/dist/cache/types.js.map +0 -1
  366. package/dist/client.d.ts +0 -248
  367. package/dist/client.d.ts.map +0 -1
  368. package/dist/client.js +0 -367
  369. package/dist/client.js.map +0 -1
  370. package/dist/client.rsc.d.ts +0 -26
  371. package/dist/client.rsc.d.ts.map +0 -1
  372. package/dist/client.rsc.js +0 -46
  373. package/dist/client.rsc.js.map +0 -1
  374. package/dist/component-utils.d.ts +0 -36
  375. package/dist/component-utils.d.ts.map +0 -1
  376. package/dist/component-utils.js +0 -61
  377. package/dist/component-utils.js.map +0 -1
  378. package/dist/components/DefaultDocument.d.ts +0 -13
  379. package/dist/components/DefaultDocument.d.ts.map +0 -1
  380. package/dist/components/DefaultDocument.js +0 -15
  381. package/dist/components/DefaultDocument.js.map +0 -1
  382. package/dist/debug.d.ts +0 -58
  383. package/dist/debug.d.ts.map +0 -1
  384. package/dist/debug.js +0 -157
  385. package/dist/debug.js.map +0 -1
  386. package/dist/default-error-boundary.d.ts +0 -11
  387. package/dist/default-error-boundary.d.ts.map +0 -1
  388. package/dist/default-error-boundary.js +0 -45
  389. package/dist/default-error-boundary.js.map +0 -1
  390. package/dist/deps/browser.d.ts +0 -2
  391. package/dist/deps/browser.d.ts.map +0 -1
  392. package/dist/deps/browser.js +0 -3
  393. package/dist/deps/browser.js.map +0 -1
  394. package/dist/deps/html-stream-client.d.ts +0 -2
  395. package/dist/deps/html-stream-client.d.ts.map +0 -1
  396. package/dist/deps/html-stream-client.js +0 -3
  397. package/dist/deps/html-stream-client.js.map +0 -1
  398. package/dist/deps/html-stream-server.d.ts +0 -2
  399. package/dist/deps/html-stream-server.d.ts.map +0 -1
  400. package/dist/deps/html-stream-server.js +0 -3
  401. package/dist/deps/html-stream-server.js.map +0 -1
  402. package/dist/deps/rsc.d.ts +0 -2
  403. package/dist/deps/rsc.d.ts.map +0 -1
  404. package/dist/deps/rsc.js +0 -4
  405. package/dist/deps/rsc.js.map +0 -1
  406. package/dist/deps/ssr.d.ts +0 -2
  407. package/dist/deps/ssr.d.ts.map +0 -1
  408. package/dist/deps/ssr.js +0 -3
  409. package/dist/deps/ssr.js.map +0 -1
  410. package/dist/errors.d.ts +0 -174
  411. package/dist/errors.d.ts.map +0 -1
  412. package/dist/errors.js +0 -241
  413. package/dist/errors.js.map +0 -1
  414. package/dist/handle.d.ts +0 -78
  415. package/dist/handle.d.ts.map +0 -1
  416. package/dist/handle.js +0 -82
  417. package/dist/handle.js.map +0 -1
  418. package/dist/handles/MetaTags.d.ts +0 -14
  419. package/dist/handles/MetaTags.d.ts.map +0 -1
  420. package/dist/handles/MetaTags.js +0 -136
  421. package/dist/handles/MetaTags.js.map +0 -1
  422. package/dist/handles/index.d.ts +0 -6
  423. package/dist/handles/index.d.ts.map +0 -1
  424. package/dist/handles/index.js +0 -6
  425. package/dist/handles/index.js.map +0 -1
  426. package/dist/handles/meta.d.ts +0 -39
  427. package/dist/handles/meta.d.ts.map +0 -1
  428. package/dist/handles/meta.js +0 -202
  429. package/dist/handles/meta.js.map +0 -1
  430. package/dist/host/__tests__/errors.test.d.ts +0 -2
  431. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  432. package/dist/host/__tests__/errors.test.js +0 -76
  433. package/dist/host/__tests__/errors.test.js.map +0 -1
  434. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  435. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  436. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  437. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  438. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  439. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  440. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  441. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  442. package/dist/host/__tests__/router.test.d.ts +0 -2
  443. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  444. package/dist/host/__tests__/router.test.js +0 -241
  445. package/dist/host/__tests__/router.test.js.map +0 -1
  446. package/dist/host/__tests__/testing.test.d.ts +0 -2
  447. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  448. package/dist/host/__tests__/testing.test.js +0 -64
  449. package/dist/host/__tests__/testing.test.js.map +0 -1
  450. package/dist/host/__tests__/utils.test.d.ts +0 -2
  451. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  452. package/dist/host/__tests__/utils.test.js +0 -29
  453. package/dist/host/__tests__/utils.test.js.map +0 -1
  454. package/dist/host/cookie-handler.d.ts +0 -34
  455. package/dist/host/cookie-handler.d.ts.map +0 -1
  456. package/dist/host/cookie-handler.js +0 -124
  457. package/dist/host/cookie-handler.js.map +0 -1
  458. package/dist/host/errors.d.ts +0 -56
  459. package/dist/host/errors.d.ts.map +0 -1
  460. package/dist/host/errors.js +0 -79
  461. package/dist/host/errors.js.map +0 -1
  462. package/dist/host/index.d.ts +0 -29
  463. package/dist/host/index.d.ts.map +0 -1
  464. package/dist/host/index.js +0 -32
  465. package/dist/host/index.js.map +0 -1
  466. package/dist/host/pattern-matcher.d.ts +0 -36
  467. package/dist/host/pattern-matcher.d.ts.map +0 -1
  468. package/dist/host/pattern-matcher.js +0 -172
  469. package/dist/host/pattern-matcher.js.map +0 -1
  470. package/dist/host/router.d.ts +0 -26
  471. package/dist/host/router.d.ts.map +0 -1
  472. package/dist/host/router.js +0 -218
  473. package/dist/host/router.js.map +0 -1
  474. package/dist/host/testing.d.ts +0 -36
  475. package/dist/host/testing.d.ts.map +0 -1
  476. package/dist/host/testing.js +0 -55
  477. package/dist/host/testing.js.map +0 -1
  478. package/dist/host/types.d.ts +0 -115
  479. package/dist/host/types.d.ts.map +0 -1
  480. package/dist/host/types.js +0 -7
  481. package/dist/host/types.js.map +0 -1
  482. package/dist/host/utils.d.ts +0 -21
  483. package/dist/host/utils.d.ts.map +0 -1
  484. package/dist/host/utils.js +0 -23
  485. package/dist/host/utils.js.map +0 -1
  486. package/dist/href-client.d.ts +0 -131
  487. package/dist/href-client.d.ts.map +0 -1
  488. package/dist/href-client.js +0 -64
  489. package/dist/href-client.js.map +0 -1
  490. package/dist/href-context.d.ts +0 -29
  491. package/dist/href-context.d.ts.map +0 -1
  492. package/dist/href-context.js +0 -21
  493. package/dist/href-context.js.map +0 -1
  494. package/dist/index.d.ts +0 -73
  495. package/dist/index.d.ts.map +0 -1
  496. package/dist/index.js +0 -91
  497. package/dist/index.js.map +0 -1
  498. package/dist/index.rsc.d.ts +0 -32
  499. package/dist/index.rsc.d.ts.map +0 -1
  500. package/dist/index.rsc.js +0 -40
  501. package/dist/index.rsc.js.map +0 -1
  502. package/dist/internal-debug.d.ts +0 -2
  503. package/dist/internal-debug.d.ts.map +0 -1
  504. package/dist/internal-debug.js +0 -5
  505. package/dist/internal-debug.js.map +0 -1
  506. package/dist/loader.d.ts +0 -14
  507. package/dist/loader.d.ts.map +0 -1
  508. package/dist/loader.js +0 -20
  509. package/dist/loader.js.map +0 -1
  510. package/dist/loader.rsc.d.ts +0 -19
  511. package/dist/loader.rsc.d.ts.map +0 -1
  512. package/dist/loader.rsc.js +0 -99
  513. package/dist/loader.rsc.js.map +0 -1
  514. package/dist/network-error-thrower.d.ts +0 -17
  515. package/dist/network-error-thrower.d.ts.map +0 -1
  516. package/dist/network-error-thrower.js +0 -14
  517. package/dist/network-error-thrower.js.map +0 -1
  518. package/dist/outlet-context.d.ts +0 -13
  519. package/dist/outlet-context.d.ts.map +0 -1
  520. package/dist/outlet-context.js +0 -3
  521. package/dist/outlet-context.js.map +0 -1
  522. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  523. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  524. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  525. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  526. package/dist/prerender/param-hash.d.ts +0 -16
  527. package/dist/prerender/param-hash.d.ts.map +0 -1
  528. package/dist/prerender/param-hash.js +0 -36
  529. package/dist/prerender/param-hash.js.map +0 -1
  530. package/dist/prerender/store.d.ts +0 -38
  531. package/dist/prerender/store.d.ts.map +0 -1
  532. package/dist/prerender/store.js +0 -61
  533. package/dist/prerender/store.js.map +0 -1
  534. package/dist/prerender.d.ts +0 -66
  535. package/dist/prerender.d.ts.map +0 -1
  536. package/dist/prerender.js +0 -57
  537. package/dist/prerender.js.map +0 -1
  538. package/dist/reverse.d.ts +0 -196
  539. package/dist/reverse.d.ts.map +0 -1
  540. package/dist/reverse.js +0 -78
  541. package/dist/reverse.js.map +0 -1
  542. package/dist/root-error-boundary.d.ts +0 -33
  543. package/dist/root-error-boundary.d.ts.map +0 -1
  544. package/dist/root-error-boundary.js +0 -165
  545. package/dist/root-error-boundary.js.map +0 -1
  546. package/dist/route-content-wrapper.d.ts +0 -46
  547. package/dist/route-content-wrapper.d.ts.map +0 -1
  548. package/dist/route-content-wrapper.js +0 -77
  549. package/dist/route-content-wrapper.js.map +0 -1
  550. package/dist/route-definition.d.ts +0 -421
  551. package/dist/route-definition.d.ts.map +0 -1
  552. package/dist/route-definition.js +0 -868
  553. package/dist/route-definition.js.map +0 -1
  554. package/dist/route-map-builder.d.ts +0 -155
  555. package/dist/route-map-builder.d.ts.map +0 -1
  556. package/dist/route-map-builder.js +0 -237
  557. package/dist/route-map-builder.js.map +0 -1
  558. package/dist/route-types.d.ts +0 -165
  559. package/dist/route-types.d.ts.map +0 -1
  560. package/dist/route-types.js +0 -7
  561. package/dist/route-types.js.map +0 -1
  562. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  563. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  564. package/dist/router/__tests__/handler-context.test.js +0 -65
  565. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  566. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  567. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  568. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  569. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  570. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  571. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  572. package/dist/router/__tests__/match-context.test.js +0 -92
  573. package/dist/router/__tests__/match-context.test.js.map +0 -1
  574. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  575. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  576. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  577. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  578. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  579. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  580. package/dist/router/__tests__/match-result.test.js +0 -457
  581. package/dist/router/__tests__/match-result.test.js.map +0 -1
  582. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  583. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  584. package/dist/router/__tests__/on-error.test.js +0 -678
  585. package/dist/router/__tests__/on-error.test.js.map +0 -1
  586. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  587. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  588. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  589. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  590. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  591. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  592. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  593. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  594. package/dist/router/error-handling.d.ts +0 -77
  595. package/dist/router/error-handling.d.ts.map +0 -1
  596. package/dist/router/error-handling.js +0 -202
  597. package/dist/router/error-handling.js.map +0 -1
  598. package/dist/router/handler-context.d.ts +0 -20
  599. package/dist/router/handler-context.d.ts.map +0 -1
  600. package/dist/router/handler-context.js +0 -198
  601. package/dist/router/handler-context.js.map +0 -1
  602. package/dist/router/intercept-resolution.d.ts +0 -66
  603. package/dist/router/intercept-resolution.d.ts.map +0 -1
  604. package/dist/router/intercept-resolution.js +0 -246
  605. package/dist/router/intercept-resolution.js.map +0 -1
  606. package/dist/router/loader-resolution.d.ts +0 -64
  607. package/dist/router/loader-resolution.d.ts.map +0 -1
  608. package/dist/router/loader-resolution.js +0 -284
  609. package/dist/router/loader-resolution.js.map +0 -1
  610. package/dist/router/logging.d.ts +0 -15
  611. package/dist/router/logging.d.ts.map +0 -1
  612. package/dist/router/logging.js +0 -99
  613. package/dist/router/logging.js.map +0 -1
  614. package/dist/router/manifest.d.ts +0 -22
  615. package/dist/router/manifest.d.ts.map +0 -1
  616. package/dist/router/manifest.js +0 -181
  617. package/dist/router/manifest.js.map +0 -1
  618. package/dist/router/match-api.d.ts +0 -35
  619. package/dist/router/match-api.d.ts.map +0 -1
  620. package/dist/router/match-api.js +0 -406
  621. package/dist/router/match-api.js.map +0 -1
  622. package/dist/router/match-context.d.ts +0 -206
  623. package/dist/router/match-context.d.ts.map +0 -1
  624. package/dist/router/match-context.js +0 -17
  625. package/dist/router/match-context.js.map +0 -1
  626. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  627. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  628. package/dist/router/match-middleware/background-revalidation.js +0 -75
  629. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  630. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  631. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  632. package/dist/router/match-middleware/cache-lookup.js +0 -257
  633. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  634. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  635. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  636. package/dist/router/match-middleware/cache-store.js +0 -108
  637. package/dist/router/match-middleware/cache-store.js.map +0 -1
  638. package/dist/router/match-middleware/index.d.ts +0 -81
  639. package/dist/router/match-middleware/index.d.ts.map +0 -1
  640. package/dist/router/match-middleware/index.js +0 -80
  641. package/dist/router/match-middleware/index.js.map +0 -1
  642. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  643. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  644. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  645. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  646. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  647. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  648. package/dist/router/match-middleware/segment-resolution.js +0 -53
  649. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  650. package/dist/router/match-pipelines.d.ts +0 -147
  651. package/dist/router/match-pipelines.d.ts.map +0 -1
  652. package/dist/router/match-pipelines.js +0 -82
  653. package/dist/router/match-pipelines.js.map +0 -1
  654. package/dist/router/match-result.d.ts +0 -126
  655. package/dist/router/match-result.d.ts.map +0 -1
  656. package/dist/router/match-result.js +0 -93
  657. package/dist/router/match-result.js.map +0 -1
  658. package/dist/router/metrics.d.ts +0 -20
  659. package/dist/router/metrics.d.ts.map +0 -1
  660. package/dist/router/metrics.js +0 -47
  661. package/dist/router/metrics.js.map +0 -1
  662. package/dist/router/middleware.d.ts +0 -249
  663. package/dist/router/middleware.d.ts.map +0 -1
  664. package/dist/router/middleware.js +0 -434
  665. package/dist/router/middleware.js.map +0 -1
  666. package/dist/router/middleware.test.d.ts +0 -2
  667. package/dist/router/middleware.test.d.ts.map +0 -1
  668. package/dist/router/middleware.test.js +0 -816
  669. package/dist/router/middleware.test.js.map +0 -1
  670. package/dist/router/pattern-matching.d.ts +0 -149
  671. package/dist/router/pattern-matching.d.ts.map +0 -1
  672. package/dist/router/pattern-matching.js +0 -349
  673. package/dist/router/pattern-matching.js.map +0 -1
  674. package/dist/router/revalidation.d.ts +0 -44
  675. package/dist/router/revalidation.d.ts.map +0 -1
  676. package/dist/router/revalidation.js +0 -147
  677. package/dist/router/revalidation.js.map +0 -1
  678. package/dist/router/router-context.d.ts +0 -135
  679. package/dist/router/router-context.d.ts.map +0 -1
  680. package/dist/router/router-context.js +0 -36
  681. package/dist/router/router-context.js.map +0 -1
  682. package/dist/router/segment-resolution.d.ts +0 -127
  683. package/dist/router/segment-resolution.d.ts.map +0 -1
  684. package/dist/router/segment-resolution.js +0 -919
  685. package/dist/router/segment-resolution.js.map +0 -1
  686. package/dist/router/trie-matching.d.ts +0 -40
  687. package/dist/router/trie-matching.d.ts.map +0 -1
  688. package/dist/router/trie-matching.js +0 -127
  689. package/dist/router/trie-matching.js.map +0 -1
  690. package/dist/router/types.d.ts +0 -136
  691. package/dist/router/types.d.ts.map +0 -1
  692. package/dist/router/types.js +0 -7
  693. package/dist/router/types.js.map +0 -1
  694. package/dist/router.d.ts +0 -753
  695. package/dist/router.d.ts.map +0 -1
  696. package/dist/router.gen.d.ts +0 -6
  697. package/dist/router.gen.d.ts.map +0 -1
  698. package/dist/router.gen.js +0 -6
  699. package/dist/router.gen.js.map +0 -1
  700. package/dist/router.js +0 -1304
  701. package/dist/router.js.map +0 -1
  702. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  703. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  704. package/dist/rsc/__tests__/helpers.test.js +0 -140
  705. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  706. package/dist/rsc/handler.d.ts +0 -45
  707. package/dist/rsc/handler.d.ts.map +0 -1
  708. package/dist/rsc/handler.js +0 -1172
  709. package/dist/rsc/handler.js.map +0 -1
  710. package/dist/rsc/helpers.d.ts +0 -16
  711. package/dist/rsc/helpers.d.ts.map +0 -1
  712. package/dist/rsc/helpers.js +0 -55
  713. package/dist/rsc/helpers.js.map +0 -1
  714. package/dist/rsc/index.d.ts +0 -22
  715. package/dist/rsc/index.d.ts.map +0 -1
  716. package/dist/rsc/index.js +0 -23
  717. package/dist/rsc/index.js.map +0 -1
  718. package/dist/rsc/nonce.d.ts +0 -9
  719. package/dist/rsc/nonce.d.ts.map +0 -1
  720. package/dist/rsc/nonce.js +0 -18
  721. package/dist/rsc/nonce.js.map +0 -1
  722. package/dist/rsc/types.d.ts +0 -206
  723. package/dist/rsc/types.d.ts.map +0 -1
  724. package/dist/rsc/types.js +0 -8
  725. package/dist/rsc/types.js.map +0 -1
  726. package/dist/search-params.d.ts +0 -103
  727. package/dist/search-params.d.ts.map +0 -1
  728. package/dist/search-params.js +0 -74
  729. package/dist/search-params.js.map +0 -1
  730. package/dist/segment-system.d.ts +0 -75
  731. package/dist/segment-system.d.ts.map +0 -1
  732. package/dist/segment-system.js +0 -336
  733. package/dist/segment-system.js.map +0 -1
  734. package/dist/server/context.d.ts +0 -245
  735. package/dist/server/context.d.ts.map +0 -1
  736. package/dist/server/context.js +0 -197
  737. package/dist/server/context.js.map +0 -1
  738. package/dist/server/fetchable-loader-store.d.ts +0 -18
  739. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  740. package/dist/server/fetchable-loader-store.js +0 -18
  741. package/dist/server/fetchable-loader-store.js.map +0 -1
  742. package/dist/server/handle-store.d.ts +0 -85
  743. package/dist/server/handle-store.d.ts.map +0 -1
  744. package/dist/server/handle-store.js +0 -142
  745. package/dist/server/handle-store.js.map +0 -1
  746. package/dist/server/loader-registry.d.ts +0 -55
  747. package/dist/server/loader-registry.d.ts.map +0 -1
  748. package/dist/server/loader-registry.js +0 -132
  749. package/dist/server/loader-registry.js.map +0 -1
  750. package/dist/server/request-context.d.ts +0 -226
  751. package/dist/server/request-context.d.ts.map +0 -1
  752. package/dist/server/request-context.js +0 -290
  753. package/dist/server/request-context.js.map +0 -1
  754. package/dist/server/root-layout.d.ts +0 -4
  755. package/dist/server/root-layout.d.ts.map +0 -1
  756. package/dist/server/root-layout.js +0 -5
  757. package/dist/server/root-layout.js.map +0 -1
  758. package/dist/server.d.ts +0 -15
  759. package/dist/server.d.ts.map +0 -1
  760. package/dist/server.js +0 -20
  761. package/dist/server.js.map +0 -1
  762. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  763. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  764. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  765. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  766. package/dist/ssr/index.d.ts +0 -98
  767. package/dist/ssr/index.d.ts.map +0 -1
  768. package/dist/ssr/index.js +0 -158
  769. package/dist/ssr/index.js.map +0 -1
  770. package/dist/static-handler.d.ts +0 -50
  771. package/dist/static-handler.d.ts.map +0 -1
  772. package/dist/static-handler.gen.d.ts +0 -5
  773. package/dist/static-handler.gen.d.ts.map +0 -1
  774. package/dist/static-handler.gen.js +0 -5
  775. package/dist/static-handler.gen.js.map +0 -1
  776. package/dist/static-handler.js +0 -29
  777. package/dist/static-handler.js.map +0 -1
  778. package/dist/theme/ThemeProvider.d.ts +0 -20
  779. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  780. package/dist/theme/ThemeProvider.js +0 -240
  781. package/dist/theme/ThemeProvider.js.map +0 -1
  782. package/dist/theme/ThemeScript.d.ts +0 -48
  783. package/dist/theme/ThemeScript.d.ts.map +0 -1
  784. package/dist/theme/ThemeScript.js +0 -13
  785. package/dist/theme/ThemeScript.js.map +0 -1
  786. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  787. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  788. package/dist/theme/__tests__/theme.test.js +0 -103
  789. package/dist/theme/__tests__/theme.test.js.map +0 -1
  790. package/dist/theme/constants.d.ts +0 -29
  791. package/dist/theme/constants.d.ts.map +0 -1
  792. package/dist/theme/constants.js +0 -48
  793. package/dist/theme/constants.js.map +0 -1
  794. package/dist/theme/index.d.ts +0 -31
  795. package/dist/theme/index.d.ts.map +0 -1
  796. package/dist/theme/index.js +0 -36
  797. package/dist/theme/index.js.map +0 -1
  798. package/dist/theme/theme-context.d.ts +0 -40
  799. package/dist/theme/theme-context.d.ts.map +0 -1
  800. package/dist/theme/theme-context.js +0 -60
  801. package/dist/theme/theme-context.js.map +0 -1
  802. package/dist/theme/theme-script.d.ts +0 -27
  803. package/dist/theme/theme-script.d.ts.map +0 -1
  804. package/dist/theme/theme-script.js +0 -147
  805. package/dist/theme/theme-script.js.map +0 -1
  806. package/dist/theme/types.d.ts +0 -163
  807. package/dist/theme/types.d.ts.map +0 -1
  808. package/dist/theme/types.js +0 -11
  809. package/dist/theme/types.js.map +0 -1
  810. package/dist/theme/use-theme.d.ts +0 -12
  811. package/dist/theme/use-theme.d.ts.map +0 -1
  812. package/dist/theme/use-theme.js +0 -40
  813. package/dist/theme/use-theme.js.map +0 -1
  814. package/dist/types.d.ts +0 -1479
  815. package/dist/types.d.ts.map +0 -1
  816. package/dist/types.js +0 -10
  817. package/dist/types.js.map +0 -1
  818. package/dist/urls.d.ts +0 -441
  819. package/dist/urls.d.ts.map +0 -1
  820. package/dist/urls.gen.d.ts +0 -8
  821. package/dist/urls.gen.d.ts.map +0 -1
  822. package/dist/urls.gen.js +0 -8
  823. package/dist/urls.gen.js.map +0 -1
  824. package/dist/urls.js +0 -443
  825. package/dist/urls.js.map +0 -1
  826. package/dist/use-loader.d.ts +0 -127
  827. package/dist/use-loader.d.ts.map +0 -1
  828. package/dist/use-loader.js +0 -237
  829. package/dist/use-loader.js.map +0 -1
  830. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  831. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  832. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  833. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  834. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  835. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  836. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  837. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  838. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  839. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  840. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  841. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  842. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  843. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  844. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  845. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  846. package/dist/vite/ast-handler-extract.d.ts +0 -49
  847. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  848. package/dist/vite/ast-handler-extract.js +0 -249
  849. package/dist/vite/ast-handler-extract.js.map +0 -1
  850. package/dist/vite/expose-action-id.d.ts +0 -19
  851. package/dist/vite/expose-action-id.d.ts.map +0 -1
  852. package/dist/vite/expose-action-id.js +0 -250
  853. package/dist/vite/expose-action-id.js.map +0 -1
  854. package/dist/vite/expose-id-utils.d.ts +0 -69
  855. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  856. package/dist/vite/expose-id-utils.js +0 -289
  857. package/dist/vite/expose-id-utils.js.map +0 -1
  858. package/dist/vite/expose-internal-ids.d.ts +0 -22
  859. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  860. package/dist/vite/expose-internal-ids.js +0 -886
  861. package/dist/vite/expose-internal-ids.js.map +0 -1
  862. package/dist/vite/index.d.ts +0 -149
  863. package/dist/vite/index.d.ts.map +0 -1
  864. package/dist/vite/index.js.bak +0 -5448
  865. package/dist/vite/index.js.map +0 -1
  866. package/dist/vite/index.named-routes.gen.ts +0 -103
  867. package/dist/vite/package-resolution.d.ts +0 -43
  868. package/dist/vite/package-resolution.d.ts.map +0 -1
  869. package/dist/vite/package-resolution.js +0 -112
  870. package/dist/vite/package-resolution.js.map +0 -1
  871. package/dist/vite/virtual-entries.d.ts +0 -25
  872. package/dist/vite/virtual-entries.d.ts.map +0 -1
  873. package/dist/vite/virtual-entries.js +0 -110
  874. package/dist/vite/virtual-entries.js.map +0 -1
  875. package/src/browser/action-response-classifier.ts +0 -99
@@ -1,647 +0,0 @@
1
- import { describe, it, expect, vi } from "vitest";
2
- import { exposeInternalIds, } from "../expose-internal-ids.ts";
3
- // ---------------------------------------------------------------------------
4
- // Helpers
5
- // ---------------------------------------------------------------------------
6
- function createPlugin(opts) {
7
- const plugin = exposeInternalIds(opts);
8
- return plugin;
9
- }
10
- const ROOT = "/project";
11
- const FILE_ID = "/project/src/urls.tsx";
12
- function initDev(plugin) {
13
- plugin.configResolved({ command: "serve", root: ROOT });
14
- }
15
- function rscCtx() {
16
- return { environment: { name: "rsc" }, warn: vi.fn() };
17
- }
18
- function clientCtx() {
19
- return { environment: { name: "client" }, warn: vi.fn() };
20
- }
21
- /**
22
- * Extract `import { __sh_xxx } from "virtual:handler-extract:..."` entries
23
- * from transformed code.
24
- */
25
- function extractVirtualImports(code) {
26
- const results = [];
27
- const re = /import\s*\{\s*(__sh_\w+)\s*\}\s*from\s*"(virtual:handler-extract:[^"]+)"/g;
28
- let m;
29
- while ((m = re.exec(code)) !== null) {
30
- results.push({ exportName: m[1], specifier: m[2] });
31
- }
32
- return results;
33
- }
34
- // ---------------------------------------------------------------------------
35
- // Test sources
36
- // ---------------------------------------------------------------------------
37
- const INLINE_SOURCE = `import { Static } from "@rangojs/router";
38
- layout(Static(() => <nav />));
39
- `;
40
- const EXPORT_SOURCE = `import { Static } from "@rangojs/router";
41
- export const Nav = Static(() => <nav />);
42
- `;
43
- const MIXED_SOURCE = `import { Static } from "@rangojs/router";
44
- export const Nav = Static(() => <nav />);
45
- layout(Static(() => <sidebar />));
46
- `;
47
- const SAME_LINE_SOURCE = `import { Static } from "@rangojs/router";
48
- layout(Static(() => <a />), Static(() => <b />));
49
- `;
50
- const PRERENDER_INLINE_SOURCE = `import { Prerender } from "@rangojs/router";
51
- path("/about", Prerender(() => <div>About</div>));
52
- `;
53
- const PRERENDER_EXPORT_SOURCE = `import { Prerender } from "@rangojs/router";
54
- export const AboutPage = Prerender(() => <div>About</div>);
55
- `;
56
- const PRERENDER_MIXED_SOURCE = `import { Prerender } from "@rangojs/router";
57
- export const AboutPage = Prerender(() => <main />);
58
- path("/inline", Prerender(() => <aside />));
59
- `;
60
- const PRERENDER_INLINE_WHITESPACE_SOURCE = `import { Prerender } from "@rangojs/router";
61
- path("/about", Prerender
62
- (() => <div>About</div>));
63
- `;
64
- const STATIC_ALIAS_INLINE_SOURCE = `import { Static as sh } from "@rangojs/router";
65
- layout(sh(() => <nav />));
66
- `;
67
- const STATIC_ALIAS_EXPORT_SOURCE = `import { Static as sh } from "@rangojs/router";
68
- export const Nav = sh(() => <nav />);
69
- `;
70
- // ---------------------------------------------------------------------------
71
- // Tests
72
- // ---------------------------------------------------------------------------
73
- describe("exposeInternalIds - inline static handler integration", () => {
74
- // -----------------------------------------------------------------------
75
- // Full round-trip: RSC dev mode
76
- // -----------------------------------------------------------------------
77
- describe("full round-trip: RSC dev mode", () => {
78
- it("transforms inline call -> resolves virtual -> loads -> injects $$id", () => {
79
- const plugin = createPlugin();
80
- initDev(plugin);
81
- // Step 1: Transform source with inline call in RSC env
82
- const r1 = plugin.transform.call(rscCtx(), INLINE_SOURCE, FILE_ID);
83
- expect(r1).toBeDefined();
84
- // Should have a virtual module import
85
- const vImports = extractVirtualImports(r1.code);
86
- expect(vImports).toHaveLength(1);
87
- const { exportName, specifier } = vImports[0];
88
- expect(exportName).toMatch(/^__sh_[0-9a-f]{8}$/);
89
- // The inline call should be replaced with the import name
90
- expect(r1.code).toContain(`layout(${exportName})`);
91
- expect(r1.code).not.toContain("Static(() => <nav />)");
92
- // Step 2: resolveId adds \0 prefix
93
- const resolved = plugin.resolveId.call({}, specifier, FILE_ID);
94
- expect(resolved).toBe("\0" + specifier);
95
- // Step 3: load synthesises the virtual module
96
- const loaded = plugin.load.call({}, resolved);
97
- expect(loaded).toBeDefined();
98
- expect(loaded).toContain(`export const ${exportName}`);
99
- expect(loaded).toContain("Static");
100
- expect(loaded).toContain("@rangojs/router");
101
- // Step 4: transform virtual module in RSC injects $$id
102
- const r2 = plugin.transform.call(rscCtx(), loaded, resolved);
103
- expect(r2).toBeDefined();
104
- expect(r2.code).toContain("$$id");
105
- expect(r2.code).toContain(`${exportName}.$$id`);
106
- });
107
- });
108
- // -----------------------------------------------------------------------
109
- // Full round-trip: non-RSC (client/SSR)
110
- // -----------------------------------------------------------------------
111
- describe("full round-trip: non-RSC (client/SSR)", () => {
112
- it("replaces virtual module with stub in client env", () => {
113
- const plugin = createPlugin();
114
- initDev(plugin);
115
- // Populate virtual registry via RSC transform
116
- const r1 = plugin.transform.call(rscCtx(), INLINE_SOURCE, FILE_ID);
117
- const { exportName, specifier } = extractVirtualImports(r1.code)[0];
118
- const resolved = plugin.resolveId.call({}, specifier, FILE_ID);
119
- const loaded = plugin.load.call({}, resolved);
120
- // Transform virtual module in client env -> stub
121
- const r2 = plugin.transform.call(clientCtx(), loaded, resolved);
122
- expect(r2).toBeDefined();
123
- expect(r2.code).toContain("__brand");
124
- expect(r2.code).toContain('"staticHandler"');
125
- expect(r2.code).toContain("$$id");
126
- // No Static call remains
127
- expect(r2.code).not.toContain("Static(");
128
- });
129
- });
130
- // -----------------------------------------------------------------------
131
- // Mixed files (export const + inline)
132
- // -----------------------------------------------------------------------
133
- describe("mixed files (export const + inline)", () => {
134
- it("extracts inline, leaves export const, both get $$id in RSC", () => {
135
- const plugin = createPlugin();
136
- initDev(plugin);
137
- // Transform mixed source in RSC
138
- const r1 = plugin.transform.call(rscCtx(), MIXED_SOURCE, FILE_ID);
139
- expect(r1).toBeDefined();
140
- // Inline call extracted to virtual module
141
- const vImports = extractVirtualImports(r1.code);
142
- expect(vImports).toHaveLength(1);
143
- // Export const Nav stays in the original file with $$id injected
144
- expect(r1.code).toContain("export const Nav = Static");
145
- expect(r1.code).toContain("Nav.$$id");
146
- // Inline call replaced with import name
147
- expect(r1.code).toContain(`layout(${vImports[0].exportName})`);
148
- expect(r1.code).not.toContain("Static(() => <sidebar />)");
149
- // Virtual module also gets $$id in RSC
150
- const resolved = plugin.resolveId.call({}, vImports[0].specifier, FILE_ID);
151
- const loaded = plugin.load.call({}, resolved);
152
- const r2 = plugin.transform.call(rscCtx(), loaded, resolved);
153
- expect(r2).toBeDefined();
154
- expect(r2.code).toContain(`${vImports[0].exportName}.$$id`);
155
- });
156
- });
157
- // -----------------------------------------------------------------------
158
- // Module tracking (RSC build mode)
159
- // -----------------------------------------------------------------------
160
- describe("module tracking (RSC build mode)", () => {
161
- it("populates staticHandlerModules for export const patterns", () => {
162
- const plugin = createPlugin({ forceBuild: true });
163
- initDev(plugin); // forceBuild overrides command
164
- plugin.transform.call(rscCtx(), EXPORT_SOURCE, FILE_ID);
165
- expect(plugin.api.staticHandlerModules.get(FILE_ID)).toEqual(["Nav"]);
166
- });
167
- it("tracks virtual module exports in build mode", () => {
168
- const plugin = createPlugin({ forceBuild: true });
169
- initDev(plugin);
170
- // Populate registry via RSC transform
171
- const r1 = plugin.transform.call(rscCtx(), INLINE_SOURCE, FILE_ID);
172
- const { exportName, specifier } = extractVirtualImports(r1.code)[0];
173
- const resolved = plugin.resolveId.call({}, specifier, FILE_ID);
174
- const loaded = plugin.load.call({}, resolved);
175
- // Transform virtual module in RSC build mode
176
- plugin.transform.call(rscCtx(), loaded, resolved);
177
- expect(plugin.api.staticHandlerModules.get(resolved)).toEqual([
178
- exportName,
179
- ]);
180
- });
181
- });
182
- // -----------------------------------------------------------------------
183
- // Virtual module import resolution
184
- // -----------------------------------------------------------------------
185
- describe("virtual module import resolution", () => {
186
- it("resolves imports from virtual modules against original file", () => {
187
- const plugin = createPlugin();
188
- initDev(plugin);
189
- // Populate registry
190
- const r1 = plugin.transform.call(rscCtx(), INLINE_SOURCE, FILE_ID);
191
- const { specifier } = extractVirtualImports(r1.code)[0];
192
- const resolved = plugin.resolveId.call({}, specifier, FILE_ID);
193
- // Resolve an import from within the virtual module
194
- const ctx = {
195
- resolve: vi
196
- .fn()
197
- .mockResolvedValue({ id: "/project/src/components/Nav.tsx" }),
198
- };
199
- plugin.resolveId.call(ctx, "@rangojs/router", resolved);
200
- expect(ctx.resolve).toHaveBeenCalledWith("@rangojs/router", FILE_ID, { skipSelf: true });
201
- });
202
- });
203
- // -----------------------------------------------------------------------
204
- // Server-only import eviction (node:fs in Cloudflare)
205
- // -----------------------------------------------------------------------
206
- describe("server-only import eviction", () => {
207
- it("virtual module stub drops node:fs import (inline call path)", () => {
208
- const plugin = createPlugin();
209
- initDev(plugin);
210
- const source = `import { Static } from "@rangojs/router";
211
- import { readFileSync } from "node:fs";
212
- layout(Static(() => {
213
- const data = readFileSync("data.json", "utf-8");
214
- return <pre>{data}</pre>;
215
- }));
216
- `;
217
- // RSC transform populates virtual registry
218
- const r1 = plugin.transform.call(rscCtx(), source, FILE_ID);
219
- const { exportName, specifier } = extractVirtualImports(r1.code)[0];
220
- const resolved = plugin.resolveId.call({}, specifier, FILE_ID);
221
- const loaded = plugin.load.call({}, resolved);
222
- // Virtual module should contain node:fs (needed for RSC build)
223
- expect(loaded).toContain("node:fs");
224
- expect(loaded).toContain("readFileSync");
225
- // Client transform should produce stub WITHOUT node:fs
226
- const r2 = plugin.transform.call(clientCtx(), loaded, resolved);
227
- expect(r2).toBeDefined();
228
- expect(r2.code).not.toContain("node:fs");
229
- expect(r2.code).not.toContain("readFileSync");
230
- expect(r2.code).toContain("__brand");
231
- expect(r2.code).toContain('"staticHandler"');
232
- });
233
- it("whole-file stub drops node:fs import (export const path)", () => {
234
- const plugin = createPlugin();
235
- initDev(plugin);
236
- const source = `import { Static } from "@rangojs/router";
237
- import { readFileSync } from "node:fs";
238
- export const Nav = Static(() => {
239
- const data = readFileSync("data.json", "utf-8");
240
- return <pre>{data}</pre>;
241
- });
242
- `;
243
- // Client transform should produce stub WITHOUT node:fs
244
- const r = plugin.transform.call(clientCtx(), source, FILE_ID);
245
- expect(r).toBeDefined();
246
- expect(r.code).not.toContain("node:fs");
247
- expect(r.code).not.toContain("readFileSync");
248
- expect(r.code).toContain("__brand");
249
- expect(r.code).toContain('"staticHandler"');
250
- });
251
- });
252
- // -----------------------------------------------------------------------
253
- // Edge cases
254
- // -----------------------------------------------------------------------
255
- describe("edge cases", () => {
256
- it("no relevant imports -> transform returns undefined", () => {
257
- const plugin = createPlugin();
258
- initDev(plugin);
259
- const code = `import { route } from "@rangojs/router";\nroute("/", handler);`;
260
- const result = plugin.transform.call(rscCtx(), code, FILE_ID);
261
- expect(result).toBeUndefined();
262
- });
263
- it("only export const -> no virtual modules, $$id injected in RSC", () => {
264
- const plugin = createPlugin();
265
- initDev(plugin);
266
- const result = plugin.transform.call(rscCtx(), EXPORT_SOURCE, FILE_ID);
267
- expect(result).toBeDefined();
268
- // No virtual module imports
269
- expect(extractVirtualImports(result.code)).toHaveLength(0);
270
- // $$id injected
271
- expect(result.code).toContain("Nav.$$id");
272
- });
273
- it("same-line collisions -> distinct virtual modules", () => {
274
- const plugin = createPlugin();
275
- initDev(plugin);
276
- const result = plugin.transform.call(rscCtx(), SAME_LINE_SOURCE, FILE_ID);
277
- expect(result).toBeDefined();
278
- const vImports = extractVirtualImports(result.code);
279
- expect(vImports).toHaveLength(2);
280
- // Different export names
281
- expect(vImports[0].exportName).not.toBe(vImports[1].exportName);
282
- // Different specifiers
283
- expect(vImports[0].specifier).not.toBe(vImports[1].specifier);
284
- });
285
- it("extracts inline call when fn name and paren are split by newline", () => {
286
- const plugin = createPlugin();
287
- initDev(plugin);
288
- const result = plugin.transform.call(rscCtx(), PRERENDER_INLINE_WHITESPACE_SOURCE, FILE_ID);
289
- expect(result).toBeDefined();
290
- const vImports = extractVirtualImports(result.code);
291
- expect(vImports).toHaveLength(1);
292
- expect(result.code).toContain(`path("/about", ${vImports[0].exportName})`);
293
- expect(result.code).not.toContain("Prerender\n(");
294
- });
295
- it("load returns null for unregistered virtual ID", () => {
296
- const plugin = createPlugin();
297
- initDev(plugin);
298
- const result = plugin.load.call({}, "\0virtual:handler-extract:nonexistent:99");
299
- expect(result).toBeNull();
300
- });
301
- it("extracts inline call when Static is imported with alias", () => {
302
- const plugin = createPlugin();
303
- initDev(plugin);
304
- const result = plugin.transform.call(rscCtx(), STATIC_ALIAS_INLINE_SOURCE, FILE_ID);
305
- expect(result).toBeDefined();
306
- const vImports = extractVirtualImports(result.code);
307
- expect(vImports).toHaveLength(1);
308
- expect(result.code).toContain(`layout(${vImports[0].exportName})`);
309
- });
310
- it("injects $$id for export const alias call", () => {
311
- const plugin = createPlugin();
312
- initDev(plugin);
313
- const result = plugin.transform.call(rscCtx(), STATIC_ALIAS_EXPORT_SOURCE, FILE_ID);
314
- expect(result).toBeDefined();
315
- expect(result.code).toContain("Nav.$$id");
316
- });
317
- });
318
- });
319
- // ---------------------------------------------------------------------------
320
- // Inline Prerender integration
321
- // ---------------------------------------------------------------------------
322
- describe("exposeInternalIds - inline prerender handler integration", () => {
323
- describe("full round-trip: RSC dev mode", () => {
324
- it("transforms inline Prerender -> virtual -> $$id", () => {
325
- const plugin = createPlugin();
326
- initDev(plugin);
327
- // Step 1: Transform source with inline call in RSC env
328
- const r1 = plugin.transform.call(rscCtx(), PRERENDER_INLINE_SOURCE, FILE_ID);
329
- expect(r1).toBeDefined();
330
- // Should have a virtual module import
331
- const vImports = extractVirtualImports(r1.code);
332
- expect(vImports).toHaveLength(1);
333
- const { exportName, specifier } = vImports[0];
334
- expect(exportName).toMatch(/^__sh_[0-9a-f]{8}$/);
335
- // The inline call should be replaced with the import name
336
- expect(r1.code).toContain(`path("/about", ${exportName})`);
337
- expect(r1.code).not.toContain("Prerender(() =>");
338
- // Step 2: resolveId adds \0 prefix
339
- const resolved = plugin.resolveId.call({}, specifier, FILE_ID);
340
- expect(resolved).toBe("\0" + specifier);
341
- // Step 3: load synthesises the virtual module
342
- const loaded = plugin.load.call({}, resolved);
343
- expect(loaded).toBeDefined();
344
- expect(loaded).toContain(`export const ${exportName}`);
345
- expect(loaded).toContain("Prerender");
346
- expect(loaded).toContain("@rangojs/router");
347
- // Step 4: transform virtual module in RSC injects $$id
348
- const r2 = plugin.transform.call(rscCtx(), loaded, resolved);
349
- expect(r2).toBeDefined();
350
- expect(r2.code).toContain("$$id");
351
- expect(r2.code).toContain(`${exportName}.$$id`);
352
- });
353
- });
354
- describe("full round-trip: non-RSC (client/SSR)", () => {
355
- it("replaces virtual prerender module with stub in client env", () => {
356
- const plugin = createPlugin();
357
- initDev(plugin);
358
- // Populate virtual registry via RSC transform
359
- const r1 = plugin.transform.call(rscCtx(), PRERENDER_INLINE_SOURCE, FILE_ID);
360
- const { exportName, specifier } = extractVirtualImports(r1.code)[0];
361
- const resolved = plugin.resolveId.call({}, specifier, FILE_ID);
362
- const loaded = plugin.load.call({}, resolved);
363
- // Transform virtual module in client env -> stub
364
- const r2 = plugin.transform.call(clientCtx(), loaded, resolved);
365
- expect(r2).toBeDefined();
366
- expect(r2.code).toContain("__brand");
367
- expect(r2.code).toContain('"prerenderHandler"');
368
- expect(r2.code).toContain("$$id");
369
- // No Prerender call remains
370
- expect(r2.code).not.toContain("Prerender(");
371
- });
372
- });
373
- describe("mixed files (export const + inline)", () => {
374
- it("extracts inline, leaves export const, both get $$id in RSC", () => {
375
- const plugin = createPlugin();
376
- initDev(plugin);
377
- // Transform mixed source in RSC
378
- const r1 = plugin.transform.call(rscCtx(), PRERENDER_MIXED_SOURCE, FILE_ID);
379
- expect(r1).toBeDefined();
380
- // Inline call extracted to virtual module
381
- const vImports = extractVirtualImports(r1.code);
382
- expect(vImports).toHaveLength(1);
383
- // Export const stays in the original file with $$id injected
384
- expect(r1.code).toContain("export const AboutPage = Prerender");
385
- expect(r1.code).toContain("AboutPage.$$id");
386
- // Inline call replaced with import name
387
- expect(r1.code).toContain(`path("/inline", ${vImports[0].exportName})`);
388
- expect(r1.code).not.toContain("Prerender(() => <aside />)");
389
- });
390
- });
391
- describe("module tracking (RSC build mode)", () => {
392
- it("populates prerenderHandlerModules for export const patterns", () => {
393
- const plugin = createPlugin({ forceBuild: true });
394
- initDev(plugin);
395
- plugin.transform.call(rscCtx(), PRERENDER_EXPORT_SOURCE, FILE_ID);
396
- expect(plugin.api.prerenderHandlerModules.get(FILE_ID)).toEqual(["AboutPage"]);
397
- });
398
- });
399
- });
400
- describe("exposeInternalIds - unsupported shape diagnostics", () => {
401
- it("warns for createLoader when declaration uses let", () => {
402
- const plugin = createPlugin();
403
- initDev(plugin);
404
- const code = `import { createLoader } from "@rangojs/router";
405
- export let LocalLoader = createLoader(async () => ({ ok: true }));
406
- `;
407
- const ctx = rscCtx();
408
- plugin.transform.call(ctx, code, FILE_ID);
409
- expect(ctx.warn).toHaveBeenCalledTimes(1);
410
- const [msg] = ctx.warn.mock.calls[0];
411
- expect(msg).toContain("Unsupported createLoader shape");
412
- expect(msg).toContain("Supported shapes are:");
413
- });
414
- it("does not warn for supported createLoader export const shape", () => {
415
- const plugin = createPlugin();
416
- initDev(plugin);
417
- const code = `import { createLoader } from "@rangojs/router";
418
- export const MyLoader = createLoader(async () => ({ ok: true }));
419
- `;
420
- const ctx = rscCtx();
421
- plugin.transform.call(ctx, code, FILE_ID);
422
- expect(ctx.warn).not.toHaveBeenCalled();
423
- });
424
- it("warns at most once per file/function shape", () => {
425
- const plugin = createPlugin();
426
- initDev(plugin);
427
- const code = `import { createHandle } from "@rangojs/router";
428
- layout(createHandle(() => []));
429
- `;
430
- const ctx = rscCtx();
431
- plugin.transform.call(ctx, code, FILE_ID);
432
- plugin.transform.call(ctx, code, FILE_ID);
433
- expect(ctx.warn).toHaveBeenCalledTimes(1);
434
- const [msg] = ctx.warn.mock.calls[0];
435
- expect(msg).toContain("Unsupported createHandle shape");
436
- });
437
- });
438
- describe("exposeInternalIds - alias support (strict create APIs)", () => {
439
- it("injects $$id for createLoader imported with alias", () => {
440
- const plugin = createPlugin();
441
- initDev(plugin);
442
- const code = `import { createLoader as cl } from "@rangojs/router";
443
- export const MyLoader = cl(async () => ({ ok: true }));
444
- `;
445
- const result = plugin.transform.call(rscCtx(), code, FILE_ID);
446
- expect(result).toBeDefined();
447
- expect(result.code).toContain("MyLoader.$$id");
448
- });
449
- it("injects $$id for createHandle imported with alias", () => {
450
- const plugin = createPlugin();
451
- initDev(plugin);
452
- const code = `import { createHandle as ch } from "@rangojs/router";
453
- export const Breadcrumbs = ch(() => []);
454
- `;
455
- const result = plugin.transform.call(rscCtx(), code, FILE_ID);
456
- expect(result).toBeDefined();
457
- expect(result.code).toContain("Breadcrumbs.$$id");
458
- });
459
- it("injects __rsc_ls_key for createLocationState imported with alias", () => {
460
- const plugin = createPlugin();
461
- initDev(plugin);
462
- const code = `import { createLocationState as cls } from "@rangojs/router";
463
- export const ProductState = cls<string>();
464
- `;
465
- const result = plugin.transform.call(rscCtx(), code, FILE_ID);
466
- expect(result).toBeDefined();
467
- expect(result.code).toContain("ProductState.__rsc_ls_key");
468
- });
469
- it("supports createLoader declared as const and exported via specifier alias", () => {
470
- const plugin = createPlugin();
471
- initDev(plugin);
472
- const code = `import { createLoader } from "@rangojs/router";
473
- const LocalLoader = createLoader(async () => ({ ok: true }));
474
- export { LocalLoader as PublicLoader };
475
- `;
476
- const ctx = rscCtx();
477
- const result = plugin.transform.call(ctx, code, FILE_ID);
478
- expect(result).toBeDefined();
479
- expect(result.code).toContain('LocalLoader.$$id =');
480
- expect(ctx.warn).not.toHaveBeenCalled();
481
- });
482
- it("supports createHandle declared as const and exported via specifier", () => {
483
- const plugin = createPlugin();
484
- initDev(plugin);
485
- const code = `import { createHandle } from "@rangojs/router";
486
- const LocalHandle = createHandle(() => []);
487
- export { LocalHandle };
488
- `;
489
- const result = plugin.transform.call(rscCtx(), code, FILE_ID);
490
- expect(result).toBeDefined();
491
- expect(result.code).toContain("LocalHandle.$$id");
492
- });
493
- it("supports createLocationState declared as const and exported via specifier alias", () => {
494
- const plugin = createPlugin();
495
- initDev(plugin);
496
- const code = `import { createLocationState } from "@rangojs/router";
497
- const ProductStateDef = createLocationState<string>();
498
- export { ProductStateDef as ProductState };
499
- `;
500
- const result = plugin.transform.call(rscCtx(), code, FILE_ID);
501
- expect(result).toBeDefined();
502
- expect(result.code).toContain("ProductStateDef.__rsc_ls_key");
503
- });
504
- });
505
- describe("exposeInternalIds - handler export specifiers", () => {
506
- it("tracks static handler exported via specifier alias in build mode", () => {
507
- const plugin = createPlugin({ forceBuild: true });
508
- initDev(plugin);
509
- const code = `import { Static } from "@rangojs/router";
510
- const DocsNav = Static(() => <nav />);
511
- export { DocsNav as DocsNavPublic };
512
- `;
513
- plugin.transform.call(rscCtx(), code, FILE_ID);
514
- expect(plugin.api.staticHandlerModules.get(FILE_ID)).toEqual(["DocsNavPublic"]);
515
- });
516
- it("tracks prerender handler exported via specifier alias in build mode", () => {
517
- const plugin = createPlugin({ forceBuild: true });
518
- initDev(plugin);
519
- const code = `import { Prerender } from "@rangojs/router";
520
- const DocsPage = Prerender(() => <div />);
521
- export { DocsPage as DocsPagePublic };
522
- `;
523
- plugin.transform.call(rscCtx(), code, FILE_ID);
524
- expect(plugin.api.prerenderHandlerModules.get(FILE_ID)).toEqual(["DocsPagePublic"]);
525
- });
526
- });
527
- // ---------------------------------------------------------------------------
528
- // Client loader stubs for const + export { X } pattern
529
- // ---------------------------------------------------------------------------
530
- describe("exposeInternalIds - client loader stubs for const + export patterns", () => {
531
- it("generates client stub for const + export { X }", () => {
532
- const plugin = createPlugin();
533
- initDev(plugin);
534
- const code = `import { createLoader } from "@rangojs/router";
535
- const MyLoader = createLoader(async () => ({ ok: true }));
536
- export { MyLoader };
537
- `;
538
- const result = plugin.transform.call(clientCtx(), code, FILE_ID);
539
- expect(result).toBeDefined();
540
- expect(result.code).toContain('__brand: "loader"');
541
- expect(result.code).toContain("$$id");
542
- expect(result.code).toContain("export const MyLoader");
543
- // Entire file replaced - no server code
544
- expect(result.code).not.toContain("async");
545
- });
546
- it("generates client stub for const + export { X as Y }", () => {
547
- const plugin = createPlugin();
548
- initDev(plugin);
549
- const code = `import { createLoader } from "@rangojs/router";
550
- const InternalLoader = createLoader(async () => ({ ok: true }));
551
- export { InternalLoader as PublicLoader };
552
- `;
553
- const result = plugin.transform.call(clientCtx(), code, FILE_ID);
554
- expect(result).toBeDefined();
555
- expect(result.code).toContain('__brand: "loader"');
556
- expect(result.code).toContain("export const PublicLoader");
557
- // Uses the exported name, not the local name
558
- expect(result.code).not.toContain("InternalLoader");
559
- expect(result.code).not.toContain("async");
560
- });
561
- it("does not generate loader-only stub when file has mixed exports (const + export pattern)", () => {
562
- const plugin = createPlugin();
563
- initDev(plugin);
564
- const code = `import { createLoader } from "@rangojs/router";
565
- const MyLoader = createLoader(async () => ({ ok: true }));
566
- export { MyLoader };
567
- export const helperFn = () => "not a loader";
568
- `;
569
- const result = plugin.transform.call(clientCtx(), code, FILE_ID);
570
- // Should NOT replace entire file since helperFn is not a loader
571
- if (result) {
572
- expect(result.code).toContain("helperFn");
573
- }
574
- });
575
- });
576
- // ---------------------------------------------------------------------------
577
- // Whole-file handler stubs for const + export { X } pattern
578
- // ---------------------------------------------------------------------------
579
- describe("exposeInternalIds - whole-file handler stubs for const + export patterns", () => {
580
- it("generates whole-file stub for static handler with const + export { X }", () => {
581
- const plugin = createPlugin();
582
- initDev(plugin);
583
- const code = `import { Static } from "@rangojs/router";
584
- const Nav = Static(() => <nav />);
585
- export { Nav };
586
- `;
587
- const result = plugin.transform.call(clientCtx(), code, FILE_ID);
588
- expect(result).toBeDefined();
589
- expect(result.code).toContain('__brand: "staticHandler"');
590
- expect(result.code).toContain("$$id");
591
- expect(result.code).toContain("export const Nav");
592
- expect(result.code).not.toContain("Static");
593
- });
594
- it("generates whole-file stub for prerender handler with const + export { X as Y }", () => {
595
- const plugin = createPlugin();
596
- initDev(plugin);
597
- const code = `import { Prerender } from "@rangojs/router";
598
- const InternalPage = Prerender(() => <div />);
599
- export { InternalPage as PublicPage };
600
- `;
601
- const result = plugin.transform.call(clientCtx(), code, FILE_ID);
602
- expect(result).toBeDefined();
603
- expect(result.code).toContain('__brand: "prerenderHandler"');
604
- expect(result.code).toContain("export const PublicPage");
605
- expect(result.code).not.toContain("InternalPage");
606
- expect(result.code).not.toContain("Prerender");
607
- });
608
- });
609
- // ---------------------------------------------------------------------------
610
- // Expression stubs for const + export { X } pattern
611
- // ---------------------------------------------------------------------------
612
- describe("exposeInternalIds - expr stubs for const + export patterns", () => {
613
- it("overwrites call expression for static handler with const + export { X }", () => {
614
- const plugin = createPlugin();
615
- initDev(plugin);
616
- // Mixed file: has a non-handler export, so whole-file stub won't apply
617
- const code = `import { Static } from "@rangojs/router";
618
- const Nav = Static(() => <nav />);
619
- export { Nav };
620
- export const PAGE_TITLE = "docs";
621
- `;
622
- const result = plugin.transform.call(clientCtx(), code, FILE_ID);
623
- expect(result).toBeDefined();
624
- expect(result.code).toContain('__brand: "staticHandler"');
625
- expect(result.code).toContain("$$id");
626
- // The non-handler export is preserved
627
- expect(result.code).toContain("PAGE_TITLE");
628
- // The call expression is replaced with a stub object
629
- expect(result.code).not.toContain("Static(");
630
- });
631
- it("overwrites call expression for handler with const + export { X as Y }", () => {
632
- const plugin = createPlugin();
633
- initDev(plugin);
634
- const code = `import { Static } from "@rangojs/router";
635
- const Nav = Static(() => <nav />);
636
- export { Nav as PublicNav };
637
- export const PAGE_TITLE = "docs";
638
- `;
639
- const result = plugin.transform.call(clientCtx(), code, FILE_ID);
640
- expect(result).toBeDefined();
641
- expect(result.code).toContain('__brand: "staticHandler"');
642
- expect(result.code).toContain("$$id");
643
- expect(result.code).toContain("PAGE_TITLE");
644
- expect(result.code).not.toContain("Static(");
645
- });
646
- });
647
- //# sourceMappingURL=expose-internal-ids.test.js.map