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
@@ -3,8 +3,8 @@ import { LayoutBuildClassification } from "./layout-classification-types.js";
3
3
  import { Route } from "../routing/pages-router.js";
4
4
  import { PrerenderResult } from "./prerender.js";
5
5
  //#region src/build/report.d.ts
6
- type RouteType = "static" | "isr" | "ssr" | "unknown" | "api";
7
- type RouteRow = {
6
+ export type RouteType = "static" | "isr" | "ssr" | "unknown" | "api";
7
+ export type RouteRow = {
8
8
  pattern: string;
9
9
  type: RouteType;
10
10
  /** Only set for `isr` routes. */
@@ -23,8 +23,8 @@ type StaticMiddlewareMatcherObject = {
23
23
  has?: Array<Record<string, string>>;
24
24
  missing?: Array<Record<string, string>>;
25
25
  };
26
- type StaticMiddlewareMatcher = string | Array<string | StaticMiddlewareMatcherObject>;
27
- declare function getAppRouteRenderEntryPath(route: AppRouteRenderEntry): string | null;
26
+ export type StaticMiddlewareMatcher = string | Array<string | StaticMiddlewareMatcherObject>;
27
+ export declare function getAppRouteRenderEntryPath(route: AppRouteRenderEntry): string | null;
28
28
  /**
29
29
  * Returns true if the source code contains an export declaration with the given name.
30
30
  * For re-export specifiers, this intentionally follows Next.js' static analyzer
@@ -34,23 +34,28 @@ declare function getAppRouteRenderEntryPath(route: AppRouteRenderEntry): string
34
34
  * export const foo = ...
35
35
  * export { foo }
36
36
  */
37
- declare function hasNamedExport(code: string, name: string): boolean;
37
+ export declare function hasNamedExport(code: string, name: string): boolean;
38
38
  /** Returns true when Next.js' analyzer recognizes the requested export name. */
39
- declare function hasExportedName(code: string, name: string): boolean;
39
+ export declare function hasExportedName(code: string, name: string): boolean;
40
+ /**
41
+ * Whether the module's runtime value exports include the given name. Type-only
42
+ * exports and re-export aliases under another name don't count.
43
+ */
44
+ export declare function hasRuntimeExportedName(code: string, name: string): boolean;
40
45
  /**
41
46
  * Extracts the string value of `export const <name> = "value"`.
42
47
  * Handles TypeScript annotations/assertions and no-substitution template literals.
43
48
  * Returns null if the export is absent or not a string literal.
44
49
  */
45
- declare function extractExportConstString(code: string, name: string): string | null;
46
- declare function extractMiddlewareMatcherConfig(filePath: string): StaticMiddlewareMatcher | undefined;
50
+ export declare function extractExportConstString(code: string, name: string): string | null;
51
+ export declare function extractMiddlewareMatcherConfig(filePath: string): StaticMiddlewareMatcher | undefined;
47
52
  /**
48
53
  * Extract the statically analyzable `config.matcher` value without first
49
54
  * narrowing it to vinext's runtime matcher type. Build validation needs the
50
55
  * raw value so malformed matcher objects are rejected instead of disappearing
51
56
  * as though no matcher had been configured.
52
57
  */
53
- declare function extractMiddlewareMatcherConfigValue(filePath: string): unknown;
58
+ export declare function extractMiddlewareMatcherConfigValue(filePath: string): unknown;
54
59
  /**
55
60
  * Extracts the numeric value of `export const <name> = <number|false>`.
56
61
  * Supports integers, decimals, negative values, `Infinity`, and `false`.
@@ -59,7 +64,7 @@ declare function extractMiddlewareMatcherConfigValue(filePath: string): unknown;
59
64
  * Handles TypeScript annotations/assertions and JavaScript numeric separators.
60
65
  * Returns null if the export is absent or not a number/`false`.
61
66
  */
62
- declare function extractExportConstNumber(code: string, name: string): number | null;
67
+ export declare function extractExportConstNumber(code: string, name: string): number | null;
63
68
  /**
64
69
  * Extracts the `revalidate` value from inside a `getStaticProps` return object.
65
70
  * Looks for: revalidate: <number> or revalidate: false or revalidate: Infinity
@@ -71,7 +76,7 @@ declare function extractExportConstNumber(code: string, name: string): number |
71
76
  * Infinity — fully static (treated same as false by Next.js)
72
77
  * null — no `revalidate` key found (fully static)
73
78
  */
74
- declare function extractGetStaticPropsRevalidate(code: string): number | false | null;
79
+ export declare function extractGetStaticPropsRevalidate(code: string): number | false | null;
75
80
  /**
76
81
  * Classifies a layout file by its segment config exports (`dynamic`, `revalidate`).
77
82
  *
@@ -84,14 +89,16 @@ declare function extractGetStaticPropsRevalidate(code: string): number | false |
84
89
  * for layout skip decisions — ISR is a page-level concept. Only the extremes
85
90
  * (`revalidate = 0` → dynamic, `revalidate = Infinity` → static) are decisive.
86
91
  */
87
- declare function classifyLayoutSegmentConfig(code: string): LayoutBuildClassification;
92
+ export declare function classifyLayoutSegmentConfig(code: string): LayoutBuildClassification;
88
93
  /**
89
94
  * Classifies a Pages Router page file by reading its source and examining
90
95
  * which data-fetching exports it contains.
91
96
  *
92
97
  * API routes (files under pages/api/) are always `api`.
93
98
  */
94
- declare function classifyPagesRoute(filePath: string): {
99
+ export declare function classifyPagesRoute(filePath: string): {
100
+ hasStaticProps?: boolean;
101
+ hasServerSideProps?: boolean;
95
102
  type: RouteType;
96
103
  revalidate?: number;
97
104
  };
@@ -102,10 +109,23 @@ declare function classifyPagesRoute(filePath: string): {
102
109
  * @param routePath Absolute path to the route.ts handler (null for page routes)
103
110
  * @param isDynamic Whether the URL pattern contains dynamic segments
104
111
  */
105
- declare function classifyAppRoute(pagePath: string | null, routePath: string | null, isDynamic: boolean): {
112
+ export declare function classifyAppRoute(pagePath: string | null, routePath: string | null, isDynamic: boolean): {
106
113
  type: RouteType;
107
114
  revalidate?: number;
108
115
  };
116
+ /**
117
+ * Return whether a Route Handler has a GET contract that Next.js considers
118
+ * eligible for static generation. This intentionally examines only the route
119
+ * module's direct segment config; request-time dynamic usage is decided by the
120
+ * staged Worker probe after the module has executed to completion.
121
+ *
122
+ * Ported from Next.js:
123
+ * packages/next/src/server/route-modules/app-route/helpers/is-static-gen-enabled.ts
124
+ */
125
+ export declare function classifyAppRouteHandler(filePath: string): {
126
+ hasGet: boolean;
127
+ staticGenerationEnabled: boolean;
128
+ };
109
129
  /**
110
130
  * Builds a sorted list of RouteRow objects from the discovered routes.
111
131
  * Routes are sorted alphabetically by path, matching filesystem order.
@@ -115,7 +135,7 @@ declare function classifyAppRoute(pagePath: string | null, routePath: string | n
115
135
  * to `static` (confirmed by execution). The `prerendered` flag is set on those
116
136
  * rows so the formatter can add a legend note.
117
137
  */
118
- declare function buildReportRows(options: {
138
+ export declare function buildReportRows(options: {
119
139
  pageRoutes?: Route[];
120
140
  apiRoutes?: Route[];
121
141
  appRoutes?: AppRoute[];
@@ -133,15 +153,14 @@ declare function buildReportRows(options: {
133
153
  *
134
154
  * ○ Static ◐ ISR ƒ Dynamic λ API
135
155
  */
136
- declare function formatBuildReport(rows: RouteRow[], routerLabel?: string): string;
156
+ export declare function formatBuildReport(rows: RouteRow[], routerLabel?: string): string;
137
157
  /**
138
158
  * Scans the project at `root`, classifies all routes, and prints the
139
159
  * Next.js-style build report to stdout.
140
160
  */
141
- declare function printBuildReport(options: {
161
+ export declare function printBuildReport(options: {
142
162
  root: string;
143
163
  pageExtensions: string[];
144
164
  prerenderResult?: PrerenderResult;
145
165
  }): Promise<void>;
146
- //#endregion
147
- export { RouteRow, RouteType, StaticMiddlewareMatcher, buildReportRows, classifyAppRoute, classifyLayoutSegmentConfig, classifyPagesRoute, extractExportConstNumber, extractExportConstString, extractGetStaticPropsRevalidate, extractMiddlewareMatcherConfig, extractMiddlewareMatcherConfigValue, formatBuildReport, getAppRouteRenderEntryPath, hasExportedName, hasNamedExport, printBuildReport };
166
+ //#endregion
@@ -4,7 +4,7 @@ import fs from "node:fs";
4
4
  import { parseSync } from "vite";
5
5
  //#region src/build/report.ts
6
6
  /**
7
- * Build report — prints a Next.js-style route table after `vinext build`.
7
+ * Build report — prints a Next.js-style route table after `vite build`.
8
8
  *
9
9
  * Classifies every discovered route as:
10
10
  * ○ Static — confirmed static: force-static or revalidate=Infinity
@@ -89,6 +89,14 @@ function hasExportedName(code, name) {
89
89
  }
90
90
  return false;
91
91
  }
92
+ /**
93
+ * Whether the module's runtime value exports include the given name. Type-only
94
+ * exports and re-export aliases under another name don't count.
95
+ */
96
+ function hasRuntimeExportedName(code, name) {
97
+ const program = parseRouteModule(code);
98
+ return program !== null && hasRuntimeExportedNameInProgram(program, name);
99
+ }
92
100
  function hasNamedExportInProgram(program, name) {
93
101
  for (const node of program.body) {
94
102
  if (node.type !== "ExportNamedDeclaration") continue;
@@ -97,6 +105,20 @@ function hasNamedExportInProgram(program, name) {
97
105
  }
98
106
  return false;
99
107
  }
108
+ function hasRuntimeExportedNameInProgram(program, name) {
109
+ for (const node of program.body) {
110
+ if (node.type !== "ExportNamedDeclaration" || node.exportKind === "type") continue;
111
+ if (declarationHasBindingName(node.declaration, name)) return true;
112
+ for (const specifier of node.specifiers) {
113
+ if (specifier.exportKind === "type") continue;
114
+ if (moduleExportNameValue(specifier.exported ?? specifier.local) === name) return true;
115
+ }
116
+ }
117
+ return false;
118
+ }
119
+ function hasRuntimeExportAllInProgram(program) {
120
+ return program.body.some((node) => node.type === "ExportAllDeclaration" && node.exportKind !== "type");
121
+ }
100
122
  function unwrapStaticExpression(expression) {
101
123
  let current = expression;
102
124
  while (current.type === "ParenthesizedExpression" || current.type === "TSAsExpression" || current.type === "TSSatisfiesExpression" || current.type === "TSTypeAssertion" || current.type === "TSNonNullExpression") current = current.expression;
@@ -434,12 +456,19 @@ function classifyPagesRoute(filePath) {
434
456
  return { type: "unknown" };
435
457
  }
436
458
  const program = parseRouteModule(code);
437
- if (program && hasNamedExportInProgram(program, "getServerSideProps")) return { type: "ssr" };
459
+ if (program && hasNamedExportInProgram(program, "getServerSideProps")) return {
460
+ hasServerSideProps: true,
461
+ type: "ssr"
462
+ };
438
463
  if (program && hasNamedExportInProgram(program, "getStaticProps")) {
439
464
  const revalidate = extractGetStaticPropsRevalidateFromProgram(program, code);
440
- if (revalidate === null || revalidate === false || revalidate === Infinity) return { type: "static" };
465
+ if (revalidate === null || revalidate === false || revalidate === Infinity) return {
466
+ hasStaticProps: true,
467
+ type: "static"
468
+ };
441
469
  if (revalidate === 0) return { type: "ssr" };
442
470
  return {
471
+ hasStaticProps: true,
443
472
  type: "isr",
444
473
  revalidate
445
474
  };
@@ -480,6 +509,46 @@ function classifyAppRoute(pagePath, routePath, isDynamic) {
480
509
  return { type: "unknown" };
481
510
  }
482
511
  /**
512
+ * Return whether a Route Handler has a GET contract that Next.js considers
513
+ * eligible for static generation. This intentionally examines only the route
514
+ * module's direct segment config; request-time dynamic usage is decided by the
515
+ * staged Worker probe after the module has executed to completion.
516
+ *
517
+ * Ported from Next.js:
518
+ * packages/next/src/server/route-modules/app-route/helpers/is-static-gen-enabled.ts
519
+ */
520
+ function classifyAppRouteHandler(filePath) {
521
+ let code;
522
+ try {
523
+ code = fs.readFileSync(filePath, "utf8");
524
+ } catch {
525
+ return {
526
+ hasGet: false,
527
+ staticGenerationEnabled: false
528
+ };
529
+ }
530
+ const program = parseRouteModule(code);
531
+ if (!program) return {
532
+ hasGet: false,
533
+ staticGenerationEnabled: false
534
+ };
535
+ const dynamicValue = extractExportConstStringFromProgram(program, "dynamic");
536
+ const revalidateValue = extractExportConstNumberFromProgram(program, "revalidate");
537
+ const hasGet = hasRuntimeExportedNameInProgram(program, "GET");
538
+ const hasNonStaticMethod = [
539
+ "POST",
540
+ "PUT",
541
+ "DELETE",
542
+ "PATCH",
543
+ "OPTIONS"
544
+ ].some((method) => hasRuntimeExportedNameInProgram(program, method));
545
+ const hasUnknownRuntimeExports = hasRuntimeExportAllInProgram(program);
546
+ return {
547
+ hasGet,
548
+ staticGenerationEnabled: !hasNonStaticMethod && !hasUnknownRuntimeExports && (dynamicValue === "force-static" || dynamicValue === "error" || revalidateValue === Infinity || revalidateValue !== null && revalidateValue > 0 || hasRuntimeExportedNameInProgram(program, "generateStaticParams"))
549
+ };
550
+ }
551
+ /**
483
552
  * Builds a sorted list of RouteRow objects from the discovered routes.
484
553
  * Routes are sorted alphabetically by path, matching filesystem order.
485
554
  *
@@ -606,4 +675,4 @@ async function printBuildReport(options) {
606
675
  }
607
676
  }
608
677
  //#endregion
609
- export { buildReportRows, classifyAppRoute, classifyLayoutSegmentConfig, classifyPagesRoute, extractExportConstNumber, extractExportConstString, extractGetStaticPropsRevalidate, extractMiddlewareMatcherConfig, extractMiddlewareMatcherConfigValue, formatBuildReport, getAppRouteRenderEntryPath, hasExportedName, hasNamedExport, printBuildReport };
678
+ export { buildReportRows, classifyAppRoute, classifyAppRouteHandler, classifyLayoutSegmentConfig, classifyPagesRoute, extractExportConstNumber, extractExportConstString, extractGetStaticPropsRevalidate, extractMiddlewareMatcherConfig, extractMiddlewareMatcherConfigValue, formatBuildReport, getAppRouteRenderEntryPath, hasExportedName, hasNamedExport, hasRuntimeExportedName, printBuildReport };
@@ -28,6 +28,5 @@ type PlanRouteClassificationInjectionOptions = {
28
28
  manifest: RouteClassificationManifest;
29
29
  moduleInfo: ModuleInfoProvider;
30
30
  };
31
- declare function planRouteClassificationInjection(options: PlanRouteClassificationInjectionOptions): RouteClassificationInjectionPlan;
32
- //#endregion
33
- export { planRouteClassificationInjection };
31
+ export declare function planRouteClassificationInjection(options: PlanRouteClassificationInjectionOptions): RouteClassificationInjectionPlan;
32
+ //#endregion
@@ -16,7 +16,7 @@ type RouteManifestEntry = {
16
16
  */
17
17
  layer1Reasons: Map<number, ClassificationReason>;
18
18
  };
19
- type RouteClassificationManifest = {
19
+ export type RouteClassificationManifest = {
20
20
  routes: RouteManifestEntry[];
21
21
  };
22
22
  /**
@@ -25,7 +25,7 @@ type RouteClassificationManifest = {
25
25
  * layout means the routing scan and the filesystem have drifted, and shipping
26
26
  * a build in that state would silently break layout rendering.
27
27
  */
28
- declare function collectRouteClassificationManifest(routes: readonly AppRoute[]): RouteClassificationManifest;
28
+ export declare function collectRouteClassificationManifest(routes: readonly AppRoute[]): RouteClassificationManifest;
29
29
  /**
30
30
  * Builds a JavaScript arrow-function expression that dispatches route index
31
31
  * to a pre-computed `Map<layoutIndex, "static" | "dynamic">` of build-time
@@ -36,7 +36,7 @@ declare function collectRouteClassificationManifest(routes: readonly AppRoute[])
36
36
  * module-graph classifier can only prove static, so "needs-probe" results
37
37
  * are omitted by the caller before this map is constructed.
38
38
  */
39
- declare function buildClassificationReplacement(manifest: RouteClassificationManifest, layer2PerRoute: ReadonlyMap<number, ReadonlyMap<number, ModuleGraphStaticReason>>): string;
39
+ export declare function buildClassificationReplacement(manifest: RouteClassificationManifest, layer2PerRoute: ReadonlyMap<number, ReadonlyMap<number, ModuleGraphStaticReason>>): string;
40
40
  /**
41
41
  * Sibling of `buildClassificationReplacement`: emits a dispatch function
42
42
  * that returns `Map<layoutIndex, ClassificationReason>` per route.
@@ -49,6 +49,5 @@ declare function buildClassificationReplacement(manifest: RouteClassificationMan
49
49
  * a segment-config reason must override a module-graph reason for the same
50
50
  * layout index.
51
51
  */
52
- declare function buildReasonsReplacement(manifest: RouteClassificationManifest, layer2PerRoute: ReadonlyMap<number, ReadonlyMap<number, ModuleGraphStaticReason>>): string;
53
- //#endregion
54
- export { RouteClassificationManifest, buildClassificationReplacement, buildReasonsReplacement, collectRouteClassificationManifest };
52
+ export declare function buildReasonsReplacement(manifest: RouteClassificationManifest, layer2PerRoute: ReadonlyMap<number, ReadonlyMap<number, ModuleGraphStaticReason>>): string;
53
+ //#endregion
@@ -1,3 +1,4 @@
1
+ import { VinextRouteRootConfig } from "../config/prerender.js";
1
2
  import { ResolvedNextConfig } from "../config/next-config.js";
2
3
  import { PrerenderResult, PrerenderRouteResult } from "./prerender.js";
3
4
  //#region src/build/run-prerender.d.ts
@@ -14,10 +15,13 @@ type RunPrerenderOptions = {
14
15
  pagesBundlePath?: string;
15
16
  /**
16
17
  * Override the path to the App Router RSC bundle.
17
- * Defaults to `<root>/dist/server/index.js`.
18
+ * Defaults to the App handler recorded in the server build manifest, or
19
+ * `<root>/dist/server/index.js` for builds without a manifest.
18
20
  * Intended for tests that build to a custom outDir.
19
21
  */
20
22
  rscBundlePath?: string;
23
+ /** Build output roots captured from the vinext Vite plugin. */
24
+ routeRootConfig?: VinextRouteRootConfig | null;
21
25
  /**
22
26
  * Maximum number of routes rendered in parallel.
23
27
  * Defaults to prerenderApp/prerenderPages internal defaults when omitted.
@@ -33,16 +37,15 @@ type RunPrerenderOptions = {
33
37
  * to stderr/stdout. Returns the full PrerenderResult so callers can pass it to
34
38
  * printBuildReport.
35
39
  *
36
- * Works for both plain Node and Cloudflare Workers builds — the CF Workers
37
- * bundle outputs `dist/server/index.js` which is a standard Node server entry,
38
- * so no wrangler/miniflare is needed.
40
+ * Works for both plain Node and hosted builds by resolving the generated App
41
+ * handler independently of any deployment facade that owns `index.js`.
39
42
  *
40
43
  * Hybrid projects (both `app/` and `pages/` present) run both prerender
41
44
  * phases sharing a single prod server instance. The merged results are written
42
45
  * to a single `dist/server/vinext-prerender.json`.
43
46
  *
44
47
  * If a required production bundle does not exist, an error is thrown directing
45
- * the user to run `vinext build` first.
48
+ * the user to run `vite build` first.
46
49
  */
47
50
  /**
48
51
  * Throw if any route is a `fatal` error (a thrown generateStaticParams /
@@ -51,10 +54,9 @@ type RunPrerenderOptions = {
51
54
  * non-fatal errors (e.g. transport failures), which only fail under
52
55
  * `output: 'export'`. Exported for direct unit testing. Refs cloudflare/vinext#1982
53
56
  */
54
- declare function assertNoFatalPrerenderRoutes(routes: readonly PrerenderRouteResult[]): void;
57
+ export declare function assertNoFatalPrerenderRoutes(routes: readonly PrerenderRouteResult[]): void;
55
58
  /**
56
59
  * Statically generate routes and return the prerender result.
57
60
  */
58
- declare function runPrerender(options: RunPrerenderOptions): Promise<PrerenderResult | null>;
59
- //#endregion
60
- export { assertNoFatalPrerenderRoutes, runPrerender };
61
+ export declare function runPrerender(options: RunPrerenderOptions): Promise<PrerenderResult | null>;
62
+ //#endregion
@@ -1,19 +1,21 @@
1
1
  import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
2
2
  import { findDir } from "../utils/project.js";
3
- import { apiRouter, pagesRouter } from "../routing/pages-router.js";
4
- import { appRouter } from "../routing/app-router.js";
5
- import { scanMetadataFiles } from "../server/metadata-routes.js";
6
3
  import { PHASE_PRODUCTION_BUILD } from "../shims/constants.js";
7
4
  import { loadNextConfig, resolveNextConfig } from "../config/next-config.js";
5
+ import { appRouter } from "../routing/app-router.js";
6
+ import { apiRouter, pagesRouter } from "../routing/pages-router.js";
7
+ import { scanMetadataFiles } from "../server/metadata-routes.js";
8
8
  import { readPrerenderSecret } from "./server-manifest.js";
9
+ import { registerPrerenderCloudflareLoader } from "./prerender-cloudflare-loader.js";
9
10
  import { rememberCurrentServerEntryImportMtime, startProdServer } from "../server/prod-server.js";
10
11
  import { enterPrerenderPhase } from "./prerender-phase.js";
11
12
  import { prerenderApp, prerenderPages, writePrerenderIndex } from "./prerender.js";
12
13
  import { injectPregeneratedConcretePaths } from "./inject-pregenerated-paths.js";
14
+ import { resolveBuiltRscEntryPath } from "./server-entry.js";
13
15
  import fs from "node:fs";
14
16
  //#region src/build/run-prerender.ts
15
17
  /**
16
- * Shared prerender runner used by both `vinext build` (cli.ts) and
18
+ * Shared prerender runner used by both `vite build` (cli.ts) and
17
19
  * `vinext-cloudflare deploy --prerender-all` (deploy.ts).
18
20
  *
19
21
  * `runPrerender` handles route scanning, dynamic imports, progress reporting,
@@ -74,16 +76,15 @@ function readBuiltBuildId(serverDir) {
74
76
  * to stderr/stdout. Returns the full PrerenderResult so callers can pass it to
75
77
  * printBuildReport.
76
78
  *
77
- * Works for both plain Node and Cloudflare Workers builds — the CF Workers
78
- * bundle outputs `dist/server/index.js` which is a standard Node server entry,
79
- * so no wrangler/miniflare is needed.
79
+ * Works for both plain Node and hosted builds by resolving the generated App
80
+ * handler independently of any deployment facade that owns `index.js`.
80
81
  *
81
82
  * Hybrid projects (both `app/` and `pages/` present) run both prerender
82
83
  * phases sharing a single prod server instance. The merged results are written
83
84
  * to a single `dist/server/vinext-prerender.json`.
84
85
  *
85
86
  * If a required production bundle does not exist, an error is thrown directing
86
- * the user to run `vinext build` first.
87
+ * the user to run `vite build` first.
87
88
  */
88
89
  /**
89
90
  * Throw if any route is a `fatal` error (a thrown generateStaticParams /
@@ -106,11 +107,15 @@ async function runPrerender(options) {
106
107
  const appDir = findDir(root, "app", "src/app");
107
108
  const pagesDir = findDir(root, "pages", "src/pages");
108
109
  if (!appDir && !pagesDir) return null;
109
- const manifestDir = path.join(root, "dist", "server");
110
- const rscBundlePath = options.rscBundlePath ?? path.join(root, "dist", "server", "index.js");
111
- const serverDir = path.dirname(rscBundlePath);
110
+ registerPrerenderCloudflareLoader();
111
+ const manifestDir = path.resolve(root, "dist", "server");
112
+ const buildOutDir = path.resolve(root, "dist");
113
+ const configuredRscServerDir = path.resolve(root, options.routeRootConfig?.rscOutDir ?? path.join("dist", "server"));
114
+ const rscBundlePath = options.rscBundlePath ?? resolveBuiltRscEntryPath(configuredRscServerDir);
115
+ const relativeEntryPath = path.relative(configuredRscServerDir, rscBundlePath);
116
+ const serverDir = !relativeEntryPath.startsWith("../") && !path.isAbsolute(relativeEntryPath) ? configuredRscServerDir : path.dirname(rscBundlePath);
112
117
  const config = options.nextConfig ? { ...options.nextConfig } : { ...await resolveNextConfig(await loadNextConfig(root, PHASE_PRODUCTION_BUILD), root) };
113
- const builtBuildId = readBuiltBuildId(serverDir);
118
+ const builtBuildId = readBuiltBuildId(manifestDir) ?? readBuiltBuildId(serverDir);
114
119
  if (builtBuildId) config.buildId = builtBuildId;
115
120
  const mode = config.output === "export" ? "export" : "default";
116
121
  const allRoutes = [];
@@ -118,7 +123,7 @@ async function runPrerender(options) {
118
123
  let totalUrls = 0;
119
124
  let completedUrls = 0;
120
125
  const progress = new PrerenderProgress();
121
- const outDir = mode === "export" ? path.join(root, "dist", "client") : path.join(root, "dist", "server", "prerendered-routes");
126
+ const outDir = mode === "export" ? path.join(root, "dist", "client") : path.join(manifestDir, "prerendered-routes");
122
127
  let sharedProdServer = null;
123
128
  let sharedPrerenderSecret;
124
129
  const restorePrerenderPhase = enterPrerenderPhase();
@@ -127,7 +132,9 @@ async function runPrerender(options) {
127
132
  sharedProdServer = await startProdServer({
128
133
  port: 0,
129
134
  host: "127.0.0.1",
130
- outDir: path.dirname(serverDir),
135
+ outDir: buildOutDir,
136
+ rscEntryPath: rscBundlePath,
137
+ serverDir,
131
138
  noCompression: true,
132
139
  purpose: "prerender"
133
140
  });
@@ -146,6 +153,8 @@ async function runPrerender(options) {
146
153
  config,
147
154
  concurrency: options.concurrency,
148
155
  rscBundlePath,
156
+ serverDir,
157
+ buildOutDir,
149
158
  ...sharedProdServer ? { _prodServer: sharedProdServer } : {},
150
159
  onProgress: ({ total, route }) => {
151
160
  if (appTotal === 0) {
@@ -174,7 +183,7 @@ async function runPrerender(options) {
174
183
  ...sharedProdServer ? {
175
184
  _prodServer: sharedProdServer,
176
185
  _prerenderSecret: sharedPrerenderSecret
177
- } : { pagesBundlePath: options.pagesBundlePath ?? path.join(root, "dist", "server", "entry.js") },
186
+ } : { pagesBundlePath: options.pagesBundlePath ?? path.join(manifestDir, "entry.js") },
178
187
  onProgress: ({ total, route }) => {
179
188
  if (pagesTotal === 0) {
180
189
  pagesTotal = total;
@@ -218,7 +227,7 @@ async function runPrerender(options) {
218
227
  const errorRoutes = allRoutes.filter((r) => r.status === "error").map((r) => ` ${r.route}: ${r.error}`).join("\n");
219
228
  throw new Error(`Static export failed: ${errors} route${errors !== 1 ? "s" : ""} cannot be statically exported.\n${errorRoutes}\n\nRemove server-side data fetching (getServerSideProps, force-dynamic, revalidate) from these routes, or remove \`output: "export"\` from next.config.js.`);
220
229
  }
221
- injectPregeneratedConcretePaths(root);
230
+ injectPregeneratedConcretePaths(root, rscBundlePath, manifestDir, [configuredRscServerDir]);
222
231
  if (fs.existsSync(rscBundlePath)) rememberCurrentServerEntryImportMtime(rscBundlePath);
223
232
  return {
224
233
  routes: allRoutes,
@@ -0,0 +1,4 @@
1
+ //#region src/build/server-entry.d.ts
2
+ /** Resolve the built App handler even when a deployment host owns index.js. */
3
+ export declare function resolveBuiltRscEntryPath(serverDir: string): string;
4
+ //#endregion
@@ -0,0 +1,28 @@
1
+ import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
2
+ import fs from "node:fs";
3
+ //#region src/build/server-entry.ts
4
+ const RSC_ENTRY_MANIFEST_KEY = "virtual:vinext-rsc-entry";
5
+ /** Resolve the built App handler even when a deployment host owns index.js. */
6
+ function resolveBuiltRscEntryPath(serverDir) {
7
+ const fallbackPath = path.join(serverDir, "index.js");
8
+ const manifestPath = path.join(serverDir, ".vite", "manifest.json");
9
+ let manifest;
10
+ try {
11
+ manifest = JSON.parse(fs.readFileSync(manifestPath, "utf-8"));
12
+ } catch (error) {
13
+ if (error && typeof error === "object" && "code" in error && error.code === "ENOENT") return fallbackPath;
14
+ if (error instanceof SyntaxError) return fallbackPath;
15
+ throw error;
16
+ }
17
+ if (!manifest || typeof manifest !== "object" || Array.isArray(manifest)) return fallbackPath;
18
+ const entry = Reflect.get(manifest, RSC_ENTRY_MANIFEST_KEY);
19
+ if (!entry || typeof entry !== "object") return fallbackPath;
20
+ const file = Reflect.get(entry, "file");
21
+ if (typeof file !== "string") return fallbackPath;
22
+ const entryPath = path.resolve(serverDir, file);
23
+ const relativePath = path.relative(serverDir, entryPath);
24
+ if (relativePath.startsWith("../") || path.isAbsolute(relativePath)) return fallbackPath;
25
+ return fs.existsSync(entryPath) ? entryPath : fallbackPath;
26
+ }
27
+ //#endregion
28
+ export { resolveBuiltRscEntryPath };
@@ -13,6 +13,11 @@
13
13
  * Callers that require a secret (i.e. the prerender phase itself) should
14
14
  * warn when this returns `undefined`.
15
15
  */
16
- declare function readPrerenderSecret(serverDir: string): string | undefined;
17
- //#endregion
18
- export { readPrerenderSecret };
16
+ export declare function readPrerenderSecret(serverDir: string): string | undefined;
17
+ /**
18
+ * Read every server output root that contains a deployable response-stage
19
+ * graph. Paths are stored relative to the project root so build artifacts stay
20
+ * relocatable, then resolved for post-build sidecar updates.
21
+ */
22
+ export declare function readServerRuntimeOutputDirs(serverDir: string, root: string): string[];
23
+ //#endregion
@@ -16,7 +16,19 @@ import { readJsonFile } from "../utils/safe-json-file.js";
16
16
  * warn when this returns `undefined`.
17
17
  */
18
18
  function readPrerenderSecret(serverDir) {
19
- return readJsonFile(path.join(serverDir, "vinext-server.json"))?.prerenderSecret;
19
+ const manifestPath = path.join(serverDir, "vinext-server.json");
20
+ return readJsonFile(manifestPath)?.prerenderSecret;
21
+ }
22
+ /**
23
+ * Read every server output root that contains a deployable response-stage
24
+ * graph. Paths are stored relative to the project root so build artifacts stay
25
+ * relocatable, then resolved for post-build sidecar updates.
26
+ */
27
+ function readServerRuntimeOutputDirs(serverDir, root) {
28
+ const manifestPath = path.join(serverDir, "vinext-server.json");
29
+ const manifest = readJsonFile(manifestPath);
30
+ if (!Array.isArray(manifest?.runtimeOutputDirs)) return [];
31
+ return manifest.runtimeOutputDirs.filter((outputDir) => typeof outputDir === "string").map((outputDir) => path.resolve(root, outputDir));
20
32
  }
21
33
  //#endregion
22
- export { readPrerenderSecret };
34
+ export { readPrerenderSecret, readServerRuntimeOutputDirs };
@@ -1,5 +1,5 @@
1
1
  //#region src/build/ssr-manifest.d.ts
2
- type BundleBackfillChunk = {
2
+ export type BundleBackfillChunk = {
3
3
  type: "chunk";
4
4
  fileName: string;
5
5
  imports?: string[];
@@ -13,10 +13,9 @@ type BundleBackfillChunk = {
13
13
  * Realpath with NATIVE separators (backslashes on Windows). Callers apply
14
14
  * `toSlash` where the result becomes a module id / manifest key.
15
15
  */
16
- declare function tryRealpathSync(candidate: string): string | null;
17
- declare function relativeWithinRoot(root: string, moduleId: string): string | null;
18
- declare function augmentSsrManifestFromBundle(ssrManifest: Record<string, string[]>, bundle: Record<string, BundleBackfillChunk | {
16
+ export declare function tryRealpathSync(candidate: string): string | null;
17
+ export declare function relativeWithinRoot(root: string, moduleId: string): string | null;
18
+ export declare function augmentSsrManifestFromBundle(ssrManifest: Record<string, string[]>, bundle: Record<string, BundleBackfillChunk | {
19
19
  type: string;
20
20
  }>, root: string, base?: string): Record<string, string[]>;
21
- //#endregion
22
- export { BundleBackfillChunk, augmentSsrManifestFromBundle, relativeWithinRoot, tryRealpathSync };
21
+ //#endregion
@@ -26,6 +26,5 @@ type StandaloneBuildResult = {
26
26
  * (i.e. those left external by the bundler), so no client-only deps are
27
27
  * included.
28
28
  */
29
- declare function emitStandaloneOutput(options: StandaloneBuildOptions): StandaloneBuildResult;
30
- //#endregion
31
- export { emitStandaloneOutput };
29
+ export declare function emitStandaloneOutput(options: StandaloneBuildOptions): StandaloneBuildResult;
30
+ //#endregion
@@ -1,5 +1,5 @@
1
- import { readJsonFile } from "../utils/safe-json-file.js";
2
1
  import { resolveVinextPackageRoot } from "../utils/vinext-root.js";
2
+ import { readJsonFile } from "../utils/safe-json-file.js";
3
3
  import { createRequire } from "node:module";
4
4
  import fs from "node:fs";
5
5
  import nodePath from "node:path";
@@ -148,7 +148,7 @@ function emitStandaloneOutput(options) {
148
148
  const outDir = nodePath.resolve(options.outDir);
149
149
  const clientDir = nodePath.join(outDir, "client");
150
150
  const serverDir = nodePath.join(outDir, "server");
151
- if (!fs.existsSync(clientDir) || !fs.existsSync(serverDir)) throw new Error(`No build output found in ${outDir}. Run vinext build first.`);
151
+ if (!fs.existsSync(clientDir) || !fs.existsSync(serverDir)) throw new Error(`No build output found in ${outDir}. Run vite build first.`);
152
152
  const standaloneDir = nodePath.join(outDir, "standalone");
153
153
  const standaloneDistDir = nodePath.join(standaloneDir, "dist");
154
154
  const standaloneNodeModulesDir = nodePath.join(standaloneDir, "node_modules");
@@ -2,7 +2,7 @@ import { AppRoute } from "../routing/app-route-graph.js";
2
2
  import { ResolvedNextConfig } from "../config/next-config.js";
3
3
  import { Route } from "../routing/pages-router.js";
4
4
  //#region src/build/static-export.d.ts
5
- type StaticExportOptions = {
5
+ export type StaticExportOptions = {
6
6
  /**
7
7
  * Absolute path to the pre-built Pages Router server bundle
8
8
  * (e.g. `dist/server/entry.js`).
@@ -19,8 +19,8 @@ type StaticExportOptions = {
19
19
  /** Resolved next.config.js */
20
20
  config: ResolvedNextConfig;
21
21
  };
22
- type StaticExportResult = {
23
- /** Number of HTML files generated */
22
+ export type StaticExportResult = {
23
+ /** Number of rendered route entries */
24
24
  pageCount: number;
25
25
  /** Generated file paths (relative to outDir) */
26
26
  files: string[];
@@ -37,8 +37,8 @@ type StaticExportResult = {
37
37
  *
38
38
  * Delegates to `prerenderPages()` in export mode.
39
39
  */
40
- declare function staticExportPages(options: StaticExportOptions): Promise<StaticExportResult>;
41
- type AppStaticExportOptions = {
40
+ export declare function staticExportPages(options: StaticExportOptions): Promise<StaticExportResult>;
41
+ export type AppStaticExportOptions = {
42
42
  /** Discovered app routes */
43
43
  routes: AppRoute[];
44
44
  /**
@@ -61,6 +61,5 @@ type AppStaticExportOptions = {
61
61
  *
62
62
  * Delegates to `prerenderApp()` in export mode.
63
63
  */
64
- declare function staticExportApp(options: AppStaticExportOptions): Promise<StaticExportResult>;
65
- //#endregion
66
- export { AppStaticExportOptions, StaticExportOptions, StaticExportResult, staticExportApp, staticExportPages };
64
+ export declare function staticExportApp(options: AppStaticExportOptions): Promise<StaticExportResult>;
65
+ //#endregion