vinext 1.0.0-beta.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (800) hide show
  1. package/README.md +150 -92
  2. package/THIRD_PARTY_LICENSES.md +25 -0
  3. package/dist/_virtual/_rolldown/runtime.js +25 -0
  4. package/dist/build/action-owner-manifest.d.ts +8 -9
  5. package/dist/build/action-owner-manifest.js +23 -5
  6. package/dist/build/assets-ignore.d.ts +3 -4
  7. package/dist/build/clean-output.d.ts +2 -3
  8. package/dist/build/client-build-config.d.ts +40 -12
  9. package/dist/build/client-build-config.js +76 -6
  10. package/dist/build/css-url-assets.d.ts +4 -5
  11. package/dist/build/css-url-assets.js +5 -2
  12. package/dist/build/google-fonts/build-url.d.ts +3 -4
  13. package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
  14. package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
  15. package/dist/build/google-fonts/font-metadata.d.ts +2 -3
  16. package/dist/build/google-fonts/get-axes.d.ts +2 -3
  17. package/dist/build/google-fonts/sort-variants.d.ts +2 -3
  18. package/dist/build/google-fonts/validate.d.ts +2 -3
  19. package/dist/build/google-fonts/validate.js +8 -4
  20. package/dist/build/inject-pregenerated-paths.d.ts +2 -3
  21. package/dist/build/inject-pregenerated-paths.js +16 -14
  22. package/dist/build/inline-css.d.ts +3 -4
  23. package/dist/build/layout-classification-types.d.ts +4 -5
  24. package/dist/build/layout-classification.d.ts +7 -8
  25. package/dist/build/lifecycle.d.ts +42 -0
  26. package/dist/build/lifecycle.js +253 -0
  27. package/dist/build/module-dependency-cache.d.ts +2 -3
  28. package/dist/build/next-client-runtime-manifests.d.ts +4 -5
  29. package/dist/build/nitro-route-rules.d.ts +6 -7
  30. package/dist/build/nitro-route-rules.js +1 -1
  31. package/dist/build/pages-client-assets-module.d.ts +4 -8
  32. package/dist/build/pages-client-assets-module.js +1 -13
  33. package/dist/build/precompress.d.ts +2 -3
  34. package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
  35. package/dist/build/prerender-cloudflare-loader.js +49 -0
  36. package/dist/build/prerender-paths.d.ts +36 -11
  37. package/dist/build/prerender-paths.js +273 -97
  38. package/dist/build/prerender-phase.d.ts +2 -3
  39. package/dist/build/prerender-server-entry.js +11 -3
  40. package/dist/build/prerender-server-pool.d.ts +9 -6
  41. package/dist/build/prerender-server-pool.js +8 -5
  42. package/dist/build/prerender.d.ts +65 -15
  43. package/dist/build/prerender.js +139 -43
  44. package/dist/build/preview-credentials.d.ts +5 -6
  45. package/dist/build/preview-credentials.js +2 -2
  46. package/dist/build/public-dir-conflict.d.ts +5 -6
  47. package/dist/build/public-dir-conflict.js +2 -1
  48. package/dist/build/report.d.ts +24 -20
  49. package/dist/build/report.js +10 -2
  50. package/dist/build/route-classification-injector.d.ts +2 -3
  51. package/dist/build/route-classification-manifest.d.ts +5 -6
  52. package/dist/build/run-prerender.d.ts +11 -9
  53. package/dist/build/run-prerender.js +25 -16
  54. package/dist/build/server-entry.d.ts +4 -0
  55. package/dist/build/server-entry.js +28 -0
  56. package/dist/build/server-manifest.d.ts +8 -3
  57. package/dist/build/server-manifest.js +14 -2
  58. package/dist/build/ssr-manifest.d.ts +5 -6
  59. package/dist/build/standalone.d.ts +2 -3
  60. package/dist/build/standalone.js +2 -2
  61. package/dist/build/static-export.d.ts +6 -7
  62. package/dist/cache/cache-adapters-virtual.d.ts +60 -20
  63. package/dist/cache/cache-adapters-virtual.js +50 -7
  64. package/dist/check.d.ts +11 -10
  65. package/dist/check.js +467 -176
  66. package/dist/cli-args.d.ts +7 -16
  67. package/dist/cli-args.js +2 -45
  68. package/dist/cli-dev-config.d.ts +10 -7
  69. package/dist/cli-dev-config.js +160 -3
  70. package/dist/cli.js +124 -442
  71. package/dist/client/app-nav-failure-handler.d.ts +6 -7
  72. package/dist/client/client-rewrite-matcher.d.ts +2 -3
  73. package/dist/client/client-rewrites.d.ts +4 -5
  74. package/dist/client/dev-error-overlay-store.d.ts +13 -14
  75. package/dist/client/dev-error-overlay.d.ts +15 -15
  76. package/dist/client/dev-error-overlay.js +8 -5
  77. package/dist/client/instrumentation-client-inject.d.ts +3 -4
  78. package/dist/client/instrumentation-client-state.d.ts +5 -6
  79. package/dist/client/instrumentation-client.d.ts +3 -4
  80. package/dist/client/navigation-runtime.d.ts +21 -17
  81. package/dist/client/navigation-runtime.js +2 -1
  82. package/dist/client/pages-router-link-navigation.d.ts +4 -5
  83. package/dist/client/react-instance.d.ts +2 -3
  84. package/dist/client/validate-module-path.d.ts +2 -3
  85. package/dist/client/vinext-next-data.d.ts +7 -10
  86. package/dist/client/window-next.d.ts +4 -5
  87. package/dist/config/config-matchers.d.ts +16 -16
  88. package/dist/config/config-matchers.js +2 -4
  89. package/dist/config/dotenv.d.ts +3 -4
  90. package/dist/config/dotenv.js +2 -1
  91. package/dist/config/next-config.d.ts +31 -27
  92. package/dist/config/next-config.js +163 -16
  93. package/dist/config/prerender.d.ts +20 -16
  94. package/dist/config/prerender.js +10 -4
  95. package/dist/config/request-context.d.ts +5 -6
  96. package/dist/config/server-external-packages.d.ts +14 -3
  97. package/dist/config/server-external-packages.js +37 -3
  98. package/dist/config/tsconfig-paths.d.ts +3 -4
  99. package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
  100. package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
  101. package/dist/entries/app-browser-entry.d.ts +4 -5
  102. package/dist/entries/app-browser-entry.js +1 -3
  103. package/dist/entries/app-rsc-entry.d.ts +10 -3
  104. package/dist/entries/app-rsc-entry.js +502 -51
  105. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  106. package/dist/entries/app-rsc-manifest.js +26 -8
  107. package/dist/entries/app-ssr-entry.d.ts +2 -3
  108. package/dist/entries/app-ssr-entry.js +8 -1
  109. package/dist/entries/pages-client-entry.d.ts +3 -3
  110. package/dist/entries/pages-client-entry.js +17 -2
  111. package/dist/entries/pages-server-entry.d.ts +13 -3
  112. package/dist/entries/pages-server-entry.js +234 -33
  113. package/dist/entries/runtime-entry-module.d.ts +4 -5
  114. package/dist/image/image-adapters-virtual.d.ts +4 -5
  115. package/dist/index.d.ts +10 -11
  116. package/dist/index.js +711 -189
  117. package/dist/init-cloudflare.d.ts +26 -17
  118. package/dist/init-cloudflare.js +710 -102
  119. package/dist/init-platform.d.ts +26 -22
  120. package/dist/init-platform.js +85 -29
  121. package/dist/init.d.ts +19 -13
  122. package/dist/init.js +123 -41
  123. package/dist/plugins/action-owner-manifest.d.ts +3 -4
  124. package/dist/plugins/action-owner-manifest.js +10 -3
  125. package/dist/plugins/ast-scope.d.ts +10 -11
  126. package/dist/plugins/ast-scope.js +10 -22
  127. package/dist/plugins/ast-utils.d.ts +16 -29
  128. package/dist/plugins/ast-utils.js +27 -71
  129. package/dist/plugins/async-hooks-stub.d.ts +2 -3
  130. package/dist/plugins/client-reference-dedup.d.ts +4 -5
  131. package/dist/plugins/css-data-url.d.ts +2 -3
  132. package/dist/plugins/css-module-imports.d.ts +3 -4
  133. package/dist/plugins/css-module-imports.js +1 -1
  134. package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
  135. package/dist/plugins/dynamic-preload-metadata.js +55 -154
  136. package/dist/plugins/environment.d.ts +2 -3
  137. package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
  138. package/dist/plugins/extensionless-dynamic-import.js +6 -10
  139. package/dist/plugins/fonts.d.ts +10 -11
  140. package/dist/plugins/fonts.js +4 -3
  141. package/dist/plugins/ignore-dynamic-requests.d.ts +3 -4
  142. package/dist/plugins/ignore-dynamic-requests.js +60 -89
  143. package/dist/plugins/import-meta-url.d.ts +6 -7
  144. package/dist/plugins/import-meta-url.js +31 -43
  145. package/dist/plugins/instrumentation-client.d.ts +3 -3
  146. package/dist/plugins/instrumentation-client.js +46 -10
  147. package/dist/plugins/middleware-export-validation.d.ts +3 -4
  148. package/dist/plugins/middleware-export-validation.js +3 -3
  149. package/dist/plugins/middleware-server-only.d.ts +2 -3
  150. package/dist/plugins/og-asset-ownership.d.ts +3 -4
  151. package/dist/plugins/og-assets.d.ts +4 -5
  152. package/dist/plugins/og-assets.js +32 -13
  153. package/dist/plugins/og-harfbuzz.d.ts +24 -0
  154. package/dist/plugins/og-harfbuzz.js +260 -0
  155. package/dist/plugins/optimize-imports.d.ts +7 -7
  156. package/dist/plugins/optimize-imports.js +32 -44
  157. package/dist/plugins/pages-node-externals.d.ts +2 -3
  158. package/dist/plugins/pages-node-externals.js +6 -11
  159. package/dist/plugins/postcss.d.ts +8 -4
  160. package/dist/plugins/postcss.js +1 -1
  161. package/dist/plugins/remove-console.d.ts +2 -3
  162. package/dist/plugins/remove-console.js +0 -1
  163. package/dist/plugins/require-condition-resolution.d.ts +3 -4
  164. package/dist/plugins/require-condition-resolution.js +17 -18
  165. package/dist/plugins/require-context.d.ts +2 -3
  166. package/dist/plugins/require-context.js +13 -21
  167. package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
  168. package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
  169. package/dist/plugins/rsc-client-shim-excludes.js +1 -0
  170. package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
  171. package/dist/plugins/sass.d.ts +7 -8
  172. package/dist/plugins/sass.js +7 -4
  173. package/dist/plugins/server-externals-manifest.d.ts +2 -3
  174. package/dist/plugins/strip-server-exports.d.ts +5 -6
  175. package/dist/plugins/strip-server-exports.js +1 -1
  176. package/dist/plugins/styled-jsx.d.ts +2 -3
  177. package/dist/plugins/styled-jsx.js +7 -7
  178. package/dist/plugins/transform-cache.d.ts +2 -3
  179. package/dist/plugins/transform-result.d.ts +3 -4
  180. package/dist/plugins/transitive-externals.d.ts +2 -3
  181. package/dist/plugins/typeof-window.d.ts +6 -7
  182. package/dist/plugins/typeof-window.js +30 -31
  183. package/dist/plugins/use-cache-callable.d.ts +2 -5
  184. package/dist/plugins/use-cache-callable.js +43 -22
  185. package/dist/plugins/wasm-module-import.d.ts +2 -3
  186. package/dist/plugins/worker-image-imports.d.ts +2 -3
  187. package/dist/plugins/worker-image-imports.js +6 -8
  188. package/dist/routing/app-route-graph.d.ts +19 -19
  189. package/dist/routing/app-route-graph.js +3 -2
  190. package/dist/routing/app-router.d.ts +19 -6
  191. package/dist/routing/app-router.js +24 -2
  192. package/dist/routing/file-matcher.d.ts +9 -10
  193. package/dist/routing/pages-router.d.ts +6 -6
  194. package/dist/routing/pages-router.js +1 -1
  195. package/dist/routing/route-matching.d.ts +4 -5
  196. package/dist/routing/route-matching.js +4 -2
  197. package/dist/routing/route-pattern.d.ts +13 -14
  198. package/dist/routing/route-trie.d.ts +5 -6
  199. package/dist/routing/route-validation.d.ts +3 -4
  200. package/dist/routing/route-validation.js +12 -11
  201. package/dist/routing/utils.d.ts +13 -14
  202. package/dist/server/accept-encoding.d.ts +9 -10
  203. package/dist/server/api-handler.d.ts +2 -3
  204. package/dist/server/api-handler.js +9 -6
  205. package/dist/server/app-action-forwarding.d.ts +3 -4
  206. package/dist/server/app-action-forwarding.js +1 -1
  207. package/dist/server/app-action-request.d.ts +2 -3
  208. package/dist/server/app-bfcache-id.d.ts +3 -4
  209. package/dist/server/app-bfcache-identity.d.ts +8 -9
  210. package/dist/server/app-browser-action-result.d.ts +15 -16
  211. package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
  212. package/dist/server/app-browser-entry.js +87 -34
  213. package/dist/server/app-browser-error.d.ts +5 -6
  214. package/dist/server/app-browser-error.js +9 -3
  215. package/dist/server/app-browser-history-controller.d.ts +4 -5
  216. package/dist/server/app-browser-hydration.d.ts +16 -6
  217. package/dist/server/app-browser-hydration.js +14 -1
  218. package/dist/server/app-browser-interception-context.d.ts +3 -4
  219. package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
  220. package/dist/server/app-browser-navigation-abort.d.ts +3 -4
  221. package/dist/server/app-browser-navigation-controller.d.ts +8 -8
  222. package/dist/server/app-browser-navigation-controller.js +8 -4
  223. package/dist/server/app-browser-navigation-response.d.ts +2 -3
  224. package/dist/server/app-browser-popstate.d.ts +4 -5
  225. package/dist/server/app-browser-prefetch-response.d.ts +5 -6
  226. package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
  227. package/dist/server/app-browser-server-action-client.d.ts +7 -6
  228. package/dist/server/app-browser-server-action-client.js +9 -5
  229. package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
  230. package/dist/server/app-browser-state.d.ts +17 -17
  231. package/dist/server/app-browser-state.js +6 -2
  232. package/dist/server/app-browser-stream.d.ts +4 -5
  233. package/dist/server/app-browser-stream.js +8 -6
  234. package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
  235. package/dist/server/app-browser-visible-commit.d.ts +6 -7
  236. package/dist/server/app-client-reference-preloader.d.ts +2 -3
  237. package/dist/server/app-elements-wire-key.d.ts +25 -0
  238. package/dist/server/app-elements-wire-key.js +69 -0
  239. package/dist/server/app-elements-wire.d.ts +34 -53
  240. package/dist/server/app-elements-wire.js +4 -75
  241. package/dist/server/app-elements.d.ts +5 -5
  242. package/dist/server/app-elements.js +1 -1
  243. package/dist/server/app-fallback-renderer.d.ts +4 -4
  244. package/dist/server/app-fallback-renderer.js +6 -6
  245. package/dist/server/app-fetch-tracing.d.ts +15 -0
  246. package/dist/server/app-fetch-tracing.js +38 -0
  247. package/dist/server/app-history-state.d.ts +26 -27
  248. package/dist/server/app-history-state.js +19 -11
  249. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  250. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  251. package/dist/server/app-inline-css-client.d.ts +3 -4
  252. package/dist/server/app-interception-context-header.d.ts +2 -3
  253. package/dist/server/app-layout-param-observation.d.ts +7 -8
  254. package/dist/server/app-metadata-tracing.d.ts +12 -0
  255. package/dist/server/app-metadata-tracing.js +17 -0
  256. package/dist/server/app-middleware.d.ts +7 -7
  257. package/dist/server/app-middleware.js +2 -3
  258. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  259. package/dist/server/app-mounted-slots-header.js +2 -2
  260. package/dist/server/app-optimistic-routing.d.ts +10 -11
  261. package/dist/server/app-optimistic-routing.js +3 -2
  262. package/dist/server/app-page-boundary-render.d.ts +6 -6
  263. package/dist/server/app-page-boundary-render.js +10 -4
  264. package/dist/server/app-page-boundary.d.ts +9 -10
  265. package/dist/server/app-page-boundary.js +1 -1
  266. package/dist/server/app-page-cache-finalizer.d.ts +18 -9
  267. package/dist/server/app-page-cache-finalizer.js +51 -16
  268. package/dist/server/app-page-cache-render.d.ts +8 -5
  269. package/dist/server/app-page-cache-render.js +22 -5
  270. package/dist/server/app-page-cache.d.ts +28 -9
  271. package/dist/server/app-page-cache.js +95 -24
  272. package/dist/server/app-page-dispatch.d.ts +34 -12
  273. package/dist/server/app-page-dispatch.js +181 -64
  274. package/dist/server/app-page-element-builder.d.ts +13 -11
  275. package/dist/server/app-page-element-builder.js +104 -61
  276. package/dist/server/app-page-execution.d.ts +14 -14
  277. package/dist/server/app-page-execution.js +11 -7
  278. package/dist/server/app-page-head.d.ts +19 -16
  279. package/dist/server/app-page-head.js +25 -25
  280. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  281. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  282. package/dist/server/app-page-method.d.ts +5 -11
  283. package/dist/server/app-page-method.js +2 -9
  284. package/dist/server/app-page-params.d.ts +5 -6
  285. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  286. package/dist/server/app-page-probe.d.ts +5 -6
  287. package/dist/server/app-page-probe.js +5 -4
  288. package/dist/server/app-page-render-identity.d.ts +4 -5
  289. package/dist/server/app-page-render-observation.d.ts +8 -9
  290. package/dist/server/app-page-render-observation.js +1 -1
  291. package/dist/server/app-page-render.d.ts +41 -6
  292. package/dist/server/app-page-render.js +171 -25
  293. package/dist/server/app-page-request.d.ts +10 -9
  294. package/dist/server/app-page-request.js +16 -12
  295. package/dist/server/app-page-response.d.ts +20 -9
  296. package/dist/server/app-page-response.js +30 -12
  297. package/dist/server/app-page-route-wiring.d.ts +15 -15
  298. package/dist/server/app-page-route-wiring.js +31 -24
  299. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  300. package/dist/server/app-page-search-params-observation.js +42 -6
  301. package/dist/server/app-page-segment-plan.d.ts +2 -3
  302. package/dist/server/app-page-segment-state.d.ts +11 -12
  303. package/dist/server/app-page-stream.d.ts +27 -11
  304. package/dist/server/app-page-stream.js +34 -6
  305. package/dist/server/app-page-tracing.d.ts +33 -0
  306. package/dist/server/app-page-tracing.js +49 -0
  307. package/dist/server/app-pages-bridge.d.ts +6 -6
  308. package/dist/server/app-pages-bridge.js +17 -4
  309. package/dist/server/app-post-middleware-context.d.ts +2 -3
  310. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  311. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  312. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  313. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  314. package/dist/server/app-prerender-endpoints.js +3 -1
  315. package/dist/server/app-prerender-static-params.d.ts +15 -7
  316. package/dist/server/app-prerender-static-params.js +24 -9
  317. package/dist/server/app-render-dependency.d.ts +14 -13
  318. package/dist/server/app-render-dependency.js +5 -1
  319. package/dist/server/app-request-context.d.ts +3 -4
  320. package/dist/server/app-request-stage-context.d.ts +5 -0
  321. package/dist/server/app-request-stage-context.js +11 -0
  322. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  323. package/dist/server/app-request-stage-dispatch.js +54 -0
  324. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  325. package/dist/server/app-request-stage-independent-entry.js +115 -0
  326. package/dist/server/app-response-header-provenance.d.ts +13 -7
  327. package/dist/server/app-response-header-provenance.js +34 -1
  328. package/dist/server/app-response-stage-entry.d.ts +9 -0
  329. package/dist/server/app-response-stage-entry.js +87 -0
  330. package/dist/server/app-route-handler-cache.d.ts +2 -3
  331. package/dist/server/app-route-handler-cache.js +46 -34
  332. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  333. package/dist/server/app-route-handler-dispatch.js +68 -54
  334. package/dist/server/app-route-handler-execution.d.ts +17 -13
  335. package/dist/server/app-route-handler-execution.js +69 -18
  336. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  337. package/dist/server/app-route-handler-middleware-context.js +15 -0
  338. package/dist/server/app-route-handler-policy.d.ts +11 -11
  339. package/dist/server/app-route-handler-response.d.ts +9 -10
  340. package/dist/server/app-route-handler-response.js +2 -0
  341. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  342. package/dist/server/app-route-handler-runtime.js +20 -16
  343. package/dist/server/app-route-module-loader.d.ts +6 -7
  344. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  345. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  346. package/dist/server/app-route-tree-prefetch.js +2 -1
  347. package/dist/server/app-router-entry.d.ts +2 -0
  348. package/dist/server/app-router-entry.js +28 -8
  349. package/dist/server/app-rsc-cache-busting.d.ts +34 -27
  350. package/dist/server/app-rsc-cache-busting.js +14 -2
  351. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  352. package/dist/server/app-rsc-combined-handler.js +11 -0
  353. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  354. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  355. package/dist/server/app-rsc-error-handler.js +15 -6
  356. package/dist/server/app-rsc-errors.d.ts +12 -9
  357. package/dist/server/app-rsc-errors.js +15 -13
  358. package/dist/server/app-rsc-handler.d.ts +31 -6
  359. package/dist/server/app-rsc-handler.js +411 -61
  360. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  361. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  362. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  363. package/dist/server/app-rsc-request-normalization.js +2 -1
  364. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  365. package/dist/server/app-rsc-response-finalizer.js +6 -6
  366. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  367. package/dist/server/app-rsc-response-stage.js +251 -0
  368. package/dist/server/app-rsc-route-matching.d.ts +3 -4
  369. package/dist/server/app-rsc-route-matching.js +3 -2
  370. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  371. package/dist/server/app-rsc-vary.d.ts +16 -0
  372. package/dist/server/app-rsc-vary.js +31 -0
  373. package/dist/server/app-segment-config.d.ts +119 -7
  374. package/dist/server/app-segment-config.js +242 -2
  375. package/dist/server/app-server-action-execution.d.ts +16 -12
  376. package/dist/server/app-server-action-execution.js +86 -33
  377. package/dist/server/app-ssr-entry.d.ts +14 -4
  378. package/dist/server/app-ssr-entry.js +61 -14
  379. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  380. package/dist/server/app-ssr-error-meta.js +2 -1
  381. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  382. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  383. package/dist/server/app-ssr-search-params-gate.js +54 -0
  384. package/dist/server/app-ssr-stream.d.ts +13 -9
  385. package/dist/server/app-ssr-stream.js +33 -7
  386. package/dist/server/app-static-generation.d.ts +4 -5
  387. package/dist/server/app-visited-response-cache.d.ts +11 -12
  388. package/dist/server/app-visited-response-cache.js +2 -2
  389. package/dist/server/app-worker-stages.d.ts +112 -0
  390. package/dist/server/app-worker-stages.js +105 -0
  391. package/dist/server/artifact-compatibility.d.ts +11 -12
  392. package/dist/server/before-interactive-head.d.ts +2 -3
  393. package/dist/server/bfcache-identity.d.ts +7 -8
  394. package/dist/server/cache-control.d.ts +35 -13
  395. package/dist/server/cache-control.js +71 -5
  396. package/dist/server/cache-headers.d.ts +3 -4
  397. package/dist/server/cache-proof.d.ts +75 -70
  398. package/dist/server/cache-proof.js +9 -1
  399. package/dist/server/cacheability-limits.d.ts +4 -5
  400. package/dist/server/cacheability-limits.js +2 -2
  401. package/dist/server/cacheability-manifest.d.ts +42 -16
  402. package/dist/server/cacheability-manifest.js +60 -10
  403. package/dist/server/cacheability-request.d.ts +37 -8
  404. package/dist/server/cacheability-request.js +159 -57
  405. package/dist/server/client-reuse-manifest.d.ts +17 -18
  406. package/dist/server/client-reuse-manifest.js +2 -2
  407. package/dist/server/client-trace-metadata.d.ts +9 -6
  408. package/dist/server/client-trace-metadata.js +27 -15
  409. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  410. package/dist/server/cloudflare-workers-tracing.js +8 -0
  411. package/dist/server/config-headers.d.ts +19 -5
  412. package/dist/server/config-headers.js +25 -11
  413. package/dist/server/cookie-utils.d.ts +2 -3
  414. package/dist/server/csp.d.ts +5 -6
  415. package/dist/server/default-global-error-module.d.ts +2 -3
  416. package/dist/server/default-global-not-found-module.d.ts +2 -3
  417. package/dist/server/default-not-found-module.d.ts +2 -3
  418. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  419. package/dist/server/defer-until-stream-consumed.js +2 -1
  420. package/dist/server/dev-initial-server-error.d.ts +3 -4
  421. package/dist/server/dev-initial-server-error.js +2 -1
  422. package/dist/server/dev-lockfile.d.ts +7 -8
  423. package/dist/server/dev-lockfile.js +4 -1
  424. package/dist/server/dev-module-runner.d.ts +2 -3
  425. package/dist/server/dev-origin-check.d.ts +5 -6
  426. package/dist/server/dev-route-files.d.ts +2 -3
  427. package/dist/server/dev-server.d.ts +4 -5
  428. package/dist/server/dev-server.js +130 -61
  429. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  430. package/dist/server/dev-stack-sourcemap.js +1 -1
  431. package/dist/server/document-initial-head.d.ts +3 -4
  432. package/dist/server/edge-api-runtime.d.ts +4 -5
  433. package/dist/server/fetch-handler.d.ts +3 -2
  434. package/dist/server/fetch-handler.js +3 -18
  435. package/dist/server/file-based-metadata.d.ts +2 -3
  436. package/dist/server/framework-tracer.d.ts +46 -0
  437. package/dist/server/framework-tracer.js +125 -0
  438. package/dist/server/fully-buffered-response.d.ts +11 -0
  439. package/dist/server/fully-buffered-response.js +19 -0
  440. package/dist/server/headers.d.ts +54 -61
  441. package/dist/server/headers.js +18 -31
  442. package/dist/server/html.d.ts +6 -27
  443. package/dist/server/html.js +16 -1
  444. package/dist/server/http-conditional.d.ts +5 -6
  445. package/dist/server/http-date.d.ts +2 -3
  446. package/dist/server/http-error-responses.d.ts +9 -10
  447. package/dist/server/http-range.d.ts +4 -5
  448. package/dist/server/hybrid-route-priority.d.ts +4 -5
  449. package/dist/server/image-optimization.d.ts +20 -21
  450. package/dist/server/implicit-tags.d.ts +3 -4
  451. package/dist/server/instrumentation-runtime.d.ts +17 -21
  452. package/dist/server/instrumentation-runtime.js +26 -8
  453. package/dist/server/instrumentation.d.ts +26 -30
  454. package/dist/server/instrumentation.js +18 -23
  455. package/dist/server/isr-cache.d.ts +28 -27
  456. package/dist/server/isr-cache.js +18 -70
  457. package/dist/server/isr-decision.d.ts +4 -4
  458. package/dist/server/metadata-route-build-data.d.ts +4 -5
  459. package/dist/server/metadata-route-cache-policy.d.ts +2 -3
  460. package/dist/server/metadata-route-response.d.ts +7 -7
  461. package/dist/server/metadata-route-response.js +68 -2
  462. package/dist/server/metadata-routes.d.ts +18 -19
  463. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  464. package/dist/server/middleware-matcher.d.ts +6 -7
  465. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  466. package/dist/server/middleware-path-to-regexp.js +11 -9
  467. package/dist/server/middleware-response-headers.d.ts +3 -4
  468. package/dist/server/middleware-runtime.d.ts +7 -8
  469. package/dist/server/middleware-runtime.js +36 -7
  470. package/dist/server/middleware.d.ts +5 -5
  471. package/dist/server/multi-stage.d.ts +141 -0
  472. package/dist/server/multi-stage.js +8 -0
  473. package/dist/server/navigation-planner.d.ts +26 -26
  474. package/dist/server/navigation-trace.d.ts +11 -12
  475. package/dist/server/next-error-digest.d.ts +4 -5
  476. package/dist/server/normalize-path.d.ts +5 -6
  477. package/dist/server/open-redirect.d.ts +2 -3
  478. package/dist/server/opentelemetry-api.d.ts +59 -0
  479. package/dist/server/opentelemetry-api.js +53 -0
  480. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  481. package/dist/server/opentelemetry-tracing.js +83 -0
  482. package/dist/server/operation-token.d.ts +11 -12
  483. package/dist/server/otel-tracer-extension.d.ts +7 -9
  484. package/dist/server/otel-tracer-extension.js +37 -36
  485. package/dist/server/pages-api-route.d.ts +5 -4
  486. package/dist/server/pages-api-route.js +20 -7
  487. package/dist/server/pages-asset-tags.d.ts +6 -6
  488. package/dist/server/pages-asset-tags.js +37 -2
  489. package/dist/server/pages-body-parser-config.d.ts +4 -5
  490. package/dist/server/pages-body-parser-config.js +4 -4
  491. package/dist/server/pages-client-assets.d.ts +11 -5
  492. package/dist/server/pages-data-route.d.ts +11 -12
  493. package/dist/server/pages-data-route.js +1 -1
  494. package/dist/server/pages-default-404.d.ts +3 -4
  495. package/dist/server/pages-dev-hydration.d.ts +9 -4
  496. package/dist/server/pages-dev-hydration.js +19 -7
  497. package/dist/server/pages-dev-module-url.d.ts +3 -4
  498. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  499. package/dist/server/pages-document-asset-props.d.ts +6 -7
  500. package/dist/server/pages-document-initial-props.d.ts +5 -5
  501. package/dist/server/pages-document-initial-props.js +4 -2
  502. package/dist/server/pages-execution-tracing.d.ts +40 -0
  503. package/dist/server/pages-execution-tracing.js +80 -0
  504. package/dist/server/pages-get-initial-props.d.ts +9 -10
  505. package/dist/server/pages-i18n.d.ts +8 -8
  506. package/dist/server/pages-media-type.d.ts +4 -5
  507. package/dist/server/pages-node-compat.d.ts +11 -10
  508. package/dist/server/pages-node-compat.js +12 -4
  509. package/dist/server/pages-page-data.d.ts +18 -19
  510. package/dist/server/pages-page-data.js +11 -10
  511. package/dist/server/pages-page-handler.d.ts +7 -6
  512. package/dist/server/pages-page-handler.js +77 -39
  513. package/dist/server/pages-page-method.d.ts +2 -3
  514. package/dist/server/pages-page-response.d.ts +14 -10
  515. package/dist/server/pages-page-response.js +49 -31
  516. package/dist/server/pages-preview.d.ts +10 -11
  517. package/dist/server/pages-readiness.d.ts +2 -3
  518. package/dist/server/pages-request-pipeline.d.ts +14 -12
  519. package/dist/server/pages-request-pipeline.js +60 -30
  520. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  521. package/dist/server/pages-request-stage-entry.js +314 -0
  522. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  523. package/dist/server/pages-response-stage-entry.js +106 -0
  524. package/dist/server/pages-response-stage.d.ts +31 -0
  525. package/dist/server/pages-response-stage.js +49 -0
  526. package/dist/server/pages-revalidate.d.ts +3 -4
  527. package/dist/server/pages-revalidate.js +9 -4
  528. package/dist/server/pages-route-data-kind.d.ts +18 -0
  529. package/dist/server/pages-route-data-kind.js +11 -0
  530. package/dist/server/pages-router-entry.d.ts +1 -25
  531. package/dist/server/pages-router-entry.js +35 -148
  532. package/dist/server/pages-serializable-props.d.ts +3 -4
  533. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  534. package/dist/server/pregenerated-concrete-paths.js +12 -6
  535. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  536. package/dist/server/prerender-manifest.d.ts +11 -11
  537. package/dist/server/prerender-manifest.js +6 -3
  538. package/dist/server/prerender-route-params.d.ts +16 -9
  539. package/dist/server/prerender-route-params.js +18 -3
  540. package/dist/server/prerender-work-unit-setup.d.ts +2 -3
  541. package/dist/server/prerender-work-unit-setup.js +5 -5
  542. package/dist/server/prod-server.d.ts +12 -9
  543. package/dist/server/prod-server.js +124 -31
  544. package/dist/server/proxy-trust.d.ts +5 -6
  545. package/dist/server/request-log.d.ts +3 -4
  546. package/dist/server/request-pipeline.d.ts +16 -16
  547. package/dist/server/request-pipeline.js +7 -2
  548. package/dist/server/request-stage.d.ts +5 -0
  549. package/dist/server/request-stage.js +7 -0
  550. package/dist/server/request-tracing.d.ts +22 -0
  551. package/dist/server/request-tracing.js +180 -0
  552. package/dist/server/response-stage-cacheability.d.ts +37 -0
  553. package/dist/server/response-stage-cacheability.js +55 -0
  554. package/dist/server/response-stage-policy.d.ts +23 -0
  555. package/dist/server/response-stage-policy.js +89 -0
  556. package/dist/server/response-stage.d.ts +5 -0
  557. package/dist/server/response-stage.js +7 -0
  558. package/dist/server/response-start-tracing.d.ts +14 -0
  559. package/dist/server/response-start-tracing.js +80 -0
  560. package/dist/server/revalidation-host.d.ts +2 -3
  561. package/dist/server/revalidation-host.js +1 -1
  562. package/dist/server/revalidation-request.d.ts +8 -0
  563. package/dist/server/revalidation-request.js +37 -0
  564. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  565. package/dist/server/rsc-stream-hints.d.ts +18 -7
  566. package/dist/server/rsc-stream-hints.js +70 -35
  567. package/dist/server/seed-cache.d.ts +2 -3
  568. package/dist/server/seed-cache.js +8 -7
  569. package/dist/server/server-action-not-found.d.ts +5 -6
  570. package/dist/server/server-globals.d.ts +2 -3
  571. package/dist/server/skip-cache-proof.d.ts +4 -4
  572. package/dist/server/socket-error-backstop.d.ts +5 -6
  573. package/dist/server/socket-error-backstop.js +1 -1
  574. package/dist/server/static-file-cache.d.ts +5 -6
  575. package/dist/server/static-file-cache.js +9 -7
  576. package/dist/server/static-file-signal.d.ts +9 -6
  577. package/dist/server/static-file-signal.js +51 -2
  578. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  579. package/dist/server/streaming-metadata.d.ts +2 -3
  580. package/dist/server/tracer.d.ts +5 -0
  581. package/dist/server/tracer.js +13 -0
  582. package/dist/server/worker-prerender-discovery.d.ts +5 -6
  583. package/dist/server/worker-revalidation-context.d.ts +2 -3
  584. package/dist/server/worker-revalidation-context.js +5 -5
  585. package/dist/server/worker-stages.d.ts +43 -0
  586. package/dist/server/worker-stages.js +25 -0
  587. package/dist/server/worker-utils.d.ts +5 -6
  588. package/dist/server/worker-utils.js +2 -1
  589. package/dist/server/workers-tracing.d.ts +17 -0
  590. package/dist/server/workers-tracing.js +27 -0
  591. package/dist/shims/amp.d.ts +3 -4
  592. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  593. package/dist/shims/app-router-scroll.d.ts +4 -5
  594. package/dist/shims/app-router-scroll.js +2 -1
  595. package/dist/shims/app.d.ts +5 -6
  596. package/dist/shims/before-interactive-context.d.ts +5 -6
  597. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  598. package/dist/shims/cache-callable-runtime.js +168 -8
  599. package/dist/shims/cache-for-request.d.ts +2 -3
  600. package/dist/shims/cache-handler.d.ts +33 -20
  601. package/dist/shims/cache-handler.js +61 -2
  602. package/dist/shims/cache-request-state.d.ts +28 -29
  603. package/dist/shims/cache-runtime.d.ts +23 -21
  604. package/dist/shims/cache-runtime.js +107 -27
  605. package/dist/shims/cache.d.ts +15 -15
  606. package/dist/shims/cache.js +15 -13
  607. package/dist/shims/cacheability-classification.d.ts +49 -28
  608. package/dist/shims/cacheability-classification.js +27 -12
  609. package/dist/shims/cdn-cache-state.d.ts +13 -0
  610. package/dist/shims/cdn-cache-state.js +23 -0
  611. package/dist/shims/cdn-cache.d.ts +50 -21
  612. package/dist/shims/cdn-cache.js +15 -38
  613. package/dist/shims/client-hook-error.d.ts +3 -4
  614. package/dist/shims/client-locale.d.ts +2 -3
  615. package/dist/shims/client-page-root.d.ts +24 -0
  616. package/dist/shims/client-page-root.js +121 -0
  617. package/dist/shims/compat-router.d.ts +2 -3
  618. package/dist/shims/config.d.ts +3 -4
  619. package/dist/shims/constants.d.ts +73 -74
  620. package/dist/shims/constants.js +1 -1
  621. package/dist/shims/default-not-found.d.ts +2 -3
  622. package/dist/shims/document.d.ts +9 -9
  623. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  624. package/dist/shims/dynamic-preload-chunks.js +17 -13
  625. package/dist/shims/dynamic.d.ts +3 -3
  626. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  627. package/dist/shims/error-boundary.d.ts +17 -18
  628. package/dist/shims/error-boundary.js +17 -11
  629. package/dist/shims/error.d.ts +4 -4
  630. package/dist/shims/error.react-server.d.ts +3 -4
  631. package/dist/shims/fetch-cache.d.ts +22 -22
  632. package/dist/shims/fetch-cache.js +42 -17
  633. package/dist/shims/font-google-base.d.ts +9 -9
  634. package/dist/shims/font-google-base.js +2 -1
  635. package/dist/shims/font-local.d.ts +3 -3
  636. package/dist/shims/font-local.js +1 -1
  637. package/dist/shims/font-utils.d.ts +14 -15
  638. package/dist/shims/form.d.ts +2 -2
  639. package/dist/shims/form.js +10 -7
  640. package/dist/shims/hash-scroll.d.ts +5 -6
  641. package/dist/shims/head-state.d.ts +4 -5
  642. package/dist/shims/head.d.ts +16 -16
  643. package/dist/shims/head.js +5 -4
  644. package/dist/shims/headers.d.ts +67 -33
  645. package/dist/shims/headers.js +93 -6
  646. package/dist/shims/i18n-context.d.ts +5 -6
  647. package/dist/shims/i18n-state.d.ts +4 -5
  648. package/dist/shims/image-config.d.ts +5 -6
  649. package/dist/shims/image-config.js +2 -0
  650. package/dist/shims/image.d.ts +5 -5
  651. package/dist/shims/image.js +12 -8
  652. package/dist/shims/internal/als-registry.d.ts +4 -5
  653. package/dist/shims/internal/api-utils.d.ts +3 -4
  654. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  655. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  656. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  657. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
  658. package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
  659. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  660. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
  661. package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
  662. package/dist/shims/internal/app-router-context.d.ts +9 -10
  663. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  664. package/dist/shims/internal/format-url-object.d.ts +7 -0
  665. package/dist/shims/internal/format-url-object.js +53 -0
  666. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  667. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  668. package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
  669. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  670. package/dist/shims/internal/interpolate-as.js +4 -2
  671. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  672. package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
  673. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  674. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  675. package/dist/shims/internal/normalize-router-href.js +41 -0
  676. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  677. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  678. package/dist/shims/internal/pages-data-target.js +32 -36
  679. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  680. package/dist/shims/internal/pages-data-url.js +2 -1
  681. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  682. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  683. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  684. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  685. package/dist/shims/internal/router-context.d.ts +2 -3
  686. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  687. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  688. package/dist/shims/internal/utils.d.ts +7 -8
  689. package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
  690. package/dist/shims/layout-segment-context.d.ts +3 -4
  691. package/dist/shims/link-prefetch.d.ts +9 -10
  692. package/dist/shims/link.d.ts +4 -4
  693. package/dist/shims/link.js +56 -116
  694. package/dist/shims/metadata.d.ts +15 -16
  695. package/dist/shims/metadata.js +40 -36
  696. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  697. package/dist/shims/navigation-context-accessors.js +19 -0
  698. package/dist/shims/navigation-context-state.d.ts +27 -18
  699. package/dist/shims/navigation-errors.d.ts +18 -19
  700. package/dist/shims/navigation-state.d.ts +6 -7
  701. package/dist/shims/navigation.d.ts +80 -68
  702. package/dist/shims/navigation.js +24 -16
  703. package/dist/shims/navigation.react-server.d.ts +9 -9
  704. package/dist/shims/offline.d.ts +2 -3
  705. package/dist/shims/og.d.ts +2 -2
  706. package/dist/shims/pages-router-runtime.d.ts +4 -5
  707. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  708. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  709. package/dist/shims/request-context.d.ts +5 -6
  710. package/dist/shims/root-params.d.ts +14 -15
  711. package/dist/shims/router-state.d.ts +5 -6
  712. package/dist/shims/router-state.js +1 -1
  713. package/dist/shims/router.d.ts +22 -21
  714. package/dist/shims/router.js +339 -164
  715. package/dist/shims/script-nonce-context.d.ts +8 -6
  716. package/dist/shims/script-nonce-context.js +15 -6
  717. package/dist/shims/script.d.ts +4 -4
  718. package/dist/shims/script.js +9 -7
  719. package/dist/shims/search-params-gate.d.ts +35 -0
  720. package/dist/shims/search-params-gate.js +32 -0
  721. package/dist/shims/server.d.ts +19 -51
  722. package/dist/shims/server.js +14 -28
  723. package/dist/shims/slot.d.ts +33 -15
  724. package/dist/shims/slot.js +41 -9
  725. package/dist/shims/streamed-icons.d.ts +3 -4
  726. package/dist/shims/thenable-params.d.ts +5 -7
  727. package/dist/shims/thenable-params.js +3 -24
  728. package/dist/shims/unified-request-context.d.ts +34 -31
  729. package/dist/shims/unified-request-context.js +34 -24
  730. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  731. package/dist/shims/url-safety.d.ts +5 -6
  732. package/dist/shims/url-utils.d.ts +12 -13
  733. package/dist/shims/use-merged-ref.d.ts +2 -3
  734. package/dist/shims/user-agent.d.ts +31 -0
  735. package/dist/shims/user-agent.js +16 -0
  736. package/dist/shims/web-vitals.d.ts +2 -2
  737. package/dist/typegen.d.ts +3 -4
  738. package/dist/utils/asset-prefix.d.ts +7 -8
  739. package/dist/utils/base-path.d.ts +5 -6
  740. package/dist/utils/built-asset-url.d.ts +2 -3
  741. package/dist/utils/built-asset-url.js +1 -1
  742. package/dist/utils/cache-control-metadata.d.ts +4 -5
  743. package/dist/utils/client-build-manifest.d.ts +6 -7
  744. package/dist/utils/client-build-manifest.js +2 -1
  745. package/dist/utils/client-entry-manifest.d.ts +6 -7
  746. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  747. package/dist/utils/client-runtime-metadata.js +18 -1
  748. package/dist/utils/commonjs-loader.d.ts +4 -5
  749. package/dist/utils/compare.d.ts +2 -3
  750. package/dist/utils/deployment-id.d.ts +6 -7
  751. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  752. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  753. package/dist/utils/domain-locale.d.ts +7 -8
  754. package/dist/utils/encode-cache-tag.d.ts +3 -4
  755. package/dist/utils/error-cause.d.ts +2 -3
  756. package/dist/utils/external-url.d.ts +2 -3
  757. package/dist/utils/has-trailing-comma.d.ts +3 -4
  758. package/dist/utils/hash.d.ts +3 -4
  759. package/dist/utils/html-limited-bots.d.ts +3 -4
  760. package/dist/utils/lazy-chunks.d.ts +8 -9
  761. package/dist/utils/lazy-chunks.js +4 -4
  762. package/dist/utils/manifest-paths.d.ts +5 -6
  763. package/dist/utils/mdx-scan.d.ts +11 -4
  764. package/dist/utils/mdx-scan.js +27 -1
  765. package/dist/utils/middleware-request-headers.d.ts +7 -6
  766. package/dist/utils/middleware-request-headers.js +6 -1
  767. package/dist/utils/navigation-signal.d.ts +3 -3
  768. package/dist/utils/navigation-signal.js +16 -1
  769. package/dist/utils/number.d.ts +2 -3
  770. package/dist/utils/package-name.d.ts +3 -4
  771. package/dist/utils/parse-cookie.d.ts +4 -5
  772. package/dist/utils/path.d.ts +8 -9
  773. package/dist/utils/plugin-options.d.ts +2 -3
  774. package/dist/utils/precompressed-variant.d.ts +3 -4
  775. package/dist/utils/prerender-output-paths.d.ts +4 -5
  776. package/dist/utils/project.d.ts +19 -30
  777. package/dist/utils/project.js +20 -29
  778. package/dist/utils/promise.d.ts +2 -3
  779. package/dist/utils/protocol-headers.d.ts +14 -15
  780. package/dist/utils/public-file-path.d.ts +2 -3
  781. package/dist/utils/public-routes.d.ts +2 -3
  782. package/dist/utils/query.d.ts +14 -9
  783. package/dist/utils/query.js +22 -1
  784. package/dist/utils/react-compiler-support.d.ts +6 -7
  785. package/dist/utils/react-version.d.ts +4 -3
  786. package/dist/utils/react-version.js +19 -1
  787. package/dist/utils/record.d.ts +2 -3
  788. package/dist/utils/redirect-digest.d.ts +3 -4
  789. package/dist/utils/regex-safety.d.ts +4 -5
  790. package/dist/utils/regex.d.ts +2 -3
  791. package/dist/utils/safe-json-file.d.ts +2 -3
  792. package/dist/utils/sorted-array.d.ts +2 -3
  793. package/dist/utils/text-stream.d.ts +3 -4
  794. package/dist/utils/vinext-root.d.ts +2 -3
  795. package/dist/utils/virtual-module.d.ts +3 -4
  796. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  797. package/dist/utils/vite-cli-invocation.js +144 -0
  798. package/dist/utils/vite-version.d.ts +5 -6
  799. package/next-package.json +4 -0
  800. package/package.json +47 -6
@@ -10,6 +10,5 @@ type PrerenderPhaseEnv = {
10
10
  * direct prerender helpers can run inside the CLI's broader build scope without
11
11
  * overwriting the caller's prior phase when they finish.
12
12
  */
13
- declare function enterPrerenderPhase(env?: PrerenderPhaseEnv): () => void;
14
- //#endregion
15
- export { enterPrerenderPhase };
13
+ export declare function enterPrerenderPhase(env?: PrerenderPhaseEnv): () => void;
14
+ //#endregion
@@ -1,4 +1,5 @@
1
1
  import { NoOpCacheHandler, setCacheHandler } from "../shims/cache-handler.js";
2
+ import { registerPrerenderCloudflareLoader } from "./prerender-cloudflare-loader.js";
2
3
  import { startProdServer } from "../server/prod-server.js";
3
4
  //#region src/build/prerender-server-entry.ts
4
5
  /**
@@ -11,18 +12,25 @@ import { startProdServer } from "../server/prod-server.js";
11
12
  * vinext production server on an ephemeral port and reports it to the parent
12
13
  * over IPC. The parent then load-balances per-route fetches across the pool.
13
14
  *
14
- * `VINEXT_PRERENDER` / `NEXT_PHASE` / `VINEXT_PRERENDER_OUTDIR` are passed via
15
- * the fork env so they are set before any module loads (some server and user
16
- * modules read the phase at import time).
15
+ * `VINEXT_PRERENDER`, `NEXT_PHASE`, `VINEXT_PRERENDER_OUTDIR`, and the optional
16
+ * `VINEXT_PRERENDER_RSC_ENTRY_PATH`, and `VINEXT_PRERENDER_SERVER_DIR` are
17
+ * passed via the fork env so they are set
18
+ * before any module loads (some server and user modules read the phase at
19
+ * import time).
17
20
  */
18
21
  async function main() {
19
22
  const outDir = process.env.VINEXT_PRERENDER_OUTDIR;
23
+ const rscEntryPath = process.env.VINEXT_PRERENDER_RSC_ENTRY_PATH;
24
+ const serverDir = process.env.VINEXT_PRERENDER_SERVER_DIR;
20
25
  if (!outDir) throw new Error("[vinext] prerender server worker: VINEXT_PRERENDER_OUTDIR not set");
21
26
  setCacheHandler(new NoOpCacheHandler());
27
+ registerPrerenderCloudflareLoader();
22
28
  const { port } = await startProdServer({
23
29
  port: 0,
24
30
  host: "127.0.0.1",
25
31
  outDir,
32
+ ...rscEntryPath ? { rscEntryPath } : {},
33
+ ...serverDir ? { serverDir } : {},
26
34
  noCompression: true,
27
35
  purpose: "prerender",
28
36
  silent: true
@@ -5,8 +5,8 @@
5
5
  * fly and a forked plain-node child can't load `.ts`); callers fall back to the
6
6
  * single in-process server. True in the published/built package.
7
7
  */
8
- declare function prerenderPoolAvailable(): boolean;
9
- type PrerenderServerPool = {
8
+ export declare function prerenderPoolAvailable(): boolean;
9
+ export type PrerenderServerPool = {
10
10
  /** Ports of the forked render servers, for round-robin per-route fetches. */
11
11
  ports: number[];
12
12
  /**
@@ -35,12 +35,15 @@ type PrerenderServerPool = {
35
35
  * number of in-flight route fetches and the worker count (the default is capped
36
36
  * at `min(cores, 8)`).
37
37
  */
38
- declare function resolvePrerenderPoolSize(routeCount: number, maxOverride?: number): number;
38
+ export declare function resolvePrerenderPoolSize(routeCount: number, maxOverride?: number): number;
39
39
  /**
40
40
  * Fork `size` production servers against `outDir` and resolve once all are
41
41
  * listening. Each child reports its port over IPC. Rejects (and tears down any
42
42
  * already-started children) if any child fails to come up.
43
43
  */
44
- declare function startPrerenderServerPool(outDir: string, size: number, entry?: string): Promise<PrerenderServerPool>;
45
- //#endregion
46
- export { PrerenderServerPool, prerenderPoolAvailable, resolvePrerenderPoolSize, startPrerenderServerPool };
44
+ export declare function startPrerenderServerPool(outDir: string, size: number, options?: {
45
+ entry?: string;
46
+ rscEntryPath?: string;
47
+ serverDir?: string;
48
+ }): Promise<PrerenderServerPool>;
49
+ //#endregion
@@ -2,8 +2,8 @@ import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
2
2
  import { PHASE_PRODUCTION_BUILD } from "../shims/constants.js";
3
3
  import fs from "node:fs";
4
4
  import { fileURLToPath } from "node:url";
5
- import os from "node:os";
6
5
  import { fork } from "node:child_process";
6
+ import os from "node:os";
7
7
  //#region src/build/prerender-server-pool.ts
8
8
  /**
9
9
  * Parallel prerender server pool.
@@ -41,12 +41,12 @@ const MAX_POOL_SIZE = 8;
41
41
  const MIN_ROUTES_PER_WORKER = 48;
42
42
  /** Rough memory budget reserved for the main build process plus its in-process
43
43
  * prerender server. */
44
- const APPROX_MAIN_PROCESS_BYTES = 768 * 1024 * 1024;
44
+ const APPROX_MAIN_PROCESS_BYTES = 805306368;
45
45
  /** Rough memory budget per worker (a worker loads the whole server bundle).
46
46
  * Used with total system memory as a coarse upper bound on constrained machines
47
47
  * so K render processes don't OOM. Deliberately under-forks rather than risking
48
48
  * OOM; measured mid-size apps are usually lower (~260-380 MB/worker). */
49
- const APPROX_BYTES_PER_WORKER = 768 * 1024 * 1024;
49
+ const APPROX_BYTES_PER_WORKER = 805306368;
50
50
  /** Per-worker readiness timeout. */
51
51
  const WORKER_READY_TIMEOUT_MS = 6e4;
52
52
  /** Best-effort close timeout so build cleanup is not blocked forever by a wedged child. */
@@ -90,7 +90,8 @@ function isWorkerTransportError(err) {
90
90
  * listening. Each child reports its port over IPC. Rejects (and tears down any
91
91
  * already-started children) if any child fails to come up.
92
92
  */
93
- async function startPrerenderServerPool(outDir, size, entry = WORKER_ENTRY) {
93
+ async function startPrerenderServerPool(outDir, size, options = {}) {
94
+ const { entry = WORKER_ENTRY, rscEntryPath, serverDir } = options;
94
95
  const children = [];
95
96
  let shuttingDown = false;
96
97
  let crash = null;
@@ -107,7 +108,9 @@ async function startPrerenderServerPool(outDir, size, entry = WORKER_ENTRY) {
107
108
  ...process.env,
108
109
  VINEXT_PRERENDER: "1",
109
110
  NEXT_PHASE: PHASE_PRODUCTION_BUILD,
110
- VINEXT_PRERENDER_OUTDIR: outDir
111
+ VINEXT_PRERENDER_OUTDIR: outDir,
112
+ ...rscEntryPath ? { VINEXT_PRERENDER_RSC_ENTRY_PATH: rscEntryPath } : {},
113
+ ...serverDir ? { VINEXT_PRERENDER_SERVER_DIR: serverDir } : {}
111
114
  },
112
115
  stdio: [
113
116
  "ignore",
@@ -5,13 +5,13 @@ import { MetadataFileRoute } from "../server/metadata-routes.js";
5
5
  import { readPrerenderSecret } from "./server-manifest.js";
6
6
  import { Server } from "node:http";
7
7
  //#region src/build/prerender.d.ts
8
- type PrerenderResult = {
8
+ export type PrerenderResult = {
9
9
  /** One entry per route (including skipped/error routes). */
10
10
  routes: PrerenderRouteResult[];
11
11
  /** Additional generated files that are not represented as route entries. */
12
12
  outputFiles?: string[];
13
13
  };
14
- type PrerenderRouteResult = {
14
+ export type PrerenderRouteResult = {
15
15
  /** The route's file-system pattern, e.g. `/blog/:slug`. */
16
16
  route: string;
17
17
  status: "rendered";
@@ -41,7 +41,7 @@ type PrerenderRouteResult = {
41
41
  } | {
42
42
  route: string;
43
43
  status: "skipped";
44
- reason: "ssr" | "dynamic" | "no-static-params" | "api" | "internal";
44
+ reason: "ssr" | "dynamic" | "no-static-params" | "empty-static-params" | "api" | "internal";
45
45
  } | {
46
46
  route: string;
47
47
  status: "error";
@@ -124,6 +124,16 @@ type PrerenderAppOptions = {
124
124
  * Absolute path to the pre-built RSC handler bundle (e.g. `dist/server/index.js`).
125
125
  */
126
126
  rscBundlePath: string;
127
+ /**
128
+ * Root directory for build metadata and sibling server artifacts. Defaults
129
+ * to the RSC entry's directory for compatibility with standalone callers.
130
+ */
131
+ serverDir?: string;
132
+ /**
133
+ * Root of the complete production build passed to the local prerender
134
+ * server. Defaults to the parent of `serverDir` for standalone callers.
135
+ */
136
+ buildOutDir?: string;
127
137
  } & PrerenderOptions;
128
138
  type PrerenderPagesOptionsInternal = PrerenderPagesOptions & {
129
139
  _prodServer?: {
@@ -158,7 +168,7 @@ type PrerenderAppOptionsInternal = PrerenderAppOptions & {
158
168
  * Safe regex usage: safeJsonStringify (used by createRscEmbedTransform) escapes
159
169
  * all '<' and '>' in the embedded JSON, preventing false </script> matches.
160
170
  */
161
- declare function extractRscPayloadFromPrerenderedHtml(html: string): Uint8Array | null;
171
+ export declare function extractRscPayloadFromPrerenderedHtml(html: string): Uint8Array | null;
162
172
  /**
163
173
  * Build a URL path from a route pattern and params.
164
174
  * "/posts/:id" + { id: "42" } → "/posts/42"
@@ -169,21 +179,61 @@ declare function extractRscPayloadFromPrerenderedHtml(html: string): Uint8Array
169
179
  * caller (prerenderPages / prerenderApp) catches this and surfaces it as a
170
180
  * per-route error result.
171
181
  */
172
- declare function buildUrlFromParams(pattern: string, params: Record<string, string | string[]> | undefined | null): string;
182
+ export declare function buildUrlFromParams(pattern: string, params: Record<string, string | string[]> | undefined | null): string;
173
183
  /** Map of route patterns to generateStaticParams functions (or null/undefined). */
174
- type StaticParamsMap = Record<string, ((opts: {
184
+ export type StaticParamsMap = Record<string, ((opts: {
175
185
  params: Record<string, string | string[]>;
176
186
  }) => Promise<unknown>) | null | undefined>;
177
187
  /**
178
- * Resolve parent dynamic segment params for a route.
188
+ * Resolve the params a route's layouts above its own pattern generate.
179
189
  * Handles top-down generateStaticParams resolution for nested dynamic routes.
180
190
  *
181
191
  * Uses the `staticParamsMap` (pattern → generateStaticParams) exported from
182
- * the production bundle.
192
+ * the production bundle. As in Next.js, which walks every segment of the
193
+ * route's own loader tree top-down and passes each parent param set to the
194
+ * next generateStaticParams (build/static-paths/app.ts
195
+ * generateRouteStaticParams), every layout of the route contributes, including
196
+ * one at the last dynamic segment when static segments follow it. The layouts
197
+ * at the route's full pattern compose with its page under
198
+ * `staticParamsMap[route.pattern]`, so they're left to the caller. A page or a
199
+ * route group's layout at the same prefix belongs to a sibling route and never
200
+ * supplies params.
201
+ *
202
+ * An App Route handler inherits no layouts: Next.js builds its segments from
203
+ * the route module alone (build/segment-config/app/app-segments.ts
204
+ * collectAppRouteSegments), so it has no parent params. A layout that returns
205
+ * no params passes each parent set through unchanged, as Next.js does outside
206
+ * Cache Components, except under `output: "export"`, where Next.js rejects any
207
+ * generateStaticParams that returns no params (build/static-paths/app.ts
208
+ * callGenerateStaticParams).
183
209
  */
184
- declare function resolveParentParams(childRoute: AppRoute, staticParamsMap: StaticParamsMap, options?: {
185
- includeLastDynamicSegment?: boolean;
210
+ export declare function resolveParentParams(childRoute: AppRoute, staticParamsMap: StaticParamsMap, options?: {
211
+ staticExport?: boolean;
186
212
  }): Promise<Record<string, string | string[]>[]>;
213
+ export declare function validateDiscoveredParams(value: unknown, pattern: string, source: "generateStaticParams" | "getStaticPaths"): Record<string, string | string[]>;
214
+ /**
215
+ * The param sets of an App route that become concrete paths, following
216
+ * Next.js's buildAppStaticPaths (build/static-paths/app.ts). Unless every set
217
+ * names every pathname param (hadAllParamsGenerated), none is prerendered.
218
+ * Otherwise every set is checked against the route's pathname params
219
+ * (validateParams), and, outside a partial prerender, a set with an empty
220
+ * required value is skipped rather than built into a path with an empty
221
+ * segment. An array, including an optional catch-all's empty one, is never
222
+ * empty in that sense. Under `output: "export"` incomplete sets fail the
223
+ * build instead, as Next.js requires every export path to be generated.
224
+ */
225
+ export declare function routeStaticParamSets(route: Pick<AppRoute, "pattern">, paramSets: readonly unknown[], options?: {
226
+ staticExport?: boolean;
227
+ }): Record<string, string | string[]>[];
228
+ /**
229
+ * The param sets a route's layouts generate, standing in for the route's own
230
+ * when none of the segments at its full pattern has generateStaticParams.
231
+ * Next.js prerenders none of a route's paths unless every set fills every
232
+ * pathname param (build/static-paths/app.ts hadAllParamsGenerated), so
233
+ * incomplete sets leave the route without static params (`null`). Complete
234
+ * sets still go through routeStaticParamSets.
235
+ */
236
+ export declare function layoutOnlyParamSets(route: Pick<AppRoute, "params" | "pattern">, parentParamSets: Record<string, string | string[]>[]): Record<string, string | string[]>[] | null;
187
237
  /**
188
238
  * Run the prerender phase for Pages Router.
189
239
  *
@@ -197,7 +247,7 @@ declare function resolveParentParams(childRoute: AppRoute, staticParamsMap: Stat
197
247
  * Writes HTML files to `outDir`. If `manifestDir` is set, writes
198
248
  * `vinext-prerender.json` there; otherwise writes it to `outDir`.
199
249
  */
200
- declare function prerenderPages({ routes, apiRoutes, pagesDir, outDir, config, mode, ...options }: PrerenderPagesOptionsInternal): Promise<PrerenderResult>;
250
+ export declare function prerenderPages({ routes, apiRoutes, pagesDir, outDir, config, mode, ...options }: PrerenderPagesOptionsInternal): Promise<PrerenderResult>;
201
251
  /**
202
252
  * Run the prerender phase for App Router.
203
253
  *
@@ -208,14 +258,14 @@ declare function prerenderPages({ routes, apiRoutes, pagesDir, outDir, config, m
208
258
  * `vinext-prerender.json` to `outDir`.
209
259
  *
210
260
  * If the bundle does not exist, an error is thrown directing the user to run
211
- * `vinext build` first.
261
+ * `vite build` first.
212
262
  *
213
263
  * Speculative static rendering: routes classified as 'unknown' (no explicit
214
264
  * config, non-dynamic URL) are attempted with an empty headers/cookies context.
215
265
  * If they succeed, they are marked as rendered. If they throw a DynamicUsageError
216
266
  * or fail, they are marked as skipped with reason 'dynamic'.
217
267
  */
218
- declare function prerenderApp({ routes, metadataRoutes, outDir, config, mode, rscBundlePath, ...options }: PrerenderAppOptionsInternal): Promise<PrerenderResult>;
268
+ export declare function prerenderApp({ routes, metadataRoutes, outDir, config, mode, rscBundlePath, serverDir, buildOutDir, ...options }: PrerenderAppOptionsInternal): Promise<PrerenderResult>;
219
269
  /**
220
270
  * Write `vinext-prerender.json` to `outDir`.
221
271
  *
@@ -223,9 +273,9 @@ declare function prerenderApp({ routes, metadataRoutes, outDir, config, mode, rs
223
273
  * ISR cache population at production startup. The `buildId` is included so
224
274
  * the seeding function can construct matching cache keys.
225
275
  */
226
- declare function writePrerenderIndex(routes: PrerenderRouteResult[], outDir: string, options?: {
276
+ export declare function writePrerenderIndex(routes: PrerenderRouteResult[], outDir: string, options?: {
227
277
  buildId?: string;
228
278
  trailingSlash?: boolean;
229
279
  }): void;
230
280
  //#endregion
231
- export { PrerenderResult, PrerenderRouteResult, StaticParamsMap, buildUrlFromParams, extractRscPayloadFromPrerenderedHtml, prerenderApp, prerenderPages, readPrerenderSecret, resolveParentParams, writePrerenderIndex };
281
+ export { readPrerenderSecret };
@@ -1,6 +1,8 @@
1
1
  import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
2
2
  import { createValidFileMatcher, findFileWithExtensions } from "../routing/file-matcher.js";
3
+ import { BLOCKED_PAGES } from "../shims/constants.js";
3
4
  import { VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, VINEXT_PRERENDER_SECRET_HEADER, VINEXT_PRERENDER_SPECULATIVE_HEADER } from "../utils/protocol-headers.js";
5
+ import { appRouteLayoutStaticParamsGroups } from "../routing/app-router.js";
4
6
  import { NEXT_CACHE_TAGS_HEADER, VINEXT_METADATA_ROUTE_CACHE_HEADER, VINEXT_PRERENDER_CACHE_LIFE_HEADER, VINEXT_PRERENDER_METADATA_ROUTES_PATH, VINEXT_PRERENDER_RENDER_ERROR_HEADER } from "../server/headers.js";
5
7
  import { classifyAppRoute, classifyPagesRoute, getAppRouteRenderEntryPath } from "./report.js";
6
8
  import { resolveClientStaleTimeSeconds } from "../utils/cache-control-metadata.js";
@@ -8,12 +10,11 @@ import { NoOpCacheHandler, getCacheHandler, setCacheHandler } from "../shims/cac
8
10
  import { headersContextFromRequest, runWithHeadersContext } from "../shims/headers.js";
9
11
  import { _consumeRequestScopedCacheLife } from "../shims/cache-request-state.js";
10
12
  import { normalizeStaticPathsEntry } from "../routing/route-pattern.js";
11
- import { BLOCKED_PAGES } from "../shims/constants.js";
13
+ import { readPrerenderSecret } from "./server-manifest.js";
12
14
  import { buildPregeneratedConcretePathTable } from "../server/prerender-manifest.js";
13
15
  import { concatUint8Arrays, decodeRscEmbeddedChunk } from "../server/app-rsc-embedded-chunks.js";
14
16
  import { navigationRuntimeRscBootstrapExpression } from "../server/app-ssr-stream.js";
15
17
  import { encodePrerenderRouteParams, serializePrerenderRouteParamsHeader } from "../server/prerender-route-params.js";
16
- import { readPrerenderSecret } from "./server-manifest.js";
17
18
  import { createAppPprFallbackShells, markAppPprDynamicFallbackShellHtml } from "../server/app-ppr-fallback-shell.js";
18
19
  import { getAppRouteOutputPath, getOutputPath, getRscOutputPath } from "../utils/prerender-output-paths.js";
19
20
  import { startProdServer } from "../server/prod-server.js";
@@ -25,7 +26,7 @@ import fs from "node:fs";
25
26
  import os from "node:os";
26
27
  //#region src/build/prerender.ts
27
28
  /**
28
- * Prerendering phase for vinext build.
29
+ * Prerendering phase for vite build.
29
30
  *
30
31
  * Classifies every route, renders static and ISR routes to HTML/JSON/RSC files,
31
32
  * and writes a `vinext-prerender.json` build index.
@@ -48,15 +49,19 @@ function isExperimentalPprFallbackShellGenerationEnabled(env = process.env) {
48
49
  function getErrorMessageWithStack(err) {
49
50
  return err.stack || err.message;
50
51
  }
51
- async function startOptionalPrerenderServerPool(outDir, poolSize) {
52
+ async function startOptionalPrerenderServerPool(outDir, poolSize, rscEntryPath, serverDir) {
52
53
  try {
53
- return await startPrerenderServerPool(outDir, poolSize);
54
+ return await startPrerenderServerPool(outDir, poolSize, {
55
+ rscEntryPath,
56
+ serverDir
57
+ });
54
58
  } catch (e) {
55
59
  console.warn(`[vinext] prerender render pool failed to start; falling back to single-process render: ${e instanceof Error ? e.message : String(e)}`);
56
60
  return null;
57
61
  }
58
62
  }
59
63
  var PrerenderUserFunctionError = class extends Error {};
64
+ var InvalidStaticParamsError = class extends Error {};
60
65
  function parsePrerenderEndpointError(text) {
61
66
  try {
62
67
  const parsed = JSON.parse(text);
@@ -207,41 +212,59 @@ function emitStatic404Files(outDir, html, trailingSlash) {
207
212
  return outputFiles;
208
213
  }
209
214
  /**
210
- * Resolve parent dynamic segment params for a route.
215
+ * Next.js fails `output: "export"` on any generateStaticParams call that
216
+ * returns no params (build/static-paths/app.ts callGenerateStaticParams).
217
+ */
218
+ function emptyStaticExportParamsError(pattern) {
219
+ return /* @__PURE__ */ new Error(`Page "${pattern}" returned an empty array from "generateStaticParams()". With "output: export", at least one route must be generated. See more info here: https://nextjs.org/docs/messages/generate-static-params`);
220
+ }
221
+ /**
222
+ * Resolve the params a route's layouts above its own pattern generate.
211
223
  * Handles top-down generateStaticParams resolution for nested dynamic routes.
212
224
  *
213
225
  * Uses the `staticParamsMap` (pattern → generateStaticParams) exported from
214
- * the production bundle.
226
+ * the production bundle. As in Next.js, which walks every segment of the
227
+ * route's own loader tree top-down and passes each parent param set to the
228
+ * next generateStaticParams (build/static-paths/app.ts
229
+ * generateRouteStaticParams), every layout of the route contributes, including
230
+ * one at the last dynamic segment when static segments follow it. The layouts
231
+ * at the route's full pattern compose with its page under
232
+ * `staticParamsMap[route.pattern]`, so they're left to the caller. A page or a
233
+ * route group's layout at the same prefix belongs to a sibling route and never
234
+ * supplies params.
235
+ *
236
+ * An App Route handler inherits no layouts: Next.js builds its segments from
237
+ * the route module alone (build/segment-config/app/app-segments.ts
238
+ * collectAppRouteSegments), so it has no parent params. A layout that returns
239
+ * no params passes each parent set through unchanged, as Next.js does outside
240
+ * Cache Components, except under `output: "export"`, where Next.js rejects any
241
+ * generateStaticParams that returns no params (build/static-paths/app.ts
242
+ * callGenerateStaticParams).
215
243
  */
216
244
  async function resolveParentParams(childRoute, staticParamsMap, options = {}) {
217
- const { patternParts } = childRoute;
218
- let lastDynamicIdx = -1;
219
- for (let i = patternParts.length - 1; i >= 0; i--) if (patternParts[i].startsWith(":")) {
220
- lastDynamicIdx = i;
221
- break;
222
- }
245
+ if (childRoute.routePath && !childRoute.pagePath) return [];
223
246
  const parentSegments = [];
224
- let prefixPattern = "";
225
- const prefixEnd = options.includeLastDynamicSegment ? lastDynamicIdx + 1 : lastDynamicIdx;
226
- for (let i = 0; i < prefixEnd; i++) {
227
- const part = patternParts[i];
228
- prefixPattern += "/" + part;
229
- if (!part.startsWith(":")) continue;
230
- const fn = staticParamsMap[prefixPattern];
247
+ for (const group of appRouteLayoutStaticParamsGroups(childRoute)) {
248
+ if (group.pattern === childRoute.pattern) continue;
249
+ const fn = staticParamsMap[group.key];
231
250
  if (typeof fn === "function") parentSegments.push(fn);
232
251
  }
233
252
  if (parentSegments.length === 0) return [];
234
- let currentParams = [{}];
235
- let resolvedAnyParent = false;
253
+ let currentParams = [];
236
254
  for (const generateStaticParams of parentSegments) {
237
255
  const nextParams = [];
238
256
  let resolvedThisParent = false;
239
- for (const parentParams of currentParams) {
257
+ const hasParentSets = currentParams.length > 0;
258
+ for (const parentParams of hasParentSets ? currentParams : [{}]) {
240
259
  const results = await generateStaticParams({ params: parentParams });
241
260
  if (results === null) continue;
242
261
  if (!Array.isArray(results)) return [];
262
+ if (options.staticExport && results.length === 0) throw emptyStaticExportParamsError(childRoute.pattern);
243
263
  resolvedThisParent = true;
244
- resolvedAnyParent = true;
264
+ if (results.length === 0 && hasParentSets) {
265
+ nextParams.push(parentParams);
266
+ continue;
267
+ }
245
268
  for (const result of results) nextParams.push({
246
269
  ...parentParams,
247
270
  ...result
@@ -249,7 +272,70 @@ async function resolveParentParams(childRoute, staticParamsMap, options = {}) {
249
272
  }
250
273
  if (resolvedThisParent) currentParams = nextParams;
251
274
  }
252
- return resolvedAnyParent ? currentParams : [];
275
+ return currentParams;
276
+ }
277
+ function getDynamicPatternParams(pattern) {
278
+ return pattern.split("/").filter((segment) => segment.startsWith(":")).map((segment) => ({
279
+ name: segment.slice(1, segment.endsWith("+") || segment.endsWith("*") ? -1 : void 0),
280
+ optional: segment.endsWith("*"),
281
+ repeat: segment.endsWith("+") || segment.endsWith("*")
282
+ }));
283
+ }
284
+ function validateDiscoveredParams(value, pattern, source) {
285
+ if (!value || typeof value !== "object" || Array.isArray(value)) throw new InvalidStaticParamsError(`${source} must return parameter objects for ${pattern}.`);
286
+ const params = { ...value };
287
+ for (const { name, optional, repeat } of getDynamicPatternParams(pattern)) {
288
+ const hasValue = Object.prototype.hasOwnProperty.call(params, name);
289
+ let paramValue = params[name];
290
+ if (optional && hasValue && (paramValue === null || paramValue === void 0 || paramValue === false)) {
291
+ paramValue = [];
292
+ params[name] = paramValue;
293
+ }
294
+ if (!(repeat ? Array.isArray(paramValue) && paramValue.every((entry) => typeof entry === "string") : typeof paramValue === "string")) throw new InvalidStaticParamsError(`Parameter ${name} from ${source} for ${pattern} must be ${repeat ? "an array of strings" : "a string"}.`);
295
+ if ((Array.isArray(paramValue) ? paramValue : [paramValue]).some((entry) => entry === "." || entry === "..")) throw new InvalidStaticParamsError(`Parameter ${name} from ${source} for ${pattern} must not contain dot path segments.`);
296
+ }
297
+ return params;
298
+ }
299
+ /**
300
+ * The param sets of an App route that become concrete paths, following
301
+ * Next.js's buildAppStaticPaths (build/static-paths/app.ts). Unless every set
302
+ * names every pathname param (hadAllParamsGenerated), none is prerendered.
303
+ * Otherwise every set is checked against the route's pathname params
304
+ * (validateParams), and, outside a partial prerender, a set with an empty
305
+ * required value is skipped rather than built into a path with an empty
306
+ * segment. An array, including an optional catch-all's empty one, is never
307
+ * empty in that sense. Under `output: "export"` incomplete sets fail the
308
+ * build instead, as Next.js requires every export path to be generated.
309
+ */
310
+ function routeStaticParamSets(route, paramSets, options = {}) {
311
+ const patternParams = getDynamicPatternParams(route.pattern);
312
+ const objects = paramSets.map((value) => {
313
+ if (!value || typeof value !== "object" || Array.isArray(value)) throw new InvalidStaticParamsError(`generateStaticParams must return parameter objects for ${route.pattern}.`);
314
+ return value;
315
+ });
316
+ const missingParamNames = patternParams.filter(({ name }) => objects.some((params) => !(name in params))).map(({ name }) => name);
317
+ if (missingParamNames.length > 0) {
318
+ if (options.staticExport && objects.length > 0) throw new InvalidStaticParamsError(`Page "${route.pattern}" returned incomplete params from "generateStaticParams()". With "output: export", every params object must include all dynamic route parameters. Missing: ${missingParamNames.map((name) => `"${name}"`).join(", ")}. See more info here: https://nextjs.org/docs/messages/generate-static-params`);
319
+ return [];
320
+ }
321
+ const materializable = [];
322
+ for (const value of objects) {
323
+ const params = validateDiscoveredParams(value, route.pattern, "generateStaticParams");
324
+ if (patternParams.some(({ name, repeat }) => !repeat && params[name] === "")) continue;
325
+ materializable.push(params);
326
+ }
327
+ return materializable;
328
+ }
329
+ /**
330
+ * The param sets a route's layouts generate, standing in for the route's own
331
+ * when none of the segments at its full pattern has generateStaticParams.
332
+ * Next.js prerenders none of a route's paths unless every set fills every
333
+ * pathname param (build/static-paths/app.ts hadAllParamsGenerated), so
334
+ * incomplete sets leave the route without static params (`null`). Complete
335
+ * sets still go through routeStaticParamSets.
336
+ */
337
+ function layoutOnlyParamSets(route, parentParamSets) {
338
+ return parentParamSets.length > 0 && parentParamSets.every((params) => route.params.every((name) => name in params)) ? parentParamSets : null;
253
339
  }
254
340
  /**
255
341
  * Run the prerender phase for Pages Router.
@@ -287,7 +373,7 @@ async function prerenderPages({ routes, apiRoutes, pagesDir, outDir, config, mod
287
373
  try {
288
374
  let prerenderSecret = options._prerenderSecret;
289
375
  if (!prerenderSecret && pagesBundlePath) prerenderSecret = readPrerenderSecret(path.dirname(pagesBundlePath));
290
- if (!prerenderSecret) console.warn("[vinext] Warning: prerender secret not found. /__vinext/prerender/* endpoints will return 403 and dynamic routes will produce no paths. Run `vinext build` to regenerate the secret.");
376
+ if (!prerenderSecret) console.warn("[vinext] Warning: prerender secret not found. /__vinext/prerender/* endpoints will return 403 and dynamic routes will produce no paths. Run `vite build` to regenerate the secret.");
291
377
  const prodServer = options._prodServer ? options._prodServer : await (async () => {
292
378
  const srv = await startProdServer({
293
379
  port: 0,
@@ -531,14 +617,14 @@ async function prerenderPages({ routes, apiRoutes, pagesDir, outDir, config, mod
531
617
  * `vinext-prerender.json` to `outDir`.
532
618
  *
533
619
  * If the bundle does not exist, an error is thrown directing the user to run
534
- * `vinext build` first.
620
+ * `vite build` first.
535
621
  *
536
622
  * Speculative static rendering: routes classified as 'unknown' (no explicit
537
623
  * config, non-dynamic URL) are attempted with an empty headers/cookies context.
538
624
  * If they succeed, they are marked as rendered. If they throw a DynamicUsageError
539
625
  * or fail, they are marked as skipped with reason 'dynamic'.
540
626
  */
541
- async function prerenderApp({ routes, metadataRoutes = [], outDir, config, mode, rscBundlePath, ...options }) {
627
+ async function prerenderApp({ routes, metadataRoutes = [], outDir, config, mode, rscBundlePath, serverDir = path.dirname(rscBundlePath), buildOutDir = path.dirname(serverDir), ...options }) {
542
628
  const manifestDir = options.manifestDir ?? outDir;
543
629
  const concurrency = options.concurrency ?? DEFAULT_CONCURRENCY;
544
630
  const onProgress = options.onProgress;
@@ -548,7 +634,6 @@ async function prerenderApp({ routes, metadataRoutes = [], outDir, config, mode,
548
634
  const previousHandler = getCacheHandler();
549
635
  setCacheHandler(new NoOpCacheHandler());
550
636
  const restorePrerenderPhase = enterPrerenderPhase();
551
- const serverDir = path.dirname(rscBundlePath);
552
637
  let rscHandler;
553
638
  let staticParamsMap = {};
554
639
  let ownedProdServerHandle = null;
@@ -557,12 +642,14 @@ async function prerenderApp({ routes, metadataRoutes = [], outDir, config, mode,
557
642
  let renderRoundRobin = 0;
558
643
  try {
559
644
  const prerenderSecret = readPrerenderSecret(serverDir);
560
- if (!prerenderSecret) console.warn("[vinext] Warning: prerender secret not found. /__vinext/prerender/* endpoints will return 403 and generateStaticParams will not be called. Run `vinext build` to regenerate the secret.");
645
+ if (!prerenderSecret) console.warn("[vinext] Warning: prerender secret not found. /__vinext/prerender/* endpoints will return 403 and generateStaticParams will not be called. Run `vite build` to regenerate the secret.");
561
646
  const prodServer = options._prodServer ? options._prodServer : await (async () => {
562
647
  const srv = await startProdServer({
563
648
  port: 0,
564
649
  host: "127.0.0.1",
565
- outDir: path.dirname(serverDir),
650
+ outDir: buildOutDir,
651
+ rscEntryPath: rscBundlePath,
652
+ serverDir,
566
653
  noCompression: true,
567
654
  purpose: "prerender"
568
655
  });
@@ -595,6 +682,7 @@ async function prerenderApp({ routes, metadataRoutes = [], outDir, config, mode,
595
682
  const request = (async () => {
596
683
  const search = new URLSearchParams({ pattern });
597
684
  if (Object.keys(params).length > 0) search.set("parentParams", JSON.stringify(params));
685
+ if (mode === "export") search.set("rejectEmptyResults", "1");
598
686
  const res = await fetch(`${baseUrl}/__vinext/prerender/static-params?${search}`, { headers: secretHeaders });
599
687
  const text = await res.text();
600
688
  if (!res.ok) {
@@ -664,28 +752,36 @@ async function prerenderApp({ routes, metadataRoutes = [], outDir, config, mode,
664
752
  });
665
753
  continue;
666
754
  }
667
- const parentParamSets = await resolveParentParams(route, staticParamsMap);
755
+ const parentParamSets = await resolveParentParams(route, staticParamsMap, { staticExport: mode === "export" });
668
756
  let paramSets;
669
757
  if (parentParamSets.length > 0) {
670
758
  paramSets = [];
671
759
  for (const parentParams of parentParamSets) {
672
760
  const childResults = await generateStaticParamsFn({ params: parentParams });
673
761
  if (childResults === null) {
674
- paramSets = null;
762
+ paramSets = layoutOnlyParamSets(route, parentParamSets);
675
763
  break;
676
764
  }
677
- if (Array.isArray(childResults)) for (const childParams of childResults) paramSets.push({
678
- ...parentParams,
679
- ...childParams
680
- });
681
- else {
765
+ if (Array.isArray(childResults)) {
766
+ if (mode === "export" && childResults.length === 0) throw emptyStaticExportParamsError(route.pattern);
767
+ if (childResults.length === 0) {
768
+ paramSets.push(parentParams);
769
+ continue;
770
+ }
771
+ for (const childParams of childResults) paramSets.push({
772
+ ...parentParams,
773
+ ...childParams
774
+ });
775
+ } else {
682
776
  paramSets = [];
683
777
  break;
684
778
  }
685
779
  }
780
+ if (paramSets !== null) paramSets = routeStaticParamSets(route, paramSets, { staticExport: mode === "export" });
686
781
  } else {
687
782
  const results = await generateStaticParamsFn({ params: {} });
688
- paramSets = Array.isArray(results) || results === null ? results : [];
783
+ if (mode === "export" && Array.isArray(results) && results.length === 0) throw emptyStaticExportParamsError(route.pattern);
784
+ paramSets = results === null ? null : routeStaticParamSets(route, Array.isArray(results) ? results : [], { staticExport: mode === "export" });
689
785
  }
690
786
  if (paramSets === null) {
691
787
  if (mode === "export") results.push({
@@ -704,7 +800,7 @@ async function prerenderApp({ routes, metadataRoutes = [], outDir, config, mode,
704
800
  results.push({
705
801
  route: route.pattern,
706
802
  status: "skipped",
707
- reason: "no-static-params"
803
+ reason: "empty-static-params"
708
804
  });
709
805
  continue;
710
806
  }
@@ -741,7 +837,7 @@ async function prerenderApp({ routes, metadataRoutes = [], outDir, config, mode,
741
837
  route: route.pattern,
742
838
  status: "error",
743
839
  error: `Failed to call generateStaticParams(): ${detail}`,
744
- ...e instanceof PrerenderUserFunctionError ? { fatal: true } : {}
840
+ ...e instanceof PrerenderUserFunctionError || e instanceof InvalidStaticParamsError ? { fatal: true } : {}
745
841
  });
746
842
  }
747
843
  else if (type === "unknown") urlsToRender.push({
@@ -969,7 +1065,7 @@ async function prerenderApp({ routes, metadataRoutes = [], outDir, config, mode,
969
1065
  if (!options._prodServer && prerenderPoolAvailable()) {
970
1066
  const poolSize = resolvePrerenderPoolSize(urlsToRender.length, concurrency);
971
1067
  if (poolSize > 1) {
972
- renderPool = await startOptionalPrerenderServerPool(path.dirname(serverDir), poolSize);
1068
+ renderPool = await startOptionalPrerenderServerPool(buildOutDir, poolSize, rscBundlePath, serverDir);
973
1069
  if (renderPool) renderPorts = renderPool.ports;
974
1070
  }
975
1071
  }
@@ -1114,4 +1210,4 @@ function writePrerenderIndex(routes, outDir, options) {
1114
1210
  fs.writeFileSync(path.join(outDir, "vinext-prerender.json"), JSON.stringify(index, null, 2), "utf-8");
1115
1211
  }
1116
1212
  //#endregion
1117
- export { buildUrlFromParams, extractRscPayloadFromPrerenderedHtml, prerenderApp, prerenderPages, readPrerenderSecret, resolveParentParams, writePrerenderIndex };
1213
+ export { buildUrlFromParams, extractRscPayloadFromPrerenderedHtml, layoutOnlyParamSets, prerenderApp, prerenderPages, readPrerenderSecret, resolveParentParams, routeStaticParamSets, validateDiscoveredParams, writePrerenderIndex };
@@ -1,11 +1,10 @@
1
1
  //#region src/build/preview-credentials.d.ts
2
- type PreviewBuildCredentials = {
2
+ export type PreviewBuildCredentials = {
3
3
  id: string;
4
4
  signingKey: string;
5
5
  encryptionKey: string;
6
6
  };
7
- declare function createPreviewBuildCredentials(): PreviewBuildCredentials;
8
- declare function getPreviewBuildCredentials(): PreviewBuildCredentials | undefined;
9
- declare function runWithPreviewBuildCredentials<T>(callback: () => T): T;
10
- //#endregion
11
- export { PreviewBuildCredentials, createPreviewBuildCredentials, getPreviewBuildCredentials, runWithPreviewBuildCredentials };
7
+ export declare function createPreviewBuildCredentials(): PreviewBuildCredentials;
8
+ export declare function getPreviewBuildCredentials(): PreviewBuildCredentials | undefined;
9
+ export declare function runWithPreviewBuildCredentials<T>(callback: () => T, credentials?: PreviewBuildCredentials): T;
10
+ //#endregion
@@ -12,8 +12,8 @@ function createPreviewBuildCredentials() {
12
12
  function getPreviewBuildCredentials() {
13
13
  return previewBuildCredentialsStorage.getStore();
14
14
  }
15
- function runWithPreviewBuildCredentials(callback) {
16
- return previewBuildCredentialsStorage.run(createPreviewBuildCredentials(), callback);
15
+ function runWithPreviewBuildCredentials(callback, credentials = createPreviewBuildCredentials()) {
16
+ return previewBuildCredentialsStorage.run(credentials, callback);
17
17
  }
18
18
  //#endregion
19
19
  export { createPreviewBuildCredentials, getPreviewBuildCredentials, runWithPreviewBuildCredentials };