react-router 7.15.1 → 8.3.0

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 (364) hide show
  1. package/CHANGELOG.md +181 -2
  2. package/dist/development/dom-export.d.ts +6 -172
  3. package/dist/development/dom-export.js +12 -1007
  4. package/dist/development/index-react-server-client.d.ts +7 -4
  5. package/dist/development/index-react-server-client.js +8 -52
  6. package/dist/development/index-react-server.d.ts +1789 -1657
  7. package/dist/development/index-react-server.js +3074 -3674
  8. package/dist/development/index.d.ts +41 -1469
  9. package/dist/development/index.js +36 -2621
  10. package/dist/development/lib/actions.js +50 -0
  11. package/dist/development/lib/components.d.ts +1030 -0
  12. package/dist/development/lib/components.js +841 -0
  13. package/dist/development/lib/context.d.ts +83 -0
  14. package/dist/development/lib/context.js +41 -0
  15. package/dist/development/lib/dom/dom.d.ts +119 -0
  16. package/dist/development/lib/dom/dom.js +143 -0
  17. package/dist/development/lib/dom/lib.d.ts +2054 -0
  18. package/dist/development/lib/dom/lib.js +1272 -0
  19. package/dist/development/lib/dom/server.d.ts +138 -0
  20. package/dist/development/lib/dom/server.js +301 -0
  21. package/dist/development/lib/dom/ssr/components.d.ts +198 -0
  22. package/dist/development/lib/dom/ssr/components.js +589 -0
  23. package/dist/development/lib/dom/ssr/data.js +29 -0
  24. package/dist/development/lib/dom/ssr/entry.d.ts +60 -0
  25. package/dist/development/lib/dom/ssr/errorBoundaries.d.ts +27 -0
  26. package/dist/development/lib/dom/ssr/errorBoundaries.js +87 -0
  27. package/dist/development/lib/dom/ssr/fallback.js +33 -0
  28. package/dist/development/lib/dom/ssr/fog-of-war.d.ts +12 -0
  29. package/dist/development/lib/dom/ssr/fog-of-war.js +185 -0
  30. package/dist/development/lib/dom/ssr/hydration.d.ts +32 -0
  31. package/dist/development/lib/dom/ssr/hydration.js +29 -0
  32. package/dist/development/lib/dom/ssr/invariant.js +16 -0
  33. package/dist/development/lib/dom/ssr/links.js +170 -0
  34. package/dist/development/lib/dom/ssr/markup.js +24 -0
  35. package/dist/development/lib/dom/ssr/routeModules.d.ts +206 -0
  36. package/dist/development/lib/dom/ssr/routeModules.js +31 -0
  37. package/dist/development/lib/dom/ssr/routes-test-stub.d.ts +75 -0
  38. package/dist/development/lib/dom/ssr/routes-test-stub.js +121 -0
  39. package/dist/development/lib/dom/ssr/routes.d.ts +33 -0
  40. package/dist/development/lib/dom/ssr/routes.js +303 -0
  41. package/dist/development/lib/dom/ssr/server.d.ts +48 -0
  42. package/dist/development/lib/dom/ssr/server.js +69 -0
  43. package/dist/development/lib/dom/ssr/single-fetch.d.ts +14 -0
  44. package/dist/development/lib/dom/ssr/single-fetch.js +345 -0
  45. package/dist/development/lib/dom-export/dom-router-provider.d.ts +9 -0
  46. package/dist/development/lib/dom-export/dom-router-provider.js +22 -0
  47. package/dist/development/lib/dom-export/hydrated-router.d.ts +125 -0
  48. package/dist/development/lib/dom-export/hydrated-router.js +150 -0
  49. package/dist/development/lib/errors.js +29 -0
  50. package/dist/development/lib/hooks.d.ts +974 -0
  51. package/dist/development/lib/hooks.js +1415 -0
  52. package/dist/development/lib/href.d.ts +36 -0
  53. package/dist/development/lib/href.js +70 -0
  54. package/dist/development/lib/router/history.d.ts +264 -0
  55. package/dist/development/lib/router/history.js +378 -0
  56. package/dist/development/lib/router/instrumentation.d.ts +111 -0
  57. package/dist/development/lib/router/instrumentation.js +290 -0
  58. package/dist/development/lib/router/links.d.ts +114 -0
  59. package/dist/development/lib/router/router.d.ts +663 -0
  60. package/dist/development/lib/router/router.js +2988 -0
  61. package/dist/development/lib/router/url.js +18 -0
  62. package/dist/development/lib/router/utils.d.ts +960 -0
  63. package/dist/development/lib/router/utils.js +881 -0
  64. package/dist/development/lib/rsc/browser.d.ts +137 -0
  65. package/dist/development/lib/rsc/browser.js +612 -0
  66. package/dist/development/lib/rsc/errorBoundaries.d.ts +11 -0
  67. package/dist/development/lib/rsc/errorBoundaries.js +90 -0
  68. package/dist/development/lib/rsc/html-stream/browser.d.ts +48 -0
  69. package/dist/development/lib/rsc/html-stream/browser.js +74 -0
  70. package/dist/development/lib/rsc/html-stream/server.js +97 -0
  71. package/dist/development/lib/rsc/route-modules.js +27 -0
  72. package/dist/development/lib/rsc/server.rsc.d.ts +224 -0
  73. package/dist/development/lib/rsc/server.ssr.d.ts +152 -0
  74. package/dist/development/lib/rsc/server.ssr.js +419 -0
  75. package/dist/development/lib/server-runtime/build.d.ts +66 -0
  76. package/dist/development/lib/server-runtime/cookies.d.ts +92 -0
  77. package/dist/development/lib/server-runtime/cookies.js +153 -0
  78. package/dist/development/lib/server-runtime/crypto.js +43 -0
  79. package/dist/development/lib/server-runtime/data.js +25 -0
  80. package/dist/development/lib/server-runtime/dev.d.ts +9 -0
  81. package/dist/development/lib/server-runtime/dev.js +26 -0
  82. package/dist/development/lib/server-runtime/entry.js +20 -0
  83. package/dist/development/lib/server-runtime/errors.js +75 -0
  84. package/dist/development/lib/server-runtime/headers.js +73 -0
  85. package/dist/development/lib/server-runtime/invariant.js +19 -0
  86. package/dist/development/lib/server-runtime/mode.d.ts +12 -0
  87. package/dist/development/lib/server-runtime/mode.js +25 -0
  88. package/dist/development/lib/server-runtime/routeMatching.js +28 -0
  89. package/dist/development/lib/server-runtime/routes.d.ts +13 -0
  90. package/dist/development/lib/server-runtime/routes.js +74 -0
  91. package/dist/development/lib/server-runtime/server.d.ts +22 -0
  92. package/dist/development/lib/server-runtime/server.js +364 -0
  93. package/dist/development/lib/server-runtime/serverHandoff.js +17 -0
  94. package/dist/development/lib/server-runtime/sessions/cookieStorage.d.ts +33 -0
  95. package/dist/development/lib/server-runtime/sessions/cookieStorage.js +53 -0
  96. package/dist/development/lib/server-runtime/sessions/memoryStorage.d.ts +29 -0
  97. package/dist/development/lib/server-runtime/sessions/memoryStorage.js +58 -0
  98. package/dist/development/lib/server-runtime/sessions.d.ts +174 -0
  99. package/dist/development/lib/server-runtime/sessions.js +115 -0
  100. package/dist/development/lib/server-runtime/single-fetch.d.ts +7 -0
  101. package/dist/development/lib/server-runtime/single-fetch.js +215 -0
  102. package/dist/development/lib/server-runtime/urls.js +28 -0
  103. package/dist/development/lib/server-runtime/warnings.js +20 -0
  104. package/dist/development/lib/types/future.d.ts +9 -0
  105. package/dist/development/lib/types/internal.d.ts +26 -177
  106. package/dist/development/lib/types/internal.js +3 -2
  107. package/dist/{production/register-Bsscfj79.d.ts → development/lib/types/register.d.ts} +9 -15
  108. package/dist/development/lib/types/route-data.d.ts +113 -0
  109. package/dist/development/lib/types/route-module-annotations.d.ts +149 -0
  110. package/dist/development/lib/types/route-module.d.ts +19 -0
  111. package/dist/development/lib/types/serializes-to.d.ts +13 -0
  112. package/dist/development/lib/types/utils.d.ts +11 -0
  113. package/dist/development/vendor/turbo-stream-v2/flatten.js +159 -0
  114. package/dist/development/vendor/turbo-stream-v2/turbo-stream.js +179 -0
  115. package/dist/development/vendor/turbo-stream-v2/unflatten.js +199 -0
  116. package/dist/development/vendor/turbo-stream-v2/utils.js +39 -0
  117. package/dist/production/dom-export.d.ts +6 -172
  118. package/dist/production/dom-export.js +12 -1007
  119. package/dist/production/index-react-server-client.d.ts +7 -4
  120. package/dist/production/index-react-server-client.js +8 -52
  121. package/dist/production/index-react-server.d.ts +1789 -1657
  122. package/dist/production/index-react-server.js +3065 -3674
  123. package/dist/production/index.d.ts +41 -1469
  124. package/dist/production/index.js +36 -2621
  125. package/dist/production/lib/actions.js +50 -0
  126. package/dist/production/lib/components.d.ts +1030 -0
  127. package/dist/production/lib/components.js +841 -0
  128. package/dist/production/lib/context.d.ts +83 -0
  129. package/dist/production/lib/context.js +41 -0
  130. package/dist/production/lib/dom/dom.d.ts +119 -0
  131. package/dist/production/lib/dom/dom.js +143 -0
  132. package/dist/production/lib/dom/lib.d.ts +2054 -0
  133. package/dist/production/lib/dom/lib.js +1272 -0
  134. package/dist/production/lib/dom/server.d.ts +138 -0
  135. package/dist/production/lib/dom/server.js +301 -0
  136. package/dist/production/lib/dom/ssr/components.d.ts +198 -0
  137. package/dist/production/lib/dom/ssr/components.js +589 -0
  138. package/dist/production/lib/dom/ssr/data.js +29 -0
  139. package/dist/production/lib/dom/ssr/entry.d.ts +60 -0
  140. package/dist/production/lib/dom/ssr/errorBoundaries.d.ts +27 -0
  141. package/dist/production/lib/dom/ssr/errorBoundaries.js +87 -0
  142. package/dist/production/lib/dom/ssr/fallback.js +23 -0
  143. package/dist/production/lib/dom/ssr/fog-of-war.d.ts +12 -0
  144. package/dist/production/lib/dom/ssr/fog-of-war.js +185 -0
  145. package/dist/production/lib/dom/ssr/hydration.d.ts +32 -0
  146. package/dist/production/lib/dom/ssr/hydration.js +29 -0
  147. package/dist/production/lib/dom/ssr/invariant.js +16 -0
  148. package/dist/production/lib/dom/ssr/links.js +170 -0
  149. package/dist/production/lib/dom/ssr/markup.js +24 -0
  150. package/dist/production/lib/dom/ssr/routeModules.d.ts +206 -0
  151. package/dist/production/lib/dom/ssr/routeModules.js +31 -0
  152. package/dist/production/lib/dom/ssr/routes-test-stub.d.ts +75 -0
  153. package/dist/production/lib/dom/ssr/routes-test-stub.js +121 -0
  154. package/dist/production/lib/dom/ssr/routes.d.ts +33 -0
  155. package/dist/production/lib/dom/ssr/routes.js +303 -0
  156. package/dist/production/lib/dom/ssr/server.d.ts +48 -0
  157. package/dist/production/lib/dom/ssr/server.js +69 -0
  158. package/dist/production/lib/dom/ssr/single-fetch.d.ts +14 -0
  159. package/dist/production/lib/dom/ssr/single-fetch.js +345 -0
  160. package/dist/production/lib/dom-export/dom-router-provider.d.ts +9 -0
  161. package/dist/production/lib/dom-export/dom-router-provider.js +22 -0
  162. package/dist/production/lib/dom-export/hydrated-router.d.ts +125 -0
  163. package/dist/production/lib/dom-export/hydrated-router.js +150 -0
  164. package/dist/production/lib/errors.js +29 -0
  165. package/dist/production/lib/hooks.d.ts +974 -0
  166. package/dist/production/lib/hooks.js +1400 -0
  167. package/dist/production/lib/href.d.ts +36 -0
  168. package/dist/production/lib/href.js +70 -0
  169. package/dist/production/lib/router/history.d.ts +264 -0
  170. package/dist/production/lib/router/history.js +378 -0
  171. package/dist/production/lib/router/instrumentation.d.ts +111 -0
  172. package/dist/production/lib/router/instrumentation.js +290 -0
  173. package/dist/production/lib/router/links.d.ts +114 -0
  174. package/dist/production/lib/router/router.d.ts +663 -0
  175. package/dist/production/lib/router/router.js +2988 -0
  176. package/dist/production/lib/router/url.js +18 -0
  177. package/dist/production/lib/router/utils.d.ts +960 -0
  178. package/dist/production/lib/router/utils.js +872 -0
  179. package/dist/production/lib/rsc/browser.d.ts +137 -0
  180. package/dist/production/lib/rsc/browser.js +612 -0
  181. package/dist/production/lib/rsc/errorBoundaries.d.ts +11 -0
  182. package/dist/production/lib/rsc/errorBoundaries.js +90 -0
  183. package/dist/production/lib/rsc/html-stream/browser.d.ts +48 -0
  184. package/dist/production/lib/rsc/html-stream/browser.js +74 -0
  185. package/dist/production/lib/rsc/html-stream/server.js +97 -0
  186. package/dist/production/lib/rsc/route-modules.js +27 -0
  187. package/dist/production/lib/rsc/server.rsc.d.ts +224 -0
  188. package/dist/production/lib/rsc/server.ssr.d.ts +152 -0
  189. package/dist/production/lib/rsc/server.ssr.js +419 -0
  190. package/dist/production/lib/server-runtime/build.d.ts +66 -0
  191. package/dist/production/lib/server-runtime/cookies.d.ts +92 -0
  192. package/dist/production/lib/server-runtime/cookies.js +153 -0
  193. package/dist/production/lib/server-runtime/crypto.js +43 -0
  194. package/dist/production/lib/server-runtime/data.js +25 -0
  195. package/dist/production/lib/server-runtime/dev.d.ts +9 -0
  196. package/dist/production/lib/server-runtime/dev.js +26 -0
  197. package/dist/production/lib/server-runtime/entry.js +20 -0
  198. package/dist/production/lib/server-runtime/errors.js +75 -0
  199. package/dist/production/lib/server-runtime/headers.js +73 -0
  200. package/dist/production/lib/server-runtime/invariant.js +19 -0
  201. package/dist/production/lib/server-runtime/mode.d.ts +12 -0
  202. package/dist/production/lib/server-runtime/mode.js +25 -0
  203. package/dist/production/lib/server-runtime/routeMatching.js +28 -0
  204. package/dist/production/lib/server-runtime/routes.d.ts +13 -0
  205. package/dist/production/lib/server-runtime/routes.js +74 -0
  206. package/dist/production/lib/server-runtime/server.d.ts +22 -0
  207. package/dist/production/lib/server-runtime/server.js +364 -0
  208. package/dist/production/lib/server-runtime/serverHandoff.js +17 -0
  209. package/dist/production/lib/server-runtime/sessions/cookieStorage.d.ts +33 -0
  210. package/dist/production/lib/server-runtime/sessions/cookieStorage.js +53 -0
  211. package/dist/production/lib/server-runtime/sessions/memoryStorage.d.ts +29 -0
  212. package/dist/production/lib/server-runtime/sessions/memoryStorage.js +58 -0
  213. package/dist/production/lib/server-runtime/sessions.d.ts +174 -0
  214. package/dist/production/lib/server-runtime/sessions.js +115 -0
  215. package/dist/production/lib/server-runtime/single-fetch.d.ts +7 -0
  216. package/dist/production/lib/server-runtime/single-fetch.js +215 -0
  217. package/dist/production/lib/server-runtime/urls.js +28 -0
  218. package/dist/production/lib/server-runtime/warnings.js +20 -0
  219. package/dist/production/lib/types/future.d.ts +9 -0
  220. package/dist/production/lib/types/internal.d.ts +26 -177
  221. package/dist/production/lib/types/internal.js +3 -2
  222. package/dist/{development/register-Bsscfj79.d.ts → production/lib/types/register.d.ts} +9 -15
  223. package/dist/production/lib/types/route-data.d.ts +113 -0
  224. package/dist/production/lib/types/route-module-annotations.d.ts +149 -0
  225. package/dist/production/lib/types/route-module.d.ts +19 -0
  226. package/dist/production/lib/types/serializes-to.d.ts +13 -0
  227. package/dist/production/lib/types/utils.d.ts +11 -0
  228. package/dist/production/vendor/turbo-stream-v2/flatten.js +159 -0
  229. package/dist/production/vendor/turbo-stream-v2/turbo-stream.js +179 -0
  230. package/dist/production/vendor/turbo-stream-v2/unflatten.js +199 -0
  231. package/dist/production/vendor/turbo-stream-v2/utils.js +39 -0
  232. package/docs/explanation/backend-for-frontend.md +50 -0
  233. package/docs/explanation/code-splitting.md +77 -0
  234. package/docs/explanation/concurrency.md +135 -0
  235. package/docs/explanation/form-vs-fetcher.md +292 -0
  236. package/docs/explanation/hot-module-replacement.md +137 -0
  237. package/docs/explanation/hydration.md +14 -0
  238. package/docs/explanation/index-query-param.md +86 -0
  239. package/docs/explanation/index.md +4 -0
  240. package/docs/explanation/lazy-route-discovery.md +78 -0
  241. package/docs/explanation/location.md +6 -0
  242. package/docs/explanation/progressive-enhancement.md +150 -0
  243. package/docs/explanation/race-conditions.md +88 -0
  244. package/docs/explanation/react-transitions.md +160 -0
  245. package/docs/explanation/route-matching.md +7 -0
  246. package/docs/explanation/server-client-execution.md +4 -0
  247. package/docs/explanation/sessions-and-cookies.md +465 -0
  248. package/docs/explanation/special-files.md +16 -0
  249. package/docs/explanation/state-management.md +524 -0
  250. package/docs/explanation/styling.md +87 -0
  251. package/docs/explanation/type-safety.md +82 -0
  252. package/docs/how-to/accessibility.md +44 -0
  253. package/docs/how-to/client-data.md +199 -0
  254. package/docs/how-to/data-strategy.md +317 -0
  255. package/docs/how-to/error-boundary.md +231 -0
  256. package/docs/how-to/error-reporting.md +142 -0
  257. package/docs/how-to/fetchers.md +307 -0
  258. package/docs/how-to/file-route-conventions.md +410 -0
  259. package/docs/how-to/file-uploads.md +217 -0
  260. package/docs/how-to/form-validation.md +120 -0
  261. package/docs/how-to/headers.md +165 -0
  262. package/docs/how-to/index.md +4 -0
  263. package/docs/how-to/instrumentation.md +661 -0
  264. package/docs/how-to/meta.md +40 -0
  265. package/docs/how-to/middleware.md +647 -0
  266. package/docs/how-to/navigation-blocking.md +233 -0
  267. package/docs/how-to/optimize-revalidation.md +12 -0
  268. package/docs/how-to/pre-rendering.md +225 -0
  269. package/docs/how-to/presets.md +103 -0
  270. package/docs/how-to/react-server-components.md +951 -0
  271. package/docs/how-to/resource-routes.md +126 -0
  272. package/docs/how-to/route-module-type-safety.md +85 -0
  273. package/docs/how-to/search-params.md +4 -0
  274. package/docs/how-to/security.md +39 -0
  275. package/docs/how-to/server-bundles.md +66 -0
  276. package/docs/how-to/spa.md +120 -0
  277. package/docs/how-to/status.md +63 -0
  278. package/docs/how-to/suspense.md +132 -0
  279. package/docs/how-to/using-handle.md +117 -0
  280. package/docs/how-to/view-transitions.md +237 -0
  281. package/docs/how-to/webhook.md +50 -0
  282. package/docs/index.md +36 -0
  283. package/docs/start/data/actions.md +138 -0
  284. package/docs/start/data/custom.md +198 -0
  285. package/docs/start/data/data-loading.md +44 -0
  286. package/docs/start/data/index.md +4 -0
  287. package/docs/start/data/installation.md +56 -0
  288. package/docs/start/data/navigating.md +12 -0
  289. package/docs/start/data/pending-ui.md +12 -0
  290. package/docs/start/data/route-object.md +268 -0
  291. package/docs/start/data/routing.md +281 -0
  292. package/docs/start/data/testing.md +8 -0
  293. package/docs/start/declarative/index.md +4 -0
  294. package/docs/start/declarative/installation.md +43 -0
  295. package/docs/start/declarative/navigating.md +133 -0
  296. package/docs/start/declarative/routing.md +237 -0
  297. package/docs/start/declarative/url-values.md +65 -0
  298. package/docs/start/framework/actions.md +174 -0
  299. package/docs/start/framework/data-loading.md +201 -0
  300. package/docs/start/framework/deploying.md +104 -0
  301. package/docs/start/framework/index.md +4 -0
  302. package/docs/start/framework/installation.md +41 -0
  303. package/docs/start/framework/navigating.md +182 -0
  304. package/docs/start/framework/pending-ui.md +142 -0
  305. package/docs/start/framework/rendering.md +59 -0
  306. package/docs/start/framework/route-module.md +527 -0
  307. package/docs/start/framework/routing.md +362 -0
  308. package/docs/start/framework/testing.md +133 -0
  309. package/docs/start/index.md +4 -0
  310. package/docs/start/modes.md +200 -0
  311. package/docs/upgrading/component-routes.md +363 -0
  312. package/docs/upgrading/future.md +111 -0
  313. package/docs/upgrading/index.md +4 -0
  314. package/docs/upgrading/router-provider.md +445 -0
  315. package/docs/upgrading/v7.md +460 -0
  316. package/package.json +44 -87
  317. package/dist/development/browser-3AnU12UI.d.mts +0 -318
  318. package/dist/development/browser-BOdXz9dK.d.ts +0 -318
  319. package/dist/development/chunk-4N6VE7H7.mjs +0 -11528
  320. package/dist/development/chunk-4YRVXM2U.js +0 -188
  321. package/dist/development/chunk-66UKHEGQ.js +0 -1362
  322. package/dist/development/chunk-D6LUOGOQ.js +0 -10229
  323. package/dist/development/chunk-RJYABSBD.mjs +0 -2585
  324. package/dist/development/context-ByvtofY2.d.mts +0 -1771
  325. package/dist/development/data-BVUf681J.d.mts +0 -1732
  326. package/dist/development/data-BqZ2x964.d.ts +0 -1732
  327. package/dist/development/dom-export.d.mts +0 -172
  328. package/dist/development/dom-export.mjs +0 -1008
  329. package/dist/development/index-react-server-client-BS5F89FR.d.ts +0 -3655
  330. package/dist/development/index-react-server-client-DY04-103.d.mts +0 -2600
  331. package/dist/development/index-react-server-client.d.mts +0 -4
  332. package/dist/development/index-react-server-client.mjs +0 -59
  333. package/dist/development/index-react-server.d.mts +0 -2703
  334. package/dist/development/index-react-server.mjs +0 -3780
  335. package/dist/development/index.d.mts +0 -1472
  336. package/dist/development/index.mjs +0 -277
  337. package/dist/development/instrumentation-cRWWLfsU.d.ts +0 -715
  338. package/dist/development/lib/types/internal.d.mts +0 -184
  339. package/dist/development/lib/types/internal.mjs +0 -10
  340. package/dist/development/register-Df8okEea.d.mts +0 -30
  341. package/dist/production/browser-3AnU12UI.d.mts +0 -318
  342. package/dist/production/browser-BOdXz9dK.d.ts +0 -318
  343. package/dist/production/chunk-6S4627ZB.mjs +0 -2585
  344. package/dist/production/chunk-HUBUW7R3.js +0 -10229
  345. package/dist/production/chunk-JAKZPQZC.mjs +0 -11528
  346. package/dist/production/chunk-PNZCCTKT.js +0 -1362
  347. package/dist/production/chunk-Y6IFXO7V.js +0 -188
  348. package/dist/production/context-ByvtofY2.d.mts +0 -1771
  349. package/dist/production/data-BVUf681J.d.mts +0 -1732
  350. package/dist/production/data-BqZ2x964.d.ts +0 -1732
  351. package/dist/production/dom-export.d.mts +0 -172
  352. package/dist/production/dom-export.mjs +0 -1008
  353. package/dist/production/index-react-server-client-BS5F89FR.d.ts +0 -3655
  354. package/dist/production/index-react-server-client-DY04-103.d.mts +0 -2600
  355. package/dist/production/index-react-server-client.d.mts +0 -4
  356. package/dist/production/index-react-server-client.mjs +0 -59
  357. package/dist/production/index-react-server.d.mts +0 -2703
  358. package/dist/production/index-react-server.mjs +0 -3780
  359. package/dist/production/index.d.mts +0 -1472
  360. package/dist/production/index.mjs +0 -277
  361. package/dist/production/instrumentation-cRWWLfsU.d.ts +0 -715
  362. package/dist/production/lib/types/internal.d.mts +0 -184
  363. package/dist/production/lib/types/internal.mjs +0 -10
  364. package/dist/production/register-Df8okEea.d.mts +0 -30
@@ -0,0 +1,90 @@
1
+ /**
2
+ * react-router v8.3.0
3
+ *
4
+ * Copyright (c) Remix Software Inc.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */
11
+ import { isRouteErrorResponse } from "../router/utils.js";
12
+ import { useRouteError } from "../hooks.js";
13
+ import React from "react";
14
+ //#region lib/rsc/errorBoundaries.tsx
15
+ var RSCRouterGlobalErrorBoundary = class extends React.Component {
16
+ constructor(props) {
17
+ super(props);
18
+ this.state = {
19
+ error: null,
20
+ location: props.location
21
+ };
22
+ }
23
+ static getDerivedStateFromError(error) {
24
+ return { error };
25
+ }
26
+ static getDerivedStateFromProps(props, state) {
27
+ if (state.location !== props.location) return {
28
+ error: null,
29
+ location: props.location
30
+ };
31
+ return {
32
+ error: state.error,
33
+ location: state.location
34
+ };
35
+ }
36
+ render() {
37
+ if (this.state.error) return /* @__PURE__ */ React.createElement(RSCDefaultRootErrorBoundaryImpl, {
38
+ error: this.state.error,
39
+ renderAppShell: true
40
+ });
41
+ else return this.props.children;
42
+ }
43
+ };
44
+ function ErrorWrapper({ renderAppShell, title, children }) {
45
+ if (!renderAppShell) return children;
46
+ return /* @__PURE__ */ React.createElement("html", { lang: "en" }, /* @__PURE__ */ React.createElement("head", null, /* @__PURE__ */ React.createElement("meta", { charSet: "utf-8" }), /* @__PURE__ */ React.createElement("meta", {
47
+ name: "viewport",
48
+ content: "width=device-width,initial-scale=1,viewport-fit=cover"
49
+ }), /* @__PURE__ */ React.createElement("title", null, title)), /* @__PURE__ */ React.createElement("body", null, /* @__PURE__ */ React.createElement("main", { style: {
50
+ fontFamily: "system-ui, sans-serif",
51
+ padding: "2rem"
52
+ } }, children)));
53
+ }
54
+ function RSCDefaultRootErrorBoundaryImpl({ error, renderAppShell }) {
55
+ console.error(error);
56
+ let heyDeveloper = /* @__PURE__ */ React.createElement("script", { dangerouslySetInnerHTML: { __html: `
57
+ console.log(
58
+ "💿 Hey developer 👋. You can provide a way better UX than this when your app throws errors. Check out https://reactrouter.com/how-to/error-boundary for more information."
59
+ );
60
+ ` } });
61
+ if (isRouteErrorResponse(error)) return /* @__PURE__ */ React.createElement(ErrorWrapper, {
62
+ renderAppShell,
63
+ title: "Unhandled Thrown Response!"
64
+ }, /* @__PURE__ */ React.createElement("h1", { style: { fontSize: "24px" } }, error.status, " ", error.statusText), heyDeveloper);
65
+ let errorInstance;
66
+ if (error instanceof Error) errorInstance = error;
67
+ else {
68
+ let errorString = error == null ? "Unknown Error" : typeof error === "object" && "toString" in error ? error.toString() : JSON.stringify(error);
69
+ errorInstance = new Error(errorString);
70
+ }
71
+ return /* @__PURE__ */ React.createElement(ErrorWrapper, {
72
+ renderAppShell,
73
+ title: "Application Error!"
74
+ }, /* @__PURE__ */ React.createElement("h1", { style: { fontSize: "24px" } }, "Application Error"), /* @__PURE__ */ React.createElement("pre", { style: {
75
+ padding: "2rem",
76
+ background: "hsla(10, 50%, 50%, 0.1)",
77
+ color: "red",
78
+ overflow: "auto"
79
+ } }, errorInstance.stack), heyDeveloper);
80
+ }
81
+ function RSCDefaultRootErrorBoundary({ hasRootLayout }) {
82
+ let error = useRouteError();
83
+ if (hasRootLayout === void 0) throw new Error("Missing 'hasRootLayout' prop");
84
+ return /* @__PURE__ */ React.createElement(RSCDefaultRootErrorBoundaryImpl, {
85
+ renderAppShell: !hasRootLayout,
86
+ error
87
+ });
88
+ }
89
+ //#endregion
90
+ export { RSCDefaultRootErrorBoundary, RSCRouterGlobalErrorBoundary };
@@ -0,0 +1,48 @@
1
+
2
+ //#region lib/rsc/html-stream/browser.d.ts
3
+ declare global {
4
+ interface Window {
5
+ __FLIGHT_DATA: any[];
6
+ }
7
+ }
8
+ /**
9
+ * Get the prerendered [RSC](https://react.dev/reference/rsc/server-components)
10
+ * stream for hydration. Usually passed directly to your
11
+ * `react-server-dom-xyz/client`'s `createFromReadableStream`.
12
+ *
13
+ * @example
14
+ * import { startTransition, StrictMode } from "react";
15
+ * import { hydrateRoot } from "react-dom/client";
16
+ * import {
17
+ * unstable_getRSCStream as getRSCStream,
18
+ * unstable_RSCHydratedRouter as RSCHydratedRouter,
19
+ * } from "react-router";
20
+ * import type { unstable_RSCPayload as RSCPayload } from "react-router";
21
+ *
22
+ * createFromReadableStream(getRSCStream()).then(
23
+ * (payload: RSCServerPayload) => {
24
+ * startTransition(async () => {
25
+ * hydrateRoot(
26
+ * document,
27
+ * <StrictMode>
28
+ * <RSCHydratedRouter {...props} />
29
+ * </StrictMode>,
30
+ * {
31
+ * // Options
32
+ * }
33
+ * );
34
+ * });
35
+ * }
36
+ * );
37
+ *
38
+ * @name unstable_getRSCStream
39
+ * @public
40
+ * @category RSC
41
+ * @mode data
42
+ * @returns A [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream)
43
+ * that contains the [RSC](https://react.dev/reference/rsc/server-components)
44
+ * data for hydration.
45
+ */
46
+ declare function getRSCStream(): ReadableStream;
47
+ //#endregion
48
+ export { getRSCStream };
@@ -0,0 +1,74 @@
1
+ /**
2
+ * react-router v8.3.0
3
+ *
4
+ * Copyright (c) Remix Software Inc.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */
11
+ //#region lib/rsc/html-stream/browser.ts
12
+ /**
13
+ * Get the prerendered [RSC](https://react.dev/reference/rsc/server-components)
14
+ * stream for hydration. Usually passed directly to your
15
+ * `react-server-dom-xyz/client`'s `createFromReadableStream`.
16
+ *
17
+ * @example
18
+ * import { startTransition, StrictMode } from "react";
19
+ * import { hydrateRoot } from "react-dom/client";
20
+ * import {
21
+ * unstable_getRSCStream as getRSCStream,
22
+ * unstable_RSCHydratedRouter as RSCHydratedRouter,
23
+ * } from "react-router";
24
+ * import type { unstable_RSCPayload as RSCPayload } from "react-router";
25
+ *
26
+ * createFromReadableStream(getRSCStream()).then(
27
+ * (payload: RSCServerPayload) => {
28
+ * startTransition(async () => {
29
+ * hydrateRoot(
30
+ * document,
31
+ * <StrictMode>
32
+ * <RSCHydratedRouter {...props} />
33
+ * </StrictMode>,
34
+ * {
35
+ * // Options
36
+ * }
37
+ * );
38
+ * });
39
+ * }
40
+ * );
41
+ *
42
+ * @name unstable_getRSCStream
43
+ * @public
44
+ * @category RSC
45
+ * @mode data
46
+ * @returns A [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream)
47
+ * that contains the [RSC](https://react.dev/reference/rsc/server-components)
48
+ * data for hydration.
49
+ */
50
+ function getRSCStream() {
51
+ let encoder = new TextEncoder();
52
+ let streamController = null;
53
+ let rscStream = new ReadableStream({ start(controller) {
54
+ if (typeof window === "undefined") return;
55
+ let handleChunk = (chunk) => {
56
+ if (typeof chunk === "string") controller.enqueue(encoder.encode(chunk));
57
+ else controller.enqueue(chunk);
58
+ };
59
+ window.__FLIGHT_DATA ||= [];
60
+ window.__FLIGHT_DATA.forEach(handleChunk);
61
+ window.__FLIGHT_DATA.push = (chunk) => {
62
+ handleChunk(chunk);
63
+ return 0;
64
+ };
65
+ streamController = controller;
66
+ } });
67
+ if (typeof document !== "undefined" && document.readyState === "loading") document.addEventListener("DOMContentLoaded", () => {
68
+ streamController?.close();
69
+ });
70
+ else streamController?.close();
71
+ return rscStream;
72
+ }
73
+ //#endregion
74
+ export { getRSCStream };
@@ -0,0 +1,97 @@
1
+ /**
2
+ * react-router v8.3.0
3
+ *
4
+ * Copyright (c) Remix Software Inc.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */
11
+ //#region lib/rsc/html-stream/server.ts
12
+ const encoder = new TextEncoder();
13
+ const trailer = "</body></html>";
14
+ function injectRSCPayload(rscStream, { nonce } = {}) {
15
+ let decoder = new TextDecoder();
16
+ let resolveFlightDataPromise;
17
+ let flightDataPromise = new Promise((resolve) => resolveFlightDataPromise = resolve);
18
+ let startedRSC = false;
19
+ let cancelled = false;
20
+ let rscReader = null;
21
+ let buffered = [];
22
+ let timeout = null;
23
+ function flushBufferedChunks(controller) {
24
+ for (let chunk of buffered) {
25
+ let buf = decoder.decode(chunk, { stream: true });
26
+ if (buf.endsWith(trailer)) buf = buf.slice(0, -14);
27
+ controller.enqueue(encoder.encode(buf));
28
+ }
29
+ buffered.length = 0;
30
+ timeout = null;
31
+ }
32
+ return new TransformStream({
33
+ transform(chunk, controller) {
34
+ buffered.push(chunk);
35
+ if (timeout) return;
36
+ timeout = setTimeout(async () => {
37
+ if (cancelled) return;
38
+ flushBufferedChunks(controller);
39
+ if (!startedRSC) {
40
+ startedRSC = true;
41
+ rscReader = rscStream.getReader();
42
+ writeRSCStream(rscReader, controller, () => cancelled, nonce).catch((err) => controller.error(err)).then(resolveFlightDataPromise);
43
+ }
44
+ }, 0);
45
+ },
46
+ async flush(controller) {
47
+ await flightDataPromise;
48
+ if (timeout) {
49
+ clearTimeout(timeout);
50
+ flushBufferedChunks(controller);
51
+ }
52
+ controller.enqueue(encoder.encode("</body></html>"));
53
+ },
54
+ async cancel(reason) {
55
+ cancelled = true;
56
+ if (timeout) {
57
+ clearTimeout(timeout);
58
+ timeout = null;
59
+ }
60
+ buffered.length = 0;
61
+ if (rscReader) await rscReader.cancel(reason).catch(() => {});
62
+ else await rscStream.cancel(reason).catch(() => {});
63
+ resolveFlightDataPromise();
64
+ }
65
+ });
66
+ }
67
+ async function writeRSCStream(reader, controller, isCancelled, nonce) {
68
+ let decoder = new TextDecoder("utf-8", { fatal: true });
69
+ try {
70
+ let read;
71
+ while ((read = await reader.read()) && !read.done) {
72
+ if (isCancelled()) return;
73
+ const chunk = read.value;
74
+ try {
75
+ writeChunk(JSON.stringify(decoder.decode(chunk, { stream: true })), controller, nonce);
76
+ } catch (e) {
77
+ writeChunk(`Uint8Array.from(atob(${JSON.stringify(btoa(String.fromCodePoint(...chunk)))}), m => m.codePointAt(0))`, controller, nonce);
78
+ }
79
+ }
80
+ } finally {
81
+ reader.releaseLock();
82
+ }
83
+ let remaining = decoder.decode();
84
+ if (remaining.length && !isCancelled()) writeChunk(JSON.stringify(remaining), controller, nonce);
85
+ }
86
+ function writeChunk(chunk, controller, nonce) {
87
+ let nonceAttr = nonce == null ? "" : ` nonce="${escapeAttribute(nonce)}"`;
88
+ controller.enqueue(encoder.encode(`<script${nonceAttr}>${escapeScript(`(self.__FLIGHT_DATA||=[]).push(${chunk})`)}<\/script>`));
89
+ }
90
+ function escapeAttribute(value) {
91
+ return value.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
92
+ }
93
+ function escapeScript(script) {
94
+ return script.replace(/<!--/g, "<\\!--").replace(/<\/(script)/gi, "</\\$1");
95
+ }
96
+ //#endregion
97
+ export { injectRSCPayload };
@@ -0,0 +1,27 @@
1
+ /**
2
+ * react-router v8.3.0
3
+ *
4
+ * Copyright (c) Remix Software Inc.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */
11
+ //#region lib/rsc/route-modules.ts
12
+ function createRSCRouteModules(payload) {
13
+ const routeModules = {};
14
+ for (const match of payload.matches) populateRSCRouteModules(routeModules, match);
15
+ return routeModules;
16
+ }
17
+ function populateRSCRouteModules(routeModules, matches) {
18
+ matches = Array.isArray(matches) ? matches : [matches];
19
+ for (const match of matches) routeModules[match.id] = {
20
+ links: match.links,
21
+ meta: match.meta,
22
+ default: noopComponent
23
+ };
24
+ }
25
+ const noopComponent = () => null;
26
+ //#endregion
27
+ export { createRSCRouteModules, populateRSCRouteModules };
@@ -0,0 +1,224 @@
1
+
2
+ import { Location } from "../router/history.js";
3
+ import { ActionFunction, LoaderFunction, Params, RouterContextProvider, ShouldRevalidateFunction } from "../router/utils.js";
4
+ import { ClientActionFunction, ClientLoaderFunction, HeadersFunction, LinksFunction, MetaFunction } from "../dom/ssr/routeModules.js";
5
+ import * as React$1 from "react";
6
+ import { ReactFormState } from "react-dom/client";
7
+
8
+ //#region lib/rsc/server.rsc.d.ts
9
+ declare function getRequest(): Request;
10
+ type RSCRouteConfigEntryBase = {
11
+ action?: ActionFunction;
12
+ clientAction?: ClientActionFunction;
13
+ clientLoader?: ClientLoaderFunction;
14
+ ErrorBoundary?: React$1.ComponentType<any>;
15
+ handle?: any;
16
+ headers?: HeadersFunction;
17
+ HydrateFallback?: React$1.ComponentType<any>;
18
+ Layout?: React$1.ComponentType<any>;
19
+ links?: LinksFunction;
20
+ loader?: LoaderFunction;
21
+ meta?: MetaFunction;
22
+ shouldRevalidate?: ShouldRevalidateFunction;
23
+ };
24
+ type RSCRouteConfigEntry = RSCRouteConfigEntryBase & {
25
+ id: string;
26
+ path?: string;
27
+ Component?: React$1.ComponentType<any>;
28
+ lazy?: () => Promise<RSCRouteConfigEntryBase & ({
29
+ default?: React$1.ComponentType<any>;
30
+ Component?: never;
31
+ } | {
32
+ default?: never;
33
+ Component?: React$1.ComponentType<any>;
34
+ })>;
35
+ } & ({
36
+ index: true;
37
+ } | {
38
+ children?: RSCRouteConfigEntry[];
39
+ });
40
+ type RSCRouteConfig = Array<RSCRouteConfigEntry>;
41
+ type RSCRouteManifest = {
42
+ clientAction?: ClientActionFunction;
43
+ clientLoader?: ClientLoaderFunction;
44
+ element?: React$1.ReactElement | false;
45
+ errorElement?: React$1.ReactElement;
46
+ handle?: any;
47
+ hasAction: boolean;
48
+ hasComponent: boolean;
49
+ hasLoader: boolean;
50
+ hydrateFallbackElement?: React$1.ReactElement;
51
+ id: string;
52
+ index?: boolean;
53
+ links?: LinksFunction;
54
+ meta?: MetaFunction;
55
+ parentId?: string;
56
+ path?: string;
57
+ shouldRevalidate?: ShouldRevalidateFunction;
58
+ };
59
+ type RSCRouteMatch = RSCRouteManifest & {
60
+ params: Params;
61
+ pathname: string;
62
+ pathnameBase: string;
63
+ };
64
+ type RSCRenderPayload = {
65
+ type: "render";
66
+ actionData: Record<string, any> | null;
67
+ basename: string | undefined;
68
+ clientVersion?: string;
69
+ errors: Record<string, any> | null;
70
+ loaderData: Record<string, any>;
71
+ location: Location;
72
+ routeDiscovery: RouteDiscovery;
73
+ matches: RSCRouteMatch[];
74
+ patches?: Promise<RSCRouteManifest[]>;
75
+ formState?: ReactFormState;
76
+ };
77
+ type RSCManifestPayload = {
78
+ type: "manifest";
79
+ patches: Promise<RSCRouteManifest[]>;
80
+ };
81
+ type RSCActionPayload = {
82
+ type: "action";
83
+ actionResult: Promise<unknown>;
84
+ rerender?: Promise<RSCRenderPayload | RSCRedirectPayload>;
85
+ };
86
+ type RSCRedirectPayload = {
87
+ type: "redirect";
88
+ status: number;
89
+ location: string;
90
+ replace: boolean;
91
+ reload: boolean;
92
+ actionResult?: Promise<unknown>;
93
+ };
94
+ type RSCPayload = RSCRenderPayload | RSCManifestPayload | RSCActionPayload | RSCRedirectPayload;
95
+ type RSCMatch = {
96
+ statusCode: number;
97
+ headers: Headers;
98
+ payload: RSCPayload;
99
+ };
100
+ type DecodeActionFunction = (formData: FormData) => Promise<() => Promise<unknown>>;
101
+ type DecodeFormStateFunction = (result: unknown, formData: FormData) => Promise<ReactFormState | undefined>;
102
+ type DecodeReplyFunction = (reply: FormData | string, options: {
103
+ temporaryReferences: unknown;
104
+ }) => Promise<unknown[]>;
105
+ type LoadServerActionFunction = (id: string) => Promise<Function>;
106
+ type RouteDiscovery = {
107
+ mode: "lazy";
108
+ manifestPath?: string | undefined;
109
+ } | {
110
+ mode: "initial";
111
+ };
112
+ /**
113
+ * Matches the given routes to a [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request)
114
+ * and returns an [RSC](https://react.dev/reference/rsc/server-components)
115
+ * [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)
116
+ * encoding an {@link unstable_RSCPayload} for consumption by an [RSC](https://react.dev/reference/rsc/server-components)
117
+ * enabled client router.
118
+ *
119
+ * @example
120
+ * import {
121
+ * createTemporaryReferenceSet,
122
+ * decodeAction,
123
+ * decodeReply,
124
+ * loadServerAction,
125
+ * renderToReadableStream,
126
+ * } from "@vitejs/plugin-rsc/rsc";
127
+ * import { unstable_matchRSCServerRequest as matchRSCServerRequest } from "react-router";
128
+ *
129
+ * matchRSCServerRequest({
130
+ * createTemporaryReferenceSet,
131
+ * decodeAction,
132
+ * decodeFormState,
133
+ * decodeReply,
134
+ * loadServerAction,
135
+ * request,
136
+ * routes: routes(),
137
+ * generateResponse(match) {
138
+ * return new Response(
139
+ * renderToReadableStream(match.payload),
140
+ * {
141
+ * status: match.statusCode,
142
+ * headers: match.headers,
143
+ * }
144
+ * );
145
+ * },
146
+ * });
147
+ *
148
+ * @name unstable_matchRSCServerRequest
149
+ * @public
150
+ * @category RSC
151
+ * @mode data
152
+ * @param opts Options
153
+ * @param opts.allowedActionOrigins Origin patterns that are allowed to execute actions.
154
+ * @param opts.basename The basename to use when matching the request.
155
+ * @param opts.createTemporaryReferenceSet A function that returns a temporary
156
+ * reference set for the request, used to track temporary references in the [RSC](https://react.dev/reference/rsc/server-components)
157
+ * stream.
158
+ * @param opts.decodeAction Your `react-server-dom-xyz/server`'s `decodeAction`
159
+ * function, responsible for loading a server action.
160
+ * @param opts.decodeFormState A function responsible for decoding form state for
161
+ * progressively enhanceable forms with React's [`useActionState`](https://react.dev/reference/react/useActionState)
162
+ * using your `react-server-dom-xyz/server`'s `decodeFormState`.
163
+ * @param opts.decodeReply Your `react-server-dom-xyz/server`'s `decodeReply`
164
+ * function, used to decode the server function's arguments and bind them to the
165
+ * implementation for invocation by the router.
166
+ * @param opts.generateResponse A function responsible for using your
167
+ * `renderToReadableStream` to generate a [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)
168
+ * encoding the {@link unstable_RSCPayload}.
169
+ * @param opts.loadServerAction Your `react-server-dom-xyz/server`'s
170
+ * `loadServerAction` function, used to load a server action by ID.
171
+ * @param opts.clientVersion A version derived from the client build output used
172
+ * to detect stale clients during lazy route discovery.
173
+ * @param opts.onError An optional error handler that will be called with any
174
+ * errors that occur during the request processing.
175
+ * @param opts.request The [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request)
176
+ * to match against.
177
+ * @param opts.requestContext An instance of {@link RouterContextProvider}
178
+ * that should be created per request, to be passed to [`action`](../../start/data/route-object#action)s,
179
+ * [`loader`](../../start/data/route-object#loader)s and [middleware](../../how-to/middleware).
180
+ * @param opts.routeDiscovery The route discovery configuration, used to determine how the router should discover new routes during navigations.
181
+ * @param opts.routes Your {@link unstable_RSCRouteConfigEntry | route definitions}.
182
+ * @returns A [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)
183
+ * that contains the [RSC](https://react.dev/reference/rsc/server-components)
184
+ * data for hydration.
185
+ */
186
+ declare function matchRSCServerRequest({
187
+ allowedActionOrigins,
188
+ createTemporaryReferenceSet,
189
+ basename,
190
+ decodeReply,
191
+ requestContext,
192
+ routeDiscovery,
193
+ loadServerAction,
194
+ decodeAction,
195
+ decodeFormState,
196
+ clientVersion,
197
+ onError,
198
+ request,
199
+ routes,
200
+ generateResponse
201
+ }: {
202
+ allowedActionOrigins?: string[];
203
+ createTemporaryReferenceSet: () => unknown;
204
+ basename?: string;
205
+ decodeReply?: DecodeReplyFunction;
206
+ decodeAction?: DecodeActionFunction;
207
+ decodeFormState?: DecodeFormStateFunction;
208
+ requestContext?: RouterContextProvider;
209
+ loadServerAction?: LoadServerActionFunction;
210
+ clientVersion?: string;
211
+ onError?: (error: unknown) => void;
212
+ request: Request;
213
+ routes: RSCRouteConfigEntry[];
214
+ routeDiscovery?: RouteDiscovery;
215
+ generateResponse: (match: RSCMatch, {
216
+ onError,
217
+ temporaryReferences
218
+ }: {
219
+ onError(error: unknown): string | undefined;
220
+ temporaryReferences: unknown;
221
+ }) => Response;
222
+ }): Promise<Response>;
223
+ //#endregion
224
+ export { DecodeActionFunction, DecodeFormStateFunction, DecodeReplyFunction, LoadServerActionFunction, RSCManifestPayload, RSCMatch, RSCPayload, RSCRenderPayload, RSCRouteConfig, RSCRouteConfigEntry, RSCRouteManifest, RSCRouteMatch, getRequest, matchRSCServerRequest };