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
@@ -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,5 +1,6 @@
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
5
  import { BROWSER_REVALIDATE_CACHE_CONTROL, NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, applyCdnResponseHeaders, shouldUseNextDeployCacheControl } from "./cache-control.js";
5
6
  import { buildMissIsrCacheControl } from "./isr-decision.js";
@@ -15,7 +16,6 @@ import { setCacheStateHeaders } from "./cache-headers.js";
15
16
  import { readStreamAsText } from "../utils/text-stream.js";
16
17
  import { loadUserDocumentInitialProps, runDocumentRenderPage } from "./pages-document-initial-props.js";
17
18
  import { callDocumentGetInitialProps } from "./document-initial-head.js";
18
- import { isBotUserAgent } from "../utils/html-limited-bots.js";
19
19
  import { matchesIfNoneMatch } from "./http-conditional.js";
20
20
  import React from "react";
21
21
  //#region src/server/pages-page-response.ts
@@ -119,14 +119,15 @@ async function buildPagesCompositeStream(bodyStream, shellPrefix, shellSuffix) {
119
119
  async function reportPagesIsrCacheWriteError(error, cacheKey, routePattern) {
120
120
  console.error(`[vinext] Pages ISR cache write failed for ${cacheKey}:`, error);
121
121
  try {
122
- await reportRequestError(error instanceof Error ? error : new Error(String(error)), {
122
+ await reportRequestError(error, {
123
123
  path: cacheKey,
124
124
  method: "GET",
125
125
  headers: {}
126
126
  }, {
127
127
  routerKind: "Pages Router",
128
128
  routePath: routePattern,
129
- routeType: "render"
129
+ routeType: "render",
130
+ revalidateReason: void 0
130
131
  });
131
132
  } catch {}
132
133
  }
@@ -181,33 +182,48 @@ async function renderPagesPageResponse(options) {
181
182
  vinext: options.vinext
182
183
  });
183
184
  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
185
+ const documentResult = await (options.traceDocument ?? ((callback) => callback()))(async () => {
186
+ const documentRenderPage = await runDocumentRenderPage({
187
+ DocumentComponent: options.DocumentComponent,
188
+ enhancePageElement: options.enhancePageElement,
189
+ renderToReadableStream: options.renderToReadableStream,
190
+ renderStylesToString: async (element) => readStreamAsText(await options.renderToReadableStream(element)),
191
+ scriptNonce: options.scriptNonce,
192
+ initialStylesheetHrefs: options.initialStylesheetHrefs,
193
+ context: {
194
+ err: options.err,
195
+ req: options.documentReqRes?.req,
196
+ res: options.documentReqRes?.res,
197
+ pathname: options.routePattern,
198
+ query: options.query ?? options.params,
199
+ asPath: options.routeUrl
200
+ }
201
+ });
202
+ if (options.documentReqRes?.res.headersSent && options.documentReqRes.responsePromise) return {
203
+ documentRenderPage,
204
+ responseSent: true
205
+ };
206
+ let bodyStream;
207
+ if (documentRenderPage.status === "rendered") bodyStream = new ReadableStream({ start(controller) {
208
+ controller.enqueue(new TextEncoder().encode(documentRenderPage.bodyHtml));
209
+ controller.close();
210
+ } });
211
+ else {
212
+ const pageElement = withScriptNonce(React.createElement(React.Fragment, null, options.createPageElement(renderProps)), options.scriptNonce, options.initialStylesheetHrefs);
213
+ bodyStream = await options.renderToReadableStream(pageElement);
197
214
  }
215
+ if (documentRenderPage.status === "skipped") await callDocumentGetInitialProps(options.DocumentComponent, options.setDocumentInitialHead);
216
+ else options.setDocumentInitialHead?.(documentRenderPage.head);
217
+ return {
218
+ bodyStream,
219
+ documentRenderPage,
220
+ responseSent: false,
221
+ waitForBody: documentRenderPage.status === "skipped"
222
+ };
198
223
  });
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);
224
+ if (documentResult.responseSent && options.documentReqRes?.responsePromise) return options.documentReqRes.responsePromise;
225
+ const { bodyStream, documentRenderPage } = documentResult;
226
+ if (!bodyStream) throw new Error("Pages document render did not produce a body stream");
211
227
  const headFromShim = options.getSSRHeadHTML?.() ?? "";
212
228
  const traceMetaHTML = getClientTraceMetadataHTML(options.clientTraceMetadata);
213
229
  const ssrHeadHTML = headFromShim;
@@ -263,8 +279,10 @@ async function renderPagesPageResponse(options) {
263
279
  cacheControl: buildMissIsrCacheControl(options.isrRevalidateSeconds, options.expireSeconds),
264
280
  tags: [encodeCacheTag(`_N_T_${stem || "/"}`)]
265
281
  });
266
- if (options.isOnDemandRevalidate) responseHeaders.set(NEXTJS_CACHE_HEADER, "REVALIDATED");
267
- else setCacheStateHeaders(responseHeaders, "MISS");
282
+ if (options.isOnDemandRevalidate) {
283
+ responseHeaders.set(NEXTJS_CACHE_HEADER, "REVALIDATED");
284
+ responseHeaders.set(VINEXT_REVALIDATED_CACHE_TAG_HEADER, encodeCacheTag(`_N_T_${stem || "/"}`));
285
+ } else setCacheStateHeaders(responseHeaders, "MISS");
268
286
  } else if (options.isStaticPropsRoute && shouldUseNextDeployCacheControl()) responseHeaders.set("Cache-Control", BROWSER_REVALIDATE_CACHE_CONTROL);
269
287
  else if (options.gsspRes && !userSetCacheControl) responseHeaders.set("Cache-Control", NEVER_CACHE_CONTROL);
270
288
  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
@@ -1,22 +1,25 @@
1
1
  import { NextHeader, NextI18nConfig, NextRedirect, NextRewrite } from "../config/next-config.js";
2
+ import { PagesRouteDataKind } from "./pages-route-data-kind.js";
2
3
  import { HeaderRecord } from "./request-pipeline.js";
3
4
  //#region src/server/pages-request-pipeline.d.ts
4
- type PagesRenderOptions = {
5
+ export type PagesRenderOptions = {
5
6
  isDataReq?: boolean;
6
7
  renderErrorPageOnMiss?: boolean;
7
8
  originalUrl?: string;
8
9
  };
9
- type FilesystemRoutePhase = "direct" | "beforeFiles" | "afterFiles" | "fallback";
10
+ export type FilesystemRoutePhase = "direct" | "beforeFiles" | "afterFiles" | "fallback";
10
11
  type PageRouteMatch = {
11
12
  route: {
12
13
  isDynamic: boolean;
13
14
  pattern?: string;
14
- dataKind?: "static" | "server" | "none";
15
+ dataKind?: PagesRouteDataKind;
15
16
  };
16
17
  };
17
- declare function fetchWorkerFilesystemRoute(request: Request, requestPathname: string, phase: FilesystemRoutePhase, fetchAsset: (request: Request) => Promise<Response>, publicFiles?: ReadonlySet<string>, isDirectBuildAsset?: boolean): Promise<Response | false>;
18
- type MiddlewareResult = {
18
+ export declare function fetchWorkerFilesystemRoute(request: Request, requestPathname: string, phase: FilesystemRoutePhase, fetchAsset: (request: Request) => Promise<Response>, publicFiles?: ReadonlySet<string>, isDirectBuildAsset?: boolean): Promise<Response | false>;
19
+ export type MiddlewareResult = {
19
20
  continue: boolean;
21
+ /** The pathname matches middleware, irrespective of request `has`/`missing` conditions. */
22
+ pathnameEligible?: boolean;
20
23
  redirectUrl?: string;
21
24
  redirectStatus?: number;
22
25
  rewriteUrl?: string;
@@ -26,7 +29,7 @@ type MiddlewareResult = {
26
29
  response?: Response;
27
30
  waitUntilPromises?: Promise<unknown>[];
28
31
  };
29
- type PagesPipelineDeps = {
32
+ export type PagesPipelineDeps = {
30
33
  basePath: string;
31
34
  trailingSlash: boolean;
32
35
  i18nConfig: NextI18nConfig | null;
@@ -42,6 +45,8 @@ type PagesPipelineDeps = {
42
45
  isDataRequest: boolean;
43
46
  hasMiddleware: boolean;
44
47
  ctx?: unknown;
48
+ /** False when routing and middleware run outside the shared response stage. */
49
+ recordCacheability?: boolean;
45
50
  rawSearch?: string;
46
51
  configMatchPathname?: string;
47
52
  /**
@@ -67,7 +72,7 @@ type PagesPipelineDeps = {
67
72
  /** Stale/malformed data response emitted only if middleware does not handle the request. */
68
73
  dataNotFoundResponse?: Response | null;
69
74
  renderPage?: ((request: Request, resolvedUrl: string, options?: PagesRenderOptions, stagedHeaders?: Headers) => Promise<Response>) | null;
70
- handleApi?: ((request: Request, apiUrl: string, ctx: unknown) => Promise<Response>) | null;
75
+ handleApi?: ((request: Request, apiUrl: string, ctx: unknown, stagedHeaders: Headers) => Promise<Response>) | null;
71
76
  /**
72
77
  * Optional override for proxying external rewrite destinations.
73
78
  * When supplied, the pipeline calls this instead of proxyExternalRequest(currentRequest, url).
@@ -98,8 +103,8 @@ type PagesPipelineDeps = {
98
103
  * Shared by the Node prod server (prod-server.ts) and the generated Pages
99
104
  * Router worker entry (deploy.ts) to keep the two adapters in sync.
100
105
  */
101
- declare function wrapMiddlewareWithBasePath(runMiddleware: NonNullable<PagesPipelineDeps["runMiddleware"]>, basePath: string, hadBasePath: boolean): NonNullable<PagesPipelineDeps["runMiddleware"]>;
102
- type PagesPipelineResult = {
106
+ export declare function wrapMiddlewareWithBasePath(runMiddleware: NonNullable<PagesPipelineDeps["runMiddleware"]>, basePath: string, hadBasePath: boolean): NonNullable<PagesPipelineDeps["runMiddleware"]>;
107
+ export type PagesPipelineResult = {
103
108
  type: "response";
104
109
  response: Response;
105
110
  defaultContentType?: string;
@@ -137,6 +142,5 @@ type PagesPipelineResult = {
137
142
  * decode/normalize/400, public-file serving.
138
143
  * runPagesRequest receives a "clean" request with basePath-stripped URL.
139
144
  */
140
- declare function runPagesRequest(request: Request, deps: PagesPipelineDeps): Promise<PagesPipelineResult>;
141
- //#endregion
142
- export { FilesystemRoutePhase, MiddlewareResult, PagesPipelineDeps, PagesPipelineResult, PagesRenderOptions, fetchWorkerFilesystemRoute, runPagesRequest, wrapMiddlewareWithBasePath };
145
+ export declare function runPagesRequest(request: Request, deps: PagesPipelineDeps): Promise<PagesPipelineResult>;
146
+ //#endregion
@@ -1,18 +1,35 @@
1
- import { addBasePathToPathname, hasBasePath } from "../utils/base-path.js";
2
- import { patternToNextFormat } from "../routing/route-validation.js";
3
- import { requestContextFromRequest } from "../config/request-context.js";
4
1
  import { PRERENDER_REVALIDATE_HEADER } from "../utils/protocol-headers.js";
2
+ import { requestContextFromRequest } from "../config/request-context.js";
5
3
  import { isExternalUrl } from "../utils/external-url.js";
6
4
  import { applyMiddlewareRequestHeaders, matchRedirect, matchRewrite, preserveRedirectDestinationQuery, proxyExternalRequest, sanitizeDestination } from "../config/config-matchers.js";
5
+ import { addBasePathToPathname, hasBasePath } from "../utils/base-path.js";
6
+ import { patternToNextFormat } from "../routing/route-validation.js";
7
7
  import { methodNotAllowedResponse, sanitizeMethodNotAllowedHeaders } from "./http-error-responses.js";
8
8
  import { cloneRequestWithUrl, normalizeTrailingSlash } from "./request-pipeline.js";
9
9
  import { normalizeDefaultLocalePathname, stripI18nLocaleForApiRoute } from "./pages-i18n.js";
10
- import { isOnDemandRevalidateRequest } from "./isr-cache.js";
10
+ import { markRouteCacheabilityDynamic } from "../shims/cacheability-classification.js";
11
+ import { isOnDemandRevalidateRequest } from "./revalidation-request.js";
11
12
  import { mergeRewriteQuery } from "../utils/query.js";
12
13
  import { buildMiddlewarePrefetchSkipResponse } from "./pages-data-route.js";
14
+ import { setFrameworkRequestRoute } from "./request-tracing.js";
13
15
  import { applyConfigHeadersToHeaderRecord } from "./config-headers.js";
14
16
  import { mergeHeaders } from "./worker-utils.js";
15
17
  //#region src/server/pages-request-pipeline.ts
18
+ function ruleUsesUnkeyedRequestCondition(rule) {
19
+ return [...rule.has ?? [], ...rule.missing ?? []].some((condition) => condition.type === "header" || condition.type === "cookie" || condition.type === "host");
20
+ }
21
+ function markConditionalRewriteCacheability(rewrite) {
22
+ if (ruleUsesUnkeyedRequestCondition(rewrite)) markRouteCacheabilityDynamic("next.config rewrite depends on request headers, cookies, or hostnames");
23
+ }
24
+ function markConditionalRedirectCacheability(redirect) {
25
+ if (ruleUsesUnkeyedRequestCondition(redirect)) markRouteCacheabilityDynamic("next.config redirect depends on request headers, cookies, or hostnames");
26
+ }
27
+ function headersFromRecord(record) {
28
+ const headers = new Headers();
29
+ for (const [name, value] of Object.entries(record)) if (Array.isArray(value)) for (const item of value) headers.append(name, item);
30
+ else headers.set(name, value);
31
+ return headers;
32
+ }
16
33
  async function fetchWorkerFilesystemRoute(request, requestPathname, phase, fetchAsset, publicFiles, isDirectBuildAsset = false) {
17
34
  const isRetrievalMethod = request.method === "GET" || request.method === "HEAD";
18
35
  if (phase === "direct" && isRetrievalMethod || phase === "direct" && publicFiles !== void 0 && !isDirectBuildAsset && !publicFiles.has(requestPathname) || requestPathname === "/api" || requestPathname.startsWith("/api/")) return false;
@@ -64,6 +81,8 @@ function wrapMiddlewareWithBasePath(runMiddleware, basePath, hadBasePath) {
64
81
  */
65
82
  async function runPagesRequest(request, deps) {
66
83
  const { basePath, trailingSlash, i18nConfig, configRedirects, configRewrites, configHeaders, hadBasePath, isDataReq, isDataRequest } = deps;
84
+ const conditionalRedirectCacheability = deps.recordCacheability === false ? void 0 : markConditionalRedirectCacheability;
85
+ const conditionalRewriteCacheability = deps.recordCacheability === false ? void 0 : markConditionalRewriteCacheability;
67
86
  const proxyExternal = (currentReq, externalUrl) => deps.proxyExternal ? deps.proxyExternal(currentReq, externalUrl) : proxyExternalRequest(currentReq, externalUrl);
68
87
  const url = new URL(request.url);
69
88
  let pathname = url.pathname;
@@ -86,9 +105,10 @@ async function runPagesRequest(request, deps) {
86
105
  const requestHostname = i18nConfig ? url.hostname : "";
87
106
  const requestConfigMatchPathname = i18nConfig ? normalizeDefaultLocalePathname(requestConfigPathname, i18nConfig, { hostname: requestHostname }) : requestConfigPathname;
88
107
  if (configRedirects.length) {
89
- const redirect = matchRedirect(requestConfigMatchPathname, configRedirects, reqCtx, basePathState);
108
+ const redirect = matchRedirect(requestConfigMatchPathname, configRedirects, reqCtx, basePathState, conditionalRedirectCacheability);
90
109
  if (redirect) {
91
- const location = preserveRedirectDestinationQuery(sanitizeDestination(basePath && hadBasePath && !isExternalUrl(redirect.destination) && !hasBasePath(redirect.destination, basePath) ? basePath + redirect.destination : redirect.destination), deps.rawSearch ?? search);
110
+ const dest = sanitizeDestination(basePath && hadBasePath && !isExternalUrl(redirect.destination) && !hasBasePath(redirect.destination, basePath) ? basePath + redirect.destination : redirect.destination);
111
+ const location = preserveRedirectDestinationQuery(dest, deps.rawSearch ?? search);
92
112
  return {
93
113
  type: "response",
94
114
  response: new Response(null, {
@@ -102,6 +122,18 @@ async function runPagesRequest(request, deps) {
102
122
  let resolvedUrl = originalResolvedUrl;
103
123
  let resolvedPathnameIsRequestPathname = true;
104
124
  const middlewareHeaders = {};
125
+ const mergeConfigHeadersIntoEarlyResponse = (response) => {
126
+ if (configHeaders.length === 0) return response;
127
+ const matchedConfigHeaders = {};
128
+ applyConfigHeadersToHeaderRecord(matchedConfigHeaders, {
129
+ configHeaders,
130
+ pathname: requestConfigMatchPathname,
131
+ requestContext: reqCtx,
132
+ basePathState,
133
+ recordCacheability: deps.recordCacheability
134
+ });
135
+ return mergeHeaders(response, matchedConfigHeaders);
136
+ };
105
137
  let middlewareStatus;
106
138
  const serveFilesystemRoute = async (requestPathname, phase) => {
107
139
  if (!deps.serveFilesystemRoute) return null;
@@ -119,6 +151,7 @@ async function runPagesRequest(request, deps) {
119
151
  };
120
152
  if (!isOnDemandRevalidate && typeof deps.runMiddleware === "function") {
121
153
  const result = await deps.runMiddleware(deps.middlewareRequest ?? request, deps.ctx ?? null, { isDataRequest });
154
+ if (deps.recordCacheability !== false && result.pathnameEligible) markRouteCacheabilityDynamic("middleware can match this pathname");
122
155
  if (result.waitUntilPromises && result.waitUntilPromises.length > 0) {
123
156
  const ctx = deps.ctx;
124
157
  if (ctx && typeof ctx.waitUntil === "function") for (const p of result.waitUntilPromises) ctx.waitUntil(p);
@@ -138,15 +171,15 @@ async function runPagesRequest(request, deps) {
138
171
  else headers.set(k, v);
139
172
  return {
140
173
  type: "response",
141
- response: new Response(null, {
174
+ response: mergeConfigHeadersIntoEarlyResponse(new Response(null, {
142
175
  status: result.redirectStatus ?? 307,
143
176
  headers
144
- })
177
+ }))
145
178
  };
146
179
  }
147
180
  if (result.response) return {
148
181
  type: "response",
149
- response: result.response
182
+ response: mergeConfigHeadersIntoEarlyResponse(result.response)
150
183
  };
151
184
  }
152
185
  if (result.responseHeaders) for (const [key, value] of result.responseHeaders) if (key === "set-cookie") {
@@ -195,15 +228,19 @@ async function runPagesRequest(request, deps) {
195
228
  configHeaders,
196
229
  pathname: requestConfigMatchPathname,
197
230
  requestContext: reqCtx,
198
- basePathState
231
+ basePathState,
232
+ recordCacheability: deps.recordCacheability
199
233
  });
200
- if (isExternalUrl(resolvedUrl)) return {
201
- type: "response",
202
- response: mergeHeaders(await proxyExternal(request, resolvedUrl), middlewareHeaders, void 0)
203
- };
234
+ if (isExternalUrl(resolvedUrl)) {
235
+ const proxyResponse = await proxyExternal(request, resolvedUrl);
236
+ return {
237
+ type: "response",
238
+ response: mergeHeaders(proxyResponse, middlewareHeaders, void 0)
239
+ };
240
+ }
204
241
  let configRewriteFired = false;
205
242
  for (const rewrite of configRewrites.beforeFiles ?? []) {
206
- const rewritten = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState);
243
+ const rewritten = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState, configSourcePathname(), conditionalRewriteCacheability);
207
244
  if (rewritten) {
208
245
  if (isExternalUrl(rewritten)) return {
209
246
  type: "response",
@@ -230,7 +267,9 @@ async function runPagesRequest(request, deps) {
230
267
  const apiLookupUrl = stripI18nLocaleForApiRoute(resolvedUrl, i18nConfig);
231
268
  const apiLookupPathname = apiLookupUrl.split("?")[0];
232
269
  if (!apiLookupPathname.startsWith("/api/") && apiLookupPathname !== "/api") return null;
233
- if (deps.matchApiRoute && !await deps.matchApiRoute(apiLookupUrl, request)) return null;
270
+ const apiMatch = deps.matchApiRoute ? await deps.matchApiRoute(apiLookupUrl, request) : null;
271
+ if (deps.matchApiRoute && !apiMatch) return null;
272
+ if (apiMatch) setFrameworkRequestRoute(matchedPathnameForRoute(apiMatch.route.pattern));
234
273
  if (typeof deps.handleApi === "function") {
235
274
  let apiRequest = request;
236
275
  if (basePath && hadBasePath) {
@@ -238,7 +277,7 @@ async function runPagesRequest(request, deps) {
238
277
  apiRequestUrl.pathname = addBasePathToPathname(apiRequestUrl.pathname, basePath);
239
278
  apiRequest = cloneRequestWithUrl(request, apiRequestUrl.toString());
240
279
  }
241
- const response = await deps.handleApi(apiRequest, apiLookupUrl, deps.ctx ?? null);
280
+ const response = await deps.handleApi(apiRequest, apiLookupUrl, deps.ctx ?? null, headersFromRecord(middlewareHeaders));
242
281
  const merged = mergeHeaders(response, middlewareHeaders, middlewareStatus);
243
282
  if (merged !== response) merged.__vinextStreamedApiResponse = response.__vinextStreamedApiResponse;
244
283
  return {
@@ -261,7 +300,7 @@ async function runPagesRequest(request, deps) {
261
300
  let pageMatch = !isOutsideBasePathUnclaimed() && deps.matchPageRoute ? deps.matchPageRoute(resolvedPathname, request) : null;
262
301
  let resolvedPathnameChanged = false;
263
302
  if (!pageMatch || pageMatch.route.isDynamic) for (const rewrite of configRewrites.afterFiles ?? []) {
264
- const rewritten = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState);
303
+ const rewritten = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState, configSourcePathname(), conditionalRewriteCacheability);
265
304
  if (rewritten) {
266
305
  if (isExternalUrl(rewritten)) return {
267
306
  type: "response",
@@ -288,7 +327,7 @@ async function runPagesRequest(request, deps) {
288
327
  if (typeof deps.renderPage === "function") {
289
328
  let renderPageMatch = pageMatch;
290
329
  if ((isOutsideBasePathUnclaimed() || isDataReq || isDataRequest) && !renderPageMatch && configRewrites.fallback?.length) for (const rewrite of configRewrites.fallback) {
291
- const fallbackRewrite = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState);
330
+ const fallbackRewrite = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState, configSourcePathname(), conditionalRewriteCacheability);
292
331
  if (!fallbackRewrite) continue;
293
332
  if (isExternalUrl(fallbackRewrite)) return {
294
333
  type: "response",
@@ -311,13 +350,12 @@ async function runPagesRequest(request, deps) {
311
350
  if (isOutsideBasePathUnclaimed()) return outOfBasePathNotFound();
312
351
  const shouldDeferErrorPageOnMiss = !isDataReq && !isDataRequest && !!deps.matchPageRoute && !renderPageMatch;
313
352
  const initialRenderOptions = shouldDeferErrorPageOnMiss ? { renderErrorPageOnMiss: false } : isDataReq ? { isDataReq: true } : void 0;
314
- const stagedHeaders = new Headers();
315
- for (const [k, v] of Object.entries(middlewareHeaders)) if (Array.isArray(v)) for (const item of v) stagedHeaders.append(k, item);
316
- else stagedHeaders.set(k, v);
353
+ const stagedHeaders = headersFromRecord(middlewareHeaders);
354
+ if (renderPageMatch) setFrameworkRequestRoute(matchedPathnameForRoute(renderPageMatch.route.pattern));
317
355
  let response = await deps.renderPage(request, resolvedUrl, initialRenderOptions, stagedHeaders);
318
356
  let matchedFallbackRewrite = false;
319
357
  if (response.status === 404 && shouldDeferErrorPageOnMiss && configRewrites.fallback?.length) for (const rewrite of configRewrites.fallback) {
320
- const fallbackRewrite = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState);
358
+ const fallbackRewrite = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState, configSourcePathname(), conditionalRewriteCacheability);
321
359
  if (!fallbackRewrite) continue;
322
360
  if (isExternalUrl(fallbackRewrite)) return {
323
361
  type: "response",
@@ -332,6 +370,7 @@ async function runPagesRequest(request, deps) {
332
370
  const fallbackApiResult = await handleResolvedApiRoute();
333
371
  if (fallbackApiResult) return fallbackApiResult;
334
372
  renderPageMatch = deps.matchPageRoute ? deps.matchPageRoute(resolvedPathname, request) : null;
373
+ if (renderPageMatch) setFrameworkRequestRoute(matchedPathnameForRoute(renderPageMatch.route.pattern));
335
374
  response = await deps.renderPage(request, resolvedUrl, void 0, stagedHeaders);
336
375
  matchedFallbackRewrite = true;
337
376
  if (response.status !== 404) break;
@@ -342,12 +381,13 @@ async function runPagesRequest(request, deps) {
342
381
  const headers = new Headers(response.headers);
343
382
  headers.set("content-type", "application/json");
344
383
  headers.set("x-nextjs-matched-path", matchResolvedPathname(pathname));
384
+ const notFoundResponse = new Response("{}", {
385
+ status: 200,
386
+ headers
387
+ });
345
388
  return {
346
389
  type: "response",
347
- response: mergeHeaders(new Response("{}", {
348
- status: 200,
349
- headers
350
- }), matchedPathHeaders, void 0),
390
+ response: mergeHeaders(notFoundResponse, matchedPathHeaders, void 0),
351
391
  defaultContentType: "application/json"
352
392
  };
353
393
  }
@@ -362,7 +402,7 @@ async function runPagesRequest(request, deps) {
362
402
  }
363
403
  let devPageMatch = isOutsideBasePathUnclaimed() ? null : resolvedPathnameChanged ? deps.matchPageRoute ? deps.matchPageRoute(resolvedPathname, request) : null : pageMatch;
364
404
  if (!devPageMatch && configRewrites.fallback?.length) for (const rewrite of configRewrites.fallback) {
365
- const fallbackRewrite = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState);
405
+ const fallbackRewrite = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState, configSourcePathname(), conditionalRewriteCacheability);
366
406
  if (!fallbackRewrite) continue;
367
407
  if (isExternalUrl(fallbackRewrite)) return {
368
408
  type: "response",
@@ -383,6 +423,7 @@ async function runPagesRequest(request, deps) {
383
423
  if (prefetchSkipResult) return prefetchSkipResult;
384
424
  if (isOutsideBasePathUnclaimed()) return outOfBasePathNotFound();
385
425
  refreshDataRewriteHeader();
426
+ if (devPageMatch) setFrameworkRequestRoute(matchedPathnameForRoute(devPageMatch.route.pattern));
386
427
  return {
387
428
  type: "render",
388
429
  resolvedUrl,
@@ -0,0 +1,23 @@
1
+ import { VinextRequestStageContext } from "./multi-stage.js";
2
+ import { ExecutionContextLike } from "../shims/request-context.js";
3
+ import { DispatchWorkerResponseStage, WorkerResponseStageProps } from "./worker-stages.js";
4
+ //#region src/server/pages-request-stage-entry.d.ts
5
+ type AssetFetcher = {
6
+ fetch(request: Request): Promise<Response> | Response;
7
+ };
8
+ export type PagesWorkerEnv = {
9
+ ASSETS?: AssetFetcher;
10
+ } & Record<string, unknown>;
11
+ export type PagesWorkerExecutionContext = {
12
+ waitUntil?(promise: Promise<unknown>): void;
13
+ passThroughOnException?(): void;
14
+ cache?: unknown;
15
+ } & VinextRequestStageContext;
16
+ export type PagesLocalResponseStage = (request: Request, env: PagesWorkerEnv | undefined, ctx: ExecutionContextLike, props: WorkerResponseStageProps) => Promise<Response>;
17
+ export declare const pagesRequestStageBuildId: string | null;
18
+ export declare const pagesRequestStagePrerenderSecret: string | null;
19
+ /** Run the request-time stage with a host-owned response dispatcher. */
20
+ export declare function handleRequestStage(request: Request, env: PagesWorkerEnv | undefined, ctx: PagesWorkerExecutionContext | undefined, dispatchResponseStage: DispatchWorkerResponseStage): Promise<Response>;
21
+ /** Preserve the direct single-entry Worker path without retaining it in request-only builds. */
22
+ export declare function handleRequestStageLocally(request: Request, env: PagesWorkerEnv | undefined, ctx: PagesWorkerExecutionContext | undefined, dispatchResponseStage: PagesLocalResponseStage): Promise<Response>;
23
+ //#endregion