@rangojs/router 0.0.0-experimental.preview.1774295854 → 0.0.0-experimental.tapabs1

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 (448) hide show
  1. package/AGENTS.md +8 -4
  2. package/README.md +303 -741
  3. package/dist/bin/rango.js +724 -183
  4. package/dist/testing/vitest.js +82 -0
  5. package/dist/vite/index.js +4216 -1442
  6. package/dist/vite/index.js.bak +5448 -0
  7. package/dist/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  8. package/package.json +86 -15
  9. package/skills/api-client/SKILL.md +211 -0
  10. package/skills/breadcrumbs/SKILL.md +85 -6
  11. package/skills/bundle-analysis/SKILL.md +159 -0
  12. package/skills/cache-guide/SKILL.md +228 -33
  13. package/skills/caching/SKILL.md +336 -19
  14. package/skills/catalog.json +271 -0
  15. package/skills/comparison/SKILL.md +50 -0
  16. package/skills/comparison/agents/openai.yaml +4 -0
  17. package/skills/comparison/references/framework-comparison.md +837 -0
  18. package/skills/composability/SKILL.md +110 -4
  19. package/skills/css/SKILL.md +76 -0
  20. package/skills/debug-manifest/SKILL.md +5 -3
  21. package/skills/defer-hydration/SKILL.md +235 -0
  22. package/skills/document-cache/SKILL.md +87 -56
  23. package/skills/fonts/SKILL.md +1 -1
  24. package/skills/handler-use/SKILL.md +364 -0
  25. package/skills/hooks/SKILL.md +73 -691
  26. package/skills/hooks/data.md +273 -0
  27. package/skills/hooks/handle-and-actions.md +103 -0
  28. package/skills/hooks/navigation.md +110 -0
  29. package/skills/hooks/outlets.md +41 -0
  30. package/skills/hooks/state.md +228 -0
  31. package/skills/hooks/urls.md +135 -0
  32. package/skills/host-router/SKILL.md +129 -27
  33. package/skills/i18n/SKILL.md +276 -0
  34. package/skills/intercept/SKILL.md +94 -18
  35. package/skills/layout/SKILL.md +62 -19
  36. package/skills/links/SKILL.md +249 -17
  37. package/skills/loader/SKILL.md +248 -10
  38. package/skills/middleware/SKILL.md +59 -16
  39. package/skills/migrate-nextjs/SKILL.md +745 -0
  40. package/skills/migrate-react-router/SKILL.md +153 -0
  41. package/skills/migrate-react-router/cloudflare-workers.md +129 -0
  42. package/skills/migrate-react-router/component-migration.md +196 -0
  43. package/skills/migrate-react-router/data-and-actions.md +225 -0
  44. package/skills/migrate-react-router/route-mapping.md +271 -0
  45. package/skills/mime-routes/SKILL.md +29 -2
  46. package/skills/observability/SKILL.md +202 -0
  47. package/skills/parallel/SKILL.md +99 -10
  48. package/skills/ppr/SKILL.md +622 -0
  49. package/skills/prerender/SKILL.md +178 -124
  50. package/skills/rango/SKILL.md +318 -24
  51. package/skills/react-compiler/SKILL.md +168 -0
  52. package/skills/response-routes/SKILL.md +138 -49
  53. package/skills/route/SKILL.md +141 -9
  54. package/skills/router-setup/SKILL.md +79 -9
  55. package/skills/scripts/SKILL.md +179 -0
  56. package/skills/server-actions/SKILL.md +776 -0
  57. package/skills/shell-manifest/SKILL.md +185 -0
  58. package/skills/streams-and-websockets/SKILL.md +283 -0
  59. package/skills/tailwind/SKILL.md +28 -4
  60. package/skills/testing/SKILL.md +130 -0
  61. package/skills/testing/bindings.md +103 -0
  62. package/skills/testing/cache-prerender.md +127 -0
  63. package/skills/testing/client-components.md +124 -0
  64. package/skills/testing/e2e-parity.md +125 -0
  65. package/skills/testing/flight.md +91 -0
  66. package/skills/testing/handles.md +131 -0
  67. package/skills/testing/loader.md +128 -0
  68. package/skills/testing/middleware.md +99 -0
  69. package/skills/testing/render-handler.md +122 -0
  70. package/skills/testing/response-routes.md +95 -0
  71. package/skills/testing/reverse-and-types.md +85 -0
  72. package/skills/testing/server-actions.md +107 -0
  73. package/skills/testing/server-tree.md +128 -0
  74. package/skills/testing/setup.md +123 -0
  75. package/skills/theme/SKILL.md +1 -1
  76. package/skills/typesafety/SKILL.md +45 -626
  77. package/skills/typesafety/env-and-bindings.md +254 -0
  78. package/skills/typesafety/generated-files-and-cli.md +335 -0
  79. package/skills/typesafety/params-and-search.md +153 -0
  80. package/skills/typesafety/route-types.md +209 -0
  81. package/skills/use-cache/SKILL.md +74 -15
  82. package/skills/vercel/SKILL.md +128 -0
  83. package/skills/view-transitions/SKILL.md +337 -0
  84. package/src/__augment-tests__/augment.ts +81 -0
  85. package/src/__augment-tests__/augmented.check.ts +116 -0
  86. package/src/__internal.ts +1 -66
  87. package/src/browser/action-coordinator.ts +53 -36
  88. package/src/browser/action-fence.ts +47 -0
  89. package/src/browser/app-shell.ts +39 -0
  90. package/src/browser/app-version.ts +14 -0
  91. package/src/browser/connection-warmup.ts +134 -0
  92. package/src/browser/cookie-name.ts +140 -0
  93. package/src/browser/event-controller.ts +252 -158
  94. package/src/browser/history-state.ts +21 -0
  95. package/src/browser/index.ts +3 -3
  96. package/src/browser/invalidate-client-cache.ts +52 -0
  97. package/src/browser/logging.ts +28 -0
  98. package/src/browser/merge-segment-loaders.ts +6 -4
  99. package/src/browser/navigation-bridge.ts +131 -30
  100. package/src/browser/navigation-client.ts +202 -115
  101. package/src/browser/navigation-store-handle.ts +38 -0
  102. package/src/browser/navigation-store.ts +203 -80
  103. package/src/browser/navigation-transaction.ts +9 -59
  104. package/src/browser/network-error-handler.ts +34 -7
  105. package/src/browser/partial-update.ts +198 -125
  106. package/src/browser/prefetch/cache.ts +246 -71
  107. package/src/browser/prefetch/fetch.ts +358 -40
  108. package/src/browser/prefetch/queue.ts +61 -12
  109. package/src/browser/rango-state.ts +158 -76
  110. package/src/browser/react/Link.tsx +112 -15
  111. package/src/browser/react/NavigationProvider.tsx +208 -119
  112. package/src/browser/react/ScrollRestoration.tsx +10 -6
  113. package/src/browser/react/context.ts +7 -2
  114. package/src/browser/react/filter-segment-order.ts +66 -7
  115. package/src/browser/react/index.ts +0 -48
  116. package/src/browser/react/location-state-shared.ts +178 -8
  117. package/src/browser/react/location-state.ts +39 -14
  118. package/src/browser/react/use-action.ts +6 -15
  119. package/src/browser/react/use-handle.ts +23 -69
  120. package/src/browser/react/use-href.tsx +8 -1
  121. package/src/browser/react/use-link-status.ts +33 -8
  122. package/src/browser/react/use-navigation.ts +32 -7
  123. package/src/browser/react/use-params.ts +20 -10
  124. package/src/browser/react/use-reverse.ts +106 -0
  125. package/src/browser/react/use-router.ts +46 -11
  126. package/src/browser/react/use-search-params.ts +0 -5
  127. package/src/browser/react/use-segments.ts +11 -21
  128. package/src/browser/response-adapter.ts +99 -8
  129. package/src/browser/rsc-router.tsx +170 -48
  130. package/src/browser/scroll-restoration.ts +44 -27
  131. package/src/browser/segment-reconciler.ts +44 -12
  132. package/src/browser/segment-structure-assert.ts +2 -2
  133. package/src/browser/server-action-bridge.ts +243 -84
  134. package/src/browser/types.ts +121 -22
  135. package/src/browser/validate-redirect-origin.ts +43 -16
  136. package/src/build/collect-fallback-refs.ts +107 -0
  137. package/src/build/generate-manifest.ts +207 -158
  138. package/src/build/generate-route-types.ts +6 -1
  139. package/src/build/index.ts +11 -3
  140. package/src/build/prefix-tree-utils.ts +123 -0
  141. package/src/build/route-trie.ts +198 -41
  142. package/src/build/route-types/ast-route-extraction.ts +15 -8
  143. package/src/build/route-types/codegen.ts +16 -5
  144. package/src/build/route-types/include-resolution.ts +464 -63
  145. package/src/build/route-types/param-extraction.ts +6 -3
  146. package/src/build/route-types/per-module-writer.ts +22 -6
  147. package/src/build/route-types/router-processing.ts +333 -117
  148. package/src/build/route-types/scan-filter.ts +9 -2
  149. package/src/build/route-types/source-scan.ts +216 -0
  150. package/src/build/runtime-discovery.ts +13 -21
  151. package/src/cache/cache-error.ts +104 -0
  152. package/src/cache/cache-key-utils.ts +58 -13
  153. package/src/cache/cache-policy.ts +108 -34
  154. package/src/cache/cache-runtime.ts +454 -101
  155. package/src/cache/cache-scope.ts +187 -96
  156. package/src/cache/cache-tag.ts +149 -0
  157. package/src/cache/cf/cf-base64.ts +33 -0
  158. package/src/cache/cf/cf-cache-constants.ts +127 -0
  159. package/src/cache/cf/cf-cache-store.ts +2206 -372
  160. package/src/cache/cf/cf-cache-types.ts +349 -0
  161. package/src/cache/cf/cf-kv-utils.ts +46 -0
  162. package/src/cache/cf/cf-tag-marker-memo.ts +105 -0
  163. package/src/cache/cf/index.ts +6 -16
  164. package/src/cache/document-cache.ts +126 -41
  165. package/src/cache/handle-snapshot.ts +70 -0
  166. package/src/cache/index.ts +23 -20
  167. package/src/cache/memory-segment-store.ts +243 -37
  168. package/src/cache/profile-registry.ts +46 -31
  169. package/src/cache/read-through-swr.ts +56 -12
  170. package/src/cache/segment-codec.ts +13 -21
  171. package/src/cache/shell-snapshot.ts +417 -0
  172. package/src/cache/tag-invalidation.ts +230 -0
  173. package/src/cache/types.ts +194 -99
  174. package/src/cache/vercel/index.ts +11 -0
  175. package/src/cache/vercel/vercel-cache-store.ts +1132 -0
  176. package/src/client.rsc.tsx +41 -21
  177. package/src/client.tsx +116 -290
  178. package/src/cloudflare/index.ts +11 -0
  179. package/src/cloudflare/tracing.ts +108 -0
  180. package/src/component-utils.ts +19 -0
  181. package/src/components/DefaultDocument.tsx +8 -2
  182. package/src/context-var.ts +18 -6
  183. package/src/decode-loader-results.ts +52 -0
  184. package/src/defer.ts +185 -0
  185. package/src/deps/browser.ts +0 -1
  186. package/src/deps/ssr.ts +0 -1
  187. package/src/encode-kv.ts +49 -0
  188. package/src/errors.ts +30 -4
  189. package/src/escape-script.ts +52 -0
  190. package/src/handle.ts +104 -34
  191. package/src/handles/MetaTags.tsx +24 -53
  192. package/src/handles/Scripts.tsx +183 -0
  193. package/src/handles/breadcrumbs.ts +35 -8
  194. package/src/handles/deferred-resolution.ts +127 -0
  195. package/src/handles/is-thenable.ts +18 -0
  196. package/src/handles/meta.ts +14 -40
  197. package/src/handles/script.ts +244 -0
  198. package/src/host/cookie-handler.ts +9 -60
  199. package/src/host/errors.ts +13 -22
  200. package/src/host/index.ts +9 -2
  201. package/src/host/pattern-matcher.ts +23 -52
  202. package/src/host/router.ts +107 -99
  203. package/src/host/testing.ts +40 -27
  204. package/src/host/types.ts +37 -4
  205. package/src/host/utils.ts +1 -1
  206. package/src/href-client.ts +137 -22
  207. package/src/index.rsc.ts +100 -13
  208. package/src/index.ts +143 -19
  209. package/src/internal-debug.ts +11 -10
  210. package/src/loader-store.ts +500 -0
  211. package/src/loader.rsc.ts +20 -13
  212. package/src/loader.ts +12 -11
  213. package/src/missing-id-error.ts +68 -0
  214. package/src/outlet-context.ts +1 -1
  215. package/src/outlet-provider.tsx +1 -5
  216. package/src/prerender/param-hash.ts +16 -16
  217. package/src/prerender/store.ts +37 -41
  218. package/src/prerender.ts +215 -86
  219. package/src/redirect-origin.ts +114 -0
  220. package/src/regex-escape.ts +8 -0
  221. package/src/render-error-thrower.tsx +20 -0
  222. package/src/response-utils.ts +62 -0
  223. package/src/reverse.ts +65 -15
  224. package/src/root-error-boundary.tsx +1 -19
  225. package/src/route-content-wrapper.tsx +19 -77
  226. package/src/route-definition/dsl-helpers.ts +461 -304
  227. package/src/route-definition/helper-factories.ts +28 -140
  228. package/src/route-definition/helpers-types.ts +147 -72
  229. package/src/route-definition/index.ts +4 -2
  230. package/src/route-definition/redirect.ts +51 -10
  231. package/src/route-definition/resolve-handler-use.ts +160 -0
  232. package/src/route-definition/use-item-types.ts +29 -0
  233. package/src/route-map-builder.ts +41 -20
  234. package/src/route-types.ts +37 -46
  235. package/src/router/basename.ts +14 -0
  236. package/src/router/content-negotiation.ts +164 -17
  237. package/src/router/error-handling.ts +45 -18
  238. package/src/router/find-match.ts +129 -30
  239. package/src/router/handler-context.ts +52 -31
  240. package/src/router/instrument.ts +355 -0
  241. package/src/router/intercept-resolution.ts +48 -24
  242. package/src/router/lazy-includes.ts +85 -62
  243. package/src/router/loader-resolution.ts +280 -56
  244. package/src/router/logging.ts +0 -6
  245. package/src/router/manifest.ts +96 -53
  246. package/src/router/match-api.ts +178 -218
  247. package/src/router/match-context.ts +0 -22
  248. package/src/router/match-handlers.ts +211 -165
  249. package/src/router/match-middleware/background-revalidation.ts +40 -24
  250. package/src/router/match-middleware/cache-lookup.ts +170 -276
  251. package/src/router/match-middleware/cache-store.ts +64 -52
  252. package/src/router/match-middleware/intercept-resolution.ts +0 -22
  253. package/src/router/match-middleware/segment-resolution.ts +45 -14
  254. package/src/router/match-pipelines.ts +1 -42
  255. package/src/router/match-result.ts +113 -45
  256. package/src/router/metrics.ts +0 -34
  257. package/src/router/middleware-types.ts +7 -140
  258. package/src/router/middleware.ts +298 -175
  259. package/src/router/navigation-snapshot.ts +133 -0
  260. package/src/router/params-util.ts +23 -0
  261. package/src/router/parse-pattern.ts +115 -0
  262. package/src/router/pattern-matching.ts +181 -150
  263. package/src/router/prefetch-cache-ttl.ts +51 -0
  264. package/src/router/prefetch-limits.ts +37 -0
  265. package/src/router/prerender-match.ts +203 -58
  266. package/src/router/preview-match.ts +35 -103
  267. package/src/router/request-classification.ts +291 -0
  268. package/src/router/revalidation.ts +123 -73
  269. package/src/router/route-snapshot.ts +256 -0
  270. package/src/router/router-context.ts +6 -29
  271. package/src/router/router-interfaces.ts +146 -35
  272. package/src/router/router-options.ts +202 -15
  273. package/src/router/router-registry.ts +2 -5
  274. package/src/router/segment-resolution/fresh.ts +195 -85
  275. package/src/router/segment-resolution/helpers.ts +86 -6
  276. package/src/router/segment-resolution/loader-cache.ts +155 -39
  277. package/src/router/segment-resolution/loader-mask.ts +60 -0
  278. package/src/router/segment-resolution/loader-snapshot.ts +259 -0
  279. package/src/router/segment-resolution/mask-nested.ts +83 -0
  280. package/src/router/segment-resolution/revalidation.ts +351 -321
  281. package/src/router/segment-resolution/static-store.ts +19 -5
  282. package/src/router/segment-resolution/streamed-handler-telemetry.ts +52 -0
  283. package/src/router/segment-resolution/view-transition-default.ts +56 -0
  284. package/src/router/segment-resolution.ts +5 -1
  285. package/src/router/segment-wrappers.ts +6 -5
  286. package/src/router/state-cookie-name.ts +33 -0
  287. package/src/router/substitute-pattern-params.ts +75 -0
  288. package/src/router/telemetry-otel.ts +160 -200
  289. package/src/router/telemetry.ts +105 -20
  290. package/src/router/timeout.ts +0 -20
  291. package/src/router/tracing.ts +215 -0
  292. package/src/router/trie-matching.ts +171 -59
  293. package/src/router/types.ts +9 -63
  294. package/src/router/url-params.ts +57 -0
  295. package/src/router.ts +204 -70
  296. package/src/rsc/full-payload.ts +70 -0
  297. package/src/rsc/handler-context.ts +3 -2
  298. package/src/rsc/handler.ts +679 -530
  299. package/src/rsc/helpers.ts +168 -46
  300. package/src/rsc/index.ts +2 -5
  301. package/src/rsc/json-route-result.ts +38 -0
  302. package/src/rsc/loader-fetch.ts +122 -31
  303. package/src/rsc/manifest-init.ts +33 -42
  304. package/src/rsc/nonce.ts +10 -1
  305. package/src/rsc/origin-guard.ts +39 -25
  306. package/src/rsc/progressive-enhancement.ts +136 -16
  307. package/src/rsc/redirect-guard.ts +100 -0
  308. package/src/rsc/response-cache-serve.ts +238 -0
  309. package/src/rsc/response-error.ts +79 -12
  310. package/src/rsc/response-route-handler.ts +99 -189
  311. package/src/rsc/rsc-rendering.ts +518 -75
  312. package/src/rsc/runtime-warnings.ts +23 -10
  313. package/src/rsc/server-action.ts +287 -115
  314. package/src/rsc/shell-capture.ts +1190 -0
  315. package/src/rsc/shell-serve.ts +181 -0
  316. package/src/rsc/ssr-setup.ts +18 -2
  317. package/src/rsc/transition-gate.ts +89 -0
  318. package/src/rsc/types.ts +59 -12
  319. package/src/runtime-env.ts +18 -0
  320. package/src/search-params.ts +35 -30
  321. package/src/segment-content-promise.ts +67 -0
  322. package/src/segment-loader-promise.ts +167 -0
  323. package/src/segment-system.tsx +386 -205
  324. package/src/serialize.ts +243 -0
  325. package/src/server/context.ts +269 -52
  326. package/src/server/cookie-parse.ts +32 -0
  327. package/src/server/cookie-store.ts +152 -5
  328. package/src/server/handle-store.ts +40 -38
  329. package/src/server/loader-registry.ts +38 -46
  330. package/src/server/request-context.ts +508 -174
  331. package/src/ssr/index.tsx +492 -188
  332. package/src/ssr/inject-rsc-eager.ts +167 -0
  333. package/src/ssr/ssr-root.tsx +228 -0
  334. package/src/static-handler.ts +27 -18
  335. package/src/testing/cache-status.ts +162 -0
  336. package/src/testing/collect-handle.ts +46 -0
  337. package/src/testing/dispatch.ts +813 -0
  338. package/src/testing/dom.entry.ts +22 -0
  339. package/src/testing/e2e/fixture.ts +188 -0
  340. package/src/testing/e2e/index.ts +128 -0
  341. package/src/testing/e2e/matchers.ts +35 -0
  342. package/src/testing/e2e/page-helpers.ts +272 -0
  343. package/src/testing/e2e/parity.ts +387 -0
  344. package/src/testing/e2e/server.ts +195 -0
  345. package/src/testing/flight-matchers.ts +97 -0
  346. package/src/testing/flight-normalize.ts +11 -0
  347. package/src/testing/flight-runtime.d.ts +57 -0
  348. package/src/testing/flight-tree.ts +682 -0
  349. package/src/testing/flight.entry.ts +52 -0
  350. package/src/testing/flight.ts +257 -0
  351. package/src/testing/generated-routes.ts +199 -0
  352. package/src/testing/index.ts +105 -0
  353. package/src/testing/internal/context.ts +371 -0
  354. package/src/testing/internal/flight-client-globals.ts +30 -0
  355. package/src/testing/internal/seed-vars.ts +54 -0
  356. package/src/testing/render-handler.ts +357 -0
  357. package/src/testing/render-route.tsx +584 -0
  358. package/src/testing/run-loader.ts +385 -0
  359. package/src/testing/run-middleware.ts +205 -0
  360. package/src/testing/run-transition-when.ts +164 -0
  361. package/src/testing/vitest-stubs/cloudflare-email.ts +9 -0
  362. package/src/testing/vitest-stubs/cloudflare-workers.ts +21 -0
  363. package/src/testing/vitest-stubs/plugin-rsc.ts +16 -0
  364. package/src/testing/vitest-stubs/version.ts +5 -0
  365. package/src/testing/vitest.ts +305 -0
  366. package/src/theme/ThemeProvider.tsx +56 -84
  367. package/src/theme/ThemeScript.tsx +7 -9
  368. package/src/theme/constants.ts +52 -13
  369. package/src/theme/index.ts +0 -7
  370. package/src/theme/theme-context.ts +1 -5
  371. package/src/theme/theme-script.ts +22 -21
  372. package/src/theme/use-theme.ts +0 -3
  373. package/src/types/boundaries.ts +0 -35
  374. package/src/types/cache-types.ts +17 -8
  375. package/src/types/error-types.ts +30 -90
  376. package/src/types/global-namespace.ts +54 -41
  377. package/src/types/handler-context.ts +125 -71
  378. package/src/types/index.ts +3 -10
  379. package/src/types/loader-types.ts +40 -11
  380. package/src/types/request-scope.ts +112 -0
  381. package/src/types/route-config.ts +20 -52
  382. package/src/types/route-entry.ts +12 -7
  383. package/src/types/segments.ts +136 -15
  384. package/src/urls/include-helper.ts +40 -75
  385. package/src/urls/include-provider.ts +71 -0
  386. package/src/urls/index.ts +2 -11
  387. package/src/urls/path-helper-types.ts +102 -23
  388. package/src/urls/path-helper.ts +62 -111
  389. package/src/urls/pattern-types.ts +84 -19
  390. package/src/urls/response-types.ts +25 -22
  391. package/src/urls/type-extraction.ts +98 -154
  392. package/src/urls/urls-function.ts +1 -19
  393. package/src/use-loader.tsx +346 -89
  394. package/src/vercel/index.ts +11 -0
  395. package/src/vercel/tracing.ts +88 -0
  396. package/src/vite/debug.ts +185 -0
  397. package/src/vite/discovery/bundle-postprocess.ts +36 -38
  398. package/src/vite/discovery/dev-prerender-cache.ts +117 -0
  399. package/src/vite/discovery/discover-routers.ts +130 -85
  400. package/src/vite/discovery/discovery-errors.ts +255 -0
  401. package/src/vite/discovery/gate-state.ts +171 -0
  402. package/src/vite/discovery/prerender-collection.ts +214 -132
  403. package/src/vite/discovery/route-types-writer.ts +40 -84
  404. package/src/vite/discovery/self-gen-tracking.ts +27 -1
  405. package/src/vite/discovery/state.ts +57 -4
  406. package/src/vite/discovery/virtual-module-codegen.ts +14 -34
  407. package/src/vite/index.ts +15 -0
  408. package/src/vite/inject-client-debug.ts +88 -0
  409. package/src/vite/plugin-types.ts +261 -6
  410. package/src/vite/plugins/cjs-to-esm.ts +16 -19
  411. package/src/vite/plugins/client-ref-dedup.ts +16 -11
  412. package/src/vite/plugins/client-ref-hashing.ts +28 -15
  413. package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
  414. package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  415. package/src/vite/plugins/cloudflare-protocol-stub.ts +194 -0
  416. package/src/vite/plugins/expose-action-id.ts +48 -95
  417. package/src/vite/plugins/expose-id-utils.ts +96 -51
  418. package/src/vite/plugins/expose-ids/export-analysis.ts +101 -34
  419. package/src/vite/plugins/expose-ids/handler-transform.ts +15 -64
  420. package/src/vite/plugins/expose-ids/loader-transform.ts +14 -24
  421. package/src/vite/plugins/expose-ids/router-transform.ts +118 -29
  422. package/src/vite/plugins/expose-internal-ids.ts +553 -317
  423. package/src/vite/plugins/performance-tracks.ts +34 -446
  424. package/src/vite/plugins/refresh-cmd.ts +89 -27
  425. package/src/vite/plugins/use-cache-transform.ts +73 -83
  426. package/src/vite/plugins/vercel-output.ts +384 -0
  427. package/src/vite/plugins/version-injector.ts +40 -29
  428. package/src/vite/plugins/version-plugin.ts +37 -40
  429. package/src/vite/plugins/virtual-entries.ts +138 -27
  430. package/src/vite/rango.ts +240 -154
  431. package/src/vite/router-discovery.ts +1091 -159
  432. package/src/vite/utils/ast-handler-extract.ts +26 -35
  433. package/src/vite/utils/banner.ts +1 -1
  434. package/src/vite/utils/bundle-analysis.ts +10 -15
  435. package/src/vite/utils/client-chunks.ts +184 -0
  436. package/src/vite/utils/directive-prologue.ts +40 -0
  437. package/src/vite/utils/forward-user-plugins.ts +171 -0
  438. package/src/vite/utils/manifest-utils.ts +4 -59
  439. package/src/vite/utils/package-resolution.ts +20 -52
  440. package/src/vite/utils/prerender-utils.ts +98 -38
  441. package/src/vite/utils/shared-utils.ts +142 -43
  442. package/src/browser/action-response-classifier.ts +0 -99
  443. package/src/browser/debug-channel.ts +0 -214
  444. package/src/browser/react/use-client-cache.ts +0 -58
  445. package/src/browser/shallow.ts +0 -40
  446. package/src/handles/index.ts +0 -7
  447. package/src/network-error-thrower.tsx +0 -23
  448. package/src/router/middleware-cookies.ts +0 -55
package/AGENTS.md CHANGED
@@ -1,9 +1,13 @@
1
- # @rangojs/router
1
+ # @rangojs/router — agent guide
2
2
 
3
- A file-system based React Server Components router.
3
+ Django-inspired React Server Components router: routes are an explicit `urls()` tree (`path()`, `layout()`, `include()`) — not a file-system convention with type-safe named routes and `href`/`reverse`.
4
4
 
5
- Run `/rango` to understand the API. Detailed guides for each feature are in the `skills/` directory (e.g. `node_modules/@rangojs/router/skills/loader`, `skills/caching`, `skills/middleware`, etc.).
5
+ Start with the mental model at `node_modules/@rangojs/router/skills/rango/SKILL.md`, then the per-feature guides in the sibling directories (`skills/loader`, `skills/caching`, `skills/middleware`, etc.). If your harness supports slash-command skills, `/rango` is the same document.
6
6
 
7
7
  ## Development rules
8
8
 
9
- - Always commit generated files (e.g. `*.gen.ts`) alongside the source changes that produced them.
9
+ - After adding, removing, or renaming routes, run `npx rango generate src/` and commit the regenerated `*.gen.ts` files alongside the source change.
10
+
11
+ ## Contributing
12
+
13
+ This package is developed in the monorepo at https://github.com/ivogt/vite-rsc. If you are contributing there rather than consuming the published package, read the root `AGENTS.md` in that repo for the pre-push gate and e2e rules — they apply to the monorepo, not to consumer apps.