vinext 0.0.54 → 0.1.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 (977) hide show
  1. package/README.md +52 -15
  2. package/dist/build/clean-output.d.ts +1 -2
  3. package/dist/build/clean-output.js +0 -2
  4. package/dist/build/client-build-config.d.ts +16 -3
  5. package/dist/build/client-build-config.js +29 -4
  6. package/dist/build/css-url-assets.d.ts +29 -0
  7. package/dist/build/css-url-assets.js +211 -0
  8. package/dist/build/google-fonts/build-url.d.ts +1 -2
  9. package/dist/build/google-fonts/build-url.js +0 -2
  10. package/dist/build/google-fonts/fallback-metrics-data.js +0 -2
  11. package/dist/build/google-fonts/fallback-metrics.d.ts +1 -2
  12. package/dist/build/google-fonts/fallback-metrics.js +0 -2
  13. package/dist/build/google-fonts/font-data.js +0 -2
  14. package/dist/build/google-fonts/font-metadata.d.ts +1 -2
  15. package/dist/build/google-fonts/font-metadata.js +0 -2
  16. package/dist/build/google-fonts/get-axes.d.ts +1 -2
  17. package/dist/build/google-fonts/get-axes.js +0 -2
  18. package/dist/build/google-fonts/sort-variants.d.ts +1 -2
  19. package/dist/build/google-fonts/sort-variants.js +0 -2
  20. package/dist/build/google-fonts/validate.d.ts +1 -2
  21. package/dist/build/google-fonts/validate.js +0 -2
  22. package/dist/build/inline-css.d.ts +1 -2
  23. package/dist/build/inline-css.js +0 -2
  24. package/dist/build/layout-classification-types.d.ts +1 -2
  25. package/dist/build/layout-classification.d.ts +2 -3
  26. package/dist/build/layout-classification.js +1 -3
  27. package/dist/build/next-client-runtime-manifests.d.ts +14 -0
  28. package/dist/build/next-client-runtime-manifests.js +39 -0
  29. package/dist/build/nitro-route-rules.d.ts +1 -2
  30. package/dist/build/nitro-route-rules.js +0 -2
  31. package/dist/build/precompress.d.ts +1 -2
  32. package/dist/build/precompress.js +0 -2
  33. package/dist/build/prerender.d.ts +2 -3
  34. package/dist/build/prerender.js +14 -2
  35. package/dist/build/report.d.ts +1 -2
  36. package/dist/build/report.js +0 -2
  37. package/dist/build/route-classification-injector.d.ts +1 -2
  38. package/dist/build/route-classification-injector.js +4 -6
  39. package/dist/build/route-classification-manifest.d.ts +5 -6
  40. package/dist/build/route-classification-manifest.js +5 -7
  41. package/dist/build/run-prerender.d.ts +1 -2
  42. package/dist/build/run-prerender.js +15 -7
  43. package/dist/build/server-manifest.d.ts +1 -2
  44. package/dist/build/server-manifest.js +0 -2
  45. package/dist/build/ssr-manifest.d.ts +1 -2
  46. package/dist/build/ssr-manifest.js +2 -4
  47. package/dist/build/standalone.d.ts +1 -2
  48. package/dist/build/standalone.js +0 -2
  49. package/dist/build/static-export.d.ts +2 -3
  50. package/dist/build/static-export.js +0 -2
  51. package/dist/cache/cache-adapters-virtual.d.ts +50 -0
  52. package/dist/cache/cache-adapters-virtual.js +45 -0
  53. package/dist/check.d.ts +33 -2
  54. package/dist/check.js +321 -27
  55. package/dist/cli-args.d.ts +1 -2
  56. package/dist/cli-args.js +0 -2
  57. package/dist/cli.js +7 -13
  58. package/dist/client/instrumentation-client-inject.d.ts +1 -2
  59. package/dist/client/instrumentation-client-inject.js +0 -2
  60. package/dist/client/instrumentation-client-state.d.ts +1 -2
  61. package/dist/client/instrumentation-client-state.js +0 -2
  62. package/dist/client/instrumentation-client.d.ts +1 -2
  63. package/dist/client/instrumentation-client.js +0 -2
  64. package/dist/client/navigation-runtime.d.ts +2 -2
  65. package/dist/client/navigation-runtime.js +1 -3
  66. package/dist/client/pages-router-link-navigation.d.ts +1 -2
  67. package/dist/client/pages-router-link-navigation.js +0 -2
  68. package/dist/client/validate-module-path.d.ts +1 -2
  69. package/dist/client/validate-module-path.js +0 -2
  70. package/dist/client/vinext-next-data.d.ts +1 -2
  71. package/dist/client/vinext-next-data.js +0 -2
  72. package/dist/client/window-next.d.ts +1 -2
  73. package/dist/client/window-next.js +0 -2
  74. package/dist/cloudflare/index.d.ts +1 -1
  75. package/dist/cloudflare/index.js +1 -1
  76. package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +97 -0
  77. package/dist/cloudflare/{kv-cache-handler.d.ts → src/cache/kv-data-adapter.runtime.d.ts} +25 -6
  78. package/dist/cloudflare/{kv-cache-handler.js → src/cache/kv-data-adapter.runtime.js} +36 -28
  79. package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
  80. package/dist/cloudflare/tpr.d.ts +2 -3
  81. package/dist/cloudflare/tpr.js +8 -8
  82. package/dist/config/config-matchers.d.ts +1 -2
  83. package/dist/config/config-matchers.js +0 -2
  84. package/dist/config/dotenv.d.ts +1 -2
  85. package/dist/config/dotenv.js +0 -2
  86. package/dist/config/next-config.d.ts +30 -3
  87. package/dist/config/next-config.js +47 -8
  88. package/dist/config/tsconfig-paths.d.ts +12 -4
  89. package/dist/config/tsconfig-paths.js +58 -31
  90. package/dist/deploy.d.ts +48 -3
  91. package/dist/deploy.js +141 -112
  92. package/dist/entries/app-browser-entry.d.ts +1 -2
  93. package/dist/entries/app-browser-entry.js +0 -2
  94. package/dist/entries/app-rsc-entry.d.ts +6 -5
  95. package/dist/entries/app-rsc-entry.js +62 -61
  96. package/dist/entries/app-rsc-manifest.d.ts +1 -2
  97. package/dist/entries/app-rsc-manifest.js +42 -12
  98. package/dist/entries/app-ssr-entry.d.ts +1 -2
  99. package/dist/entries/app-ssr-entry.js +0 -2
  100. package/dist/entries/pages-client-entry.d.ts +3 -3
  101. package/dist/entries/pages-client-entry.js +16 -5
  102. package/dist/entries/pages-entry-helpers.d.ts +2 -11
  103. package/dist/entries/pages-entry-helpers.js +1 -20
  104. package/dist/entries/pages-server-entry.d.ts +2 -3
  105. package/dist/entries/pages-server-entry.js +94 -670
  106. package/dist/entries/runtime-entry-module.d.ts +1 -2
  107. package/dist/entries/runtime-entry-module.js +0 -2
  108. package/dist/index.d.ts +22 -2
  109. package/dist/index.js +297 -140
  110. package/dist/init.d.ts +1 -2
  111. package/dist/init.js +1 -3
  112. package/dist/plugins/ast-utils.d.ts +20 -0
  113. package/dist/plugins/ast-utils.js +78 -0
  114. package/dist/plugins/async-hooks-stub.d.ts +1 -2
  115. package/dist/plugins/async-hooks-stub.js +0 -2
  116. package/dist/plugins/client-reference-dedup.d.ts +1 -2
  117. package/dist/plugins/client-reference-dedup.js +4 -8
  118. package/dist/plugins/css-data-url.d.ts +1 -2
  119. package/dist/plugins/css-data-url.js +0 -2
  120. package/dist/plugins/fonts.d.ts +13 -3
  121. package/dist/plugins/fonts.js +19 -13
  122. package/dist/plugins/import-meta-url.d.ts +16 -0
  123. package/dist/plugins/import-meta-url.js +347 -0
  124. package/dist/plugins/instrumentation-client.d.ts +1 -2
  125. package/dist/plugins/instrumentation-client.js +0 -2
  126. package/dist/plugins/middleware-server-only.d.ts +1 -2
  127. package/dist/plugins/middleware-server-only.js +0 -2
  128. package/dist/plugins/og-assets.d.ts +32 -8
  129. package/dist/plugins/og-assets.js +126 -34
  130. package/dist/plugins/optimize-imports.d.ts +1 -2
  131. package/dist/plugins/optimize-imports.js +9 -17
  132. package/dist/plugins/postcss.d.ts +1 -2
  133. package/dist/plugins/postcss.js +0 -2
  134. package/dist/plugins/remove-console.d.ts +1 -2
  135. package/dist/plugins/remove-console.js +0 -2
  136. package/dist/plugins/rsc-client-reference-loaders.d.ts +1 -2
  137. package/dist/plugins/rsc-client-reference-loaders.js +0 -2
  138. package/dist/plugins/rsc-client-shim-excludes.d.ts +1 -2
  139. package/dist/plugins/rsc-client-shim-excludes.js +0 -2
  140. package/dist/plugins/sass.d.ts +1 -2
  141. package/dist/plugins/sass.js +0 -2
  142. package/dist/plugins/server-externals-manifest.d.ts +1 -2
  143. package/dist/plugins/server-externals-manifest.js +0 -2
  144. package/dist/plugins/strip-server-exports.d.ts +1 -2
  145. package/dist/plugins/strip-server-exports.js +0 -2
  146. package/dist/routing/app-route-graph.d.ts +2 -9
  147. package/dist/routing/app-route-graph.js +9 -30
  148. package/dist/routing/app-router.d.ts +1 -2
  149. package/dist/routing/app-router.js +0 -2
  150. package/dist/routing/file-matcher.d.ts +6 -2
  151. package/dist/routing/file-matcher.js +15 -7
  152. package/dist/routing/pages-router.d.ts +1 -2
  153. package/dist/routing/pages-router.js +0 -2
  154. package/dist/routing/route-matching.d.ts +1 -2
  155. package/dist/routing/route-matching.js +0 -2
  156. package/dist/routing/route-pattern.d.ts +1 -2
  157. package/dist/routing/route-pattern.js +0 -2
  158. package/dist/routing/route-trie.d.ts +1 -2
  159. package/dist/routing/route-trie.js +0 -2
  160. package/dist/routing/route-validation.d.ts +1 -2
  161. package/dist/routing/route-validation.js +0 -2
  162. package/dist/routing/utils.d.ts +44 -2
  163. package/dist/routing/utils.js +62 -3
  164. package/dist/server/api-handler.d.ts +1 -2
  165. package/dist/server/api-handler.js +0 -2
  166. package/dist/server/app-bfcache-id.d.ts +5 -0
  167. package/dist/server/app-bfcache-id.js +5 -0
  168. package/dist/server/app-browser-action-result.d.ts +9 -17
  169. package/dist/server/app-browser-action-result.js +25 -16
  170. package/dist/server/app-browser-client-reuse-manifest.d.ts +12 -0
  171. package/dist/server/app-browser-client-reuse-manifest.js +101 -0
  172. package/dist/server/app-browser-entry.js +352 -115
  173. package/dist/server/app-browser-error.d.ts +1 -2
  174. package/dist/server/app-browser-error.js +0 -2
  175. package/dist/server/app-browser-hydration.d.ts +1 -2
  176. package/dist/server/app-browser-hydration.js +0 -2
  177. package/dist/server/app-browser-interception-context.d.ts +1 -2
  178. package/dist/server/app-browser-interception-context.js +0 -2
  179. package/dist/server/app-browser-mpa-navigation.d.ts +16 -0
  180. package/dist/server/app-browser-mpa-navigation.js +42 -0
  181. package/dist/server/app-browser-navigation-controller.d.ts +5 -4
  182. package/dist/server/app-browser-navigation-controller.js +3 -3
  183. package/dist/server/app-browser-popstate.d.ts +4 -3
  184. package/dist/server/app-browser-popstate.js +15 -3
  185. package/dist/server/app-browser-rsc-redirect.d.ts +1 -2
  186. package/dist/server/app-browser-rsc-redirect.js +0 -2
  187. package/dist/server/app-browser-state.d.ts +28 -4
  188. package/dist/server/app-browser-state.js +195 -11
  189. package/dist/server/app-browser-stream.d.ts +1 -2
  190. package/dist/server/app-browser-stream.js +0 -2
  191. package/dist/server/app-browser-visible-commit.d.ts +2 -3
  192. package/dist/server/app-browser-visible-commit.js +24 -17
  193. package/dist/server/app-client-reference-preloader.d.ts +1 -2
  194. package/dist/server/app-client-reference-preloader.js +0 -2
  195. package/dist/server/app-elements-wire.d.ts +14 -8
  196. package/dist/server/app-elements-wire.js +45 -24
  197. package/dist/server/app-elements.d.ts +2 -3
  198. package/dist/server/app-elements.js +2 -4
  199. package/dist/server/app-fallback-renderer.d.ts +5 -5
  200. package/dist/server/app-fallback-renderer.js +4 -3
  201. package/dist/server/app-history-state.d.ts +18 -2
  202. package/dist/server/app-history-state.js +68 -10
  203. package/dist/server/app-hook-warning-suppression.d.ts +1 -2
  204. package/dist/server/app-hook-warning-suppression.js +0 -2
  205. package/dist/server/app-inline-css-client.d.ts +1 -2
  206. package/dist/server/app-inline-css-client.js +0 -2
  207. package/dist/server/app-interception-context-header.d.ts +1 -2
  208. package/dist/server/app-interception-context-header.js +0 -2
  209. package/dist/server/app-layout-param-observation.d.ts +43 -0
  210. package/dist/server/app-layout-param-observation.js +168 -0
  211. package/dist/server/app-middleware.d.ts +1 -2
  212. package/dist/server/app-middleware.js +0 -2
  213. package/dist/server/app-mounted-slots-header.d.ts +1 -2
  214. package/dist/server/app-mounted-slots-header.js +0 -2
  215. package/dist/server/app-optimistic-routing.d.ts +1 -2
  216. package/dist/server/app-optimistic-routing.js +0 -2
  217. package/dist/server/app-page-boundary-render.d.ts +4 -3
  218. package/dist/server/app-page-boundary-render.js +20 -11
  219. package/dist/server/app-page-boundary.d.ts +11 -2
  220. package/dist/server/app-page-boundary.js +13 -4
  221. package/dist/server/app-page-cache.d.ts +3 -3
  222. package/dist/server/app-page-cache.js +36 -11
  223. package/dist/server/app-page-dispatch.d.ts +19 -5
  224. package/dist/server/app-page-dispatch.js +119 -24
  225. package/dist/server/app-page-element-builder.d.ts +3 -2
  226. package/dist/server/app-page-element-builder.js +9 -11
  227. package/dist/server/app-page-execution.d.ts +8 -3
  228. package/dist/server/app-page-execution.js +55 -24
  229. package/dist/server/app-page-head.d.ts +1 -2
  230. package/dist/server/app-page-head.js +6 -6
  231. package/dist/server/app-page-method.d.ts +1 -2
  232. package/dist/server/app-page-method.js +0 -2
  233. package/dist/server/app-page-params.d.ts +2 -2
  234. package/dist/server/app-page-params.js +14 -3
  235. package/dist/server/app-page-probe.d.ts +90 -2
  236. package/dist/server/app-page-probe.js +201 -6
  237. package/dist/server/app-page-render-identity.d.ts +1 -2
  238. package/dist/server/app-page-render-identity.js +0 -2
  239. package/dist/server/app-page-render-observation.d.ts +1 -2
  240. package/dist/server/app-page-render-observation.js +0 -2
  241. package/dist/server/app-page-render.d.ts +9 -3
  242. package/dist/server/app-page-render.js +167 -10
  243. package/dist/server/app-page-request.d.ts +4 -3
  244. package/dist/server/app-page-request.js +1 -3
  245. package/dist/server/app-page-response.d.ts +2 -2
  246. package/dist/server/app-page-response.js +5 -3
  247. package/dist/server/app-page-route-wiring.d.ts +14 -3
  248. package/dist/server/app-page-route-wiring.js +63 -11
  249. package/dist/server/app-page-search-params-observation.d.ts +10 -0
  250. package/dist/server/app-page-search-params-observation.js +20 -0
  251. package/dist/server/app-page-segment-state.d.ts +1 -2
  252. package/dist/server/app-page-segment-state.js +1 -8
  253. package/dist/server/app-page-stream.d.ts +19 -9
  254. package/dist/server/app-page-stream.js +28 -10
  255. package/dist/server/app-pages-bridge.d.ts +25 -0
  256. package/dist/server/app-pages-bridge.js +34 -0
  257. package/dist/server/app-post-middleware-context.d.ts +1 -2
  258. package/dist/server/app-post-middleware-context.js +0 -2
  259. package/dist/server/app-ppr-fallback-shell.d.ts +21 -0
  260. package/dist/server/app-ppr-fallback-shell.js +82 -0
  261. package/dist/server/app-prerender-endpoints.d.ts +1 -2
  262. package/dist/server/app-prerender-endpoints.js +0 -2
  263. package/dist/server/app-prerender-static-params.d.ts +15 -2
  264. package/dist/server/app-prerender-static-params.js +44 -13
  265. package/dist/server/app-render-dependency.d.ts +3 -2
  266. package/dist/server/app-render-dependency.js +9 -3
  267. package/dist/server/app-request-context.d.ts +1 -2
  268. package/dist/server/app-request-context.js +0 -2
  269. package/dist/server/app-route-handler-cache.d.ts +1 -2
  270. package/dist/server/app-route-handler-cache.js +0 -2
  271. package/dist/server/app-route-handler-dispatch.d.ts +1 -2
  272. package/dist/server/app-route-handler-dispatch.js +0 -2
  273. package/dist/server/app-route-handler-execution.d.ts +1 -2
  274. package/dist/server/app-route-handler-execution.js +2 -4
  275. package/dist/server/app-route-handler-policy.d.ts +1 -2
  276. package/dist/server/app-route-handler-policy.js +0 -2
  277. package/dist/server/app-route-handler-response.d.ts +2 -3
  278. package/dist/server/app-route-handler-response.js +8 -7
  279. package/dist/server/app-route-handler-runtime.d.ts +1 -2
  280. package/dist/server/app-route-handler-runtime.js +0 -2
  281. package/dist/server/app-route-module-loader.d.ts +43 -0
  282. package/dist/server/app-route-module-loader.js +32 -0
  283. package/dist/server/app-router-entry.d.ts +1 -2
  284. package/dist/server/app-router-entry.js +2 -2
  285. package/dist/server/app-rsc-cache-busting.d.ts +12 -3
  286. package/dist/server/app-rsc-cache-busting.js +21 -10
  287. package/dist/server/app-rsc-embedded-chunks.d.ts +1 -2
  288. package/dist/server/app-rsc-embedded-chunks.js +0 -2
  289. package/dist/server/app-rsc-error-handler.d.ts +1 -2
  290. package/dist/server/app-rsc-error-handler.js +0 -2
  291. package/dist/server/app-rsc-errors.d.ts +1 -2
  292. package/dist/server/app-rsc-errors.js +0 -2
  293. package/dist/server/app-rsc-handler.d.ts +16 -2
  294. package/dist/server/app-rsc-handler.js +32 -14
  295. package/dist/server/app-rsc-render-mode.d.ts +1 -2
  296. package/dist/server/app-rsc-render-mode.js +0 -2
  297. package/dist/server/app-rsc-request-normalization.d.ts +4 -5
  298. package/dist/server/app-rsc-request-normalization.js +2 -4
  299. package/dist/server/app-rsc-response-finalizer.d.ts +1 -2
  300. package/dist/server/app-rsc-response-finalizer.js +2 -2
  301. package/dist/server/app-rsc-route-matching.d.ts +1 -2
  302. package/dist/server/app-rsc-route-matching.js +0 -2
  303. package/dist/server/app-segment-config.d.ts +5 -3
  304. package/dist/server/app-segment-config.js +12 -3
  305. package/dist/server/app-server-action-execution.d.ts +12 -2
  306. package/dist/server/app-server-action-execution.js +200 -25
  307. package/dist/server/app-ssr-entry.d.ts +5 -4
  308. package/dist/server/app-ssr-entry.js +31 -15
  309. package/dist/server/app-ssr-error-meta.d.ts +1 -2
  310. package/dist/server/app-ssr-error-meta.js +0 -2
  311. package/dist/server/app-ssr-stream.d.ts +1 -2
  312. package/dist/server/app-ssr-stream.js +31 -3
  313. package/dist/server/app-static-generation.d.ts +1 -2
  314. package/dist/server/app-static-generation.js +0 -2
  315. package/dist/server/app-visited-response-cache.d.ts +23 -0
  316. package/dist/server/app-visited-response-cache.js +19 -0
  317. package/dist/server/artifact-compatibility.d.ts +2 -2
  318. package/dist/server/artifact-compatibility.js +12 -7
  319. package/dist/server/cache-control.d.ts +15 -2
  320. package/dist/server/cache-control.js +21 -3
  321. package/dist/server/cache-headers.d.ts +1 -2
  322. package/dist/server/cache-headers.js +0 -2
  323. package/dist/server/cache-proof.d.ts +1 -2
  324. package/dist/server/cache-proof.js +0 -2
  325. package/dist/server/client-reuse-manifest.d.ts +10 -5
  326. package/dist/server/client-reuse-manifest.js +7 -10
  327. package/dist/server/client-trace-metadata.d.ts +1 -2
  328. package/dist/server/client-trace-metadata.js +0 -2
  329. package/dist/server/cookie-utils.d.ts +1 -2
  330. package/dist/server/cookie-utils.js +0 -2
  331. package/dist/server/csp.d.ts +1 -2
  332. package/dist/server/csp.js +0 -2
  333. package/dist/server/default-global-error-module.d.ts +1 -2
  334. package/dist/server/default-global-error-module.js +0 -2
  335. package/dist/server/default-not-found-module.d.ts +1 -2
  336. package/dist/server/default-not-found-module.js +0 -2
  337. package/dist/server/dev-error-overlay-store.d.ts +20 -4
  338. package/dist/server/dev-error-overlay-store.js +23 -4
  339. package/dist/server/dev-error-overlay.d.ts +39 -3
  340. package/dist/server/dev-error-overlay.js +952 -164
  341. package/dist/server/dev-initial-server-error.d.ts +9 -0
  342. package/dist/server/dev-initial-server-error.js +26 -0
  343. package/dist/server/dev-lockfile.d.ts +1 -2
  344. package/dist/server/dev-lockfile.js +0 -2
  345. package/dist/server/dev-module-runner.d.ts +1 -2
  346. package/dist/server/dev-module-runner.js +0 -2
  347. package/dist/server/dev-origin-check.d.ts +1 -2
  348. package/dist/server/dev-origin-check.js +0 -2
  349. package/dist/server/dev-route-files.d.ts +1 -2
  350. package/dist/server/dev-route-files.js +0 -2
  351. package/dist/server/dev-server.d.ts +2 -3
  352. package/dist/server/dev-server.js +127 -28
  353. package/dist/server/dev-stack-sourcemap-endpoint.d.ts +4 -0
  354. package/dist/server/dev-stack-sourcemap-endpoint.js +4 -0
  355. package/dist/server/dev-stack-sourcemap.d.ts +43 -0
  356. package/dist/server/dev-stack-sourcemap.js +443 -0
  357. package/dist/server/document-initial-head.d.ts +6 -0
  358. package/dist/server/document-initial-head.js +33 -0
  359. package/dist/server/edge-api-runtime.d.ts +1 -2
  360. package/dist/server/edge-api-runtime.js +0 -2
  361. package/dist/server/file-based-metadata.d.ts +1 -2
  362. package/dist/server/file-based-metadata.js +0 -2
  363. package/dist/server/headers.d.ts +3 -2
  364. package/dist/server/headers.js +3 -3
  365. package/dist/server/html.d.ts +1 -2
  366. package/dist/server/html.js +0 -2
  367. package/dist/server/http-error-responses.d.ts +1 -2
  368. package/dist/server/http-error-responses.js +0 -2
  369. package/dist/server/image-optimization.d.ts +1 -2
  370. package/dist/server/image-optimization.js +0 -2
  371. package/dist/server/implicit-tags.d.ts +1 -2
  372. package/dist/server/implicit-tags.js +0 -2
  373. package/dist/server/instrumentation-runtime.d.ts +1 -2
  374. package/dist/server/instrumentation-runtime.js +0 -2
  375. package/dist/server/instrumentation.d.ts +1 -2
  376. package/dist/server/instrumentation.js +0 -2
  377. package/dist/server/isr-cache.d.ts +10 -3
  378. package/dist/server/isr-cache.js +13 -28
  379. package/dist/server/metadata-route-build-data.d.ts +1 -2
  380. package/dist/server/metadata-route-build-data.js +0 -2
  381. package/dist/server/metadata-route-response.d.ts +1 -2
  382. package/dist/server/metadata-route-response.js +0 -2
  383. package/dist/server/metadata-routes.d.ts +1 -2
  384. package/dist/server/metadata-routes.js +0 -2
  385. package/dist/server/middleware-matcher.d.ts +1 -2
  386. package/dist/server/middleware-matcher.js +0 -2
  387. package/dist/server/middleware-request-headers.d.ts +1 -2
  388. package/dist/server/middleware-request-headers.js +0 -2
  389. package/dist/server/middleware-response-headers.d.ts +1 -2
  390. package/dist/server/middleware-response-headers.js +0 -2
  391. package/dist/server/middleware-runtime.d.ts +1 -2
  392. package/dist/server/middleware-runtime.js +14 -5
  393. package/dist/server/middleware.d.ts +2 -3
  394. package/dist/server/middleware.js +0 -2
  395. package/dist/server/navigation-planner.d.ts +16 -2
  396. package/dist/server/navigation-planner.js +1 -3
  397. package/dist/server/navigation-trace.d.ts +1 -2
  398. package/dist/server/navigation-trace.js +0 -2
  399. package/dist/server/next-error-digest.d.ts +1 -2
  400. package/dist/server/next-error-digest.js +0 -2
  401. package/dist/server/normalize-path.d.ts +1 -2
  402. package/dist/server/normalize-path.js +0 -2
  403. package/dist/server/pages-api-route.d.ts +1 -2
  404. package/dist/server/pages-api-route.js +1 -3
  405. package/dist/server/pages-asset-tags.d.ts +66 -0
  406. package/dist/server/pages-asset-tags.js +116 -0
  407. package/dist/server/pages-body-parser-config.d.ts +1 -2
  408. package/dist/server/pages-body-parser-config.js +0 -2
  409. package/dist/server/pages-data-route.d.ts +39 -2
  410. package/dist/server/pages-data-route.js +46 -3
  411. package/dist/server/pages-default-404.d.ts +1 -2
  412. package/dist/server/pages-default-404.js +0 -2
  413. package/dist/server/pages-document-initial-props.d.ts +84 -3
  414. package/dist/server/pages-document-initial-props.js +127 -3
  415. package/dist/server/pages-get-initial-props.d.ts +17 -0
  416. package/dist/server/pages-get-initial-props.js +50 -0
  417. package/dist/server/pages-i18n.d.ts +1 -2
  418. package/dist/server/pages-i18n.js +0 -2
  419. package/dist/server/pages-media-type.d.ts +1 -2
  420. package/dist/server/pages-media-type.js +1 -2
  421. package/dist/server/pages-node-compat.d.ts +9 -2
  422. package/dist/server/pages-node-compat.js +35 -4
  423. package/dist/server/pages-page-data.d.ts +7 -3
  424. package/dist/server/pages-page-data.js +75 -33
  425. package/dist/server/pages-page-handler.d.ts +90 -0
  426. package/dist/server/pages-page-handler.js +335 -0
  427. package/dist/server/pages-page-method.d.ts +1 -2
  428. package/dist/server/pages-page-method.js +0 -2
  429. package/dist/server/pages-page-response.d.ts +15 -2
  430. package/dist/server/pages-page-response.js +39 -12
  431. package/dist/server/pages-serializable-props.d.ts +1 -2
  432. package/dist/server/pages-serializable-props.js +0 -2
  433. package/dist/server/pregenerated-concrete-paths.d.ts +32 -0
  434. package/dist/server/pregenerated-concrete-paths.js +78 -0
  435. package/dist/server/prerender-route-params.d.ts +13 -3
  436. package/dist/server/prerender-route-params.js +30 -11
  437. package/dist/server/prerender-work-unit-setup.d.ts +1 -2
  438. package/dist/server/prerender-work-unit-setup.js +0 -2
  439. package/dist/server/prod-server.d.ts +2 -4
  440. package/dist/server/prod-server.js +13 -8
  441. package/dist/server/proxy-trust.d.ts +1 -2
  442. package/dist/server/proxy-trust.js +0 -2
  443. package/dist/server/request-log.d.ts +1 -2
  444. package/dist/server/request-log.js +0 -2
  445. package/dist/server/request-pipeline.d.ts +14 -2
  446. package/dist/server/request-pipeline.js +42 -3
  447. package/dist/server/rsc-stream-hints.d.ts +1 -2
  448. package/dist/server/rsc-stream-hints.js +0 -2
  449. package/dist/server/seed-cache.d.ts +6 -2
  450. package/dist/server/seed-cache.js +10 -8
  451. package/dist/server/server-action-not-found.d.ts +1 -2
  452. package/dist/server/server-action-not-found.js +0 -2
  453. package/dist/server/server-globals.d.ts +1 -2
  454. package/dist/server/server-globals.js +0 -2
  455. package/dist/server/skip-cache-proof.d.ts +23 -3
  456. package/dist/server/skip-cache-proof.js +81 -14
  457. package/dist/server/socket-error-backstop.d.ts +1 -2
  458. package/dist/server/socket-error-backstop.js +0 -2
  459. package/dist/server/static-file-cache.d.ts +1 -2
  460. package/dist/server/static-file-cache.js +0 -2
  461. package/dist/server/static-layout-client-reuse-proof.d.ts +15 -0
  462. package/dist/server/static-layout-client-reuse-proof.js +33 -0
  463. package/dist/server/streaming-metadata.d.ts +1 -2
  464. package/dist/server/streaming-metadata.js +0 -2
  465. package/dist/server/worker-utils.d.ts +1 -2
  466. package/dist/server/worker-utils.js +3 -6
  467. package/dist/shims/amp.d.ts +1 -2
  468. package/dist/shims/amp.js +0 -2
  469. package/dist/shims/app-router-scroll-state.d.ts +1 -2
  470. package/dist/shims/app-router-scroll-state.js +0 -2
  471. package/dist/shims/app-router-scroll.d.ts +3 -5
  472. package/dist/shims/app-router-scroll.js +0 -2
  473. package/dist/shims/app.d.ts +1 -2
  474. package/dist/shims/app.js +0 -2
  475. package/dist/shims/before-interactive-context.d.ts +1 -2
  476. package/dist/shims/before-interactive-context.js +0 -2
  477. package/dist/shims/cache-for-request.d.ts +1 -2
  478. package/dist/shims/cache-for-request.js +0 -2
  479. package/dist/shims/cache-runtime.d.ts +20 -5
  480. package/dist/shims/cache-runtime.js +35 -30
  481. package/dist/shims/cache.d.ts +68 -7
  482. package/dist/shims/cache.js +179 -25
  483. package/dist/shims/cdn-cache.d.ts +125 -0
  484. package/dist/shims/cdn-cache.js +100 -0
  485. package/dist/shims/client-hook-error.d.ts +1 -2
  486. package/dist/shims/client-hook-error.js +0 -2
  487. package/dist/shims/client-locale.d.ts +1 -2
  488. package/dist/shims/client-locale.js +1 -3
  489. package/dist/shims/compat-router.d.ts +1 -2
  490. package/dist/shims/compat-router.js +0 -2
  491. package/dist/shims/config.d.ts +1 -2
  492. package/dist/shims/config.js +0 -2
  493. package/dist/shims/constants.d.ts +1 -2
  494. package/dist/shims/constants.js +0 -2
  495. package/dist/shims/default-global-error.d.ts +3 -4
  496. package/dist/shims/default-global-error.js +0 -2
  497. package/dist/shims/default-not-found.d.ts +1 -2
  498. package/dist/shims/default-not-found.js +0 -2
  499. package/dist/shims/document.d.ts +11 -7
  500. package/dist/shims/document.js +7 -10
  501. package/dist/shims/dynamic.d.ts +1 -2
  502. package/dist/shims/dynamic.js +0 -2
  503. package/dist/shims/error-boundary.d.ts +16 -12
  504. package/dist/shims/error-boundary.js +60 -28
  505. package/dist/shims/error.d.ts +1 -2
  506. package/dist/shims/error.js +0 -2
  507. package/dist/shims/fetch-cache.d.ts +3 -2
  508. package/dist/shims/fetch-cache.js +18 -9
  509. package/dist/shims/font-google-base.d.ts +1 -2
  510. package/dist/shims/font-google-base.js +1 -13
  511. package/dist/shims/font-local.d.ts +1 -2
  512. package/dist/shims/font-local.js +1 -15
  513. package/dist/shims/font-utils.d.ts +7 -2
  514. package/dist/shims/font-utils.js +13 -3
  515. package/dist/shims/form.d.ts +12 -5
  516. package/dist/shims/form.js +98 -21
  517. package/dist/shims/hash-scroll.d.ts +4 -2
  518. package/dist/shims/hash-scroll.js +13 -3
  519. package/dist/shims/head-state.d.ts +2 -2
  520. package/dist/shims/head-state.js +18 -5
  521. package/dist/shims/head.d.ts +35 -2
  522. package/dist/shims/head.js +113 -16
  523. package/dist/shims/headers.d.ts +9 -2
  524. package/dist/shims/headers.js +13 -3
  525. package/dist/shims/i18n-context.d.ts +1 -2
  526. package/dist/shims/i18n-context.js +0 -2
  527. package/dist/shims/i18n-state.d.ts +1 -2
  528. package/dist/shims/i18n-state.js +0 -2
  529. package/dist/shims/image-config.d.ts +1 -2
  530. package/dist/shims/image-config.js +0 -2
  531. package/dist/shims/image.d.ts +1 -2
  532. package/dist/shims/image.js +1 -3
  533. package/dist/shims/internal/als-registry.d.ts +1 -2
  534. package/dist/shims/internal/als-registry.js +0 -2
  535. package/dist/shims/internal/api-utils.d.ts +1 -2
  536. package/dist/shims/internal/app-route-detection.d.ts +1 -2
  537. package/dist/shims/internal/app-route-detection.js +0 -2
  538. package/dist/shims/internal/app-router-context.d.ts +1 -2
  539. package/dist/shims/internal/app-router-context.js +0 -2
  540. package/dist/shims/internal/cookie-serialize.d.ts +1 -2
  541. package/dist/shims/internal/cookie-serialize.js +0 -2
  542. package/dist/shims/internal/make-hanging-promise.d.ts +1 -2
  543. package/dist/shims/internal/make-hanging-promise.js +0 -2
  544. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +55 -0
  545. package/dist/shims/internal/pages-data-fetch-dedup.js +68 -0
  546. package/dist/shims/internal/pages-data-target.d.ts +1 -2
  547. package/dist/shims/internal/pages-data-target.js +0 -2
  548. package/dist/shims/internal/pages-data-url.d.ts +1 -2
  549. package/dist/shims/internal/pages-data-url.js +0 -2
  550. package/dist/shims/internal/parse-cookie-header.d.ts +1 -2
  551. package/dist/shims/internal/parse-cookie-header.js +0 -2
  552. package/dist/shims/internal/router-context.d.ts +2 -4
  553. package/dist/shims/internal/router-context.js +0 -2
  554. package/dist/shims/internal/utils.d.ts +1 -2
  555. package/dist/shims/internal/utils.js +0 -2
  556. package/dist/shims/internal/work-unit-async-storage.d.ts +1 -2
  557. package/dist/shims/internal/work-unit-async-storage.js +0 -2
  558. package/dist/shims/layout-segment-context.d.ts +2 -4
  559. package/dist/shims/layout-segment-context.js +0 -2
  560. package/dist/shims/legacy-image.d.ts +1 -2
  561. package/dist/shims/legacy-image.js +0 -2
  562. package/dist/shims/link-prefetch.d.ts +1 -2
  563. package/dist/shims/link-prefetch.js +0 -2
  564. package/dist/shims/link.d.ts +2 -2
  565. package/dist/shims/link.js +47 -15
  566. package/dist/shims/metadata.d.ts +4 -5
  567. package/dist/shims/metadata.js +1 -3
  568. package/dist/shims/navigation-state.d.ts +1 -2
  569. package/dist/shims/navigation-state.js +0 -2
  570. package/dist/shims/navigation.d.ts +61 -7
  571. package/dist/shims/navigation.js +244 -47
  572. package/dist/shims/navigation.react-server.d.ts +1 -2
  573. package/dist/shims/navigation.react-server.js +0 -2
  574. package/dist/shims/offline.d.ts +1 -2
  575. package/dist/shims/offline.js +0 -2
  576. package/dist/shims/og.d.ts +1 -2
  577. package/dist/shims/og.js +2 -4
  578. package/dist/shims/pages-router-runtime.d.ts +7 -2
  579. package/dist/shims/pages-router-runtime.js +11 -3
  580. package/dist/shims/ppr-fallback-shell.d.ts +29 -0
  581. package/dist/shims/ppr-fallback-shell.js +149 -0
  582. package/dist/shims/readonly-url-search-params.d.ts +1 -2
  583. package/dist/shims/readonly-url-search-params.js +0 -2
  584. package/dist/shims/request-context.d.ts +9 -5
  585. package/dist/shims/request-context.js +0 -2
  586. package/dist/shims/request-state-types.d.ts +1 -1
  587. package/dist/shims/root-params.d.ts +1 -2
  588. package/dist/shims/root-params.js +0 -2
  589. package/dist/shims/router-state.d.ts +1 -2
  590. package/dist/shims/router-state.js +0 -2
  591. package/dist/shims/router.d.ts +1 -2
  592. package/dist/shims/router.js +172 -37
  593. package/dist/shims/script-nonce-context.d.ts +1 -2
  594. package/dist/shims/script-nonce-context.js +0 -2
  595. package/dist/shims/script.d.ts +1 -2
  596. package/dist/shims/script.js +0 -2
  597. package/dist/shims/server.d.ts +1 -2
  598. package/dist/shims/server.js +0 -2
  599. package/dist/shims/slot.d.ts +11 -4
  600. package/dist/shims/slot.js +121 -9
  601. package/dist/shims/thenable-params.d.ts +6 -3
  602. package/dist/shims/thenable-params.js +131 -12
  603. package/dist/shims/unified-request-context.d.ts +1 -2
  604. package/dist/shims/unified-request-context.js +3 -2
  605. package/dist/shims/unrecognized-action-error.d.ts +1 -2
  606. package/dist/shims/unrecognized-action-error.js +0 -2
  607. package/dist/shims/url-safety.d.ts +1 -2
  608. package/dist/shims/url-safety.js +0 -2
  609. package/dist/shims/url-utils.d.ts +1 -2
  610. package/dist/shims/url-utils.js +0 -2
  611. package/dist/shims/use-merged-ref.d.ts +1 -2
  612. package/dist/shims/use-merged-ref.js +0 -2
  613. package/dist/shims/web-vitals.d.ts +1 -2
  614. package/dist/shims/web-vitals.js +0 -2
  615. package/dist/typegen.d.ts +1 -2
  616. package/dist/typegen.js +2 -9
  617. package/dist/utils/asset-prefix.d.ts +1 -2
  618. package/dist/utils/asset-prefix.js +0 -2
  619. package/dist/utils/base-path.d.ts +1 -2
  620. package/dist/utils/base-path.js +0 -2
  621. package/dist/utils/cache-control-metadata.d.ts +1 -4
  622. package/dist/utils/cache-control-metadata.js +1 -3
  623. package/dist/utils/client-build-manifest.d.ts +14 -0
  624. package/dist/utils/client-build-manifest.js +52 -0
  625. package/dist/utils/compare.d.ts +4 -0
  626. package/dist/utils/compare.js +8 -0
  627. package/dist/utils/dev-error-recovery-event.d.ts +4 -0
  628. package/dist/utils/dev-error-recovery-event.js +4 -0
  629. package/dist/utils/domain-locale.d.ts +1 -2
  630. package/dist/utils/domain-locale.js +2 -4
  631. package/dist/utils/encode-cache-tag.d.ts +1 -2
  632. package/dist/utils/encode-cache-tag.js +0 -2
  633. package/dist/utils/error-cause.d.ts +1 -2
  634. package/dist/utils/error-cause.js +0 -2
  635. package/dist/utils/hash.d.ts +1 -2
  636. package/dist/utils/hash.js +1 -3
  637. package/dist/utils/html-limited-bots.d.ts +1 -2
  638. package/dist/utils/html-limited-bots.js +0 -2
  639. package/dist/utils/lazy-chunks.d.ts +1 -2
  640. package/dist/utils/lazy-chunks.js +0 -2
  641. package/dist/utils/manifest-paths.d.ts +8 -3
  642. package/dist/utils/manifest-paths.js +15 -3
  643. package/dist/utils/mdx-scan.d.ts +1 -2
  644. package/dist/utils/mdx-scan.js +0 -2
  645. package/dist/utils/navigation-signal.d.ts +1 -2
  646. package/dist/utils/navigation-signal.js +0 -2
  647. package/dist/utils/number.d.ts +4 -0
  648. package/dist/utils/number.js +6 -0
  649. package/dist/utils/path.d.ts +4 -2
  650. package/dist/utils/path.js +5 -3
  651. package/dist/utils/prerender-output-paths.d.ts +1 -2
  652. package/dist/utils/prerender-output-paths.js +0 -2
  653. package/dist/utils/project.d.ts +1 -2
  654. package/dist/utils/project.js +0 -2
  655. package/dist/utils/promise.d.ts +4 -0
  656. package/dist/utils/promise.js +6 -0
  657. package/dist/utils/public-routes.d.ts +1 -2
  658. package/dist/utils/public-routes.js +0 -2
  659. package/dist/utils/query.d.ts +1 -2
  660. package/dist/utils/query.js +0 -2
  661. package/dist/utils/record.d.ts +1 -2
  662. package/dist/utils/record.js +0 -2
  663. package/dist/utils/regex.d.ts +4 -0
  664. package/dist/utils/regex.js +6 -0
  665. package/dist/utils/safe-json-file.d.ts +1 -2
  666. package/dist/utils/safe-json-file.js +0 -2
  667. package/dist/utils/sorted-array.d.ts +1 -2
  668. package/dist/utils/sorted-array.js +0 -2
  669. package/dist/utils/text-stream.d.ts +1 -2
  670. package/dist/utils/text-stream.js +0 -2
  671. package/dist/utils/vinext-root.d.ts +1 -2
  672. package/dist/utils/vinext-root.js +0 -2
  673. package/dist/utils/vite-version.d.ts +10 -0
  674. package/dist/utils/vite-version.js +34 -0
  675. package/package.json +20 -7
  676. package/dist/build/clean-output.js.map +0 -1
  677. package/dist/build/client-build-config.js.map +0 -1
  678. package/dist/build/google-fonts/build-url.js.map +0 -1
  679. package/dist/build/google-fonts/fallback-metrics-data.js.map +0 -1
  680. package/dist/build/google-fonts/fallback-metrics.js.map +0 -1
  681. package/dist/build/google-fonts/font-data.js.map +0 -1
  682. package/dist/build/google-fonts/font-metadata.js.map +0 -1
  683. package/dist/build/google-fonts/get-axes.js.map +0 -1
  684. package/dist/build/google-fonts/sort-variants.js.map +0 -1
  685. package/dist/build/google-fonts/validate.js.map +0 -1
  686. package/dist/build/inline-css.js.map +0 -1
  687. package/dist/build/layout-classification.js.map +0 -1
  688. package/dist/build/nitro-route-rules.js.map +0 -1
  689. package/dist/build/precompress.js.map +0 -1
  690. package/dist/build/prerender.js.map +0 -1
  691. package/dist/build/report.js.map +0 -1
  692. package/dist/build/route-classification-injector.js.map +0 -1
  693. package/dist/build/route-classification-manifest.js.map +0 -1
  694. package/dist/build/run-prerender.js.map +0 -1
  695. package/dist/build/server-manifest.js.map +0 -1
  696. package/dist/build/ssr-manifest.js.map +0 -1
  697. package/dist/build/standalone.js.map +0 -1
  698. package/dist/build/static-export.js.map +0 -1
  699. package/dist/check.js.map +0 -1
  700. package/dist/cli-args.js.map +0 -1
  701. package/dist/cli.js.map +0 -1
  702. package/dist/client/instrumentation-client-inject.js.map +0 -1
  703. package/dist/client/instrumentation-client-state.js.map +0 -1
  704. package/dist/client/instrumentation-client.js.map +0 -1
  705. package/dist/client/navigation-runtime.js.map +0 -1
  706. package/dist/client/pages-router-link-navigation.js.map +0 -1
  707. package/dist/client/validate-module-path.js.map +0 -1
  708. package/dist/client/vinext-next-data.js.map +0 -1
  709. package/dist/client/window-next.js.map +0 -1
  710. package/dist/cloudflare/kv-cache-handler.js.map +0 -1
  711. package/dist/cloudflare/tpr.js.map +0 -1
  712. package/dist/config/config-matchers.js.map +0 -1
  713. package/dist/config/dotenv.js.map +0 -1
  714. package/dist/config/next-config.js.map +0 -1
  715. package/dist/config/tsconfig-paths.js.map +0 -1
  716. package/dist/deploy.js.map +0 -1
  717. package/dist/entries/app-browser-entry.js.map +0 -1
  718. package/dist/entries/app-rsc-entry.js.map +0 -1
  719. package/dist/entries/app-rsc-manifest.js.map +0 -1
  720. package/dist/entries/app-ssr-entry.js.map +0 -1
  721. package/dist/entries/pages-client-entry.js.map +0 -1
  722. package/dist/entries/pages-entry-helpers.js.map +0 -1
  723. package/dist/entries/pages-server-entry.js.map +0 -1
  724. package/dist/entries/runtime-entry-module.js.map +0 -1
  725. package/dist/index.js.map +0 -1
  726. package/dist/init.js.map +0 -1
  727. package/dist/plugins/async-hooks-stub.js.map +0 -1
  728. package/dist/plugins/client-reference-dedup.js.map +0 -1
  729. package/dist/plugins/css-data-url.js.map +0 -1
  730. package/dist/plugins/fonts.js.map +0 -1
  731. package/dist/plugins/instrumentation-client.js.map +0 -1
  732. package/dist/plugins/middleware-server-only.js.map +0 -1
  733. package/dist/plugins/og-assets.js.map +0 -1
  734. package/dist/plugins/optimize-imports.js.map +0 -1
  735. package/dist/plugins/postcss.js.map +0 -1
  736. package/dist/plugins/remove-console.js.map +0 -1
  737. package/dist/plugins/rsc-client-reference-loaders.js.map +0 -1
  738. package/dist/plugins/rsc-client-shim-excludes.js.map +0 -1
  739. package/dist/plugins/sass.js.map +0 -1
  740. package/dist/plugins/server-externals-manifest.js.map +0 -1
  741. package/dist/plugins/strip-server-exports.js.map +0 -1
  742. package/dist/routing/app-route-graph.js.map +0 -1
  743. package/dist/routing/app-router.js.map +0 -1
  744. package/dist/routing/file-matcher.js.map +0 -1
  745. package/dist/routing/pages-router.js.map +0 -1
  746. package/dist/routing/route-matching.js.map +0 -1
  747. package/dist/routing/route-pattern.js.map +0 -1
  748. package/dist/routing/route-trie.js.map +0 -1
  749. package/dist/routing/route-validation.js.map +0 -1
  750. package/dist/routing/utils.js.map +0 -1
  751. package/dist/server/api-handler.js.map +0 -1
  752. package/dist/server/app-browser-action-result.js.map +0 -1
  753. package/dist/server/app-browser-entry.js.map +0 -1
  754. package/dist/server/app-browser-error.js.map +0 -1
  755. package/dist/server/app-browser-hydration.js.map +0 -1
  756. package/dist/server/app-browser-interception-context.js.map +0 -1
  757. package/dist/server/app-browser-navigation-controller.js.map +0 -1
  758. package/dist/server/app-browser-popstate.js.map +0 -1
  759. package/dist/server/app-browser-rsc-redirect.js.map +0 -1
  760. package/dist/server/app-browser-state.js.map +0 -1
  761. package/dist/server/app-browser-stream.js.map +0 -1
  762. package/dist/server/app-browser-visible-commit.js.map +0 -1
  763. package/dist/server/app-client-reference-preloader.js.map +0 -1
  764. package/dist/server/app-elements-wire.js.map +0 -1
  765. package/dist/server/app-elements.js.map +0 -1
  766. package/dist/server/app-fallback-renderer.js.map +0 -1
  767. package/dist/server/app-history-state.js.map +0 -1
  768. package/dist/server/app-hook-warning-suppression.js.map +0 -1
  769. package/dist/server/app-inline-css-client.js.map +0 -1
  770. package/dist/server/app-interception-context-header.js.map +0 -1
  771. package/dist/server/app-middleware.js.map +0 -1
  772. package/dist/server/app-mounted-slots-header.js.map +0 -1
  773. package/dist/server/app-optimistic-routing.js.map +0 -1
  774. package/dist/server/app-page-boundary-render.js.map +0 -1
  775. package/dist/server/app-page-boundary.js.map +0 -1
  776. package/dist/server/app-page-cache.js.map +0 -1
  777. package/dist/server/app-page-dispatch.js.map +0 -1
  778. package/dist/server/app-page-element-builder.js.map +0 -1
  779. package/dist/server/app-page-execution.js.map +0 -1
  780. package/dist/server/app-page-head.js.map +0 -1
  781. package/dist/server/app-page-method.js.map +0 -1
  782. package/dist/server/app-page-params.js.map +0 -1
  783. package/dist/server/app-page-probe.js.map +0 -1
  784. package/dist/server/app-page-render-identity.js.map +0 -1
  785. package/dist/server/app-page-render-observation.js.map +0 -1
  786. package/dist/server/app-page-render.js.map +0 -1
  787. package/dist/server/app-page-request.js.map +0 -1
  788. package/dist/server/app-page-response.js.map +0 -1
  789. package/dist/server/app-page-route-wiring.js.map +0 -1
  790. package/dist/server/app-page-segment-state.js.map +0 -1
  791. package/dist/server/app-page-stream.js.map +0 -1
  792. package/dist/server/app-post-middleware-context.js.map +0 -1
  793. package/dist/server/app-prerender-endpoints.js.map +0 -1
  794. package/dist/server/app-prerender-static-params.js.map +0 -1
  795. package/dist/server/app-render-dependency.js.map +0 -1
  796. package/dist/server/app-request-context.js.map +0 -1
  797. package/dist/server/app-route-handler-cache.js.map +0 -1
  798. package/dist/server/app-route-handler-dispatch.js.map +0 -1
  799. package/dist/server/app-route-handler-execution.js.map +0 -1
  800. package/dist/server/app-route-handler-policy.js.map +0 -1
  801. package/dist/server/app-route-handler-response.js.map +0 -1
  802. package/dist/server/app-route-handler-runtime.js.map +0 -1
  803. package/dist/server/app-router-entry.js.map +0 -1
  804. package/dist/server/app-rsc-cache-busting.js.map +0 -1
  805. package/dist/server/app-rsc-embedded-chunks.js.map +0 -1
  806. package/dist/server/app-rsc-error-handler.js.map +0 -1
  807. package/dist/server/app-rsc-errors.js.map +0 -1
  808. package/dist/server/app-rsc-handler.js.map +0 -1
  809. package/dist/server/app-rsc-render-mode.js.map +0 -1
  810. package/dist/server/app-rsc-request-normalization.js.map +0 -1
  811. package/dist/server/app-rsc-response-finalizer.js.map +0 -1
  812. package/dist/server/app-rsc-route-matching.js.map +0 -1
  813. package/dist/server/app-segment-config.js.map +0 -1
  814. package/dist/server/app-server-action-execution.js.map +0 -1
  815. package/dist/server/app-ssr-entry.js.map +0 -1
  816. package/dist/server/app-ssr-error-meta.js.map +0 -1
  817. package/dist/server/app-ssr-stream.js.map +0 -1
  818. package/dist/server/app-static-generation.js.map +0 -1
  819. package/dist/server/artifact-compatibility.js.map +0 -1
  820. package/dist/server/cache-control.js.map +0 -1
  821. package/dist/server/cache-headers.js.map +0 -1
  822. package/dist/server/cache-proof.js.map +0 -1
  823. package/dist/server/client-reuse-manifest.js.map +0 -1
  824. package/dist/server/client-trace-metadata.js.map +0 -1
  825. package/dist/server/cookie-utils.js.map +0 -1
  826. package/dist/server/csp.js.map +0 -1
  827. package/dist/server/default-global-error-module.js.map +0 -1
  828. package/dist/server/default-not-found-module.js.map +0 -1
  829. package/dist/server/dev-error-overlay-store.js.map +0 -1
  830. package/dist/server/dev-error-overlay.js.map +0 -1
  831. package/dist/server/dev-lockfile.js.map +0 -1
  832. package/dist/server/dev-module-runner.js.map +0 -1
  833. package/dist/server/dev-origin-check.js.map +0 -1
  834. package/dist/server/dev-route-files.js.map +0 -1
  835. package/dist/server/dev-server.js.map +0 -1
  836. package/dist/server/edge-api-runtime.js.map +0 -1
  837. package/dist/server/file-based-metadata.js.map +0 -1
  838. package/dist/server/headers.js.map +0 -1
  839. package/dist/server/html.js.map +0 -1
  840. package/dist/server/http-error-responses.js.map +0 -1
  841. package/dist/server/image-optimization.js.map +0 -1
  842. package/dist/server/implicit-tags.js.map +0 -1
  843. package/dist/server/instrumentation-runtime.js.map +0 -1
  844. package/dist/server/instrumentation.js.map +0 -1
  845. package/dist/server/isr-cache.js.map +0 -1
  846. package/dist/server/metadata-route-build-data.js.map +0 -1
  847. package/dist/server/metadata-route-response.js.map +0 -1
  848. package/dist/server/metadata-routes.js.map +0 -1
  849. package/dist/server/middleware-matcher.js.map +0 -1
  850. package/dist/server/middleware-request-headers.js.map +0 -1
  851. package/dist/server/middleware-response-headers.js.map +0 -1
  852. package/dist/server/middleware-runtime.js.map +0 -1
  853. package/dist/server/middleware.js.map +0 -1
  854. package/dist/server/navigation-planner.js.map +0 -1
  855. package/dist/server/navigation-trace.js.map +0 -1
  856. package/dist/server/next-error-digest.js.map +0 -1
  857. package/dist/server/normalize-path.js.map +0 -1
  858. package/dist/server/pages-api-route.js.map +0 -1
  859. package/dist/server/pages-body-parser-config.js.map +0 -1
  860. package/dist/server/pages-data-route.js.map +0 -1
  861. package/dist/server/pages-default-404.js.map +0 -1
  862. package/dist/server/pages-document-initial-props.js.map +0 -1
  863. package/dist/server/pages-i18n.js.map +0 -1
  864. package/dist/server/pages-media-type.js.map +0 -1
  865. package/dist/server/pages-node-compat.js.map +0 -1
  866. package/dist/server/pages-page-data.js.map +0 -1
  867. package/dist/server/pages-page-method.js.map +0 -1
  868. package/dist/server/pages-page-response.js.map +0 -1
  869. package/dist/server/pages-serializable-props.js.map +0 -1
  870. package/dist/server/prerender-route-params.js.map +0 -1
  871. package/dist/server/prerender-work-unit-setup.js.map +0 -1
  872. package/dist/server/prod-server.js.map +0 -1
  873. package/dist/server/proxy-trust.js.map +0 -1
  874. package/dist/server/request-log.js.map +0 -1
  875. package/dist/server/request-pipeline.js.map +0 -1
  876. package/dist/server/rsc-stream-hints.js.map +0 -1
  877. package/dist/server/seed-cache.js.map +0 -1
  878. package/dist/server/server-action-not-found.js.map +0 -1
  879. package/dist/server/server-globals.js.map +0 -1
  880. package/dist/server/skip-cache-proof.js.map +0 -1
  881. package/dist/server/socket-error-backstop.js.map +0 -1
  882. package/dist/server/static-file-cache.js.map +0 -1
  883. package/dist/server/streaming-metadata.js.map +0 -1
  884. package/dist/server/worker-utils.js.map +0 -1
  885. package/dist/shims/amp.js.map +0 -1
  886. package/dist/shims/app-router-scroll-state.js.map +0 -1
  887. package/dist/shims/app-router-scroll.js.map +0 -1
  888. package/dist/shims/app.js.map +0 -1
  889. package/dist/shims/before-interactive-context.js.map +0 -1
  890. package/dist/shims/cache-for-request.js.map +0 -1
  891. package/dist/shims/cache-runtime.js.map +0 -1
  892. package/dist/shims/cache.js.map +0 -1
  893. package/dist/shims/client-hook-error.js.map +0 -1
  894. package/dist/shims/client-locale.js.map +0 -1
  895. package/dist/shims/compat-router.js.map +0 -1
  896. package/dist/shims/config.js.map +0 -1
  897. package/dist/shims/constants.js.map +0 -1
  898. package/dist/shims/default-global-error.js.map +0 -1
  899. package/dist/shims/default-not-found.js.map +0 -1
  900. package/dist/shims/document.js.map +0 -1
  901. package/dist/shims/dynamic.js.map +0 -1
  902. package/dist/shims/error-boundary.js.map +0 -1
  903. package/dist/shims/error.js.map +0 -1
  904. package/dist/shims/fetch-cache.js.map +0 -1
  905. package/dist/shims/font-google-base.js.map +0 -1
  906. package/dist/shims/font-local.js.map +0 -1
  907. package/dist/shims/font-utils.js.map +0 -1
  908. package/dist/shims/form.js.map +0 -1
  909. package/dist/shims/hash-scroll.js.map +0 -1
  910. package/dist/shims/head-state.js.map +0 -1
  911. package/dist/shims/head.js.map +0 -1
  912. package/dist/shims/headers.js.map +0 -1
  913. package/dist/shims/i18n-context.js.map +0 -1
  914. package/dist/shims/i18n-state.js.map +0 -1
  915. package/dist/shims/image-config.js.map +0 -1
  916. package/dist/shims/image.js.map +0 -1
  917. package/dist/shims/internal/als-registry.js.map +0 -1
  918. package/dist/shims/internal/app-route-detection.js.map +0 -1
  919. package/dist/shims/internal/app-router-context.js.map +0 -1
  920. package/dist/shims/internal/cookie-serialize.js.map +0 -1
  921. package/dist/shims/internal/make-hanging-promise.js.map +0 -1
  922. package/dist/shims/internal/pages-data-target.js.map +0 -1
  923. package/dist/shims/internal/pages-data-url.js.map +0 -1
  924. package/dist/shims/internal/parse-cookie-header.js.map +0 -1
  925. package/dist/shims/internal/router-context.js.map +0 -1
  926. package/dist/shims/internal/utils.js.map +0 -1
  927. package/dist/shims/internal/work-unit-async-storage.js.map +0 -1
  928. package/dist/shims/layout-segment-context.js.map +0 -1
  929. package/dist/shims/legacy-image.js.map +0 -1
  930. package/dist/shims/link-prefetch.js.map +0 -1
  931. package/dist/shims/link.js.map +0 -1
  932. package/dist/shims/metadata.js.map +0 -1
  933. package/dist/shims/navigation-state.js.map +0 -1
  934. package/dist/shims/navigation.js.map +0 -1
  935. package/dist/shims/navigation.react-server.js.map +0 -1
  936. package/dist/shims/offline.js.map +0 -1
  937. package/dist/shims/og.js.map +0 -1
  938. package/dist/shims/pages-router-runtime.js.map +0 -1
  939. package/dist/shims/readonly-url-search-params.js.map +0 -1
  940. package/dist/shims/request-context.js.map +0 -1
  941. package/dist/shims/root-params.js.map +0 -1
  942. package/dist/shims/router-state.js.map +0 -1
  943. package/dist/shims/router.js.map +0 -1
  944. package/dist/shims/script-nonce-context.js.map +0 -1
  945. package/dist/shims/script.js.map +0 -1
  946. package/dist/shims/server.js.map +0 -1
  947. package/dist/shims/slot.js.map +0 -1
  948. package/dist/shims/thenable-params.js.map +0 -1
  949. package/dist/shims/unified-request-context.js.map +0 -1
  950. package/dist/shims/unrecognized-action-error.js.map +0 -1
  951. package/dist/shims/url-safety.js.map +0 -1
  952. package/dist/shims/url-utils.js.map +0 -1
  953. package/dist/shims/use-merged-ref.js.map +0 -1
  954. package/dist/shims/web-vitals.js.map +0 -1
  955. package/dist/typegen.js.map +0 -1
  956. package/dist/utils/asset-prefix.js.map +0 -1
  957. package/dist/utils/base-path.js.map +0 -1
  958. package/dist/utils/cache-control-metadata.js.map +0 -1
  959. package/dist/utils/domain-locale.js.map +0 -1
  960. package/dist/utils/encode-cache-tag.js.map +0 -1
  961. package/dist/utils/error-cause.js.map +0 -1
  962. package/dist/utils/hash.js.map +0 -1
  963. package/dist/utils/html-limited-bots.js.map +0 -1
  964. package/dist/utils/lazy-chunks.js.map +0 -1
  965. package/dist/utils/manifest-paths.js.map +0 -1
  966. package/dist/utils/mdx-scan.js.map +0 -1
  967. package/dist/utils/navigation-signal.js.map +0 -1
  968. package/dist/utils/path.js.map +0 -1
  969. package/dist/utils/prerender-output-paths.js.map +0 -1
  970. package/dist/utils/project.js.map +0 -1
  971. package/dist/utils/public-routes.js.map +0 -1
  972. package/dist/utils/query.js.map +0 -1
  973. package/dist/utils/record.js.map +0 -1
  974. package/dist/utils/safe-json-file.js.map +0 -1
  975. package/dist/utils/sorted-array.js.map +0 -1
  976. package/dist/utils/text-stream.js.map +0 -1
  977. package/dist/utils/vinext-root.js.map +0 -1
@@ -88,5 +88,3 @@ function mergeMatchedParams(sourceParams, targetParams) {
88
88
  }
89
89
  //#endregion
90
90
  export { createAppRscRouteMatcher, matchAppRscRoutePattern };
91
-
92
- //# sourceMappingURL=app-rsc-route-matching.js.map
@@ -8,17 +8,20 @@ type AppRouteSegmentConfigModule = {
8
8
  fetchCache?: unknown;
9
9
  revalidate?: unknown;
10
10
  runtime?: unknown;
11
+ unstable_dynamicStaleTime?: unknown;
11
12
  };
12
13
  type EffectiveAppPageSegmentConfig = {
13
14
  dynamicConfig?: AppRouteSegmentDynamic;
14
15
  dynamicParamsConfig?: boolean;
16
+ dynamicStaleTimeSeconds?: number;
15
17
  fetchCache?: FetchCacheMode;
16
18
  revalidateSeconds: number | null;
17
- runtime?: string;
19
+ runtime?: "edge" | "experimental-edge" | "nodejs";
18
20
  };
19
21
  type ResolveAppPageSegmentConfigOptions = {
20
22
  layouts?: readonly (AppRouteSegmentConfigModule | null | undefined)[];
21
23
  page?: AppRouteSegmentConfigModule | null;
24
+ parallelPages?: readonly (AppRouteSegmentConfigModule | null | undefined)[];
22
25
  };
23
26
  /**
24
27
  * Resolve the route segment config that applies to an App page route.
@@ -32,5 +35,4 @@ declare function resolveAppPageSegmentConfig(options: ResolveAppPageSegmentConfi
32
35
  declare function resolveAppPageFetchCacheMode(options: ResolveAppPageSegmentConfigOptions): FetchCacheMode | null;
33
36
  declare function isEdgeRuntime(runtime: string | undefined): boolean;
34
37
  //#endregion
35
- export { isEdgeRuntime, resolveAppPageFetchCacheMode, resolveAppPageSegmentConfig };
36
- //# sourceMappingURL=app-segment-config.d.ts.map
38
+ export { isEdgeRuntime, resolveAppPageFetchCacheMode, resolveAppPageSegmentConfig };
@@ -21,6 +21,9 @@ function isRouteSegmentDynamic(value) {
21
21
  function isRouteSegmentFetchCache(value) {
22
22
  return FETCH_CACHE_VALUES.has(value);
23
23
  }
24
+ function isRouteSegmentRuntime(value) {
25
+ return value === "edge" || value === "experimental-edge" || value === "nodejs";
26
+ }
24
27
  function resolveRevalidateSeconds(current, value) {
25
28
  if (value === false) {
26
29
  if (current === null) return Infinity;
@@ -30,6 +33,10 @@ function resolveRevalidateSeconds(current, value) {
30
33
  if (current === null) return value;
31
34
  return value < current ? value : current;
32
35
  }
36
+ function resolveDynamicStaleTimeSeconds(current, value) {
37
+ if (typeof value !== "number" || !Number.isInteger(value) || value < 0) return current;
38
+ return current === void 0 ? value : Math.min(current, value);
39
+ }
33
40
  function isCacheFetchCacheMode(value) {
34
41
  return value === "default-cache" || value === "force-cache" || value === "only-cache";
35
42
  }
@@ -55,6 +62,7 @@ function resolveAppPageSegmentConfig(options) {
55
62
  for (const segment of segments) {
56
63
  if (!segment) continue;
57
64
  if (isRouteSegmentDynamic(segment.dynamic)) config.dynamicConfig = segment.dynamic;
65
+ if (isRouteSegmentRuntime(segment.runtime)) config.runtime = segment.runtime;
58
66
  if (segment.dynamicParams === false) config.dynamicParamsConfig = false;
59
67
  else if (segment.dynamicParams === true && config.dynamicParamsConfig !== false) config.dynamicParamsConfig = true;
60
68
  if (isRouteSegmentFetchCache(segment.fetchCache)) {
@@ -73,7 +81,10 @@ function resolveAppPageSegmentConfig(options) {
73
81
  else config.fetchCache = fetchCache;
74
82
  }
75
83
  config.revalidateSeconds = resolveRevalidateSeconds(config.revalidateSeconds, segment.revalidate);
76
- if (typeof segment.runtime === "string") config.runtime = segment.runtime;
84
+ }
85
+ for (const segment of [options.page, ...options.parallelPages ?? []]) {
86
+ if (!segment) continue;
87
+ config.dynamicStaleTimeSeconds = resolveDynamicStaleTimeSeconds(config.dynamicStaleTimeSeconds, segment.unstable_dynamicStaleTime);
77
88
  }
78
89
  if (config.dynamicConfig === "force-dynamic") config.revalidateSeconds = 0;
79
90
  if (config.fetchCache === void 0) {
@@ -91,5 +102,3 @@ function isEdgeRuntime(runtime) {
91
102
  }
92
103
  //#endregion
93
104
  export { isEdgeRuntime, resolveAppPageFetchCacheMode, resolveAppPageSegmentConfig };
94
-
95
- //# sourceMappingURL=app-segment-config.js.map
@@ -27,7 +27,10 @@ type AppServerActionReturnValue = {
27
27
  ok: false;
28
28
  };
29
29
  type AppServerActionRoute = {
30
+ page?: unknown;
30
31
  pattern: string;
32
+ routeHandler?: unknown;
33
+ routeSegments?: readonly string[];
31
34
  };
32
35
  /**
33
36
  * Side-effect headers captured during a progressive (no-JS) server action's
@@ -46,6 +49,7 @@ type ProgressiveServerActionSideEffects = {
46
49
  draftCookie: string | null | undefined; /** Resolved revalidation kind to emit via `x-action-revalidated`. */
47
50
  revalidationKind: ActionRevalidationKind;
48
51
  };
52
+ type AppServerActionRouteRuntime = "edge" | "experimental-edge" | "nodejs" | null;
49
53
  type ProgressiveServerActionResult = ({
50
54
  formState: ReactFormState | null;
51
55
  kind: "form-state";
@@ -124,6 +128,12 @@ type HandleServerActionRscRequestOptions<TElement, TRoute extends AppServerActio
124
128
  createRscOnErrorHandler: (request: Request, pathname: string, pattern: string) => (error: unknown) => unknown;
125
129
  createTemporaryReferenceSet: () => TTemporaryReferences;
126
130
  decodeReply: (body: string | FormData, options: DecodeServerActionReplyOptions<TTemporaryReferences>) => Promise<unknown[]> | unknown[];
131
+ /**
132
+ * Hydrate a route's lazy page/route-handler modules before reading
133
+ * `route.page` / `route.routeHandler` on action redirect targets and
134
+ * re-render targets obtained via `matchRoute`/`getSourceRoute`. Idempotent.
135
+ */
136
+ ensureRouteLoaded?: (route: TRoute) => unknown;
127
137
  findIntercept: (pathname: string) => AppServerActionIntercept<TPage> | null;
128
138
  getAndClearPendingCookies: () => string[];
129
139
  getDraftModeCookieHeader: () => string | null | undefined;
@@ -142,6 +152,7 @@ type HandleServerActionRscRequestOptions<TElement, TRoute extends AppServerActio
142
152
  renderToReadableStream: (model: AppServerActionRscModel<TElement>, options: RenderServerActionRscStreamOptions<TTemporaryReferences>) => BodyInit | null | Promise<BodyInit | null>;
143
153
  reportRequestError: AppServerActionErrorReporter;
144
154
  resolveRouteFetchCacheMode?: (route: TRoute) => FetchCacheMode | null;
155
+ resolveRouteRuntime?: (route: TRoute) => AppServerActionRouteRuntime;
145
156
  request: Request;
146
157
  sanitizeErrorForClient: (error: unknown) => unknown;
147
158
  searchParams: URLSearchParams;
@@ -183,5 +194,4 @@ declare function isProgressiveServerActionRequest(request: Pick<Request, "method
183
194
  declare function handleProgressiveServerActionRequest(options: HandleProgressiveServerActionRequestOptions): Promise<Response | ProgressiveServerActionResult | null>;
184
195
  declare function handleServerActionRscRequest<TElement, TRoute extends AppServerActionRoute, TInterceptOpts, TTemporaryReferences, TPage = unknown>(options: HandleServerActionRscRequestOptions<TElement, TRoute, TInterceptOpts, TTemporaryReferences, TPage>): Promise<Response | null>;
185
196
  //#endregion
186
- export { HandleProgressiveServerActionRequestOptions, HandleServerActionRscRequestOptions, applyActionRedirectBasePath, handleProgressiveServerActionRequest, handleServerActionRscRequest, isProgressiveServerActionRequest, readActionBodyWithLimit, readActionFormDataWithLimit };
187
- //# sourceMappingURL=app-server-action-execution.d.ts.map
197
+ export { HandleProgressiveServerActionRequestOptions, HandleServerActionRscRequestOptions, applyActionRedirectBasePath, handleProgressiveServerActionRequest, handleServerActionRscRequest, isProgressiveServerActionRequest, readActionBodyWithLimit, readActionFormDataWithLimit };
@@ -1,18 +1,22 @@
1
- import { addBasePathToPathname, hasBasePath } from "../utils/base-path.js";
2
- import { ACTION_REDIRECT_HEADER, ACTION_REDIRECT_STATUS_HEADER, ACTION_REDIRECT_TYPE_HEADER, ACTION_REVALIDATED_HEADER } from "./headers.js";
1
+ import { splitPathSegments } from "../routing/utils.js";
2
+ import { addBasePathToPathname, hasBasePath, stripBasePath } from "../utils/base-path.js";
3
+ import { ACTION_FORWARDED_HEADER, ACTION_REDIRECT_HEADER, ACTION_REDIRECT_STATUS_HEADER, ACTION_REDIRECT_TYPE_HEADER, ACTION_REVALIDATED_HEADER } from "./headers.js";
3
4
  import { isExternalUrl } from "../config/config-matchers.js";
4
5
  import { internalServerErrorResponse, payloadTooLargeResponse } from "./http-error-responses.js";
5
6
  import { validateCsrfOrigin, validateServerActionPayload } from "./request-pipeline.js";
7
+ import { headersContextFromRequest, setHeadersContext } from "../shims/headers.js";
6
8
  import { getAndClearActionRevalidationKind } from "../shims/cache.js";
7
9
  import { APP_RSC_RENDER_MODE_ACTION_RERENDER_PRESERVE_UI } from "./app-rsc-render-mode.js";
8
- import { setCurrentFetchCacheMode } from "../shims/fetch-cache.js";
10
+ import { setCurrentFetchCacheMode, setCurrentFetchSoftTags } from "../shims/fetch-cache.js";
9
11
  import { VINEXT_RSC_CONTENT_TYPE, VINEXT_RSC_VARY_HEADER, applyRscCompatibilityIdHeader } from "./app-rsc-cache-busting.js";
10
12
  import { readStreamAsTextWithLimit } from "../utils/text-stream.js";
11
- import { createServerActionNotFoundResponse, getServerActionNotFoundMessage, isServerActionNotFoundError } from "./server-action-not-found.js";
12
13
  import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
13
14
  import { applyEdgeRuntimeHeader } from "./app-page-response.js";
14
15
  import { getNextErrorDigest, parseNextHttpErrorDigest, parseNextRedirectDigest } from "./next-error-digest.js";
16
+ import { createServerActionNotFoundResponse, getServerActionNotFoundMessage, isServerActionNotFoundError } from "./server-action-not-found.js";
17
+ import { deferUntilStreamConsumed } from "./app-page-stream.js";
15
18
  import { resolveAppPageActionRerenderTarget } from "./app-page-request.js";
19
+ import { buildPageCacheTags } from "./implicit-tags.js";
16
20
  import { getSetCookieName } from "./cookie-utils.js";
17
21
  //#region src/server/app-server-action-execution.ts
18
22
  /**
@@ -22,6 +26,16 @@ import { getSetCookieName } from "./cookie-utils.js";
22
26
  const SERVER_ACTION_ARGS_LIMIT = 1e3;
23
27
  const ACTION_DID_NOT_REVALIDATE = 0;
24
28
  const ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC = 1;
29
+ const ACTION_REDIRECT_RENDER_STRIPPED_HEADERS = [
30
+ "accept",
31
+ "content-length",
32
+ "content-type",
33
+ "next-action",
34
+ "origin",
35
+ "rsc",
36
+ "x-action-forwarded",
37
+ "x-rsc-action"
38
+ ];
25
39
  function setActionRevalidatedHeader(headers, kind) {
26
40
  if (kind === ACTION_DID_NOT_REVALIDATE) return;
27
41
  headers.set(ACTION_REVALIDATED_HEADER, JSON.stringify(kind));
@@ -31,6 +45,67 @@ function resolveActionRevalidationKind(hasModifiedCookies) {
31
45
  if (hasModifiedCookies) return ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC;
32
46
  return revalidationKind;
33
47
  }
48
+ function cloneActionRedirectHeaders(requestHeaders) {
49
+ const headers = new Headers(requestHeaders);
50
+ for (const header of ACTION_REDIRECT_RENDER_STRIPPED_HEADERS) headers.delete(header);
51
+ return headers;
52
+ }
53
+ function readSetCookieNameValue(setCookie) {
54
+ const equalsIndex = setCookie.indexOf("=");
55
+ if (equalsIndex <= 0) return null;
56
+ const name = setCookie.slice(0, equalsIndex).trim();
57
+ const valueEnd = setCookie.indexOf(";", equalsIndex + 1);
58
+ return {
59
+ name,
60
+ value: setCookie.slice(equalsIndex + 1, valueEnd === -1 ? void 0 : valueEnd)
61
+ };
62
+ }
63
+ function isExpiredSetCookie(setCookie) {
64
+ return /(?:^|;\s*)max-age=0(?:;|$)/i.test(setCookie) || /(?:^|;\s*)expires=Thu,\s*0?1[\s-]+Jan[\s-]+1970/i.test(setCookie);
65
+ }
66
+ function applySetCookieMutationsToRequestCookieHeader(cookieHeader, setCookies) {
67
+ const cookies = /* @__PURE__ */ new Map();
68
+ if (cookieHeader) for (const part of cookieHeader.split(";")) {
69
+ const trimmed = part.trim();
70
+ if (!trimmed) continue;
71
+ const equalsIndex = trimmed.indexOf("=");
72
+ if (equalsIndex <= 0) continue;
73
+ cookies.set(trimmed.slice(0, equalsIndex), trimmed.slice(equalsIndex + 1));
74
+ }
75
+ for (const setCookie of setCookies) {
76
+ const entry = readSetCookieNameValue(setCookie);
77
+ if (!entry) continue;
78
+ if (isExpiredSetCookie(setCookie)) cookies.delete(entry.name);
79
+ else cookies.set(entry.name, entry.value);
80
+ }
81
+ return cookies.size === 0 ? null : [...cookies].map(([name, value]) => `${name}=${value}`).join("; ");
82
+ }
83
+ function createActionRedirectRenderRequest(options) {
84
+ const headers = cloneActionRedirectHeaders(options.request.headers);
85
+ const cookieHeader = applySetCookieMutationsToRequestCookieHeader(headers.get("cookie"), options.pendingCookies);
86
+ if (cookieHeader === null) headers.delete("cookie");
87
+ else headers.set("cookie", cookieHeader);
88
+ return new Request(options.url, {
89
+ headers,
90
+ method: "GET"
91
+ });
92
+ }
93
+ function withoutRscBodyHeaders(headers) {
94
+ const nextHeaders = new Headers(headers);
95
+ nextHeaders.delete("Content-Type");
96
+ nextHeaders.delete("Vary");
97
+ return nextHeaders;
98
+ }
99
+ function isReadableStreamBody(body) {
100
+ return typeof ReadableStream !== "undefined" && body instanceof ReadableStream;
101
+ }
102
+ function createServerActionRscResponse(body, init, clearRequestContext) {
103
+ if (!isReadableStreamBody(body)) {
104
+ clearRequestContext();
105
+ return new Response(body, init);
106
+ }
107
+ return new Response(deferUntilStreamConsumed(body, clearRequestContext), init);
108
+ }
34
109
  function isRequestBodyTooLarge(error) {
35
110
  return error instanceof Error && error.message === "Request body too large";
36
111
  }
@@ -147,6 +222,53 @@ function applyActionRedirectBasePath(url, basePath) {
147
222
  const suffix = splitAt === -1 ? "" : url.slice(splitAt);
148
223
  return `${addBasePathToPathname(pathname, basePath)}${suffix}`;
149
224
  }
225
+ function buildServerActionPageTags(route, pathname) {
226
+ return buildPageCacheTags(pathname, [], [...route.routeSegments ?? []], "page");
227
+ }
228
+ function resolveInternalActionRedirectTarget(redirectUrl, requestUrl, basePath) {
229
+ if (isExternalUrl(redirectUrl)) {
230
+ const requestOrigin = new URL(requestUrl).origin;
231
+ const parsed = new URL(redirectUrl);
232
+ if (parsed.origin !== requestOrigin) return null;
233
+ if (basePath && !hasBasePath(parsed.pathname, basePath)) return null;
234
+ return parsed;
235
+ }
236
+ let resolvedBase = requestUrl;
237
+ if (!redirectUrl.startsWith("/") && !/^[a-z]+:/i.test(redirectUrl)) {
238
+ const parsedRequestUrl = new URL(requestUrl);
239
+ let pathname = parsedRequestUrl.pathname;
240
+ if (!pathname.endsWith("/")) pathname = pathname + "/";
241
+ resolvedBase = `${parsedRequestUrl.origin}${pathname}${parsedRequestUrl.search}`;
242
+ }
243
+ return new URL(redirectUrl, resolvedBase);
244
+ }
245
+ function isAncestorRouteRedirect(targetPathname, currentPathname) {
246
+ return targetPathname !== "/" && currentPathname.startsWith(`${targetPathname}/`);
247
+ }
248
+ function isStaleChildSiblingRouteRedirect(targetPathname, currentPathname) {
249
+ const targetSegments = splitPathSegments(targetPathname);
250
+ const currentSegments = splitPathSegments(currentPathname);
251
+ if (targetSegments.length === 0 || currentSegments.length <= targetSegments.length) return false;
252
+ let commonPrefixLength = 0;
253
+ const maxPrefixLength = Math.min(targetSegments.length, currentSegments.length);
254
+ while (commonPrefixLength < maxPrefixLength && targetSegments[commonPrefixLength] === currentSegments[commonPrefixLength]) commonPrefixLength++;
255
+ return commonPrefixLength > 0 && commonPrefixLength < targetSegments.length;
256
+ }
257
+ function normalizeRuntime(runtime) {
258
+ if (runtime === "edge" || runtime === "experimental-edge") return "edge";
259
+ return "nodejs";
260
+ }
261
+ function shouldUseForwardedActionRedirectStatus(options) {
262
+ if (options.actionWasForwarded) return true;
263
+ if (isAncestorRouteRedirect(options.targetPathname, options.currentPathname)) return true;
264
+ if (isStaleChildSiblingRouteRedirect(options.targetPathname, options.currentPathname)) return true;
265
+ if (!options.currentRoute || !options.resolveRouteRuntime) return false;
266
+ return normalizeRuntime(options.resolveRouteRuntime(options.currentRoute)) !== normalizeRuntime(options.resolveRouteRuntime(options.targetRoute));
267
+ }
268
+ function canRenderActionRedirectTarget(route) {
269
+ if ("routeHandler" in route && route.routeHandler) return false;
270
+ return route.page !== null && route.page !== void 0;
271
+ }
150
272
  function getActionHttpFallbackStatus(error) {
151
273
  const digest = getNextErrorDigest(error);
152
274
  if (!digest) return null;
@@ -180,10 +302,6 @@ function isProgressiveServerActionRequest(request, contentType, actionId) {
180
302
  }
181
303
  async function handleProgressiveServerActionRequest(options) {
182
304
  if (!isProgressiveServerActionRequest(options.request, options.contentType, options.actionId)) return null;
183
- if (options.request.headers.get("x-action-forwarded")) return createActionNotFoundResponse(null, {
184
- clearRequestContext: options.clearRequestContext,
185
- getAndClearPendingCookies: options.getAndClearPendingCookies
186
- });
187
305
  const csrfResponse = validateCsrfOrigin(options.request, options.allowedOrigins);
188
306
  if (csrfResponse) return csrfResponse;
189
307
  if (parseInt(options.request.headers.get("content-length") || "0", 10) > options.maxActionBodySize) {
@@ -295,10 +413,6 @@ async function handleProgressiveServerActionRequest(options) {
295
413
  }
296
414
  async function handleServerActionRscRequest(options) {
297
415
  if (options.request.method.toUpperCase() !== "POST" || !options.actionId) return null;
298
- if (options.request.headers.get("x-action-forwarded")) return createActionNotFoundResponse(options.actionId, {
299
- clearRequestContext: options.clearRequestContext,
300
- getAndClearPendingCookies: options.getAndClearPendingCookies
301
- });
302
416
  const csrfResponse = validateCsrfOrigin(options.request, options.allowedOrigins);
303
417
  if (csrfResponse) return csrfResponse;
304
418
  if (parseInt(options.request.headers.get("content-length") || "0", 10) > options.maxActionBodySize) {
@@ -340,6 +454,7 @@ async function handleServerActionRscRequest(options) {
340
454
  let returnValue;
341
455
  let actionRedirect = null;
342
456
  let actionStatus = 200;
457
+ const actionWasForwarded = Boolean(options.request.headers.get(ACTION_FORWARDED_HEADER));
343
458
  const previousHeadersPhase = options.setHeadersAccessPhase("action");
344
459
  try {
345
460
  try {
@@ -378,7 +493,6 @@ async function handleServerActionRscRequest(options) {
378
493
  const actionPendingCookies = dedupePendingCookies(options.getAndClearPendingCookies());
379
494
  const actionDraftCookie = options.getDraftModeCookieHeader();
380
495
  const actionRevalidationKind = resolveActionRevalidationKind(actionPendingCookies.length > 0 || Boolean(actionDraftCookie));
381
- options.clearRequestContext();
382
496
  const redirectHeaders = new Headers({
383
497
  "Content-Type": VINEXT_RSC_CONTENT_TYPE,
384
498
  Vary: VINEXT_RSC_VARY_HEADER
@@ -386,27 +500,85 @@ async function handleServerActionRscRequest(options) {
386
500
  applyEdgeRuntimeHeader(redirectHeaders, options.isEdgeRuntime);
387
501
  mergeMiddlewareResponseHeaders(redirectHeaders, options.middlewareHeaders);
388
502
  applyRscCompatibilityIdHeader(redirectHeaders);
389
- redirectHeaders.set(ACTION_REDIRECT_HEADER, applyActionRedirectBasePath(actionRedirect.url, options.basePath ?? ""));
503
+ const actionRedirectUrl = applyActionRedirectBasePath(actionRedirect.url, options.basePath ?? "");
504
+ redirectHeaders.set(ACTION_REDIRECT_HEADER, actionRedirectUrl);
390
505
  redirectHeaders.set(ACTION_REDIRECT_TYPE_HEADER, actionRedirect.type);
391
506
  redirectHeaders.set(ACTION_REDIRECT_STATUS_HEADER, String(actionRedirect.status));
392
507
  for (const cookie of actionPendingCookies) redirectHeaders.append("Set-Cookie", cookie);
393
508
  if (actionDraftCookie) redirectHeaders.append("Set-Cookie", actionDraftCookie);
394
509
  setActionRevalidatedHeader(redirectHeaders, actionRevalidationKind);
395
- return new Response("", {
396
- status: 200,
397
- headers: redirectHeaders
510
+ const redirectTarget = resolveInternalActionRedirectTarget(actionRedirectUrl, options.request.url, options.basePath ?? "");
511
+ if (!redirectTarget) {
512
+ options.clearRequestContext();
513
+ return new Response(null, {
514
+ status: 303,
515
+ headers: withoutRscBodyHeaders(redirectHeaders)
516
+ });
517
+ }
518
+ const targetPathname = stripBasePath(redirectTarget.pathname, options.basePath ?? "");
519
+ const targetMatch = options.matchRoute(targetPathname);
520
+ if (targetMatch) await options.ensureRouteLoaded?.(targetMatch.route);
521
+ if (!targetMatch || !canRenderActionRedirectTarget(targetMatch.route)) {
522
+ options.clearRequestContext();
523
+ return new Response(null, {
524
+ status: 303,
525
+ headers: withoutRscBodyHeaders(redirectHeaders)
526
+ });
527
+ }
528
+ const currentMatch = options.matchRoute(options.cleanPathname);
529
+ if (currentMatch) await options.ensureRouteLoaded?.(currentMatch.route);
530
+ const redirectRenderRequest = createActionRedirectRenderRequest({
531
+ pendingCookies: [...actionPendingCookies, ...actionDraftCookie ? [actionDraftCookie] : []],
532
+ request: options.request,
533
+ url: redirectTarget
534
+ });
535
+ setHeadersContext(headersContextFromRequest(redirectRenderRequest));
536
+ options.setNavigationContext({
537
+ pathname: targetPathname,
538
+ searchParams: redirectTarget.searchParams,
539
+ params: targetMatch.params
398
540
  });
541
+ setCurrentFetchCacheMode(options.resolveRouteFetchCacheMode?.(targetMatch.route) ?? null);
542
+ setCurrentFetchSoftTags(buildServerActionPageTags(targetMatch.route, targetPathname));
543
+ const element = options.buildPageElement({
544
+ cleanPathname: targetPathname,
545
+ interceptOpts: void 0,
546
+ isRscRequest: true,
547
+ mountedSlotsHeader: null,
548
+ params: targetMatch.params,
549
+ request: redirectRenderRequest,
550
+ route: targetMatch.route,
551
+ searchParams: redirectTarget.searchParams,
552
+ renderMode: APP_RSC_RENDER_MODE_ACTION_RERENDER_PRESERVE_UI
553
+ });
554
+ const onRenderError = options.createRscOnErrorHandler(redirectRenderRequest, targetPathname, targetMatch.route.pattern);
555
+ return createServerActionRscResponse(await options.renderToReadableStream({
556
+ root: element,
557
+ returnValue
558
+ }, {
559
+ temporaryReferences,
560
+ onError: onRenderError
561
+ }), {
562
+ status: shouldUseForwardedActionRedirectStatus({
563
+ actionWasForwarded,
564
+ currentPathname: options.cleanPathname,
565
+ currentRoute: currentMatch?.route ?? null,
566
+ resolveRouteRuntime: options.resolveRouteRuntime,
567
+ targetPathname,
568
+ targetRoute: targetMatch.route
569
+ }) ? 200 : 303,
570
+ headers: redirectHeaders
571
+ }, options.clearRequestContext);
399
572
  }
400
573
  const actionPendingCookies = dedupePendingCookies(options.getAndClearPendingCookies());
401
574
  const actionDraftCookie = options.getDraftModeCookieHeader();
402
575
  const actionRevalidationKind = resolveActionRevalidationKind(actionPendingCookies.length > 0 || Boolean(actionDraftCookie));
403
- if (actionRevalidationKind === ACTION_DID_NOT_REVALIDATE) {
576
+ if (actionWasForwarded || actionStatus === 200 && actionRevalidationKind === ACTION_DID_NOT_REVALIDATE) {
404
577
  const onRenderError = options.createRscOnErrorHandler(options.request, options.cleanPathname, options.cleanPathname);
405
578
  const rscStream = await options.renderToReadableStream({ returnValue }, {
406
579
  temporaryReferences,
407
580
  onError: onRenderError
408
581
  });
409
- options.clearRequestContext();
410
582
  const actionHeaders = new Headers({
411
583
  "Content-Type": VINEXT_RSC_CONTENT_TYPE,
412
584
  Vary: VINEXT_RSC_VARY_HEADER
@@ -414,10 +586,13 @@ async function handleServerActionRscRequest(options) {
414
586
  applyEdgeRuntimeHeader(actionHeaders, options.isEdgeRuntime);
415
587
  mergeMiddlewareResponseHeaders(actionHeaders, options.middlewareHeaders);
416
588
  applyRscCompatibilityIdHeader(actionHeaders);
417
- return new Response(rscStream, {
589
+ for (const cookie of actionPendingCookies) actionHeaders.append("Set-Cookie", cookie);
590
+ if (actionDraftCookie) actionHeaders.append("Set-Cookie", actionDraftCookie);
591
+ setActionRevalidatedHeader(actionHeaders, actionRevalidationKind);
592
+ return createServerActionRscResponse(rscStream, {
418
593
  status: options.middlewareStatus ?? actionStatus,
419
594
  headers: actionHeaders
420
- });
595
+ }, options.clearRequestContext);
421
596
  }
422
597
  const match = options.matchRoute(options.cleanPathname);
423
598
  let element;
@@ -439,7 +614,9 @@ async function handleServerActionRscRequest(options) {
439
614
  searchParams: options.searchParams,
440
615
  params: actionRerenderTarget.navigationParams
441
616
  });
617
+ await options.ensureRouteLoaded?.(actionRerenderTarget.route);
442
618
  setCurrentFetchCacheMode(options.resolveRouteFetchCacheMode?.(actionRerenderTarget.route) ?? null);
619
+ setCurrentFetchSoftTags(buildServerActionPageTags(actionRerenderTarget.route, options.cleanPathname));
443
620
  element = options.buildPageElement({
444
621
  cleanPathname: options.cleanPathname,
445
622
  interceptOpts: actionRerenderTarget.interceptOpts,
@@ -472,10 +649,10 @@ async function handleServerActionRscRequest(options) {
472
649
  mergeMiddlewareResponseHeaders(actionHeaders, options.middlewareHeaders);
473
650
  applyRscCompatibilityIdHeader(actionHeaders);
474
651
  setActionRevalidatedHeader(actionHeaders, actionRevalidationKind);
475
- const actionResponse = new Response(rscStream, {
652
+ const actionResponse = createServerActionRscResponse(rscStream, {
476
653
  status: options.middlewareStatus ?? actionStatus,
477
654
  headers: actionHeaders
478
- });
655
+ }, options.clearRequestContext);
479
656
  if (actionPendingCookies.length > 0 || actionDraftCookie) {
480
657
  for (const cookie of actionPendingCookies) actionResponse.headers.append("Set-Cookie", cookie);
481
658
  if (actionDraftCookie) actionResponse.headers.append("Set-Cookie", actionDraftCookie);
@@ -494,5 +671,3 @@ async function handleServerActionRscRequest(options) {
494
671
  }
495
672
  //#endregion
496
673
  export { applyActionRedirectBasePath, handleProgressiveServerActionRequest, handleServerActionRscRequest, isProgressiveServerActionRequest, readActionBodyWithLimit, readActionFormDataWithLimit };
497
-
498
- //# sourceMappingURL=app-server-action-execution.js.map
@@ -1,5 +1,6 @@
1
1
  import { NavigationContext } from "../shims/navigation.js";
2
2
  import { RootParams } from "../shims/root-params.js";
3
+ import { AppSsrRenderResult } from "./app-page-stream.js";
3
4
  import { ReactFormState } from "react-dom/client";
4
5
 
5
6
  //#region src/server/app-ssr-entry.d.ts
@@ -29,15 +30,15 @@ declare function handleSsr(rscStream: ReadableStream<Uint8Array>, navContext: Na
29
30
  * SSR head. Undefined or empty disables emission entirely.
30
31
  */
31
32
  clientTraceMetadata?: readonly string[];
32
- rootParams?: RootParams;
33
+ rootParams?: RootParams; /** Dev-only: original server error to surface in the browser overlay. */
34
+ initialDevServerError?: unknown;
33
35
  /** When true, wait for the full React tree (including Suspense boundaries)
34
36
  * to resolve before returning the HTML stream. Used for static prerender
35
37
  * and ISR cache writes to avoid caching fallback content. */
36
38
  waitForAllReady?: boolean;
37
- }): Promise<ReadableStream<Uint8Array>>;
39
+ }): Promise<AppSsrRenderResult>;
38
40
  declare const _default: {
39
41
  fetch(request: Request): Promise<Response>;
40
42
  };
41
43
  //#endregion
42
- export { FontData, FontPreload, _default as default, handleSsr };
43
- //# sourceMappingURL=app-ssr-entry.d.ts.map
44
+ export { FontData, FontPreload, _default as default, handleSsr };
@@ -4,19 +4,21 @@ import { isOpenRedirectShaped } from "./request-pipeline.js";
4
4
  import { AppElementsWire } from "./app-elements-wire.js";
5
5
  import "./app-elements.js";
6
6
  import { AppRouterContext } from "../shims/internal/app-router-context.js";
7
- import { ServerInsertedHTMLContext, appRouterInstance, clearServerInsertedHTML, renderServerInsertedHTML, setNavigationContext, useServerInsertedHTML } from "../shims/navigation.js";
7
+ import { ServerInsertedHTMLContext, appRouterInstance, clearServerInsertedHTML, getBfcacheIdMapContext, renderServerInsertedHTML, setNavigationContext, useServerInsertedHTML } from "../shims/navigation.js";
8
8
  import { runWithNavigationContext } from "../shims/navigation-state.js";
9
9
  import { withScriptNonce } from "../shims/script-nonce-context.js";
10
10
  import { createInlineScriptTag, createNonceAttribute, escapeHtmlAttr, safeJsonStringify } from "./html.js";
11
11
  import { getClientTraceMetadataHTML } from "./client-trace-metadata.js";
12
- import { ElementsContext, Slot } from "../shims/slot.js";
12
+ import { BfcacheStateKeyMapContext, ElementsContext, Slot } from "../shims/slot.js";
13
+ import { createSsrErrorMetaRenderer } from "./app-ssr-error-meta.js";
13
14
  import { createNavigationRuntimeRscMetadataScript, createRscEmbedTransform, createTickBufferedTransform } from "./app-ssr-stream.js";
15
+ import { BeforeInteractiveContext } from "../shims/before-interactive-context.js";
16
+ import { runWithRootParamsScope } from "../shims/root-params.js";
17
+ import { createBfcacheSegmentStateKeyMap, createInitialBfcacheIdMap } from "./app-browser-state.js";
14
18
  import { RSC_FORM_STATE_GLOBAL } from "./app-browser-hydration.js";
15
19
  import { createClientReferencePreloader } from "./app-client-reference-preloader.js";
16
20
  import { deferUntilStreamConsumed } from "./app-page-stream.js";
17
- import { runWithRootParamsScope } from "../shims/root-params.js";
18
- import { BeforeInteractiveContext } from "../shims/before-interactive-context.js";
19
- import { createSsrErrorMetaRenderer } from "./app-ssr-error-meta.js";
21
+ import { createInitialDevServerErrorScript } from "./dev-initial-server-error.js";
20
22
  import { Fragment, createElement, use } from "react";
21
23
  import { renderToReadableStream, renderToStaticMarkup } from "react-dom/server.edge";
22
24
  import { createFromReadableStream } from "@vitejs/plugin-rsc/ssr";
@@ -33,6 +35,7 @@ const clientReferencePreloader = createClientReferencePreloader({
33
35
  if (process.env.NODE_ENV !== "production") console.warn("[vinext] failed to preload client ref:", id, error);
34
36
  }
35
37
  });
38
+ const BfcacheIdMapContext = getBfcacheIdMapContext();
36
39
  function ssrErrorDigest(input) {
37
40
  let hash = 5381;
38
41
  for (let i = input.length - 1; i >= 0; i--) hash = hash * 33 ^ input.charCodeAt(i);
@@ -117,15 +120,20 @@ function buildModulePreloadHtml(bootstrapModuleUrl, nonce) {
117
120
  }
118
121
  function buildHeadInjectionHtml(navContext, bootstrapModuleUrl, formState, insertedHTML, fontHTML, scriptNonce) {
119
122
  const navPayload = {
120
- pathname: navContext?.pathname ?? "/",
121
- searchParams: navContext?.searchParams ? [...navContext.searchParams.entries()] : []
123
+ pathname: navContext.pathname,
124
+ searchParams: [...navContext.searchParams.entries()]
122
125
  };
123
- return createInlineScriptTag(createNavigationRuntimeRscMetadataScript(navContext?.params ?? {}, navPayload), scriptNonce) + (formState === null ? "" : createInlineScriptTag("self[" + safeJsonStringify(RSC_FORM_STATE_GLOBAL) + "]=" + safeJsonStringify(formState), scriptNonce)) + buildModulePreloadHtml(bootstrapModuleUrl, scriptNonce) + insertedHTML + fontHTML;
126
+ return createInlineScriptTag(createNavigationRuntimeRscMetadataScript(navContext.params, navPayload), scriptNonce) + (formState === null ? "" : createInlineScriptTag("self[" + safeJsonStringify(RSC_FORM_STATE_GLOBAL) + "]=" + safeJsonStringify(formState), scriptNonce)) + buildModulePreloadHtml(bootstrapModuleUrl, scriptNonce) + insertedHTML + fontHTML;
127
+ }
128
+ function requireNavigationContext(navContext) {
129
+ if (!navContext) throw new Error("App SSR requires navigation context for BFCache state keys");
130
+ return navContext;
124
131
  }
125
132
  async function handleSsr(rscStream, navContext, fontData, options) {
126
133
  return runWithNavigationContext(async () => {
134
+ const ssrNavigationContext = requireNavigationContext(navContext);
127
135
  await clientReferencePreloader.preload();
128
- if (navContext) setNavigationContext(navContext);
136
+ setNavigationContext(ssrNavigationContext);
129
137
  clearServerInsertedHTML();
130
138
  const cleanup = () => {
131
139
  setNavigationContext(null);
@@ -150,7 +158,12 @@ async function handleSsr(rscStream, navContext, fontData, options) {
150
158
  const wireElements = use(flightRoot);
151
159
  const elements = AppElementsWire.decode(wireElements);
152
160
  const metadata = AppElementsWire.readMetadata(elements);
153
- return createElement(ElementsContext.Provider, { value: elements }, createElement(Slot, { id: metadata.routeId }));
161
+ const routeTree = createElement(ElementsContext.Provider, { value: elements }, createElement(Slot, { id: metadata.routeId }));
162
+ const stateKeyTree = createElement(BfcacheStateKeyMapContext.Provider, { value: createBfcacheSegmentStateKeyMap({
163
+ elements,
164
+ pathname: ssrNavigationContext.pathname
165
+ }) }, routeTree);
166
+ return BfcacheIdMapContext ? createElement(BfcacheIdMapContext.Provider, { value: createInitialBfcacheIdMap(elements) }, stateKeyTree) : stateKeyTree;
154
167
  }
155
168
  const flightRootElement = createElement(VinextFlightRoot);
156
169
  const root = AppRouterContext ? createElement(AppRouterContext.Provider, { value: appRouterInstance }, flightRootElement) : flightRootElement;
@@ -172,7 +185,6 @@ async function handleSsr(rscStream, navContext, fontData, options) {
172
185
  if (process.env.NODE_ENV === "production" && error) return ssrErrorDigest(getErrorMessage(error) + (error instanceof Error ? error.stack ?? "" : ""));
173
186
  }
174
187
  });
175
- if (options?.waitForAllReady === true) await htmlStream.allReady;
176
188
  const inlineCssManifest = globalThis.__VINEXT_INLINE_CSS__;
177
189
  const fontStyles = fontData?.styles ?? [];
178
190
  const mergeFontStylesIntoInlineCss = fontStyles.length > 0 && hasInlineCssManifest(inlineCssManifest);
@@ -188,12 +200,18 @@ async function handleSsr(rscStream, navContext, fontData, options) {
188
200
  const getInsertedHTML = () => {
189
201
  const insertedHTML = renderInsertedHtml(renderServerInsertedHTML());
190
202
  const errorMetaHTML = errorMetaRenderer.flush();
203
+ const initialDevServerErrorHTML = createInitialDevServerErrorScript(options?.initialDevServerError, options?.scriptNonce);
191
204
  if (didInjectHeadHTML) return insertedHTML + errorMetaHTML;
192
205
  didInjectHeadHTML = true;
193
- return buildHeadInjectionHtml(navContext, bootstrapModuleUrl, options?.formState ?? null, insertedHTML + errorMetaHTML + getTraceMetaHTML(), fontHTML, options?.scriptNonce);
206
+ return buildHeadInjectionHtml(ssrNavigationContext, bootstrapModuleUrl, options?.formState ?? null, insertedHTML + errorMetaHTML + getTraceMetaHTML() + initialDevServerErrorHTML, fontHTML, options?.scriptNonce);
194
207
  };
195
208
  const getBeforeInteractiveHeadHTML = () => renderBeforeInteractiveInlineScripts(beforeInteractiveInlineScripts);
196
- return deferUntilStreamConsumed(htmlStream.pipeThrough(createTickBufferedTransform(rscEmbed, getInsertedHTML, getBeforeInteractiveHeadHTML, inlineCssManifest, inlineCssFontStyles, inlineCssFontStyleFallbackHTML, options?.scriptNonce)), cleanup);
209
+ if (options?.waitForAllReady === true) await htmlStream.allReady;
210
+ return {
211
+ htmlStream: deferUntilStreamConsumed(htmlStream.pipeThrough(createTickBufferedTransform(rscEmbed, getInsertedHTML, getBeforeInteractiveHeadHTML, inlineCssManifest, inlineCssFontStyles, inlineCssFontStyleFallbackHTML, options?.scriptNonce)), cleanup),
212
+ metadataReady: Promise.resolve(),
213
+ capturedRscData: options?.capturedRscDataRef?.value ?? null
214
+ };
197
215
  } catch (error) {
198
216
  cleanup();
199
217
  throw error;
@@ -210,5 +228,3 @@ var app_ssr_entry_default = { async fetch(request) {
210
228
  } };
211
229
  //#endregion
212
230
  export { app_ssr_entry_default as default, handleSsr };
213
-
214
- //# sourceMappingURL=app-ssr-entry.js.map
@@ -10,5 +10,4 @@ type SsrErrorMetaRenderer = {
10
10
  declare function renderSsrErrorMetaTags(errors: readonly unknown[], options?: SsrErrorMetaRenderOptions): string;
11
11
  declare function createSsrErrorMetaRenderer(options?: SsrErrorMetaRenderOptions): SsrErrorMetaRenderer;
12
12
  //#endregion
13
- export { createSsrErrorMetaRenderer, renderSsrErrorMetaTags };
14
- //# sourceMappingURL=app-ssr-error-meta.d.ts.map
13
+ export { createSsrErrorMetaRenderer, renderSsrErrorMetaTags };
@@ -46,5 +46,3 @@ function createSsrErrorMetaRenderer(options = {}) {
46
46
  }
47
47
  //#endregion
48
48
  export { createSsrErrorMetaRenderer, renderSsrErrorMetaTags };
49
-
50
- //# sourceMappingURL=app-ssr-error-meta.js.map
@@ -57,5 +57,4 @@ declare function fixPreloadAs(html: string): string;
57
57
  */
58
58
  declare function createTickBufferedTransform(rscEmbed: RscEmbedTransform, injectHTML?: HtmlInsertion, injectAfterHeadOpenHTML?: HtmlInsertion, inlineCssManifest?: InlineCssManifest, inlineCssPrependCss?: string, inlineCssPrependFallbackHTML?: string, inlineCssScriptNonce?: string): TransformStream<Uint8Array, Uint8Array>;
59
59
  //#endregion
60
- export { createNavigationRuntimeRscMetadataScript, createRscEmbedTransform, createTickBufferedTransform, fixFlightHints, fixPreloadAs, navigationRuntimeRscBootstrapExpression };
61
- //# sourceMappingURL=app-ssr-stream.d.ts.map
60
+ export { createNavigationRuntimeRscMetadataScript, createRscEmbedTransform, createTickBufferedTransform, fixFlightHints, fixPreloadAs, navigationRuntimeRscBootstrapExpression };