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
@@ -0,0 +1,314 @@
1
+ import { VINEXT_PRERENDER_SECRET_HEADER, VINEXT_REVALIDATE_HOST_HEADER } from "../utils/protocol-headers.js";
2
+ import { requestContextFromRequest } from "../config/request-context.js";
3
+ import { assetPrefixPathname, isNextStaticPath } from "../utils/asset-prefix.js";
4
+ import { normalizePathnameForRouteMatchStrict } from "../routing/utils.js";
5
+ import { hasBasePath, stripBasePath } from "../utils/base-path.js";
6
+ import { runWithExecutionContext } from "../shims/request-context.js";
7
+ import { VINEXT_CACHEABILITY_PROBE_QUERY_PARAM, VINEXT_EXPECTED_WORKER_VERSION_HEADER } from "./headers.js";
8
+ import { notFoundStaticAssetResponse } from "./http-error-responses.js";
9
+ import { isOpenRedirectShaped } from "./open-redirect.js";
10
+ import { attachRequestCfMetadata, cloneRequestWithHeaders, cloneRequestWithUrl, filterInternalHeaders } from "./request-pipeline.js";
11
+ import { normalizeDefaultLocalePathname } from "./pages-i18n.js";
12
+ import { CACHEABILITY_REQUEST_STATE } from "../shims/cacheability-classification.js";
13
+ import { applyCdnResponseIdentityHeaders, captureCdnResponsePolicyOverrides, reconcileCdnResponseHeadersAfterOuterPolicy, validateCdnRequest } from "./cache-control.js";
14
+ import { registerLazyDataCacheHandler } from "../shims/cache-handler.js";
15
+ import { DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, handleConfiguredImageOptimization, isImageOptimizationPath } from "./image-optimization.js";
16
+ import { traceFrameworkRequest } from "./request-tracing.js";
17
+ import { resolveResponseStageCachePolicy } from "./config-headers.js";
18
+ import { finalizeMissingStaticAssetResponse } from "./worker-utils.js";
19
+ import { fetchWorkerFilesystemRoute, runPagesRequest, wrapMiddlewareWithBasePath } from "./pages-request-pipeline.js";
20
+ import { createWorkerRevalidationContext } from "./worker-revalidation-context.js";
21
+ import { createWorkerPrerenderDiscoveryContext, createWorkerPrerenderReadinessResponse, isWorkerPrerenderDiscoveryPath } from "./worker-prerender-discovery.js";
22
+ import { getPagesResponseStageCacheDisposition } from "./pages-response-stage.js";
23
+ import "./worker-stages.js";
24
+ import { consumePagesResponseStagePolicyOwner, prependResponseStageAdditiveHeaders, withResponseStageVary, withoutResponseStageVary } from "./response-stage-policy.js";
25
+ import * as configuredCdnCacheAdapters from "virtual:vinext-cdn-cache-adapter";
26
+ import { registerConfiguredImageOptimizer } from "virtual:vinext-image-adapters";
27
+ import * as pagesEntry from "virtual:vinext-pages-request-entry";
28
+ //#region src/server/pages-request-stage-entry.ts
29
+ /**
30
+ * Request-stage entry point for vinext Pages Router.
31
+ *
32
+ * The public pages-router-entry delegates here. Multi-stage hosts import the
33
+ * named request handler directly and provide their response-stage dispatcher.
34
+ */
35
+ function haveSameHeaders(first, second) {
36
+ const firstEntries = [...first];
37
+ const secondEntries = [...second];
38
+ return firstEntries.length === secondEntries.length && firstEntries.every(([name, value], index) => name === secondEntries[index]?.[0] && value === secondEntries[index]?.[1]);
39
+ }
40
+ function captureOuterResponsePolicyHeaders(stagedHeaders, transportedPolicyHeaders) {
41
+ return captureCdnResponsePolicyOverrides(stagedHeaders, new Headers(transportedPolicyHeaders ?? []));
42
+ }
43
+ const { authorizeOnDemandRevalidate, hasMiddleware, hasRequestAwareDocument, matchApiRoute, matchPageRoute, normalizeDataRequest, publicFiles, runMiddleware, vinextConfig } = pagesEntry;
44
+ const pagesRequestStageBuildId = pagesEntry.buildId ?? null;
45
+ const pagesRequestStagePrerenderSecret = pagesEntry.prerenderSecret ?? null;
46
+ const basePath = vinextConfig?.basePath ?? "";
47
+ const assetPathPrefix = assetPrefixPathname(vinextConfig?.assetPrefix ?? "");
48
+ const trailingSlash = vinextConfig?.trailingSlash ?? false;
49
+ const i18nConfig = vinextConfig?.i18n ?? null;
50
+ const configRedirects = vinextConfig?.redirects ?? [];
51
+ const configRewrites = vinextConfig?.rewrites ?? {
52
+ beforeFiles: [],
53
+ afterFiles: [],
54
+ fallback: []
55
+ };
56
+ const configHeaders = vinextConfig?.headers ?? [];
57
+ const imageConfig = vinextConfig?.images ? {
58
+ qualities: vinextConfig.images.qualities,
59
+ dangerouslyAllowSVG: vinextConfig.images.dangerouslyAllowSVG,
60
+ dangerouslyAllowLocalIP: vinextConfig.images.dangerouslyAllowLocalIP,
61
+ contentDispositionType: vinextConfig.images.contentDispositionType,
62
+ contentSecurityPolicy: vinextConfig.images.contentSecurityPolicy
63
+ } : void 0;
64
+ /** Run the request-time stage with a host-owned response dispatcher. */
65
+ function handleRequestStage(request, env, ctx, dispatchResponseStage) {
66
+ const originalRequest = request;
67
+ return handleRequest(request, env, ctx, (stageRequest, props, options) => dispatchResponseStage(stageRequest, props, options), false, "node", ctx?.assets).then((response) => applyCdnResponseIdentityHeaders(response, originalRequest));
68
+ }
69
+ /** Preserve the direct single-entry Worker path without retaining it in request-only builds. */
70
+ function handleRequestStageLocally(request, env, ctx, dispatchResponseStage) {
71
+ const originalRequest = request;
72
+ return handleRequest(request, env, ctx, (stageRequest, props, _options, stageEnv, stageCtx) => dispatchResponseStage(stageRequest, stageEnv, stageCtx, props), true, "worker", env?.ASSETS).then((response) => applyCdnResponseIdentityHeaders(response, originalRequest));
73
+ }
74
+ function handleRequest(request, env, platformCtx, dispatchResponseStage, forceCacheBypass, defaultHostRuntime, assets) {
75
+ const url = new URL(request.url);
76
+ const trace = async () => {
77
+ await pagesEntry.__ensureInstrumentation?.();
78
+ return traceFrameworkRequest({
79
+ callback: () => handleRequestImpl(request, env, platformCtx, dispatchResponseStage, forceCacheBypass, defaultHostRuntime, assets),
80
+ getStatus: (response) => response?.status,
81
+ headers: request.headers,
82
+ method: request.method,
83
+ target: url.pathname + url.search
84
+ });
85
+ };
86
+ return platformCtx && typeof platformCtx.waitUntil === "function" && (!forceCacheBypass || !Reflect.has(platformCtx, CACHEABILITY_REQUEST_STATE)) ? runWithExecutionContext(platformCtx, trace) : trace();
87
+ }
88
+ async function handleRequestImpl(request, env, platformCtx, dispatchResponseStage, forceCacheBypass, defaultHostRuntime, assets) {
89
+ let sharedResponseHeaders = null;
90
+ let sharedOuterPolicyHeaders = null;
91
+ let ctx = createWorkerRevalidationContext(platformCtx, (internalRequest, internalCtx) => handleRequest(internalRequest, env, internalCtx, dispatchResponseStage, forceCacheBypass, defaultHostRuntime, assets), defaultHostRuntime);
92
+ configuredCdnCacheAdapters.registerConfiguredCacheAdapters(env);
93
+ if (configuredCdnCacheAdapters.hasConfiguredDataCache) registerLazyDataCacheHandler(async () => {
94
+ (await import("virtual:vinext-cache-adapters")).registerConfiguredCacheAdapters(env);
95
+ });
96
+ registerConfiguredImageOptimizer(env);
97
+ try {
98
+ ctx = createWorkerPrerenderDiscoveryContext(ctx, request, pagesEntry.prerenderSecret);
99
+ const readinessResponse = createWorkerPrerenderReadinessResponse(ctx, request);
100
+ let didValidateCdnRequest = false;
101
+ if (readinessResponse) {
102
+ const validationResponse = await validateCdnRequest(request);
103
+ if (validationResponse) return validationResponse;
104
+ didValidateCdnRequest = true;
105
+ if (readinessResponse.status !== 204) return readinessResponse;
106
+ }
107
+ let probeMode = null;
108
+ let probeRoute = null;
109
+ if (request.headers.has("X-Vinext-Cacheability-Probe")) {
110
+ const { readWorkerCacheabilityProbeMode, readWorkerCacheabilityProbeRoute } = await import("./cacheability-request.js");
111
+ probeMode = readWorkerCacheabilityProbeMode(request, pagesEntry.prerenderSecret);
112
+ if (probeMode) {
113
+ probeRoute = readWorkerCacheabilityProbeRoute(request);
114
+ const probeUrl = new URL(request.url);
115
+ probeUrl.searchParams.delete(VINEXT_CACHEABILITY_PROBE_QUERY_PARAM);
116
+ request = new Request(probeUrl, request);
117
+ }
118
+ }
119
+ let responseStageDispatched = false;
120
+ const trackedDispatchResponseStage = (stageRequest, props, options, stageEnv, stageCtx) => {
121
+ responseStageDispatched = true;
122
+ return dispatchResponseStage(stageRequest, props, options, stageEnv, stageCtx);
123
+ };
124
+ if (!didValidateCdnRequest) {
125
+ const cdnValidationResponse = await validateCdnRequest(request);
126
+ if (cdnValidationResponse) return cdnValidationResponse;
127
+ }
128
+ const filteredHeaders = ctx.isInternalPagesRevalidation ? new Headers(request.headers) : filterInternalHeaders(request.headers);
129
+ filteredHeaders.delete(VINEXT_PRERENDER_SECRET_HEADER);
130
+ filteredHeaders.delete(VINEXT_REVALIDATE_HOST_HEADER);
131
+ if (readinessResponse?.status === 204) {
132
+ const expectedWorkerVersion = request.headers.get(VINEXT_EXPECTED_WORKER_VERSION_HEADER);
133
+ if (expectedWorkerVersion) filteredHeaders.set(VINEXT_EXPECTED_WORKER_VERSION_HEADER, expectedWorkerVersion);
134
+ }
135
+ request = cloneRequestWithHeaders(request, filteredHeaders);
136
+ const url = new URL(request.url);
137
+ let pathname = url.pathname;
138
+ if (ctx.isPrerenderPathDiscovery && isWorkerPrerenderDiscoveryPath(pathname)) return trackedDispatchResponseStage(request, {
139
+ buildId: pagesEntry.buildId,
140
+ cacheability: {
141
+ policyHeaders: null,
142
+ probeMode: null,
143
+ resolvedRoutePathname: pathname
144
+ },
145
+ kind: "pages-prerender-discovery",
146
+ protocolVersion: 4,
147
+ requestHost: url.host,
148
+ stagedHeaders: null
149
+ }, { cache: "bypass" }, env, ctx);
150
+ if (isOpenRedirectShaped(pathname)) return new Response("This page could not be found", { status: 404 });
151
+ try {
152
+ normalizePathnameForRouteMatchStrict(pathname);
153
+ } catch {
154
+ return new Response("Bad Request", { status: 400 });
155
+ }
156
+ const missingBuildAsset = isNextStaticPath(pathname, basePath, assetPathPrefix);
157
+ const hadBasePath = !basePath || hasBasePath(pathname, basePath);
158
+ {
159
+ const stripped = stripBasePath(pathname, basePath);
160
+ if (stripped !== pathname) {
161
+ const strippedUrl = new URL(request.url);
162
+ strippedUrl.pathname = stripped;
163
+ request = cloneRequestWithUrl(request, strippedUrl.toString());
164
+ pathname = stripped;
165
+ }
166
+ }
167
+ const middlewareRequest = request;
168
+ const dataNorm = normalizeDataRequest(request);
169
+ if (dataNorm.notFoundResponse && !vinextConfig?.skipProxyUrlNormalize) return dataNorm.notFoundResponse;
170
+ const isDataReq = dataNorm.isDataReq;
171
+ if (isDataReq && dataNorm.normalizedPathname) {
172
+ request = dataNorm.request;
173
+ pathname = dataNorm.normalizedPathname;
174
+ }
175
+ const responseStagePolicyPathname = i18nConfig ? normalizeDefaultLocalePathname(pathname, i18nConfig, { hostname: url.hostname }) : pathname;
176
+ const responseStagePolicyHeaders = resolveResponseStageCachePolicy({
177
+ basePathState: {
178
+ basePath,
179
+ hadBasePath
180
+ },
181
+ configHeaders,
182
+ pathname: responseStagePolicyPathname,
183
+ requestContext: requestContextFromRequest(request)
184
+ });
185
+ let speculativeRenderRequest = null;
186
+ const deps = {
187
+ basePath,
188
+ trailingSlash,
189
+ i18nConfig,
190
+ configRedirects,
191
+ configRewrites,
192
+ configHeaders,
193
+ hadBasePath,
194
+ isDataReq,
195
+ isDataRequest: isDataReq,
196
+ hasMiddleware,
197
+ ctx,
198
+ recordCacheability: forceCacheBypass,
199
+ middlewareRequest: isDataReq && vinextConfig?.skipProxyUrlNormalize ? middlewareRequest : void 0,
200
+ dataNotFoundResponse: vinextConfig?.skipProxyUrlNormalize ? dataNorm.notFoundResponse : null,
201
+ authorizeOnDemandRevalidate: typeof authorizeOnDemandRevalidate === "function" ? authorizeOnDemandRevalidate : void 0,
202
+ matchApiRoute: typeof matchApiRoute === "function" ? matchApiRoute : null,
203
+ matchPageRoute: typeof matchPageRoute === "function" ? matchPageRoute : null,
204
+ runMiddleware: typeof runMiddleware === "function" ? wrapMiddlewareWithBasePath(runMiddleware, basePath, hadBasePath) : null,
205
+ renderPage: (req, resolvedUrl, options, stagedHeaders) => {
206
+ if (options?.renderErrorPageOnMiss === false && req.body !== null && !req.bodyUsed) speculativeRenderRequest = req;
207
+ const stageRequest = speculativeRenderRequest === req && req.body !== null && !req.bodyUsed ? attachRequestCfMetadata(req.clone(), req) : req;
208
+ const matchedPage = typeof matchPageRoute === "function" ? matchPageRoute(resolvedUrl, req) : null;
209
+ const cache = forceCacheBypass || probeMode ? "bypass" : getPagesResponseStageCacheDisposition({
210
+ authorizeOnDemandRevalidate: typeof authorizeOnDemandRevalidate === "function" ? authorizeOnDemandRevalidate : void 0,
211
+ hasRequestAwareDocument: hasRequestAwareDocument === true,
212
+ request: req,
213
+ requestHeadersChanged: !haveSameHeaders(filteredHeaders, req.headers),
214
+ routeDataKind: matchedPage?.route.dataKind,
215
+ stagedHeaders
216
+ });
217
+ const isSharedStaticPage = cache === "shared" && matchedPage?.route.dataKind === "static";
218
+ const transportedPolicyHeaders = isSharedStaticPage ? withoutResponseStageVary(responseStagePolicyHeaders) : withResponseStageVary(responseStagePolicyHeaders, stagedHeaders?.get("Vary"));
219
+ const responseStageProps = () => ({
220
+ buildId: pagesEntry.buildId,
221
+ cacheability: {
222
+ policyHeaders: transportedPolicyHeaders,
223
+ probeMode,
224
+ ...isDataReq ? { representation: "pages-data" } : {},
225
+ resolvedRoutePathname: new URL(resolvedUrl, req.url).pathname
226
+ },
227
+ kind: "pages-page",
228
+ protocolVersion: 4,
229
+ requestHost: new URL(req.url).host,
230
+ renderOptions: options ?? null,
231
+ resolvedUrl,
232
+ stagedHeaders: isSharedStaticPage ? null : [...stagedHeaders ?? new Headers()]
233
+ });
234
+ const isHeadRequest = req.method.toUpperCase() === "HEAD";
235
+ const responsePromise = trackedDispatchResponseStage(stageRequest, responseStageProps(), { cache }, env, ctx).then((response) => {
236
+ const consumed = consumePagesResponseStagePolicyOwner(response);
237
+ if (cache === "shared") {
238
+ if (isSharedStaticPage && stagedHeaders) prependResponseStageAdditiveHeaders(consumed.response.headers, stagedHeaders);
239
+ sharedResponseHeaders = new Headers(consumed.response.headers);
240
+ sharedOuterPolicyHeaders = !(consumed.owner === "request-time" || consumed.owner === null && matchedPage?.route.dataKind === "server") ? captureOuterResponsePolicyHeaders(stagedHeaders ?? new Headers(), transportedPolicyHeaders) : null;
241
+ }
242
+ return consumed.response;
243
+ });
244
+ if (!isHeadRequest) return responsePromise;
245
+ return responsePromise.then(async (response) => {
246
+ await response.body?.cancel();
247
+ return new Response(null, {
248
+ headers: response.headers,
249
+ status: response.status,
250
+ statusText: response.statusText
251
+ });
252
+ });
253
+ },
254
+ handleApi: (req, apiUrl, _ctx, stagedHeaders) => {
255
+ const transportedPolicyHeaders = withResponseStageVary(responseStagePolicyHeaders, stagedHeaders.get("Vary"));
256
+ const responseStageProps = () => ({
257
+ apiUrl,
258
+ buildId: pagesEntry.buildId,
259
+ cacheability: {
260
+ policyHeaders: transportedPolicyHeaders,
261
+ probeMode,
262
+ resolvedRoutePathname: new URL(apiUrl, req.url).pathname
263
+ },
264
+ kind: "pages-api",
265
+ protocolVersion: 4,
266
+ requestHost: new URL(req.url).host,
267
+ stagedHeaders: [...stagedHeaders]
268
+ });
269
+ const cache = forceCacheBypass || probeMode ? "bypass" : getPagesResponseStageCacheDisposition({
270
+ authorizeOnDemandRevalidate: typeof authorizeOnDemandRevalidate === "function" ? authorizeOnDemandRevalidate : void 0,
271
+ request: req,
272
+ requestHeadersChanged: !haveSameHeaders(filteredHeaders, req.headers),
273
+ stagedHeaders
274
+ });
275
+ const dispatched = trackedDispatchResponseStage(req, responseStageProps(), { cache }, env, ctx);
276
+ return cache === "shared" ? dispatched.then((response) => {
277
+ sharedResponseHeaders = new Headers(response.headers);
278
+ sharedOuterPolicyHeaders = null;
279
+ return response;
280
+ }) : dispatched;
281
+ },
282
+ serveFilesystemRoute: async (requestPathname, _stagedHeaders, phase, resolvedUrl) => {
283
+ if (!assets) return false;
284
+ if (isImageOptimizationPath(requestPathname)) {
285
+ const imageUrl = new URL(resolvedUrl, request.url);
286
+ const imageRequest = new Request(imageUrl, request);
287
+ const allowedWidths = [...vinextConfig?.images?.deviceSizes ?? DEFAULT_DEVICE_SIZES, ...vinextConfig?.images?.imageSizes ?? DEFAULT_IMAGE_SIZES];
288
+ return handleConfiguredImageOptimization(imageRequest, (assetPath) => Promise.resolve(assets.fetch(new Request(new URL(assetPath, request.url)))), allowedWidths, imageConfig);
289
+ }
290
+ return fetchWorkerFilesystemRoute(request, requestPathname, phase, (assetRequest) => Promise.resolve(assets.fetch(assetRequest)), publicFiles, missingBuildAsset);
291
+ }
292
+ };
293
+ const result = await runPagesRequest(request, deps);
294
+ if (result.type === "response") {
295
+ let response = finalizeMissingStaticAssetResponse(result.response, missingBuildAsset);
296
+ if (sharedResponseHeaders && sharedOuterPolicyHeaders) reconcileCdnResponseHeadersAfterOuterPolicy(response.headers, sharedOuterPolicyHeaders);
297
+ if (probeMode && probeRoute && !responseStageDispatched) {
298
+ const { finalizeRequestStageCacheabilityProbe } = await import("./cacheability-request.js");
299
+ response = finalizeRequestStageCacheabilityProbe(response, {
300
+ mode: probeMode,
301
+ responseStageDispatched,
302
+ route: probeRoute
303
+ });
304
+ }
305
+ return response;
306
+ }
307
+ return missingBuildAsset ? notFoundStaticAssetResponse() : new Response("This page could not be found", { status: 404 });
308
+ } catch (error) {
309
+ console.error("[vinext] Worker error:", error);
310
+ return new Response("Internal Server Error", { status: 500 });
311
+ }
312
+ }
313
+ //#endregion
314
+ export { handleRequestStage, handleRequestStageLocally, pagesRequestStageBuildId, pagesRequestStagePrerenderSecret };
@@ -0,0 +1,11 @@
1
+ import { VinextRequestStageTransport, VinextResponseStageDispatchOptions } from "./multi-stage.js";
2
+ import { ExecutionContextLike } from "../shims/request-context.js";
3
+ import { WorkerResponseStageProps } from "./worker-stages.js";
4
+ //#region src/server/pages-response-stage-entry.d.ts
5
+ type PagesWorkerEnv = Record<string, unknown>;
6
+ type PagesWorkerExecutionContext = ExecutionContextLike & {
7
+ cache?: unknown;
8
+ };
9
+ export declare function renderPagesResponse(request: Request, env: PagesWorkerEnv | undefined, platformCtx: PagesWorkerExecutionContext | undefined, props: WorkerResponseStageProps, stagedHeaders?: Headers, dispatchRequestStage?: VinextRequestStageTransport, dispatchOptions?: VinextResponseStageDispatchOptions): Promise<Response>;
10
+ export declare function handleResponseStage(request: Request, env: PagesWorkerEnv | undefined, ctx: PagesWorkerExecutionContext | undefined, props: WorkerResponseStageProps, dispatchRequestStage: VinextRequestStageTransport, options: VinextResponseStageDispatchOptions): Promise<Response>;
11
+ //#endregion
@@ -0,0 +1,106 @@
1
+ import { preserveFullyBufferedBodyMetadata } from "./fully-buffered-response.js";
2
+ import "../shims/unified-request-context.js";
3
+ import { runWithExecutionContext } from "../shims/request-context.js";
4
+ import { beginRouteCacheability } from "../shims/cacheability-classification.js";
5
+ import { validateCdnRequest } from "./cache-control.js";
6
+ import { createWorkerRevalidationContext } from "./worker-revalidation-context.js";
7
+ import { createWorkerPrerenderReadinessResponse } from "./worker-prerender-discovery.js";
8
+ import { withResponseStageCacheability } from "./response-stage-cacheability.js";
9
+ import { PAGES_RESPONSE_STAGE_POLICY_OWNER_HEADER, isPagesResponseStageProps } from "./worker-stages.js";
10
+ import { applyResponseStagePolicyHeaders, stripInheritedResponseStageCookies } from "./response-stage-policy.js";
11
+ import { registerConfiguredImageOptimizer } from "virtual:vinext-image-adapters";
12
+ import { registerConfiguredCacheAdapters } from "virtual:vinext-cache-adapters";
13
+ import * as pagesEntry from "virtual:vinext-pages-response-entry";
14
+ import __cacheabilityManifest from "virtual:vinext-cacheability-manifest";
15
+ //#region src/server/pages-response-stage-entry.ts
16
+ /** Cacheable Pages render/API stage. This is the only Pages Worker stage that imports user pages. */
17
+ /** Remove a body length inherited from response staging before transport drops the stream tag. */
18
+ function stripStreamedHtmlContentLength(response) {
19
+ if (response.__vinextStreamedHtmlResponse !== true || !response.headers.has("Content-Length")) return response;
20
+ try {
21
+ response.headers.delete("Content-Length");
22
+ return response;
23
+ } catch {
24
+ const headers = new Headers(response.headers);
25
+ headers.delete("Content-Length");
26
+ const stripped = preserveFullyBufferedBodyMetadata(response, new Response(response.body, {
27
+ headers,
28
+ status: response.status,
29
+ statusText: response.statusText
30
+ }));
31
+ stripped.__vinextStreamedHtmlResponse = true;
32
+ return stripped;
33
+ }
34
+ }
35
+ async function renderPagesResponse(request, env, platformCtx, props, stagedHeaders, dispatchRequestStage, dispatchOptions = { cache: "bypass" }) {
36
+ if (!isPagesResponseStageProps(props)) return new Response("Invalid vinext Pages response stage", { status: 400 });
37
+ if (props.buildId !== pagesEntry.buildId) return new Response("Vinext Pages response stage deployment mismatch", { status: 409 });
38
+ if (props.requestHost !== new URL(request.url).host) return new Response("Invalid vinext Pages response stage", { status: 400 });
39
+ await pagesEntry.__ensureInstrumentation?.();
40
+ registerConfiguredImageOptimizer(env);
41
+ const renderHeaders = new Headers(stagedHeaders ?? props.stagedHeaders ?? []);
42
+ renderHeaders.delete("Content-Length");
43
+ const initialResponseHeaders = new Headers(renderHeaders);
44
+ if (props.stagedHeaders === null && stagedHeaders === void 0) {
45
+ applyResponseStagePolicyHeaders(initialResponseHeaders, props.cacheability.policyHeaders);
46
+ applyResponseStagePolicyHeaders(renderHeaders, props.cacheability.policyHeaders);
47
+ }
48
+ let ctx = createWorkerRevalidationContext(platformCtx, (internalRequest) => {
49
+ if (!dispatchRequestStage) throw new Error("Pages response stage requires a request-stage dispatcher");
50
+ return dispatchRequestStage(internalRequest);
51
+ }, "node");
52
+ if (props.kind === "pages-prerender-discovery") ctx = {
53
+ ...ctx,
54
+ isPrerenderPathDiscovery: true
55
+ };
56
+ const render = async (cacheabilityContext) => {
57
+ if (props.kind === "pages-prerender-discovery") {
58
+ const readinessResponse = createWorkerPrerenderReadinessResponse(cacheabilityContext, request);
59
+ if (readinessResponse) return await validateCdnRequest(request) ?? readinessResponse;
60
+ const { handleAppPrerenderEndpoint } = await import("./app-prerender-endpoints.js");
61
+ return await runWithExecutionContext(cacheabilityContext, () => handleAppPrerenderEndpoint(request, {
62
+ isPrerenderEnabled: () => true,
63
+ loadPagesRoutes: async () => pagesEntry.pageRoutes,
64
+ pathname: new URL(request.url).pathname,
65
+ staticParamsMap: {}
66
+ })) ?? new Response("This page could not be found", { status: 404 });
67
+ }
68
+ if (props.kind === "pages-api") {
69
+ if (typeof pagesEntry.handleApiRoute !== "function") return new Response("This page could not be found", { status: 404 });
70
+ return runWithExecutionContext(cacheabilityContext, () => {
71
+ beginRouteCacheability("pages-api", props.cacheability.resolvedRoutePathname);
72
+ return pagesEntry.handleApiRoute(request, props.apiUrl, cacheabilityContext, new URL(request.url).origin, cacheabilityContext.hostRuntime ?? "node", initialResponseHeaders);
73
+ });
74
+ }
75
+ if (typeof pagesEntry.renderPage !== "function") return new Response("This page could not be found", { status: 404 });
76
+ return stripStreamedHtmlContentLength(await pagesEntry.renderPage(request, props.resolvedUrl, null, cacheabilityContext, renderHeaders, props.renderOptions ?? void 0, initialResponseHeaders));
77
+ };
78
+ const handle = async (cacheabilityContext) => stripInheritedResponseStageCookies(await render(cacheabilityContext), renderHeaders);
79
+ const response = await withResponseStageCacheability({
80
+ buildId: pagesEntry.buildId,
81
+ cache: props.kind === "pages-prerender-discovery" ? "bypass" : dispatchOptions.cache,
82
+ context: ctx,
83
+ policyHeaders: props.cacheability.policyHeaders,
84
+ policyHeadersAppliedBeforeRender: true,
85
+ probeMode: props.cacheability.probeMode,
86
+ rawManifest: __cacheabilityManifest,
87
+ registerCacheAdapters: () => registerConfiguredCacheAdapters(env),
88
+ request,
89
+ representation: props.cacheability.representation,
90
+ resolvedRoutePathname: props.cacheability.resolvedRoutePathname
91
+ }, handle);
92
+ if (props.kind !== "pages-page") return response;
93
+ const runtimeDataKind = pagesEntry.getRuntimePageDataKind(props.resolvedUrl, request);
94
+ const headers = new Headers(response.headers);
95
+ headers.set(PAGES_RESPONSE_STAGE_POLICY_OWNER_HEADER, runtimeDataKind === "server" || runtimeDataKind === "initial" ? "request-time" : "static");
96
+ return preserveFullyBufferedBodyMetadata(response, new Response(response.body, {
97
+ headers,
98
+ status: response.status,
99
+ statusText: response.statusText
100
+ }));
101
+ }
102
+ function handleResponseStage(request, env, ctx, props, dispatchRequestStage, options) {
103
+ return renderPagesResponse(request, env, ctx, props, void 0, dispatchRequestStage, options);
104
+ }
105
+ //#endregion
106
+ export { handleResponseStage, renderPagesResponse };
@@ -0,0 +1,31 @@
1
+ import { VinextResponseStageDispatchOptions } from "./multi-stage.js";
2
+ import { PagesRouteDataKind } from "./pages-route-data-kind.js";
3
+ //#region src/server/pages-response-stage.d.ts
4
+ export declare function hasPagesPreviewCookie(cookieHeader: string | null): boolean;
5
+ export type PagesResponseStageDispatchOptions = {
6
+ authorizeOnDemandRevalidate?: (headerValue: string | null) => boolean;
7
+ /** A custom Document getInitialProps can observe the request/response pair. */
8
+ hasRequestAwareDocument?: boolean;
9
+ request: Request;
10
+ /** Middleware changed the request headers visible to the response stage. */
11
+ requestHeadersChanged?: boolean;
12
+ routeDataKind?: PagesRouteDataKind;
13
+ stagedHeaders?: Headers;
14
+ };
15
+ export type PagesResponseStageCacheDisposition = VinextResponseStageDispatchOptions["cache"];
16
+ /**
17
+ * Whether a Pages response may be delegated to a shared response stage.
18
+ *
19
+ * Next.js does not construct a static response-cache key in draft mode and
20
+ * handles authenticated on-demand revalidation outside ordinary cache reuse.
21
+ * Non-idempotent methods need to reach the renderer, while CSP nonces are
22
+ * embedded in the rendered body. Request Cache-Control remains visible on a
23
+ * cache miss, but does not bypass an existing host-cache entry in production.
24
+ *
25
+ * @see https://github.com/vercel/next.js/blob/canary/packages/next/src/server/route-modules/pages/pages-handler.ts
26
+ * @see https://github.com/vercel/next.js/blob/canary/packages/next/src/server/base-server.ts
27
+ */
28
+ export declare function shouldDispatchPagesResponseStage({ authorizeOnDemandRevalidate, hasRequestAwareDocument, request, requestHeadersChanged, routeDataKind, stagedHeaders }: PagesResponseStageDispatchOptions): boolean;
29
+ /** Decide whether a host response-stage transport may share the rendered response. */
30
+ export declare function getPagesResponseStageCacheDisposition(options: PagesResponseStageDispatchOptions): PagesResponseStageCacheDisposition;
31
+ //#endregion
@@ -0,0 +1,49 @@
1
+ import { MIDDLEWARE_SET_COOKIE_HEADER, PRERENDER_REVALIDATE_HEADER } from "../utils/protocol-headers.js";
2
+ import "./headers.js";
3
+ import { getScriptNonceFromHeaderSources } from "./csp.js";
4
+ //#region src/server/pages-response-stage.ts
5
+ const PREVIEW_COOKIE_NAMES = /* @__PURE__ */ new Set(["__prerender_bypass", "__next_preview_data"]);
6
+ function hasPagesPreviewCookie(cookieHeader) {
7
+ if (!cookieHeader) return false;
8
+ for (const pair of cookieHeader.split(";")) {
9
+ const separator = pair.indexOf("=");
10
+ const name = (separator === -1 ? pair : pair.slice(0, separator)).trim();
11
+ if (PREVIEW_COOKIE_NAMES.has(name)) return true;
12
+ }
13
+ return false;
14
+ }
15
+ function hasStagedCacheBypass(stagedHeaders) {
16
+ return stagedHeaders?.has(MIDDLEWARE_SET_COOKIE_HEADER) === true;
17
+ }
18
+ /**
19
+ * Whether a Pages response may be delegated to a shared response stage.
20
+ *
21
+ * Next.js does not construct a static response-cache key in draft mode and
22
+ * handles authenticated on-demand revalidation outside ordinary cache reuse.
23
+ * Non-idempotent methods need to reach the renderer, while CSP nonces are
24
+ * embedded in the rendered body. Request Cache-Control remains visible on a
25
+ * cache miss, but does not bypass an existing host-cache entry in production.
26
+ *
27
+ * @see https://github.com/vercel/next.js/blob/canary/packages/next/src/server/route-modules/pages/pages-handler.ts
28
+ * @see https://github.com/vercel/next.js/blob/canary/packages/next/src/server/base-server.ts
29
+ */
30
+ function shouldDispatchPagesResponseStage({ authorizeOnDemandRevalidate, hasRequestAwareDocument, request, requestHeadersChanged, routeDataKind, stagedHeaders }) {
31
+ const method = request.method.toUpperCase();
32
+ if (method !== "GET" && method !== "HEAD") return false;
33
+ if (request.headers.get("upgrade")?.split(",").some((value) => value.trim().toLowerCase() === "websocket")) return false;
34
+ if (hasRequestAwareDocument && routeDataKind === "static") return false;
35
+ if (hasPagesPreviewCookie(request.headers.get("cookie"))) return false;
36
+ if (requestHeadersChanged) return false;
37
+ if (hasStagedCacheBypass(stagedHeaders)) return false;
38
+ const revalidateHeader = request.headers.get(PRERENDER_REVALIDATE_HEADER);
39
+ if (authorizeOnDemandRevalidate?.(revalidateHeader) === true) return false;
40
+ return getScriptNonceFromHeaderSources(request.headers, stagedHeaders) === void 0;
41
+ }
42
+ /** Decide whether a host response-stage transport may share the rendered response. */
43
+ function getPagesResponseStageCacheDisposition(options) {
44
+ const revalidateHeader = options.request.headers.get(PRERENDER_REVALIDATE_HEADER);
45
+ if (options.authorizeOnDemandRevalidate?.(revalidateHeader) === true) return "bypass";
46
+ return shouldDispatchPagesResponseStage(options) ? "shared" : "bypass";
47
+ }
48
+ //#endregion
49
+ export { getPagesResponseStageCacheDisposition, hasPagesPreviewCookie, shouldDispatchPagesResponseStage };
@@ -1,6 +1,6 @@
1
1
  import { IncomingMessage } from "node:http";
2
2
  //#region src/server/pages-revalidate.d.ts
3
- type RevalidateOptions = {
3
+ export type RevalidateOptions = {
4
4
  /**
5
5
  * Only revalidate the path if it was already generated (cached). Mirrors
6
6
  * Next.js's `unstable_onlyGenerated`: sets the
@@ -9,6 +9,5 @@ type RevalidateOptions = {
9
9
  */
10
10
  unstable_onlyGenerated?: boolean;
11
11
  };
12
- declare function performOnDemandRevalidate(source: IncomingMessage | Headers, urlPath: string, opts?: RevalidateOptions, trustedOrigin?: string, allowedRevalidateHeaderKeys?: readonly string[], dev?: boolean): Promise<void>;
13
- //#endregion
14
- export { RevalidateOptions, performOnDemandRevalidate };
12
+ export declare function performOnDemandRevalidate(source: IncomingMessage | Headers, urlPath: string, opts?: RevalidateOptions, trustedOrigin?: string, allowedRevalidateHeaderKeys?: readonly string[], dev?: boolean): Promise<void>;
13
+ //#endregion
@@ -1,8 +1,10 @@
1
- import { getRequestExecutionContext } from "../shims/request-context.js";
2
1
  import { PRERENDER_REVALIDATE_HEADER, PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER, VINEXT_REVALIDATE_HOST_HEADER } from "../utils/protocol-headers.js";
3
- import "./headers.js";
2
+ import { getRequestExecutionContext } from "../shims/request-context.js";
3
+ import { VINEXT_REVALIDATED_CACHE_TAG_HEADER } from "./headers.js";
4
4
  import { normalizeDomainHostname } from "../utils/domain-locale.js";
5
- import { getRevalidateSecret, isOnDemandRevalidateRequest } from "./isr-cache.js";
5
+ import { getCdnCacheAdapter } from "../shims/cdn-cache.js";
6
+ import { getRevalidateSecret, isOnDemandRevalidateRequest } from "./revalidation-request.js";
7
+ import "./isr-cache.js";
6
8
  import { resolveRequestHost, resolveRequestProtocol } from "./proxy-trust.js";
7
9
  //#region src/server/pages-revalidate.ts
8
10
  async function performOnDemandRevalidate(source, urlPath, opts = {}, trustedOrigin, allowedRevalidateHeaderKeys = [], dev = false) {
@@ -26,6 +28,8 @@ async function performOnDemandRevalidate(source, urlPath, opts = {}, trustedOrig
26
28
  if (dispatchRevalidate && executionContext.isInternalPagesRevalidation) throw new Error(`Cannot revalidate ${urlPath} from an internal revalidation request`);
27
29
  const res = await fetchRevalidateTarget(target, headers, dispatchRevalidate);
28
30
  if (!((res.headers.get("x-vercel-cache") ?? res.headers.get("x-nextjs-cache"))?.toUpperCase() === "REVALIDATED" || res.status === 200 || res.status === 404 && opts.unstable_onlyGenerated === true)) throw new Error(`Failed to revalidate ${urlPath}: ${res.status}`);
31
+ const regeneratedTag = res.headers.get(VINEXT_REVALIDATED_CACHE_TAG_HEADER);
32
+ if (regeneratedTag) await getCdnCacheAdapter().revalidateTag(regeneratedTag);
29
33
  }
30
34
  function readSourceHeader(source, key) {
31
35
  if (isWebHeaders(source)) return source.get(key) ?? void 0;
@@ -33,7 +37,8 @@ function readSourceHeader(source, key) {
33
37
  return Array.isArray(value) ? value.join(", ") : value;
34
38
  }
35
39
  function isSourceRevalidationRequest(source) {
36
- return isOnDemandRevalidateRequest(isWebHeaders(source) ? source.get(PRERENDER_REVALIDATE_HEADER) : source.headers[PRERENDER_REVALIDATE_HEADER]);
40
+ const headerValue = isWebHeaders(source) ? source.get(PRERENDER_REVALIDATE_HEADER) : source.headers[PRERENDER_REVALIDATE_HEADER];
41
+ return isOnDemandRevalidateRequest(headerValue);
37
42
  }
38
43
  function isWebHeaders(source) {
39
44
  return typeof source.get === "function";
@@ -0,0 +1,18 @@
1
+ //#region src/server/pages-route-data-kind.d.ts
2
+ export type RuntimePagesDataKind = "initial" | "none" | "server" | "static";
3
+ /** Build-time classification available before a Pages module is loaded. */
4
+ export type PagesRouteDataKind = Exclude<RuntimePagesDataKind, "initial">;
5
+ type PagesModule = {
6
+ default?: {
7
+ getInitialProps?: unknown;
8
+ };
9
+ getServerSideProps?: unknown;
10
+ getStaticProps?: unknown;
11
+ };
12
+ type AppComponent = {
13
+ getInitialProps?: unknown;
14
+ origGetInitialProps?: unknown;
15
+ } | null;
16
+ /** Classify loaded Pages modules after HOCs and re-exports have been evaluated. */
17
+ export declare function getRuntimePagesDataKind(pageModule: PagesModule, appComponent: AppComponent): RuntimePagesDataKind;
18
+ //#endregion
@@ -0,0 +1,11 @@
1
+ //#region src/server/pages-route-data-kind.ts
2
+ /** Classify loaded Pages modules after HOCs and re-exports have been evaluated. */
3
+ function getRuntimePagesDataKind(pageModule, appComponent) {
4
+ if (typeof pageModule.getStaticProps === "function") return "static";
5
+ if (typeof pageModule.getServerSideProps === "function") return "server";
6
+ if (typeof pageModule.default?.getInitialProps === "function") return "initial";
7
+ if (typeof appComponent?.getInitialProps === "function" && appComponent.getInitialProps !== appComponent.origGetInitialProps) return "initial";
8
+ return "none";
9
+ }
10
+ //#endregion
11
+ export { getRuntimePagesDataKind };
@@ -1,29 +1,5 @@
1
+ import { PagesWorkerEnv, PagesWorkerExecutionContext } from "./pages-request-stage-entry.js";
1
2
  //#region src/server/pages-router-entry.d.ts
2
- /**
3
- * Router-specific Cloudflare Worker entry point for vinext Pages Router.
4
- *
5
- * New projects should usually use the router-selected entry in wrangler.jsonc:
6
- * "main": "vinext/server/fetch-handler"
7
- *
8
- * This Pages Router entry remains available for existing configs and for custom
9
- * workers that need to opt into the Pages Router handler explicitly:
10
- * "main": "vinext/server/pages-router-entry"
11
- *
12
- * Or import and delegate to it from a custom worker:
13
- * import handler from "vinext/server/pages-router-entry";
14
- * return handler.fetch(request, env, ctx);
15
- */
16
- type AssetFetcher = {
17
- fetch(request: Request): Promise<Response> | Response;
18
- };
19
- type PagesWorkerEnv = {
20
- ASSETS?: AssetFetcher;
21
- } & Record<string, unknown>;
22
- type PagesWorkerExecutionContext = {
23
- waitUntil?(promise: Promise<unknown>): void;
24
- passThroughOnException?(): void;
25
- cache?: unknown;
26
- };
27
3
  declare const _default: {
28
4
  fetch(request: Request, env?: PagesWorkerEnv, ctx?: PagesWorkerExecutionContext): Promise<Response>;
29
5
  };