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
@@ -0,0 +1,33 @@
1
+ import { FrameworkSpan } from "./framework-tracer.js";
2
+ //#region src/server/app-page-tracing.d.ts
3
+ export declare function traceAppPageRender<T>(routePattern: string, operation: "prerender" | "render", callback: (span: FrameworkSpan) => T): T;
4
+ export declare function createAppPageRenderSpanDescriptor(routePattern: string, operation: "prerender" | "render"): {
5
+ readonly attributes: {
6
+ readonly "next.route": string;
7
+ };
8
+ readonly name: `prerender route (app) ${string}` | `render route (app) ${string}`;
9
+ readonly type: "AppRender.getBodyResult";
10
+ };
11
+ export declare function createGetLayoutOrPageModuleSpanDescriptor(segment: string): {
12
+ readonly attributes: {
13
+ readonly "next.segment": string;
14
+ };
15
+ readonly name: "resolve segment modules";
16
+ readonly type: "NextNodeServer.getLayoutOrPageModule";
17
+ };
18
+ export declare function createComponentTreeSpanDescriptor(): {
19
+ readonly name: "build component tree";
20
+ readonly type: "NextNodeServer.createComponentTree";
21
+ };
22
+ export declare function traceCreateComponentTree<T>(callback: () => T): T;
23
+ export declare function traceGetLayoutOrPageModule<T>(segment: string, callback: () => T): T;
24
+ export declare function resolveAppPageModuleTraceSegment(routeSegments: readonly string[], treePosition: number): string;
25
+ export declare function recordAppPageRenderError(span: FrameworkSpan, error: unknown): void;
26
+ export declare function resolveAppPageTraceOperation(options: {
27
+ hasRequestSearchParams: boolean;
28
+ isDynamicError: boolean;
29
+ isForceStatic: boolean;
30
+ isKnownPrerenderedRoute: boolean;
31
+ isPrerender: boolean;
32
+ }): "prerender" | "render";
33
+ //#endregion
@@ -0,0 +1,49 @@
1
+ import { patternToNextFormat } from "../routing/route-validation.js";
2
+ import { recordFrameworkSpanError } from "./framework-tracer.js";
3
+ import { frameworkTracer } from "./tracer.js";
4
+ import { getDigestForWellKnownError, isAppRenderAbortError } from "./app-rsc-errors.js";
5
+ //#region src/server/app-page-tracing.ts
6
+ function traceAppPageRender(routePattern, operation, callback) {
7
+ return frameworkTracer.trace(createAppPageRenderSpanDescriptor(routePattern, operation), callback);
8
+ }
9
+ function createAppPageRenderSpanDescriptor(routePattern, operation) {
10
+ const route = patternToNextFormat(routePattern);
11
+ return {
12
+ attributes: { "next.route": route },
13
+ name: `${operation} route (app) ${route}`,
14
+ type: "AppRender.getBodyResult"
15
+ };
16
+ }
17
+ function createGetLayoutOrPageModuleSpanDescriptor(segment) {
18
+ return {
19
+ attributes: { "next.segment": segment },
20
+ name: "resolve segment modules",
21
+ type: "NextNodeServer.getLayoutOrPageModule"
22
+ };
23
+ }
24
+ function createComponentTreeSpanDescriptor() {
25
+ return {
26
+ name: "build component tree",
27
+ type: "NextNodeServer.createComponentTree"
28
+ };
29
+ }
30
+ function traceCreateComponentTree(callback) {
31
+ return frameworkTracer.trace(createComponentTreeSpanDescriptor(), callback);
32
+ }
33
+ function traceGetLayoutOrPageModule(segment, callback) {
34
+ return frameworkTracer.trace(createGetLayoutOrPageModuleSpanDescriptor(segment), callback);
35
+ }
36
+ function resolveAppPageModuleTraceSegment(routeSegments, treePosition) {
37
+ return treePosition === 0 ? "" : routeSegments[treePosition - 1] ?? "";
38
+ }
39
+ function recordAppPageRenderError(span, error) {
40
+ if (isAppRenderAbortError(error) || getDigestForWellKnownError(error) !== void 0) return;
41
+ recordFrameworkSpanError(span, error);
42
+ }
43
+ function resolveAppPageTraceOperation(options) {
44
+ if (options.isPrerender || options.isForceStatic || options.isDynamicError) return "prerender";
45
+ if (options.hasRequestSearchParams) return "render";
46
+ return options.isKnownPrerenderedRoute ? "prerender" : "render";
47
+ }
48
+ //#endregion
49
+ export { createAppPageRenderSpanDescriptor, createComponentTreeSpanDescriptor, createGetLayoutOrPageModuleSpanDescriptor, recordAppPageRenderError, resolveAppPageModuleTraceSegment, resolveAppPageTraceOperation, traceAppPageRender, traceCreateComponentTree, traceGetLayoutOrPageModule };
@@ -1,13 +1,13 @@
1
1
  import { AppMiddlewareContext } from "./app-middleware.js";
2
2
  import { EdgeApiExecutionRuntime } from "./edge-api-runtime.js";
3
3
  //#region src/server/app-pages-bridge.d.ts
4
- type PagesEntry = {
5
- handleApiRoute?: (request: Request, url: string, ctx: unknown, trustedRevalidateOrigin: string | undefined, edgeRuntime: EdgeApiExecutionRuntime) => Promise<Response> | Response;
4
+ export type PagesEntry = {
5
+ handleApiRoute?: (request: Request, url: string, ctx: unknown, trustedRevalidateOrigin: string | undefined, edgeRuntime: EdgeApiExecutionRuntime, initialResponseHeaders?: Headers) => Promise<Response> | Response;
6
6
  matchApiRoute?: (url: string, request: Request) => PagesRouteMatch | null;
7
7
  matchPageRoute?: (url: string, request: Request) => PagesRouteMatch | null;
8
8
  renderPage?: (request: Request, url: string, query: Record<string, unknown>, parsedUrl: unknown, middlewareRequestHeaders?: Headers | null, options?: {
9
9
  isDataReq?: boolean;
10
- }) => Promise<Response> | Response;
10
+ }, initialResponseHeaders?: Headers) => Promise<Response> | Response;
11
11
  };
12
12
  type PagesRouteMatch = {
13
13
  route: {
@@ -48,6 +48,7 @@ type RenderPagesFallbackOptions = {
48
48
  appRouteMatch?: AppRouteMatch | null;
49
49
  isDataRequest?: boolean;
50
50
  isRscRequest: boolean;
51
+ initialResponseHeaders?: Headers;
51
52
  matchKind?: "dynamic" | "static";
52
53
  middlewareContext: AppMiddlewareContext;
53
54
  pathname?: string;
@@ -58,6 +59,5 @@ type RenderPagesFallbackOptions = {
58
59
  /**
59
60
  * Fallback handler to route App Router requests to the Pages Router when no App Router route matches.
60
61
  */
61
- declare function renderPagesFallback(options: RenderPagesFallbackOptions, dependencies: RenderPagesFallbackDependencies): Promise<Response | null>;
62
- //#endregion
63
- export { PagesEntry, renderPagesFallback };
62
+ export declare function renderPagesFallback(options: RenderPagesFallbackOptions, dependencies: RenderPagesFallbackDependencies): Promise<Response | null>;
63
+ //#endregion
@@ -18,7 +18,7 @@ function applyPagesMiddlewareContext(response, middlewareContext) {
18
18
  * Fallback handler to route App Router requests to the Pages Router when no App Router route matches.
19
19
  */
20
20
  async function renderPagesFallback(options, dependencies) {
21
- const { allowRscDocumentFallback = false, appRouteMatch = null, isDataRequest = false, isRscRequest, matchKind, middlewareContext, pathname = options.url.pathname, pagesDataRequest = null, request, url } = options;
21
+ const { allowRscDocumentFallback = false, appRouteMatch = null, isDataRequest = false, isRscRequest, initialResponseHeaders, matchKind, middlewareContext, pathname = options.url.pathname, pagesDataRequest = null, request, url } = options;
22
22
  const { loadPagesEntry, buildRequestHeaders, decodePathParams, applyRouteHandlerMiddlewareContext, getDraftModeCookieHeader } = dependencies;
23
23
  if (isRscRequest && !allowRscDocumentFallback) return null;
24
24
  const pagesEntry = await loadPagesEntry();
@@ -40,7 +40,14 @@ async function renderPagesFallback(options, dependencies) {
40
40
  if (apiMatch === null || !pagesRouteHasPriorityOverAppRoute(apiMatch.route, appRouteMatch.route)) return null;
41
41
  }
42
42
  const executionContext = getRequestExecutionContext();
43
- const pagesApiResponse = await pagesEntry.handleApiRoute(pagesRequest, pagesUrl, void 0, executionContext?.trustedRevalidateOrigin ?? new URL(pagesRequest.url).origin, executionContext?.hostRuntime ?? "node");
43
+ const apiArgs = [
44
+ pagesRequest,
45
+ pagesUrl,
46
+ void 0,
47
+ executionContext?.trustedRevalidateOrigin ?? new URL(pagesRequest.url).origin,
48
+ executionContext?.hostRuntime ?? "node"
49
+ ];
50
+ const pagesApiResponse = await (initialResponseHeaders ? pagesEntry.handleApiRoute(...apiArgs, initialResponseHeaders) : pagesEntry.handleApiRoute(...apiArgs));
44
51
  const draftCookie = getDraftModeCookieHeader();
45
52
  return applyDraftModeCookie(applyRouteHandlerMiddlewareContext(pagesApiResponse, middlewareContext), draftCookie);
46
53
  }
@@ -52,8 +59,14 @@ async function renderPagesFallback(options, dependencies) {
52
59
  if (pageMatch !== null && matchKind === "dynamic" && !pageMatch.route.isDynamic) return null;
53
60
  if (appRouteMatch !== null && (pageMatch === null || !pagesRouteHasPriorityOverAppRoute(pageMatch.route, appRouteMatch.route))) return null;
54
61
  if (pageMatch !== null) beginRouteCacheability("pages-page", pageMatch.route.pattern);
55
- const renderRequest = pagesDataRequest ? cloneRequestWithUrl(pagesRequest, pagesDataRequest.url) : pagesRequest;
56
- const pagesRes = isDataRequest ? await pagesEntry.renderPage(renderRequest, pagesUrl, {}, void 0, middlewareContext.requestHeaders, { isDataReq: true }) : await pagesEntry.renderPage(renderRequest, pagesUrl, {}, void 0, middlewareContext.requestHeaders);
62
+ const renderArgs = [
63
+ pagesDataRequest ? cloneRequestWithUrl(pagesRequest, pagesDataRequest.url) : pagesRequest,
64
+ pagesUrl,
65
+ {},
66
+ void 0,
67
+ middlewareContext.requestHeaders
68
+ ];
69
+ const pagesRes = isDataRequest ? await (initialResponseHeaders ? pagesEntry.renderPage(...renderArgs, { isDataReq: true }, initialResponseHeaders) : pagesEntry.renderPage(...renderArgs, { isDataReq: true })) : await (initialResponseHeaders ? pagesEntry.renderPage(...renderArgs, void 0, initialResponseHeaders) : pagesEntry.renderPage(...renderArgs));
57
70
  if (pagesRes.status === 404 && pageMatch === null) return null;
58
71
  return applyDraftModeCookie(applyPagesMiddlewareContext(pagesRes, middlewareContext), getDraftModeCookieHeader());
59
72
  }
@@ -9,6 +9,5 @@ import { RequestContext } from "../config/request-context.js";
9
9
  * Falls back to `requestContextFromRequest(request)` when no HeadersContext
10
10
  * is set (no middleware ran, or middleware didn't set request headers).
11
11
  */
12
- declare function buildPostMwRequestContext(request: Request): RequestContext;
13
- //#endregion
14
- export { buildPostMwRequestContext };
12
+ export declare function buildPostMwRequestContext(request: Request): RequestContext;
13
+ //#endregion
@@ -3,7 +3,7 @@ import { ReactNode } from "react";
3
3
  //#region src/server/app-ppr-fallback-shell-render.d.ts
4
4
  type AppPageBoundaryOnError = (error: unknown, requestInfo: unknown, errorContext: unknown) => unknown;
5
5
  type AppPageRenderableElement = ReactNode | Record<string, ReactNode>;
6
- type WarmPprFallbackShellCachesOptions = {
6
+ export type WarmPprFallbackShellCachesOptions = {
7
7
  element: AppPageRenderableElement;
8
8
  onError: AppPageBoundaryOnError;
9
9
  renderToReadableStream: (element: AppPageRenderableElement, options: {
@@ -12,6 +12,5 @@ type WarmPprFallbackShellCachesOptions = {
12
12
  }) => ReadableStream<Uint8Array>;
13
13
  state: PprFallbackShellState;
14
14
  };
15
- declare function warmPprFallbackShellCaches(options: WarmPprFallbackShellCachesOptions): Promise<void>;
16
- //#endregion
17
- export { WarmPprFallbackShellCachesOptions, warmPprFallbackShellCaches };
15
+ export declare function warmPprFallbackShellCaches(options: WarmPprFallbackShellCachesOptions): Promise<void>;
16
+ //#endregion
@@ -3,13 +3,14 @@ import { readAppPageBinaryStream } from "./app-page-execution.js";
3
3
  //#region src/server/app-ppr-fallback-shell-render.ts
4
4
  async function warmPprFallbackShellCaches(options) {
5
5
  let warmupError = null;
6
- const warmupDrain = readAppPageBinaryStream(options.renderToReadableStream(options.element, {
6
+ const warmupStream = options.renderToReadableStream(options.element, {
7
7
  signal: options.state.abortController.signal,
8
8
  onError(error, requestInfo, errorContext) {
9
9
  if (options.state.abortController.signal.aborted || isPprFallbackShellAbortError(error)) return;
10
10
  return options.onError(error, requestInfo, errorContext);
11
11
  }
12
- })).catch((error) => {
12
+ });
13
+ const warmupDrain = readAppPageBinaryStream(warmupStream).catch((error) => {
13
14
  if (options.state.abortController.signal.aborted || isPprFallbackShellAbortError(error)) return;
14
15
  warmupError = error;
15
16
  });
@@ -14,20 +14,19 @@ type AppPprFallbackShell = {
14
14
  * Produced at build time by the PPR prerender and served at request time
15
15
  * when the exact cache entry for a dynamic child param is missing.
16
16
  */
17
- type AppPagePprFallbackCacheShell = {
17
+ export type AppPagePprFallbackCacheShell = {
18
18
  fallbackParamNames: readonly string[];
19
19
  params: Record<string, string | string[]>;
20
20
  pathname: string;
21
21
  };
22
- declare function markAppPprDynamicFallbackShellHtml(html: string): string;
23
- declare function isAppPprDynamicFallbackShellHtml(html: string): boolean;
24
- declare function createAppPprFallbackShells(route: AppPprFallbackShellRoute, matchedParams: Record<string, string | string[]>): AppPprFallbackShell[];
25
- declare function rewriteAppPprFallbackShellHtmlNavigation(options: {
22
+ export declare function markAppPprDynamicFallbackShellHtml(html: string): string;
23
+ export declare function isAppPprDynamicFallbackShellHtml(html: string): boolean;
24
+ export declare function createAppPprFallbackShells(route: AppPprFallbackShellRoute, matchedParams: Record<string, string | string[]>): AppPprFallbackShell[];
25
+ export declare function rewriteAppPprFallbackShellHtmlNavigation(options: {
26
26
  html: string;
27
27
  isForceStatic?: boolean;
28
28
  params: Record<string, string | string[]>;
29
29
  pathname: string;
30
30
  searchParams: URLSearchParams;
31
31
  }): string;
32
- //#endregion
33
- export { AppPagePprFallbackCacheShell, createAppPprFallbackShells, isAppPprDynamicFallbackShellHtml, markAppPprDynamicFallbackShellHtml, rewriteAppPprFallbackShellHtmlNavigation };
32
+ //#endregion
@@ -2,9 +2,10 @@ import { RootParams } from "../shims/root-params.js";
2
2
  //#region src/server/app-prerender-endpoints.d.ts
3
3
  type GenerateStaticParams = (args: {
4
4
  params: RootParams;
5
+ rejectEmptyResults?: boolean;
5
6
  }) => unknown;
6
- type AppPrerenderStaticParamsMap = Record<string, GenerateStaticParams | null | undefined>;
7
- type AppPrerenderRootParamNamesMap = Record<string, readonly string[] | undefined>;
7
+ export type AppPrerenderStaticParamsMap = Record<string, GenerateStaticParams | null | undefined>;
8
+ export type AppPrerenderRootParamNamesMap = Record<string, readonly string[] | undefined>;
8
9
  type HandleAppPrerenderEndpointOptions = {
9
10
  isPrerenderEnabled?: () => boolean;
10
11
  getMetadataRoutePaths?: () => Promise<unknown>;
@@ -13,6 +14,5 @@ type HandleAppPrerenderEndpointOptions = {
13
14
  rootParamNamesByPattern?: AppPrerenderRootParamNamesMap;
14
15
  staticParamsMap: AppPrerenderStaticParamsMap;
15
16
  };
16
- declare function handleAppPrerenderEndpoint(request: Request, options: HandleAppPrerenderEndpointOptions): Promise<Response | null>;
17
- //#endregion
18
- export { AppPrerenderRootParamNamesMap, AppPrerenderStaticParamsMap, handleAppPrerenderEndpoint };
17
+ export declare function handleAppPrerenderEndpoint(request: Request, options: HandleAppPrerenderEndpointOptions): Promise<Response | null>;
18
+ //#endregion
@@ -38,10 +38,12 @@ async function handleStaticParamsEndpoint(request, options) {
38
38
  const generateStaticParams = options.staticParamsMap[pattern];
39
39
  if (typeof generateStaticParams !== "function") return jsonNullResponse();
40
40
  try {
41
+ const params = parseParentParams(url.searchParams.get("parentParams"));
41
42
  const result = await callAppPrerenderStaticParams({
42
43
  fn: generateStaticParams,
43
- params: parseParentParams(url.searchParams.get("parentParams")),
44
+ params,
44
45
  pattern,
46
+ rejectEmptyResults: url.searchParams.get("rejectEmptyResults") === "1",
45
47
  rootParamNamesByPattern: options.rootParamNamesByPattern ?? {}
46
48
  });
47
49
  if (result === null) return jsonNullResponse();
@@ -1,8 +1,16 @@
1
1
  import { RootParams } from "../shims/root-params.js";
2
2
  //#region src/server/app-prerender-static-params.d.ts
3
- type GenerateStaticParamsFunction = (input: {
3
+ /**
4
+ * A prerender resolver's input. `rejectEmptyResults` is set where Next.js
5
+ * fails the build on any generateStaticParams that returns no params
6
+ * (`output: "export"`, Cache Components), so the resolver hands the empty
7
+ * result back for the caller to reject instead of passing parents through.
8
+ */
9
+ type AppPrerenderStaticParamsResolverInput = {
4
10
  params: RootParams;
5
- }) => unknown;
11
+ rejectEmptyResults?: boolean;
12
+ };
13
+ type AppPrerenderStaticParamsResolver = (input: AppPrerenderStaticParamsResolverInput) => unknown;
6
14
  /**
7
15
  * Build a prerender `generateStaticParams` resolver for one route pattern.
8
16
  *
@@ -17,13 +25,13 @@ type GenerateStaticParamsFunction = (input: {
17
25
  *
18
26
  * Returns `null` (no resolver) only when the pattern has zero sources at all.
19
27
  */
20
- declare function createAppPrerenderStaticParamsResolver(sources: readonly unknown[], rootParamNames?: readonly string[]): GenerateStaticParamsFunction | null;
28
+ export declare function createAppPrerenderStaticParamsResolver(sources: readonly unknown[], rootParamNames?: readonly string[]): AppPrerenderStaticParamsResolver | null;
21
29
  type CallAppPrerenderStaticParamsOptions = {
22
- fn: GenerateStaticParamsFunction;
30
+ fn: AppPrerenderStaticParamsResolver;
23
31
  params: RootParams;
24
32
  pattern: string;
33
+ rejectEmptyResults?: boolean;
25
34
  rootParamNamesByPattern: Record<string, readonly string[] | undefined>;
26
35
  };
27
- declare function callAppPrerenderStaticParams(options: CallAppPrerenderStaticParamsOptions): Promise<unknown>;
28
- //#endregion
29
- export { callAppPrerenderStaticParams, createAppPrerenderStaticParamsResolver };
36
+ export declare function callAppPrerenderStaticParams(options: CallAppPrerenderStaticParamsOptions): Promise<unknown>;
37
+ //#endregion
@@ -1,10 +1,13 @@
1
1
  import { isUnknownRecord } from "../utils/record.js";
2
2
  import { pickRootParams, runWithRootParamsScope } from "../shims/root-params.js";
3
3
  //#region src/server/app-prerender-static-params.ts
4
- const PRERENDER_PATH_DISCOVERY_ENV = "__VINEXT_PRERENDER_PATH_DISCOVERY";
4
+ /**
5
+ * Next.js rejects malformed generateStaticParams output in every mode
6
+ * (build/static-paths/app.ts callGenerateStaticParams), so it must never read
7
+ * as an empty result that later providers continue from.
8
+ */
5
9
  function invalidGenerateStaticParamsResult(message) {
6
- if (process.env[PRERENDER_PATH_DISCOVERY_ENV] === "1") throw new Error(message);
7
- return [];
10
+ throw new Error(message);
8
11
  }
9
12
  function isGenerateStaticParamsFunction(value) {
10
13
  return typeof value === "function";
@@ -55,19 +58,27 @@ function createAppPrerenderStaticParamsResolver(sources, rootParamNames) {
55
58
  if (fns.length === 0) return null;
56
59
  if (fns.length === 1) {
57
60
  const single = fns[0];
58
- return runWithRootParamsScope(filterRootParams(input.params), async () => {
59
- const result = await single(input);
61
+ const picked = filterRootParams(input.params);
62
+ return runWithRootParamsScope(picked, async () => {
63
+ const result = await single({ params: input.params });
60
64
  if (!Array.isArray(result)) return invalidGenerateStaticParamsResult("generateStaticParams must return an array");
61
65
  for (const item of result) if (!isRootParams(item)) return invalidGenerateStaticParamsResult("generateStaticParams must return an array of objects");
62
66
  return result;
63
67
  });
64
68
  }
65
- let paramSets = [input.params];
69
+ let paramSets = Object.keys(input.params).length > 0 ? [input.params] : [];
66
70
  for (const generateStaticParams of fns) {
67
71
  const nextParamSets = [];
68
- for (const parentParams of paramSets) {
69
- const result = await runWithRootParamsScope(filterRootParams(parentParams), async () => generateStaticParams({ params: parentParams }));
72
+ const hasParentSets = paramSets.length > 0;
73
+ for (const parentParams of hasParentSets ? paramSets : [{}]) {
74
+ const rootScope = filterRootParams(parentParams);
75
+ const result = await runWithRootParamsScope(rootScope, async () => generateStaticParams({ params: parentParams }));
70
76
  if (!Array.isArray(result)) return invalidGenerateStaticParamsResult("generateStaticParams must return an array");
77
+ if (result.length === 0) {
78
+ if (input.rejectEmptyResults) return [];
79
+ if (hasParentSets) nextParamSets.push(parentParams);
80
+ continue;
81
+ }
71
82
  for (const item of result) {
72
83
  if (!isRootParams(item)) return invalidGenerateStaticParamsResult("generateStaticParams must return an array of objects");
73
84
  nextParamSets.push({
@@ -82,7 +93,11 @@ function createAppPrerenderStaticParamsResolver(sources, rootParamNames) {
82
93
  };
83
94
  }
84
95
  async function callAppPrerenderStaticParams(options) {
85
- return runWithRootParamsScope(pickRootParams(options.params, options.rootParamNamesByPattern[options.pattern]), () => options.fn({ params: options.params }));
96
+ const picked = pickRootParams(options.params, options.rootParamNamesByPattern[options.pattern]);
97
+ return runWithRootParamsScope(picked, () => options.fn(options.rejectEmptyResults ? {
98
+ params: options.params,
99
+ rejectEmptyResults: true
100
+ } : { params: options.params }));
86
101
  }
87
102
  //#endregion
88
103
  export { callAppPrerenderStaticParams, createAppPrerenderStaticParamsResolver };
@@ -1,21 +1,22 @@
1
1
  import { ComponentType, ReactNode } from "react";
2
2
  //#region src/server/app-render-dependency.d.ts
3
- type AppRenderDependency = {
3
+ export type AppRenderDependency = {
4
4
  promise: Promise<void>;
5
5
  release: () => void;
6
6
  };
7
- type AppPageRenderDependency = AppRenderDependency & {
7
+ export type AppPageRenderDependency = AppRenderDependency & {
8
8
  resultDependencies: readonly AppRenderDependency[];
9
9
  setResultDependencies: (dependencies: readonly AppRenderDependency[]) => void;
10
10
  };
11
- declare function isReactOwnedAppComponent(component: unknown): boolean;
12
- declare function invokeAppComponent(component: ComponentType<Record<string, unknown>>, props: Readonly<Record<string, unknown>>): ReactNode | Promise<ReactNode>;
13
- declare function registerAppElementRenderDependencies(elements: Readonly<Record<string, unknown>>, dependenciesByElementId: ReadonlyMap<string, AppRenderDependency>): void;
14
- declare function releaseAppElementRenderDependency(elements: Readonly<Record<string, unknown>>, elementId: string): void;
15
- declare function createAppRenderDependency(): AppRenderDependency;
16
- declare function createAppPageRenderDependency(): AppPageRenderDependency;
17
- declare function isAppRenderSuspension(error: unknown): boolean;
18
- declare function renderAfterAppDependencies(children: ReactNode, dependencies: readonly AppRenderDependency[]): ReactNode;
19
- declare function renderAppComponentWithDependencyBarrier(component: ComponentType<Record<string, unknown>>, props: Readonly<Record<string, unknown>>, dependency: AppRenderDependency): ReactNode;
20
- //#endregion
21
- export { AppPageRenderDependency, AppRenderDependency, createAppPageRenderDependency, createAppRenderDependency, invokeAppComponent, isAppRenderSuspension, isReactOwnedAppComponent, registerAppElementRenderDependencies, releaseAppElementRenderDependency, renderAfterAppDependencies, renderAppComponentWithDependencyBarrier };
11
+ /** Whether `component` is a "use client" export seen from the RSC environment. */
12
+ export declare function isAppClientReference(component: unknown): boolean;
13
+ export declare function isReactOwnedAppComponent(component: unknown): boolean;
14
+ export declare function invokeAppComponent(component: ComponentType<Record<string, unknown>>, props: Readonly<Record<string, unknown>>): ReactNode | Promise<ReactNode>;
15
+ export declare function registerAppElementRenderDependencies(elements: Readonly<Record<string, unknown>>, dependenciesByElementId: ReadonlyMap<string, AppRenderDependency>): void;
16
+ export declare function releaseAppElementRenderDependency(elements: Readonly<Record<string, unknown>>, elementId: string): void;
17
+ export declare function createAppRenderDependency(): AppRenderDependency;
18
+ export declare function createAppPageRenderDependency(): AppPageRenderDependency;
19
+ export declare function isAppRenderSuspension(error: unknown): boolean;
20
+ export declare function renderAfterAppDependencies(children: ReactNode, dependencies: readonly AppRenderDependency[]): ReactNode;
21
+ export declare function renderAppComponentWithDependencyBarrier(component: ComponentType<Record<string, unknown>>, props: Readonly<Record<string, unknown>>, dependency: AppRenderDependency): ReactNode;
22
+ //#endregion
@@ -6,6 +6,10 @@ const REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference");
6
6
  const REACT_FORWARD_REF = Symbol.for("react.forward_ref");
7
7
  const REACT_LAZY = Symbol.for("react.lazy");
8
8
  const REACT_MEMO = Symbol.for("react.memo");
9
+ /** Whether `component` is a "use client" export seen from the RSC environment. */
10
+ function isAppClientReference(component) {
11
+ return component?.$$typeof === REACT_CLIENT_REFERENCE;
12
+ }
9
13
  function isReactOwnedAppComponent(component) {
10
14
  const candidate = component;
11
15
  if (candidate?.$$typeof === REACT_MEMO || candidate?.$$typeof === REACT_LAZY || candidate?.$$typeof === REACT_FORWARD_REF) return false;
@@ -88,4 +92,4 @@ function renderAppComponentWithDependencyBarrier(component, props, dependency) {
88
92
  return createElement(AppComponentDependencyBarrier);
89
93
  }
90
94
  //#endregion
91
- export { createAppPageRenderDependency, createAppRenderDependency, invokeAppComponent, isAppRenderSuspension, isReactOwnedAppComponent, registerAppElementRenderDependencies, releaseAppElementRenderDependency, renderAfterAppDependencies, renderAppComponentWithDependencyBarrier };
95
+ export { createAppPageRenderDependency, createAppRenderDependency, invokeAppComponent, isAppClientReference, isAppRenderSuspension, isReactOwnedAppComponent, registerAppElementRenderDependencies, releaseAppElementRenderDependency, renderAfterAppDependencies, renderAppComponentWithDependencyBarrier };
@@ -8,7 +8,7 @@ import "../shims/navigation-server.js";
8
8
  *
9
9
  * Clearing nav context (ctx === null) also clears root params.
10
10
  */
11
- declare function setAppNavigationContext(ctx: NavigationContext | null): void;
11
+ export declare function setAppNavigationContext(ctx: NavigationContext | null): void;
12
12
  /**
13
13
  * Clear all per-request ALS state owned by the App Router handler.
14
14
  * Must be called before returning a non-page response (redirect, public
@@ -16,6 +16,5 @@ declare function setAppNavigationContext(ctx: NavigationContext | null): void;
16
16
  *
17
17
  * Clears: headers, navigation context, root params.
18
18
  */
19
- declare function clearAppRequestContext(): void;
20
- //#endregion
21
- export { clearAppRequestContext, setAppNavigationContext };
19
+ export declare function clearAppRequestContext(): void;
20
+ //#endregion
@@ -0,0 +1,5 @@
1
+ //#region src/server/app-request-stage-context.d.ts
2
+ /** The request stage does not render user code, so it owns no navigation context. */
3
+ export declare function setAppRequestStageNavigationContext(): void;
4
+ export declare function clearAppRequestStageContext(): void;
5
+ //#endregion
@@ -0,0 +1,11 @@
1
+ import { setHeadersContext } from "../shims/headers.js";
2
+ import { setRootParams } from "../shims/root-params.js";
3
+ //#region src/server/app-request-stage-context.ts
4
+ /** The request stage does not render user code, so it owns no navigation context. */
5
+ function setAppRequestStageNavigationContext() {}
6
+ function clearAppRequestStageContext() {
7
+ setHeadersContext(null);
8
+ setRootParams(null);
9
+ }
10
+ //#endregion
11
+ export { clearAppRequestStageContext, setAppRequestStageNavigationContext };
@@ -0,0 +1,25 @@
1
+ import { VinextCacheabilityProbeMode } from "./multi-stage.js";
2
+ import { TrustedPrerenderState } from "./prerender-route-params.js";
3
+ import { DispatchAppWorkerResponseStage } from "./app-worker-stages.js";
4
+ import { AppRscRequestHandler } from "./app-rsc-handler.js";
5
+ //#region src/server/app-request-stage-dispatch.d.ts
6
+ export type AppRequestStageDispatchOptions = {
7
+ basePath: string;
8
+ buildId: string | null;
9
+ draftModeSecret: string;
10
+ handleRequest: AppRscRequestHandler;
11
+ prerenderDiscovery: boolean;
12
+ probeMode: VinextCacheabilityProbeMode | null;
13
+ trustedPrerenderState?: TrustedPrerenderState | null;
14
+ };
15
+ /**
16
+ * Whether this request needs the complete App response graph before ordinary
17
+ * request-stage routing can safely classify it.
18
+ */
19
+ export declare function appRequestUsesFullResponseGraph(request: Request, options: Pick<AppRequestStageDispatchOptions, "basePath" | "draftModeSecret" | "probeMode" | "trustedPrerenderState">): boolean;
20
+ /**
21
+ * Select the request-only or complete App graph and perform the transport
22
+ * bookkeeping needed by a full-stage dispatch.
23
+ */
24
+ export declare function dispatchAppRequestStage(request: Request, ctx: unknown, dispatchResponseStage: DispatchAppWorkerResponseStage | null | undefined, options: AppRequestStageDispatchOptions): Promise<Response>;
25
+ //#endregion
@@ -0,0 +1,54 @@
1
+ import "../utils/protocol-headers.js";
2
+ import "./headers.js";
3
+ import { restoreStaticFileSignalFromTransport } from "./static-file-signal.js";
4
+ import { isDraftModeRequest } from "../shims/headers.js";
5
+ import { getScriptNonceFromHeaderSources } from "./csp.js";
6
+ import { isRouteTreePrefetchRequest } from "./app-route-tree-prefetch.js";
7
+ import "./app-worker-stages.js";
8
+ //#region src/server/app-request-stage-dispatch.ts
9
+ /**
10
+ * Whether this request needs the complete App response graph before ordinary
11
+ * request-stage routing can safely classify it.
12
+ */
13
+ function appRequestUsesFullResponseGraph(request, options) {
14
+ if (request.method !== "GET" && request.method !== "HEAD") return true;
15
+ if (request.headers.get("upgrade")?.split(",").some((value) => value.trim().toLowerCase() === "websocket")) return true;
16
+ if (process.env.VINEXT_PRERENDER === "1") return true;
17
+ if (options.trustedPrerenderState) return true;
18
+ if (isDraftModeRequest(request, options.draftModeSecret)) return true;
19
+ if (request.headers.has("x-vinext-prerender-route-params")) return true;
20
+ if (getScriptNonceFromHeaderSources(request.headers) !== void 0 || isRouteTreePrefetchRequest(request)) return true;
21
+ const url = new URL(request.url);
22
+ return (options.basePath && url.pathname.startsWith(options.basePath + "/") ? url.pathname.slice(options.basePath.length) : url.pathname).startsWith("/__vinext/");
23
+ }
24
+ /**
25
+ * Select the request-only or complete App graph and perform the transport
26
+ * bookkeeping needed by a full-stage dispatch.
27
+ */
28
+ async function dispatchAppRequestStage(request, ctx, dispatchResponseStage, options) {
29
+ if (!dispatchResponseStage) throw new Error("App request stage requires a response-stage dispatcher");
30
+ if (appRequestUsesFullResponseGraph(request, options)) {
31
+ const staticFileSignalToken = crypto.randomUUID();
32
+ const response = await dispatchResponseStage(request, {
33
+ kind: "app-full-request",
34
+ buildId: options.buildId,
35
+ cacheability: {
36
+ policyHeaders: null,
37
+ probeMode: options.probeMode,
38
+ resolvedRoutePathname: new URL(request.url).pathname
39
+ },
40
+ draftModeCookie: null,
41
+ middlewareCookieOverlay: null,
42
+ prerenderDiscovery: options.prerenderDiscovery,
43
+ protocolVersion: 10,
44
+ requestOrigin: new URL(request.url).origin,
45
+ scriptNonce: null,
46
+ staticFileSignalToken,
47
+ trustedPrerenderState: options.trustedPrerenderState ?? null
48
+ }, { cache: "bypass" });
49
+ return restoreStaticFileSignalFromTransport(response, staticFileSignalToken);
50
+ }
51
+ return options.handleRequest(request, ctx, false, dispatchResponseStage, options.probeMode);
52
+ }
53
+ //#endregion
54
+ export { appRequestUsesFullResponseGraph, dispatchAppRequestStage };
@@ -0,0 +1,8 @@
1
+ import { VinextRequestStageContext } from "./multi-stage.js";
2
+ import { ExecutionContextLike } from "../shims/request-context.js";
3
+ import { DispatchAppWorkerResponseStage } from "./app-worker-stages.js";
4
+ //#region src/server/app-request-stage-independent-entry.d.ts
5
+ export type AppRequestStageEnv = Record<string, unknown>;
6
+ type AppRequestStageContext = ExecutionContextLike & VinextRequestStageContext;
7
+ export declare function handleRequestStage(request: Request, env: AppRequestStageEnv | undefined, ctx: AppRequestStageContext | undefined, dispatchResponseStage: DispatchAppWorkerResponseStage): Promise<Response>;
8
+ //#endregion