vinext 1.0.0-beta.9 → 1.0.1

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 (828) hide show
  1. package/README.md +150 -92
  2. package/THIRD_PARTY_LICENSES.md +51 -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 +7 -14
  33. package/dist/build/precompress.d.ts +2 -3
  34. package/dist/build/precompress.js +1 -1
  35. package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
  36. package/dist/build/prerender-cloudflare-loader.js +49 -0
  37. package/dist/build/prerender-paths.d.ts +36 -11
  38. package/dist/build/prerender-paths.js +274 -102
  39. package/dist/build/prerender-phase.d.ts +2 -3
  40. package/dist/build/prerender-server-entry.js +11 -3
  41. package/dist/build/prerender-server-pool.d.ts +9 -6
  42. package/dist/build/prerender-server-pool.js +8 -5
  43. package/dist/build/prerender.d.ts +73 -16
  44. package/dist/build/prerender.js +272 -80
  45. package/dist/build/preview-credentials.d.ts +5 -6
  46. package/dist/build/preview-credentials.js +2 -2
  47. package/dist/build/public-dir-conflict.d.ts +5 -6
  48. package/dist/build/public-dir-conflict.js +2 -1
  49. package/dist/build/report.d.ts +24 -20
  50. package/dist/build/report.js +10 -2
  51. package/dist/build/route-classification-injector.d.ts +2 -3
  52. package/dist/build/route-classification-manifest.d.ts +5 -6
  53. package/dist/build/run-prerender.d.ts +11 -9
  54. package/dist/build/run-prerender.js +26 -16
  55. package/dist/build/server-entry.d.ts +6 -0
  56. package/dist/build/server-entry.js +34 -0
  57. package/dist/build/server-manifest.d.ts +8 -3
  58. package/dist/build/server-manifest.js +14 -2
  59. package/dist/build/ssr-manifest.d.ts +5 -6
  60. package/dist/build/standalone.d.ts +2 -3
  61. package/dist/build/standalone.js +2 -2
  62. package/dist/build/static-export.d.ts +6 -7
  63. package/dist/cache/cache-adapters-virtual.d.ts +60 -20
  64. package/dist/cache/cache-adapters-virtual.js +50 -7
  65. package/dist/check.d.ts +11 -10
  66. package/dist/check.js +467 -176
  67. package/dist/cli-args.d.ts +7 -16
  68. package/dist/cli-args.js +2 -45
  69. package/dist/cli-dev-config.d.ts +10 -7
  70. package/dist/cli-dev-config.js +160 -3
  71. package/dist/cli.js +124 -442
  72. package/dist/client/app-nav-failure-handler.d.ts +6 -7
  73. package/dist/client/browser-globals.d.ts +4 -0
  74. package/dist/client/browser-globals.js +5 -0
  75. package/dist/client/client-rewrite-matcher.d.ts +2 -3
  76. package/dist/client/client-rewrites.d.ts +4 -5
  77. package/dist/client/dev-error-overlay-store.d.ts +13 -14
  78. package/dist/client/dev-error-overlay.d.ts +15 -15
  79. package/dist/client/dev-error-overlay.js +8 -5
  80. package/dist/client/instrumentation-client-inject.d.ts +3 -4
  81. package/dist/client/instrumentation-client-state.d.ts +5 -6
  82. package/dist/client/instrumentation-client.d.ts +3 -4
  83. package/dist/client/navigation-runtime.d.ts +20 -17
  84. package/dist/client/navigation-runtime.js +4 -3
  85. package/dist/client/pages-router-link-navigation.d.ts +4 -5
  86. package/dist/client/react-instance.d.ts +2 -3
  87. package/dist/client/validate-module-path.d.ts +2 -3
  88. package/dist/client/vinext-next-data.d.ts +7 -10
  89. package/dist/client/window-next.d.ts +4 -5
  90. package/dist/config/config-matchers.d.ts +16 -16
  91. package/dist/config/config-matchers.js +2 -4
  92. package/dist/config/dotenv.d.ts +3 -4
  93. package/dist/config/dotenv.js +14 -2
  94. package/dist/config/next-config.d.ts +31 -27
  95. package/dist/config/next-config.js +163 -16
  96. package/dist/config/prerender.d.ts +20 -16
  97. package/dist/config/prerender.js +10 -4
  98. package/dist/config/request-context.d.ts +5 -6
  99. package/dist/config/server-external-packages.d.ts +14 -3
  100. package/dist/config/server-external-packages.js +37 -3
  101. package/dist/config/tsconfig-paths.d.ts +3 -4
  102. package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
  103. package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
  104. package/dist/entries/app-browser-entry.d.ts +4 -5
  105. package/dist/entries/app-browser-entry.js +1 -3
  106. package/dist/entries/app-rsc-entry.d.ts +10 -3
  107. package/dist/entries/app-rsc-entry.js +503 -51
  108. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  109. package/dist/entries/app-rsc-manifest.js +26 -8
  110. package/dist/entries/app-ssr-entry.d.ts +2 -3
  111. package/dist/entries/app-ssr-entry.js +8 -1
  112. package/dist/entries/pages-client-entry.d.ts +3 -3
  113. package/dist/entries/pages-client-entry.js +17 -2
  114. package/dist/entries/pages-server-entry.d.ts +13 -3
  115. package/dist/entries/pages-server-entry.js +234 -33
  116. package/dist/entries/runtime-entry-module.d.ts +4 -5
  117. package/dist/image/image-adapters-virtual.d.ts +4 -5
  118. package/dist/index.d.ts +10 -11
  119. package/dist/index.js +848 -255
  120. package/dist/init-cloudflare.d.ts +26 -17
  121. package/dist/init-cloudflare.js +711 -103
  122. package/dist/init-platform.d.ts +26 -22
  123. package/dist/init-platform.js +85 -29
  124. package/dist/init.d.ts +19 -13
  125. package/dist/init.js +126 -42
  126. package/dist/plugins/action-owner-manifest.d.ts +3 -4
  127. package/dist/plugins/action-owner-manifest.js +10 -3
  128. package/dist/plugins/ast-scope.d.ts +10 -11
  129. package/dist/plugins/ast-scope.js +10 -22
  130. package/dist/plugins/ast-utils.d.ts +16 -29
  131. package/dist/plugins/ast-utils.js +27 -71
  132. package/dist/plugins/async-hooks-stub.d.ts +2 -3
  133. package/dist/plugins/client-reference-dedup.d.ts +4 -5
  134. package/dist/plugins/commonjs-syntax.d.ts +16 -0
  135. package/dist/plugins/commonjs-syntax.js +22 -0
  136. package/dist/plugins/css-data-url.d.ts +2 -3
  137. package/dist/plugins/css-module-imports.d.ts +3 -4
  138. package/dist/plugins/css-module-imports.js +1 -1
  139. package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
  140. package/dist/plugins/dynamic-preload-metadata.js +55 -154
  141. package/dist/plugins/environment.d.ts +2 -3
  142. package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
  143. package/dist/plugins/extensionless-dynamic-import.js +6 -10
  144. package/dist/plugins/fonts.d.ts +10 -11
  145. package/dist/plugins/fonts.js +4 -3
  146. package/dist/plugins/ignore-dynamic-requests.d.ts +14 -4
  147. package/dist/plugins/ignore-dynamic-requests.js +113 -91
  148. package/dist/plugins/import-meta-url.d.ts +6 -7
  149. package/dist/plugins/import-meta-url.js +36 -48
  150. package/dist/plugins/instrumentation-client.d.ts +3 -3
  151. package/dist/plugins/instrumentation-client.js +46 -10
  152. package/dist/plugins/middleware-export-validation.d.ts +3 -4
  153. package/dist/plugins/middleware-export-validation.js +3 -3
  154. package/dist/plugins/middleware-server-only.d.ts +2 -3
  155. package/dist/plugins/og-asset-ownership.d.ts +5 -4
  156. package/dist/plugins/og-asset-ownership.js +24 -13
  157. package/dist/plugins/og-assets.d.ts +22 -5
  158. package/dist/plugins/og-assets.js +82 -21
  159. package/dist/plugins/og-harfbuzz.d.ts +24 -0
  160. package/dist/plugins/og-harfbuzz.js +271 -0
  161. package/dist/plugins/optimize-imports.d.ts +7 -7
  162. package/dist/plugins/optimize-imports.js +34 -45
  163. package/dist/plugins/pages-node-externals.d.ts +2 -3
  164. package/dist/plugins/pages-node-externals.js +6 -11
  165. package/dist/plugins/postcss.d.ts +8 -4
  166. package/dist/plugins/postcss.js +1 -1
  167. package/dist/plugins/remove-console.d.ts +2 -3
  168. package/dist/plugins/remove-console.js +0 -1
  169. package/dist/plugins/require-condition-resolution.d.ts +3 -4
  170. package/dist/plugins/require-condition-resolution.js +17 -18
  171. package/dist/plugins/require-context.d.ts +3 -3
  172. package/dist/plugins/require-context.js +41 -22
  173. package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
  174. package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
  175. package/dist/plugins/rsc-client-shim-excludes.js +1 -0
  176. package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
  177. package/dist/plugins/sass.d.ts +7 -8
  178. package/dist/plugins/sass.js +7 -4
  179. package/dist/plugins/scan-build-css.d.ts +12 -0
  180. package/dist/plugins/scan-build-css.js +39 -0
  181. package/dist/plugins/server-externals-manifest.d.ts +2 -3
  182. package/dist/plugins/strip-server-exports.d.ts +7 -6
  183. package/dist/plugins/strip-server-exports.js +4 -2
  184. package/dist/plugins/styled-jsx.d.ts +2 -3
  185. package/dist/plugins/styled-jsx.js +7 -7
  186. package/dist/plugins/transform-cache.d.ts +2 -3
  187. package/dist/plugins/transform-result.d.ts +21 -4
  188. package/dist/plugins/transform-result.js +23 -2
  189. package/dist/plugins/transitive-externals.d.ts +2 -3
  190. package/dist/plugins/typeof-window.d.ts +16 -7
  191. package/dist/plugins/typeof-window.js +62 -39
  192. package/dist/plugins/use-cache-callable.d.ts +2 -5
  193. package/dist/plugins/use-cache-callable.js +43 -22
  194. package/dist/plugins/wasm-module-import.d.ts +2 -3
  195. package/dist/plugins/worker-image-imports.d.ts +2 -3
  196. package/dist/plugins/worker-image-imports.js +6 -8
  197. package/dist/routing/app-route-graph.d.ts +18 -19
  198. package/dist/routing/app-route-graph.js +5 -6
  199. package/dist/routing/app-route-ids.d.ts +3 -0
  200. package/dist/routing/app-route-ids.js +6 -0
  201. package/dist/routing/app-router.d.ts +19 -6
  202. package/dist/routing/app-router.js +24 -2
  203. package/dist/routing/file-matcher.d.ts +9 -10
  204. package/dist/routing/pages-router.d.ts +6 -6
  205. package/dist/routing/pages-router.js +1 -1
  206. package/dist/routing/route-matching.d.ts +4 -5
  207. package/dist/routing/route-matching.js +4 -2
  208. package/dist/routing/route-pattern.d.ts +13 -14
  209. package/dist/routing/route-trie.d.ts +5 -6
  210. package/dist/routing/route-validation.d.ts +3 -4
  211. package/dist/routing/route-validation.js +12 -11
  212. package/dist/routing/utils.d.ts +13 -14
  213. package/dist/server/accept-encoding.d.ts +9 -10
  214. package/dist/server/api-handler.d.ts +2 -3
  215. package/dist/server/api-handler.js +9 -6
  216. package/dist/server/app-action-forwarding.d.ts +3 -4
  217. package/dist/server/app-action-forwarding.js +1 -1
  218. package/dist/server/app-action-request.d.ts +2 -3
  219. package/dist/server/app-bfcache-id.d.ts +4 -4
  220. package/dist/server/app-bfcache-id.js +7 -1
  221. package/dist/server/app-bfcache-identity.d.ts +8 -9
  222. package/dist/server/app-bfcache-identity.js +1 -2
  223. package/dist/server/app-browser-action-result.d.ts +15 -16
  224. package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
  225. package/dist/server/app-browser-entry.js +91 -36
  226. package/dist/server/app-browser-error.d.ts +5 -6
  227. package/dist/server/app-browser-error.js +9 -3
  228. package/dist/server/app-browser-history-controller.d.ts +4 -5
  229. package/dist/server/app-browser-hydration.d.ts +16 -6
  230. package/dist/server/app-browser-hydration.js +15 -2
  231. package/dist/server/app-browser-interception-context.d.ts +3 -4
  232. package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
  233. package/dist/server/app-browser-navigation-abort.d.ts +3 -4
  234. package/dist/server/app-browser-navigation-controller.d.ts +8 -8
  235. package/dist/server/app-browser-navigation-controller.js +9 -5
  236. package/dist/server/app-browser-navigation-response.d.ts +2 -3
  237. package/dist/server/app-browser-popstate.d.ts +4 -5
  238. package/dist/server/app-browser-prefetch-response.d.ts +5 -6
  239. package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
  240. package/dist/server/app-browser-server-action-client.d.ts +7 -6
  241. package/dist/server/app-browser-server-action-client.js +9 -5
  242. package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
  243. package/dist/server/app-browser-state.d.ts +17 -17
  244. package/dist/server/app-browser-state.js +7 -3
  245. package/dist/server/app-browser-stream.d.ts +5 -6
  246. package/dist/server/app-browser-stream.js +8 -6
  247. package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
  248. package/dist/server/app-browser-visible-commit.d.ts +6 -7
  249. package/dist/server/app-client-reference-preloader.d.ts +2 -3
  250. package/dist/server/app-elements-wire-key.d.ts +25 -0
  251. package/dist/server/app-elements-wire-key.js +69 -0
  252. package/dist/server/app-elements-wire.d.ts +34 -53
  253. package/dist/server/app-elements-wire.js +4 -75
  254. package/dist/server/app-elements.d.ts +5 -5
  255. package/dist/server/app-elements.js +1 -1
  256. package/dist/server/app-fallback-renderer.d.ts +4 -4
  257. package/dist/server/app-fallback-renderer.js +6 -6
  258. package/dist/server/app-fetch-tracing.d.ts +15 -0
  259. package/dist/server/app-fetch-tracing.js +38 -0
  260. package/dist/server/app-history-state.d.ts +25 -27
  261. package/dist/server/app-history-state.js +21 -16
  262. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  263. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  264. package/dist/server/app-inline-css-client.d.ts +3 -4
  265. package/dist/server/app-interception-context-header.d.ts +2 -3
  266. package/dist/server/app-layout-param-observation.d.ts +7 -8
  267. package/dist/server/app-metadata-tracing.d.ts +12 -0
  268. package/dist/server/app-metadata-tracing.js +17 -0
  269. package/dist/server/app-middleware.d.ts +7 -7
  270. package/dist/server/app-middleware.js +2 -3
  271. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  272. package/dist/server/app-mounted-slots-header.js +2 -2
  273. package/dist/server/app-optimistic-routing.d.ts +10 -11
  274. package/dist/server/app-optimistic-routing.js +3 -2
  275. package/dist/server/app-page-boundary-render.d.ts +6 -6
  276. package/dist/server/app-page-boundary-render.js +10 -4
  277. package/dist/server/app-page-boundary.d.ts +9 -10
  278. package/dist/server/app-page-boundary.js +1 -1
  279. package/dist/server/app-page-cache-finalizer.d.ts +18 -9
  280. package/dist/server/app-page-cache-finalizer.js +51 -16
  281. package/dist/server/app-page-cache-render.d.ts +8 -5
  282. package/dist/server/app-page-cache-render.js +22 -4
  283. package/dist/server/app-page-cache.d.ts +28 -9
  284. package/dist/server/app-page-cache.js +95 -24
  285. package/dist/server/app-page-dispatch.d.ts +34 -12
  286. package/dist/server/app-page-dispatch.js +181 -64
  287. package/dist/server/app-page-element-builder.d.ts +13 -11
  288. package/dist/server/app-page-element-builder.js +104 -61
  289. package/dist/server/app-page-execution.d.ts +14 -14
  290. package/dist/server/app-page-execution.js +11 -7
  291. package/dist/server/app-page-head.d.ts +19 -16
  292. package/dist/server/app-page-head.js +25 -25
  293. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  294. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  295. package/dist/server/app-page-method.d.ts +5 -11
  296. package/dist/server/app-page-method.js +2 -9
  297. package/dist/server/app-page-params.d.ts +5 -6
  298. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  299. package/dist/server/app-page-probe.d.ts +5 -6
  300. package/dist/server/app-page-probe.js +5 -4
  301. package/dist/server/app-page-render-identity.d.ts +4 -5
  302. package/dist/server/app-page-render-observation.d.ts +8 -9
  303. package/dist/server/app-page-render-observation.js +1 -1
  304. package/dist/server/app-page-render.d.ts +41 -6
  305. package/dist/server/app-page-render.js +171 -24
  306. package/dist/server/app-page-request.d.ts +10 -9
  307. package/dist/server/app-page-request.js +16 -12
  308. package/dist/server/app-page-response.d.ts +20 -9
  309. package/dist/server/app-page-response.js +30 -12
  310. package/dist/server/app-page-route-wiring.d.ts +15 -15
  311. package/dist/server/app-page-route-wiring.js +31 -24
  312. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  313. package/dist/server/app-page-search-params-observation.js +43 -7
  314. package/dist/server/app-page-segment-plan.d.ts +2 -3
  315. package/dist/server/app-page-segment-state.d.ts +11 -12
  316. package/dist/server/app-page-stream.d.ts +27 -11
  317. package/dist/server/app-page-stream.js +34 -6
  318. package/dist/server/app-page-tracing.d.ts +33 -0
  319. package/dist/server/app-page-tracing.js +50 -0
  320. package/dist/server/app-pages-bridge.d.ts +6 -6
  321. package/dist/server/app-pages-bridge.js +18 -4
  322. package/dist/server/app-post-middleware-context.d.ts +2 -3
  323. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  324. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  325. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  326. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  327. package/dist/server/app-prerender-endpoints.js +3 -1
  328. package/dist/server/app-prerender-static-params.d.ts +15 -7
  329. package/dist/server/app-prerender-static-params.js +24 -9
  330. package/dist/server/app-render-abort-error.d.ts +3 -0
  331. package/dist/server/app-render-abort-error.js +8 -0
  332. package/dist/server/app-render-dependency.d.ts +14 -13
  333. package/dist/server/app-render-dependency.js +5 -1
  334. package/dist/server/app-request-context.d.ts +3 -4
  335. package/dist/server/app-request-stage-context.d.ts +5 -0
  336. package/dist/server/app-request-stage-context.js +11 -0
  337. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  338. package/dist/server/app-request-stage-dispatch.js +54 -0
  339. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  340. package/dist/server/app-request-stage-independent-entry.js +112 -0
  341. package/dist/server/app-response-header-provenance.d.ts +13 -7
  342. package/dist/server/app-response-header-provenance.js +34 -1
  343. package/dist/server/app-response-stage-entry.d.ts +9 -0
  344. package/dist/server/app-response-stage-entry.js +87 -0
  345. package/dist/server/app-route-handler-cache.d.ts +4 -4
  346. package/dist/server/app-route-handler-cache.js +51 -35
  347. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  348. package/dist/server/app-route-handler-dispatch.js +77 -56
  349. package/dist/server/app-route-handler-execution.d.ts +26 -14
  350. package/dist/server/app-route-handler-execution.js +94 -28
  351. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  352. package/dist/server/app-route-handler-middleware-context.js +15 -0
  353. package/dist/server/app-route-handler-policy.d.ts +11 -11
  354. package/dist/server/app-route-handler-policy.js +2 -2
  355. package/dist/server/app-route-handler-response.d.ts +9 -10
  356. package/dist/server/app-route-handler-response.js +14 -3
  357. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  358. package/dist/server/app-route-handler-runtime.js +20 -16
  359. package/dist/server/app-route-module-loader.d.ts +6 -7
  360. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  361. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  362. package/dist/server/app-route-tree-prefetch.js +2 -1
  363. package/dist/server/app-router-entry.d.ts +4 -1
  364. package/dist/server/app-router-entry.js +33 -17
  365. package/dist/server/app-rsc-cache-busting.d.ts +34 -27
  366. package/dist/server/app-rsc-cache-busting.js +14 -2
  367. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  368. package/dist/server/app-rsc-combined-handler.js +11 -0
  369. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  370. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  371. package/dist/server/app-rsc-error-handler.js +15 -6
  372. package/dist/server/app-rsc-errors.d.ts +11 -9
  373. package/dist/server/app-rsc-errors.js +14 -16
  374. package/dist/server/app-rsc-handler.d.ts +32 -6
  375. package/dist/server/app-rsc-handler.js +425 -64
  376. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  377. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  378. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  379. package/dist/server/app-rsc-request-normalization.js +5 -3
  380. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  381. package/dist/server/app-rsc-response-finalizer.js +10 -7
  382. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  383. package/dist/server/app-rsc-response-stage.js +251 -0
  384. package/dist/server/app-rsc-route-matching.d.ts +3 -4
  385. package/dist/server/app-rsc-route-matching.js +3 -2
  386. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  387. package/dist/server/app-rsc-vary.d.ts +16 -0
  388. package/dist/server/app-rsc-vary.js +31 -0
  389. package/dist/server/app-segment-config.d.ts +119 -7
  390. package/dist/server/app-segment-config.js +242 -2
  391. package/dist/server/app-server-action-execution.d.ts +18 -13
  392. package/dist/server/app-server-action-execution.js +86 -33
  393. package/dist/server/app-ssr-entry.d.ts +14 -4
  394. package/dist/server/app-ssr-entry.js +62 -15
  395. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  396. package/dist/server/app-ssr-error-meta.js +2 -1
  397. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  398. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  399. package/dist/server/app-ssr-search-params-gate.js +54 -0
  400. package/dist/server/app-ssr-stream.d.ts +13 -9
  401. package/dist/server/app-ssr-stream.js +34 -8
  402. package/dist/server/app-static-generation.d.ts +4 -5
  403. package/dist/server/app-visited-response-cache.d.ts +11 -12
  404. package/dist/server/app-visited-response-cache.js +2 -2
  405. package/dist/server/app-worker-stages.d.ts +112 -0
  406. package/dist/server/app-worker-stages.js +105 -0
  407. package/dist/server/artifact-compatibility.d.ts +11 -12
  408. package/dist/server/before-interactive-head.d.ts +2 -3
  409. package/dist/server/bfcache-identity.d.ts +7 -8
  410. package/dist/server/cache-control.d.ts +35 -13
  411. package/dist/server/cache-control.js +64 -6
  412. package/dist/server/cache-headers.d.ts +3 -4
  413. package/dist/server/cache-proof.d.ts +75 -70
  414. package/dist/server/cache-proof.js +9 -1
  415. package/dist/server/cacheability-limits.d.ts +4 -5
  416. package/dist/server/cacheability-limits.js +2 -2
  417. package/dist/server/cacheability-manifest.d.ts +42 -16
  418. package/dist/server/cacheability-manifest.js +60 -10
  419. package/dist/server/cacheability-request.d.ts +37 -8
  420. package/dist/server/cacheability-request.js +192 -90
  421. package/dist/server/client-reuse-manifest.d.ts +17 -18
  422. package/dist/server/client-reuse-manifest.js +2 -2
  423. package/dist/server/client-trace-metadata.d.ts +9 -6
  424. package/dist/server/client-trace-metadata.js +27 -15
  425. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  426. package/dist/server/cloudflare-workers-tracing.js +8 -0
  427. package/dist/server/config-headers.d.ts +19 -5
  428. package/dist/server/config-headers.js +25 -11
  429. package/dist/server/cookie-utils.d.ts +2 -3
  430. package/dist/server/csp.d.ts +5 -6
  431. package/dist/server/default-global-error-module.d.ts +2 -3
  432. package/dist/server/default-global-not-found-module.d.ts +2 -3
  433. package/dist/server/default-not-found-module.d.ts +2 -3
  434. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  435. package/dist/server/defer-until-stream-consumed.js +2 -1
  436. package/dist/server/dev-initial-server-error.d.ts +3 -4
  437. package/dist/server/dev-initial-server-error.js +2 -1
  438. package/dist/server/dev-lockfile.d.ts +7 -8
  439. package/dist/server/dev-lockfile.js +4 -1
  440. package/dist/server/dev-module-runner.d.ts +2 -3
  441. package/dist/server/dev-origin-check.d.ts +5 -6
  442. package/dist/server/dev-route-files.d.ts +2 -3
  443. package/dist/server/dev-server.d.ts +4 -5
  444. package/dist/server/dev-server.js +141 -64
  445. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  446. package/dist/server/dev-stack-sourcemap.js +1 -1
  447. package/dist/server/document-initial-head.d.ts +3 -4
  448. package/dist/server/edge-api-runtime.d.ts +4 -5
  449. package/dist/server/fetch-handler.d.ts +3 -2
  450. package/dist/server/fetch-handler.js +3 -18
  451. package/dist/server/file-based-metadata.d.ts +2 -3
  452. package/dist/server/framework-tracer.d.ts +46 -0
  453. package/dist/server/framework-tracer.js +125 -0
  454. package/dist/server/fully-buffered-response.d.ts +11 -0
  455. package/dist/server/fully-buffered-response.js +19 -0
  456. package/dist/server/headers.d.ts +56 -61
  457. package/dist/server/headers.js +22 -31
  458. package/dist/server/html.d.ts +6 -27
  459. package/dist/server/html.js +16 -1
  460. package/dist/server/http-conditional.d.ts +5 -6
  461. package/dist/server/http-date.d.ts +2 -3
  462. package/dist/server/http-error-responses.d.ts +9 -10
  463. package/dist/server/http-error-responses.js +1 -0
  464. package/dist/server/http-range.d.ts +4 -5
  465. package/dist/server/hybrid-route-priority.d.ts +4 -5
  466. package/dist/server/image-optimization.d.ts +20 -21
  467. package/dist/server/implicit-tags.d.ts +3 -4
  468. package/dist/server/instrumentation-runtime.d.ts +17 -21
  469. package/dist/server/instrumentation-runtime.js +26 -8
  470. package/dist/server/instrumentation.d.ts +26 -30
  471. package/dist/server/instrumentation.js +18 -23
  472. package/dist/server/isr-cache.d.ts +30 -27
  473. package/dist/server/isr-cache.js +23 -70
  474. package/dist/server/isr-decision.d.ts +4 -4
  475. package/dist/server/metadata-route-build-data.d.ts +4 -5
  476. package/dist/server/metadata-route-response.d.ts +7 -7
  477. package/dist/server/metadata-route-response.js +158 -35
  478. package/dist/server/metadata-routes.d.ts +18 -19
  479. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  480. package/dist/server/middleware-matcher.d.ts +6 -7
  481. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  482. package/dist/server/middleware-path-to-regexp.js +11 -9
  483. package/dist/server/middleware-response-headers.d.ts +3 -4
  484. package/dist/server/middleware-runtime.d.ts +7 -8
  485. package/dist/server/middleware-runtime.js +36 -7
  486. package/dist/server/middleware.d.ts +5 -5
  487. package/dist/server/multi-stage.d.ts +141 -0
  488. package/dist/server/multi-stage.js +8 -0
  489. package/dist/server/navigation-planner.d.ts +26 -26
  490. package/dist/server/navigation-trace.d.ts +11 -12
  491. package/dist/server/next-error-digest.d.ts +4 -5
  492. package/dist/server/normalize-path.d.ts +5 -6
  493. package/dist/server/open-redirect.d.ts +2 -3
  494. package/dist/server/opentelemetry-api.d.ts +59 -0
  495. package/dist/server/opentelemetry-api.js +53 -0
  496. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  497. package/dist/server/opentelemetry-tracing.js +83 -0
  498. package/dist/server/operation-token.d.ts +11 -12
  499. package/dist/server/otel-tracer-extension.d.ts +7 -9
  500. package/dist/server/otel-tracer-extension.js +37 -36
  501. package/dist/server/pages-api-route.d.ts +5 -4
  502. package/dist/server/pages-api-route.js +28 -9
  503. package/dist/server/pages-asset-tags.d.ts +7 -6
  504. package/dist/server/pages-asset-tags.js +104 -18
  505. package/dist/server/pages-body-parser-config.d.ts +4 -5
  506. package/dist/server/pages-body-parser-config.js +4 -4
  507. package/dist/server/pages-client-assets.d.ts +13 -5
  508. package/dist/server/pages-data-route.d.ts +11 -12
  509. package/dist/server/pages-data-route.js +1 -1
  510. package/dist/server/pages-default-404.d.ts +3 -4
  511. package/dist/server/pages-dev-hydration.d.ts +9 -4
  512. package/dist/server/pages-dev-hydration.js +19 -7
  513. package/dist/server/pages-dev-module-url.d.ts +3 -4
  514. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  515. package/dist/server/pages-document-asset-props.d.ts +6 -7
  516. package/dist/server/pages-document-initial-props.d.ts +5 -5
  517. package/dist/server/pages-document-initial-props.js +4 -2
  518. package/dist/server/pages-execution-tracing.d.ts +40 -0
  519. package/dist/server/pages-execution-tracing.js +80 -0
  520. package/dist/server/pages-get-initial-props.d.ts +9 -10
  521. package/dist/server/pages-i18n.d.ts +8 -8
  522. package/dist/server/pages-media-type.d.ts +4 -5
  523. package/dist/server/pages-node-compat.d.ts +11 -10
  524. package/dist/server/pages-node-compat.js +12 -4
  525. package/dist/server/pages-page-data.d.ts +23 -19
  526. package/dist/server/pages-page-data.js +82 -75
  527. package/dist/server/pages-page-handler.d.ts +7 -6
  528. package/dist/server/pages-page-handler.js +103 -47
  529. package/dist/server/pages-page-method.d.ts +2 -3
  530. package/dist/server/pages-page-response.d.ts +14 -10
  531. package/dist/server/pages-page-response.js +52 -32
  532. package/dist/server/pages-preview.d.ts +10 -11
  533. package/dist/server/pages-readiness.d.ts +2 -3
  534. package/dist/server/pages-request-pipeline.d.ts +15 -12
  535. package/dist/server/pages-request-pipeline.js +80 -35
  536. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  537. package/dist/server/pages-request-stage-entry.js +316 -0
  538. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  539. package/dist/server/pages-response-stage-entry.js +106 -0
  540. package/dist/server/pages-response-stage.d.ts +31 -0
  541. package/dist/server/pages-response-stage.js +49 -0
  542. package/dist/server/pages-revalidate.d.ts +3 -4
  543. package/dist/server/pages-revalidate.js +9 -4
  544. package/dist/server/pages-route-data-kind.d.ts +18 -0
  545. package/dist/server/pages-route-data-kind.js +11 -0
  546. package/dist/server/pages-router-entry.d.ts +1 -25
  547. package/dist/server/pages-router-entry.js +35 -148
  548. package/dist/server/pages-serializable-props.d.ts +3 -4
  549. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  550. package/dist/server/pregenerated-concrete-paths.js +12 -6
  551. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  552. package/dist/server/prerender-manifest.d.ts +17 -11
  553. package/dist/server/prerender-manifest.js +7 -4
  554. package/dist/server/prerender-route-params.d.ts +16 -9
  555. package/dist/server/prerender-route-params.js +18 -3
  556. package/dist/server/prerender-work-unit-setup.d.ts +2 -3
  557. package/dist/server/prerender-work-unit-setup.js +5 -5
  558. package/dist/server/prod-server.d.ts +12 -9
  559. package/dist/server/prod-server.js +127 -44
  560. package/dist/server/proxy-trust.d.ts +5 -6
  561. package/dist/server/request-log.d.ts +3 -4
  562. package/dist/server/request-pipeline.d.ts +16 -16
  563. package/dist/server/request-pipeline.js +7 -2
  564. package/dist/server/request-stage.d.ts +5 -0
  565. package/dist/server/request-stage.js +7 -0
  566. package/dist/server/request-tracing.d.ts +22 -0
  567. package/dist/server/request-tracing.js +180 -0
  568. package/dist/server/response-stage-cacheability.d.ts +37 -0
  569. package/dist/server/response-stage-cacheability.js +55 -0
  570. package/dist/server/response-stage-policy.d.ts +23 -0
  571. package/dist/server/response-stage-policy.js +89 -0
  572. package/dist/server/response-stage.d.ts +5 -0
  573. package/dist/server/response-stage.js +7 -0
  574. package/dist/server/response-start-tracing.d.ts +14 -0
  575. package/dist/server/response-start-tracing.js +80 -0
  576. package/dist/server/revalidation-host.d.ts +2 -3
  577. package/dist/server/revalidation-host.js +1 -1
  578. package/dist/server/revalidation-request.d.ts +8 -0
  579. package/dist/server/revalidation-request.js +37 -0
  580. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  581. package/dist/server/rsc-stream-hints.d.ts +18 -7
  582. package/dist/server/rsc-stream-hints.js +70 -35
  583. package/dist/server/seed-cache.d.ts +2 -3
  584. package/dist/server/seed-cache.js +8 -7
  585. package/dist/server/server-action-not-found.d.ts +5 -6
  586. package/dist/server/server-globals.d.ts +2 -3
  587. package/dist/server/skip-cache-proof.d.ts +4 -4
  588. package/dist/server/socket-error-backstop.d.ts +5 -6
  589. package/dist/server/socket-error-backstop.js +1 -1
  590. package/dist/server/static-file-cache.d.ts +5 -6
  591. package/dist/server/static-file-cache.js +9 -7
  592. package/dist/server/static-file-signal.d.ts +9 -6
  593. package/dist/server/static-file-signal.js +51 -2
  594. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  595. package/dist/server/streaming-metadata.d.ts +2 -3
  596. package/dist/server/tracer.d.ts +5 -0
  597. package/dist/server/tracer.js +13 -0
  598. package/dist/server/worker-prerender-discovery.d.ts +5 -6
  599. package/dist/server/worker-revalidation-context.d.ts +4 -4
  600. package/dist/server/worker-revalidation-context.js +6 -5
  601. package/dist/server/worker-stages.d.ts +43 -0
  602. package/dist/server/worker-stages.js +25 -0
  603. package/dist/server/worker-utils.d.ts +5 -6
  604. package/dist/server/worker-utils.js +2 -1
  605. package/dist/server/workers-tracing.d.ts +34 -0
  606. package/dist/server/workers-tracing.js +67 -0
  607. package/dist/shims/amp.d.ts +3 -4
  608. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  609. package/dist/shims/app-router-scroll.d.ts +4 -5
  610. package/dist/shims/app-router-scroll.js +2 -1
  611. package/dist/shims/app.d.ts +5 -6
  612. package/dist/shims/before-interactive-context.d.ts +5 -6
  613. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  614. package/dist/shims/cache-callable-runtime.js +168 -8
  615. package/dist/shims/cache-for-request.d.ts +2 -3
  616. package/dist/shims/cache-handler.d.ts +33 -20
  617. package/dist/shims/cache-handler.js +61 -2
  618. package/dist/shims/cache-request-state.d.ts +26 -38
  619. package/dist/shims/cache-request-state.js +2 -13
  620. package/dist/shims/cache-runtime.d.ts +23 -21
  621. package/dist/shims/cache-runtime.js +110 -28
  622. package/dist/shims/cache.d.ts +17 -16
  623. package/dist/shims/cache.js +19 -15
  624. package/dist/shims/cacheability-classification.d.ts +50 -29
  625. package/dist/shims/cacheability-classification.js +29 -14
  626. package/dist/shims/cdn-cache-state.d.ts +13 -0
  627. package/dist/shims/cdn-cache-state.js +23 -0
  628. package/dist/shims/cdn-cache.d.ts +59 -21
  629. package/dist/shims/cdn-cache.js +31 -47
  630. package/dist/shims/client-hook-error.d.ts +3 -4
  631. package/dist/shims/client-locale.d.ts +2 -3
  632. package/dist/shims/client-page-root.d.ts +24 -0
  633. package/dist/shims/client-page-root.js +121 -0
  634. package/dist/shims/compat-router.d.ts +2 -3
  635. package/dist/shims/config.d.ts +3 -4
  636. package/dist/shims/constants.d.ts +73 -74
  637. package/dist/shims/constants.js +1 -1
  638. package/dist/shims/default-not-found.d.ts +2 -3
  639. package/dist/shims/document.d.ts +9 -9
  640. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  641. package/dist/shims/dynamic-preload-chunks.js +17 -13
  642. package/dist/shims/dynamic.d.ts +3 -3
  643. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  644. package/dist/shims/error-boundary.d.ts +17 -18
  645. package/dist/shims/error-boundary.js +17 -11
  646. package/dist/shims/error.d.ts +5 -19
  647. package/dist/shims/error.js +17 -10
  648. package/dist/shims/error.react-server.d.ts +4 -7
  649. package/dist/shims/error.react-server.js +4 -1
  650. package/dist/shims/fetch-cache.d.ts +22 -22
  651. package/dist/shims/fetch-cache.js +46 -20
  652. package/dist/shims/font-google-base.d.ts +9 -9
  653. package/dist/shims/font-google-base.js +2 -1
  654. package/dist/shims/font-local.d.ts +3 -3
  655. package/dist/shims/font-local.js +1 -1
  656. package/dist/shims/font-utils.d.ts +14 -15
  657. package/dist/shims/form.d.ts +2 -2
  658. package/dist/shims/form.js +10 -7
  659. package/dist/shims/hash-scroll.d.ts +5 -6
  660. package/dist/shims/head-state.d.ts +4 -5
  661. package/dist/shims/head.d.ts +16 -16
  662. package/dist/shims/head.js +5 -4
  663. package/dist/shims/headers.d.ts +44 -73
  664. package/dist/shims/headers.js +87 -144
  665. package/dist/shims/i18n-context.d.ts +5 -6
  666. package/dist/shims/i18n-state.d.ts +4 -5
  667. package/dist/shims/image-config.d.ts +5 -6
  668. package/dist/shims/image-config.js +2 -0
  669. package/dist/shims/image.d.ts +5 -5
  670. package/dist/shims/image.js +12 -8
  671. package/dist/shims/internal/als-registry.d.ts +4 -5
  672. package/dist/shims/internal/api-utils.d.ts +3 -4
  673. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  674. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  675. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  676. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
  677. package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
  678. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  679. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
  680. package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
  681. package/dist/shims/internal/app-router-context.d.ts +9 -10
  682. package/dist/shims/internal/cache-context-accessor.d.ts +16 -0
  683. package/dist/shims/internal/cache-context-accessor.js +15 -0
  684. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  685. package/dist/shims/internal/format-url-object.d.ts +7 -0
  686. package/dist/shims/internal/format-url-object.js +53 -0
  687. package/dist/shims/internal/headers-state.d.ts +74 -0
  688. package/dist/shims/internal/headers-state.js +157 -0
  689. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  690. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  691. package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
  692. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  693. package/dist/shims/internal/interpolate-as.js +4 -2
  694. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  695. package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
  696. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  697. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  698. package/dist/shims/internal/normalize-router-href.js +41 -0
  699. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  700. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  701. package/dist/shims/internal/pages-data-target.js +32 -36
  702. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  703. package/dist/shims/internal/pages-data-url.js +2 -1
  704. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  705. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  706. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  707. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  708. package/dist/shims/internal/router-context.d.ts +2 -3
  709. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  710. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  711. package/dist/shims/internal/utils.d.ts +7 -8
  712. package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
  713. package/dist/shims/layout-segment-context.d.ts +3 -4
  714. package/dist/shims/link-prefetch.d.ts +9 -10
  715. package/dist/shims/link.d.ts +4 -4
  716. package/dist/shims/link.js +56 -116
  717. package/dist/shims/metadata.d.ts +15 -16
  718. package/dist/shims/metadata.js +40 -36
  719. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  720. package/dist/shims/navigation-context-accessors.js +19 -0
  721. package/dist/shims/navigation-context-state.d.ts +27 -18
  722. package/dist/shims/navigation-errors.d.ts +18 -19
  723. package/dist/shims/navigation-state.d.ts +6 -7
  724. package/dist/shims/navigation.d.ts +80 -68
  725. package/dist/shims/navigation.js +26 -18
  726. package/dist/shims/navigation.react-server.d.ts +9 -9
  727. package/dist/shims/offline.d.ts +2 -3
  728. package/dist/shims/og.d.ts +2 -2
  729. package/dist/shims/pages-router-runtime.d.ts +4 -5
  730. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  731. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  732. package/dist/shims/request-context.d.ts +5 -6
  733. package/dist/shims/request-state-types.d.ts +2 -1
  734. package/dist/shims/root-params.d.ts +14 -15
  735. package/dist/shims/root-params.js +1 -1
  736. package/dist/shims/router-state.d.ts +5 -6
  737. package/dist/shims/router-state.js +1 -1
  738. package/dist/shims/router.d.ts +22 -21
  739. package/dist/shims/router.js +339 -164
  740. package/dist/shims/script-nonce-context.d.ts +8 -6
  741. package/dist/shims/script-nonce-context.js +15 -6
  742. package/dist/shims/script.d.ts +4 -4
  743. package/dist/shims/script.js +9 -7
  744. package/dist/shims/search-params-gate.d.ts +35 -0
  745. package/dist/shims/search-params-gate.js +32 -0
  746. package/dist/shims/server.d.ts +19 -51
  747. package/dist/shims/server.js +66 -30
  748. package/dist/shims/slot.d.ts +33 -15
  749. package/dist/shims/slot.js +41 -9
  750. package/dist/shims/streamed-icons.d.ts +3 -4
  751. package/dist/shims/thenable-params.d.ts +5 -7
  752. package/dist/shims/thenable-params.js +3 -24
  753. package/dist/shims/unified-request-context.d.ts +35 -32
  754. package/dist/shims/unified-request-context.js +34 -24
  755. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  756. package/dist/shims/url-safety.d.ts +5 -6
  757. package/dist/shims/url-utils.d.ts +12 -13
  758. package/dist/shims/use-merged-ref.d.ts +2 -3
  759. package/dist/shims/user-agent.d.ts +31 -0
  760. package/dist/shims/user-agent.js +16 -0
  761. package/dist/shims/web-vitals.d.ts +2 -2
  762. package/dist/typegen.d.ts +3 -4
  763. package/dist/utils/asset-prefix.d.ts +7 -8
  764. package/dist/utils/base-path.d.ts +5 -6
  765. package/dist/utils/built-asset-url.d.ts +2 -3
  766. package/dist/utils/built-asset-url.js +1 -1
  767. package/dist/utils/cache-control-metadata.d.ts +4 -5
  768. package/dist/utils/client-build-manifest.d.ts +6 -7
  769. package/dist/utils/client-build-manifest.js +2 -1
  770. package/dist/utils/client-entry-manifest.d.ts +6 -7
  771. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  772. package/dist/utils/client-runtime-metadata.js +18 -1
  773. package/dist/utils/commonjs-loader.d.ts +4 -5
  774. package/dist/utils/compare.d.ts +2 -3
  775. package/dist/utils/deployment-id.d.ts +6 -7
  776. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  777. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  778. package/dist/utils/domain-locale.d.ts +7 -8
  779. package/dist/utils/encode-cache-tag.d.ts +4 -4
  780. package/dist/utils/encode-cache-tag.js +11 -1
  781. package/dist/utils/error-cause.d.ts +2 -3
  782. package/dist/utils/external-url.d.ts +2 -3
  783. package/dist/utils/has-trailing-comma.d.ts +3 -4
  784. package/dist/utils/hash.d.ts +3 -4
  785. package/dist/utils/html-limited-bots.d.ts +3 -4
  786. package/dist/utils/lazy-chunks.d.ts +8 -9
  787. package/dist/utils/lazy-chunks.js +4 -4
  788. package/dist/utils/manifest-paths.d.ts +5 -6
  789. package/dist/utils/mdx-scan.d.ts +11 -4
  790. package/dist/utils/mdx-scan.js +27 -1
  791. package/dist/utils/middleware-request-headers.d.ts +7 -6
  792. package/dist/utils/middleware-request-headers.js +6 -1
  793. package/dist/utils/navigation-signal.d.ts +3 -3
  794. package/dist/utils/navigation-signal.js +16 -1
  795. package/dist/utils/number.d.ts +2 -3
  796. package/dist/utils/package-name.d.ts +3 -4
  797. package/dist/utils/parse-cookie.d.ts +4 -5
  798. package/dist/utils/path.d.ts +8 -9
  799. package/dist/utils/plugin-options.d.ts +2 -3
  800. package/dist/utils/precompressed-variant.d.ts +3 -4
  801. package/dist/utils/prerender-output-paths.d.ts +4 -5
  802. package/dist/utils/project.d.ts +19 -30
  803. package/dist/utils/project.js +20 -29
  804. package/dist/utils/promise.d.ts +2 -3
  805. package/dist/utils/protocol-headers.d.ts +14 -15
  806. package/dist/utils/public-file-path.d.ts +2 -3
  807. package/dist/utils/public-routes.d.ts +2 -3
  808. package/dist/utils/query.d.ts +14 -9
  809. package/dist/utils/query.js +22 -1
  810. package/dist/utils/react-compiler-support.d.ts +6 -7
  811. package/dist/utils/react-version.d.ts +4 -3
  812. package/dist/utils/react-version.js +19 -1
  813. package/dist/utils/record.d.ts +2 -3
  814. package/dist/utils/redirect-digest.d.ts +3 -4
  815. package/dist/utils/regex-safety.d.ts +4 -5
  816. package/dist/utils/regex.d.ts +2 -3
  817. package/dist/utils/safe-json-file.d.ts +2 -3
  818. package/dist/utils/sorted-array.d.ts +2 -3
  819. package/dist/utils/text-stream.d.ts +3 -4
  820. package/dist/utils/vinext-root.d.ts +2 -3
  821. package/dist/utils/virtual-module.d.ts +3 -4
  822. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  823. package/dist/utils/vite-cli-invocation.js +151 -0
  824. package/dist/utils/vite-version.d.ts +5 -6
  825. package/next-package.json +4 -0
  826. package/package.json +51 -6
  827. package/dist/server/metadata-route-cache-policy.d.ts +0 -6
  828. package/dist/server/metadata-route-cache-policy.js +0 -6
@@ -1,13 +1,17 @@
1
+ import { preserveFullyBufferedBodyMetadata } from "./fully-buffered-response.js";
1
2
  import { closeAfterResponse, closeAfterResponseWithBody, createRequestContext, runWithRequestContext } from "../shims/unified-request-context.js";
3
+ import { PRERENDER_REVALIDATE_HEADER } from "../utils/protocol-headers.js";
2
4
  import { patternToNextFormat } from "../routing/route-validation.js";
3
5
  import { getRequestExecutionContext } from "../shims/request-context.js";
4
- import { PRERENDER_REVALIDATE_HEADER } from "../utils/protocol-headers.js";
5
- import { NEXTJS_CACHE_HEADER, NEXTJS_DEPLOYMENT_ID_HEADER, VINEXT_CACHE_HEADER } from "./headers.js";
6
+ import { NEXTJS_CACHE_HEADER, NEXTJS_DEPLOYMENT_ID_HEADER, VINEXT_CACHE_HEADER, VINEXT_REVALIDATED_CACHE_TAG_HEADER } from "./headers.js";
6
7
  import { extractLocaleFromUrl, resolvePagesI18nRequest } from "./pages-i18n.js";
7
8
  import { reportRequestError } from "./instrumentation.js";
8
- import { BROWSER_REVALIDATE_CACHE_CONTROL, NEVER_CACHE_CONTROL, STATIC_CACHE_CONTROL, applyCdnResponseHeaders, hasExplicitNonCacheableResponsePolicy, shouldUseNextDeployCacheControl } from "./cache-control.js";
9
+ import { getCdnCacheAdapter } from "../shims/cdn-cache.js";
10
+ import { beginRouteCacheability, isRouteCacheabilityIdentityProbe, isRouteCacheabilityProbe, markRouteCacheabilityExplicitResponsePolicy, recordRouteCacheability } from "../shims/cacheability-classification.js";
11
+ import { BROWSER_REVALIDATE_CACHE_CONTROL, NEVER_CACHE_CONTROL, STATIC_CACHE_CONTROL, applyCdnResponseHeaders, hasCdnResponsePolicy, hasExplicitNonCacheableResponsePolicy, shouldUseNextDeployCacheControl } from "./cache-control.js";
9
12
  import { buildMissIsrCacheControl } from "./isr-decision.js";
10
- import { coalesceOnDemandRevalidation, isOnDemandRevalidateRequest, isrCacheKey, isrGet, isrSet, triggerBackgroundRegeneration } from "./isr-cache.js";
13
+ import { isOnDemandRevalidateRequest } from "./revalidation-request.js";
14
+ import { coalesceOnDemandRevalidation, isrGet, isrSet, pagesIsrCacheKey, triggerBackgroundRegeneration } from "./isr-cache.js";
11
15
  import { encodeCacheTag } from "../utils/encode-cache-tag.js";
12
16
  import { ensureFetchPatch } from "../shims/fetch-cache.js";
13
17
  import { mergeRouteParamsIntoQuery, parseQueryString } from "../utils/query.js";
@@ -20,28 +24,54 @@ import { hasUserDocumentGetInitialProps } from "./document-initial-head.js";
20
24
  import { renderPagesPageResponse } from "./pages-page-response.js";
21
25
  import { hasPagesGetInitialProps } from "./pages-get-initial-props.js";
22
26
  import { buildNextDataNotFoundResponse, buildNextDataPropsJsonResponse, normalizePagesDataRequest, parseNextDataPathname } from "./pages-data-route.js";
27
+ import { traceFindPageComponents, tracePagesDocumentStream } from "./pages-execution-tracing.js";
23
28
  import { mergePagesNotFoundSourceHeaders, resolvePagesPageData } from "./pages-page-data.js";
24
29
  import { collectAssetTags, resolveClientModuleUrl } from "./pages-asset-tags.js";
25
30
  import { PAGES_PREVIEW_CACHE_CONTROL, appendPagesPreviewClearCookies, getPagesPreviewState } from "./pages-preview.js";
26
31
  import { createPagesReqRes } from "./pages-node-compat.js";
27
- import { beginRouteCacheability, isRouteCacheabilityIdentityProbe, isRouteCacheabilityProbe, recordRouteCacheability } from "../shims/cacheability-classification.js";
32
+ import { setFrameworkRequestRoute } from "./request-tracing.js";
28
33
  //#region src/server/pages-page-handler.ts
34
+ async function renderTracedPagesPageResponse(options) {
35
+ let bodyStream;
36
+ try {
37
+ return await renderPagesPageResponse({
38
+ ...options,
39
+ traceDocument: async (callback) => {
40
+ const result = await tracePagesDocumentStream(options.routePattern, callback);
41
+ bodyStream = result.bodyStream;
42
+ return result;
43
+ }
44
+ });
45
+ } catch (error) {
46
+ if (bodyStream && !bodyStream.locked) await bodyStream.cancel(error).catch(() => {});
47
+ throw error;
48
+ }
49
+ }
50
+ function preservePagesBodyMetadata(source, target) {
51
+ const result = preserveFullyBufferedBodyMetadata(source, target);
52
+ if (source.__vinextStreamedHtmlResponse === true) result.__vinextStreamedHtmlResponse = true;
53
+ return result;
54
+ }
29
55
  function finalizePagesPreviewResponse(response, preview) {
30
56
  if (preview.data === false && !preview.shouldClear) return response;
31
57
  const headers = new Headers(response.headers);
32
- if (preview.data !== false) applyCdnResponseHeaders(headers, { cacheControl: PAGES_PREVIEW_CACHE_CONTROL });
58
+ if (preview.data !== false || preview.shouldClear) applyCdnResponseHeaders(headers, { cacheControl: PAGES_PREVIEW_CACHE_CONTROL });
33
59
  if (preview.shouldClear) appendPagesPreviewClearCookies(headers);
34
- return new Response(response.body, {
60
+ return preservePagesBodyMetadata(response, new Response(response.body, {
35
61
  headers,
36
62
  status: response.status,
37
63
  statusText: response.statusText
38
- });
64
+ }));
39
65
  }
40
- function withPagesCacheState(response, state) {
66
+ function withPagesCacheState(response, state, revalidatedPathname) {
41
67
  const headers = new Headers(response.headers);
42
68
  if (state === "REVALIDATED") {
43
69
  headers.set(NEXTJS_CACHE_HEADER, state);
44
70
  headers.delete(VINEXT_CACHE_HEADER);
71
+ if (revalidatedPathname !== void 0) {
72
+ const stem = revalidatedPathname.length > 1 && revalidatedPathname.endsWith("/") ? revalidatedPathname.slice(0, -1) : revalidatedPathname;
73
+ headers.set(VINEXT_REVALIDATED_CACHE_TAG_HEADER, encodeCacheTag(`_N_T_${stem || "/"}`));
74
+ }
45
75
  } else setCacheStateHeaders(headers, state);
46
76
  return new Response(response.body, {
47
77
  headers,
@@ -62,6 +92,10 @@ function stripPagesNotFoundFramingHeaders(response) {
62
92
  }
63
93
  function applyPagesErrorCachePolicy(response, revalidateSeconds, expireSeconds, cacheTagPathname) {
64
94
  const headers = new Headers(response.headers);
95
+ recordRouteCacheability(revalidateSeconds === void 0 ? { cacheable: false } : {
96
+ cacheable: revalidateSeconds !== 0,
97
+ cacheControl: buildMissIsrCacheControl(revalidateSeconds, expireSeconds)
98
+ });
65
99
  if (hasExplicitNonCacheableResponsePolicy(headers)) return response;
66
100
  if (revalidateSeconds === void 0) applyCdnResponseHeaders(headers, { cacheControl: NEVER_CACHE_CONTROL });
67
101
  else {
@@ -106,10 +140,9 @@ function createPagesPageHandler(opts) {
106
140
  return errorPageRoute;
107
141
  }
108
142
  function isrCacheKeyForRequest(i18nCacheVariant) {
109
- if (!i18nCacheVariant) return (router, pathname) => isrCacheKey(router, pathname, buildId ?? void 0);
110
- return (router, pathname) => isrCacheKey(router, pathname + "::i18n=" + encodeURIComponent(i18nCacheVariant), buildId ?? void 0);
143
+ return (_router, pathname) => pagesIsrCacheKey(pathname, buildId ?? void 0, i18nCacheVariant);
111
144
  }
112
- async function renderPage(request, url, manifest, middlewareHeaders, options) {
145
+ async function renderPage(request, url, manifest, middlewareHeaders, options, initialResponseHeaders) {
113
146
  let isDataReq = !!(options && options.isDataReq);
114
147
  const requestUrl = new URL(request.url);
115
148
  const rawOriginalUrl = options && typeof options.originalUrl === "string" ? options.originalUrl : requestUrl.pathname + requestUrl.search;
@@ -157,7 +190,7 @@ function createPagesPageHandler(opts) {
157
190
  const routeUrl = localeInfo.url;
158
191
  const currentDefaultLocale = i18nConfig ? localeInfo.domainLocale ? localeInfo.domainLocale.defaultLocale : i18nConfig.defaultLocale : void 0;
159
192
  const domainLocales = i18nConfig ? i18nConfig.domains : void 0;
160
- const pageIsrCacheKey = isrCacheKeyForRequest(i18nConfig ? localeInfo.domainLocale ? "domain:" + String(localeInfo.domainLocale.domain).toLowerCase() : "locale:" + String(locale) : null);
193
+ const pageIsrCacheKey = isrCacheKeyForRequest(i18nConfig ? localeInfo.domainLocale ? JSON.stringify([String(localeInfo.domainLocale.domain).toLowerCase(), locale]) : "locale:" + String(locale) : null);
161
194
  if (localeInfo.redirectUrl) return new Response(null, {
162
195
  status: 307,
163
196
  headers: { Location: localeInfo.redirectUrl }
@@ -184,7 +217,7 @@ function createPagesPageHandler(opts) {
184
217
  } else return buildDefaultPagesNotFoundResponse();
185
218
  }
186
219
  const { route, params } = match;
187
- const pageModule = route.module;
220
+ const pageModule = traceFindPageComponents(route.pattern, () => route.module);
188
221
  const isStaticPropsRoute = typeof pageModule.getStaticProps === "function";
189
222
  const pagesReadiness = buildPagesReadinessNextData({
190
223
  pageModule,
@@ -199,16 +232,18 @@ function createPagesPageHandler(opts) {
199
232
  cacheable: true,
200
233
  cacheControl: STATIC_CACHE_CONTROL
201
234
  });
235
+ else recordRouteCacheability({ cacheable: false });
202
236
  }
203
237
  const routeIsrGet = isCacheabilityProbe ? async () => null : isrGet;
204
238
  const routeIsrSet = isCacheabilityProbe ? async () => {} : isrSet;
205
239
  const isStaticPropsRender = isStaticPropsRoute && typeof pageModule.getServerSideProps !== "function";
206
240
  if (!options?.__skipOnDemandCoalesce && !options?.__forcedRoute && isStaticPropsRoute && isOnDemandRevalidateRequest(request.headers.get("x-prerender-revalidate"))) {
207
- const snapshot = await coalesceOnDemandRevalidation(pageIsrCacheKey("pages", routeUrl.split("?")[0]), async () => {
241
+ const cacheKey = pageIsrCacheKey("pages", routeUrl.split("?")[0]);
242
+ const snapshot = await coalesceOnDemandRevalidation(cacheKey, async () => {
208
243
  const response = await renderPage(request, url, manifest, middlewareHeaders, {
209
244
  ...options,
210
245
  __skipOnDemandCoalesce: true
211
- });
246
+ }, initialResponseHeaders);
212
247
  return {
213
248
  body: request.method === "HEAD" || response.status === 204 || response.status === 304 ? null : new Uint8Array(await response.arrayBuffer()),
214
249
  headers: [...response.headers.entries()],
@@ -226,12 +261,13 @@ function createPagesPageHandler(opts) {
226
261
  const routerAsPathSource = isStaticPropsRender ? renderRouteUrl : renderAsPath ?? renderRouteUrl;
227
262
  const routerAsPath = i18nConfig ? extractLocaleFromUrl(routerAsPathSource, i18nConfig, locale).url : routerAsPathSource;
228
263
  const uCtx = createRequestContext({ executionContext: getRequestExecutionContext() });
229
- return closeAfterResponseWithBody(await runWithRequestContext(uCtx, async () => {
264
+ const response = await runWithRequestContext(uCtx, async () => {
230
265
  ensureFetchPatch();
231
266
  try {
232
267
  const routePattern = patternToNextFormat(route.pattern);
268
+ setFrameworkRequestRoute(routePattern);
233
269
  const renderStatusCode = renderStatusCodeOverride ?? (routePattern === "/404" ? 404 : void 0);
234
- const isrCachePathname = isStaticPropsRender && (routePattern === "/404" || routePattern === "/500" || routePattern === "/_error") ? routePattern : renderRouteUrl.split("?")[0];
270
+ const isrCachePathname = (isStaticPropsRender || pagesReadiness.autoExport) && (routePattern === "/404" || routePattern === "/500" || routePattern === "/_error") ? routePattern === "/_error" && renderStatusCode === 404 ? "/404" : routePattern : renderRouteUrl.split("?")[0];
235
271
  const isNotFoundErrorRender = routePattern === "/404" || routePattern === "/_error" && renderStatusCode === 404;
236
272
  const isStatusErrorRender = isNotFoundErrorRender || routePattern === "/500" || routePattern === "/_error" && renderStatusCode === 500;
237
273
  const errorPageRevalidateSeconds = isNotFoundErrorRender ? options?.__notFoundRevalidateSeconds : void 0;
@@ -296,6 +332,11 @@ function createPagesPageHandler(opts) {
296
332
  }
297
333
  };
298
334
  const scriptNonce = getScriptNonceFromHeaderSources(request.headers, middlewareHeaders);
335
+ const browserCacheControl = isStaticPropsRoute && !scriptNonce ? (initialResponseHeaders ?? middlewareHeaders)?.get("Cache-Control") : null;
336
+ const withBrowserPolicy = (response) => {
337
+ if (browserCacheControl) response.headers.set("Cache-Control", browserCacheControl);
338
+ return response;
339
+ };
299
340
  const shouldApplyErrorResponsePolicy = previewData === false && !scriptNonce && isStatusErrorRender && (isStaticPropsRoute || isRouteMissErrorRender || options?.__forcedRoute !== void 0);
300
341
  let fontLinkHeader = "";
301
342
  let allFontPreloads = [];
@@ -307,6 +348,7 @@ function createPagesPageHandler(opts) {
307
348
  const createPageReqRes = () => {
308
349
  const reqRes = createPagesReqRes({
309
350
  body: void 0,
351
+ initialResponseHeaders,
310
352
  query,
311
353
  request,
312
354
  url: originalRequestPathAndSearch
@@ -334,8 +376,10 @@ function createPagesPageHandler(opts) {
334
376
  },
335
377
  fontLinkHeader,
336
378
  i18n: buildI18nRenderContext(i18nConfig, locale, currentDefaultLocale, domainLocales),
379
+ staticPathsDefaultLocale: i18nConfig?.defaultLocale,
337
380
  isrCacheKey: pageIsrCacheKey,
338
381
  isrGet: routeIsrGet,
382
+ hasPrerenderedPages: getCdnCacheAdapter().hasPrerenderedPages,
339
383
  isrSet: routeIsrSet,
340
384
  expireSeconds: vinextConfig.expireTime,
341
385
  isBuildTimePrerendering: typeof process !== "undefined" && process.env && process.env.VINEXT_PRERENDER === "1",
@@ -371,6 +415,7 @@ function createPagesPageHandler(opts) {
371
415
  sanitizeDestination,
372
416
  scriptNonce,
373
417
  statusCode: renderStatusCode,
418
+ notFoundSourceHeaders: options?.__notFoundSourceHeaders,
374
419
  triggerBackgroundRegeneration,
375
420
  vinext: serializedPagesNextData.__vinext,
376
421
  nextData: serializedPagesNextData,
@@ -390,17 +435,17 @@ function createPagesPageHandler(opts) {
390
435
  __notFoundExpireSeconds: pageDataResult.expireSeconds,
391
436
  __notFoundCachePathname: isrCachePathname,
392
437
  __notFoundSourceHeaders: pageDataResult.responseHeaders
393
- });
438
+ }, initialResponseHeaders);
394
439
  else notFoundResponse = mergePagesNotFoundSourceHeaders(buildDefaultPagesNotFoundResponse(), pageDataResult.responseHeaders);
395
440
  notFoundResponse = stripPagesNotFoundFramingHeaders(notFoundResponse);
396
- if (isOnDemandRevalidate) notFoundResponse = withPagesCacheState(notFoundResponse, "REVALIDATED");
441
+ if (isOnDemandRevalidate) notFoundResponse = withPagesCacheState(notFoundResponse, "REVALIDATED", isrCachePathname);
397
442
  else if (pageDataResult.cacheState) notFoundResponse = withPagesCacheState(notFoundResponse, pageDataResult.cacheState);
398
- return finalizePagesPreviewResponse(notFoundResponse, preview);
443
+ return finalizePagesPreviewResponse(withBrowserPolicy(notFoundResponse), preview);
399
444
  }
400
445
  if (pageDataResult.kind === "response") {
401
- let response = isOnDemandRevalidate && pageDataResult.onDemandRevalidateSuccess !== false ? withPagesCacheState(pageDataResult.response, "REVALIDATED") : pageDataResult.response;
446
+ let response = isOnDemandRevalidate && pageDataResult.onDemandRevalidateSuccess !== false ? withPagesCacheState(pageDataResult.response, "REVALIDATED", isrCachePathname) : pageDataResult.response;
402
447
  if (shouldApplyErrorResponsePolicy) response = applyPagesErrorCachePolicy(response, errorPageRevalidateSeconds, errorPageExpireSeconds, errorResponseCachePathname);
403
- return finalizePagesPreviewResponse(response, preview);
448
+ return finalizePagesPreviewResponse(withBrowserPolicy(response), preview);
404
449
  }
405
450
  let pageProps = pageDataResult.pageProps;
406
451
  let renderProps = pageDataResult.props;
@@ -421,6 +466,10 @@ function createPagesPageHandler(opts) {
421
466
  const gsspRes = pageDataResult.gsspRes;
422
467
  const documentReqRes = serializedPagesNextData.autoExport === true && !options?.__notFoundSourceHeaders ? null : pageDataResult.documentReqRes ?? createPageReqRes();
423
468
  const isrRevalidateSeconds = pageDataResult.isrRevalidateSeconds;
469
+ if (isStaticPropsRoute && preview.data === false && !preview.shouldClear && isrRevalidateSeconds !== null) recordRouteCacheability({
470
+ cacheable: isrRevalidateSeconds !== 0,
471
+ cacheControl: buildMissIsrCacheControl(isrRevalidateSeconds, vinextConfig.expireTime)
472
+ });
424
473
  const isrExpireSeconds = pageDataResult.isrExpireSeconds;
425
474
  const isFallbackRender = pageDataResult.isFallback === true;
426
475
  if (isFallbackRender) applySSRContext({
@@ -430,39 +479,39 @@ function createPagesPageHandler(opts) {
430
479
  isFallback: true
431
480
  });
432
481
  if (isDataReq) {
433
- const init = { headers: {} };
482
+ const headers = new Headers();
434
483
  if (gsspRes && typeof gsspRes.getHeaders === "function") {
435
484
  const gsspHeaders = gsspRes.getHeaders();
436
485
  for (const k of Object.keys(gsspHeaders)) {
437
486
  const v = gsspHeaders[k];
438
487
  if (v === void 0 || v === null) continue;
439
- init.headers[k] = Array.isArray(v) ? v.join(", ") : String(v);
488
+ if (k.toLowerCase() === "set-cookie" && Array.isArray(v)) for (const cookie of v) headers.append(k, String(cookie));
489
+ else headers.set(k, Array.isArray(v) ? v.join(", ") : String(v));
440
490
  }
441
491
  }
492
+ if (hasCdnResponsePolicy(headers)) markRouteCacheabilityExplicitResponsePolicy();
442
493
  if (gsspRes) {
443
- let hasUserCacheControl = false;
444
- for (const headerKey of Object.keys(init.headers)) if (headerKey.toLowerCase() === "cache-control") {
445
- hasUserCacheControl = true;
446
- break;
447
- }
448
- if (!hasUserCacheControl) init.headers["Cache-Control"] = NEVER_CACHE_CONTROL;
494
+ if (!headers.has("Cache-Control")) headers.set("Cache-Control", NEVER_CACHE_CONTROL);
449
495
  } else if (isStaticPropsRoute) {
450
496
  if (isrRevalidateSeconds !== null) {
451
- const headers = new Headers(init.headers);
452
- applyCdnResponseHeaders(headers, { cacheControl: buildMissIsrCacheControl(isrRevalidateSeconds, vinextConfig.expireTime) });
453
- for (const [key, value] of headers) init.headers[key] = value;
454
- } else if (shouldUseNextDeployCacheControl()) init.headers["Cache-Control"] = BROWSER_REVALIDATE_CACHE_CONTROL;
497
+ const stem = isrCachePathname.endsWith("/") ? isrCachePathname.slice(0, -1) : isrCachePathname;
498
+ applyCdnResponseHeaders(headers, {
499
+ cacheControl: buildMissIsrCacheControl(isrRevalidateSeconds, vinextConfig.expireTime),
500
+ tags: [encodeCacheTag(`_N_T_${stem || "/"}`)]
501
+ });
502
+ } else if (shouldUseNextDeployCacheControl()) headers.set("Cache-Control", BROWSER_REVALIDATE_CACHE_CONTROL);
455
503
  }
456
504
  if (routePattern !== "/_error" && routePattern !== "/500") {
457
505
  const deploymentId = process.env.__VINEXT_DEPLOYMENT_ID || process.env.NEXT_DEPLOYMENT_ID;
458
- if (deploymentId) init.headers[NEXTJS_DEPLOYMENT_ID_HEADER] = deploymentId;
506
+ if (deploymentId) headers.set(NEXTJS_DEPLOYMENT_ID_HEADER, deploymentId);
459
507
  }
460
- return finalizePagesPreviewResponse(buildNextDataPropsJsonResponse(renderProps, safeJsonStringify, init), preview);
508
+ return finalizePagesPreviewResponse(withBrowserPolicy(buildNextDataPropsJsonResponse(renderProps, safeJsonStringify, { headers })), preview);
461
509
  }
462
510
  const pageModuleIds = [];
463
511
  if (appAssetPath) pageModuleIds.push(appAssetPath);
464
512
  if (route.filePath) pageModuleIds.push(route.filePath);
465
- let pageResponse = await renderPagesPageResponse({
513
+ const initialStylesheetHrefs = /* @__PURE__ */ new Set();
514
+ let pageResponse = await renderTracedPagesPageResponse({
466
515
  assetTags: collectAssetTags({
467
516
  manifest,
468
517
  moduleIds: pageModuleIds,
@@ -471,7 +520,8 @@ function createPagesPageHandler(opts) {
471
520
  basePath: vinextConfig.basePath,
472
521
  assetPrefix: vinextConfig.assetPrefix,
473
522
  deploymentId: process.env.__VINEXT_DEPLOYMENT_ID || process.env.NEXT_DEPLOYMENT_ID,
474
- crossOrigin: vinextConfig.crossOrigin
523
+ crossOrigin: vinextConfig.crossOrigin,
524
+ initialStylesheetHrefs
475
525
  }),
476
526
  buildId,
477
527
  clearSsrContext() {
@@ -519,6 +569,7 @@ function createPagesPageHandler(opts) {
519
569
  routeUrl: renderRouteUrl,
520
570
  safeJsonStringify,
521
571
  scriptNonce,
572
+ initialStylesheetHrefs,
522
573
  crossOrigin: vinextConfig.crossOrigin,
523
574
  disableOptimizedLoading: vinextConfig.disableOptimizedLoading,
524
575
  statusCode: renderStatusCode,
@@ -528,25 +579,29 @@ function createPagesPageHandler(opts) {
528
579
  requestCacheControl: request.headers.get("cache-control") ?? void 0
529
580
  });
530
581
  if (shouldApplyErrorResponsePolicy) pageResponse = applyPagesErrorCachePolicy(pageResponse, errorPageRevalidateSeconds, errorPageExpireSeconds, errorResponseCachePathname);
531
- return finalizePagesPreviewResponse(pageResponse, preview);
582
+ return finalizePagesPreviewResponse(withBrowserPolicy(pageResponse), preview);
532
583
  } catch (e) {
533
584
  console.error("[vinext] SSR error:", e);
534
- reportRequestError(e instanceof Error ? e : new Error(String(e)), {
585
+ await reportRequestError(e, {
535
586
  path: url,
536
587
  method: request.method,
537
588
  headers: Object.fromEntries(request.headers.entries())
538
589
  }, {
539
590
  routerKind: "Pages Router",
540
591
  routePath: route.pattern,
541
- routeType: "render"
542
- }).catch(() => {});
592
+ routeType: "render",
593
+ revalidateReason: isOnDemandRevalidateRequest(request.headers.get("x-prerender-revalidate")) ? "on-demand" : typeof pageModule.getStaticProps === "function" ? "stale" : void 0
594
+ });
543
595
  if (!isInternalErrorRender && !isDataReq) {
544
596
  let errorRoute = null;
545
597
  for (let i = 0; i < pageRoutes.length; i++) if (pageRoutes[i].pattern === "/500") {
546
598
  errorRoute = pageRoutes[i];
547
599
  break;
548
600
  }
549
- if (!errorRoute && errorPageRoute) errorRoute = errorPageRoute;
601
+ if (!errorRoute && errorPageRoute) {
602
+ traceFindPageComponents("/500", () => void 0);
603
+ errorRoute = errorPageRoute;
604
+ }
550
605
  if (errorRoute) try {
551
606
  return await renderPage(request, url, manifest, middlewareHeaders, {
552
607
  statusCode: 500,
@@ -555,16 +610,17 @@ function createPagesPageHandler(opts) {
555
610
  __isInternalErrorRender: true,
556
611
  __forcedRoute: errorRoute,
557
612
  err: e instanceof Error ? e : new Error(String(e))
558
- });
613
+ }, initialResponseHeaders);
559
614
  } catch (errorPageErr) {
560
615
  console.error("[vinext] Error page render failed:", errorPageErr);
561
616
  }
562
617
  }
563
618
  return new Response("Internal Server Error", { status: 500 });
564
619
  }
565
- }), uCtx);
620
+ });
621
+ return closeAfterResponseWithBody(response, uCtx);
566
622
  }
567
623
  return renderPage;
568
624
  }
569
625
  //#endregion
570
- export { createPagesPageHandler, finalizePagesPreviewResponse, shouldEmitPagesClientTraceMetadata };
626
+ export { createPagesPageHandler, finalizePagesPreviewResponse, renderTracedPagesPageResponse, shouldEmitPagesClientTraceMetadata };
@@ -42,6 +42,5 @@ type PagesPageMethodOptions = {
42
42
  * Returns a 405 `Response` when the request method is not allowed for a
43
43
  * static (no `getServerSideProps`) Pages Router page, otherwise `null`.
44
44
  */
45
- declare function resolvePagesPageMethodResponse(options: PagesPageMethodOptions): Response | null;
46
- //#endregion
47
- export { resolvePagesPageMethodResponse };
45
+ export declare function resolvePagesPageMethodResponse(options: PagesPageMethodOptions): Response | null;
46
+ //#endregion
@@ -8,8 +8,8 @@ import { ComponentType, ReactNode } from "react";
8
8
  * Returns true when the User-Agent belongs to a bot or crawler that cannot
9
9
  * reliably consume a streamed HTML response.
10
10
  */
11
- declare function isPagesStreamingBot(userAgent: string): boolean;
12
- declare function generatePagesETag(payload: string): string;
11
+ export declare function isPagesStreamingBot(userAgent: string): boolean;
12
+ export declare function generatePagesETag(payload: string): string;
13
13
  /**
14
14
  * Returns true when a request `Cache-Control` header asks to bypass the 304
15
15
  * short-circuit. Mirrors the `fresh` package's check used by Next.js's
@@ -17,7 +17,7 @@ declare function generatePagesETag(payload: string): string;
17
17
  * fresh-MISS bot path here and the ISR HIT/STALE paths in
18
18
  * `pages-page-data.ts` so the two cannot drift.
19
19
  */
20
- declare function requestsNoCache(cacheControl: string | undefined): boolean;
20
+ export declare function requestsNoCache(cacheControl: string | undefined): boolean;
21
21
  type PagesFontPreload = {
22
22
  href: string;
23
23
  type: string;
@@ -29,14 +29,14 @@ type PagesFontPreload = {
29
29
  * recompute the initial `router.isReady`. Shared by every render path
30
30
  * (initial, ISR regeneration) so they emit identical readiness state.
31
31
  */
32
- type PagesNextDataExtras = Pick<VinextNextData, "__vinext" | "appGip" | "autoExport" | "gip" | "gsp" | "gssp" | "isExperimentalCompile" | "nextExport">;
33
- type PagesI18nRenderContext = {
32
+ export type PagesNextDataExtras = Pick<VinextNextData, "__vinext" | "appGip" | "autoExport" | "gip" | "gsp" | "gssp" | "isExperimentalCompile" | "nextExport">;
33
+ export type PagesI18nRenderContext = {
34
34
  locale?: string;
35
35
  locales?: string[];
36
36
  defaultLocale?: string;
37
37
  domainLocales?: unknown;
38
38
  };
39
- type PagesGsspResponse = {
39
+ export type PagesGsspResponse = {
40
40
  headersSent?: boolean;
41
41
  statusCode: number;
42
42
  getHeaders(): Record<string, string | number | boolean | string[]>;
@@ -103,11 +103,16 @@ type RenderPagesPageResponseOptions = {
103
103
  query?: Record<string, unknown>;
104
104
  renderDocumentToString: (element: ReactNode) => Promise<string>;
105
105
  renderToReadableStream: (element: ReactNode) => Promise<ReadableStream<Uint8Array>>;
106
+ traceDocument?: <T extends {
107
+ bodyStream?: ReadableStream<Uint8Array>;
108
+ waitForBody?: boolean;
109
+ }>(callback: () => Promise<T>) => Promise<T>;
106
110
  resetSSRHead?: (() => void) | undefined;
107
111
  routePattern: string;
108
112
  routeUrl: string;
109
113
  safeJsonStringify: (value: unknown) => string;
110
114
  scriptNonce?: string;
115
+ initialStylesheetHrefs?: ReadonlySet<string>;
111
116
  crossOrigin?: string;
112
117
  disableOptimizedLoading: boolean;
113
118
  statusCode?: number;
@@ -136,9 +141,8 @@ type RenderPagesPageResponseOptions = {
136
141
  */
137
142
  requestCacheControl?: string;
138
143
  };
139
- declare function buildPagesNextDataScript(options: Pick<RenderPagesPageResponseOptions, "buildId" | "i18n" | "isFallback" | "pageProps" | "props" | "params" | "routePattern" | "safeJsonStringify" | "scriptNonce" | "nextData"> & {
144
+ export declare function buildPagesNextDataScript(options: Pick<RenderPagesPageResponseOptions, "buildId" | "i18n" | "isFallback" | "pageProps" | "props" | "params" | "routePattern" | "safeJsonStringify" | "scriptNonce" | "nextData"> & {
140
145
  vinext?: VinextNextData["__vinext"];
141
146
  }): string;
142
- declare function renderPagesPageResponse(options: RenderPagesPageResponseOptions): Promise<Response>;
143
- //#endregion
144
- export { PagesGsspResponse, PagesI18nRenderContext, PagesNextDataExtras, buildPagesNextDataScript, generatePagesETag, isPagesStreamingBot, renderPagesPageResponse, requestsNoCache };
147
+ export declare function renderPagesPageResponse(options: RenderPagesPageResponseOptions): Promise<Response>;
148
+ //#endregion
@@ -1,7 +1,9 @@
1
+ import { isBotUserAgent } from "../utils/html-limited-bots.js";
1
2
  import { getRequestExecutionContext } from "../shims/request-context.js";
2
- import { NEXTJS_CACHE_HEADER } from "./headers.js";
3
+ import { NEXTJS_CACHE_HEADER, VINEXT_REVALIDATED_CACHE_TAG_HEADER } from "./headers.js";
3
4
  import { reportRequestError } from "./instrumentation.js";
4
- import { BROWSER_REVALIDATE_CACHE_CONTROL, NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, applyCdnResponseHeaders, shouldUseNextDeployCacheControl } from "./cache-control.js";
5
+ import { markRouteCacheabilityExplicitResponsePolicy } from "../shims/cacheability-classification.js";
6
+ import { BROWSER_REVALIDATE_CACHE_CONTROL, NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, applyCdnResponseHeaders, hasCdnResponsePolicy, shouldUseNextDeployCacheControl } from "./cache-control.js";
5
7
  import { buildMissIsrCacheControl } from "./isr-decision.js";
6
8
  import { fnv1a52 } from "../utils/hash.js";
7
9
  import { isrCacheControl } from "./isr-cache.js";
@@ -15,7 +17,6 @@ import { setCacheStateHeaders } from "./cache-headers.js";
15
17
  import { readStreamAsText } from "../utils/text-stream.js";
16
18
  import { loadUserDocumentInitialProps, runDocumentRenderPage } from "./pages-document-initial-props.js";
17
19
  import { callDocumentGetInitialProps } from "./document-initial-head.js";
18
- import { isBotUserAgent } from "../utils/html-limited-bots.js";
19
20
  import { matchesIfNoneMatch } from "./http-conditional.js";
20
21
  import React from "react";
21
22
  //#region src/server/pages-page-response.ts
@@ -119,14 +120,15 @@ async function buildPagesCompositeStream(bodyStream, shellPrefix, shellSuffix) {
119
120
  async function reportPagesIsrCacheWriteError(error, cacheKey, routePattern) {
120
121
  console.error(`[vinext] Pages ISR cache write failed for ${cacheKey}:`, error);
121
122
  try {
122
- await reportRequestError(error instanceof Error ? error : new Error(String(error)), {
123
+ await reportRequestError(error, {
123
124
  path: cacheKey,
124
125
  method: "GET",
125
126
  headers: {}
126
127
  }, {
127
128
  routerKind: "Pages Router",
128
129
  routePath: routePattern,
129
- routeType: "render"
130
+ routeType: "render",
131
+ revalidateReason: void 0
130
132
  });
131
133
  } catch {}
132
134
  }
@@ -181,33 +183,48 @@ async function renderPagesPageResponse(options) {
181
183
  vinext: options.vinext
182
184
  });
183
185
  const bodyMarker = "<!--VINEXT_STREAM_BODY-->";
184
- const documentRenderPage = await runDocumentRenderPage({
185
- DocumentComponent: options.DocumentComponent,
186
- enhancePageElement: options.enhancePageElement,
187
- renderToReadableStream: options.renderToReadableStream,
188
- renderStylesToString: async (element) => readStreamAsText(await options.renderToReadableStream(element)),
189
- scriptNonce: options.scriptNonce,
190
- context: {
191
- err: options.err,
192
- req: options.documentReqRes?.req,
193
- res: options.documentReqRes?.res,
194
- pathname: options.routePattern,
195
- query: options.query ?? options.params,
196
- asPath: options.routeUrl
186
+ const documentResult = await (options.traceDocument ?? ((callback) => callback()))(async () => {
187
+ const documentRenderPage = await runDocumentRenderPage({
188
+ DocumentComponent: options.DocumentComponent,
189
+ enhancePageElement: options.enhancePageElement,
190
+ renderToReadableStream: options.renderToReadableStream,
191
+ renderStylesToString: async (element) => readStreamAsText(await options.renderToReadableStream(element)),
192
+ scriptNonce: options.scriptNonce,
193
+ initialStylesheetHrefs: options.initialStylesheetHrefs,
194
+ context: {
195
+ err: options.err,
196
+ req: options.documentReqRes?.req,
197
+ res: options.documentReqRes?.res,
198
+ pathname: options.routePattern,
199
+ query: options.query ?? options.params,
200
+ asPath: options.routeUrl
201
+ }
202
+ });
203
+ if (options.documentReqRes?.res.headersSent && options.documentReqRes.responsePromise) return {
204
+ documentRenderPage,
205
+ responseSent: true
206
+ };
207
+ let bodyStream;
208
+ if (documentRenderPage.status === "rendered") bodyStream = new ReadableStream({ start(controller) {
209
+ controller.enqueue(new TextEncoder().encode(documentRenderPage.bodyHtml));
210
+ controller.close();
211
+ } });
212
+ else {
213
+ const pageElement = withScriptNonce(React.createElement(React.Fragment, null, options.createPageElement(renderProps)), options.scriptNonce, options.initialStylesheetHrefs);
214
+ bodyStream = await options.renderToReadableStream(pageElement);
197
215
  }
216
+ if (documentRenderPage.status === "skipped") await callDocumentGetInitialProps(options.DocumentComponent, options.setDocumentInitialHead);
217
+ else options.setDocumentInitialHead?.(documentRenderPage.head);
218
+ return {
219
+ bodyStream,
220
+ documentRenderPage,
221
+ responseSent: false,
222
+ waitForBody: documentRenderPage.status === "skipped"
223
+ };
198
224
  });
199
- if (options.documentReqRes?.res.headersSent && options.documentReqRes.responsePromise) return options.documentReqRes.responsePromise;
200
- let bodyStream;
201
- if (documentRenderPage.status === "rendered") bodyStream = new ReadableStream({ start(controller) {
202
- controller.enqueue(new TextEncoder().encode(documentRenderPage.bodyHtml));
203
- controller.close();
204
- } });
205
- else {
206
- const pageElement = withScriptNonce(React.createElement(React.Fragment, null, options.createPageElement(renderProps)), options.scriptNonce);
207
- bodyStream = await options.renderToReadableStream(pageElement);
208
- }
209
- if (documentRenderPage.status === "skipped") await callDocumentGetInitialProps(options.DocumentComponent, options.setDocumentInitialHead);
210
- else options.setDocumentInitialHead?.(documentRenderPage.head);
225
+ if (documentResult.responseSent && options.documentReqRes?.responsePromise) return options.documentReqRes.responsePromise;
226
+ const { bodyStream, documentRenderPage } = documentResult;
227
+ if (!bodyStream) throw new Error("Pages document render did not produce a body stream");
211
228
  const headFromShim = options.getSSRHeadHTML?.() ?? "";
212
229
  const traceMetaHTML = getClientTraceMetadataHTML(options.clientTraceMetadata);
213
230
  const ssrHeadHTML = headFromShim;
@@ -255,6 +272,7 @@ async function renderPagesPageResponse(options) {
255
272
  }
256
273
  const compositeStream = await buildPagesCompositeStream(responseBodyStream, shellPrefix, shellSuffix);
257
274
  const userSetCacheControl = responseHeaders.has("Cache-Control");
275
+ if (hasCdnResponsePolicy(responseHeaders)) markRouteCacheabilityExplicitResponsePolicy();
258
276
  if (options.scriptNonce) responseHeaders.set("Cache-Control", NO_STORE_CACHE_CONTROL);
259
277
  else if (options.isrRevalidateSeconds !== null) {
260
278
  const isrPathname = options.isrCachePathname ?? options.routeUrl.split("?")[0];
@@ -263,8 +281,10 @@ async function renderPagesPageResponse(options) {
263
281
  cacheControl: buildMissIsrCacheControl(options.isrRevalidateSeconds, options.expireSeconds),
264
282
  tags: [encodeCacheTag(`_N_T_${stem || "/"}`)]
265
283
  });
266
- if (options.isOnDemandRevalidate) responseHeaders.set(NEXTJS_CACHE_HEADER, "REVALIDATED");
267
- else setCacheStateHeaders(responseHeaders, "MISS");
284
+ if (options.isOnDemandRevalidate) {
285
+ responseHeaders.set(NEXTJS_CACHE_HEADER, "REVALIDATED");
286
+ responseHeaders.set(VINEXT_REVALIDATED_CACHE_TAG_HEADER, encodeCacheTag(`_N_T_${stem || "/"}`));
287
+ } else setCacheStateHeaders(responseHeaders, "MISS");
268
288
  } else if (options.isStaticPropsRoute && shouldUseNextDeployCacheControl()) responseHeaders.set("Cache-Control", BROWSER_REVALIDATE_CACHE_CONTROL);
269
289
  else if (options.gsspRes && !userSetCacheControl) responseHeaders.set("Cache-Control", NEVER_CACHE_CONTROL);
270
290
  if (options.fontLinkHeader) responseHeaders.set("Link", options.fontLinkHeader);
@@ -1,7 +1,7 @@
1
1
  //#region src/server/pages-preview.d.ts
2
- declare const PAGES_PREVIEW_CACHE_CONTROL = "private, no-cache, no-store, max-age=0, must-revalidate";
3
- type PagesPreviewData = object | string;
4
- type PagesPreviewState = {
2
+ export declare const PAGES_PREVIEW_CACHE_CONTROL = "private, no-cache, no-store, max-age=0, must-revalidate";
3
+ export type PagesPreviewData = object | string;
4
+ export type PagesPreviewState = {
5
5
  data: PagesPreviewData | false;
6
6
  shouldClear: boolean;
7
7
  };
@@ -9,18 +9,17 @@ type PreviewResponse = {
9
9
  getHeader(name: string): string | number | boolean | string[] | undefined;
10
10
  setHeader(name: string, value: string | number | boolean | string[]): unknown;
11
11
  };
12
- declare function getPagesPreviewModeId(): string;
13
- declare function getPagesPreviewState(cookieHeader: string | string[] | null | undefined, options?: {
12
+ export declare function getPagesPreviewModeId(): string;
13
+ export declare function getPagesPreviewState(cookieHeader: string | string[] | null | undefined, options?: {
14
14
  isOnDemandRevalidate?: boolean;
15
15
  }): PagesPreviewState;
16
- declare function setPagesDraftMode(response: PreviewResponse, enabled: boolean): void;
17
- declare function setPagesPreviewData(response: PreviewResponse, data: PagesPreviewData, options?: {
16
+ export declare function setPagesDraftMode(response: PreviewResponse, enabled: boolean): void;
17
+ export declare function setPagesPreviewData(response: PreviewResponse, data: PagesPreviewData, options?: {
18
18
  maxAge?: number;
19
19
  path?: string;
20
20
  }): void;
21
- declare function clearPagesPreviewData(response: PreviewResponse, options?: {
21
+ export declare function clearPagesPreviewData(response: PreviewResponse, options?: {
22
22
  path?: string;
23
23
  }): void;
24
- declare function appendPagesPreviewClearCookies(headers: Headers): void;
25
- //#endregion
26
- export { PAGES_PREVIEW_CACHE_CONTROL, PagesPreviewData, PagesPreviewState, appendPagesPreviewClearCookies, clearPagesPreviewData, getPagesPreviewModeId, getPagesPreviewState, setPagesDraftMode, setPagesPreviewData };
24
+ export declare function appendPagesPreviewClearCookies(headers: Headers): void;
25
+ //#endregion
@@ -24,7 +24,7 @@ type PagesReadinessNextData = Pick<VinextNextData, "gssp" | "gsp" | "gip" | "app
24
24
  * Build the readiness flags for a Pages Router render. Shared by the dev and
25
25
  * production Pages render paths.
26
26
  */
27
- declare function buildPagesReadinessNextData(options: {
27
+ export declare function buildPagesReadinessNextData(options: {
28
28
  pageModule: PagesPageModule;
29
29
  appComponent: {
30
30
  getInitialProps?: unknown;
@@ -32,5 +32,4 @@ declare function buildPagesReadinessNextData(options: {
32
32
  } | null | undefined;
33
33
  hasRewrites: boolean;
34
34
  }): PagesReadinessNextData;
35
- //#endregion
36
- export { buildPagesReadinessNextData };
35
+ //#endregion