vinext 1.0.0-beta.8 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (813) hide show
  1. package/README.md +158 -84
  2. package/THIRD_PARTY_LICENSES.md +25 -0
  3. package/dist/_virtual/_rolldown/runtime.js +25 -0
  4. package/dist/build/action-owner-manifest.d.ts +8 -9
  5. package/dist/build/action-owner-manifest.js +23 -5
  6. package/dist/build/assets-ignore.d.ts +3 -4
  7. package/dist/build/clean-output.d.ts +2 -3
  8. package/dist/build/client-build-config.d.ts +40 -12
  9. package/dist/build/client-build-config.js +76 -6
  10. package/dist/build/css-url-assets.d.ts +4 -5
  11. package/dist/build/css-url-assets.js +5 -2
  12. package/dist/build/google-fonts/build-url.d.ts +3 -4
  13. package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
  14. package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
  15. package/dist/build/google-fonts/font-metadata.d.ts +2 -3
  16. package/dist/build/google-fonts/get-axes.d.ts +2 -3
  17. package/dist/build/google-fonts/sort-variants.d.ts +2 -3
  18. package/dist/build/google-fonts/validate.d.ts +2 -3
  19. package/dist/build/google-fonts/validate.js +8 -4
  20. package/dist/build/inject-pregenerated-paths.d.ts +2 -3
  21. package/dist/build/inject-pregenerated-paths.js +16 -14
  22. package/dist/build/inline-css.d.ts +3 -4
  23. package/dist/build/layout-classification-types.d.ts +4 -5
  24. package/dist/build/layout-classification.d.ts +7 -8
  25. package/dist/build/lifecycle.d.ts +42 -0
  26. package/dist/build/lifecycle.js +253 -0
  27. package/dist/build/module-dependency-cache.d.ts +2 -3
  28. package/dist/build/next-client-runtime-manifests.d.ts +4 -5
  29. package/dist/build/nitro-route-rules.d.ts +6 -7
  30. package/dist/build/nitro-route-rules.js +1 -1
  31. package/dist/build/pages-client-assets-module.d.ts +4 -8
  32. package/dist/build/pages-client-assets-module.js +1 -13
  33. package/dist/build/precompress.d.ts +2 -3
  34. package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
  35. package/dist/build/prerender-cloudflare-loader.js +49 -0
  36. package/dist/build/prerender-paths.d.ts +82 -8
  37. package/dist/build/prerender-paths.js +814 -99
  38. package/dist/build/prerender-phase.d.ts +2 -3
  39. package/dist/build/prerender-server-entry.js +11 -3
  40. package/dist/build/prerender-server-pool.d.ts +9 -6
  41. package/dist/build/prerender-server-pool.js +8 -5
  42. package/dist/build/prerender.d.ts +67 -15
  43. package/dist/build/prerender.js +177 -64
  44. package/dist/build/preview-credentials.d.ts +5 -6
  45. package/dist/build/preview-credentials.js +2 -2
  46. package/dist/build/public-dir-conflict.d.ts +5 -6
  47. package/dist/build/public-dir-conflict.js +2 -1
  48. package/dist/build/report.d.ts +38 -19
  49. package/dist/build/report.js +73 -4
  50. package/dist/build/route-classification-injector.d.ts +2 -3
  51. package/dist/build/route-classification-manifest.d.ts +5 -6
  52. package/dist/build/run-prerender.d.ts +11 -9
  53. package/dist/build/run-prerender.js +25 -16
  54. package/dist/build/server-entry.d.ts +4 -0
  55. package/dist/build/server-entry.js +28 -0
  56. package/dist/build/server-manifest.d.ts +8 -3
  57. package/dist/build/server-manifest.js +14 -2
  58. package/dist/build/ssr-manifest.d.ts +5 -6
  59. package/dist/build/standalone.d.ts +2 -3
  60. package/dist/build/standalone.js +2 -2
  61. package/dist/build/static-export.d.ts +7 -8
  62. package/dist/cache/cache-adapters-virtual.d.ts +95 -9
  63. package/dist/cache/cache-adapters-virtual.js +58 -6
  64. package/dist/check.d.ts +11 -10
  65. package/dist/check.js +467 -176
  66. package/dist/cli-args.d.ts +7 -16
  67. package/dist/cli-args.js +2 -45
  68. package/dist/cli-dev-config.d.ts +10 -7
  69. package/dist/cli-dev-config.js +160 -3
  70. package/dist/cli.js +124 -435
  71. package/dist/client/app-nav-failure-handler.d.ts +6 -7
  72. package/dist/client/client-rewrite-matcher.d.ts +2 -3
  73. package/dist/client/client-rewrites.d.ts +4 -5
  74. package/dist/client/dev-error-overlay-store.d.ts +13 -14
  75. package/dist/client/dev-error-overlay.d.ts +15 -15
  76. package/dist/client/dev-error-overlay.js +8 -5
  77. package/dist/client/instrumentation-client-inject.d.ts +3 -4
  78. package/dist/client/instrumentation-client-state.d.ts +5 -6
  79. package/dist/client/instrumentation-client.d.ts +3 -4
  80. package/dist/client/navigation-runtime.d.ts +21 -17
  81. package/dist/client/navigation-runtime.js +2 -1
  82. package/dist/client/pages-router-link-navigation.d.ts +4 -5
  83. package/dist/client/react-instance.d.ts +2 -3
  84. package/dist/client/validate-module-path.d.ts +2 -3
  85. package/dist/client/vinext-next-data.d.ts +7 -8
  86. package/dist/client/window-next.d.ts +4 -5
  87. package/dist/config/config-matchers.d.ts +16 -16
  88. package/dist/config/config-matchers.js +10 -7
  89. package/dist/config/dotenv.d.ts +3 -4
  90. package/dist/config/dotenv.js +2 -1
  91. package/dist/config/next-config.d.ts +31 -27
  92. package/dist/config/next-config.js +163 -16
  93. package/dist/config/prerender.d.ts +20 -16
  94. package/dist/config/prerender.js +10 -4
  95. package/dist/config/request-context.d.ts +5 -6
  96. package/dist/config/server-external-packages.d.ts +14 -3
  97. package/dist/config/server-external-packages.js +37 -3
  98. package/dist/config/tsconfig-paths.d.ts +3 -4
  99. package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
  100. package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
  101. package/dist/entries/app-browser-entry.d.ts +5 -6
  102. package/dist/entries/app-browser-entry.js +3 -2
  103. package/dist/entries/app-rsc-entry.d.ts +12 -3
  104. package/dist/entries/app-rsc-entry.js +530 -55
  105. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  106. package/dist/entries/app-rsc-manifest.js +27 -8
  107. package/dist/entries/app-ssr-entry.d.ts +2 -3
  108. package/dist/entries/app-ssr-entry.js +8 -1
  109. package/dist/entries/pages-client-entry.d.ts +3 -3
  110. package/dist/entries/pages-client-entry.js +17 -2
  111. package/dist/entries/pages-server-entry.d.ts +13 -3
  112. package/dist/entries/pages-server-entry.js +237 -33
  113. package/dist/entries/runtime-entry-module.d.ts +4 -5
  114. package/dist/image/image-adapters-virtual.d.ts +4 -5
  115. package/dist/index.d.ts +10 -11
  116. package/dist/index.js +832 -199
  117. package/dist/init-cloudflare.d.ts +27 -16
  118. package/dist/init-cloudflare.js +754 -113
  119. package/dist/init-platform.d.ts +26 -22
  120. package/dist/init-platform.js +85 -29
  121. package/dist/init.d.ts +19 -13
  122. package/dist/init.js +123 -41
  123. package/dist/plugins/action-owner-manifest.d.ts +3 -4
  124. package/dist/plugins/action-owner-manifest.js +10 -3
  125. package/dist/plugins/ast-scope.d.ts +10 -11
  126. package/dist/plugins/ast-scope.js +10 -22
  127. package/dist/plugins/ast-utils.d.ts +16 -29
  128. package/dist/plugins/ast-utils.js +27 -71
  129. package/dist/plugins/async-hooks-stub.d.ts +2 -3
  130. package/dist/plugins/client-reference-dedup.d.ts +4 -5
  131. package/dist/plugins/css-data-url.d.ts +2 -3
  132. package/dist/plugins/css-module-imports.d.ts +3 -4
  133. package/dist/plugins/css-module-imports.js +1 -1
  134. package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
  135. package/dist/plugins/dynamic-preload-metadata.js +55 -154
  136. package/dist/plugins/environment.d.ts +2 -3
  137. package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
  138. package/dist/plugins/extensionless-dynamic-import.js +6 -10
  139. package/dist/plugins/fonts.d.ts +10 -11
  140. package/dist/plugins/fonts.js +4 -3
  141. package/dist/plugins/ignore-dynamic-requests.d.ts +3 -4
  142. package/dist/plugins/ignore-dynamic-requests.js +60 -89
  143. package/dist/plugins/import-meta-url.d.ts +6 -7
  144. package/dist/plugins/import-meta-url.js +31 -43
  145. package/dist/plugins/instrumentation-client.d.ts +3 -3
  146. package/dist/plugins/instrumentation-client.js +46 -10
  147. package/dist/plugins/middleware-export-validation.d.ts +3 -4
  148. package/dist/plugins/middleware-export-validation.js +3 -3
  149. package/dist/plugins/middleware-server-only.d.ts +2 -3
  150. package/dist/plugins/og-asset-ownership.d.ts +3 -4
  151. package/dist/plugins/og-assets.d.ts +4 -5
  152. package/dist/plugins/og-assets.js +32 -13
  153. package/dist/plugins/og-harfbuzz.d.ts +24 -0
  154. package/dist/plugins/og-harfbuzz.js +260 -0
  155. package/dist/plugins/optimize-imports.d.ts +7 -7
  156. package/dist/plugins/optimize-imports.js +32 -44
  157. package/dist/plugins/pages-node-externals.d.ts +2 -3
  158. package/dist/plugins/pages-node-externals.js +6 -11
  159. package/dist/plugins/postcss.d.ts +8 -4
  160. package/dist/plugins/postcss.js +1 -1
  161. package/dist/plugins/remove-console.d.ts +2 -3
  162. package/dist/plugins/remove-console.js +0 -1
  163. package/dist/plugins/require-condition-resolution.d.ts +3 -4
  164. package/dist/plugins/require-condition-resolution.js +17 -18
  165. package/dist/plugins/require-context.d.ts +2 -3
  166. package/dist/plugins/require-context.js +13 -21
  167. package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
  168. package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
  169. package/dist/plugins/rsc-client-shim-excludes.js +1 -0
  170. package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
  171. package/dist/plugins/sass.d.ts +7 -8
  172. package/dist/plugins/sass.js +7 -4
  173. package/dist/plugins/server-externals-manifest.d.ts +2 -3
  174. package/dist/plugins/strip-server-exports.d.ts +5 -6
  175. package/dist/plugins/strip-server-exports.js +1 -1
  176. package/dist/plugins/styled-jsx.d.ts +2 -3
  177. package/dist/plugins/styled-jsx.js +7 -7
  178. package/dist/plugins/transform-cache.d.ts +2 -3
  179. package/dist/plugins/transform-result.d.ts +3 -4
  180. package/dist/plugins/transitive-externals.d.ts +2 -3
  181. package/dist/plugins/typeof-window.d.ts +6 -7
  182. package/dist/plugins/typeof-window.js +30 -31
  183. package/dist/plugins/use-cache-callable.d.ts +2 -5
  184. package/dist/plugins/use-cache-callable.js +43 -22
  185. package/dist/plugins/wasm-module-import.d.ts +2 -3
  186. package/dist/plugins/worker-image-imports.d.ts +2 -3
  187. package/dist/plugins/worker-image-imports.js +6 -8
  188. package/dist/routing/app-route-graph.d.ts +19 -19
  189. package/dist/routing/app-route-graph.js +3 -2
  190. package/dist/routing/app-router.d.ts +20 -5
  191. package/dist/routing/app-router.js +28 -2
  192. package/dist/routing/file-matcher.d.ts +9 -10
  193. package/dist/routing/pages-router.d.ts +6 -6
  194. package/dist/routing/pages-router.js +1 -1
  195. package/dist/routing/route-matching.d.ts +4 -5
  196. package/dist/routing/route-matching.js +4 -2
  197. package/dist/routing/route-pattern.d.ts +13 -14
  198. package/dist/routing/route-trie.d.ts +5 -6
  199. package/dist/routing/route-validation.d.ts +3 -4
  200. package/dist/routing/route-validation.js +12 -11
  201. package/dist/routing/utils.d.ts +13 -14
  202. package/dist/server/accept-encoding.d.ts +9 -10
  203. package/dist/server/api-handler.d.ts +2 -3
  204. package/dist/server/api-handler.js +9 -6
  205. package/dist/server/app-action-forwarding.d.ts +3 -4
  206. package/dist/server/app-action-forwarding.js +1 -1
  207. package/dist/server/app-action-request.d.ts +2 -3
  208. package/dist/server/app-bfcache-id.d.ts +3 -4
  209. package/dist/server/app-bfcache-identity.d.ts +8 -9
  210. package/dist/server/app-browser-action-result.d.ts +15 -16
  211. package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
  212. package/dist/server/app-browser-entry.js +121 -40
  213. package/dist/server/app-browser-error.d.ts +5 -6
  214. package/dist/server/app-browser-error.js +9 -3
  215. package/dist/server/app-browser-history-controller.d.ts +4 -5
  216. package/dist/server/app-browser-hydration.d.ts +16 -6
  217. package/dist/server/app-browser-hydration.js +14 -1
  218. package/dist/server/app-browser-interception-context.d.ts +3 -4
  219. package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
  220. package/dist/server/app-browser-navigation-abort.d.ts +3 -4
  221. package/dist/server/app-browser-navigation-controller.d.ts +8 -8
  222. package/dist/server/app-browser-navigation-controller.js +9 -5
  223. package/dist/server/app-browser-navigation-response.d.ts +2 -3
  224. package/dist/server/app-browser-popstate.d.ts +4 -5
  225. package/dist/server/app-browser-prefetch-response.d.ts +5 -6
  226. package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
  227. package/dist/server/app-browser-server-action-client.d.ts +7 -6
  228. package/dist/server/app-browser-server-action-client.js +9 -5
  229. package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
  230. package/dist/server/app-browser-state.d.ts +17 -17
  231. package/dist/server/app-browser-state.js +7 -3
  232. package/dist/server/app-browser-stream.d.ts +4 -5
  233. package/dist/server/app-browser-stream.js +8 -6
  234. package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
  235. package/dist/server/app-browser-visible-commit.d.ts +6 -7
  236. package/dist/server/app-browser-visible-commit.js +1 -1
  237. package/dist/server/app-client-reference-preloader.d.ts +2 -3
  238. package/dist/server/app-elements-wire-key.d.ts +25 -0
  239. package/dist/server/app-elements-wire-key.js +69 -0
  240. package/dist/server/app-elements-wire.d.ts +34 -53
  241. package/dist/server/app-elements-wire.js +4 -75
  242. package/dist/server/app-elements.d.ts +5 -5
  243. package/dist/server/app-elements.js +1 -1
  244. package/dist/server/app-fallback-renderer.d.ts +4 -4
  245. package/dist/server/app-fallback-renderer.js +6 -6
  246. package/dist/server/app-fetch-tracing.d.ts +15 -0
  247. package/dist/server/app-fetch-tracing.js +38 -0
  248. package/dist/server/app-history-state.d.ts +26 -27
  249. package/dist/server/app-history-state.js +19 -11
  250. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  251. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  252. package/dist/server/app-inline-css-client.d.ts +3 -4
  253. package/dist/server/app-interception-context-header.d.ts +2 -3
  254. package/dist/server/app-layout-param-observation.d.ts +7 -8
  255. package/dist/server/app-metadata-tracing.d.ts +12 -0
  256. package/dist/server/app-metadata-tracing.js +17 -0
  257. package/dist/server/app-middleware.d.ts +15 -7
  258. package/dist/server/app-middleware.js +30 -5
  259. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  260. package/dist/server/app-mounted-slots-header.js +2 -2
  261. package/dist/server/app-optimistic-routing.d.ts +14 -10
  262. package/dist/server/app-optimistic-routing.js +16 -3
  263. package/dist/server/app-page-boundary-render.d.ts +6 -6
  264. package/dist/server/app-page-boundary-render.js +10 -4
  265. package/dist/server/app-page-boundary.d.ts +9 -10
  266. package/dist/server/app-page-boundary.js +2 -1
  267. package/dist/server/app-page-cache-finalizer.d.ts +32 -8
  268. package/dist/server/app-page-cache-finalizer.js +118 -14
  269. package/dist/server/app-page-cache-render.d.ts +8 -5
  270. package/dist/server/app-page-cache-render.js +22 -5
  271. package/dist/server/app-page-cache.d.ts +28 -9
  272. package/dist/server/app-page-cache.js +96 -25
  273. package/dist/server/app-page-dispatch.d.ts +36 -12
  274. package/dist/server/app-page-dispatch.js +188 -63
  275. package/dist/server/app-page-element-builder.d.ts +13 -11
  276. package/dist/server/app-page-element-builder.js +104 -61
  277. package/dist/server/app-page-execution.d.ts +14 -14
  278. package/dist/server/app-page-execution.js +12 -8
  279. package/dist/server/app-page-head.d.ts +19 -16
  280. package/dist/server/app-page-head.js +25 -25
  281. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  282. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  283. package/dist/server/app-page-method.d.ts +5 -11
  284. package/dist/server/app-page-method.js +2 -9
  285. package/dist/server/app-page-params.d.ts +5 -6
  286. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  287. package/dist/server/app-page-probe.d.ts +5 -6
  288. package/dist/server/app-page-probe.js +5 -4
  289. package/dist/server/app-page-render-identity.d.ts +4 -5
  290. package/dist/server/app-page-render-observation.d.ts +8 -9
  291. package/dist/server/app-page-render-observation.js +1 -1
  292. package/dist/server/app-page-render.d.ts +42 -6
  293. package/dist/server/app-page-render.js +192 -28
  294. package/dist/server/app-page-request.d.ts +10 -9
  295. package/dist/server/app-page-request.js +16 -12
  296. package/dist/server/app-page-response.d.ts +20 -9
  297. package/dist/server/app-page-response.js +31 -13
  298. package/dist/server/app-page-route-wiring.d.ts +15 -15
  299. package/dist/server/app-page-route-wiring.js +31 -24
  300. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  301. package/dist/server/app-page-search-params-observation.js +42 -6
  302. package/dist/server/app-page-segment-plan.d.ts +2 -3
  303. package/dist/server/app-page-segment-state.d.ts +11 -12
  304. package/dist/server/app-page-stream.d.ts +27 -11
  305. package/dist/server/app-page-stream.js +35 -6
  306. package/dist/server/app-page-tracing.d.ts +33 -0
  307. package/dist/server/app-page-tracing.js +49 -0
  308. package/dist/server/app-pages-bridge.d.ts +6 -6
  309. package/dist/server/app-pages-bridge.js +19 -4
  310. package/dist/server/app-post-middleware-context.d.ts +2 -3
  311. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  312. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  313. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  314. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  315. package/dist/server/app-prerender-endpoints.js +26 -12
  316. package/dist/server/app-prerender-static-params.d.ts +15 -7
  317. package/dist/server/app-prerender-static-params.js +33 -11
  318. package/dist/server/app-render-dependency.d.ts +14 -13
  319. package/dist/server/app-render-dependency.js +5 -1
  320. package/dist/server/app-request-context.d.ts +3 -4
  321. package/dist/server/app-request-stage-context.d.ts +5 -0
  322. package/dist/server/app-request-stage-context.js +11 -0
  323. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  324. package/dist/server/app-request-stage-dispatch.js +54 -0
  325. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  326. package/dist/server/app-request-stage-independent-entry.js +115 -0
  327. package/dist/server/app-response-header-provenance.d.ts +13 -7
  328. package/dist/server/app-response-header-provenance.js +34 -1
  329. package/dist/server/app-response-stage-entry.d.ts +9 -0
  330. package/dist/server/app-response-stage-entry.js +87 -0
  331. package/dist/server/app-route-handler-cache.d.ts +2 -3
  332. package/dist/server/app-route-handler-cache.js +46 -34
  333. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  334. package/dist/server/app-route-handler-dispatch.js +75 -57
  335. package/dist/server/app-route-handler-execution.d.ts +18 -13
  336. package/dist/server/app-route-handler-execution.js +189 -25
  337. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  338. package/dist/server/app-route-handler-middleware-context.js +15 -0
  339. package/dist/server/app-route-handler-policy.d.ts +22 -10
  340. package/dist/server/app-route-handler-policy.js +19 -4
  341. package/dist/server/app-route-handler-response.d.ts +9 -10
  342. package/dist/server/app-route-handler-response.js +2 -0
  343. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  344. package/dist/server/app-route-handler-runtime.js +20 -16
  345. package/dist/server/app-route-module-loader.d.ts +6 -7
  346. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  347. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  348. package/dist/server/app-route-tree-prefetch.js +2 -1
  349. package/dist/server/app-router-entry.d.ts +2 -0
  350. package/dist/server/app-router-entry.js +76 -12
  351. package/dist/server/app-rsc-cache-busting.d.ts +47 -22
  352. package/dist/server/app-rsc-cache-busting.js +80 -18
  353. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  354. package/dist/server/app-rsc-combined-handler.js +11 -0
  355. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  356. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  357. package/dist/server/app-rsc-error-handler.js +15 -6
  358. package/dist/server/app-rsc-errors.d.ts +12 -9
  359. package/dist/server/app-rsc-errors.js +15 -13
  360. package/dist/server/app-rsc-handler.d.ts +33 -6
  361. package/dist/server/app-rsc-handler.js +498 -83
  362. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  363. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  364. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  365. package/dist/server/app-rsc-request-normalization.js +2 -1
  366. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  367. package/dist/server/app-rsc-response-finalizer.js +24 -7
  368. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  369. package/dist/server/app-rsc-response-stage.js +251 -0
  370. package/dist/server/app-rsc-route-matching.d.ts +4 -4
  371. package/dist/server/app-rsc-route-matching.js +4 -2
  372. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  373. package/dist/server/app-rsc-vary.d.ts +16 -0
  374. package/dist/server/app-rsc-vary.js +31 -0
  375. package/dist/server/app-segment-config.d.ts +120 -6
  376. package/dist/server/app-segment-config.js +264 -12
  377. package/dist/server/app-server-action-execution.d.ts +16 -12
  378. package/dist/server/app-server-action-execution.js +88 -35
  379. package/dist/server/app-ssr-entry.d.ts +14 -4
  380. package/dist/server/app-ssr-entry.js +64 -17
  381. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  382. package/dist/server/app-ssr-error-meta.js +2 -1
  383. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  384. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  385. package/dist/server/app-ssr-search-params-gate.js +54 -0
  386. package/dist/server/app-ssr-stream.d.ts +13 -9
  387. package/dist/server/app-ssr-stream.js +33 -7
  388. package/dist/server/app-static-generation.d.ts +4 -5
  389. package/dist/server/app-visited-response-cache.d.ts +11 -12
  390. package/dist/server/app-visited-response-cache.js +2 -2
  391. package/dist/server/app-worker-stages.d.ts +112 -0
  392. package/dist/server/app-worker-stages.js +105 -0
  393. package/dist/server/artifact-compatibility.d.ts +11 -12
  394. package/dist/server/before-interactive-head.d.ts +2 -3
  395. package/dist/server/bfcache-identity.d.ts +7 -8
  396. package/dist/server/cache-control.d.ts +39 -11
  397. package/dist/server/cache-control.js +104 -7
  398. package/dist/server/cache-headers.d.ts +3 -4
  399. package/dist/server/cache-proof.d.ts +75 -70
  400. package/dist/server/cache-proof.js +9 -1
  401. package/dist/server/cacheability-limits.d.ts +8 -0
  402. package/dist/server/cacheability-limits.js +9 -0
  403. package/dist/server/cacheability-manifest.d.ts +68 -0
  404. package/dist/server/cacheability-manifest.js +241 -0
  405. package/dist/server/cacheability-request.d.ts +49 -0
  406. package/dist/server/cacheability-request.js +559 -0
  407. package/dist/server/client-reuse-manifest.d.ts +17 -18
  408. package/dist/server/client-reuse-manifest.js +2 -2
  409. package/dist/server/client-trace-metadata.d.ts +9 -6
  410. package/dist/server/client-trace-metadata.js +27 -15
  411. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  412. package/dist/server/cloudflare-workers-tracing.js +8 -0
  413. package/dist/server/config-headers.d.ts +19 -5
  414. package/dist/server/config-headers.js +39 -5
  415. package/dist/server/cookie-utils.d.ts +2 -3
  416. package/dist/server/csp.d.ts +5 -6
  417. package/dist/server/default-global-error-module.d.ts +2 -3
  418. package/dist/server/default-global-not-found-module.d.ts +2 -3
  419. package/dist/server/default-not-found-module.d.ts +2 -3
  420. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  421. package/dist/server/defer-until-stream-consumed.js +2 -1
  422. package/dist/server/dev-initial-server-error.d.ts +3 -4
  423. package/dist/server/dev-initial-server-error.js +2 -1
  424. package/dist/server/dev-lockfile.d.ts +7 -8
  425. package/dist/server/dev-lockfile.js +4 -1
  426. package/dist/server/dev-module-runner.d.ts +2 -3
  427. package/dist/server/dev-origin-check.d.ts +5 -6
  428. package/dist/server/dev-route-files.d.ts +2 -3
  429. package/dist/server/dev-server.d.ts +4 -5
  430. package/dist/server/dev-server.js +130 -61
  431. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  432. package/dist/server/dev-stack-sourcemap.js +1 -1
  433. package/dist/server/document-initial-head.d.ts +3 -4
  434. package/dist/server/edge-api-runtime.d.ts +4 -5
  435. package/dist/server/fetch-handler.d.ts +3 -2
  436. package/dist/server/fetch-handler.js +3 -18
  437. package/dist/server/file-based-metadata.d.ts +2 -3
  438. package/dist/server/framework-tracer.d.ts +46 -0
  439. package/dist/server/framework-tracer.js +125 -0
  440. package/dist/server/fully-buffered-response.d.ts +11 -0
  441. package/dist/server/fully-buffered-response.js +19 -0
  442. package/dist/server/headers.d.ts +62 -56
  443. package/dist/server/headers.js +33 -20
  444. package/dist/server/html.d.ts +6 -27
  445. package/dist/server/html.js +16 -1
  446. package/dist/server/http-conditional.d.ts +5 -6
  447. package/dist/server/http-date.d.ts +2 -3
  448. package/dist/server/http-error-responses.d.ts +9 -10
  449. package/dist/server/http-range.d.ts +4 -5
  450. package/dist/server/hybrid-route-priority.d.ts +4 -5
  451. package/dist/server/image-optimization.d.ts +20 -21
  452. package/dist/server/implicit-tags.d.ts +3 -4
  453. package/dist/server/instrumentation-runtime.d.ts +17 -21
  454. package/dist/server/instrumentation-runtime.js +26 -8
  455. package/dist/server/instrumentation.d.ts +26 -30
  456. package/dist/server/instrumentation.js +18 -23
  457. package/dist/server/isr-cache.d.ts +28 -27
  458. package/dist/server/isr-cache.js +18 -70
  459. package/dist/server/isr-decision.d.ts +4 -4
  460. package/dist/server/metadata-route-build-data.d.ts +4 -5
  461. package/dist/server/metadata-route-cache-policy.d.ts +2 -3
  462. package/dist/server/metadata-route-response.d.ts +7 -7
  463. package/dist/server/metadata-route-response.js +68 -2
  464. package/dist/server/metadata-routes.d.ts +18 -19
  465. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  466. package/dist/server/middleware-matcher.d.ts +13 -6
  467. package/dist/server/middleware-matcher.js +22 -1
  468. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  469. package/dist/server/middleware-path-to-regexp.js +11 -9
  470. package/dist/server/middleware-response-headers.d.ts +3 -4
  471. package/dist/server/middleware-runtime.d.ts +13 -8
  472. package/dist/server/middleware-runtime.js +54 -10
  473. package/dist/server/middleware.d.ts +5 -5
  474. package/dist/server/multi-stage.d.ts +141 -0
  475. package/dist/server/multi-stage.js +8 -0
  476. package/dist/server/navigation-planner.d.ts +26 -26
  477. package/dist/server/navigation-trace.d.ts +11 -12
  478. package/dist/server/next-error-digest.d.ts +4 -5
  479. package/dist/server/normalize-path.d.ts +5 -6
  480. package/dist/server/normalize-path.js +1 -1
  481. package/dist/server/open-redirect.d.ts +2 -3
  482. package/dist/server/opentelemetry-api.d.ts +59 -0
  483. package/dist/server/opentelemetry-api.js +53 -0
  484. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  485. package/dist/server/opentelemetry-tracing.js +83 -0
  486. package/dist/server/operation-token.d.ts +11 -12
  487. package/dist/server/otel-tracer-extension.d.ts +7 -9
  488. package/dist/server/otel-tracer-extension.js +37 -36
  489. package/dist/server/pages-api-route.d.ts +5 -4
  490. package/dist/server/pages-api-route.js +21 -8
  491. package/dist/server/pages-asset-tags.d.ts +6 -6
  492. package/dist/server/pages-asset-tags.js +37 -2
  493. package/dist/server/pages-body-parser-config.d.ts +4 -5
  494. package/dist/server/pages-body-parser-config.js +4 -4
  495. package/dist/server/pages-client-assets.d.ts +11 -5
  496. package/dist/server/pages-data-route.d.ts +11 -12
  497. package/dist/server/pages-data-route.js +1 -1
  498. package/dist/server/pages-default-404.d.ts +3 -4
  499. package/dist/server/pages-dev-hydration.d.ts +9 -4
  500. package/dist/server/pages-dev-hydration.js +19 -7
  501. package/dist/server/pages-dev-module-url.d.ts +3 -4
  502. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  503. package/dist/server/pages-document-asset-props.d.ts +6 -7
  504. package/dist/server/pages-document-initial-props.d.ts +5 -5
  505. package/dist/server/pages-document-initial-props.js +4 -2
  506. package/dist/server/pages-execution-tracing.d.ts +40 -0
  507. package/dist/server/pages-execution-tracing.js +80 -0
  508. package/dist/server/pages-get-initial-props.d.ts +9 -10
  509. package/dist/server/pages-i18n.d.ts +8 -8
  510. package/dist/server/pages-i18n.js +3 -2
  511. package/dist/server/pages-media-type.d.ts +4 -5
  512. package/dist/server/pages-node-compat.d.ts +11 -10
  513. package/dist/server/pages-node-compat.js +12 -4
  514. package/dist/server/pages-page-data.d.ts +18 -19
  515. package/dist/server/pages-page-data.js +11 -10
  516. package/dist/server/pages-page-handler.d.ts +7 -6
  517. package/dist/server/pages-page-handler.js +98 -47
  518. package/dist/server/pages-page-method.d.ts +2 -3
  519. package/dist/server/pages-page-response.d.ts +14 -10
  520. package/dist/server/pages-page-response.js +49 -31
  521. package/dist/server/pages-preview.d.ts +10 -11
  522. package/dist/server/pages-readiness.d.ts +2 -3
  523. package/dist/server/pages-request-pipeline.d.ts +16 -12
  524. package/dist/server/pages-request-pipeline.js +69 -28
  525. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  526. package/dist/server/pages-request-stage-entry.js +314 -0
  527. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  528. package/dist/server/pages-response-stage-entry.js +106 -0
  529. package/dist/server/pages-response-stage.d.ts +31 -0
  530. package/dist/server/pages-response-stage.js +49 -0
  531. package/dist/server/pages-revalidate.d.ts +3 -4
  532. package/dist/server/pages-revalidate.js +9 -4
  533. package/dist/server/pages-route-data-kind.d.ts +18 -0
  534. package/dist/server/pages-route-data-kind.js +11 -0
  535. package/dist/server/pages-router-entry.d.ts +1 -25
  536. package/dist/server/pages-router-entry.js +48 -114
  537. package/dist/server/pages-serializable-props.d.ts +3 -4
  538. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  539. package/dist/server/pregenerated-concrete-paths.js +12 -6
  540. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  541. package/dist/server/prerender-manifest.d.ts +11 -11
  542. package/dist/server/prerender-manifest.js +6 -3
  543. package/dist/server/prerender-route-params.d.ts +16 -9
  544. package/dist/server/prerender-route-params.js +18 -2
  545. package/dist/server/prerender-work-unit-setup.d.ts +4 -4
  546. package/dist/server/prerender-work-unit-setup.js +37 -14
  547. package/dist/server/prod-server.d.ts +12 -9
  548. package/dist/server/prod-server.js +129 -36
  549. package/dist/server/proxy-trust.d.ts +5 -6
  550. package/dist/server/request-log.d.ts +3 -4
  551. package/dist/server/request-pipeline.d.ts +17 -21
  552. package/dist/server/request-pipeline.js +8 -10
  553. package/dist/server/request-stage.d.ts +5 -0
  554. package/dist/server/request-stage.js +7 -0
  555. package/dist/server/request-tracing.d.ts +22 -0
  556. package/dist/server/request-tracing.js +180 -0
  557. package/dist/server/response-stage-cacheability.d.ts +37 -0
  558. package/dist/server/response-stage-cacheability.js +55 -0
  559. package/dist/server/response-stage-policy.d.ts +23 -0
  560. package/dist/server/response-stage-policy.js +89 -0
  561. package/dist/server/response-stage.d.ts +5 -0
  562. package/dist/server/response-stage.js +7 -0
  563. package/dist/server/response-start-tracing.d.ts +14 -0
  564. package/dist/server/response-start-tracing.js +80 -0
  565. package/dist/server/revalidation-host.d.ts +2 -3
  566. package/dist/server/revalidation-host.js +2 -1
  567. package/dist/server/revalidation-request.d.ts +8 -0
  568. package/dist/server/revalidation-request.js +37 -0
  569. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  570. package/dist/server/rsc-stream-hints.d.ts +18 -7
  571. package/dist/server/rsc-stream-hints.js +70 -35
  572. package/dist/server/seed-cache.d.ts +2 -3
  573. package/dist/server/seed-cache.js +8 -7
  574. package/dist/server/server-action-not-found.d.ts +5 -6
  575. package/dist/server/server-globals.d.ts +2 -3
  576. package/dist/server/server-globals.js +13 -0
  577. package/dist/server/skip-cache-proof.d.ts +4 -4
  578. package/dist/server/socket-error-backstop.d.ts +5 -6
  579. package/dist/server/socket-error-backstop.js +1 -1
  580. package/dist/server/static-file-cache.d.ts +5 -6
  581. package/dist/server/static-file-cache.js +9 -7
  582. package/dist/server/static-file-signal.d.ts +16 -0
  583. package/dist/server/static-file-signal.js +82 -0
  584. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  585. package/dist/server/streaming-metadata.d.ts +2 -3
  586. package/dist/server/tracer.d.ts +5 -0
  587. package/dist/server/tracer.js +13 -0
  588. package/dist/server/worker-prerender-discovery.d.ts +18 -0
  589. package/dist/server/worker-prerender-discovery.js +55 -0
  590. package/dist/server/worker-revalidation-context.d.ts +2 -3
  591. package/dist/server/worker-revalidation-context.js +5 -5
  592. package/dist/server/worker-stages.d.ts +43 -0
  593. package/dist/server/worker-stages.js +25 -0
  594. package/dist/server/worker-utils.d.ts +5 -6
  595. package/dist/server/worker-utils.js +4 -4
  596. package/dist/server/workers-tracing.d.ts +17 -0
  597. package/dist/server/workers-tracing.js +27 -0
  598. package/dist/shims/amp.d.ts +3 -4
  599. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  600. package/dist/shims/app-router-scroll.d.ts +4 -5
  601. package/dist/shims/app-router-scroll.js +2 -1
  602. package/dist/shims/app.d.ts +5 -6
  603. package/dist/shims/before-interactive-context.d.ts +5 -6
  604. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  605. package/dist/shims/cache-callable-runtime.js +168 -8
  606. package/dist/shims/cache-for-request.d.ts +2 -3
  607. package/dist/shims/cache-handler.d.ts +33 -20
  608. package/dist/shims/cache-handler.js +61 -2
  609. package/dist/shims/cache-request-state.d.ts +28 -29
  610. package/dist/shims/cache-runtime.d.ts +23 -21
  611. package/dist/shims/cache-runtime.js +239 -121
  612. package/dist/shims/cache.d.ts +15 -15
  613. package/dist/shims/cache.js +25 -13
  614. package/dist/shims/cacheability-classification.d.ts +106 -0
  615. package/dist/shims/cacheability-classification.js +161 -0
  616. package/dist/shims/cdn-cache-state.d.ts +13 -0
  617. package/dist/shims/cdn-cache-state.js +23 -0
  618. package/dist/shims/cdn-cache.d.ts +76 -18
  619. package/dist/shims/cdn-cache.js +40 -39
  620. package/dist/shims/client-hook-error.d.ts +3 -4
  621. package/dist/shims/client-locale.d.ts +2 -3
  622. package/dist/shims/client-page-root.d.ts +24 -0
  623. package/dist/shims/client-page-root.js +121 -0
  624. package/dist/shims/compat-router.d.ts +2 -3
  625. package/dist/shims/config.d.ts +3 -4
  626. package/dist/shims/constants.d.ts +73 -74
  627. package/dist/shims/constants.js +1 -1
  628. package/dist/shims/default-not-found.d.ts +2 -3
  629. package/dist/shims/document.d.ts +9 -9
  630. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  631. package/dist/shims/dynamic-preload-chunks.js +17 -13
  632. package/dist/shims/dynamic.d.ts +3 -3
  633. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  634. package/dist/shims/error-boundary.d.ts +17 -18
  635. package/dist/shims/error-boundary.js +17 -11
  636. package/dist/shims/error.d.ts +4 -4
  637. package/dist/shims/error.js +1 -1
  638. package/dist/shims/error.react-server.d.ts +3 -4
  639. package/dist/shims/fetch-cache.d.ts +22 -22
  640. package/dist/shims/fetch-cache.js +50 -20
  641. package/dist/shims/font-google-base.d.ts +9 -9
  642. package/dist/shims/font-google-base.js +2 -1
  643. package/dist/shims/font-local.d.ts +3 -3
  644. package/dist/shims/font-local.js +1 -1
  645. package/dist/shims/font-utils.d.ts +14 -15
  646. package/dist/shims/form.d.ts +2 -2
  647. package/dist/shims/form.js +10 -7
  648. package/dist/shims/hash-scroll.d.ts +5 -6
  649. package/dist/shims/head-state.d.ts +4 -5
  650. package/dist/shims/head.d.ts +16 -16
  651. package/dist/shims/head.js +5 -4
  652. package/dist/shims/headers.d.ts +68 -32
  653. package/dist/shims/headers.js +101 -10
  654. package/dist/shims/i18n-context.d.ts +5 -6
  655. package/dist/shims/i18n-state.d.ts +4 -5
  656. package/dist/shims/image-config.d.ts +5 -6
  657. package/dist/shims/image-config.js +2 -0
  658. package/dist/shims/image.d.ts +5 -5
  659. package/dist/shims/image.js +12 -8
  660. package/dist/shims/internal/als-registry.d.ts +4 -5
  661. package/dist/shims/internal/api-utils.d.ts +3 -4
  662. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  663. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  664. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  665. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +13 -0
  666. package/dist/shims/internal/app-prefetch-rsc-request.js +12 -0
  667. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  668. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -6
  669. package/dist/shims/internal/app-route-prefetch-policy.js +1 -0
  670. package/dist/shims/internal/app-router-context.d.ts +9 -10
  671. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  672. package/dist/shims/internal/format-url-object.d.ts +7 -0
  673. package/dist/shims/internal/format-url-object.js +53 -0
  674. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  675. package/dist/shims/internal/hybrid-client-route-owner-direct.js +29 -11
  676. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  677. package/dist/shims/internal/hybrid-client-route-owner.js +5 -4
  678. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  679. package/dist/shims/internal/interpolate-as.js +4 -2
  680. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  681. package/dist/shims/internal/make-hanging-promise.d.ts +8 -3
  682. package/dist/shims/internal/make-hanging-promise.js +13 -2
  683. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  684. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  685. package/dist/shims/internal/normalize-router-href.js +41 -0
  686. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  687. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  688. package/dist/shims/internal/pages-data-target.js +32 -36
  689. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  690. package/dist/shims/internal/pages-data-url.js +2 -1
  691. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  692. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  693. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  694. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  695. package/dist/shims/internal/router-context.d.ts +2 -3
  696. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  697. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  698. package/dist/shims/internal/utils.d.ts +7 -8
  699. package/dist/shims/internal/work-unit-async-storage.d.ts +12 -11
  700. package/dist/shims/layout-segment-context.d.ts +3 -4
  701. package/dist/shims/link-prefetch.d.ts +9 -10
  702. package/dist/shims/link.d.ts +4 -4
  703. package/dist/shims/link.js +67 -116
  704. package/dist/shims/metadata.d.ts +15 -16
  705. package/dist/shims/metadata.js +40 -36
  706. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  707. package/dist/shims/navigation-context-accessors.js +19 -0
  708. package/dist/shims/navigation-context-state.d.ts +27 -18
  709. package/dist/shims/navigation-errors.d.ts +18 -19
  710. package/dist/shims/navigation-state.d.ts +6 -7
  711. package/dist/shims/navigation.d.ts +80 -68
  712. package/dist/shims/navigation.js +45 -17
  713. package/dist/shims/navigation.react-server.d.ts +9 -9
  714. package/dist/shims/navigation.react-server.js +1 -1
  715. package/dist/shims/offline.d.ts +2 -3
  716. package/dist/shims/og.d.ts +2 -2
  717. package/dist/shims/pages-router-runtime.d.ts +4 -5
  718. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  719. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  720. package/dist/shims/request-context.d.ts +7 -6
  721. package/dist/shims/root-params.d.ts +14 -15
  722. package/dist/shims/router-state.d.ts +5 -6
  723. package/dist/shims/router-state.js +1 -1
  724. package/dist/shims/router.d.ts +22 -21
  725. package/dist/shims/router.js +339 -164
  726. package/dist/shims/script-nonce-context.d.ts +8 -6
  727. package/dist/shims/script-nonce-context.js +15 -6
  728. package/dist/shims/script.d.ts +4 -4
  729. package/dist/shims/script.js +9 -7
  730. package/dist/shims/search-params-gate.d.ts +35 -0
  731. package/dist/shims/search-params-gate.js +32 -0
  732. package/dist/shims/server.d.ts +19 -51
  733. package/dist/shims/server.js +14 -28
  734. package/dist/shims/slot.d.ts +33 -15
  735. package/dist/shims/slot.js +41 -9
  736. package/dist/shims/streamed-icons.d.ts +3 -4
  737. package/dist/shims/thenable-params.d.ts +5 -7
  738. package/dist/shims/thenable-params.js +3 -24
  739. package/dist/shims/unified-request-context.d.ts +34 -31
  740. package/dist/shims/unified-request-context.js +34 -24
  741. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  742. package/dist/shims/url-safety.d.ts +5 -6
  743. package/dist/shims/url-utils.d.ts +18 -12
  744. package/dist/shims/url-utils.js +10 -1
  745. package/dist/shims/use-merged-ref.d.ts +2 -3
  746. package/dist/shims/user-agent.d.ts +31 -0
  747. package/dist/shims/user-agent.js +16 -0
  748. package/dist/shims/web-vitals.d.ts +2 -2
  749. package/dist/typegen.d.ts +3 -4
  750. package/dist/utils/asset-prefix.d.ts +7 -8
  751. package/dist/utils/base-path.d.ts +5 -6
  752. package/dist/utils/built-asset-url.d.ts +2 -3
  753. package/dist/utils/built-asset-url.js +1 -1
  754. package/dist/utils/cache-control-metadata.d.ts +4 -5
  755. package/dist/utils/client-build-manifest.d.ts +6 -7
  756. package/dist/utils/client-build-manifest.js +2 -1
  757. package/dist/utils/client-entry-manifest.d.ts +6 -7
  758. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  759. package/dist/utils/client-runtime-metadata.js +18 -1
  760. package/dist/utils/commonjs-loader.d.ts +4 -5
  761. package/dist/utils/compare.d.ts +2 -3
  762. package/dist/utils/deployment-id.d.ts +6 -7
  763. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  764. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  765. package/dist/utils/domain-locale.d.ts +7 -8
  766. package/dist/utils/encode-cache-tag.d.ts +3 -4
  767. package/dist/utils/error-cause.d.ts +2 -3
  768. package/dist/utils/external-url.d.ts +2 -3
  769. package/dist/utils/has-trailing-comma.d.ts +3 -4
  770. package/dist/utils/hash.d.ts +3 -4
  771. package/dist/utils/html-limited-bots.d.ts +3 -4
  772. package/dist/utils/lazy-chunks.d.ts +8 -9
  773. package/dist/utils/lazy-chunks.js +4 -4
  774. package/dist/utils/manifest-paths.d.ts +5 -6
  775. package/dist/utils/mdx-scan.d.ts +11 -4
  776. package/dist/utils/mdx-scan.js +27 -1
  777. package/dist/utils/middleware-request-headers.d.ts +7 -6
  778. package/dist/utils/middleware-request-headers.js +6 -1
  779. package/dist/utils/navigation-signal.d.ts +3 -3
  780. package/dist/utils/navigation-signal.js +16 -1
  781. package/dist/utils/number.d.ts +2 -3
  782. package/dist/utils/package-name.d.ts +3 -4
  783. package/dist/utils/parse-cookie.d.ts +4 -5
  784. package/dist/utils/path.d.ts +8 -9
  785. package/dist/utils/plugin-options.d.ts +2 -3
  786. package/dist/utils/precompressed-variant.d.ts +3 -4
  787. package/dist/utils/prerender-output-paths.d.ts +9 -10
  788. package/dist/utils/prerender-output-paths.js +16 -9
  789. package/dist/utils/project.d.ts +19 -30
  790. package/dist/utils/project.js +20 -29
  791. package/dist/utils/promise.d.ts +2 -3
  792. package/dist/utils/protocol-headers.d.ts +14 -15
  793. package/dist/utils/public-file-path.d.ts +2 -3
  794. package/dist/utils/public-routes.d.ts +2 -3
  795. package/dist/utils/query.d.ts +14 -9
  796. package/dist/utils/query.js +22 -1
  797. package/dist/utils/react-compiler-support.d.ts +6 -7
  798. package/dist/utils/react-version.d.ts +4 -3
  799. package/dist/utils/react-version.js +19 -1
  800. package/dist/utils/record.d.ts +2 -3
  801. package/dist/utils/redirect-digest.d.ts +3 -4
  802. package/dist/utils/regex-safety.d.ts +4 -5
  803. package/dist/utils/regex.d.ts +2 -3
  804. package/dist/utils/safe-json-file.d.ts +2 -3
  805. package/dist/utils/sorted-array.d.ts +2 -3
  806. package/dist/utils/text-stream.d.ts +3 -4
  807. package/dist/utils/vinext-root.d.ts +2 -3
  808. package/dist/utils/virtual-module.d.ts +3 -4
  809. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  810. package/dist/utils/vite-cli-invocation.js +144 -0
  811. package/dist/utils/vite-version.d.ts +5 -6
  812. package/next-package.json +4 -0
  813. package/package.json +55 -6
@@ -1,29 +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
- import { VINEXT_PRERENDER_RENDER_ERROR_HEADER, VINEXT_STATIC_FILE_HEADER } from "./headers.js";
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";
12
+ import { readStaticFileSignal } from "./static-file-signal.js";
9
13
  import { canonicalizeRequestPathname, filterInternalHeaders } from "./request-pipeline.js";
10
- import { isUnknownRecord } from "../utils/record.js";
11
14
  import { parseHttpDate } from "./http-date.js";
12
15
  import { evaluateStaticPreconditions } from "./http-conditional.js";
13
16
  import { buildNextDataNotFoundResponse, encodeUrlParserIgnoredCharacters, isNextDataPathname, normalizeNextDataPagePathname, parseNextDataPathname, shouldAddTrailingSlashToPagesDataPath, urlParserCreatesPagesDataPath } from "./pages-data-route.js";
14
- import { ASSET_PREFIX_URL_DIR, assetPrefixPathname, isAbsoluteAssetPrefix } from "../utils/asset-prefix.js";
15
17
  import { setPagesClientAssets } from "./pages-client-assets.js";
16
18
  import { resolveRequestHost, resolveRequestProtocol, trustProxy, trustedHosts } from "./proxy-trust.js";
17
19
  import { DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, isImageOptimizationPath, isSafeImageContentType, parseImageParams } from "./image-optimization.js";
18
20
  import { installSocketErrorBackstop } from "./socket-error-backstop.js";
19
- import { StaticFileCache, contentTypeForPath, etagFromFilenameHash } from "./static-file-cache.js";
20
21
  import { collectInlineCssManifest } from "../build/inline-css.js";
21
22
  import { readTrustedRevalidationHostname } from "./revalidation-host.js";
23
+ import { traceFrameworkRequest } from "./request-tracing.js";
22
24
  import { finalizeMissingStaticAssetResponse, mergeHeaders } from "./worker-utils.js";
23
25
  import { runPagesRequest, wrapMiddlewareWithBasePath } from "./pages-request-pipeline.js";
24
26
  import { computeClientRuntimeMetadata } from "../utils/client-runtime-metadata.js";
25
- import { readTrustedPrerenderRouteParamsFromHeaders, serializePrerenderRouteParamsHeader } from "./prerender-route-params.js";
26
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";
27
30
  import { seedMemoryCacheFromPrerender } from "./seed-cache.js";
28
31
  import { negotiateEncoding, parseAcceptedEncodings, selectContentEncoding } from "./accept-encoding.js";
29
32
  import { ifRangeAllowsRange, parseByteRange } from "./http-range.js";
@@ -39,7 +42,7 @@ import { createServer } from "node:http";
39
42
  /**
40
43
  * Production server for vinext.
41
44
  *
42
- * Serves the built output from `vinext build`. Handles:
45
+ * Serves the built output from `vite build`. Handles:
43
46
  * - Static asset serving from client build output
44
47
  * - Pages Router: SSR rendering + API route handling
45
48
  * - App Router: RSC/SSR rendering, route handlers, server actions
@@ -275,7 +278,6 @@ const NO_BODY_RESPONSE_STATUSES = /* @__PURE__ */ new Set([
275
278
  ]);
276
279
  const OMIT_BODY_HEADERS = /* @__PURE__ */ new Set(["content-length", "content-type"]);
277
280
  const OMIT_STATIC_RESPONSE_HEADERS = /* @__PURE__ */ new Set([
278
- VINEXT_STATIC_FILE_HEADER,
279
281
  "content-encoding",
280
282
  "content-length",
281
283
  "content-range",
@@ -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;
@@ -1071,7 +1109,7 @@ async function startAppRouterServer(options) {
1071
1109
  await sendWebResponse(finalizeMissingStaticAssetResponse(response, true), req, res, compress);
1072
1110
  return;
1073
1111
  }
1074
- const staticFileSignal = response.headers.get(VINEXT_STATIC_FILE_HEADER);
1112
+ const staticFileSignal = readStaticFileSignal(response);
1075
1113
  if (staticFileSignal) {
1076
1114
  let staticFilePath = "/";
1077
1115
  try {
@@ -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)) {
@@ -1208,8 +1298,8 @@ async function startPagesRouterServer(options) {
1208
1298
  const defaultLocale = parsedUrl.searchParams.get("defaultLocale") ?? "";
1209
1299
  const fn = (pageRoutes?.find((r) => r.pattern === pattern))?.module?.getStaticPaths;
1210
1300
  if (typeof fn !== "function") {
1211
- res.writeHead(200, { "Content-Type": "application/json" });
1212
- res.end("null");
1301
+ res.writeHead(204);
1302
+ res.end();
1213
1303
  return;
1214
1304
  }
1215
1305
  try {
@@ -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
@@ -1,5 +1,6 @@
1
1
  import { INTERNAL_HEADERS, VINEXT_INTERNAL_HEADERS } from "./headers.js";
2
2
  import { hasBasePath, stripBasePath } from "../utils/base-path.js";
3
+ import { StaticFileSignalContext, createStaticFileSignal } from "./static-file-signal.js";
3
4
  import { isOpenRedirectShaped } from "./open-redirect.js";
4
5
  //#region src/server/request-pipeline.d.ts
5
6
  /**
@@ -12,9 +13,9 @@ import { isOpenRedirectShaped } from "./open-redirect.js";
12
13
  * must do this before comparing raw route/config/basePath identity so those
13
14
  * comparisons agree with the `Request` that userland eventually receives.
14
15
  */
15
- declare function canonicalizeRequestPathname(pathname: string): string;
16
+ export declare function canonicalizeRequestPathname(pathname: string): string;
16
17
  /** Canonicalize only the pathname portion while preserving the raw query. */
17
- declare function canonicalizeRequestUrlPathname(url: string): string;
18
+ export declare function canonicalizeRequestUrlPathname(url: string): string;
18
19
  /**
19
20
  * Shared request pipeline utilities.
20
21
  *
@@ -52,12 +53,8 @@ declare function canonicalizeRequestUrlPathname(url: string): string;
52
53
  * @param rawPathname - The raw pathname from the URL, before any normalization
53
54
  * @returns A 404 Response if the path is protocol-relative, or null to continue
54
55
  */
55
- declare function guardProtocolRelativeUrl(rawPathname: string): Response | null;
56
- type HeaderRecord = Record<string, string | string[]>;
57
- type StaticFileSignalContext = {
58
- headers: Headers | null;
59
- status: number | null;
60
- };
56
+ export declare function guardProtocolRelativeUrl(rawPathname: string): Response | null;
57
+ export type HeaderRecord = Record<string, string | string[]>;
61
58
  type ResolvePublicFileRouteOptions = {
62
59
  cleanPathname: string;
63
60
  middlewareContext: StaticFileSignalContext;
@@ -65,7 +62,6 @@ type ResolvePublicFileRouteOptions = {
65
62
  publicFiles: ReadonlySet<string>;
66
63
  request: Request;
67
64
  };
68
- declare function createStaticFileSignal(pathname: string, context: StaticFileSignalContext): Response;
69
65
  /**
70
66
  * Resolve the public/ filesystem-route slot in the Next.js routing order.
71
67
  *
@@ -74,8 +70,8 @@ declare function createStaticFileSignal(pathname: string, context: StaticFileSig
74
70
  * helper owns the RSC exclusion, existence-first method enforcement, and
75
71
  * static-file signaling. Missing mutation targets continue through routing.
76
72
  */
77
- declare function resolvePublicFileRoute(options: ResolvePublicFileRouteOptions): Response | null;
78
- 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;
79
75
  /**
80
76
  * Check if the pathname needs a trailing slash redirect, and return the
81
77
  * redirect Response if so.
@@ -94,7 +90,7 @@ declare function normalizeTrailingSlashPathname(pathname: string, trailingSlash:
94
90
  * @param search - The query string (including `?`) to preserve in the redirect
95
91
  * @returns A 308 redirect Response, or null if no redirect is needed
96
92
  */
97
- 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;
98
94
  /**
99
95
  * Validate CSRF origin for server action requests.
100
96
  *
@@ -106,7 +102,7 @@ declare function normalizeTrailingSlash(pathname: string, basePath: string, trai
106
102
  * @param allowedOrigins - Origins from experimental.serverActions.allowedOrigins
107
103
  * @returns A 403 Response if origin validation fails, or null to continue
108
104
  */
109
- declare function validateCsrfOrigin(request: Request, allowedOrigins?: string[]): Response | null;
105
+ export declare function validateCsrfOrigin(request: Request, allowedOrigins?: string[]): Response | null;
110
106
  /**
111
107
  * Reject malformed Flight container reference graphs in server action payloads.
112
108
  *
@@ -119,8 +115,8 @@ declare function validateCsrfOrigin(request: Request, allowedOrigins?: string[])
119
115
  * numeric backing-field graphs that contain missing backing fields or cycles.
120
116
  * Regular user form fields are ignored entirely.
121
117
  */
122
- declare function validateServerActionPayload(body: string | FormData): Promise<Response | null>;
123
- 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;
124
120
  /**
125
121
  * Strip internal `x-middleware-*` headers from a Headers object.
126
122
  *
@@ -132,7 +128,7 @@ declare function isOriginAllowed(origin: string, allowed: string[]): boolean;
132
128
  *
133
129
  * @param headers - The Headers object to modify in place
134
130
  */
135
- declare function processMiddlewareHeaders(headers: Headers): void;
131
+ export declare function processMiddlewareHeaders(headers: Headers): void;
136
132
  /**
137
133
  * Strip internal headers from an inbound request so they cannot be forged by
138
134
  * an external attacker to influence routing or impersonate internal state.
@@ -148,14 +144,14 @@ declare function processMiddlewareHeaders(headers: Headers): void;
148
144
  * @param headers - The source Headers (never modified)
149
145
  * @returns A new Headers with internal framework headers removed
150
146
  */
151
- declare function filterInternalHeaders(headers: Headers): Headers;
147
+ export declare function filterInternalHeaders(headers: Headers): Headers;
152
148
  /**
153
149
  * Re-attach the Workers-specific `cf` metadata from `source` onto a rebuilt
154
150
  * Request. `new Request()` never copies it, and middleware/authorization code
155
151
  * can key off `request.cf` (geo checks, bot scores), so every reconstruction
156
152
  * must restore it explicitly.
157
153
  */
158
- declare function attachRequestCfMetadata(target: Request, source: Request): Request;
154
+ export declare function attachRequestCfMetadata(target: Request, source: Request): Request;
159
155
  /**
160
156
  * Clone a Request while overriding headers, preserving metadata when possible.
161
157
  *
@@ -164,7 +160,7 @@ declare function attachRequestCfMetadata(target: Request, source: Request): Requ
164
160
  * when cloning a foreign Request instance. In that case, fall back to building
165
161
  * a RequestInit with best-effort metadata.
166
162
  */
167
- declare function cloneRequestWithHeaders(request: Request, headers: Headers): Request;
163
+ export declare function cloneRequestWithHeaders(request: Request, headers: Headers): Request;
168
164
  /**
169
165
  * Clone a Request while overriding the URL, preserving headers and metadata
170
166
  * when possible.
@@ -177,6 +173,6 @@ declare function cloneRequestWithHeaders(request: Request, headers: Headers): Re
177
173
  * both are handled explicitly — the same reasons `cloneRequestWithHeaders`
178
174
  * exists.
179
175
  */
180
- declare function cloneRequestWithUrl(request: Request, url: string): Request;
176
+ export declare function cloneRequestWithUrl(request: Request, url: string): Request;
181
177
  //#endregion
182
- 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,9 +1,10 @@
1
- import { hasBasePath, removeTrailingSlash, stripBasePath } from "../utils/base-path.js";
2
1
  import "../utils/protocol-headers.js";
3
- import { INTERNAL_HEADERS, VINEXT_INTERNAL_HEADERS, VINEXT_STATIC_FILE_HEADER } 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
+ import { createStaticFileSignal } from "./static-file-signal.js";
7
8
  //#region src/server/request-pipeline.ts
8
9
  const PATHNAME_CANONICALIZATION_BASE = new URL("http://vinext.invalid/");
9
10
  /**
@@ -73,14 +74,6 @@ const FILE_LIKE_PATHNAME_RE = /\.[^/]+\/?$/;
73
74
  function isWellKnownPathname(pathname) {
74
75
  return pathname === "/.well-known" || pathname.startsWith("/.well-known/");
75
76
  }
76
- function createStaticFileSignal(pathname, context) {
77
- const headers = new Headers({ [VINEXT_STATIC_FILE_HEADER]: encodeURIComponent(pathname) });
78
- if (context.headers) for (const [key, value] of context.headers) headers.append(key, value);
79
- return new Response(null, {
80
- status: context.status ?? 200,
81
- headers
82
- });
83
- }
84
77
  /**
85
78
  * Resolve the public/ filesystem-route slot in the Next.js routing order.
86
79
  *
@@ -343,6 +336,11 @@ function getRequestCf(request) {
343
336
  * must restore it explicitly.
344
337
  */
345
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
+ }
346
344
  const cf = getRequestCf(source);
347
345
  if (cf !== void 0) Object.defineProperty(target, "cf", {
348
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