vinext 1.0.0-beta.9 → 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 (800) hide show
  1. package/README.md +150 -92
  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 +36 -11
  37. package/dist/build/prerender-paths.js +273 -97
  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 +65 -15
  43. package/dist/build/prerender.js +139 -43
  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 +24 -20
  49. package/dist/build/report.js +10 -2
  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 +6 -7
  62. package/dist/cache/cache-adapters-virtual.d.ts +60 -20
  63. package/dist/cache/cache-adapters-virtual.js +50 -7
  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 -442
  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 -10
  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 +2 -4
  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 +4 -5
  102. package/dist/entries/app-browser-entry.js +1 -3
  103. package/dist/entries/app-rsc-entry.d.ts +10 -3
  104. package/dist/entries/app-rsc-entry.js +502 -51
  105. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  106. package/dist/entries/app-rsc-manifest.js +26 -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 +234 -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 +711 -189
  117. package/dist/init-cloudflare.d.ts +26 -17
  118. package/dist/init-cloudflare.js +710 -102
  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 +19 -6
  191. package/dist/routing/app-router.js +24 -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 +87 -34
  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 +8 -4
  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 +6 -2
  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-client-reference-preloader.d.ts +2 -3
  237. package/dist/server/app-elements-wire-key.d.ts +25 -0
  238. package/dist/server/app-elements-wire-key.js +69 -0
  239. package/dist/server/app-elements-wire.d.ts +34 -53
  240. package/dist/server/app-elements-wire.js +4 -75
  241. package/dist/server/app-elements.d.ts +5 -5
  242. package/dist/server/app-elements.js +1 -1
  243. package/dist/server/app-fallback-renderer.d.ts +4 -4
  244. package/dist/server/app-fallback-renderer.js +6 -6
  245. package/dist/server/app-fetch-tracing.d.ts +15 -0
  246. package/dist/server/app-fetch-tracing.js +38 -0
  247. package/dist/server/app-history-state.d.ts +26 -27
  248. package/dist/server/app-history-state.js +19 -11
  249. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  250. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  251. package/dist/server/app-inline-css-client.d.ts +3 -4
  252. package/dist/server/app-interception-context-header.d.ts +2 -3
  253. package/dist/server/app-layout-param-observation.d.ts +7 -8
  254. package/dist/server/app-metadata-tracing.d.ts +12 -0
  255. package/dist/server/app-metadata-tracing.js +17 -0
  256. package/dist/server/app-middleware.d.ts +7 -7
  257. package/dist/server/app-middleware.js +2 -3
  258. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  259. package/dist/server/app-mounted-slots-header.js +2 -2
  260. package/dist/server/app-optimistic-routing.d.ts +10 -11
  261. package/dist/server/app-optimistic-routing.js +3 -2
  262. package/dist/server/app-page-boundary-render.d.ts +6 -6
  263. package/dist/server/app-page-boundary-render.js +10 -4
  264. package/dist/server/app-page-boundary.d.ts +9 -10
  265. package/dist/server/app-page-boundary.js +1 -1
  266. package/dist/server/app-page-cache-finalizer.d.ts +18 -9
  267. package/dist/server/app-page-cache-finalizer.js +51 -16
  268. package/dist/server/app-page-cache-render.d.ts +8 -5
  269. package/dist/server/app-page-cache-render.js +22 -5
  270. package/dist/server/app-page-cache.d.ts +28 -9
  271. package/dist/server/app-page-cache.js +95 -24
  272. package/dist/server/app-page-dispatch.d.ts +34 -12
  273. package/dist/server/app-page-dispatch.js +181 -64
  274. package/dist/server/app-page-element-builder.d.ts +13 -11
  275. package/dist/server/app-page-element-builder.js +104 -61
  276. package/dist/server/app-page-execution.d.ts +14 -14
  277. package/dist/server/app-page-execution.js +11 -7
  278. package/dist/server/app-page-head.d.ts +19 -16
  279. package/dist/server/app-page-head.js +25 -25
  280. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  281. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  282. package/dist/server/app-page-method.d.ts +5 -11
  283. package/dist/server/app-page-method.js +2 -9
  284. package/dist/server/app-page-params.d.ts +5 -6
  285. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  286. package/dist/server/app-page-probe.d.ts +5 -6
  287. package/dist/server/app-page-probe.js +5 -4
  288. package/dist/server/app-page-render-identity.d.ts +4 -5
  289. package/dist/server/app-page-render-observation.d.ts +8 -9
  290. package/dist/server/app-page-render-observation.js +1 -1
  291. package/dist/server/app-page-render.d.ts +41 -6
  292. package/dist/server/app-page-render.js +171 -25
  293. package/dist/server/app-page-request.d.ts +10 -9
  294. package/dist/server/app-page-request.js +16 -12
  295. package/dist/server/app-page-response.d.ts +20 -9
  296. package/dist/server/app-page-response.js +30 -12
  297. package/dist/server/app-page-route-wiring.d.ts +15 -15
  298. package/dist/server/app-page-route-wiring.js +31 -24
  299. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  300. package/dist/server/app-page-search-params-observation.js +42 -6
  301. package/dist/server/app-page-segment-plan.d.ts +2 -3
  302. package/dist/server/app-page-segment-state.d.ts +11 -12
  303. package/dist/server/app-page-stream.d.ts +27 -11
  304. package/dist/server/app-page-stream.js +34 -6
  305. package/dist/server/app-page-tracing.d.ts +33 -0
  306. package/dist/server/app-page-tracing.js +49 -0
  307. package/dist/server/app-pages-bridge.d.ts +6 -6
  308. package/dist/server/app-pages-bridge.js +17 -4
  309. package/dist/server/app-post-middleware-context.d.ts +2 -3
  310. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  311. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  312. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  313. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  314. package/dist/server/app-prerender-endpoints.js +3 -1
  315. package/dist/server/app-prerender-static-params.d.ts +15 -7
  316. package/dist/server/app-prerender-static-params.js +24 -9
  317. package/dist/server/app-render-dependency.d.ts +14 -13
  318. package/dist/server/app-render-dependency.js +5 -1
  319. package/dist/server/app-request-context.d.ts +3 -4
  320. package/dist/server/app-request-stage-context.d.ts +5 -0
  321. package/dist/server/app-request-stage-context.js +11 -0
  322. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  323. package/dist/server/app-request-stage-dispatch.js +54 -0
  324. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  325. package/dist/server/app-request-stage-independent-entry.js +115 -0
  326. package/dist/server/app-response-header-provenance.d.ts +13 -7
  327. package/dist/server/app-response-header-provenance.js +34 -1
  328. package/dist/server/app-response-stage-entry.d.ts +9 -0
  329. package/dist/server/app-response-stage-entry.js +87 -0
  330. package/dist/server/app-route-handler-cache.d.ts +2 -3
  331. package/dist/server/app-route-handler-cache.js +46 -34
  332. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  333. package/dist/server/app-route-handler-dispatch.js +68 -54
  334. package/dist/server/app-route-handler-execution.d.ts +17 -13
  335. package/dist/server/app-route-handler-execution.js +69 -18
  336. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  337. package/dist/server/app-route-handler-middleware-context.js +15 -0
  338. package/dist/server/app-route-handler-policy.d.ts +11 -11
  339. package/dist/server/app-route-handler-response.d.ts +9 -10
  340. package/dist/server/app-route-handler-response.js +2 -0
  341. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  342. package/dist/server/app-route-handler-runtime.js +20 -16
  343. package/dist/server/app-route-module-loader.d.ts +6 -7
  344. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  345. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  346. package/dist/server/app-route-tree-prefetch.js +2 -1
  347. package/dist/server/app-router-entry.d.ts +2 -0
  348. package/dist/server/app-router-entry.js +28 -8
  349. package/dist/server/app-rsc-cache-busting.d.ts +34 -27
  350. package/dist/server/app-rsc-cache-busting.js +14 -2
  351. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  352. package/dist/server/app-rsc-combined-handler.js +11 -0
  353. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  354. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  355. package/dist/server/app-rsc-error-handler.js +15 -6
  356. package/dist/server/app-rsc-errors.d.ts +12 -9
  357. package/dist/server/app-rsc-errors.js +15 -13
  358. package/dist/server/app-rsc-handler.d.ts +31 -6
  359. package/dist/server/app-rsc-handler.js +411 -61
  360. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  361. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  362. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  363. package/dist/server/app-rsc-request-normalization.js +2 -1
  364. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  365. package/dist/server/app-rsc-response-finalizer.js +6 -6
  366. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  367. package/dist/server/app-rsc-response-stage.js +251 -0
  368. package/dist/server/app-rsc-route-matching.d.ts +3 -4
  369. package/dist/server/app-rsc-route-matching.js +3 -2
  370. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  371. package/dist/server/app-rsc-vary.d.ts +16 -0
  372. package/dist/server/app-rsc-vary.js +31 -0
  373. package/dist/server/app-segment-config.d.ts +119 -7
  374. package/dist/server/app-segment-config.js +242 -2
  375. package/dist/server/app-server-action-execution.d.ts +16 -12
  376. package/dist/server/app-server-action-execution.js +86 -33
  377. package/dist/server/app-ssr-entry.d.ts +14 -4
  378. package/dist/server/app-ssr-entry.js +61 -14
  379. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  380. package/dist/server/app-ssr-error-meta.js +2 -1
  381. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  382. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  383. package/dist/server/app-ssr-search-params-gate.js +54 -0
  384. package/dist/server/app-ssr-stream.d.ts +13 -9
  385. package/dist/server/app-ssr-stream.js +33 -7
  386. package/dist/server/app-static-generation.d.ts +4 -5
  387. package/dist/server/app-visited-response-cache.d.ts +11 -12
  388. package/dist/server/app-visited-response-cache.js +2 -2
  389. package/dist/server/app-worker-stages.d.ts +112 -0
  390. package/dist/server/app-worker-stages.js +105 -0
  391. package/dist/server/artifact-compatibility.d.ts +11 -12
  392. package/dist/server/before-interactive-head.d.ts +2 -3
  393. package/dist/server/bfcache-identity.d.ts +7 -8
  394. package/dist/server/cache-control.d.ts +35 -13
  395. package/dist/server/cache-control.js +71 -5
  396. package/dist/server/cache-headers.d.ts +3 -4
  397. package/dist/server/cache-proof.d.ts +75 -70
  398. package/dist/server/cache-proof.js +9 -1
  399. package/dist/server/cacheability-limits.d.ts +4 -5
  400. package/dist/server/cacheability-limits.js +2 -2
  401. package/dist/server/cacheability-manifest.d.ts +42 -16
  402. package/dist/server/cacheability-manifest.js +60 -10
  403. package/dist/server/cacheability-request.d.ts +37 -8
  404. package/dist/server/cacheability-request.js +159 -57
  405. package/dist/server/client-reuse-manifest.d.ts +17 -18
  406. package/dist/server/client-reuse-manifest.js +2 -2
  407. package/dist/server/client-trace-metadata.d.ts +9 -6
  408. package/dist/server/client-trace-metadata.js +27 -15
  409. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  410. package/dist/server/cloudflare-workers-tracing.js +8 -0
  411. package/dist/server/config-headers.d.ts +19 -5
  412. package/dist/server/config-headers.js +25 -11
  413. package/dist/server/cookie-utils.d.ts +2 -3
  414. package/dist/server/csp.d.ts +5 -6
  415. package/dist/server/default-global-error-module.d.ts +2 -3
  416. package/dist/server/default-global-not-found-module.d.ts +2 -3
  417. package/dist/server/default-not-found-module.d.ts +2 -3
  418. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  419. package/dist/server/defer-until-stream-consumed.js +2 -1
  420. package/dist/server/dev-initial-server-error.d.ts +3 -4
  421. package/dist/server/dev-initial-server-error.js +2 -1
  422. package/dist/server/dev-lockfile.d.ts +7 -8
  423. package/dist/server/dev-lockfile.js +4 -1
  424. package/dist/server/dev-module-runner.d.ts +2 -3
  425. package/dist/server/dev-origin-check.d.ts +5 -6
  426. package/dist/server/dev-route-files.d.ts +2 -3
  427. package/dist/server/dev-server.d.ts +4 -5
  428. package/dist/server/dev-server.js +130 -61
  429. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  430. package/dist/server/dev-stack-sourcemap.js +1 -1
  431. package/dist/server/document-initial-head.d.ts +3 -4
  432. package/dist/server/edge-api-runtime.d.ts +4 -5
  433. package/dist/server/fetch-handler.d.ts +3 -2
  434. package/dist/server/fetch-handler.js +3 -18
  435. package/dist/server/file-based-metadata.d.ts +2 -3
  436. package/dist/server/framework-tracer.d.ts +46 -0
  437. package/dist/server/framework-tracer.js +125 -0
  438. package/dist/server/fully-buffered-response.d.ts +11 -0
  439. package/dist/server/fully-buffered-response.js +19 -0
  440. package/dist/server/headers.d.ts +54 -61
  441. package/dist/server/headers.js +18 -31
  442. package/dist/server/html.d.ts +6 -27
  443. package/dist/server/html.js +16 -1
  444. package/dist/server/http-conditional.d.ts +5 -6
  445. package/dist/server/http-date.d.ts +2 -3
  446. package/dist/server/http-error-responses.d.ts +9 -10
  447. package/dist/server/http-range.d.ts +4 -5
  448. package/dist/server/hybrid-route-priority.d.ts +4 -5
  449. package/dist/server/image-optimization.d.ts +20 -21
  450. package/dist/server/implicit-tags.d.ts +3 -4
  451. package/dist/server/instrumentation-runtime.d.ts +17 -21
  452. package/dist/server/instrumentation-runtime.js +26 -8
  453. package/dist/server/instrumentation.d.ts +26 -30
  454. package/dist/server/instrumentation.js +18 -23
  455. package/dist/server/isr-cache.d.ts +28 -27
  456. package/dist/server/isr-cache.js +18 -70
  457. package/dist/server/isr-decision.d.ts +4 -4
  458. package/dist/server/metadata-route-build-data.d.ts +4 -5
  459. package/dist/server/metadata-route-cache-policy.d.ts +2 -3
  460. package/dist/server/metadata-route-response.d.ts +7 -7
  461. package/dist/server/metadata-route-response.js +68 -2
  462. package/dist/server/metadata-routes.d.ts +18 -19
  463. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  464. package/dist/server/middleware-matcher.d.ts +6 -7
  465. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  466. package/dist/server/middleware-path-to-regexp.js +11 -9
  467. package/dist/server/middleware-response-headers.d.ts +3 -4
  468. package/dist/server/middleware-runtime.d.ts +7 -8
  469. package/dist/server/middleware-runtime.js +36 -7
  470. package/dist/server/middleware.d.ts +5 -5
  471. package/dist/server/multi-stage.d.ts +141 -0
  472. package/dist/server/multi-stage.js +8 -0
  473. package/dist/server/navigation-planner.d.ts +26 -26
  474. package/dist/server/navigation-trace.d.ts +11 -12
  475. package/dist/server/next-error-digest.d.ts +4 -5
  476. package/dist/server/normalize-path.d.ts +5 -6
  477. package/dist/server/open-redirect.d.ts +2 -3
  478. package/dist/server/opentelemetry-api.d.ts +59 -0
  479. package/dist/server/opentelemetry-api.js +53 -0
  480. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  481. package/dist/server/opentelemetry-tracing.js +83 -0
  482. package/dist/server/operation-token.d.ts +11 -12
  483. package/dist/server/otel-tracer-extension.d.ts +7 -9
  484. package/dist/server/otel-tracer-extension.js +37 -36
  485. package/dist/server/pages-api-route.d.ts +5 -4
  486. package/dist/server/pages-api-route.js +20 -7
  487. package/dist/server/pages-asset-tags.d.ts +6 -6
  488. package/dist/server/pages-asset-tags.js +37 -2
  489. package/dist/server/pages-body-parser-config.d.ts +4 -5
  490. package/dist/server/pages-body-parser-config.js +4 -4
  491. package/dist/server/pages-client-assets.d.ts +11 -5
  492. package/dist/server/pages-data-route.d.ts +11 -12
  493. package/dist/server/pages-data-route.js +1 -1
  494. package/dist/server/pages-default-404.d.ts +3 -4
  495. package/dist/server/pages-dev-hydration.d.ts +9 -4
  496. package/dist/server/pages-dev-hydration.js +19 -7
  497. package/dist/server/pages-dev-module-url.d.ts +3 -4
  498. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  499. package/dist/server/pages-document-asset-props.d.ts +6 -7
  500. package/dist/server/pages-document-initial-props.d.ts +5 -5
  501. package/dist/server/pages-document-initial-props.js +4 -2
  502. package/dist/server/pages-execution-tracing.d.ts +40 -0
  503. package/dist/server/pages-execution-tracing.js +80 -0
  504. package/dist/server/pages-get-initial-props.d.ts +9 -10
  505. package/dist/server/pages-i18n.d.ts +8 -8
  506. package/dist/server/pages-media-type.d.ts +4 -5
  507. package/dist/server/pages-node-compat.d.ts +11 -10
  508. package/dist/server/pages-node-compat.js +12 -4
  509. package/dist/server/pages-page-data.d.ts +18 -19
  510. package/dist/server/pages-page-data.js +11 -10
  511. package/dist/server/pages-page-handler.d.ts +7 -6
  512. package/dist/server/pages-page-handler.js +77 -39
  513. package/dist/server/pages-page-method.d.ts +2 -3
  514. package/dist/server/pages-page-response.d.ts +14 -10
  515. package/dist/server/pages-page-response.js +49 -31
  516. package/dist/server/pages-preview.d.ts +10 -11
  517. package/dist/server/pages-readiness.d.ts +2 -3
  518. package/dist/server/pages-request-pipeline.d.ts +14 -12
  519. package/dist/server/pages-request-pipeline.js +60 -30
  520. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  521. package/dist/server/pages-request-stage-entry.js +314 -0
  522. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  523. package/dist/server/pages-response-stage-entry.js +106 -0
  524. package/dist/server/pages-response-stage.d.ts +31 -0
  525. package/dist/server/pages-response-stage.js +49 -0
  526. package/dist/server/pages-revalidate.d.ts +3 -4
  527. package/dist/server/pages-revalidate.js +9 -4
  528. package/dist/server/pages-route-data-kind.d.ts +18 -0
  529. package/dist/server/pages-route-data-kind.js +11 -0
  530. package/dist/server/pages-router-entry.d.ts +1 -25
  531. package/dist/server/pages-router-entry.js +35 -148
  532. package/dist/server/pages-serializable-props.d.ts +3 -4
  533. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  534. package/dist/server/pregenerated-concrete-paths.js +12 -6
  535. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  536. package/dist/server/prerender-manifest.d.ts +11 -11
  537. package/dist/server/prerender-manifest.js +6 -3
  538. package/dist/server/prerender-route-params.d.ts +16 -9
  539. package/dist/server/prerender-route-params.js +18 -3
  540. package/dist/server/prerender-work-unit-setup.d.ts +2 -3
  541. package/dist/server/prerender-work-unit-setup.js +5 -5
  542. package/dist/server/prod-server.d.ts +12 -9
  543. package/dist/server/prod-server.js +124 -31
  544. package/dist/server/proxy-trust.d.ts +5 -6
  545. package/dist/server/request-log.d.ts +3 -4
  546. package/dist/server/request-pipeline.d.ts +16 -16
  547. package/dist/server/request-pipeline.js +7 -2
  548. package/dist/server/request-stage.d.ts +5 -0
  549. package/dist/server/request-stage.js +7 -0
  550. package/dist/server/request-tracing.d.ts +22 -0
  551. package/dist/server/request-tracing.js +180 -0
  552. package/dist/server/response-stage-cacheability.d.ts +37 -0
  553. package/dist/server/response-stage-cacheability.js +55 -0
  554. package/dist/server/response-stage-policy.d.ts +23 -0
  555. package/dist/server/response-stage-policy.js +89 -0
  556. package/dist/server/response-stage.d.ts +5 -0
  557. package/dist/server/response-stage.js +7 -0
  558. package/dist/server/response-start-tracing.d.ts +14 -0
  559. package/dist/server/response-start-tracing.js +80 -0
  560. package/dist/server/revalidation-host.d.ts +2 -3
  561. package/dist/server/revalidation-host.js +1 -1
  562. package/dist/server/revalidation-request.d.ts +8 -0
  563. package/dist/server/revalidation-request.js +37 -0
  564. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  565. package/dist/server/rsc-stream-hints.d.ts +18 -7
  566. package/dist/server/rsc-stream-hints.js +70 -35
  567. package/dist/server/seed-cache.d.ts +2 -3
  568. package/dist/server/seed-cache.js +8 -7
  569. package/dist/server/server-action-not-found.d.ts +5 -6
  570. package/dist/server/server-globals.d.ts +2 -3
  571. package/dist/server/skip-cache-proof.d.ts +4 -4
  572. package/dist/server/socket-error-backstop.d.ts +5 -6
  573. package/dist/server/socket-error-backstop.js +1 -1
  574. package/dist/server/static-file-cache.d.ts +5 -6
  575. package/dist/server/static-file-cache.js +9 -7
  576. package/dist/server/static-file-signal.d.ts +9 -6
  577. package/dist/server/static-file-signal.js +51 -2
  578. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  579. package/dist/server/streaming-metadata.d.ts +2 -3
  580. package/dist/server/tracer.d.ts +5 -0
  581. package/dist/server/tracer.js +13 -0
  582. package/dist/server/worker-prerender-discovery.d.ts +5 -6
  583. package/dist/server/worker-revalidation-context.d.ts +2 -3
  584. package/dist/server/worker-revalidation-context.js +5 -5
  585. package/dist/server/worker-stages.d.ts +43 -0
  586. package/dist/server/worker-stages.js +25 -0
  587. package/dist/server/worker-utils.d.ts +5 -6
  588. package/dist/server/worker-utils.js +2 -1
  589. package/dist/server/workers-tracing.d.ts +17 -0
  590. package/dist/server/workers-tracing.js +27 -0
  591. package/dist/shims/amp.d.ts +3 -4
  592. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  593. package/dist/shims/app-router-scroll.d.ts +4 -5
  594. package/dist/shims/app-router-scroll.js +2 -1
  595. package/dist/shims/app.d.ts +5 -6
  596. package/dist/shims/before-interactive-context.d.ts +5 -6
  597. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  598. package/dist/shims/cache-callable-runtime.js +168 -8
  599. package/dist/shims/cache-for-request.d.ts +2 -3
  600. package/dist/shims/cache-handler.d.ts +33 -20
  601. package/dist/shims/cache-handler.js +61 -2
  602. package/dist/shims/cache-request-state.d.ts +28 -29
  603. package/dist/shims/cache-runtime.d.ts +23 -21
  604. package/dist/shims/cache-runtime.js +107 -27
  605. package/dist/shims/cache.d.ts +15 -15
  606. package/dist/shims/cache.js +15 -13
  607. package/dist/shims/cacheability-classification.d.ts +49 -28
  608. package/dist/shims/cacheability-classification.js +27 -12
  609. package/dist/shims/cdn-cache-state.d.ts +13 -0
  610. package/dist/shims/cdn-cache-state.js +23 -0
  611. package/dist/shims/cdn-cache.d.ts +50 -21
  612. package/dist/shims/cdn-cache.js +15 -38
  613. package/dist/shims/client-hook-error.d.ts +3 -4
  614. package/dist/shims/client-locale.d.ts +2 -3
  615. package/dist/shims/client-page-root.d.ts +24 -0
  616. package/dist/shims/client-page-root.js +121 -0
  617. package/dist/shims/compat-router.d.ts +2 -3
  618. package/dist/shims/config.d.ts +3 -4
  619. package/dist/shims/constants.d.ts +73 -74
  620. package/dist/shims/constants.js +1 -1
  621. package/dist/shims/default-not-found.d.ts +2 -3
  622. package/dist/shims/document.d.ts +9 -9
  623. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  624. package/dist/shims/dynamic-preload-chunks.js +17 -13
  625. package/dist/shims/dynamic.d.ts +3 -3
  626. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  627. package/dist/shims/error-boundary.d.ts +17 -18
  628. package/dist/shims/error-boundary.js +17 -11
  629. package/dist/shims/error.d.ts +4 -4
  630. package/dist/shims/error.react-server.d.ts +3 -4
  631. package/dist/shims/fetch-cache.d.ts +22 -22
  632. package/dist/shims/fetch-cache.js +42 -17
  633. package/dist/shims/font-google-base.d.ts +9 -9
  634. package/dist/shims/font-google-base.js +2 -1
  635. package/dist/shims/font-local.d.ts +3 -3
  636. package/dist/shims/font-local.js +1 -1
  637. package/dist/shims/font-utils.d.ts +14 -15
  638. package/dist/shims/form.d.ts +2 -2
  639. package/dist/shims/form.js +10 -7
  640. package/dist/shims/hash-scroll.d.ts +5 -6
  641. package/dist/shims/head-state.d.ts +4 -5
  642. package/dist/shims/head.d.ts +16 -16
  643. package/dist/shims/head.js +5 -4
  644. package/dist/shims/headers.d.ts +67 -33
  645. package/dist/shims/headers.js +93 -6
  646. package/dist/shims/i18n-context.d.ts +5 -6
  647. package/dist/shims/i18n-state.d.ts +4 -5
  648. package/dist/shims/image-config.d.ts +5 -6
  649. package/dist/shims/image-config.js +2 -0
  650. package/dist/shims/image.d.ts +5 -5
  651. package/dist/shims/image.js +12 -8
  652. package/dist/shims/internal/als-registry.d.ts +4 -5
  653. package/dist/shims/internal/api-utils.d.ts +3 -4
  654. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  655. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  656. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  657. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
  658. package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
  659. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  660. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
  661. package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
  662. package/dist/shims/internal/app-router-context.d.ts +9 -10
  663. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  664. package/dist/shims/internal/format-url-object.d.ts +7 -0
  665. package/dist/shims/internal/format-url-object.js +53 -0
  666. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  667. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  668. package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
  669. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  670. package/dist/shims/internal/interpolate-as.js +4 -2
  671. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  672. package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
  673. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  674. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  675. package/dist/shims/internal/normalize-router-href.js +41 -0
  676. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  677. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  678. package/dist/shims/internal/pages-data-target.js +32 -36
  679. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  680. package/dist/shims/internal/pages-data-url.js +2 -1
  681. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  682. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  683. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  684. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  685. package/dist/shims/internal/router-context.d.ts +2 -3
  686. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  687. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  688. package/dist/shims/internal/utils.d.ts +7 -8
  689. package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
  690. package/dist/shims/layout-segment-context.d.ts +3 -4
  691. package/dist/shims/link-prefetch.d.ts +9 -10
  692. package/dist/shims/link.d.ts +4 -4
  693. package/dist/shims/link.js +56 -116
  694. package/dist/shims/metadata.d.ts +15 -16
  695. package/dist/shims/metadata.js +40 -36
  696. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  697. package/dist/shims/navigation-context-accessors.js +19 -0
  698. package/dist/shims/navigation-context-state.d.ts +27 -18
  699. package/dist/shims/navigation-errors.d.ts +18 -19
  700. package/dist/shims/navigation-state.d.ts +6 -7
  701. package/dist/shims/navigation.d.ts +80 -68
  702. package/dist/shims/navigation.js +24 -16
  703. package/dist/shims/navigation.react-server.d.ts +9 -9
  704. package/dist/shims/offline.d.ts +2 -3
  705. package/dist/shims/og.d.ts +2 -2
  706. package/dist/shims/pages-router-runtime.d.ts +4 -5
  707. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  708. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  709. package/dist/shims/request-context.d.ts +5 -6
  710. package/dist/shims/root-params.d.ts +14 -15
  711. package/dist/shims/router-state.d.ts +5 -6
  712. package/dist/shims/router-state.js +1 -1
  713. package/dist/shims/router.d.ts +22 -21
  714. package/dist/shims/router.js +339 -164
  715. package/dist/shims/script-nonce-context.d.ts +8 -6
  716. package/dist/shims/script-nonce-context.js +15 -6
  717. package/dist/shims/script.d.ts +4 -4
  718. package/dist/shims/script.js +9 -7
  719. package/dist/shims/search-params-gate.d.ts +35 -0
  720. package/dist/shims/search-params-gate.js +32 -0
  721. package/dist/shims/server.d.ts +19 -51
  722. package/dist/shims/server.js +14 -28
  723. package/dist/shims/slot.d.ts +33 -15
  724. package/dist/shims/slot.js +41 -9
  725. package/dist/shims/streamed-icons.d.ts +3 -4
  726. package/dist/shims/thenable-params.d.ts +5 -7
  727. package/dist/shims/thenable-params.js +3 -24
  728. package/dist/shims/unified-request-context.d.ts +34 -31
  729. package/dist/shims/unified-request-context.js +34 -24
  730. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  731. package/dist/shims/url-safety.d.ts +5 -6
  732. package/dist/shims/url-utils.d.ts +12 -13
  733. package/dist/shims/use-merged-ref.d.ts +2 -3
  734. package/dist/shims/user-agent.d.ts +31 -0
  735. package/dist/shims/user-agent.js +16 -0
  736. package/dist/shims/web-vitals.d.ts +2 -2
  737. package/dist/typegen.d.ts +3 -4
  738. package/dist/utils/asset-prefix.d.ts +7 -8
  739. package/dist/utils/base-path.d.ts +5 -6
  740. package/dist/utils/built-asset-url.d.ts +2 -3
  741. package/dist/utils/built-asset-url.js +1 -1
  742. package/dist/utils/cache-control-metadata.d.ts +4 -5
  743. package/dist/utils/client-build-manifest.d.ts +6 -7
  744. package/dist/utils/client-build-manifest.js +2 -1
  745. package/dist/utils/client-entry-manifest.d.ts +6 -7
  746. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  747. package/dist/utils/client-runtime-metadata.js +18 -1
  748. package/dist/utils/commonjs-loader.d.ts +4 -5
  749. package/dist/utils/compare.d.ts +2 -3
  750. package/dist/utils/deployment-id.d.ts +6 -7
  751. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  752. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  753. package/dist/utils/domain-locale.d.ts +7 -8
  754. package/dist/utils/encode-cache-tag.d.ts +3 -4
  755. package/dist/utils/error-cause.d.ts +2 -3
  756. package/dist/utils/external-url.d.ts +2 -3
  757. package/dist/utils/has-trailing-comma.d.ts +3 -4
  758. package/dist/utils/hash.d.ts +3 -4
  759. package/dist/utils/html-limited-bots.d.ts +3 -4
  760. package/dist/utils/lazy-chunks.d.ts +8 -9
  761. package/dist/utils/lazy-chunks.js +4 -4
  762. package/dist/utils/manifest-paths.d.ts +5 -6
  763. package/dist/utils/mdx-scan.d.ts +11 -4
  764. package/dist/utils/mdx-scan.js +27 -1
  765. package/dist/utils/middleware-request-headers.d.ts +7 -6
  766. package/dist/utils/middleware-request-headers.js +6 -1
  767. package/dist/utils/navigation-signal.d.ts +3 -3
  768. package/dist/utils/navigation-signal.js +16 -1
  769. package/dist/utils/number.d.ts +2 -3
  770. package/dist/utils/package-name.d.ts +3 -4
  771. package/dist/utils/parse-cookie.d.ts +4 -5
  772. package/dist/utils/path.d.ts +8 -9
  773. package/dist/utils/plugin-options.d.ts +2 -3
  774. package/dist/utils/precompressed-variant.d.ts +3 -4
  775. package/dist/utils/prerender-output-paths.d.ts +4 -5
  776. package/dist/utils/project.d.ts +19 -30
  777. package/dist/utils/project.js +20 -29
  778. package/dist/utils/promise.d.ts +2 -3
  779. package/dist/utils/protocol-headers.d.ts +14 -15
  780. package/dist/utils/public-file-path.d.ts +2 -3
  781. package/dist/utils/public-routes.d.ts +2 -3
  782. package/dist/utils/query.d.ts +14 -9
  783. package/dist/utils/query.js +22 -1
  784. package/dist/utils/react-compiler-support.d.ts +6 -7
  785. package/dist/utils/react-version.d.ts +4 -3
  786. package/dist/utils/react-version.js +19 -1
  787. package/dist/utils/record.d.ts +2 -3
  788. package/dist/utils/redirect-digest.d.ts +3 -4
  789. package/dist/utils/regex-safety.d.ts +4 -5
  790. package/dist/utils/regex.d.ts +2 -3
  791. package/dist/utils/safe-json-file.d.ts +2 -3
  792. package/dist/utils/sorted-array.d.ts +2 -3
  793. package/dist/utils/text-stream.d.ts +3 -4
  794. package/dist/utils/vinext-root.d.ts +2 -3
  795. package/dist/utils/virtual-module.d.ts +3 -4
  796. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  797. package/dist/utils/vite-cli-invocation.js +144 -0
  798. package/dist/utils/vite-version.d.ts +5 -6
  799. package/next-package.json +4 -0
  800. package/package.json +47 -6
@@ -1,30 +1,32 @@
1
1
  import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
2
+ import { isUnknownRecord } from "../utils/record.js";
3
+ import { VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, VINEXT_PRERENDER_SECRET_HEADER, VINEXT_PRERENDER_SPECULATIVE_HEADER } from "../utils/protocol-headers.js";
4
+ import { ASSET_PREFIX_URL_DIR, assetPrefixPathname, isAbsoluteAssetPrefix } from "../utils/asset-prefix.js";
5
+ import { StaticFileCache, contentTypeForPath, etagFromFilenameHash } from "./static-file-cache.js";
2
6
  import { normalizePathnameForRouteMatchStrict } from "../routing/utils.js";
3
7
  import { hasBasePath, stripBasePath } from "../utils/base-path.js";
4
- import { VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, VINEXT_PRERENDER_SECRET_HEADER, VINEXT_PRERENDER_SPECULATIVE_HEADER } from "../utils/protocol-headers.js";
5
8
  import { VINEXT_PRERENDER_RENDER_ERROR_HEADER } from "./headers.js";
6
9
  import { normalizePath } from "./normalize-path.js";
7
10
  import { notFoundResponse } from "./http-error-responses.js";
8
11
  import { isOpenRedirectShaped } from "./open-redirect.js";
9
12
  import { readStaticFileSignal } from "./static-file-signal.js";
10
13
  import { canonicalizeRequestPathname, filterInternalHeaders } from "./request-pipeline.js";
11
- import { isUnknownRecord } from "../utils/record.js";
12
14
  import { parseHttpDate } from "./http-date.js";
13
15
  import { evaluateStaticPreconditions } from "./http-conditional.js";
14
16
  import { buildNextDataNotFoundResponse, encodeUrlParserIgnoredCharacters, isNextDataPathname, normalizeNextDataPagePathname, parseNextDataPathname, shouldAddTrailingSlashToPagesDataPath, urlParserCreatesPagesDataPath } from "./pages-data-route.js";
15
- import { ASSET_PREFIX_URL_DIR, assetPrefixPathname, isAbsoluteAssetPrefix } from "../utils/asset-prefix.js";
16
17
  import { setPagesClientAssets } from "./pages-client-assets.js";
17
18
  import { resolveRequestHost, resolveRequestProtocol, trustProxy, trustedHosts } from "./proxy-trust.js";
18
19
  import { DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, isImageOptimizationPath, isSafeImageContentType, parseImageParams } from "./image-optimization.js";
19
20
  import { installSocketErrorBackstop } from "./socket-error-backstop.js";
20
- import { StaticFileCache, contentTypeForPath, etagFromFilenameHash } from "./static-file-cache.js";
21
21
  import { collectInlineCssManifest } from "../build/inline-css.js";
22
22
  import { readTrustedRevalidationHostname } from "./revalidation-host.js";
23
+ import { traceFrameworkRequest } from "./request-tracing.js";
23
24
  import { finalizeMissingStaticAssetResponse, mergeHeaders } from "./worker-utils.js";
24
25
  import { runPagesRequest, wrapMiddlewareWithBasePath } from "./pages-request-pipeline.js";
25
26
  import { computeClientRuntimeMetadata } from "../utils/client-runtime-metadata.js";
26
- import { readTrustedPrerenderRouteParamsFromHeaders, serializePrerenderRouteParamsHeader } from "./prerender-route-params.js";
27
27
  import { readPrerenderSecret } from "../build/server-manifest.js";
28
+ import { readTrustedPrerenderRouteParamsFromHeaders, serializePrerenderRouteParamsHeader } from "./prerender-route-params.js";
29
+ import { registerPrerenderCloudflareLoader } from "../build/prerender-cloudflare-loader.js";
28
30
  import { seedMemoryCacheFromPrerender } from "./seed-cache.js";
29
31
  import { negotiateEncoding, parseAcceptedEncodings, selectContentEncoding } from "./accept-encoding.js";
30
32
  import { ifRangeAllowsRange, parseByteRange } from "./http-range.js";
@@ -40,7 +42,7 @@ import { createServer } from "node:http";
40
42
  /**
41
43
  * Production server for vinext.
42
44
  *
43
- * Serves the built output from `vinext build`. Handles:
45
+ * Serves the built output from `vite build`. Handles:
44
46
  * - Static asset serving from client build output
45
47
  * - Pages Router: SSR rendering + API route handling
46
48
  * - App Router: RSC/SSR rendering, route handlers, server actions
@@ -314,7 +316,7 @@ const OMIT_METHOD_NOT_ALLOWED_HEADERS = /* @__PURE__ */ new Set([
314
316
  "content-type",
315
317
  "transfer-encoding"
316
318
  ]);
317
- function installClientBuildManifestGlobals(clientDir, assetBase, assetPrefix) {
319
+ function installClientBuildManifestGlobals(clientDir, assetBase, assetPrefix, crossOrigin) {
318
320
  const metadata = computeClientRuntimeMetadata({
319
321
  clientDir,
320
322
  assetBase,
@@ -323,7 +325,8 @@ function installClientBuildManifestGlobals(clientDir, assetBase, assetPrefix) {
323
325
  setPagesClientAssets({
324
326
  appBootstrapPreinitModules: metadata.appBootstrapPreinitModules,
325
327
  lazyChunks: metadata.lazyChunks,
326
- dynamicPreloads: metadata.dynamicPreloads
328
+ dynamicPreloads: metadata.dynamicPreloads,
329
+ crossOrigin
327
330
  });
328
331
  }
329
332
  function isNoBodyResponseStatus(status) {
@@ -795,8 +798,32 @@ async function sendWebResponse(webResponse, req, res, compress) {
795
798
  return;
796
799
  }
797
800
  const nodeStream = Readable.fromWeb(webResponse.body);
798
- if (shouldCompress) pipeline(nodeStream, createCompressor(encoding, "streaming"), res, () => {});
799
- else pipeline(nodeStream, res, () => {});
801
+ if (shouldCompress) {
802
+ const compressor = createCompressor(encoding, "streaming");
803
+ await new Promise((resolve) => {
804
+ pipeline(nodeStream, compressor, res, () => {
805
+ resolve();
806
+ });
807
+ });
808
+ } else await new Promise((resolve) => {
809
+ pipeline(nodeStream, res, () => {
810
+ resolve();
811
+ });
812
+ });
813
+ }
814
+ function waitForNodeResponseCompletion(res) {
815
+ if (res.writableFinished || res.destroyed) return Promise.resolve();
816
+ return new Promise((resolve) => {
817
+ const done = () => {
818
+ res.off("finish", done);
819
+ res.off("close", done);
820
+ res.off("error", done);
821
+ resolve();
822
+ };
823
+ res.once("finish", done);
824
+ res.once("close", done);
825
+ res.once("error", done);
826
+ });
800
827
  }
801
828
  /**
802
829
  * Start the production server.
@@ -806,22 +833,25 @@ async function sendWebResponse(webResponse, req, res, compress) {
806
833
  */
807
834
  async function startProdServer(options = {}) {
808
835
  installSocketErrorBackstop();
809
- const { port = process.env.PORT ? parseInt(process.env.PORT) : 3e3, host = "0.0.0.0", outDir = path.resolve("dist"), rscEntryPath: explicitRscEntryPath, serverEntryPath: explicitServerEntryPath, noCompression = false, purpose, silent = false } = options;
836
+ const { port = process.env.PORT ? parseInt(process.env.PORT) : 3e3, host = "0.0.0.0", outDir = path.resolve("dist"), rscEntryPath: explicitRscEntryPath, serverDir: explicitServerDir, serverEntryPath: explicitServerEntryPath, noCompression = false, purpose, silent = false } = options;
837
+ if (purpose === "prerender") registerPrerenderCloudflareLoader();
810
838
  const compress = !noCompression;
811
839
  const resolvedOutDir = path.resolve(outDir);
812
840
  const clientDir = path.join(resolvedOutDir, "client");
813
- const rscEntryPath = explicitRscEntryPath ? path.resolve(explicitRscEntryPath) : path.join(resolvedOutDir, "server", "index.js");
814
- const serverEntryPath = explicitServerEntryPath ? path.resolve(explicitServerEntryPath) : path.join(resolvedOutDir, "server", "entry.js");
841
+ const serverDir = explicitServerDir ? path.resolve(explicitServerDir) : path.join(resolvedOutDir, "server");
842
+ const rscEntryPath = explicitRscEntryPath ? path.resolve(explicitRscEntryPath) : path.join(serverDir, "index.js");
843
+ const serverEntryPath = explicitServerEntryPath ? path.resolve(explicitServerEntryPath) : path.join(serverDir, "entry.js");
815
844
  const isAppRouter = fs.existsSync(rscEntryPath);
816
845
  if (!isAppRouter && !fs.existsSync(serverEntryPath)) {
817
846
  console.error(`[vinext] No build output found in ${outDir}`);
818
- console.error("Run `vinext build` first.");
847
+ console.error("Run `vite build` first.");
819
848
  process.exit(1);
820
849
  }
821
850
  if (isAppRouter) return startAppRouterServer({
822
851
  port,
823
852
  host,
824
853
  clientDir,
854
+ serverDir,
825
855
  rscEntryPath,
826
856
  compress,
827
857
  purpose,
@@ -953,8 +983,10 @@ function installPagesClientAssets(options) {
953
983
  clientEntry: metadata.clientEntryFile,
954
984
  appBootstrapPreinitModules: metadata.appBootstrapPreinitModules,
955
985
  ssrManifest: Object.keys(ssrManifest).length > 0 ? ssrManifest : void 0,
986
+ cssGraph: metadata.cssGraph,
956
987
  lazyChunks: metadata.lazyChunks,
957
- dynamicPreloads: metadata.dynamicPreloads
988
+ dynamicPreloads: metadata.dynamicPreloads,
989
+ crossOrigin: options.crossOrigin
958
990
  });
959
991
  return ssrManifest;
960
992
  }
@@ -976,12 +1008,15 @@ function installPagesClientAssets(options) {
976
1008
  * 4. Stream the Web Response back (with optional compression)
977
1009
  */
978
1010
  async function startAppRouterServer(options) {
979
- const { port, host, clientDir, rscEntryPath, compress, purpose, silent } = options;
980
- const prerenderSecret = readPrerenderSecret(path.dirname(rscEntryPath));
1011
+ const { port, host, clientDir, serverDir, rscEntryPath, compress, purpose, silent } = options;
1012
+ const prerenderSecret = readPrerenderSecret(serverDir);
981
1013
  const rscModule = await importServerEntryModule(rscEntryPath);
982
1014
  const rscEntryRequire = createServerEntryRequire(rscEntryPath);
983
1015
  const rscHandler = resolveAppRouterHandler(rscModule.default);
1016
+ const workerEntry = rscModule.default && typeof rscModule.default === "object" ? rscModule.default : void 0;
1017
+ const ensureInstrumentation = typeof workerEntry?.__ensureInstrumentation === "function" ? () => workerEntry.__ensureInstrumentation() : typeof rscModule.__ensureInstrumentation === "function" ? () => rscModule.__ensureInstrumentation() : () => void 0;
984
1018
  const appRouterAssetPrefix = typeof rscModule.__assetPrefix === "string" ? rscModule.__assetPrefix : "";
1019
+ const appRouterCrossOrigin = rscModule.__crossOrigin === "anonymous" || rscModule.__crossOrigin === "use-credentials" ? rscModule.__crossOrigin : "";
985
1020
  const appRouterBasePath = typeof rscModule.__basePath === "string" ? rscModule.__basePath : "";
986
1021
  const appRouterInlineCss = rscModule.__inlineCss === true;
987
1022
  const appRouterHasPagesDir = rscModule.__hasPagesDir === true;
@@ -990,7 +1025,7 @@ async function startAppRouterServer(options) {
990
1025
  const appImageAllowedWidths = Array.isArray(rscModule.__imageAllowedWidths) ? rscModule.__imageAllowedWidths : [...DEFAULT_DEVICE_SIZES, ...DEFAULT_IMAGE_SIZES];
991
1026
  let imageConfig = typeof rscModule.__imageConfig === "object" && rscModule.__imageConfig !== null ? rscModule.__imageConfig : void 0;
992
1027
  if (imageConfig === void 0) {
993
- const imageConfigPath = path.join(path.dirname(rscEntryPath), "image-config.json");
1028
+ const imageConfigPath = path.join(serverDir, "image-config.json");
994
1029
  if (fs.existsSync(imageConfigPath)) try {
995
1030
  imageConfig = JSON.parse(fs.readFileSync(imageConfigPath, "utf-8"));
996
1031
  } catch {}
@@ -1002,14 +1037,15 @@ async function startAppRouterServer(options) {
1002
1037
  clientDir,
1003
1038
  assetPrefix: appRouterAssetPrefix,
1004
1039
  assetBase: appAssetBase,
1005
- clientEntryLookup: "pages-client-entry"
1040
+ clientEntryLookup: "pages-client-entry",
1041
+ crossOrigin: appRouterCrossOrigin
1006
1042
  });
1007
- else installClientBuildManifestGlobals(clientDir, appAssetBase, appRouterAssetPrefix);
1043
+ else installClientBuildManifestGlobals(clientDir, appAssetBase, appRouterAssetPrefix, appRouterCrossOrigin);
1008
1044
  const seedPrerenderedRoutes = resolveAppRouterPrerenderSeeder(rscModule);
1009
- const seededRoutes = await runWithServerEntryRequire(rscEntryRequire, () => seedPrerenderedRoutes(path.dirname(rscEntryPath)));
1045
+ const seededRoutes = await runWithServerEntryRequire(rscEntryRequire, () => seedPrerenderedRoutes(serverDir));
1010
1046
  if (seededRoutes > 0) console.log(`[vinext] Seeded ${seededRoutes} pre-rendered route${seededRoutes !== 1 ? "s" : ""} into memory cache`);
1011
1047
  const staticCache = await StaticFileCache.create(clientDir);
1012
- const handleRequest = async (req, res) => {
1048
+ const handleRequestImpl = async (req, res) => {
1013
1049
  const rawUrl = req.url ?? "/";
1014
1050
  const rawPathname = rawUrl.split("?")[0];
1015
1051
  if (isOpenRedirectShaped(rawPathname)) {
@@ -1043,13 +1079,15 @@ async function startAppRouterServer(options) {
1043
1079
  }
1044
1080
  }
1045
1081
  if (isImageOptimizationPath(pathname)) {
1046
- const params = parseImageParams(new URL(rawUrl, "http://localhost"), appImageAllowedWidths, imageConfig?.qualities);
1082
+ const parsedUrl = new URL(rawUrl, "http://localhost");
1083
+ const params = parseImageParams(parsedUrl, appImageAllowedWidths, imageConfig?.qualities);
1047
1084
  if (!params) {
1048
1085
  res.writeHead(400);
1049
1086
  res.end("Bad Request");
1050
1087
  return;
1051
1088
  }
1052
- if (!isSafeImageContentType(contentTypeForPath(params.imageUrl), imageConfig?.dangerouslyAllowSVG)) {
1089
+ const ct = contentTypeForPath(params.imageUrl);
1090
+ if (!isSafeImageContentType(ct, imageConfig?.dangerouslyAllowSVG)) {
1053
1091
  res.writeHead(400);
1054
1092
  res.end("The requested resource is not an allowed image type");
1055
1093
  return;
@@ -1096,6 +1134,32 @@ async function startAppRouterServer(options) {
1096
1134
  }
1097
1135
  }
1098
1136
  };
1137
+ const handleRequest = async (req, res) => {
1138
+ try {
1139
+ await ensureInstrumentation();
1140
+ } catch (error) {
1141
+ console.error("[vinext] Instrumentation error:", error);
1142
+ if (!res.headersSent) {
1143
+ if (purpose === "prerender") res.setHeader(VINEXT_PRERENDER_RENDER_ERROR_HEADER, "1");
1144
+ res.writeHead(500);
1145
+ res.end("Internal Server Error");
1146
+ }
1147
+ return;
1148
+ }
1149
+ const target = req.url ?? "/";
1150
+ const headers = nodeHeadersToWebHeaders(req.headers);
1151
+ return traceFrameworkRequest({
1152
+ callback: async () => {
1153
+ await handleRequestImpl(req, res);
1154
+ await waitForNodeResponseCompletion(res);
1155
+ },
1156
+ getStatus: () => res.statusCode,
1157
+ headers,
1158
+ isRsc: new URL(target, "http://localhost").pathname.endsWith(".rsc") || headers.get("RSC") === "1",
1159
+ method: req.method ?? "GET",
1160
+ target
1161
+ });
1162
+ };
1099
1163
  const server = createServer((req, res) => {
1100
1164
  runWithServerEntryRequire(rscEntryRequire, () => handleRequest(req, res));
1101
1165
  });
@@ -1118,7 +1182,8 @@ function isPagesServerEntryPageRoute(value) {
1118
1182
  if (typeof value.pattern !== "string") return false;
1119
1183
  if (!("module" in value) || value.module === void 0) return true;
1120
1184
  const pageModule = value.module;
1121
- if (!pageModule || typeof pageModule !== "object") return false;
1185
+ if (pageModule === null) return true;
1186
+ if (typeof pageModule !== "object") return false;
1122
1187
  return !("getStaticPaths" in pageModule) || typeof pageModule.getStaticPaths === "function";
1123
1188
  }
1124
1189
  function readPagesServerEntryPageRoutes(value) {
@@ -1142,6 +1207,7 @@ async function startPagesRouterServer(options) {
1142
1207
  const { renderPage, handleApiRoute: handleApi, authorizeOnDemandRevalidate, runMiddleware, vinextConfig, buildId: pagesBuildId } = serverEntry;
1143
1208
  const matchPageRoute = typeof serverEntry.matchPageRoute === "function" ? serverEntry.matchPageRoute : void 0;
1144
1209
  const matchApiRoute = typeof serverEntry.matchApiRoute === "function" ? serverEntry.matchApiRoute : void 0;
1210
+ const ensureInstrumentation = typeof serverEntry.__ensureInstrumentation === "function" ? () => serverEntry.__ensureInstrumentation() : () => void 0;
1145
1211
  const hasMiddleware = serverEntry.hasMiddleware === true;
1146
1212
  const pageRoutes = readPagesServerEntryPageRoutes(serverEntry.pageRoutes);
1147
1213
  const prerenderSecret = readPrerenderSecret(path.dirname(serverEntryPath));
@@ -1171,10 +1237,34 @@ async function startPagesRouterServer(options) {
1171
1237
  clientDir,
1172
1238
  assetPrefix,
1173
1239
  assetBase,
1174
- clientEntryLookup: "any-client-entry"
1240
+ clientEntryLookup: "any-client-entry",
1241
+ crossOrigin: vinextConfig?.crossOrigin ?? ""
1175
1242
  });
1176
1243
  const staticCache = await StaticFileCache.create(clientDir);
1177
1244
  const handleRequest = async (req, res) => {
1245
+ try {
1246
+ await ensureInstrumentation();
1247
+ } catch (error) {
1248
+ console.error("[vinext] Instrumentation error:", error);
1249
+ if (!res.headersSent) {
1250
+ if (purpose === "prerender") res.setHeader(VINEXT_PRERENDER_RENDER_ERROR_HEADER, "1");
1251
+ res.writeHead(500);
1252
+ res.end("Internal Server Error");
1253
+ }
1254
+ return;
1255
+ }
1256
+ return traceFrameworkRequest({
1257
+ callback: async () => {
1258
+ await handleRequestImpl(req, res);
1259
+ await waitForNodeResponseCompletion(res);
1260
+ },
1261
+ getStatus: () => res.statusCode,
1262
+ headers: nodeHeadersToWebHeaders(req.headers),
1263
+ method: req.method ?? "GET",
1264
+ target: req.url ?? "/"
1265
+ });
1266
+ };
1267
+ const handleRequestImpl = async (req, res) => {
1178
1268
  const rawUrl = req.url ?? "/";
1179
1269
  const rawPagesPathnameBeforeNormalize = rawUrl.split("?")[0];
1180
1270
  if (isOpenRedirectShaped(rawPagesPathnameBeforeNormalize)) {
@@ -1291,7 +1381,7 @@ async function startPagesRouterServer(options) {
1291
1381
  duplex: hasBody ? "half" : void 0
1292
1382
  });
1293
1383
  const middlewareRequest = isDataReq && skipProxyUrlNormalize ? new Request(new URL(originalRenderUrl, webRequest.url), webRequest) : void 0;
1294
- const result = await runPagesRequest(webRequest, {
1384
+ const deps = {
1295
1385
  basePath,
1296
1386
  trailingSlash,
1297
1387
  i18nConfig,
@@ -1319,13 +1409,15 @@ async function startPagesRouterServer(options) {
1319
1409
  serveFilesystemRoute: async (requestPathname, stagedHeaders, phase, resolvedUrl) => {
1320
1410
  if (isImageOptimizationPath(requestPathname)) {
1321
1411
  for (const [name, value] of Object.entries(stagedHeaders)) res.setHeader(name, value);
1322
- const params = parseImageParams(new URL(resolvedUrl, "http://localhost"), allowedImageWidths, pagesImageConfig?.qualities);
1412
+ const parsedUrl = new URL(resolvedUrl, "http://localhost");
1413
+ const params = parseImageParams(parsedUrl, allowedImageWidths, pagesImageConfig?.qualities);
1323
1414
  if (!params) {
1324
1415
  res.writeHead(400);
1325
1416
  res.end("Bad Request");
1326
1417
  return true;
1327
1418
  }
1328
- if (!isSafeImageContentType(contentTypeForPath(params.imageUrl), pagesImageConfig?.dangerouslyAllowSVG)) {
1419
+ const ct = contentTypeForPath(params.imageUrl);
1420
+ if (!isSafeImageContentType(ct, pagesImageConfig?.dangerouslyAllowSVG)) {
1329
1421
  res.writeHead(400);
1330
1422
  res.end("The requested resource is not an allowed image type");
1331
1423
  return true;
@@ -1343,7 +1435,8 @@ async function startPagesRouterServer(options) {
1343
1435
  if (requestPathname === "/" || requestPathname === "/api" || requestPathname.startsWith("/api/") || phase === "direct" && requestPathname.startsWith(`/_next/static/`)) return false;
1344
1436
  return tryServeStatic(req, res, clientDir, requestPathname, compress, staticCache, stagedHeaders);
1345
1437
  }
1346
- });
1438
+ };
1439
+ const result = await runPagesRequest(webRequest, deps);
1347
1440
  if (result.type === "handled") return;
1348
1441
  if (result.type === "response") {
1349
1442
  const { response } = result;
@@ -1399,4 +1492,4 @@ async function startPagesRouterServer(options) {
1399
1492
  };
1400
1493
  }
1401
1494
  //#endregion
1402
- export { COMPRESSIBLE_TYPES, COMPRESS_THRESHOLD, importServerEntryModule, mergeResponseHeaders, mergeWebResponse, negotiateEncoding, nodeToWebRequest, readNodeStream, rememberCurrentServerEntryImportMtime, resolveAppRouterAssetPath, resolveAppRouterPrerenderSeeder, resolveRequestHost as resolveHost, resolveServerEntryImportUrl, sendCompressed, sendWebResponse, startProdServer, trustProxy, trustedHosts, tryServeStatic };
1495
+ export { COMPRESSIBLE_TYPES, COMPRESS_THRESHOLD, importServerEntryModule, mergeResponseHeaders, mergeWebResponse, negotiateEncoding, nodeToWebRequest, readNodeStream, rememberCurrentServerEntryImportMtime, resolveAppRouterAssetPath, resolveAppRouterPrerenderSeeder, resolveRequestHost as resolveHost, resolveServerEntryImportUrl, sendCompressed, sendWebResponse, startProdServer, trustProxy, trustedHosts, tryServeStatic, waitForNodeResponseCompletion };
@@ -7,7 +7,7 @@ import { IncomingMessage } from "node:http";
7
7
  * without reloading the module, and so existing call sites that imported
8
8
  * `trustedHosts` from `prod-server.ts` keep the same semantics.
9
9
  */
10
- declare const trustedHosts: Set<string>;
10
+ export declare const trustedHosts: Set<string>;
11
11
  /**
12
12
  * Whether to trust `X-Forwarded-Proto` from upstream proxies.
13
13
  *
@@ -15,7 +15,7 @@ declare const trustedHosts: Set<string>;
15
15
  * non-empty (having trusted hosts implies a trusted proxy). Computed at
16
16
  * module load time, matching the existing prod-server behavior.
17
17
  */
18
- declare const trustProxy: boolean;
18
+ export declare const trustProxy: boolean;
19
19
  /**
20
20
  * Resolve the request protocol, honoring `X-Forwarded-Proto` only when
21
21
  * the trust-proxy gate is enabled. Defaults to `"http"`.
@@ -23,7 +23,7 @@ declare const trustProxy: boolean;
23
23
  * Accepts either a Node `IncomingMessage` or a Fetch `Headers` instance
24
24
  * so the same trust logic can be applied in both server flavors.
25
25
  */
26
- declare function resolveRequestProtocol(source: IncomingMessage | Headers): "http" | "https";
26
+ export declare function resolveRequestProtocol(source: IncomingMessage | Headers): "http" | "https";
27
27
  /**
28
28
  * Resolve the request host. `X-Forwarded-Host` is honored only when its
29
29
  * value matches the `trustedHosts` allow-list. Falls back to the raw
@@ -34,6 +34,5 @@ declare function resolveRequestProtocol(source: IncomingMessage | Headers): "htt
34
34
  * `X-Forwarded-Host: evil.com` to a server that resolves redirect URLs
35
35
  * against `request.url`.
36
36
  */
37
- declare function resolveRequestHost(source: IncomingMessage | Headers, fallback: string): string;
38
- //#endregion
39
- export { resolveRequestHost, resolveRequestProtocol, trustProxy, trustedHosts };
37
+ export declare function resolveRequestHost(source: IncomingMessage | Headers, fallback: string): string;
38
+ //#endregion
@@ -26,10 +26,9 @@ type RequestLogOptions = {
26
26
  /**
27
27
  * Print a single request log line to stdout.
28
28
  */
29
- declare function logRequest({ method, url, status, totalMs, compileMs, renderMs }: RequestLogOptions): void;
29
+ export declare function logRequest({ method, url, status, totalMs, compileMs, renderMs }: RequestLogOptions): void;
30
30
  /**
31
31
  * Returns `performance.now()` - a high-resolution monotonic timestamp.
32
32
  */
33
- declare function now(): number;
34
- //#endregion
35
- export { logRequest, now };
33
+ export declare function now(): number;
34
+ //#endregion
@@ -13,9 +13,9 @@ import { isOpenRedirectShaped } from "./open-redirect.js";
13
13
  * must do this before comparing raw route/config/basePath identity so those
14
14
  * comparisons agree with the `Request` that userland eventually receives.
15
15
  */
16
- declare function canonicalizeRequestPathname(pathname: string): string;
16
+ export declare function canonicalizeRequestPathname(pathname: string): string;
17
17
  /** Canonicalize only the pathname portion while preserving the raw query. */
18
- declare function canonicalizeRequestUrlPathname(url: string): string;
18
+ export declare function canonicalizeRequestUrlPathname(url: string): string;
19
19
  /**
20
20
  * Shared request pipeline utilities.
21
21
  *
@@ -53,8 +53,8 @@ declare function canonicalizeRequestUrlPathname(url: string): string;
53
53
  * @param rawPathname - The raw pathname from the URL, before any normalization
54
54
  * @returns A 404 Response if the path is protocol-relative, or null to continue
55
55
  */
56
- declare function guardProtocolRelativeUrl(rawPathname: string): Response | null;
57
- type HeaderRecord = Record<string, string | string[]>;
56
+ export declare function guardProtocolRelativeUrl(rawPathname: string): Response | null;
57
+ export type HeaderRecord = Record<string, string | string[]>;
58
58
  type ResolvePublicFileRouteOptions = {
59
59
  cleanPathname: string;
60
60
  middlewareContext: StaticFileSignalContext;
@@ -70,8 +70,8 @@ type ResolvePublicFileRouteOptions = {
70
70
  * helper owns the RSC exclusion, existence-first method enforcement, and
71
71
  * static-file signaling. Missing mutation targets continue through routing.
72
72
  */
73
- declare function resolvePublicFileRoute(options: ResolvePublicFileRouteOptions): Response | null;
74
- declare function normalizeTrailingSlashPathname(pathname: string, trailingSlash: boolean): string | null;
73
+ export declare function resolvePublicFileRoute(options: ResolvePublicFileRouteOptions): Response | null;
74
+ export declare function normalizeTrailingSlashPathname(pathname: string, trailingSlash: boolean): string | null;
75
75
  /**
76
76
  * Check if the pathname needs a trailing slash redirect, and return the
77
77
  * redirect Response if so.
@@ -90,7 +90,7 @@ declare function normalizeTrailingSlashPathname(pathname: string, trailingSlash:
90
90
  * @param search - The query string (including `?`) to preserve in the redirect
91
91
  * @returns A 308 redirect Response, or null if no redirect is needed
92
92
  */
93
- declare function normalizeTrailingSlash(pathname: string, basePath: string, trailingSlash: boolean, search: string): Response | null;
93
+ export declare function normalizeTrailingSlash(pathname: string, basePath: string, trailingSlash: boolean, search: string): Response | null;
94
94
  /**
95
95
  * Validate CSRF origin for server action requests.
96
96
  *
@@ -102,7 +102,7 @@ declare function normalizeTrailingSlash(pathname: string, basePath: string, trai
102
102
  * @param allowedOrigins - Origins from experimental.serverActions.allowedOrigins
103
103
  * @returns A 403 Response if origin validation fails, or null to continue
104
104
  */
105
- declare function validateCsrfOrigin(request: Request, allowedOrigins?: string[]): Response | null;
105
+ export declare function validateCsrfOrigin(request: Request, allowedOrigins?: string[]): Response | null;
106
106
  /**
107
107
  * Reject malformed Flight container reference graphs in server action payloads.
108
108
  *
@@ -115,8 +115,8 @@ declare function validateCsrfOrigin(request: Request, allowedOrigins?: string[])
115
115
  * numeric backing-field graphs that contain missing backing fields or cycles.
116
116
  * Regular user form fields are ignored entirely.
117
117
  */
118
- declare function validateServerActionPayload(body: string | FormData): Promise<Response | null>;
119
- declare function isOriginAllowed(origin: string, allowed: string[]): boolean;
118
+ export declare function validateServerActionPayload(body: string | FormData): Promise<Response | null>;
119
+ export declare function isOriginAllowed(origin: string, allowed: string[]): boolean;
120
120
  /**
121
121
  * Strip internal `x-middleware-*` headers from a Headers object.
122
122
  *
@@ -128,7 +128,7 @@ declare function isOriginAllowed(origin: string, allowed: string[]): boolean;
128
128
  *
129
129
  * @param headers - The Headers object to modify in place
130
130
  */
131
- declare function processMiddlewareHeaders(headers: Headers): void;
131
+ export declare function processMiddlewareHeaders(headers: Headers): void;
132
132
  /**
133
133
  * Strip internal headers from an inbound request so they cannot be forged by
134
134
  * an external attacker to influence routing or impersonate internal state.
@@ -144,14 +144,14 @@ declare function processMiddlewareHeaders(headers: Headers): void;
144
144
  * @param headers - The source Headers (never modified)
145
145
  * @returns A new Headers with internal framework headers removed
146
146
  */
147
- declare function filterInternalHeaders(headers: Headers): Headers;
147
+ export declare function filterInternalHeaders(headers: Headers): Headers;
148
148
  /**
149
149
  * Re-attach the Workers-specific `cf` metadata from `source` onto a rebuilt
150
150
  * Request. `new Request()` never copies it, and middleware/authorization code
151
151
  * can key off `request.cf` (geo checks, bot scores), so every reconstruction
152
152
  * must restore it explicitly.
153
153
  */
154
- declare function attachRequestCfMetadata(target: Request, source: Request): Request;
154
+ export declare function attachRequestCfMetadata(target: Request, source: Request): Request;
155
155
  /**
156
156
  * Clone a Request while overriding headers, preserving metadata when possible.
157
157
  *
@@ -160,7 +160,7 @@ declare function attachRequestCfMetadata(target: Request, source: Request): Requ
160
160
  * when cloning a foreign Request instance. In that case, fall back to building
161
161
  * a RequestInit with best-effort metadata.
162
162
  */
163
- declare function cloneRequestWithHeaders(request: Request, headers: Headers): Request;
163
+ export declare function cloneRequestWithHeaders(request: Request, headers: Headers): Request;
164
164
  /**
165
165
  * Clone a Request while overriding the URL, preserving headers and metadata
166
166
  * when possible.
@@ -173,6 +173,6 @@ declare function cloneRequestWithHeaders(request: Request, headers: Headers): Re
173
173
  * both are handled explicitly — the same reasons `cloneRequestWithHeaders`
174
174
  * exists.
175
175
  */
176
- declare function cloneRequestWithUrl(request: Request, url: string): Request;
176
+ export declare function cloneRequestWithUrl(request: Request, url: string): Request;
177
177
  //#endregion
178
- export { HeaderRecord, INTERNAL_HEADERS, VINEXT_INTERNAL_HEADERS, attachRequestCfMetadata, canonicalizeRequestPathname, canonicalizeRequestUrlPathname, cloneRequestWithHeaders, cloneRequestWithUrl, createStaticFileSignal, filterInternalHeaders, guardProtocolRelativeUrl, hasBasePath, isOpenRedirectShaped, isOriginAllowed, normalizeTrailingSlash, normalizeTrailingSlashPathname, processMiddlewareHeaders, resolvePublicFileRoute, stripBasePath, validateCsrfOrigin, validateServerActionPayload };
178
+ export { INTERNAL_HEADERS, VINEXT_INTERNAL_HEADERS, createStaticFileSignal, hasBasePath, isOpenRedirectShaped, stripBasePath };
@@ -1,7 +1,7 @@
1
- import { hasBasePath, removeTrailingSlash, stripBasePath } from "../utils/base-path.js";
2
1
  import "../utils/protocol-headers.js";
3
- import { INTERNAL_HEADERS, VINEXT_INTERNAL_HEADERS } from "./headers.js";
4
2
  import { getUnconsumedMiddlewareRequestHeaders } from "../utils/middleware-request-headers.js";
3
+ import { hasBasePath, removeTrailingSlash, stripBasePath } from "../utils/base-path.js";
4
+ import { INTERNAL_HEADERS, VINEXT_INTERNAL_HEADERS } from "./headers.js";
5
5
  import { forbiddenResponse, methodNotAllowedResponse, notFoundResponse } from "./http-error-responses.js";
6
6
  import { isOpenRedirectShaped } from "./open-redirect.js";
7
7
  import { createStaticFileSignal } from "./static-file-signal.js";
@@ -336,6 +336,11 @@ function getRequestCf(request) {
336
336
  * must restore it explicitly.
337
337
  */
338
338
  function attachRequestCfMetadata(target, source) {
339
+ const ownDescriptor = Object.getOwnPropertyDescriptor(source, "cf");
340
+ if (ownDescriptor) {
341
+ Object.defineProperty(target, "cf", ownDescriptor);
342
+ return target;
343
+ }
339
344
  const cf = getRequestCf(source);
340
345
  if (cf !== void 0) Object.defineProperty(target, "cf", {
341
346
  value: cf,
@@ -0,0 +1,5 @@
1
+ import { VinextRequestStageModule } from "./multi-stage.js";
2
+ //#region src/server/request-stage.d.ts
3
+ /** Lazily load the router-specific request stage selected by vinext. */
4
+ export declare function loadVinextRequestStage<Env = unknown, Context = unknown>(): Promise<VinextRequestStageModule<Env, Context>>;
5
+ //#endregion
@@ -0,0 +1,7 @@
1
+ //#region src/server/request-stage.ts
2
+ /** Lazily load the router-specific request stage selected by vinext. */
3
+ function loadVinextRequestStage() {
4
+ return import("virtual:vinext-request-stage");
5
+ }
6
+ //#endregion
7
+ export { loadVinextRequestStage };
@@ -0,0 +1,22 @@
1
+ //#region src/server/request-tracing.d.ts
2
+ type RequestTraceInput<T> = {
3
+ callback: () => Promise<T>;
4
+ /** Trace an intentional in-process request as a separate propagated request segment. */
5
+ detached?: boolean;
6
+ getStatus(result: T | undefined): number | undefined;
7
+ headers: Headers;
8
+ isRsc?: boolean;
9
+ method: string;
10
+ target: string;
11
+ };
12
+ export declare function setFrameworkRequestRoute(route: string | undefined, isRsc?: boolean): void;
13
+ export declare function captureFrameworkRequestRoute<T>(callback: () => Promise<T>, onRoute?: (route: string) => void): Promise<{
14
+ result: T;
15
+ route: string | undefined;
16
+ }>;
17
+ export declare function attachFrameworkRequestRoute(response: Response, route: string | undefined): Response;
18
+ export declare function clearFrameworkRequestError(response: Response): Response;
19
+ export declare function attachFrameworkRequestError(response: Response, error: unknown): Response;
20
+ export declare function consumeFrameworkRequestRoute(response: Response): Response;
21
+ export declare function traceFrameworkRequest<T>(input: RequestTraceInput<T>): Promise<T>;
22
+ //#endregion