vinext 1.0.0-beta.9 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (828) hide show
  1. package/README.md +150 -92
  2. package/THIRD_PARTY_LICENSES.md +51 -0
  3. package/dist/_virtual/_rolldown/runtime.js +25 -0
  4. package/dist/build/action-owner-manifest.d.ts +8 -9
  5. package/dist/build/action-owner-manifest.js +23 -5
  6. package/dist/build/assets-ignore.d.ts +3 -4
  7. package/dist/build/clean-output.d.ts +2 -3
  8. package/dist/build/client-build-config.d.ts +40 -12
  9. package/dist/build/client-build-config.js +76 -6
  10. package/dist/build/css-url-assets.d.ts +4 -5
  11. package/dist/build/css-url-assets.js +5 -2
  12. package/dist/build/google-fonts/build-url.d.ts +3 -4
  13. package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
  14. package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
  15. package/dist/build/google-fonts/font-metadata.d.ts +2 -3
  16. package/dist/build/google-fonts/get-axes.d.ts +2 -3
  17. package/dist/build/google-fonts/sort-variants.d.ts +2 -3
  18. package/dist/build/google-fonts/validate.d.ts +2 -3
  19. package/dist/build/google-fonts/validate.js +8 -4
  20. package/dist/build/inject-pregenerated-paths.d.ts +2 -3
  21. package/dist/build/inject-pregenerated-paths.js +16 -14
  22. package/dist/build/inline-css.d.ts +3 -4
  23. package/dist/build/layout-classification-types.d.ts +4 -5
  24. package/dist/build/layout-classification.d.ts +7 -8
  25. package/dist/build/lifecycle.d.ts +42 -0
  26. package/dist/build/lifecycle.js +253 -0
  27. package/dist/build/module-dependency-cache.d.ts +2 -3
  28. package/dist/build/next-client-runtime-manifests.d.ts +4 -5
  29. package/dist/build/nitro-route-rules.d.ts +6 -7
  30. package/dist/build/nitro-route-rules.js +1 -1
  31. package/dist/build/pages-client-assets-module.d.ts +4 -8
  32. package/dist/build/pages-client-assets-module.js +7 -14
  33. package/dist/build/precompress.d.ts +2 -3
  34. package/dist/build/precompress.js +1 -1
  35. package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
  36. package/dist/build/prerender-cloudflare-loader.js +49 -0
  37. package/dist/build/prerender-paths.d.ts +36 -11
  38. package/dist/build/prerender-paths.js +274 -102
  39. package/dist/build/prerender-phase.d.ts +2 -3
  40. package/dist/build/prerender-server-entry.js +11 -3
  41. package/dist/build/prerender-server-pool.d.ts +9 -6
  42. package/dist/build/prerender-server-pool.js +8 -5
  43. package/dist/build/prerender.d.ts +73 -16
  44. package/dist/build/prerender.js +272 -80
  45. package/dist/build/preview-credentials.d.ts +5 -6
  46. package/dist/build/preview-credentials.js +2 -2
  47. package/dist/build/public-dir-conflict.d.ts +5 -6
  48. package/dist/build/public-dir-conflict.js +2 -1
  49. package/dist/build/report.d.ts +24 -20
  50. package/dist/build/report.js +10 -2
  51. package/dist/build/route-classification-injector.d.ts +2 -3
  52. package/dist/build/route-classification-manifest.d.ts +5 -6
  53. package/dist/build/run-prerender.d.ts +11 -9
  54. package/dist/build/run-prerender.js +26 -16
  55. package/dist/build/server-entry.d.ts +6 -0
  56. package/dist/build/server-entry.js +34 -0
  57. package/dist/build/server-manifest.d.ts +8 -3
  58. package/dist/build/server-manifest.js +14 -2
  59. package/dist/build/ssr-manifest.d.ts +5 -6
  60. package/dist/build/standalone.d.ts +2 -3
  61. package/dist/build/standalone.js +2 -2
  62. package/dist/build/static-export.d.ts +6 -7
  63. package/dist/cache/cache-adapters-virtual.d.ts +60 -20
  64. package/dist/cache/cache-adapters-virtual.js +50 -7
  65. package/dist/check.d.ts +11 -10
  66. package/dist/check.js +467 -176
  67. package/dist/cli-args.d.ts +7 -16
  68. package/dist/cli-args.js +2 -45
  69. package/dist/cli-dev-config.d.ts +10 -7
  70. package/dist/cli-dev-config.js +160 -3
  71. package/dist/cli.js +124 -442
  72. package/dist/client/app-nav-failure-handler.d.ts +6 -7
  73. package/dist/client/browser-globals.d.ts +4 -0
  74. package/dist/client/browser-globals.js +5 -0
  75. package/dist/client/client-rewrite-matcher.d.ts +2 -3
  76. package/dist/client/client-rewrites.d.ts +4 -5
  77. package/dist/client/dev-error-overlay-store.d.ts +13 -14
  78. package/dist/client/dev-error-overlay.d.ts +15 -15
  79. package/dist/client/dev-error-overlay.js +8 -5
  80. package/dist/client/instrumentation-client-inject.d.ts +3 -4
  81. package/dist/client/instrumentation-client-state.d.ts +5 -6
  82. package/dist/client/instrumentation-client.d.ts +3 -4
  83. package/dist/client/navigation-runtime.d.ts +20 -17
  84. package/dist/client/navigation-runtime.js +4 -3
  85. package/dist/client/pages-router-link-navigation.d.ts +4 -5
  86. package/dist/client/react-instance.d.ts +2 -3
  87. package/dist/client/validate-module-path.d.ts +2 -3
  88. package/dist/client/vinext-next-data.d.ts +7 -10
  89. package/dist/client/window-next.d.ts +4 -5
  90. package/dist/config/config-matchers.d.ts +16 -16
  91. package/dist/config/config-matchers.js +2 -4
  92. package/dist/config/dotenv.d.ts +3 -4
  93. package/dist/config/dotenv.js +14 -2
  94. package/dist/config/next-config.d.ts +31 -27
  95. package/dist/config/next-config.js +163 -16
  96. package/dist/config/prerender.d.ts +20 -16
  97. package/dist/config/prerender.js +10 -4
  98. package/dist/config/request-context.d.ts +5 -6
  99. package/dist/config/server-external-packages.d.ts +14 -3
  100. package/dist/config/server-external-packages.js +37 -3
  101. package/dist/config/tsconfig-paths.d.ts +3 -4
  102. package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
  103. package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
  104. package/dist/entries/app-browser-entry.d.ts +4 -5
  105. package/dist/entries/app-browser-entry.js +1 -3
  106. package/dist/entries/app-rsc-entry.d.ts +10 -3
  107. package/dist/entries/app-rsc-entry.js +503 -51
  108. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  109. package/dist/entries/app-rsc-manifest.js +26 -8
  110. package/dist/entries/app-ssr-entry.d.ts +2 -3
  111. package/dist/entries/app-ssr-entry.js +8 -1
  112. package/dist/entries/pages-client-entry.d.ts +3 -3
  113. package/dist/entries/pages-client-entry.js +17 -2
  114. package/dist/entries/pages-server-entry.d.ts +13 -3
  115. package/dist/entries/pages-server-entry.js +234 -33
  116. package/dist/entries/runtime-entry-module.d.ts +4 -5
  117. package/dist/image/image-adapters-virtual.d.ts +4 -5
  118. package/dist/index.d.ts +10 -11
  119. package/dist/index.js +848 -255
  120. package/dist/init-cloudflare.d.ts +26 -17
  121. package/dist/init-cloudflare.js +711 -103
  122. package/dist/init-platform.d.ts +26 -22
  123. package/dist/init-platform.js +85 -29
  124. package/dist/init.d.ts +19 -13
  125. package/dist/init.js +126 -42
  126. package/dist/plugins/action-owner-manifest.d.ts +3 -4
  127. package/dist/plugins/action-owner-manifest.js +10 -3
  128. package/dist/plugins/ast-scope.d.ts +10 -11
  129. package/dist/plugins/ast-scope.js +10 -22
  130. package/dist/plugins/ast-utils.d.ts +16 -29
  131. package/dist/plugins/ast-utils.js +27 -71
  132. package/dist/plugins/async-hooks-stub.d.ts +2 -3
  133. package/dist/plugins/client-reference-dedup.d.ts +4 -5
  134. package/dist/plugins/commonjs-syntax.d.ts +16 -0
  135. package/dist/plugins/commonjs-syntax.js +22 -0
  136. package/dist/plugins/css-data-url.d.ts +2 -3
  137. package/dist/plugins/css-module-imports.d.ts +3 -4
  138. package/dist/plugins/css-module-imports.js +1 -1
  139. package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
  140. package/dist/plugins/dynamic-preload-metadata.js +55 -154
  141. package/dist/plugins/environment.d.ts +2 -3
  142. package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
  143. package/dist/plugins/extensionless-dynamic-import.js +6 -10
  144. package/dist/plugins/fonts.d.ts +10 -11
  145. package/dist/plugins/fonts.js +4 -3
  146. package/dist/plugins/ignore-dynamic-requests.d.ts +14 -4
  147. package/dist/plugins/ignore-dynamic-requests.js +113 -91
  148. package/dist/plugins/import-meta-url.d.ts +6 -7
  149. package/dist/plugins/import-meta-url.js +36 -48
  150. package/dist/plugins/instrumentation-client.d.ts +3 -3
  151. package/dist/plugins/instrumentation-client.js +46 -10
  152. package/dist/plugins/middleware-export-validation.d.ts +3 -4
  153. package/dist/plugins/middleware-export-validation.js +3 -3
  154. package/dist/plugins/middleware-server-only.d.ts +2 -3
  155. package/dist/plugins/og-asset-ownership.d.ts +5 -4
  156. package/dist/plugins/og-asset-ownership.js +24 -13
  157. package/dist/plugins/og-assets.d.ts +22 -5
  158. package/dist/plugins/og-assets.js +82 -21
  159. package/dist/plugins/og-harfbuzz.d.ts +24 -0
  160. package/dist/plugins/og-harfbuzz.js +271 -0
  161. package/dist/plugins/optimize-imports.d.ts +7 -7
  162. package/dist/plugins/optimize-imports.js +34 -45
  163. package/dist/plugins/pages-node-externals.d.ts +2 -3
  164. package/dist/plugins/pages-node-externals.js +6 -11
  165. package/dist/plugins/postcss.d.ts +8 -4
  166. package/dist/plugins/postcss.js +1 -1
  167. package/dist/plugins/remove-console.d.ts +2 -3
  168. package/dist/plugins/remove-console.js +0 -1
  169. package/dist/plugins/require-condition-resolution.d.ts +3 -4
  170. package/dist/plugins/require-condition-resolution.js +17 -18
  171. package/dist/plugins/require-context.d.ts +3 -3
  172. package/dist/plugins/require-context.js +41 -22
  173. package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
  174. package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
  175. package/dist/plugins/rsc-client-shim-excludes.js +1 -0
  176. package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
  177. package/dist/plugins/sass.d.ts +7 -8
  178. package/dist/plugins/sass.js +7 -4
  179. package/dist/plugins/scan-build-css.d.ts +12 -0
  180. package/dist/plugins/scan-build-css.js +39 -0
  181. package/dist/plugins/server-externals-manifest.d.ts +2 -3
  182. package/dist/plugins/strip-server-exports.d.ts +7 -6
  183. package/dist/plugins/strip-server-exports.js +4 -2
  184. package/dist/plugins/styled-jsx.d.ts +2 -3
  185. package/dist/plugins/styled-jsx.js +7 -7
  186. package/dist/plugins/transform-cache.d.ts +2 -3
  187. package/dist/plugins/transform-result.d.ts +21 -4
  188. package/dist/plugins/transform-result.js +23 -2
  189. package/dist/plugins/transitive-externals.d.ts +2 -3
  190. package/dist/plugins/typeof-window.d.ts +16 -7
  191. package/dist/plugins/typeof-window.js +62 -39
  192. package/dist/plugins/use-cache-callable.d.ts +2 -5
  193. package/dist/plugins/use-cache-callable.js +43 -22
  194. package/dist/plugins/wasm-module-import.d.ts +2 -3
  195. package/dist/plugins/worker-image-imports.d.ts +2 -3
  196. package/dist/plugins/worker-image-imports.js +6 -8
  197. package/dist/routing/app-route-graph.d.ts +18 -19
  198. package/dist/routing/app-route-graph.js +5 -6
  199. package/dist/routing/app-route-ids.d.ts +3 -0
  200. package/dist/routing/app-route-ids.js +6 -0
  201. package/dist/routing/app-router.d.ts +19 -6
  202. package/dist/routing/app-router.js +24 -2
  203. package/dist/routing/file-matcher.d.ts +9 -10
  204. package/dist/routing/pages-router.d.ts +6 -6
  205. package/dist/routing/pages-router.js +1 -1
  206. package/dist/routing/route-matching.d.ts +4 -5
  207. package/dist/routing/route-matching.js +4 -2
  208. package/dist/routing/route-pattern.d.ts +13 -14
  209. package/dist/routing/route-trie.d.ts +5 -6
  210. package/dist/routing/route-validation.d.ts +3 -4
  211. package/dist/routing/route-validation.js +12 -11
  212. package/dist/routing/utils.d.ts +13 -14
  213. package/dist/server/accept-encoding.d.ts +9 -10
  214. package/dist/server/api-handler.d.ts +2 -3
  215. package/dist/server/api-handler.js +9 -6
  216. package/dist/server/app-action-forwarding.d.ts +3 -4
  217. package/dist/server/app-action-forwarding.js +1 -1
  218. package/dist/server/app-action-request.d.ts +2 -3
  219. package/dist/server/app-bfcache-id.d.ts +4 -4
  220. package/dist/server/app-bfcache-id.js +7 -1
  221. package/dist/server/app-bfcache-identity.d.ts +8 -9
  222. package/dist/server/app-bfcache-identity.js +1 -2
  223. package/dist/server/app-browser-action-result.d.ts +15 -16
  224. package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
  225. package/dist/server/app-browser-entry.js +91 -36
  226. package/dist/server/app-browser-error.d.ts +5 -6
  227. package/dist/server/app-browser-error.js +9 -3
  228. package/dist/server/app-browser-history-controller.d.ts +4 -5
  229. package/dist/server/app-browser-hydration.d.ts +16 -6
  230. package/dist/server/app-browser-hydration.js +15 -2
  231. package/dist/server/app-browser-interception-context.d.ts +3 -4
  232. package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
  233. package/dist/server/app-browser-navigation-abort.d.ts +3 -4
  234. package/dist/server/app-browser-navigation-controller.d.ts +8 -8
  235. package/dist/server/app-browser-navigation-controller.js +9 -5
  236. package/dist/server/app-browser-navigation-response.d.ts +2 -3
  237. package/dist/server/app-browser-popstate.d.ts +4 -5
  238. package/dist/server/app-browser-prefetch-response.d.ts +5 -6
  239. package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
  240. package/dist/server/app-browser-server-action-client.d.ts +7 -6
  241. package/dist/server/app-browser-server-action-client.js +9 -5
  242. package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
  243. package/dist/server/app-browser-state.d.ts +17 -17
  244. package/dist/server/app-browser-state.js +7 -3
  245. package/dist/server/app-browser-stream.d.ts +5 -6
  246. package/dist/server/app-browser-stream.js +8 -6
  247. package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
  248. package/dist/server/app-browser-visible-commit.d.ts +6 -7
  249. package/dist/server/app-client-reference-preloader.d.ts +2 -3
  250. package/dist/server/app-elements-wire-key.d.ts +25 -0
  251. package/dist/server/app-elements-wire-key.js +69 -0
  252. package/dist/server/app-elements-wire.d.ts +34 -53
  253. package/dist/server/app-elements-wire.js +4 -75
  254. package/dist/server/app-elements.d.ts +5 -5
  255. package/dist/server/app-elements.js +1 -1
  256. package/dist/server/app-fallback-renderer.d.ts +4 -4
  257. package/dist/server/app-fallback-renderer.js +6 -6
  258. package/dist/server/app-fetch-tracing.d.ts +15 -0
  259. package/dist/server/app-fetch-tracing.js +38 -0
  260. package/dist/server/app-history-state.d.ts +25 -27
  261. package/dist/server/app-history-state.js +21 -16
  262. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  263. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  264. package/dist/server/app-inline-css-client.d.ts +3 -4
  265. package/dist/server/app-interception-context-header.d.ts +2 -3
  266. package/dist/server/app-layout-param-observation.d.ts +7 -8
  267. package/dist/server/app-metadata-tracing.d.ts +12 -0
  268. package/dist/server/app-metadata-tracing.js +17 -0
  269. package/dist/server/app-middleware.d.ts +7 -7
  270. package/dist/server/app-middleware.js +2 -3
  271. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  272. package/dist/server/app-mounted-slots-header.js +2 -2
  273. package/dist/server/app-optimistic-routing.d.ts +10 -11
  274. package/dist/server/app-optimistic-routing.js +3 -2
  275. package/dist/server/app-page-boundary-render.d.ts +6 -6
  276. package/dist/server/app-page-boundary-render.js +10 -4
  277. package/dist/server/app-page-boundary.d.ts +9 -10
  278. package/dist/server/app-page-boundary.js +1 -1
  279. package/dist/server/app-page-cache-finalizer.d.ts +18 -9
  280. package/dist/server/app-page-cache-finalizer.js +51 -16
  281. package/dist/server/app-page-cache-render.d.ts +8 -5
  282. package/dist/server/app-page-cache-render.js +22 -4
  283. package/dist/server/app-page-cache.d.ts +28 -9
  284. package/dist/server/app-page-cache.js +95 -24
  285. package/dist/server/app-page-dispatch.d.ts +34 -12
  286. package/dist/server/app-page-dispatch.js +181 -64
  287. package/dist/server/app-page-element-builder.d.ts +13 -11
  288. package/dist/server/app-page-element-builder.js +104 -61
  289. package/dist/server/app-page-execution.d.ts +14 -14
  290. package/dist/server/app-page-execution.js +11 -7
  291. package/dist/server/app-page-head.d.ts +19 -16
  292. package/dist/server/app-page-head.js +25 -25
  293. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  294. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  295. package/dist/server/app-page-method.d.ts +5 -11
  296. package/dist/server/app-page-method.js +2 -9
  297. package/dist/server/app-page-params.d.ts +5 -6
  298. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  299. package/dist/server/app-page-probe.d.ts +5 -6
  300. package/dist/server/app-page-probe.js +5 -4
  301. package/dist/server/app-page-render-identity.d.ts +4 -5
  302. package/dist/server/app-page-render-observation.d.ts +8 -9
  303. package/dist/server/app-page-render-observation.js +1 -1
  304. package/dist/server/app-page-render.d.ts +41 -6
  305. package/dist/server/app-page-render.js +171 -24
  306. package/dist/server/app-page-request.d.ts +10 -9
  307. package/dist/server/app-page-request.js +16 -12
  308. package/dist/server/app-page-response.d.ts +20 -9
  309. package/dist/server/app-page-response.js +30 -12
  310. package/dist/server/app-page-route-wiring.d.ts +15 -15
  311. package/dist/server/app-page-route-wiring.js +31 -24
  312. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  313. package/dist/server/app-page-search-params-observation.js +43 -7
  314. package/dist/server/app-page-segment-plan.d.ts +2 -3
  315. package/dist/server/app-page-segment-state.d.ts +11 -12
  316. package/dist/server/app-page-stream.d.ts +27 -11
  317. package/dist/server/app-page-stream.js +34 -6
  318. package/dist/server/app-page-tracing.d.ts +33 -0
  319. package/dist/server/app-page-tracing.js +50 -0
  320. package/dist/server/app-pages-bridge.d.ts +6 -6
  321. package/dist/server/app-pages-bridge.js +18 -4
  322. package/dist/server/app-post-middleware-context.d.ts +2 -3
  323. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  324. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  325. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  326. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  327. package/dist/server/app-prerender-endpoints.js +3 -1
  328. package/dist/server/app-prerender-static-params.d.ts +15 -7
  329. package/dist/server/app-prerender-static-params.js +24 -9
  330. package/dist/server/app-render-abort-error.d.ts +3 -0
  331. package/dist/server/app-render-abort-error.js +8 -0
  332. package/dist/server/app-render-dependency.d.ts +14 -13
  333. package/dist/server/app-render-dependency.js +5 -1
  334. package/dist/server/app-request-context.d.ts +3 -4
  335. package/dist/server/app-request-stage-context.d.ts +5 -0
  336. package/dist/server/app-request-stage-context.js +11 -0
  337. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  338. package/dist/server/app-request-stage-dispatch.js +54 -0
  339. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  340. package/dist/server/app-request-stage-independent-entry.js +112 -0
  341. package/dist/server/app-response-header-provenance.d.ts +13 -7
  342. package/dist/server/app-response-header-provenance.js +34 -1
  343. package/dist/server/app-response-stage-entry.d.ts +9 -0
  344. package/dist/server/app-response-stage-entry.js +87 -0
  345. package/dist/server/app-route-handler-cache.d.ts +4 -4
  346. package/dist/server/app-route-handler-cache.js +51 -35
  347. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  348. package/dist/server/app-route-handler-dispatch.js +77 -56
  349. package/dist/server/app-route-handler-execution.d.ts +26 -14
  350. package/dist/server/app-route-handler-execution.js +94 -28
  351. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  352. package/dist/server/app-route-handler-middleware-context.js +15 -0
  353. package/dist/server/app-route-handler-policy.d.ts +11 -11
  354. package/dist/server/app-route-handler-policy.js +2 -2
  355. package/dist/server/app-route-handler-response.d.ts +9 -10
  356. package/dist/server/app-route-handler-response.js +14 -3
  357. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  358. package/dist/server/app-route-handler-runtime.js +20 -16
  359. package/dist/server/app-route-module-loader.d.ts +6 -7
  360. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  361. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  362. package/dist/server/app-route-tree-prefetch.js +2 -1
  363. package/dist/server/app-router-entry.d.ts +4 -1
  364. package/dist/server/app-router-entry.js +33 -17
  365. package/dist/server/app-rsc-cache-busting.d.ts +34 -27
  366. package/dist/server/app-rsc-cache-busting.js +14 -2
  367. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  368. package/dist/server/app-rsc-combined-handler.js +11 -0
  369. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  370. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  371. package/dist/server/app-rsc-error-handler.js +15 -6
  372. package/dist/server/app-rsc-errors.d.ts +11 -9
  373. package/dist/server/app-rsc-errors.js +14 -16
  374. package/dist/server/app-rsc-handler.d.ts +32 -6
  375. package/dist/server/app-rsc-handler.js +425 -64
  376. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  377. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  378. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  379. package/dist/server/app-rsc-request-normalization.js +5 -3
  380. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  381. package/dist/server/app-rsc-response-finalizer.js +10 -7
  382. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  383. package/dist/server/app-rsc-response-stage.js +251 -0
  384. package/dist/server/app-rsc-route-matching.d.ts +3 -4
  385. package/dist/server/app-rsc-route-matching.js +3 -2
  386. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  387. package/dist/server/app-rsc-vary.d.ts +16 -0
  388. package/dist/server/app-rsc-vary.js +31 -0
  389. package/dist/server/app-segment-config.d.ts +119 -7
  390. package/dist/server/app-segment-config.js +242 -2
  391. package/dist/server/app-server-action-execution.d.ts +18 -13
  392. package/dist/server/app-server-action-execution.js +86 -33
  393. package/dist/server/app-ssr-entry.d.ts +14 -4
  394. package/dist/server/app-ssr-entry.js +62 -15
  395. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  396. package/dist/server/app-ssr-error-meta.js +2 -1
  397. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  398. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  399. package/dist/server/app-ssr-search-params-gate.js +54 -0
  400. package/dist/server/app-ssr-stream.d.ts +13 -9
  401. package/dist/server/app-ssr-stream.js +34 -8
  402. package/dist/server/app-static-generation.d.ts +4 -5
  403. package/dist/server/app-visited-response-cache.d.ts +11 -12
  404. package/dist/server/app-visited-response-cache.js +2 -2
  405. package/dist/server/app-worker-stages.d.ts +112 -0
  406. package/dist/server/app-worker-stages.js +105 -0
  407. package/dist/server/artifact-compatibility.d.ts +11 -12
  408. package/dist/server/before-interactive-head.d.ts +2 -3
  409. package/dist/server/bfcache-identity.d.ts +7 -8
  410. package/dist/server/cache-control.d.ts +35 -13
  411. package/dist/server/cache-control.js +64 -6
  412. package/dist/server/cache-headers.d.ts +3 -4
  413. package/dist/server/cache-proof.d.ts +75 -70
  414. package/dist/server/cache-proof.js +9 -1
  415. package/dist/server/cacheability-limits.d.ts +4 -5
  416. package/dist/server/cacheability-limits.js +2 -2
  417. package/dist/server/cacheability-manifest.d.ts +42 -16
  418. package/dist/server/cacheability-manifest.js +60 -10
  419. package/dist/server/cacheability-request.d.ts +37 -8
  420. package/dist/server/cacheability-request.js +192 -90
  421. package/dist/server/client-reuse-manifest.d.ts +17 -18
  422. package/dist/server/client-reuse-manifest.js +2 -2
  423. package/dist/server/client-trace-metadata.d.ts +9 -6
  424. package/dist/server/client-trace-metadata.js +27 -15
  425. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  426. package/dist/server/cloudflare-workers-tracing.js +8 -0
  427. package/dist/server/config-headers.d.ts +19 -5
  428. package/dist/server/config-headers.js +25 -11
  429. package/dist/server/cookie-utils.d.ts +2 -3
  430. package/dist/server/csp.d.ts +5 -6
  431. package/dist/server/default-global-error-module.d.ts +2 -3
  432. package/dist/server/default-global-not-found-module.d.ts +2 -3
  433. package/dist/server/default-not-found-module.d.ts +2 -3
  434. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  435. package/dist/server/defer-until-stream-consumed.js +2 -1
  436. package/dist/server/dev-initial-server-error.d.ts +3 -4
  437. package/dist/server/dev-initial-server-error.js +2 -1
  438. package/dist/server/dev-lockfile.d.ts +7 -8
  439. package/dist/server/dev-lockfile.js +4 -1
  440. package/dist/server/dev-module-runner.d.ts +2 -3
  441. package/dist/server/dev-origin-check.d.ts +5 -6
  442. package/dist/server/dev-route-files.d.ts +2 -3
  443. package/dist/server/dev-server.d.ts +4 -5
  444. package/dist/server/dev-server.js +141 -64
  445. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  446. package/dist/server/dev-stack-sourcemap.js +1 -1
  447. package/dist/server/document-initial-head.d.ts +3 -4
  448. package/dist/server/edge-api-runtime.d.ts +4 -5
  449. package/dist/server/fetch-handler.d.ts +3 -2
  450. package/dist/server/fetch-handler.js +3 -18
  451. package/dist/server/file-based-metadata.d.ts +2 -3
  452. package/dist/server/framework-tracer.d.ts +46 -0
  453. package/dist/server/framework-tracer.js +125 -0
  454. package/dist/server/fully-buffered-response.d.ts +11 -0
  455. package/dist/server/fully-buffered-response.js +19 -0
  456. package/dist/server/headers.d.ts +56 -61
  457. package/dist/server/headers.js +22 -31
  458. package/dist/server/html.d.ts +6 -27
  459. package/dist/server/html.js +16 -1
  460. package/dist/server/http-conditional.d.ts +5 -6
  461. package/dist/server/http-date.d.ts +2 -3
  462. package/dist/server/http-error-responses.d.ts +9 -10
  463. package/dist/server/http-error-responses.js +1 -0
  464. package/dist/server/http-range.d.ts +4 -5
  465. package/dist/server/hybrid-route-priority.d.ts +4 -5
  466. package/dist/server/image-optimization.d.ts +20 -21
  467. package/dist/server/implicit-tags.d.ts +3 -4
  468. package/dist/server/instrumentation-runtime.d.ts +17 -21
  469. package/dist/server/instrumentation-runtime.js +26 -8
  470. package/dist/server/instrumentation.d.ts +26 -30
  471. package/dist/server/instrumentation.js +18 -23
  472. package/dist/server/isr-cache.d.ts +30 -27
  473. package/dist/server/isr-cache.js +23 -70
  474. package/dist/server/isr-decision.d.ts +4 -4
  475. package/dist/server/metadata-route-build-data.d.ts +4 -5
  476. package/dist/server/metadata-route-response.d.ts +7 -7
  477. package/dist/server/metadata-route-response.js +158 -35
  478. package/dist/server/metadata-routes.d.ts +18 -19
  479. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  480. package/dist/server/middleware-matcher.d.ts +6 -7
  481. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  482. package/dist/server/middleware-path-to-regexp.js +11 -9
  483. package/dist/server/middleware-response-headers.d.ts +3 -4
  484. package/dist/server/middleware-runtime.d.ts +7 -8
  485. package/dist/server/middleware-runtime.js +36 -7
  486. package/dist/server/middleware.d.ts +5 -5
  487. package/dist/server/multi-stage.d.ts +141 -0
  488. package/dist/server/multi-stage.js +8 -0
  489. package/dist/server/navigation-planner.d.ts +26 -26
  490. package/dist/server/navigation-trace.d.ts +11 -12
  491. package/dist/server/next-error-digest.d.ts +4 -5
  492. package/dist/server/normalize-path.d.ts +5 -6
  493. package/dist/server/open-redirect.d.ts +2 -3
  494. package/dist/server/opentelemetry-api.d.ts +59 -0
  495. package/dist/server/opentelemetry-api.js +53 -0
  496. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  497. package/dist/server/opentelemetry-tracing.js +83 -0
  498. package/dist/server/operation-token.d.ts +11 -12
  499. package/dist/server/otel-tracer-extension.d.ts +7 -9
  500. package/dist/server/otel-tracer-extension.js +37 -36
  501. package/dist/server/pages-api-route.d.ts +5 -4
  502. package/dist/server/pages-api-route.js +28 -9
  503. package/dist/server/pages-asset-tags.d.ts +7 -6
  504. package/dist/server/pages-asset-tags.js +104 -18
  505. package/dist/server/pages-body-parser-config.d.ts +4 -5
  506. package/dist/server/pages-body-parser-config.js +4 -4
  507. package/dist/server/pages-client-assets.d.ts +13 -5
  508. package/dist/server/pages-data-route.d.ts +11 -12
  509. package/dist/server/pages-data-route.js +1 -1
  510. package/dist/server/pages-default-404.d.ts +3 -4
  511. package/dist/server/pages-dev-hydration.d.ts +9 -4
  512. package/dist/server/pages-dev-hydration.js +19 -7
  513. package/dist/server/pages-dev-module-url.d.ts +3 -4
  514. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  515. package/dist/server/pages-document-asset-props.d.ts +6 -7
  516. package/dist/server/pages-document-initial-props.d.ts +5 -5
  517. package/dist/server/pages-document-initial-props.js +4 -2
  518. package/dist/server/pages-execution-tracing.d.ts +40 -0
  519. package/dist/server/pages-execution-tracing.js +80 -0
  520. package/dist/server/pages-get-initial-props.d.ts +9 -10
  521. package/dist/server/pages-i18n.d.ts +8 -8
  522. package/dist/server/pages-media-type.d.ts +4 -5
  523. package/dist/server/pages-node-compat.d.ts +11 -10
  524. package/dist/server/pages-node-compat.js +12 -4
  525. package/dist/server/pages-page-data.d.ts +23 -19
  526. package/dist/server/pages-page-data.js +82 -75
  527. package/dist/server/pages-page-handler.d.ts +7 -6
  528. package/dist/server/pages-page-handler.js +103 -47
  529. package/dist/server/pages-page-method.d.ts +2 -3
  530. package/dist/server/pages-page-response.d.ts +14 -10
  531. package/dist/server/pages-page-response.js +52 -32
  532. package/dist/server/pages-preview.d.ts +10 -11
  533. package/dist/server/pages-readiness.d.ts +2 -3
  534. package/dist/server/pages-request-pipeline.d.ts +15 -12
  535. package/dist/server/pages-request-pipeline.js +80 -35
  536. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  537. package/dist/server/pages-request-stage-entry.js +316 -0
  538. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  539. package/dist/server/pages-response-stage-entry.js +106 -0
  540. package/dist/server/pages-response-stage.d.ts +31 -0
  541. package/dist/server/pages-response-stage.js +49 -0
  542. package/dist/server/pages-revalidate.d.ts +3 -4
  543. package/dist/server/pages-revalidate.js +9 -4
  544. package/dist/server/pages-route-data-kind.d.ts +18 -0
  545. package/dist/server/pages-route-data-kind.js +11 -0
  546. package/dist/server/pages-router-entry.d.ts +1 -25
  547. package/dist/server/pages-router-entry.js +35 -148
  548. package/dist/server/pages-serializable-props.d.ts +3 -4
  549. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  550. package/dist/server/pregenerated-concrete-paths.js +12 -6
  551. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  552. package/dist/server/prerender-manifest.d.ts +17 -11
  553. package/dist/server/prerender-manifest.js +7 -4
  554. package/dist/server/prerender-route-params.d.ts +16 -9
  555. package/dist/server/prerender-route-params.js +18 -3
  556. package/dist/server/prerender-work-unit-setup.d.ts +2 -3
  557. package/dist/server/prerender-work-unit-setup.js +5 -5
  558. package/dist/server/prod-server.d.ts +12 -9
  559. package/dist/server/prod-server.js +127 -44
  560. package/dist/server/proxy-trust.d.ts +5 -6
  561. package/dist/server/request-log.d.ts +3 -4
  562. package/dist/server/request-pipeline.d.ts +16 -16
  563. package/dist/server/request-pipeline.js +7 -2
  564. package/dist/server/request-stage.d.ts +5 -0
  565. package/dist/server/request-stage.js +7 -0
  566. package/dist/server/request-tracing.d.ts +22 -0
  567. package/dist/server/request-tracing.js +180 -0
  568. package/dist/server/response-stage-cacheability.d.ts +37 -0
  569. package/dist/server/response-stage-cacheability.js +55 -0
  570. package/dist/server/response-stage-policy.d.ts +23 -0
  571. package/dist/server/response-stage-policy.js +89 -0
  572. package/dist/server/response-stage.d.ts +5 -0
  573. package/dist/server/response-stage.js +7 -0
  574. package/dist/server/response-start-tracing.d.ts +14 -0
  575. package/dist/server/response-start-tracing.js +80 -0
  576. package/dist/server/revalidation-host.d.ts +2 -3
  577. package/dist/server/revalidation-host.js +1 -1
  578. package/dist/server/revalidation-request.d.ts +8 -0
  579. package/dist/server/revalidation-request.js +37 -0
  580. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  581. package/dist/server/rsc-stream-hints.d.ts +18 -7
  582. package/dist/server/rsc-stream-hints.js +70 -35
  583. package/dist/server/seed-cache.d.ts +2 -3
  584. package/dist/server/seed-cache.js +8 -7
  585. package/dist/server/server-action-not-found.d.ts +5 -6
  586. package/dist/server/server-globals.d.ts +2 -3
  587. package/dist/server/skip-cache-proof.d.ts +4 -4
  588. package/dist/server/socket-error-backstop.d.ts +5 -6
  589. package/dist/server/socket-error-backstop.js +1 -1
  590. package/dist/server/static-file-cache.d.ts +5 -6
  591. package/dist/server/static-file-cache.js +9 -7
  592. package/dist/server/static-file-signal.d.ts +9 -6
  593. package/dist/server/static-file-signal.js +51 -2
  594. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  595. package/dist/server/streaming-metadata.d.ts +2 -3
  596. package/dist/server/tracer.d.ts +5 -0
  597. package/dist/server/tracer.js +13 -0
  598. package/dist/server/worker-prerender-discovery.d.ts +5 -6
  599. package/dist/server/worker-revalidation-context.d.ts +4 -4
  600. package/dist/server/worker-revalidation-context.js +6 -5
  601. package/dist/server/worker-stages.d.ts +43 -0
  602. package/dist/server/worker-stages.js +25 -0
  603. package/dist/server/worker-utils.d.ts +5 -6
  604. package/dist/server/worker-utils.js +2 -1
  605. package/dist/server/workers-tracing.d.ts +34 -0
  606. package/dist/server/workers-tracing.js +67 -0
  607. package/dist/shims/amp.d.ts +3 -4
  608. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  609. package/dist/shims/app-router-scroll.d.ts +4 -5
  610. package/dist/shims/app-router-scroll.js +2 -1
  611. package/dist/shims/app.d.ts +5 -6
  612. package/dist/shims/before-interactive-context.d.ts +5 -6
  613. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  614. package/dist/shims/cache-callable-runtime.js +168 -8
  615. package/dist/shims/cache-for-request.d.ts +2 -3
  616. package/dist/shims/cache-handler.d.ts +33 -20
  617. package/dist/shims/cache-handler.js +61 -2
  618. package/dist/shims/cache-request-state.d.ts +26 -38
  619. package/dist/shims/cache-request-state.js +2 -13
  620. package/dist/shims/cache-runtime.d.ts +23 -21
  621. package/dist/shims/cache-runtime.js +110 -28
  622. package/dist/shims/cache.d.ts +17 -16
  623. package/dist/shims/cache.js +19 -15
  624. package/dist/shims/cacheability-classification.d.ts +50 -29
  625. package/dist/shims/cacheability-classification.js +29 -14
  626. package/dist/shims/cdn-cache-state.d.ts +13 -0
  627. package/dist/shims/cdn-cache-state.js +23 -0
  628. package/dist/shims/cdn-cache.d.ts +59 -21
  629. package/dist/shims/cdn-cache.js +31 -47
  630. package/dist/shims/client-hook-error.d.ts +3 -4
  631. package/dist/shims/client-locale.d.ts +2 -3
  632. package/dist/shims/client-page-root.d.ts +24 -0
  633. package/dist/shims/client-page-root.js +121 -0
  634. package/dist/shims/compat-router.d.ts +2 -3
  635. package/dist/shims/config.d.ts +3 -4
  636. package/dist/shims/constants.d.ts +73 -74
  637. package/dist/shims/constants.js +1 -1
  638. package/dist/shims/default-not-found.d.ts +2 -3
  639. package/dist/shims/document.d.ts +9 -9
  640. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  641. package/dist/shims/dynamic-preload-chunks.js +17 -13
  642. package/dist/shims/dynamic.d.ts +3 -3
  643. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  644. package/dist/shims/error-boundary.d.ts +17 -18
  645. package/dist/shims/error-boundary.js +17 -11
  646. package/dist/shims/error.d.ts +5 -19
  647. package/dist/shims/error.js +17 -10
  648. package/dist/shims/error.react-server.d.ts +4 -7
  649. package/dist/shims/error.react-server.js +4 -1
  650. package/dist/shims/fetch-cache.d.ts +22 -22
  651. package/dist/shims/fetch-cache.js +46 -20
  652. package/dist/shims/font-google-base.d.ts +9 -9
  653. package/dist/shims/font-google-base.js +2 -1
  654. package/dist/shims/font-local.d.ts +3 -3
  655. package/dist/shims/font-local.js +1 -1
  656. package/dist/shims/font-utils.d.ts +14 -15
  657. package/dist/shims/form.d.ts +2 -2
  658. package/dist/shims/form.js +10 -7
  659. package/dist/shims/hash-scroll.d.ts +5 -6
  660. package/dist/shims/head-state.d.ts +4 -5
  661. package/dist/shims/head.d.ts +16 -16
  662. package/dist/shims/head.js +5 -4
  663. package/dist/shims/headers.d.ts +44 -73
  664. package/dist/shims/headers.js +87 -144
  665. package/dist/shims/i18n-context.d.ts +5 -6
  666. package/dist/shims/i18n-state.d.ts +4 -5
  667. package/dist/shims/image-config.d.ts +5 -6
  668. package/dist/shims/image-config.js +2 -0
  669. package/dist/shims/image.d.ts +5 -5
  670. package/dist/shims/image.js +12 -8
  671. package/dist/shims/internal/als-registry.d.ts +4 -5
  672. package/dist/shims/internal/api-utils.d.ts +3 -4
  673. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  674. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  675. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  676. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
  677. package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
  678. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  679. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
  680. package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
  681. package/dist/shims/internal/app-router-context.d.ts +9 -10
  682. package/dist/shims/internal/cache-context-accessor.d.ts +16 -0
  683. package/dist/shims/internal/cache-context-accessor.js +15 -0
  684. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  685. package/dist/shims/internal/format-url-object.d.ts +7 -0
  686. package/dist/shims/internal/format-url-object.js +53 -0
  687. package/dist/shims/internal/headers-state.d.ts +74 -0
  688. package/dist/shims/internal/headers-state.js +157 -0
  689. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  690. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  691. package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
  692. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  693. package/dist/shims/internal/interpolate-as.js +4 -2
  694. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  695. package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
  696. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  697. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  698. package/dist/shims/internal/normalize-router-href.js +41 -0
  699. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  700. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  701. package/dist/shims/internal/pages-data-target.js +32 -36
  702. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  703. package/dist/shims/internal/pages-data-url.js +2 -1
  704. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  705. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  706. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  707. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  708. package/dist/shims/internal/router-context.d.ts +2 -3
  709. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  710. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  711. package/dist/shims/internal/utils.d.ts +7 -8
  712. package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
  713. package/dist/shims/layout-segment-context.d.ts +3 -4
  714. package/dist/shims/link-prefetch.d.ts +9 -10
  715. package/dist/shims/link.d.ts +4 -4
  716. package/dist/shims/link.js +56 -116
  717. package/dist/shims/metadata.d.ts +15 -16
  718. package/dist/shims/metadata.js +40 -36
  719. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  720. package/dist/shims/navigation-context-accessors.js +19 -0
  721. package/dist/shims/navigation-context-state.d.ts +27 -18
  722. package/dist/shims/navigation-errors.d.ts +18 -19
  723. package/dist/shims/navigation-state.d.ts +6 -7
  724. package/dist/shims/navigation.d.ts +80 -68
  725. package/dist/shims/navigation.js +26 -18
  726. package/dist/shims/navigation.react-server.d.ts +9 -9
  727. package/dist/shims/offline.d.ts +2 -3
  728. package/dist/shims/og.d.ts +2 -2
  729. package/dist/shims/pages-router-runtime.d.ts +4 -5
  730. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  731. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  732. package/dist/shims/request-context.d.ts +5 -6
  733. package/dist/shims/request-state-types.d.ts +2 -1
  734. package/dist/shims/root-params.d.ts +14 -15
  735. package/dist/shims/root-params.js +1 -1
  736. package/dist/shims/router-state.d.ts +5 -6
  737. package/dist/shims/router-state.js +1 -1
  738. package/dist/shims/router.d.ts +22 -21
  739. package/dist/shims/router.js +339 -164
  740. package/dist/shims/script-nonce-context.d.ts +8 -6
  741. package/dist/shims/script-nonce-context.js +15 -6
  742. package/dist/shims/script.d.ts +4 -4
  743. package/dist/shims/script.js +9 -7
  744. package/dist/shims/search-params-gate.d.ts +35 -0
  745. package/dist/shims/search-params-gate.js +32 -0
  746. package/dist/shims/server.d.ts +19 -51
  747. package/dist/shims/server.js +66 -30
  748. package/dist/shims/slot.d.ts +33 -15
  749. package/dist/shims/slot.js +41 -9
  750. package/dist/shims/streamed-icons.d.ts +3 -4
  751. package/dist/shims/thenable-params.d.ts +5 -7
  752. package/dist/shims/thenable-params.js +3 -24
  753. package/dist/shims/unified-request-context.d.ts +35 -32
  754. package/dist/shims/unified-request-context.js +34 -24
  755. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  756. package/dist/shims/url-safety.d.ts +5 -6
  757. package/dist/shims/url-utils.d.ts +12 -13
  758. package/dist/shims/use-merged-ref.d.ts +2 -3
  759. package/dist/shims/user-agent.d.ts +31 -0
  760. package/dist/shims/user-agent.js +16 -0
  761. package/dist/shims/web-vitals.d.ts +2 -2
  762. package/dist/typegen.d.ts +3 -4
  763. package/dist/utils/asset-prefix.d.ts +7 -8
  764. package/dist/utils/base-path.d.ts +5 -6
  765. package/dist/utils/built-asset-url.d.ts +2 -3
  766. package/dist/utils/built-asset-url.js +1 -1
  767. package/dist/utils/cache-control-metadata.d.ts +4 -5
  768. package/dist/utils/client-build-manifest.d.ts +6 -7
  769. package/dist/utils/client-build-manifest.js +2 -1
  770. package/dist/utils/client-entry-manifest.d.ts +6 -7
  771. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  772. package/dist/utils/client-runtime-metadata.js +18 -1
  773. package/dist/utils/commonjs-loader.d.ts +4 -5
  774. package/dist/utils/compare.d.ts +2 -3
  775. package/dist/utils/deployment-id.d.ts +6 -7
  776. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  777. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  778. package/dist/utils/domain-locale.d.ts +7 -8
  779. package/dist/utils/encode-cache-tag.d.ts +4 -4
  780. package/dist/utils/encode-cache-tag.js +11 -1
  781. package/dist/utils/error-cause.d.ts +2 -3
  782. package/dist/utils/external-url.d.ts +2 -3
  783. package/dist/utils/has-trailing-comma.d.ts +3 -4
  784. package/dist/utils/hash.d.ts +3 -4
  785. package/dist/utils/html-limited-bots.d.ts +3 -4
  786. package/dist/utils/lazy-chunks.d.ts +8 -9
  787. package/dist/utils/lazy-chunks.js +4 -4
  788. package/dist/utils/manifest-paths.d.ts +5 -6
  789. package/dist/utils/mdx-scan.d.ts +11 -4
  790. package/dist/utils/mdx-scan.js +27 -1
  791. package/dist/utils/middleware-request-headers.d.ts +7 -6
  792. package/dist/utils/middleware-request-headers.js +6 -1
  793. package/dist/utils/navigation-signal.d.ts +3 -3
  794. package/dist/utils/navigation-signal.js +16 -1
  795. package/dist/utils/number.d.ts +2 -3
  796. package/dist/utils/package-name.d.ts +3 -4
  797. package/dist/utils/parse-cookie.d.ts +4 -5
  798. package/dist/utils/path.d.ts +8 -9
  799. package/dist/utils/plugin-options.d.ts +2 -3
  800. package/dist/utils/precompressed-variant.d.ts +3 -4
  801. package/dist/utils/prerender-output-paths.d.ts +4 -5
  802. package/dist/utils/project.d.ts +19 -30
  803. package/dist/utils/project.js +20 -29
  804. package/dist/utils/promise.d.ts +2 -3
  805. package/dist/utils/protocol-headers.d.ts +14 -15
  806. package/dist/utils/public-file-path.d.ts +2 -3
  807. package/dist/utils/public-routes.d.ts +2 -3
  808. package/dist/utils/query.d.ts +14 -9
  809. package/dist/utils/query.js +22 -1
  810. package/dist/utils/react-compiler-support.d.ts +6 -7
  811. package/dist/utils/react-version.d.ts +4 -3
  812. package/dist/utils/react-version.js +19 -1
  813. package/dist/utils/record.d.ts +2 -3
  814. package/dist/utils/redirect-digest.d.ts +3 -4
  815. package/dist/utils/regex-safety.d.ts +4 -5
  816. package/dist/utils/regex.d.ts +2 -3
  817. package/dist/utils/safe-json-file.d.ts +2 -3
  818. package/dist/utils/sorted-array.d.ts +2 -3
  819. package/dist/utils/text-stream.d.ts +3 -4
  820. package/dist/utils/vinext-root.d.ts +2 -3
  821. package/dist/utils/virtual-module.d.ts +3 -4
  822. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  823. package/dist/utils/vite-cli-invocation.js +151 -0
  824. package/dist/utils/vite-version.d.ts +5 -6
  825. package/next-package.json +4 -0
  826. package/package.json +51 -6
  827. package/dist/server/metadata-route-cache-policy.d.ts +0 -6
  828. package/dist/server/metadata-route-cache-policy.js +0 -6
@@ -1,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 { finalizeMissingStaticAssetResponse, mergeHeaders } from "./worker-utils.js";
23
+ import { traceFrameworkRequest } from "./request-tracing.js";
24
+ import { 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)) {
@@ -1034,22 +1070,22 @@ async function startAppRouterServer(options) {
1034
1070
  return;
1035
1071
  }
1036
1072
  }
1037
- let missingBuildAsset = false;
1038
1073
  {
1039
1074
  const assetLookupPath = resolveAppRouterAssetPath(pathname, appAssetPathPrefix, appRouterAssetPrefix);
1040
1075
  if (assetLookupPath) {
1041
1076
  if (await tryServeStatic(req, res, clientDir, assetLookupPath, compress, staticCache)) return;
1042
- missingBuildAsset = true;
1043
1077
  }
1044
1078
  }
1045
1079
  if (isImageOptimizationPath(pathname)) {
1046
- const params = parseImageParams(new URL(rawUrl, "http://localhost"), appImageAllowedWidths, imageConfig?.qualities);
1080
+ const parsedUrl = new URL(rawUrl, "http://localhost");
1081
+ const params = parseImageParams(parsedUrl, appImageAllowedWidths, imageConfig?.qualities);
1047
1082
  if (!params) {
1048
1083
  res.writeHead(400);
1049
1084
  res.end("Bad Request");
1050
1085
  return;
1051
1086
  }
1052
- if (!isSafeImageContentType(contentTypeForPath(params.imageUrl), imageConfig?.dangerouslyAllowSVG)) {
1087
+ const ct = contentTypeForPath(params.imageUrl);
1088
+ if (!isSafeImageContentType(ct, imageConfig?.dangerouslyAllowSVG)) {
1053
1089
  res.writeHead(400);
1054
1090
  res.end("The requested resource is not an allowed image type");
1055
1091
  return;
@@ -1067,10 +1103,6 @@ async function startAppRouterServer(options) {
1067
1103
  try {
1068
1104
  const request = nodeToWebRequest(req, rawUrl, prerenderSecret, appRouterI18nConfig, appRouterAuthorizeOnDemandRevalidate);
1069
1105
  const response = await rscHandler(request, createNodeExecutionContext(resolveTrustedNodeRevalidateOrigin(req, host, port)));
1070
- if (missingBuildAsset && response.status === 404) {
1071
- await sendWebResponse(finalizeMissingStaticAssetResponse(response, true), req, res, compress);
1072
- return;
1073
- }
1074
1106
  const staticFileSignal = readStaticFileSignal(response);
1075
1107
  if (staticFileSignal) {
1076
1108
  let staticFilePath = "/";
@@ -1096,6 +1128,32 @@ async function startAppRouterServer(options) {
1096
1128
  }
1097
1129
  }
1098
1130
  };
1131
+ const handleRequest = async (req, res) => {
1132
+ try {
1133
+ await ensureInstrumentation();
1134
+ } catch (error) {
1135
+ console.error("[vinext] Instrumentation error:", error);
1136
+ if (!res.headersSent) {
1137
+ if (purpose === "prerender") res.setHeader(VINEXT_PRERENDER_RENDER_ERROR_HEADER, "1");
1138
+ res.writeHead(500);
1139
+ res.end("Internal Server Error");
1140
+ }
1141
+ return;
1142
+ }
1143
+ const target = req.url ?? "/";
1144
+ const headers = nodeHeadersToWebHeaders(req.headers);
1145
+ return traceFrameworkRequest({
1146
+ callback: async () => {
1147
+ await handleRequestImpl(req, res);
1148
+ await waitForNodeResponseCompletion(res);
1149
+ },
1150
+ getStatus: () => res.statusCode,
1151
+ headers,
1152
+ isRsc: new URL(target, "http://localhost").pathname.endsWith(".rsc") || headers.get("RSC") === "1",
1153
+ method: req.method ?? "GET",
1154
+ target
1155
+ });
1156
+ };
1099
1157
  const server = createServer((req, res) => {
1100
1158
  runWithServerEntryRequire(rscEntryRequire, () => handleRequest(req, res));
1101
1159
  });
@@ -1118,7 +1176,8 @@ function isPagesServerEntryPageRoute(value) {
1118
1176
  if (typeof value.pattern !== "string") return false;
1119
1177
  if (!("module" in value) || value.module === void 0) return true;
1120
1178
  const pageModule = value.module;
1121
- if (!pageModule || typeof pageModule !== "object") return false;
1179
+ if (pageModule === null) return true;
1180
+ if (typeof pageModule !== "object") return false;
1122
1181
  return !("getStaticPaths" in pageModule) || typeof pageModule.getStaticPaths === "function";
1123
1182
  }
1124
1183
  function readPagesServerEntryPageRoutes(value) {
@@ -1142,6 +1201,7 @@ async function startPagesRouterServer(options) {
1142
1201
  const { renderPage, handleApiRoute: handleApi, authorizeOnDemandRevalidate, runMiddleware, vinextConfig, buildId: pagesBuildId } = serverEntry;
1143
1202
  const matchPageRoute = typeof serverEntry.matchPageRoute === "function" ? serverEntry.matchPageRoute : void 0;
1144
1203
  const matchApiRoute = typeof serverEntry.matchApiRoute === "function" ? serverEntry.matchApiRoute : void 0;
1204
+ const ensureInstrumentation = typeof serverEntry.__ensureInstrumentation === "function" ? () => serverEntry.__ensureInstrumentation() : () => void 0;
1145
1205
  const hasMiddleware = serverEntry.hasMiddleware === true;
1146
1206
  const pageRoutes = readPagesServerEntryPageRoutes(serverEntry.pageRoutes);
1147
1207
  const prerenderSecret = readPrerenderSecret(path.dirname(serverEntryPath));
@@ -1171,10 +1231,34 @@ async function startPagesRouterServer(options) {
1171
1231
  clientDir,
1172
1232
  assetPrefix,
1173
1233
  assetBase,
1174
- clientEntryLookup: "any-client-entry"
1234
+ clientEntryLookup: "any-client-entry",
1235
+ crossOrigin: vinextConfig?.crossOrigin ?? ""
1175
1236
  });
1176
1237
  const staticCache = await StaticFileCache.create(clientDir);
1177
1238
  const handleRequest = async (req, res) => {
1239
+ try {
1240
+ await ensureInstrumentation();
1241
+ } catch (error) {
1242
+ console.error("[vinext] Instrumentation error:", error);
1243
+ if (!res.headersSent) {
1244
+ if (purpose === "prerender") res.setHeader(VINEXT_PRERENDER_RENDER_ERROR_HEADER, "1");
1245
+ res.writeHead(500);
1246
+ res.end("Internal Server Error");
1247
+ }
1248
+ return;
1249
+ }
1250
+ return traceFrameworkRequest({
1251
+ callback: async () => {
1252
+ await handleRequestImpl(req, res);
1253
+ await waitForNodeResponseCompletion(res);
1254
+ },
1255
+ getStatus: () => res.statusCode,
1256
+ headers: nodeHeadersToWebHeaders(req.headers),
1257
+ method: req.method ?? "GET",
1258
+ target: req.url ?? "/"
1259
+ });
1260
+ };
1261
+ const handleRequestImpl = async (req, res) => {
1178
1262
  const rawUrl = req.url ?? "/";
1179
1263
  const rawPagesPathnameBeforeNormalize = rawUrl.split("?")[0];
1180
1264
  if (isOpenRedirectShaped(rawPagesPathnameBeforeNormalize)) {
@@ -1226,7 +1310,6 @@ async function startPagesRouterServer(options) {
1226
1310
  return;
1227
1311
  }
1228
1312
  const pagesAssetLookup = resolveAppRouterAssetPath(pathname, pagesAssetPathPrefix, assetPrefix);
1229
- const missingBuildAsset = pagesAssetLookup !== null;
1230
1313
  if (pagesAssetLookup) {
1231
1314
  if (await tryServeStatic(req, res, clientDir, pagesAssetLookup, compress, staticCache)) return;
1232
1315
  }
@@ -1291,7 +1374,8 @@ async function startPagesRouterServer(options) {
1291
1374
  duplex: hasBody ? "half" : void 0
1292
1375
  });
1293
1376
  const middlewareRequest = isDataReq && skipProxyUrlNormalize ? new Request(new URL(originalRenderUrl, webRequest.url), webRequest) : void 0;
1294
- const result = await runPagesRequest(webRequest, {
1377
+ const deps = {
1378
+ assetPrefix,
1295
1379
  basePath,
1296
1380
  trailingSlash,
1297
1381
  i18nConfig,
@@ -1314,18 +1398,20 @@ async function startPagesRouterServer(options) {
1314
1398
  renderPage: typeof renderPage === "function" ? (request, resolvedUrl, options, stagedHeaders) => renderPage(request, resolvedUrl, ssrManifest, void 0, stagedHeaders, {
1315
1399
  ...options,
1316
1400
  originalUrl: originalRenderUrl
1317
- }) : null,
1401
+ }, stagedHeaders?.has("Cache-Control") ? new Headers({ "Cache-Control": stagedHeaders.get("Cache-Control") }) : void 0) : null,
1318
1402
  handleApi: typeof handleApi === "function" ? (request, apiUrl) => handleApi(request, apiUrl, createNodeExecutionContext(), resolveTrustedNodeRevalidateOrigin(req, host, port), "node") : null,
1319
1403
  serveFilesystemRoute: async (requestPathname, stagedHeaders, phase, resolvedUrl) => {
1320
1404
  if (isImageOptimizationPath(requestPathname)) {
1321
1405
  for (const [name, value] of Object.entries(stagedHeaders)) res.setHeader(name, value);
1322
- const params = parseImageParams(new URL(resolvedUrl, "http://localhost"), allowedImageWidths, pagesImageConfig?.qualities);
1406
+ const parsedUrl = new URL(resolvedUrl, "http://localhost");
1407
+ const params = parseImageParams(parsedUrl, allowedImageWidths, pagesImageConfig?.qualities);
1323
1408
  if (!params) {
1324
1409
  res.writeHead(400);
1325
1410
  res.end("Bad Request");
1326
1411
  return true;
1327
1412
  }
1328
- if (!isSafeImageContentType(contentTypeForPath(params.imageUrl), pagesImageConfig?.dangerouslyAllowSVG)) {
1413
+ const ct = contentTypeForPath(params.imageUrl);
1414
+ if (!isSafeImageContentType(ct, pagesImageConfig?.dangerouslyAllowSVG)) {
1329
1415
  res.writeHead(400);
1330
1416
  res.end("The requested resource is not an allowed image type");
1331
1417
  return true;
@@ -1343,14 +1429,11 @@ async function startPagesRouterServer(options) {
1343
1429
  if (requestPathname === "/" || requestPathname === "/api" || requestPathname.startsWith("/api/") || phase === "direct" && requestPathname.startsWith(`/_next/static/`)) return false;
1344
1430
  return tryServeStatic(req, res, clientDir, requestPathname, compress, staticCache, stagedHeaders);
1345
1431
  }
1346
- });
1432
+ };
1433
+ const result = await runPagesRequest(webRequest, deps);
1347
1434
  if (result.type === "handled") return;
1348
1435
  if (result.type === "response") {
1349
1436
  const { response } = result;
1350
- if (missingBuildAsset && response.status === 404) {
1351
- await sendWebResponse(finalizeMissingStaticAssetResponse(response, true), req, res, compress);
1352
- return;
1353
- }
1354
1437
  const streamedApi = isVinextStreamedApiResponse(response);
1355
1438
  if (isVinextStreamedHtmlResponse(response) || streamedApi || !response.body || result.defaultContentType === void 0) {
1356
1439
  if (streamedApi && result.defaultContentType !== void 0 && !response.headers.has("content-type")) response.headers.set("content-type", result.defaultContentType);
@@ -1399,4 +1482,4 @@ async function startPagesRouterServer(options) {
1399
1482
  };
1400
1483
  }
1401
1484
  //#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 };
1485
+ 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