vinext 1.0.0-beta.8 → 1.0.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 (813) hide show
  1. package/README.md +158 -84
  2. package/THIRD_PARTY_LICENSES.md +25 -0
  3. package/dist/_virtual/_rolldown/runtime.js +25 -0
  4. package/dist/build/action-owner-manifest.d.ts +8 -9
  5. package/dist/build/action-owner-manifest.js +23 -5
  6. package/dist/build/assets-ignore.d.ts +3 -4
  7. package/dist/build/clean-output.d.ts +2 -3
  8. package/dist/build/client-build-config.d.ts +40 -12
  9. package/dist/build/client-build-config.js +76 -6
  10. package/dist/build/css-url-assets.d.ts +4 -5
  11. package/dist/build/css-url-assets.js +5 -2
  12. package/dist/build/google-fonts/build-url.d.ts +3 -4
  13. package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
  14. package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
  15. package/dist/build/google-fonts/font-metadata.d.ts +2 -3
  16. package/dist/build/google-fonts/get-axes.d.ts +2 -3
  17. package/dist/build/google-fonts/sort-variants.d.ts +2 -3
  18. package/dist/build/google-fonts/validate.d.ts +2 -3
  19. package/dist/build/google-fonts/validate.js +8 -4
  20. package/dist/build/inject-pregenerated-paths.d.ts +2 -3
  21. package/dist/build/inject-pregenerated-paths.js +16 -14
  22. package/dist/build/inline-css.d.ts +3 -4
  23. package/dist/build/layout-classification-types.d.ts +4 -5
  24. package/dist/build/layout-classification.d.ts +7 -8
  25. package/dist/build/lifecycle.d.ts +42 -0
  26. package/dist/build/lifecycle.js +253 -0
  27. package/dist/build/module-dependency-cache.d.ts +2 -3
  28. package/dist/build/next-client-runtime-manifests.d.ts +4 -5
  29. package/dist/build/nitro-route-rules.d.ts +6 -7
  30. package/dist/build/nitro-route-rules.js +1 -1
  31. package/dist/build/pages-client-assets-module.d.ts +4 -8
  32. package/dist/build/pages-client-assets-module.js +1 -13
  33. package/dist/build/precompress.d.ts +2 -3
  34. package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
  35. package/dist/build/prerender-cloudflare-loader.js +49 -0
  36. package/dist/build/prerender-paths.d.ts +82 -8
  37. package/dist/build/prerender-paths.js +814 -99
  38. package/dist/build/prerender-phase.d.ts +2 -3
  39. package/dist/build/prerender-server-entry.js +11 -3
  40. package/dist/build/prerender-server-pool.d.ts +9 -6
  41. package/dist/build/prerender-server-pool.js +8 -5
  42. package/dist/build/prerender.d.ts +67 -15
  43. package/dist/build/prerender.js +177 -64
  44. package/dist/build/preview-credentials.d.ts +5 -6
  45. package/dist/build/preview-credentials.js +2 -2
  46. package/dist/build/public-dir-conflict.d.ts +5 -6
  47. package/dist/build/public-dir-conflict.js +2 -1
  48. package/dist/build/report.d.ts +38 -19
  49. package/dist/build/report.js +73 -4
  50. package/dist/build/route-classification-injector.d.ts +2 -3
  51. package/dist/build/route-classification-manifest.d.ts +5 -6
  52. package/dist/build/run-prerender.d.ts +11 -9
  53. package/dist/build/run-prerender.js +25 -16
  54. package/dist/build/server-entry.d.ts +4 -0
  55. package/dist/build/server-entry.js +28 -0
  56. package/dist/build/server-manifest.d.ts +8 -3
  57. package/dist/build/server-manifest.js +14 -2
  58. package/dist/build/ssr-manifest.d.ts +5 -6
  59. package/dist/build/standalone.d.ts +2 -3
  60. package/dist/build/standalone.js +2 -2
  61. package/dist/build/static-export.d.ts +7 -8
  62. package/dist/cache/cache-adapters-virtual.d.ts +95 -9
  63. package/dist/cache/cache-adapters-virtual.js +58 -6
  64. package/dist/check.d.ts +11 -10
  65. package/dist/check.js +467 -176
  66. package/dist/cli-args.d.ts +7 -16
  67. package/dist/cli-args.js +2 -45
  68. package/dist/cli-dev-config.d.ts +10 -7
  69. package/dist/cli-dev-config.js +160 -3
  70. package/dist/cli.js +124 -435
  71. package/dist/client/app-nav-failure-handler.d.ts +6 -7
  72. package/dist/client/client-rewrite-matcher.d.ts +2 -3
  73. package/dist/client/client-rewrites.d.ts +4 -5
  74. package/dist/client/dev-error-overlay-store.d.ts +13 -14
  75. package/dist/client/dev-error-overlay.d.ts +15 -15
  76. package/dist/client/dev-error-overlay.js +8 -5
  77. package/dist/client/instrumentation-client-inject.d.ts +3 -4
  78. package/dist/client/instrumentation-client-state.d.ts +5 -6
  79. package/dist/client/instrumentation-client.d.ts +3 -4
  80. package/dist/client/navigation-runtime.d.ts +21 -17
  81. package/dist/client/navigation-runtime.js +2 -1
  82. package/dist/client/pages-router-link-navigation.d.ts +4 -5
  83. package/dist/client/react-instance.d.ts +2 -3
  84. package/dist/client/validate-module-path.d.ts +2 -3
  85. package/dist/client/vinext-next-data.d.ts +7 -8
  86. package/dist/client/window-next.d.ts +4 -5
  87. package/dist/config/config-matchers.d.ts +16 -16
  88. package/dist/config/config-matchers.js +10 -7
  89. package/dist/config/dotenv.d.ts +3 -4
  90. package/dist/config/dotenv.js +2 -1
  91. package/dist/config/next-config.d.ts +31 -27
  92. package/dist/config/next-config.js +163 -16
  93. package/dist/config/prerender.d.ts +20 -16
  94. package/dist/config/prerender.js +10 -4
  95. package/dist/config/request-context.d.ts +5 -6
  96. package/dist/config/server-external-packages.d.ts +14 -3
  97. package/dist/config/server-external-packages.js +37 -3
  98. package/dist/config/tsconfig-paths.d.ts +3 -4
  99. package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
  100. package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
  101. package/dist/entries/app-browser-entry.d.ts +5 -6
  102. package/dist/entries/app-browser-entry.js +3 -2
  103. package/dist/entries/app-rsc-entry.d.ts +12 -3
  104. package/dist/entries/app-rsc-entry.js +530 -55
  105. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  106. package/dist/entries/app-rsc-manifest.js +27 -8
  107. package/dist/entries/app-ssr-entry.d.ts +2 -3
  108. package/dist/entries/app-ssr-entry.js +8 -1
  109. package/dist/entries/pages-client-entry.d.ts +3 -3
  110. package/dist/entries/pages-client-entry.js +17 -2
  111. package/dist/entries/pages-server-entry.d.ts +13 -3
  112. package/dist/entries/pages-server-entry.js +237 -33
  113. package/dist/entries/runtime-entry-module.d.ts +4 -5
  114. package/dist/image/image-adapters-virtual.d.ts +4 -5
  115. package/dist/index.d.ts +10 -11
  116. package/dist/index.js +832 -199
  117. package/dist/init-cloudflare.d.ts +27 -16
  118. package/dist/init-cloudflare.js +754 -113
  119. package/dist/init-platform.d.ts +26 -22
  120. package/dist/init-platform.js +85 -29
  121. package/dist/init.d.ts +19 -13
  122. package/dist/init.js +123 -41
  123. package/dist/plugins/action-owner-manifest.d.ts +3 -4
  124. package/dist/plugins/action-owner-manifest.js +10 -3
  125. package/dist/plugins/ast-scope.d.ts +10 -11
  126. package/dist/plugins/ast-scope.js +10 -22
  127. package/dist/plugins/ast-utils.d.ts +16 -29
  128. package/dist/plugins/ast-utils.js +27 -71
  129. package/dist/plugins/async-hooks-stub.d.ts +2 -3
  130. package/dist/plugins/client-reference-dedup.d.ts +4 -5
  131. package/dist/plugins/css-data-url.d.ts +2 -3
  132. package/dist/plugins/css-module-imports.d.ts +3 -4
  133. package/dist/plugins/css-module-imports.js +1 -1
  134. package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
  135. package/dist/plugins/dynamic-preload-metadata.js +55 -154
  136. package/dist/plugins/environment.d.ts +2 -3
  137. package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
  138. package/dist/plugins/extensionless-dynamic-import.js +6 -10
  139. package/dist/plugins/fonts.d.ts +10 -11
  140. package/dist/plugins/fonts.js +4 -3
  141. package/dist/plugins/ignore-dynamic-requests.d.ts +3 -4
  142. package/dist/plugins/ignore-dynamic-requests.js +60 -89
  143. package/dist/plugins/import-meta-url.d.ts +6 -7
  144. package/dist/plugins/import-meta-url.js +31 -43
  145. package/dist/plugins/instrumentation-client.d.ts +3 -3
  146. package/dist/plugins/instrumentation-client.js +46 -10
  147. package/dist/plugins/middleware-export-validation.d.ts +3 -4
  148. package/dist/plugins/middleware-export-validation.js +3 -3
  149. package/dist/plugins/middleware-server-only.d.ts +2 -3
  150. package/dist/plugins/og-asset-ownership.d.ts +3 -4
  151. package/dist/plugins/og-assets.d.ts +4 -5
  152. package/dist/plugins/og-assets.js +32 -13
  153. package/dist/plugins/og-harfbuzz.d.ts +24 -0
  154. package/dist/plugins/og-harfbuzz.js +260 -0
  155. package/dist/plugins/optimize-imports.d.ts +7 -7
  156. package/dist/plugins/optimize-imports.js +32 -44
  157. package/dist/plugins/pages-node-externals.d.ts +2 -3
  158. package/dist/plugins/pages-node-externals.js +6 -11
  159. package/dist/plugins/postcss.d.ts +8 -4
  160. package/dist/plugins/postcss.js +1 -1
  161. package/dist/plugins/remove-console.d.ts +2 -3
  162. package/dist/plugins/remove-console.js +0 -1
  163. package/dist/plugins/require-condition-resolution.d.ts +3 -4
  164. package/dist/plugins/require-condition-resolution.js +17 -18
  165. package/dist/plugins/require-context.d.ts +2 -3
  166. package/dist/plugins/require-context.js +13 -21
  167. package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
  168. package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
  169. package/dist/plugins/rsc-client-shim-excludes.js +1 -0
  170. package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
  171. package/dist/plugins/sass.d.ts +7 -8
  172. package/dist/plugins/sass.js +7 -4
  173. package/dist/plugins/server-externals-manifest.d.ts +2 -3
  174. package/dist/plugins/strip-server-exports.d.ts +5 -6
  175. package/dist/plugins/strip-server-exports.js +1 -1
  176. package/dist/plugins/styled-jsx.d.ts +2 -3
  177. package/dist/plugins/styled-jsx.js +7 -7
  178. package/dist/plugins/transform-cache.d.ts +2 -3
  179. package/dist/plugins/transform-result.d.ts +3 -4
  180. package/dist/plugins/transitive-externals.d.ts +2 -3
  181. package/dist/plugins/typeof-window.d.ts +6 -7
  182. package/dist/plugins/typeof-window.js +30 -31
  183. package/dist/plugins/use-cache-callable.d.ts +2 -5
  184. package/dist/plugins/use-cache-callable.js +43 -22
  185. package/dist/plugins/wasm-module-import.d.ts +2 -3
  186. package/dist/plugins/worker-image-imports.d.ts +2 -3
  187. package/dist/plugins/worker-image-imports.js +6 -8
  188. package/dist/routing/app-route-graph.d.ts +19 -19
  189. package/dist/routing/app-route-graph.js +3 -2
  190. package/dist/routing/app-router.d.ts +20 -5
  191. package/dist/routing/app-router.js +28 -2
  192. package/dist/routing/file-matcher.d.ts +9 -10
  193. package/dist/routing/pages-router.d.ts +6 -6
  194. package/dist/routing/pages-router.js +1 -1
  195. package/dist/routing/route-matching.d.ts +4 -5
  196. package/dist/routing/route-matching.js +4 -2
  197. package/dist/routing/route-pattern.d.ts +13 -14
  198. package/dist/routing/route-trie.d.ts +5 -6
  199. package/dist/routing/route-validation.d.ts +3 -4
  200. package/dist/routing/route-validation.js +12 -11
  201. package/dist/routing/utils.d.ts +13 -14
  202. package/dist/server/accept-encoding.d.ts +9 -10
  203. package/dist/server/api-handler.d.ts +2 -3
  204. package/dist/server/api-handler.js +9 -6
  205. package/dist/server/app-action-forwarding.d.ts +3 -4
  206. package/dist/server/app-action-forwarding.js +1 -1
  207. package/dist/server/app-action-request.d.ts +2 -3
  208. package/dist/server/app-bfcache-id.d.ts +3 -4
  209. package/dist/server/app-bfcache-identity.d.ts +8 -9
  210. package/dist/server/app-browser-action-result.d.ts +15 -16
  211. package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
  212. package/dist/server/app-browser-entry.js +121 -40
  213. package/dist/server/app-browser-error.d.ts +5 -6
  214. package/dist/server/app-browser-error.js +9 -3
  215. package/dist/server/app-browser-history-controller.d.ts +4 -5
  216. package/dist/server/app-browser-hydration.d.ts +16 -6
  217. package/dist/server/app-browser-hydration.js +14 -1
  218. package/dist/server/app-browser-interception-context.d.ts +3 -4
  219. package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
  220. package/dist/server/app-browser-navigation-abort.d.ts +3 -4
  221. package/dist/server/app-browser-navigation-controller.d.ts +8 -8
  222. package/dist/server/app-browser-navigation-controller.js +9 -5
  223. package/dist/server/app-browser-navigation-response.d.ts +2 -3
  224. package/dist/server/app-browser-popstate.d.ts +4 -5
  225. package/dist/server/app-browser-prefetch-response.d.ts +5 -6
  226. package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
  227. package/dist/server/app-browser-server-action-client.d.ts +7 -6
  228. package/dist/server/app-browser-server-action-client.js +9 -5
  229. package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
  230. package/dist/server/app-browser-state.d.ts +17 -17
  231. package/dist/server/app-browser-state.js +7 -3
  232. package/dist/server/app-browser-stream.d.ts +4 -5
  233. package/dist/server/app-browser-stream.js +8 -6
  234. package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
  235. package/dist/server/app-browser-visible-commit.d.ts +6 -7
  236. package/dist/server/app-browser-visible-commit.js +1 -1
  237. package/dist/server/app-client-reference-preloader.d.ts +2 -3
  238. package/dist/server/app-elements-wire-key.d.ts +25 -0
  239. package/dist/server/app-elements-wire-key.js +69 -0
  240. package/dist/server/app-elements-wire.d.ts +34 -53
  241. package/dist/server/app-elements-wire.js +4 -75
  242. package/dist/server/app-elements.d.ts +5 -5
  243. package/dist/server/app-elements.js +1 -1
  244. package/dist/server/app-fallback-renderer.d.ts +4 -4
  245. package/dist/server/app-fallback-renderer.js +6 -6
  246. package/dist/server/app-fetch-tracing.d.ts +15 -0
  247. package/dist/server/app-fetch-tracing.js +38 -0
  248. package/dist/server/app-history-state.d.ts +26 -27
  249. package/dist/server/app-history-state.js +19 -11
  250. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  251. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  252. package/dist/server/app-inline-css-client.d.ts +3 -4
  253. package/dist/server/app-interception-context-header.d.ts +2 -3
  254. package/dist/server/app-layout-param-observation.d.ts +7 -8
  255. package/dist/server/app-metadata-tracing.d.ts +12 -0
  256. package/dist/server/app-metadata-tracing.js +17 -0
  257. package/dist/server/app-middleware.d.ts +15 -7
  258. package/dist/server/app-middleware.js +30 -5
  259. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  260. package/dist/server/app-mounted-slots-header.js +2 -2
  261. package/dist/server/app-optimistic-routing.d.ts +14 -10
  262. package/dist/server/app-optimistic-routing.js +16 -3
  263. package/dist/server/app-page-boundary-render.d.ts +6 -6
  264. package/dist/server/app-page-boundary-render.js +10 -4
  265. package/dist/server/app-page-boundary.d.ts +9 -10
  266. package/dist/server/app-page-boundary.js +2 -1
  267. package/dist/server/app-page-cache-finalizer.d.ts +32 -8
  268. package/dist/server/app-page-cache-finalizer.js +118 -14
  269. package/dist/server/app-page-cache-render.d.ts +8 -5
  270. package/dist/server/app-page-cache-render.js +22 -5
  271. package/dist/server/app-page-cache.d.ts +28 -9
  272. package/dist/server/app-page-cache.js +96 -25
  273. package/dist/server/app-page-dispatch.d.ts +36 -12
  274. package/dist/server/app-page-dispatch.js +188 -63
  275. package/dist/server/app-page-element-builder.d.ts +13 -11
  276. package/dist/server/app-page-element-builder.js +104 -61
  277. package/dist/server/app-page-execution.d.ts +14 -14
  278. package/dist/server/app-page-execution.js +12 -8
  279. package/dist/server/app-page-head.d.ts +19 -16
  280. package/dist/server/app-page-head.js +25 -25
  281. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  282. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  283. package/dist/server/app-page-method.d.ts +5 -11
  284. package/dist/server/app-page-method.js +2 -9
  285. package/dist/server/app-page-params.d.ts +5 -6
  286. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  287. package/dist/server/app-page-probe.d.ts +5 -6
  288. package/dist/server/app-page-probe.js +5 -4
  289. package/dist/server/app-page-render-identity.d.ts +4 -5
  290. package/dist/server/app-page-render-observation.d.ts +8 -9
  291. package/dist/server/app-page-render-observation.js +1 -1
  292. package/dist/server/app-page-render.d.ts +42 -6
  293. package/dist/server/app-page-render.js +192 -28
  294. package/dist/server/app-page-request.d.ts +10 -9
  295. package/dist/server/app-page-request.js +16 -12
  296. package/dist/server/app-page-response.d.ts +20 -9
  297. package/dist/server/app-page-response.js +31 -13
  298. package/dist/server/app-page-route-wiring.d.ts +15 -15
  299. package/dist/server/app-page-route-wiring.js +31 -24
  300. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  301. package/dist/server/app-page-search-params-observation.js +42 -6
  302. package/dist/server/app-page-segment-plan.d.ts +2 -3
  303. package/dist/server/app-page-segment-state.d.ts +11 -12
  304. package/dist/server/app-page-stream.d.ts +27 -11
  305. package/dist/server/app-page-stream.js +35 -6
  306. package/dist/server/app-page-tracing.d.ts +33 -0
  307. package/dist/server/app-page-tracing.js +49 -0
  308. package/dist/server/app-pages-bridge.d.ts +6 -6
  309. package/dist/server/app-pages-bridge.js +19 -4
  310. package/dist/server/app-post-middleware-context.d.ts +2 -3
  311. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  312. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  313. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  314. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  315. package/dist/server/app-prerender-endpoints.js +26 -12
  316. package/dist/server/app-prerender-static-params.d.ts +15 -7
  317. package/dist/server/app-prerender-static-params.js +33 -11
  318. package/dist/server/app-render-dependency.d.ts +14 -13
  319. package/dist/server/app-render-dependency.js +5 -1
  320. package/dist/server/app-request-context.d.ts +3 -4
  321. package/dist/server/app-request-stage-context.d.ts +5 -0
  322. package/dist/server/app-request-stage-context.js +11 -0
  323. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  324. package/dist/server/app-request-stage-dispatch.js +54 -0
  325. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  326. package/dist/server/app-request-stage-independent-entry.js +115 -0
  327. package/dist/server/app-response-header-provenance.d.ts +13 -7
  328. package/dist/server/app-response-header-provenance.js +34 -1
  329. package/dist/server/app-response-stage-entry.d.ts +9 -0
  330. package/dist/server/app-response-stage-entry.js +87 -0
  331. package/dist/server/app-route-handler-cache.d.ts +2 -3
  332. package/dist/server/app-route-handler-cache.js +46 -34
  333. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  334. package/dist/server/app-route-handler-dispatch.js +75 -57
  335. package/dist/server/app-route-handler-execution.d.ts +18 -13
  336. package/dist/server/app-route-handler-execution.js +189 -25
  337. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  338. package/dist/server/app-route-handler-middleware-context.js +15 -0
  339. package/dist/server/app-route-handler-policy.d.ts +22 -10
  340. package/dist/server/app-route-handler-policy.js +19 -4
  341. package/dist/server/app-route-handler-response.d.ts +9 -10
  342. package/dist/server/app-route-handler-response.js +2 -0
  343. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  344. package/dist/server/app-route-handler-runtime.js +20 -16
  345. package/dist/server/app-route-module-loader.d.ts +6 -7
  346. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  347. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  348. package/dist/server/app-route-tree-prefetch.js +2 -1
  349. package/dist/server/app-router-entry.d.ts +2 -0
  350. package/dist/server/app-router-entry.js +76 -12
  351. package/dist/server/app-rsc-cache-busting.d.ts +47 -22
  352. package/dist/server/app-rsc-cache-busting.js +80 -18
  353. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  354. package/dist/server/app-rsc-combined-handler.js +11 -0
  355. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  356. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  357. package/dist/server/app-rsc-error-handler.js +15 -6
  358. package/dist/server/app-rsc-errors.d.ts +12 -9
  359. package/dist/server/app-rsc-errors.js +15 -13
  360. package/dist/server/app-rsc-handler.d.ts +33 -6
  361. package/dist/server/app-rsc-handler.js +498 -83
  362. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  363. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  364. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  365. package/dist/server/app-rsc-request-normalization.js +2 -1
  366. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  367. package/dist/server/app-rsc-response-finalizer.js +24 -7
  368. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  369. package/dist/server/app-rsc-response-stage.js +251 -0
  370. package/dist/server/app-rsc-route-matching.d.ts +4 -4
  371. package/dist/server/app-rsc-route-matching.js +4 -2
  372. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  373. package/dist/server/app-rsc-vary.d.ts +16 -0
  374. package/dist/server/app-rsc-vary.js +31 -0
  375. package/dist/server/app-segment-config.d.ts +120 -6
  376. package/dist/server/app-segment-config.js +264 -12
  377. package/dist/server/app-server-action-execution.d.ts +16 -12
  378. package/dist/server/app-server-action-execution.js +88 -35
  379. package/dist/server/app-ssr-entry.d.ts +14 -4
  380. package/dist/server/app-ssr-entry.js +64 -17
  381. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  382. package/dist/server/app-ssr-error-meta.js +2 -1
  383. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  384. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  385. package/dist/server/app-ssr-search-params-gate.js +54 -0
  386. package/dist/server/app-ssr-stream.d.ts +13 -9
  387. package/dist/server/app-ssr-stream.js +33 -7
  388. package/dist/server/app-static-generation.d.ts +4 -5
  389. package/dist/server/app-visited-response-cache.d.ts +11 -12
  390. package/dist/server/app-visited-response-cache.js +2 -2
  391. package/dist/server/app-worker-stages.d.ts +112 -0
  392. package/dist/server/app-worker-stages.js +105 -0
  393. package/dist/server/artifact-compatibility.d.ts +11 -12
  394. package/dist/server/before-interactive-head.d.ts +2 -3
  395. package/dist/server/bfcache-identity.d.ts +7 -8
  396. package/dist/server/cache-control.d.ts +39 -11
  397. package/dist/server/cache-control.js +104 -7
  398. package/dist/server/cache-headers.d.ts +3 -4
  399. package/dist/server/cache-proof.d.ts +75 -70
  400. package/dist/server/cache-proof.js +9 -1
  401. package/dist/server/cacheability-limits.d.ts +8 -0
  402. package/dist/server/cacheability-limits.js +9 -0
  403. package/dist/server/cacheability-manifest.d.ts +68 -0
  404. package/dist/server/cacheability-manifest.js +241 -0
  405. package/dist/server/cacheability-request.d.ts +49 -0
  406. package/dist/server/cacheability-request.js +559 -0
  407. package/dist/server/client-reuse-manifest.d.ts +17 -18
  408. package/dist/server/client-reuse-manifest.js +2 -2
  409. package/dist/server/client-trace-metadata.d.ts +9 -6
  410. package/dist/server/client-trace-metadata.js +27 -15
  411. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  412. package/dist/server/cloudflare-workers-tracing.js +8 -0
  413. package/dist/server/config-headers.d.ts +19 -5
  414. package/dist/server/config-headers.js +39 -5
  415. package/dist/server/cookie-utils.d.ts +2 -3
  416. package/dist/server/csp.d.ts +5 -6
  417. package/dist/server/default-global-error-module.d.ts +2 -3
  418. package/dist/server/default-global-not-found-module.d.ts +2 -3
  419. package/dist/server/default-not-found-module.d.ts +2 -3
  420. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  421. package/dist/server/defer-until-stream-consumed.js +2 -1
  422. package/dist/server/dev-initial-server-error.d.ts +3 -4
  423. package/dist/server/dev-initial-server-error.js +2 -1
  424. package/dist/server/dev-lockfile.d.ts +7 -8
  425. package/dist/server/dev-lockfile.js +4 -1
  426. package/dist/server/dev-module-runner.d.ts +2 -3
  427. package/dist/server/dev-origin-check.d.ts +5 -6
  428. package/dist/server/dev-route-files.d.ts +2 -3
  429. package/dist/server/dev-server.d.ts +4 -5
  430. package/dist/server/dev-server.js +130 -61
  431. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  432. package/dist/server/dev-stack-sourcemap.js +1 -1
  433. package/dist/server/document-initial-head.d.ts +3 -4
  434. package/dist/server/edge-api-runtime.d.ts +4 -5
  435. package/dist/server/fetch-handler.d.ts +3 -2
  436. package/dist/server/fetch-handler.js +3 -18
  437. package/dist/server/file-based-metadata.d.ts +2 -3
  438. package/dist/server/framework-tracer.d.ts +46 -0
  439. package/dist/server/framework-tracer.js +125 -0
  440. package/dist/server/fully-buffered-response.d.ts +11 -0
  441. package/dist/server/fully-buffered-response.js +19 -0
  442. package/dist/server/headers.d.ts +62 -56
  443. package/dist/server/headers.js +33 -20
  444. package/dist/server/html.d.ts +6 -27
  445. package/dist/server/html.js +16 -1
  446. package/dist/server/http-conditional.d.ts +5 -6
  447. package/dist/server/http-date.d.ts +2 -3
  448. package/dist/server/http-error-responses.d.ts +9 -10
  449. package/dist/server/http-range.d.ts +4 -5
  450. package/dist/server/hybrid-route-priority.d.ts +4 -5
  451. package/dist/server/image-optimization.d.ts +20 -21
  452. package/dist/server/implicit-tags.d.ts +3 -4
  453. package/dist/server/instrumentation-runtime.d.ts +17 -21
  454. package/dist/server/instrumentation-runtime.js +26 -8
  455. package/dist/server/instrumentation.d.ts +26 -30
  456. package/dist/server/instrumentation.js +18 -23
  457. package/dist/server/isr-cache.d.ts +28 -27
  458. package/dist/server/isr-cache.js +18 -70
  459. package/dist/server/isr-decision.d.ts +4 -4
  460. package/dist/server/metadata-route-build-data.d.ts +4 -5
  461. package/dist/server/metadata-route-cache-policy.d.ts +2 -3
  462. package/dist/server/metadata-route-response.d.ts +7 -7
  463. package/dist/server/metadata-route-response.js +68 -2
  464. package/dist/server/metadata-routes.d.ts +18 -19
  465. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  466. package/dist/server/middleware-matcher.d.ts +13 -6
  467. package/dist/server/middleware-matcher.js +22 -1
  468. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  469. package/dist/server/middleware-path-to-regexp.js +11 -9
  470. package/dist/server/middleware-response-headers.d.ts +3 -4
  471. package/dist/server/middleware-runtime.d.ts +13 -8
  472. package/dist/server/middleware-runtime.js +54 -10
  473. package/dist/server/middleware.d.ts +5 -5
  474. package/dist/server/multi-stage.d.ts +141 -0
  475. package/dist/server/multi-stage.js +8 -0
  476. package/dist/server/navigation-planner.d.ts +26 -26
  477. package/dist/server/navigation-trace.d.ts +11 -12
  478. package/dist/server/next-error-digest.d.ts +4 -5
  479. package/dist/server/normalize-path.d.ts +5 -6
  480. package/dist/server/normalize-path.js +1 -1
  481. package/dist/server/open-redirect.d.ts +2 -3
  482. package/dist/server/opentelemetry-api.d.ts +59 -0
  483. package/dist/server/opentelemetry-api.js +53 -0
  484. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  485. package/dist/server/opentelemetry-tracing.js +83 -0
  486. package/dist/server/operation-token.d.ts +11 -12
  487. package/dist/server/otel-tracer-extension.d.ts +7 -9
  488. package/dist/server/otel-tracer-extension.js +37 -36
  489. package/dist/server/pages-api-route.d.ts +5 -4
  490. package/dist/server/pages-api-route.js +21 -8
  491. package/dist/server/pages-asset-tags.d.ts +6 -6
  492. package/dist/server/pages-asset-tags.js +37 -2
  493. package/dist/server/pages-body-parser-config.d.ts +4 -5
  494. package/dist/server/pages-body-parser-config.js +4 -4
  495. package/dist/server/pages-client-assets.d.ts +11 -5
  496. package/dist/server/pages-data-route.d.ts +11 -12
  497. package/dist/server/pages-data-route.js +1 -1
  498. package/dist/server/pages-default-404.d.ts +3 -4
  499. package/dist/server/pages-dev-hydration.d.ts +9 -4
  500. package/dist/server/pages-dev-hydration.js +19 -7
  501. package/dist/server/pages-dev-module-url.d.ts +3 -4
  502. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  503. package/dist/server/pages-document-asset-props.d.ts +6 -7
  504. package/dist/server/pages-document-initial-props.d.ts +5 -5
  505. package/dist/server/pages-document-initial-props.js +4 -2
  506. package/dist/server/pages-execution-tracing.d.ts +40 -0
  507. package/dist/server/pages-execution-tracing.js +80 -0
  508. package/dist/server/pages-get-initial-props.d.ts +9 -10
  509. package/dist/server/pages-i18n.d.ts +8 -8
  510. package/dist/server/pages-i18n.js +3 -2
  511. package/dist/server/pages-media-type.d.ts +4 -5
  512. package/dist/server/pages-node-compat.d.ts +11 -10
  513. package/dist/server/pages-node-compat.js +12 -4
  514. package/dist/server/pages-page-data.d.ts +18 -19
  515. package/dist/server/pages-page-data.js +11 -10
  516. package/dist/server/pages-page-handler.d.ts +7 -6
  517. package/dist/server/pages-page-handler.js +98 -47
  518. package/dist/server/pages-page-method.d.ts +2 -3
  519. package/dist/server/pages-page-response.d.ts +14 -10
  520. package/dist/server/pages-page-response.js +49 -31
  521. package/dist/server/pages-preview.d.ts +10 -11
  522. package/dist/server/pages-readiness.d.ts +2 -3
  523. package/dist/server/pages-request-pipeline.d.ts +16 -12
  524. package/dist/server/pages-request-pipeline.js +69 -28
  525. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  526. package/dist/server/pages-request-stage-entry.js +314 -0
  527. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  528. package/dist/server/pages-response-stage-entry.js +106 -0
  529. package/dist/server/pages-response-stage.d.ts +31 -0
  530. package/dist/server/pages-response-stage.js +49 -0
  531. package/dist/server/pages-revalidate.d.ts +3 -4
  532. package/dist/server/pages-revalidate.js +9 -4
  533. package/dist/server/pages-route-data-kind.d.ts +18 -0
  534. package/dist/server/pages-route-data-kind.js +11 -0
  535. package/dist/server/pages-router-entry.d.ts +1 -25
  536. package/dist/server/pages-router-entry.js +48 -114
  537. package/dist/server/pages-serializable-props.d.ts +3 -4
  538. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  539. package/dist/server/pregenerated-concrete-paths.js +12 -6
  540. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  541. package/dist/server/prerender-manifest.d.ts +11 -11
  542. package/dist/server/prerender-manifest.js +6 -3
  543. package/dist/server/prerender-route-params.d.ts +16 -9
  544. package/dist/server/prerender-route-params.js +18 -2
  545. package/dist/server/prerender-work-unit-setup.d.ts +4 -4
  546. package/dist/server/prerender-work-unit-setup.js +37 -14
  547. package/dist/server/prod-server.d.ts +12 -9
  548. package/dist/server/prod-server.js +129 -36
  549. package/dist/server/proxy-trust.d.ts +5 -6
  550. package/dist/server/request-log.d.ts +3 -4
  551. package/dist/server/request-pipeline.d.ts +17 -21
  552. package/dist/server/request-pipeline.js +8 -10
  553. package/dist/server/request-stage.d.ts +5 -0
  554. package/dist/server/request-stage.js +7 -0
  555. package/dist/server/request-tracing.d.ts +22 -0
  556. package/dist/server/request-tracing.js +180 -0
  557. package/dist/server/response-stage-cacheability.d.ts +37 -0
  558. package/dist/server/response-stage-cacheability.js +55 -0
  559. package/dist/server/response-stage-policy.d.ts +23 -0
  560. package/dist/server/response-stage-policy.js +89 -0
  561. package/dist/server/response-stage.d.ts +5 -0
  562. package/dist/server/response-stage.js +7 -0
  563. package/dist/server/response-start-tracing.d.ts +14 -0
  564. package/dist/server/response-start-tracing.js +80 -0
  565. package/dist/server/revalidation-host.d.ts +2 -3
  566. package/dist/server/revalidation-host.js +2 -1
  567. package/dist/server/revalidation-request.d.ts +8 -0
  568. package/dist/server/revalidation-request.js +37 -0
  569. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  570. package/dist/server/rsc-stream-hints.d.ts +18 -7
  571. package/dist/server/rsc-stream-hints.js +70 -35
  572. package/dist/server/seed-cache.d.ts +2 -3
  573. package/dist/server/seed-cache.js +8 -7
  574. package/dist/server/server-action-not-found.d.ts +5 -6
  575. package/dist/server/server-globals.d.ts +2 -3
  576. package/dist/server/server-globals.js +13 -0
  577. package/dist/server/skip-cache-proof.d.ts +4 -4
  578. package/dist/server/socket-error-backstop.d.ts +5 -6
  579. package/dist/server/socket-error-backstop.js +1 -1
  580. package/dist/server/static-file-cache.d.ts +5 -6
  581. package/dist/server/static-file-cache.js +9 -7
  582. package/dist/server/static-file-signal.d.ts +16 -0
  583. package/dist/server/static-file-signal.js +82 -0
  584. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  585. package/dist/server/streaming-metadata.d.ts +2 -3
  586. package/dist/server/tracer.d.ts +5 -0
  587. package/dist/server/tracer.js +13 -0
  588. package/dist/server/worker-prerender-discovery.d.ts +18 -0
  589. package/dist/server/worker-prerender-discovery.js +55 -0
  590. package/dist/server/worker-revalidation-context.d.ts +2 -3
  591. package/dist/server/worker-revalidation-context.js +5 -5
  592. package/dist/server/worker-stages.d.ts +43 -0
  593. package/dist/server/worker-stages.js +25 -0
  594. package/dist/server/worker-utils.d.ts +5 -6
  595. package/dist/server/worker-utils.js +4 -4
  596. package/dist/server/workers-tracing.d.ts +17 -0
  597. package/dist/server/workers-tracing.js +27 -0
  598. package/dist/shims/amp.d.ts +3 -4
  599. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  600. package/dist/shims/app-router-scroll.d.ts +4 -5
  601. package/dist/shims/app-router-scroll.js +2 -1
  602. package/dist/shims/app.d.ts +5 -6
  603. package/dist/shims/before-interactive-context.d.ts +5 -6
  604. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  605. package/dist/shims/cache-callable-runtime.js +168 -8
  606. package/dist/shims/cache-for-request.d.ts +2 -3
  607. package/dist/shims/cache-handler.d.ts +33 -20
  608. package/dist/shims/cache-handler.js +61 -2
  609. package/dist/shims/cache-request-state.d.ts +28 -29
  610. package/dist/shims/cache-runtime.d.ts +23 -21
  611. package/dist/shims/cache-runtime.js +239 -121
  612. package/dist/shims/cache.d.ts +15 -15
  613. package/dist/shims/cache.js +25 -13
  614. package/dist/shims/cacheability-classification.d.ts +106 -0
  615. package/dist/shims/cacheability-classification.js +161 -0
  616. package/dist/shims/cdn-cache-state.d.ts +13 -0
  617. package/dist/shims/cdn-cache-state.js +23 -0
  618. package/dist/shims/cdn-cache.d.ts +76 -18
  619. package/dist/shims/cdn-cache.js +40 -39
  620. package/dist/shims/client-hook-error.d.ts +3 -4
  621. package/dist/shims/client-locale.d.ts +2 -3
  622. package/dist/shims/client-page-root.d.ts +24 -0
  623. package/dist/shims/client-page-root.js +121 -0
  624. package/dist/shims/compat-router.d.ts +2 -3
  625. package/dist/shims/config.d.ts +3 -4
  626. package/dist/shims/constants.d.ts +73 -74
  627. package/dist/shims/constants.js +1 -1
  628. package/dist/shims/default-not-found.d.ts +2 -3
  629. package/dist/shims/document.d.ts +9 -9
  630. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  631. package/dist/shims/dynamic-preload-chunks.js +17 -13
  632. package/dist/shims/dynamic.d.ts +3 -3
  633. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  634. package/dist/shims/error-boundary.d.ts +17 -18
  635. package/dist/shims/error-boundary.js +17 -11
  636. package/dist/shims/error.d.ts +4 -4
  637. package/dist/shims/error.js +1 -1
  638. package/dist/shims/error.react-server.d.ts +3 -4
  639. package/dist/shims/fetch-cache.d.ts +22 -22
  640. package/dist/shims/fetch-cache.js +50 -20
  641. package/dist/shims/font-google-base.d.ts +9 -9
  642. package/dist/shims/font-google-base.js +2 -1
  643. package/dist/shims/font-local.d.ts +3 -3
  644. package/dist/shims/font-local.js +1 -1
  645. package/dist/shims/font-utils.d.ts +14 -15
  646. package/dist/shims/form.d.ts +2 -2
  647. package/dist/shims/form.js +10 -7
  648. package/dist/shims/hash-scroll.d.ts +5 -6
  649. package/dist/shims/head-state.d.ts +4 -5
  650. package/dist/shims/head.d.ts +16 -16
  651. package/dist/shims/head.js +5 -4
  652. package/dist/shims/headers.d.ts +68 -32
  653. package/dist/shims/headers.js +101 -10
  654. package/dist/shims/i18n-context.d.ts +5 -6
  655. package/dist/shims/i18n-state.d.ts +4 -5
  656. package/dist/shims/image-config.d.ts +5 -6
  657. package/dist/shims/image-config.js +2 -0
  658. package/dist/shims/image.d.ts +5 -5
  659. package/dist/shims/image.js +12 -8
  660. package/dist/shims/internal/als-registry.d.ts +4 -5
  661. package/dist/shims/internal/api-utils.d.ts +3 -4
  662. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  663. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  664. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  665. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +13 -0
  666. package/dist/shims/internal/app-prefetch-rsc-request.js +12 -0
  667. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  668. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -6
  669. package/dist/shims/internal/app-route-prefetch-policy.js +1 -0
  670. package/dist/shims/internal/app-router-context.d.ts +9 -10
  671. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  672. package/dist/shims/internal/format-url-object.d.ts +7 -0
  673. package/dist/shims/internal/format-url-object.js +53 -0
  674. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  675. package/dist/shims/internal/hybrid-client-route-owner-direct.js +29 -11
  676. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  677. package/dist/shims/internal/hybrid-client-route-owner.js +5 -4
  678. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  679. package/dist/shims/internal/interpolate-as.js +4 -2
  680. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  681. package/dist/shims/internal/make-hanging-promise.d.ts +8 -3
  682. package/dist/shims/internal/make-hanging-promise.js +13 -2
  683. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  684. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  685. package/dist/shims/internal/normalize-router-href.js +41 -0
  686. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  687. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  688. package/dist/shims/internal/pages-data-target.js +32 -36
  689. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  690. package/dist/shims/internal/pages-data-url.js +2 -1
  691. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  692. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  693. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  694. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  695. package/dist/shims/internal/router-context.d.ts +2 -3
  696. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  697. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  698. package/dist/shims/internal/utils.d.ts +7 -8
  699. package/dist/shims/internal/work-unit-async-storage.d.ts +12 -11
  700. package/dist/shims/layout-segment-context.d.ts +3 -4
  701. package/dist/shims/link-prefetch.d.ts +9 -10
  702. package/dist/shims/link.d.ts +4 -4
  703. package/dist/shims/link.js +67 -116
  704. package/dist/shims/metadata.d.ts +15 -16
  705. package/dist/shims/metadata.js +40 -36
  706. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  707. package/dist/shims/navigation-context-accessors.js +19 -0
  708. package/dist/shims/navigation-context-state.d.ts +27 -18
  709. package/dist/shims/navigation-errors.d.ts +18 -19
  710. package/dist/shims/navigation-state.d.ts +6 -7
  711. package/dist/shims/navigation.d.ts +80 -68
  712. package/dist/shims/navigation.js +45 -17
  713. package/dist/shims/navigation.react-server.d.ts +9 -9
  714. package/dist/shims/navigation.react-server.js +1 -1
  715. package/dist/shims/offline.d.ts +2 -3
  716. package/dist/shims/og.d.ts +2 -2
  717. package/dist/shims/pages-router-runtime.d.ts +4 -5
  718. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  719. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  720. package/dist/shims/request-context.d.ts +7 -6
  721. package/dist/shims/root-params.d.ts +14 -15
  722. package/dist/shims/router-state.d.ts +5 -6
  723. package/dist/shims/router-state.js +1 -1
  724. package/dist/shims/router.d.ts +22 -21
  725. package/dist/shims/router.js +339 -164
  726. package/dist/shims/script-nonce-context.d.ts +8 -6
  727. package/dist/shims/script-nonce-context.js +15 -6
  728. package/dist/shims/script.d.ts +4 -4
  729. package/dist/shims/script.js +9 -7
  730. package/dist/shims/search-params-gate.d.ts +35 -0
  731. package/dist/shims/search-params-gate.js +32 -0
  732. package/dist/shims/server.d.ts +19 -51
  733. package/dist/shims/server.js +14 -28
  734. package/dist/shims/slot.d.ts +33 -15
  735. package/dist/shims/slot.js +41 -9
  736. package/dist/shims/streamed-icons.d.ts +3 -4
  737. package/dist/shims/thenable-params.d.ts +5 -7
  738. package/dist/shims/thenable-params.js +3 -24
  739. package/dist/shims/unified-request-context.d.ts +34 -31
  740. package/dist/shims/unified-request-context.js +34 -24
  741. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  742. package/dist/shims/url-safety.d.ts +5 -6
  743. package/dist/shims/url-utils.d.ts +18 -12
  744. package/dist/shims/url-utils.js +10 -1
  745. package/dist/shims/use-merged-ref.d.ts +2 -3
  746. package/dist/shims/user-agent.d.ts +31 -0
  747. package/dist/shims/user-agent.js +16 -0
  748. package/dist/shims/web-vitals.d.ts +2 -2
  749. package/dist/typegen.d.ts +3 -4
  750. package/dist/utils/asset-prefix.d.ts +7 -8
  751. package/dist/utils/base-path.d.ts +5 -6
  752. package/dist/utils/built-asset-url.d.ts +2 -3
  753. package/dist/utils/built-asset-url.js +1 -1
  754. package/dist/utils/cache-control-metadata.d.ts +4 -5
  755. package/dist/utils/client-build-manifest.d.ts +6 -7
  756. package/dist/utils/client-build-manifest.js +2 -1
  757. package/dist/utils/client-entry-manifest.d.ts +6 -7
  758. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  759. package/dist/utils/client-runtime-metadata.js +18 -1
  760. package/dist/utils/commonjs-loader.d.ts +4 -5
  761. package/dist/utils/compare.d.ts +2 -3
  762. package/dist/utils/deployment-id.d.ts +6 -7
  763. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  764. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  765. package/dist/utils/domain-locale.d.ts +7 -8
  766. package/dist/utils/encode-cache-tag.d.ts +3 -4
  767. package/dist/utils/error-cause.d.ts +2 -3
  768. package/dist/utils/external-url.d.ts +2 -3
  769. package/dist/utils/has-trailing-comma.d.ts +3 -4
  770. package/dist/utils/hash.d.ts +3 -4
  771. package/dist/utils/html-limited-bots.d.ts +3 -4
  772. package/dist/utils/lazy-chunks.d.ts +8 -9
  773. package/dist/utils/lazy-chunks.js +4 -4
  774. package/dist/utils/manifest-paths.d.ts +5 -6
  775. package/dist/utils/mdx-scan.d.ts +11 -4
  776. package/dist/utils/mdx-scan.js +27 -1
  777. package/dist/utils/middleware-request-headers.d.ts +7 -6
  778. package/dist/utils/middleware-request-headers.js +6 -1
  779. package/dist/utils/navigation-signal.d.ts +3 -3
  780. package/dist/utils/navigation-signal.js +16 -1
  781. package/dist/utils/number.d.ts +2 -3
  782. package/dist/utils/package-name.d.ts +3 -4
  783. package/dist/utils/parse-cookie.d.ts +4 -5
  784. package/dist/utils/path.d.ts +8 -9
  785. package/dist/utils/plugin-options.d.ts +2 -3
  786. package/dist/utils/precompressed-variant.d.ts +3 -4
  787. package/dist/utils/prerender-output-paths.d.ts +9 -10
  788. package/dist/utils/prerender-output-paths.js +16 -9
  789. package/dist/utils/project.d.ts +19 -30
  790. package/dist/utils/project.js +20 -29
  791. package/dist/utils/promise.d.ts +2 -3
  792. package/dist/utils/protocol-headers.d.ts +14 -15
  793. package/dist/utils/public-file-path.d.ts +2 -3
  794. package/dist/utils/public-routes.d.ts +2 -3
  795. package/dist/utils/query.d.ts +14 -9
  796. package/dist/utils/query.js +22 -1
  797. package/dist/utils/react-compiler-support.d.ts +6 -7
  798. package/dist/utils/react-version.d.ts +4 -3
  799. package/dist/utils/react-version.js +19 -1
  800. package/dist/utils/record.d.ts +2 -3
  801. package/dist/utils/redirect-digest.d.ts +3 -4
  802. package/dist/utils/regex-safety.d.ts +4 -5
  803. package/dist/utils/regex.d.ts +2 -3
  804. package/dist/utils/safe-json-file.d.ts +2 -3
  805. package/dist/utils/sorted-array.d.ts +2 -3
  806. package/dist/utils/text-stream.d.ts +3 -4
  807. package/dist/utils/vinext-root.d.ts +2 -3
  808. package/dist/utils/virtual-module.d.ts +3 -4
  809. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  810. package/dist/utils/vite-cli-invocation.js +144 -0
  811. package/dist/utils/vite-version.d.ts +5 -6
  812. package/next-package.json +4 -0
  813. package/package.json +55 -6
@@ -1,14 +1,14 @@
1
1
  import { OperationLane } from "./operation-token.js";
2
2
  import { ServerActionResultFacts } from "./navigation-planner.js";
3
3
  //#region src/server/app-browser-action-result.d.ts
4
- type AppBrowserServerActionResult<TRoot> = {
4
+ export type AppBrowserServerActionResult<TRoot> = {
5
5
  root?: TRoot;
6
6
  returnValue?: {
7
7
  ok: boolean;
8
8
  data: unknown;
9
9
  };
10
10
  };
11
- type ServerActionRevalidationKind = "dynamicOnly" | "none" | "staticAndDynamic";
11
+ export type ServerActionRevalidationKind = "dynamicOnly" | "none" | "staticAndDynamic";
12
12
  type ServerActionInitiationSnapshot<TRouterState> = {
13
13
  href: string;
14
14
  navigationId: number;
@@ -21,14 +21,14 @@ type ServerActionInitiationSnapshot<TRouterState> = {
21
21
  * `slot:`, `__route`, etc.) and will never collide with these property names.
22
22
  * If the wire format ever adds a `"root"` key, this guard must be updated.
23
23
  */
24
- declare function isServerActionResult<TRoot>(value: unknown): value is AppBrowserServerActionResult<TRoot>;
25
- declare function shouldClearClientNavigationCachesForServerActionResult<TRoot>(result: AppBrowserServerActionResult<TRoot> | TRoot, revalidation?: ServerActionRevalidationKind): boolean;
26
- declare function parseServerActionRevalidationHeader(headers: Pick<Headers, "get">): ServerActionRevalidationKind;
27
- declare function resolveServerActionOperationLane(revalidation: ServerActionRevalidationKind): Extract<OperationLane, "refresh" | "server-action">;
28
- declare function normalizeServerActionThrownValue(data: unknown, responseStatus: number): unknown;
29
- declare function shouldSyncServerActionHttpFallbackHead<TRoot>(result: AppBrowserServerActionResult<TRoot> | TRoot): boolean;
30
- declare function readInvalidServerActionResponseError(response: Pick<Response, "headers" | "status" | "text">, hasRedirectLocation: boolean): Promise<Error | null>;
31
- type ServerActionResultResponseFactsInput = {
24
+ export declare function isServerActionResult<TRoot>(value: unknown): value is AppBrowserServerActionResult<TRoot>;
25
+ export declare function shouldClearClientNavigationCachesForServerActionResult<TRoot>(result: AppBrowserServerActionResult<TRoot> | TRoot, revalidation?: ServerActionRevalidationKind): boolean;
26
+ export declare function parseServerActionRevalidationHeader(headers: Pick<Headers, "get">): ServerActionRevalidationKind;
27
+ export declare function resolveServerActionOperationLane(revalidation: ServerActionRevalidationKind): Extract<OperationLane, "refresh" | "server-action">;
28
+ export declare function normalizeServerActionThrownValue(data: unknown, responseStatus: number): unknown;
29
+ export declare function shouldSyncServerActionHttpFallbackHead<TRoot>(result: AppBrowserServerActionResult<TRoot> | TRoot): boolean;
30
+ export declare function readInvalidServerActionResponseError(response: Pick<Response, "headers" | "status" | "text">, hasRedirectLocation: boolean): Promise<Error | null>;
31
+ export type ServerActionResultResponseFactsInput = {
32
32
  actionRedirectHref: string | null;
33
33
  actionRedirectType: string | null;
34
34
  clientCompatibilityId: string | null;
@@ -44,9 +44,9 @@ type ServerActionResultResponseFactsInput = {
44
44
  * normalisation and RSC content-type detection happen for server-action
45
45
  * compatibility checks.
46
46
  */
47
- declare function createServerActionResultFacts(input: ServerActionResultResponseFactsInput): ServerActionResultFacts;
48
- declare function shouldScheduleRefreshForDiscardedServerAction(revalidation: ServerActionRevalidationKind): boolean;
49
- declare function createServerActionInitiationSnapshot<TRouterState>(options: {
47
+ export declare function createServerActionResultFacts(input: ServerActionResultResponseFactsInput): ServerActionResultFacts;
48
+ export declare function shouldScheduleRefreshForDiscardedServerAction(revalidation: ServerActionRevalidationKind): boolean;
49
+ export declare function createServerActionInitiationSnapshot<TRouterState>(options: {
50
50
  href: string;
51
51
  navigationId: number;
52
52
  origin?: string;
@@ -61,6 +61,5 @@ type DiscardedServerActionRefreshSchedulerOptions = {
61
61
  queueTask?: (callback: () => void) => void;
62
62
  runRefresh: () => void;
63
63
  };
64
- declare function createDiscardedServerActionRefreshScheduler(options: DiscardedServerActionRefreshSchedulerOptions): DiscardedServerActionRefreshScheduler;
65
- //#endregion
66
- export { AppBrowserServerActionResult, ServerActionResultResponseFactsInput, ServerActionRevalidationKind, createDiscardedServerActionRefreshScheduler, createServerActionInitiationSnapshot, createServerActionResultFacts, isServerActionResult, normalizeServerActionThrownValue, parseServerActionRevalidationHeader, readInvalidServerActionResponseError, resolveServerActionOperationLane, shouldClearClientNavigationCachesForServerActionResult, shouldScheduleRefreshForDiscardedServerAction, shouldSyncServerActionHttpFallbackHead };
64
+ export declare function createDiscardedServerActionRefreshScheduler(options: DiscardedServerActionRefreshSchedulerOptions): DiscardedServerActionRefreshScheduler;
65
+ //#endregion
@@ -6,6 +6,5 @@ type VisibleAppState = Pick<AppRouterState, "elements" | "visibleCommitVersion">
6
6
  type CreateClientReuseManifestHeaderOptions = Readonly<{
7
7
  limits?: ClientReuseManifestLimits;
8
8
  }>;
9
- declare function createClientReuseManifestHeaderFromVisibleAppState(state: VisibleAppState, options?: CreateClientReuseManifestHeaderOptions): string | null;
10
- //#endregion
11
- export { createClientReuseManifestHeaderFromVisibleAppState };
9
+ export declare function createClientReuseManifestHeaderFromVisibleAppState(state: VisibleAppState, options?: CreateClientReuseManifestHeaderOptions): string | null;
10
+ //#endregion
@@ -1,48 +1,48 @@
1
1
  import { splitPathnameForRouteMatch } from "../routing/utils.js";
2
2
  import { addBasePathToPathname, stripBasePath } from "../utils/base-path.js";
3
- import { VINEXT_CLIENT_REUSE_MANIFEST_HEADER, VINEXT_PARAMS_HEADER, VINEXT_RSC_REDIRECT_HEADER, VINEXT_RSC_REDIRECT_TYPE_HEADER } from "./headers.js";
3
+ import { VINEXT_CLIENT_REUSE_MANIFEST_HEADER, VINEXT_PARAMS_HEADER, VINEXT_RENDERED_PATH_AND_SEARCH_HEADER, VINEXT_RSC_REDIRECT_HEADER, VINEXT_RSC_REDIRECT_TYPE_HEADER } from "./headers.js";
4
4
  import { AppElementsWire } from "./app-elements-wire.js";
5
5
  import { getMountedSlotIdsHeader, resolveVisitedResponseInterceptionContext } from "./app-elements.js";
6
6
  import { AppRouterContext } from "../shims/internal/app-router-context.js";
7
7
  import { matchRoutePattern } from "../routing/route-pattern.js";
8
8
  import { installWindowNext, setWindowNextInternalSourcePage } from "../client/window-next.js";
9
9
  import { retryScrollTo, scrollToHashTargetOnNextFrame } from "../shims/hash-scroll.js";
10
- import { getBfcacheIdMapContext, setNavigationContext } from "../shims/navigation-context-state.js";
10
+ import { getBfcacheIdMapContext, getNavigationContext, setNavigationContext } from "../shims/navigation-context-state.js";
11
11
  import { decodeRedirectError, isRedirectError } from "../shims/navigation-errors.js";
12
12
  import DefaultGlobalError from "../shims/default-global-error.js";
13
13
  import { clearAppNavigationFailureTarget, installAppNavigationFailureListeners } from "../client/app-nav-failure-handler.js";
14
14
  import { DevRecoveryBoundary, GlobalErrorBoundary, RedirectBoundary } from "../shims/error-boundary.js";
15
15
  import { beginAppRouterScrollIntent, consumeAppRouterScrollIntent } from "../shims/app-router-scroll-state.js";
16
16
  import { AppRouterScrollCommitProvider } from "../shims/app-router-scroll.js";
17
- import { BfcacheIdentityMapContext, ElementsContext, Slot } from "../shims/slot.js";
17
+ import { BfcacheIdentityMapContext, ElementsContext, Slot, bindAppElementsRenderedSearch, setAppElementsRenderedSearch } from "../shims/slot.js";
18
18
  import { VINEXT_RSC_COMPATIBILITY_ID_HEADER, VINEXT_RSC_CONTENT_TYPE, createRscRequestHeaders, createRscRequestUrl, getVinextRscCompatibilityId } from "./app-rsc-cache-busting.js";
19
19
  import { getNavigationRuntime, registerNavigationRuntimeBootstrap, registerNavigationRuntimeFunctions } from "../client/navigation-runtime.js";
20
20
  import { notifyAppRouterTransitionStart } from "../client/instrumentation-client-state.js";
21
21
  import "../client/instrumentation-client.js";
22
- import { resolveManifestNavigationInterceptionContext, resolveMiddlewareRewriteNavigationInterceptionContext } from "./app-browser-interception-context.js";
23
22
  import { isExternalHistoryState, readHistoryStateActiveRoutePaths, readHistoryStatePreviousNextUrl, resolveActiveRoutePaths } from "./app-history-state.js";
23
+ import { createBfcacheSegmentIdentityMap, createInitialBfcacheIdMap } from "./app-bfcache-identity.js";
24
+ import { createDiscardedServerActionRefreshScheduler, createServerActionInitiationSnapshot, resolveServerActionOperationLane } from "./app-browser-action-result.js";
25
+ import { createClientReuseManifestHeaderFromVisibleAppState } from "./app-browser-client-reuse-manifest.js";
26
+ import { resolveManifestNavigationInterceptionContext, resolveMiddlewareRewriteNavigationInterceptionContext } from "./app-browser-interception-context.js";
24
27
  import { AppBrowserMpaNavigationScheduler } from "./app-browser-mpa-navigation.js";
25
28
  import { stripRscCompletionMetadataResponse } from "./rsc-completion-metadata.js";
26
29
  import { blockDangerousStreamedRscRedirect } from "./app-browser-rsc-redirect.js";
27
30
  import { navigationPlanner } from "./navigation-planner.js";
28
- import { DYNAMIC_NAVIGATION_CACHE_TTL, PREFETCH_CACHE_TTL, __basePath, appRouterInstance, commitClientNavigationState, consumePrefetchResponse, consumePrefetchResponseForNavigation, createCachedRscResponseSnapshot, createClientNavigationRenderSnapshot, createSnapshotPathAndSearch, deletePrefetchResponseSnapshot, disableNavigationResponsePrefetchCacheReuse, getClientNavigationRenderContext, getMountedSlotsHeader, getPrefetchCache, hasPrefetchCacheEntryForNavigation, invalidatePrefetchCache, preloadHybridClientRouteOwner, pushHistoryStateWithoutNotify, replaceClientParamsWithoutNotify, replaceHistoryStateWithoutNotify, resolveLoadedHybridClientRewriteHref, resolvePrefetchCacheEntryMountedSlotsHeader, restoreRscResponse, saveScrollPosition, seedPrefetchResponseSnapshot, setClientParams, setMountedSlotsHeader, setPendingPathname, useRouter } from "../shims/navigation.js";
29
- import { createBfcacheSegmentIdentityMap, createInitialBfcacheIdMap } from "./app-bfcache-identity.js";
30
- import { createDiscardedServerActionRefreshScheduler, createServerActionInitiationSnapshot, resolveServerActionOperationLane } from "./app-browser-action-result.js";
31
- import { createClientReuseManifestHeaderFromVisibleAppState } from "./app-browser-client-reuse-manifest.js";
31
+ import { DYNAMIC_NAVIGATION_CACHE_TTL, PREFETCH_CACHE_TTL, __basePath, appRouterInstance, commitClientNavigationState, consumePrefetchResponse, consumePrefetchResponseForNavigation, createCachedRscResponseSnapshot, createClientNavigationRenderSnapshot, createSnapshotPathAndSearch, deletePrefetchResponseSnapshot, disableNavigationResponsePrefetchCacheReuse, getClientNavigationRenderContext, getMountedSlotsHeader, getPrefetchCache, hasPrefetchCacheEntryForNavigation, invalidatePrefetchCache, parseRenderedPathAndSearchHeader, preloadHybridClientRouteOwner, pushHistoryStateWithoutNotify, replaceClientParamsWithoutNotify, replaceHistoryStateWithoutNotify, resolveLoadedHybridClientRewriteHref, resolvePrefetchCacheEntryMountedSlotsHeader, restoreRscResponse, saveScrollPosition, seedPrefetchResponseSnapshot, setClientParams, setMountedSlotsHeader, setPendingPathname, useRouter } from "../shims/navigation.js";
32
32
  import { chunksToReadableStream, createProgressiveRscStream, getVinextBrowserGlobal } from "./app-browser-stream.js";
33
33
  import { COMMITTED_CACHE_APP_NAVIGATION_PAYLOAD_ORIGIN, FRESH_APP_NAVIGATION_PAYLOAD_ORIGIN, VISITED_CACHE_APP_NAVIGATION_PAYLOAD_ORIGIN, isCacheRestorableAppPayloadMetadata, isCompleteAppPayloadMetadata, resolveInterceptionContextFromPreviousNextUrl } from "./app-browser-state.js";
34
34
  import { clearHardNavigationLoopGuard, createAppBrowserNavigationController, createBasePathStrippedPathAndSearch } from "./app-browser-navigation-controller.js";
35
35
  import { shouldRecoverSamePathSearchCommitOnResponseCompletion } from "./app-browser-navigation-response.js";
36
36
  import { createSupplementalRefreshCoordinator, mergeRefreshedParallelSlot, requireCompleteSupplementalRefresh, resolvePersistedSourcePageRefreshes, resolveServerActionSupplementalRefresh, resolveSupplementalRefreshes } from "./app-browser-supplemental-refresh.js";
37
37
  import { createAppBrowserNavigationAbortCoordinator } from "./app-browser-navigation-abort.js";
38
- import { consumeInitialFormState, createVinextHydrateRootOptions, hydrateRootInTransition } from "./app-browser-hydration.js";
38
+ import { consumeInitialFormState, createVinextHydrateRootOptions, hydrateRootInTransition, resolveFetchedHydrationLocation } from "./app-browser-hydration.js";
39
39
  import { AppBrowserHistoryController } from "./app-browser-history-controller.js";
40
40
  import { createVisitedResponseCacheEntry, deleteAllVisitedResponseCacheEntries, deleteInvalidatedHistoryRestoreEntries, deleteVisitedResponseCacheEntry, findVisitedResponseCacheEntry, hasNavigationResponseHistoryLifetime, isVisitedResponseCacheEntryFresh } from "./app-visited-response-cache.js";
41
41
  import { createPopstateRestoreHandler, restoreSynchronousPopstateScrollPosition, shouldCommitPopstateUrlWithoutNavigation } from "./app-browser-popstate.js";
42
- import { createDevOnCaughtError, createOnUncaughtError, createProdOnCaughtError, prodOnRecoverableError } from "./app-browser-error.js";
42
+ import { createDevOnCaughtError, createOnUncaughtError, createProdOnCaughtError, createProdOnRecoverableError } from "./app-browser-error.js";
43
43
  import { createHydrationCachePublication } from "./app-hydration-cache-publication.js";
44
44
  import { peekSettledPrefetchResponseForNavigation, prepareConsumedPrefetchResponseForPublication, preserveCommittedPrefetchExpiry, resolvePrefetchNavigationResponseUrl } from "./app-browser-prefetch-response.js";
45
- import { canCommitOptimisticRouteTemplate, createOptimisticRouteTemplate, getOptimisticPrefetchSourceKey, getOptimisticRouteTemplateKey, matchOptimisticRouteManifestRoute, resolveOptimisticNavigationPayload } from "./app-optimistic-routing.js";
45
+ import { canCommitOptimisticRouteTemplate, createOptimisticRouteTemplate, getOptimisticPrefetchSourceKey, getOptimisticRouteTemplateKey, matchOptimisticRouteManifestRoute, resolveOptimisticNavigationParamsForHref, resolveOptimisticNavigationPayload } from "./app-optimistic-routing.js";
46
46
  import { removeStylesheetLinksCoveredByInlineCss } from "./app-inline-css-client.js";
47
47
  import { createElement, startTransition, use, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
48
48
  import { flushSync } from "react-dom";
@@ -63,7 +63,9 @@ function toOperationLane(kind) {
63
63
  }
64
64
  }
65
65
  const MAX_VISITED_RESPONSE_CACHE_SIZE = 50;
66
- const CLIENT_RSC_COMPATIBILITY_ID = getVinextRscCompatibilityId();
66
+ const IS_STATIC_EXPORT = process.env.NODE_ENV === "production" && process.env.__NEXT_CONFIG_OUTPUT === "export";
67
+ const CLIENT_DEPLOYMENT_VERSION = process.env.__VINEXT_BUILD_ID ?? null;
68
+ const CLIENT_RSC_COMPATIBILITY_ID = IS_STATIC_EXPORT ? null : getVinextRscCompatibilityId();
67
69
  const optimisticRouteTemplates = /* @__PURE__ */ new Map();
68
70
  const optimisticRouteTemplateSources = /* @__PURE__ */ new Set();
69
71
  const optimisticRouteTemplateLearning = /* @__PURE__ */ new Map();
@@ -78,6 +80,20 @@ function markInitialAppRouterBootstrapHydrated() {
78
80
  function getBrowserRouteManifest() {
79
81
  return getNavigationRuntime()?.bootstrap.routeManifest ?? null;
80
82
  }
83
+ function resolveStaticExportRouteParams(href) {
84
+ const routeManifest = getBrowserRouteManifest();
85
+ if (routeManifest === null) return {};
86
+ return resolveOptimisticNavigationParamsForHref({
87
+ basePath: __basePath,
88
+ href,
89
+ routeManifest
90
+ }) ?? {};
91
+ }
92
+ function isStaticExportPayloadDeploymentCompatible(elements) {
93
+ if (!IS_STATIC_EXPORT) return true;
94
+ const deploymentVersion = AppElementsWire.readMetadata(elements).artifactCompatibility.deploymentVersion;
95
+ return CLIENT_DEPLOYMENT_VERSION !== null && deploymentVersion === CLIENT_DEPLOYMENT_VERSION;
96
+ }
81
97
  const historyController = new AppBrowserHistoryController({
82
98
  initialHistoryState: window.history.state,
83
99
  maxHistoryStateSnapshots: 50,
@@ -214,7 +230,8 @@ function getMatchedUrlPathname(matchedUrl) {
214
230
  }
215
231
  function resolvePersistedRefreshInterceptions(state, routeManifest, refreshUrl, requestInterceptionContext) {
216
232
  if (routeManifest === null) return [];
217
- const refreshPathParts = splitPathnameForRouteMatch(stripBasePath(refreshUrl.pathname, __basePath));
233
+ const refreshPathname = stripBasePath(refreshUrl.pathname, __basePath);
234
+ const refreshPathParts = splitPathnameForRouteMatch(refreshPathname);
218
235
  const resolved = [];
219
236
  for (const binding of state.slotBindings) {
220
237
  if (binding.state !== "active" || !binding.activeRouteId) continue;
@@ -244,21 +261,29 @@ async function fetchPersistedInterceptedSlotRefresh(options) {
244
261
  interceptionId: options.interceptionId,
245
262
  mountedSlotsHeader: options.mountedSlotsHeader
246
263
  });
247
- const response = await fetch(await createRscRequestUrl(options.targetPathname, headers), {
264
+ return decodeSupplementalRefresh(await fetch(await createRscRequestUrl(options.targetPathname, headers), {
248
265
  credentials: "include",
249
266
  headers,
250
267
  signal: options.signal
251
- });
252
- return decodeAppElementsPromise(createFromFetch(Promise.resolve(response)));
268
+ }), options.targetPathname);
253
269
  }
254
270
  async function fetchPersistedSourcePageRefresh(options) {
255
271
  const headers = createRscRequestHeaders({ mountedSlotsHeader: options.mountedSlotsHeader });
256
- const response = await fetch(await createRscRequestUrl(options.targetPathname, headers), {
272
+ return decodeSupplementalRefresh(await fetch(await createRscRequestUrl(options.targetPathname, headers), {
257
273
  credentials: "include",
258
274
  headers,
259
275
  signal: options.signal
260
- });
261
- return decodeAppElementsPromise(createFromFetch(Promise.resolve(response)));
276
+ }), options.targetPathname);
277
+ }
278
+ /**
279
+ * Decode a kept branch a refresh fetched from its own URL. Its client pages
280
+ * read the query the server rendered it with, not the navigation's.
281
+ */
282
+ async function decodeSupplementalRefresh(response, targetPathname) {
283
+ const elements = await decodeAppElementsPromise(createFromFetch(Promise.resolve(response)));
284
+ const renderedPathAndSearch = parseRenderedPathAndSearchHeader(response.headers.get(VINEXT_RENDERED_PATH_AND_SEARCH_HEADER));
285
+ setAppElementsRenderedSearch(elements, new URL(renderedPathAndSearch ?? targetPathname, window.location.origin).search);
286
+ return elements;
262
287
  }
263
288
  function isSettledPrefetchCacheEntry(entry) {
264
289
  return entry.outcome === "cache-seeded" && entry.pending === void 0 && entry.snapshot !== void 0;
@@ -381,7 +406,7 @@ async function renderNavigationPayload(options) {
381
406
  visibleCommitMode: options.visibleCommitMode ?? "transition"
382
407
  });
383
408
  }
384
- async function commitSameUrlNavigatePayload(nextElements, actionInitiation, returnValue, revalidation = "none") {
409
+ async function commitSameUrlNavigatePayload(nextElements, actionInitiation, returnValue, revalidation = "none", renderedPathAndSearch = null) {
385
410
  let shouldRetrySupplementalRefresh = false;
386
411
  let supplementalHandle = null;
387
412
  if (revalidation !== "none") {
@@ -423,7 +448,7 @@ async function commitSameUrlNavigatePayload(nextElements, actionInitiation, retu
423
448
  });
424
449
  }
425
450
  }
426
- const navigationSnapshot = createClientNavigationRenderSnapshot(actionInitiation.href, actionInitiation.routerState.navigationSnapshot.params);
451
+ const navigationSnapshot = renderedPathAndSearch === null ? withRenderedSearchOf(createClientNavigationRenderSnapshot(actionInitiation.href, actionInitiation.routerState.navigationSnapshot.params), actionInitiation.routerState.navigationSnapshot) : createClientNavigationRenderSnapshot(actionInitiation.href, actionInitiation.routerState.navigationSnapshot.params, renderedPathAndSearch);
427
452
  try {
428
453
  const result = await browserNavigationController.commitSameUrlNavigatePayload(nextElements, navigationSnapshot, returnValue, actionInitiation.routerState, {
429
454
  onDiscardedRevalidation() {
@@ -696,7 +721,8 @@ function BrowserRoot({ hydrationCachePublication, initialElements, initialNaviga
696
721
  const routeTree = createElement(RedirectBoundary, null, createElement(NavigationCommitSignal, { renderId: treeState.renderId }, createElement(ElementsContext.Provider, { value: treeState.elements }, createElement(Slot, { id: treeState.routeId }))));
697
722
  const bfcacheSegmentIdentities = useMemo(() => createBfcacheSegmentIdentityMap({ elements: treeState.elements }), [treeState.elements]);
698
723
  const identityMapTree = createElement(BfcacheIdentityMapContext.Provider, { value: bfcacheSegmentIdentities }, routeTree);
699
- const redirectedTree = createElement(AppRouterRedirectBridge, null, BfcacheIdMapContext ? createElement(BfcacheIdMapContext.Provider, { value: treeState.bfcacheIds }, identityMapTree) : identityMapTree);
724
+ const bfcacheTree = BfcacheIdMapContext ? createElement(BfcacheIdMapContext.Provider, { value: treeState.bfcacheIds }, identityMapTree) : identityMapTree;
725
+ const redirectedTree = createElement(AppRouterRedirectBridge, null, bfcacheTree);
700
726
  const innerTree = AppRouterContext ? createElement(AppRouterContext.Provider, { value: appRouterInstance }, redirectedTree) : redirectedTree;
701
727
  const committedTree = import.meta.env.DEV ? createElement(DevRecoveryBoundary, {
702
728
  isImplicitRootErrorBoundary: true,
@@ -722,6 +748,38 @@ function restoreHydrationNavigationContext(pathname, searchParams, params) {
722
748
  function restoreEmbeddedHydrationNavigationContext(pathname, searchParams, params, searchParamsFromBrowser) {
723
749
  restoreHydrationNavigationContext(pathname, searchParamsFromBrowser ? window.location.search : searchParams, params);
724
750
  }
751
+ /**
752
+ * The path and query SSR rendered, from the navigation payload the document
753
+ * embeds: the effective query, which a rewrite may have changed, or the
754
+ * browser URL's when a stored document leaves the query out.
755
+ */
756
+ function getHydrationRenderedPathAndSearch() {
757
+ const context = getNavigationContext();
758
+ if (!context) return null;
759
+ const search = context.searchParams.toString();
760
+ return search ? `${context.pathname}?${search}` : context.pathname;
761
+ }
762
+ /**
763
+ * A render that turns dynamic after the head sends its client pages' query
764
+ * later in the document (see `app-ssr-entry.ts`), possibly after bootstrap, so
765
+ * the hydration snapshot reads it when a client page first renders.
766
+ */
767
+ function withLateRenderedSearch(snapshot, rsc) {
768
+ if (!rsc) return snapshot;
769
+ const headRenderedSearch = snapshot.renderedSearch;
770
+ return Object.defineProperty(snapshot, "renderedSearch", {
771
+ configurable: true,
772
+ enumerable: true,
773
+ get: () => rsc.renderedSearch ?? headRenderedSearch
774
+ });
775
+ }
776
+ /** Carry the rendered query over to a snapshot of the same URL. */
777
+ function withRenderedSearchOf(snapshot, source) {
778
+ return source.renderedSearch === void 0 ? snapshot : {
779
+ ...snapshot,
780
+ renderedSearch: source.renderedSearch
781
+ };
782
+ }
725
783
  function restorePopstateScrollPosition(state, options) {
726
784
  const shouldContinue = options?.shouldContinue ?? (() => true);
727
785
  if (!shouldContinue()) return;
@@ -730,7 +788,8 @@ function restorePopstateScrollPosition(state, options) {
730
788
  return;
731
789
  }
732
790
  const y = Number(state.__vinext_scrollY);
733
- retryScrollTo("__vinext_scrollX" in state ? Number(state.__vinext_scrollX) : 0, y, {
791
+ const x = "__vinext_scrollX" in state ? Number(state.__vinext_scrollX) : 0;
792
+ retryScrollTo(x, y, {
734
793
  minFrames: 1,
735
794
  shouldContinue
736
795
  });
@@ -809,7 +868,8 @@ async function readInitialRscStream() {
809
868
  if (parsedParams) try {
810
869
  applyClientParams(parsedParams);
811
870
  } catch {}
812
- restoreHydrationNavigationContext(window.location.pathname, window.location.search, params);
871
+ const rendered = resolveFetchedHydrationLocation(parseRenderedPathAndSearchHeader(rscResponse.headers.get(VINEXT_RENDERED_PATH_AND_SEARCH_HEADER)), window.location);
872
+ restoreHydrationNavigationContext(rendered.pathname, rendered.search, params);
813
873
  return rscResponse.body;
814
874
  }
815
875
  function applyRuntimeRscBootstrap(rsc) {
@@ -829,14 +889,16 @@ function registerServerActionCallback() {
829
889
  navigationPlanner,
830
890
  performHardNavigation: (url, historyMode) => browserNavigationController.performHardNavigation(url, historyMode),
831
891
  renderRedirectPayload(elements, target, actionInitiation, revalidation) {
892
+ if (browserNavigationController.isCurrentNavigation(actionInitiation.navigationId)) getNavigationRuntime()?.functions.notifyLinkNavigationStart?.();
832
893
  const hashIdx = target.href.indexOf("#");
833
- const actionScrollIntent = beginAppRouterScrollIntent((hashIdx !== -1 ? target.href.slice(hashIdx) : "") || null);
894
+ const hash = hashIdx !== -1 ? target.href.slice(hashIdx) : "";
895
+ const actionScrollIntent = beginAppRouterScrollIntent(hash || null);
834
896
  if (target.type === "push") saveScrollPosition();
835
897
  renderNavigationPayload({
836
898
  actionType: target.type === "push" ? "navigate" : "replace",
837
899
  historyUpdateMode: target.type === "push" ? "push" : "replace",
838
900
  navigationInitiationState: actionInitiation.routerState,
839
- navigationSnapshot: createClientNavigationRenderSnapshot(target.href, actionInitiation.routerState.navigationSnapshot.params),
901
+ navigationSnapshot: createClientNavigationRenderSnapshot(target.href, actionInitiation.routerState.navigationSnapshot.params, target.renderedPathAndSearch),
840
902
  navId: actionInitiation.navigationId,
841
903
  operationLane: resolveServerActionOperationLane(revalidation),
842
904
  params: {},
@@ -876,8 +938,11 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
876
938
  const hydrationCachePublication = createHydrationCachePublication();
877
939
  const cacheGeneration = clientNavigationCacheGeneration;
878
940
  const [reactBranch, cacheBranch] = rscStream.tee();
879
- const root = decodeAppElementsPromise(createFromReadableStream(reactBranch));
880
- const initialNavigationSnapshot = createClientNavigationRenderSnapshot(window.location.href, latestClientParams);
941
+ const initialNavigationSnapshot = withLateRenderedSearch(createClientNavigationRenderSnapshot(window.location.href, latestClientParams, getHydrationRenderedPathAndSearch()), initialRscBootstrap);
942
+ const root = decodeAppElementsPromise(createFromReadableStream(reactBranch)).then((elements) => {
943
+ bindAppElementsRenderedSearch(elements, initialNavigationSnapshot);
944
+ return elements;
945
+ });
881
946
  const initialParams = initialNavigationSnapshot.params;
882
947
  const initialPathAndSearch = createSnapshotPathAndSearch(initialNavigationSnapshot);
883
948
  const initialCacheBuffer = new Response(cacheBranch).arrayBuffer();
@@ -919,10 +984,9 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
919
984
  hydrationCachePublication.fail();
920
985
  reportUncaughtError(...args);
921
986
  };
922
- const onRecoverableError = (...args) => {
987
+ const onRecoverableError = createProdOnRecoverableError(() => {
923
988
  hydrationCachePublication.fail();
924
- prodOnRecoverableError(...args);
925
- };
989
+ });
926
990
  const invalidateOnCaughtError = (handler) => ((...args) => {
927
991
  hydrationCachePublication.fail();
928
992
  handler(...args);
@@ -1118,7 +1182,7 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
1118
1182
  redirectDepth: redirectCount,
1119
1183
  requestPreviousNextUrl,
1120
1184
  responseOk: true,
1121
- responseUrl: cachedRoute.response.url,
1185
+ responseUrl: IS_STATIC_EXPORT ? currentHref : cachedRoute.response.url,
1122
1186
  source: "cached",
1123
1187
  streamedRedirectTarget: null
1124
1188
  });
@@ -1137,7 +1201,7 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
1137
1201
  }
1138
1202
  if (!browserNavigationController.isCurrentNavigation(navId)) return;
1139
1203
  const cachedParams = cachedRoute.params;
1140
- const cachedNavigationSnapshot = createClientNavigationRenderSnapshot(currentHref, cachedParams);
1204
+ const cachedNavigationSnapshot = createClientNavigationRenderSnapshot(currentHref, cachedParams, cachedRoute.response.renderedPathAndSearch);
1141
1205
  const cachedPayload = cachedRoute.elements ? Promise.resolve(cachedRoute.elements) : decodeAppElementsPromise(createFromFetch(Promise.resolve(restoreRscResponse(cachedRoute.response))));
1142
1206
  if (!browserNavigationController.isCurrentNavigation(navId)) return;
1143
1207
  if (await renderNavigationPayload({
@@ -1272,6 +1336,8 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
1272
1336
  }
1273
1337
  if (!browserNavigationController.isCurrentNavigation(navId)) return;
1274
1338
  const navContentType = navResponse.headers.get("content-type") ?? "";
1339
+ const isNavigationRscContentType = navContentType.startsWith("text/x-component") || IS_STATIC_EXPORT && navContentType.startsWith("text/plain");
1340
+ const navigationResponseUrl = IS_STATIC_EXPORT ? currentHref : navResponseUrl ?? navResponse.url;
1275
1341
  const streamedRedirectTarget = navResponse.headers.get(VINEXT_RSC_REDIRECT_HEADER);
1276
1342
  const streamedRedirectTypeHeader = navResponse.headers.get(VINEXT_RSC_REDIRECT_TYPE_HEADER);
1277
1343
  const streamedRedirectType = streamedRedirectTypeHeader === "push" || streamedRedirectTypeHeader === "replace" ? streamedRedirectTypeHeader : null;
@@ -1282,12 +1348,12 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
1282
1348
  currentHref,
1283
1349
  effectiveHistoryUpdateMode: currentHistoryMode ?? "replace",
1284
1350
  hasBody: navResponse.body !== null,
1285
- isRscContentType: navContentType.startsWith(VINEXT_RSC_CONTENT_TYPE),
1351
+ isRscContentType: isNavigationRscContentType,
1286
1352
  origin: window.location.origin,
1287
1353
  redirectDepth: redirectCount,
1288
1354
  requestPreviousNextUrl,
1289
1355
  responseOk: navResponse.ok,
1290
- responseUrl: navResponseUrl ?? navResponse.url,
1356
+ responseUrl: navigationResponseUrl,
1291
1357
  source: "live",
1292
1358
  streamedRedirectTarget,
1293
1359
  streamedRedirectType
@@ -1309,8 +1375,8 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
1309
1375
  continue;
1310
1376
  }
1311
1377
  if (!hasSupplementalRefresh) navigationAbortHandle.release();
1312
- const navParams = parseEncodedJsonHeader(navResponse.headers.get("X-Vinext-Params")) ?? {};
1313
- const navigationSnapshot = createClientNavigationRenderSnapshot(currentHref, navParams);
1378
+ const navParams = parseEncodedJsonHeader(navResponse.headers.get("X-Vinext-Params")) ?? (IS_STATIC_EXPORT ? resolveStaticExportRouteParams(currentHref) : {});
1379
+ const navigationSnapshot = createClientNavigationRenderSnapshot(currentHref, navParams, parseRenderedPathAndSearchHeader(navResponse.headers.get(VINEXT_RENDERED_PATH_AND_SEARCH_HEADER)));
1314
1380
  const navBody = navResponse.body;
1315
1381
  if (!navBody) return;
1316
1382
  const [reactBranch, cacheBranch] = navBody.tee();
@@ -1343,6 +1409,15 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
1343
1409
  supplemental
1344
1410
  }).then(requireCompleteSupplementalRefresh);
1345
1411
  }
1412
+ if (IS_STATIC_EXPORT) {
1413
+ const staticExportElements = await rscPayload;
1414
+ if (!browserNavigationController.isCurrentNavigation(navId)) return;
1415
+ if (!isStaticExportPayloadDeploymentCompatible(staticExportElements)) {
1416
+ performHardNavigationForScrollIntent(currentHref);
1417
+ return;
1418
+ }
1419
+ rscPayload = Promise.resolve(staticExportElements);
1420
+ }
1346
1421
  if (!browserNavigationController.isCurrentNavigation(navId)) return;
1347
1422
  let committedState = null;
1348
1423
  if (await renderNavigationPayload({
@@ -1386,7 +1461,7 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
1386
1461
  if (navigationCacheGeneration !== clientNavigationCacheGeneration) return;
1387
1462
  const metadata = AppElementsWire.readMetadata(renderedElements);
1388
1463
  if (navigationCacheGeneration !== clientNavigationCacheGeneration) return;
1389
- const responseSnapshot = consumedPrefetchSnapshot ?? createCachedRscResponseSnapshot(navResponse, await cacheBufferPromise, navResponseUrl);
1464
+ const responseSnapshot = consumedPrefetchSnapshot ?? createCachedRscResponseSnapshot(navResponse, await cacheBufferPromise, navigationResponseUrl);
1390
1465
  const cacheRestorable = !(responseSnapshot.completedDynamicStaleTimeSeconds !== void 0) && isCacheRestorableAppPayloadMetadata(metadata);
1391
1466
  const { completedDynamicStaleTimeSeconds: _staticCompletedDynamicStaleTime, dynamicStaleTimeSeconds: _staticDynamicStaleTime, ...staticResponseSnapshot } = responseSnapshot;
1392
1467
  const snapshot = {
@@ -1493,10 +1568,16 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
1493
1568
  if (updateId !== latestRscHmrUpdateId) return;
1494
1569
  if (!browserNavigationController.hasBrowserRouterState()) return;
1495
1570
  clearClientNavigationCaches();
1496
- const navigationSnapshot = createClientNavigationRenderSnapshot(window.location.href, latestClientParams);
1497
1571
  devErrorOverlay?.dismissOverlay();
1498
1572
  const hmrHeaders = createRscRequestHeaders({ mountedSlotsHeader: getMountedSlotIdsHeader(browserNavigationController.getBrowserRouterState().elements) });
1499
- await browserNavigationController.hmrReplaceTree(decodeAppElementsPromise(createFromFetch(fetch(await createRscRequestUrl(window.location.pathname + window.location.search, hmrHeaders), { headers: hmrHeaders }).then(stripRscCompletionMetadataResponse))), navigationSnapshot);
1573
+ const hmrHref = window.location.href;
1574
+ const hmrParams = latestClientParams;
1575
+ const sameQuerySnapshot = withRenderedSearchOf(createClientNavigationRenderSnapshot(hmrHref, hmrParams), browserNavigationController.getBrowserRouterState().navigationSnapshot);
1576
+ const hmrResponse = fetch(await createRscRequestUrl(window.location.pathname + window.location.search, hmrHeaders), { headers: hmrHeaders });
1577
+ await browserNavigationController.hmrReplaceTree(decodeAppElementsPromise(createFromFetch(hmrResponse.then(stripRscCompletionMetadataResponse))), hmrResponse.then((response) => {
1578
+ const renderedPathAndSearch = parseRenderedPathAndSearchHeader(response.headers.get(VINEXT_RENDERED_PATH_AND_SEARCH_HEADER));
1579
+ return renderedPathAndSearch === null ? sameQuerySnapshot : createClientNavigationRenderSnapshot(hmrHref, hmrParams, renderedPathAndSearch);
1580
+ }));
1500
1581
  };
1501
1582
  const handleRscUpdate = async (updateId) => {
1502
1583
  try {
@@ -4,9 +4,8 @@ type VinextHydrateRootErrorInfo = {
4
4
  errorBoundary?: unknown;
5
5
  };
6
6
  type HydrateRootErrorHandler = (error: unknown, errorInfo: VinextHydrateRootErrorInfo) => void;
7
- declare function createOnUncaughtError(): HydrateRootErrorHandler;
8
- declare function createProdOnCaughtError(onImplicitRootError: HydrateRootErrorHandler): HydrateRootErrorHandler;
9
- declare function createDevOnCaughtError(onCaughtError: HydrateRootErrorHandler, onImplicitRootError: HydrateRootErrorHandler): HydrateRootErrorHandler;
10
- declare function prodOnRecoverableError(error: unknown): void;
11
- //#endregion
12
- export { createDevOnCaughtError, createOnUncaughtError, createProdOnCaughtError, prodOnRecoverableError };
7
+ export declare function createOnUncaughtError(): HydrateRootErrorHandler;
8
+ export declare function createProdOnCaughtError(onImplicitRootError: HydrateRootErrorHandler): HydrateRootErrorHandler;
9
+ export declare function createDevOnCaughtError(onCaughtError: HydrateRootErrorHandler, onImplicitRootError: HydrateRootErrorHandler): HydrateRootErrorHandler;
10
+ export declare function createProdOnRecoverableError(onReportedError: () => void): (error: unknown) => void;
11
+ //#endregion
@@ -1,5 +1,6 @@
1
1
  import { isUnknownRecord } from "../utils/record.js";
2
2
  import { isNavigationSignalError } from "../utils/navigation-signal.js";
3
+ import { isBailoutToCSRError } from "../shims/navigation-errors.js";
3
4
  //#region src/server/app-browser-error.ts
4
5
  function isImplicitRootErrorBoundary(errorInfo) {
5
6
  if (!isUnknownRecord(errorInfo.errorBoundary)) return false;
@@ -41,8 +42,13 @@ function createDevOnCaughtError(onCaughtError, onImplicitRootError) {
41
42
  onCaughtError(error, errorInfo);
42
43
  };
43
44
  }
44
- function prodOnRecoverableError(error) {
45
- reportGlobalError(error instanceof Error && error.cause !== void 0 ? error.cause : error);
45
+ function createProdOnRecoverableError(onReportedError) {
46
+ return (error) => {
47
+ const cause = error instanceof Error && error.cause !== void 0 ? error.cause : error;
48
+ if (isBailoutToCSRError(cause)) return;
49
+ onReportedError();
50
+ reportGlobalError(cause);
51
+ };
46
52
  }
47
53
  //#endregion
48
- export { createDevOnCaughtError, createOnUncaughtError, createProdOnCaughtError, prodOnRecoverableError };
54
+ export { createDevOnCaughtError, createOnUncaughtError, createProdOnCaughtError, createProdOnRecoverableError };
@@ -32,7 +32,7 @@ type AppBrowserHistoryControllerDeps = {
32
32
  * `AppBrowserNavigationController.restoreHistorySnapshotVisibleState()` call and
33
33
  * the `ApprovedVisibleCommit` boundary.
34
34
  */
35
- type RestorableSnapshotCandidate = {
35
+ export type RestorableSnapshotCandidate = {
36
36
  state: AppRouterState;
37
37
  beforeCommit: () => void;
38
38
  };
@@ -51,7 +51,7 @@ type CommitNavigationHistoryOptions = {
51
51
  targetHistoryIndex?: number | null;
52
52
  stageClientParams: () => void;
53
53
  };
54
- declare function createCanonicalBrowserHistoryHref(href: string): string;
54
+ export declare function createCanonicalBrowserHistoryHref(href: string): string;
55
55
  /**
56
56
  * Owns App Router browser-history metadata and traversal bookkeeping behind a
57
57
  * typed seam: traversal index allocation/commit, push/replace/traverse/hash-only
@@ -65,7 +65,7 @@ declare function createCanonicalBrowserHistoryHref(href: string): string;
65
65
  * `applyApprovedVisibleCommit()`, and never bypasses the `ApprovedVisibleCommit`
66
66
  * boundary owned by `AppBrowserNavigationController`.
67
67
  */
68
- declare class AppBrowserHistoryController {
68
+ export declare class AppBrowserHistoryController {
69
69
  #private;
70
70
  constructor(deps: AppBrowserHistoryControllerDeps);
71
71
  get currentHistoryTraversalIndex(): number | null;
@@ -119,5 +119,4 @@ declare class AppBrowserHistoryController {
119
119
  */
120
120
  restoreHistorySnapshot(options: RestoreHistorySnapshotOptions): boolean;
121
121
  }
122
- //#endregion
123
- export { AppBrowserHistoryController, RestorableSnapshotCandidate, createCanonicalBrowserHistoryHref };
122
+ //#endregion
@@ -9,23 +9,33 @@ type HydrateRootCaughtErrorHandler = NonNullable<HydrateRootOptions["onCaughtErr
9
9
  type HydrateRootUncaughtErrorHandler = NonNullable<HydrateRootOptions["onUncaughtError"]>;
10
10
  type HydrateRootRecoverableErrorHandler = NonNullable<HydrateRootOptions["onRecoverableError"]>;
11
11
  type StartTransition = (action: () => void) => void;
12
- declare const RSC_FORM_STATE_GLOBAL = "__VINEXT_RSC_FORM_STATE__";
12
+ export declare const RSC_FORM_STATE_GLOBAL = "__VINEXT_RSC_FORM_STATE__";
13
13
  type FormStateGlobal = {
14
14
  [RSC_FORM_STATE_GLOBAL]?: ReactFormState;
15
15
  };
16
- declare function consumeInitialFormState(global: FormStateGlobal): ReactFormState | null;
17
- declare function createVinextHydrateRootOptions(options: {
16
+ export declare function consumeInitialFormState(global: FormStateGlobal): ReactFormState | null;
17
+ export declare function createVinextHydrateRootOptions(options: {
18
18
  formState: ReactFormState | null;
19
19
  onCaughtError?: HydrateRootCaughtErrorHandler;
20
20
  onRecoverableError?: HydrateRootRecoverableErrorHandler;
21
21
  onUncaughtError: HydrateRootUncaughtErrorHandler;
22
22
  }): HydrateRootOptions;
23
- declare function hydrateRootInTransition(options: {
23
+ export declare function hydrateRootInTransition(options: {
24
24
  children: HydrateRootChildren;
25
25
  container: HydrateRootContainer;
26
26
  hydrateRoot: HydrateRoot;
27
27
  options: HydrateRootOptions;
28
28
  startTransition: StartTransition;
29
29
  }): HydrateRootReturn;
30
- //#endregion
31
- export { RSC_FORM_STATE_GLOBAL, consumeInitialFormState, createVinextHydrateRootOptions, hydrateRootInTransition };
30
+ /**
31
+ * The pathname and query to hydrate with when the initial Flight payload is
32
+ * fetched instead of embedded, matching what SSR rendered: the query the
33
+ * server rendered (`X-Vinext-Rendered-Path-And-Search`), which a rewrite may
34
+ * have changed, under the public pathname `usePathname()` exposes. The
35
+ * header's path is the rewrite target, so it is never the pathname.
36
+ */
37
+ export declare function resolveFetchedHydrationLocation(renderedPathAndSearch: string | null, location: Pick<Location, "origin" | "pathname" | "search">): {
38
+ pathname: string;
39
+ search: string;
40
+ };
41
+ //#endregion
@@ -25,5 +25,18 @@ function hydrateRootInTransition(options) {
25
25
  if (root === void 0) throw new Error("[vinext] React.startTransition did not synchronously start hydration");
26
26
  return root;
27
27
  }
28
+ /**
29
+ * The pathname and query to hydrate with when the initial Flight payload is
30
+ * fetched instead of embedded, matching what SSR rendered: the query the
31
+ * server rendered (`X-Vinext-Rendered-Path-And-Search`), which a rewrite may
32
+ * have changed, under the public pathname `usePathname()` exposes. The
33
+ * header's path is the rewrite target, so it is never the pathname.
34
+ */
35
+ function resolveFetchedHydrationLocation(renderedPathAndSearch, location) {
36
+ return {
37
+ pathname: location.pathname,
38
+ search: renderedPathAndSearch === null ? location.search : new URL(renderedPathAndSearch, location.origin).search
39
+ };
40
+ }
28
41
  //#endregion
29
- export { RSC_FORM_STATE_GLOBAL, consumeInitialFormState, createVinextHydrateRootOptions, hydrateRootInTransition };
42
+ export { RSC_FORM_STATE_GLOBAL, consumeInitialFormState, createVinextHydrateRootOptions, hydrateRootInTransition, resolveFetchedHydrationLocation };
@@ -18,7 +18,6 @@ type ResolveManifestNavigationInterceptionContextOptions = {
18
18
  * When multiple manifest interceptions match, the first one wins. That order
19
19
  * is owned by the deterministic route graph builder.
20
20
  */
21
- declare function resolveManifestNavigationInterceptionContext(options: ResolveManifestNavigationInterceptionContextOptions): string | null;
22
- declare function resolveMiddlewareRewriteNavigationInterceptionContext(options: ResolveManifestNavigationInterceptionContextOptions): string | null;
23
- //#endregion
24
- export { resolveManifestNavigationInterceptionContext, resolveMiddlewareRewriteNavigationInterceptionContext };
21
+ export declare function resolveManifestNavigationInterceptionContext(options: ResolveManifestNavigationInterceptionContextOptions): string | null;
22
+ export declare function resolveMiddlewareRewriteNavigationInterceptionContext(options: ResolveManifestNavigationInterceptionContextOptions): string | null;
23
+ //#endregion
@@ -1,15 +1,14 @@
1
1
  import { HistoryUpdateMode } from "./app-browser-navigation-controller.js";
2
2
  //#region src/server/app-browser-mpa-navigation.d.ts
3
- type AppBrowserMpaNavigationWindow = {
3
+ export type AppBrowserMpaNavigationWindow = {
4
4
  location: Pick<Location, "assign" | "replace">;
5
5
  requestAnimationFrame?: (callback: FrameRequestCallback) => unknown;
6
6
  setTimeout(callback: () => void, timeout: number): unknown;
7
7
  };
8
- declare function hasPendingAppRouterPageRedirect(targetDocument: unknown): boolean;
9
- declare class AppBrowserMpaNavigationScheduler {
8
+ export declare function hasPendingAppRouterPageRedirect(targetDocument: unknown): boolean;
9
+ export declare class AppBrowserMpaNavigationScheduler {
10
10
  #private;
11
11
  reset(): void;
12
12
  navigate(targetWindow: AppBrowserMpaNavigationWindow, href: string, historyUpdateMode: HistoryUpdateMode): void;
13
13
  }
14
- //#endregion
15
- export { AppBrowserMpaNavigationScheduler, AppBrowserMpaNavigationWindow, hasPendingAppRouterPageRedirect };
14
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/server/app-browser-navigation-abort.d.ts
2
- type AppBrowserNavigationAbortHandle = {
2
+ export type AppBrowserNavigationAbortHandle = {
3
3
  release(): void;
4
4
  signal: AbortSignal;
5
5
  };
@@ -8,9 +8,8 @@ type AppBrowserNavigationAbortHandle = {
8
8
  * Once a Flight response is handed to React, release the handle so a newer
9
9
  * navigation does not abort the response body while React is decoding it.
10
10
  */
11
- declare function createAppBrowserNavigationAbortCoordinator(): {
11
+ export declare function createAppBrowserNavigationAbortCoordinator(): {
12
12
  abortActive(): void;
13
13
  begin(): AppBrowserNavigationAbortHandle;
14
14
  };
15
- //#endregion
16
- export { AppBrowserNavigationAbortHandle, createAppBrowserNavigationAbortCoordinator };
15
+ //#endregion