vinext 1.0.0-beta.8 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (813) hide show
  1. package/README.md +158 -84
  2. package/THIRD_PARTY_LICENSES.md +25 -0
  3. package/dist/_virtual/_rolldown/runtime.js +25 -0
  4. package/dist/build/action-owner-manifest.d.ts +8 -9
  5. package/dist/build/action-owner-manifest.js +23 -5
  6. package/dist/build/assets-ignore.d.ts +3 -4
  7. package/dist/build/clean-output.d.ts +2 -3
  8. package/dist/build/client-build-config.d.ts +40 -12
  9. package/dist/build/client-build-config.js +76 -6
  10. package/dist/build/css-url-assets.d.ts +4 -5
  11. package/dist/build/css-url-assets.js +5 -2
  12. package/dist/build/google-fonts/build-url.d.ts +3 -4
  13. package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
  14. package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
  15. package/dist/build/google-fonts/font-metadata.d.ts +2 -3
  16. package/dist/build/google-fonts/get-axes.d.ts +2 -3
  17. package/dist/build/google-fonts/sort-variants.d.ts +2 -3
  18. package/dist/build/google-fonts/validate.d.ts +2 -3
  19. package/dist/build/google-fonts/validate.js +8 -4
  20. package/dist/build/inject-pregenerated-paths.d.ts +2 -3
  21. package/dist/build/inject-pregenerated-paths.js +16 -14
  22. package/dist/build/inline-css.d.ts +3 -4
  23. package/dist/build/layout-classification-types.d.ts +4 -5
  24. package/dist/build/layout-classification.d.ts +7 -8
  25. package/dist/build/lifecycle.d.ts +42 -0
  26. package/dist/build/lifecycle.js +253 -0
  27. package/dist/build/module-dependency-cache.d.ts +2 -3
  28. package/dist/build/next-client-runtime-manifests.d.ts +4 -5
  29. package/dist/build/nitro-route-rules.d.ts +6 -7
  30. package/dist/build/nitro-route-rules.js +1 -1
  31. package/dist/build/pages-client-assets-module.d.ts +4 -8
  32. package/dist/build/pages-client-assets-module.js +1 -13
  33. package/dist/build/precompress.d.ts +2 -3
  34. package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
  35. package/dist/build/prerender-cloudflare-loader.js +49 -0
  36. package/dist/build/prerender-paths.d.ts +82 -8
  37. package/dist/build/prerender-paths.js +814 -99
  38. package/dist/build/prerender-phase.d.ts +2 -3
  39. package/dist/build/prerender-server-entry.js +11 -3
  40. package/dist/build/prerender-server-pool.d.ts +9 -6
  41. package/dist/build/prerender-server-pool.js +8 -5
  42. package/dist/build/prerender.d.ts +67 -15
  43. package/dist/build/prerender.js +177 -64
  44. package/dist/build/preview-credentials.d.ts +5 -6
  45. package/dist/build/preview-credentials.js +2 -2
  46. package/dist/build/public-dir-conflict.d.ts +5 -6
  47. package/dist/build/public-dir-conflict.js +2 -1
  48. package/dist/build/report.d.ts +38 -19
  49. package/dist/build/report.js +73 -4
  50. package/dist/build/route-classification-injector.d.ts +2 -3
  51. package/dist/build/route-classification-manifest.d.ts +5 -6
  52. package/dist/build/run-prerender.d.ts +11 -9
  53. package/dist/build/run-prerender.js +25 -16
  54. package/dist/build/server-entry.d.ts +4 -0
  55. package/dist/build/server-entry.js +28 -0
  56. package/dist/build/server-manifest.d.ts +8 -3
  57. package/dist/build/server-manifest.js +14 -2
  58. package/dist/build/ssr-manifest.d.ts +5 -6
  59. package/dist/build/standalone.d.ts +2 -3
  60. package/dist/build/standalone.js +2 -2
  61. package/dist/build/static-export.d.ts +7 -8
  62. package/dist/cache/cache-adapters-virtual.d.ts +95 -9
  63. package/dist/cache/cache-adapters-virtual.js +58 -6
  64. package/dist/check.d.ts +11 -10
  65. package/dist/check.js +467 -176
  66. package/dist/cli-args.d.ts +7 -16
  67. package/dist/cli-args.js +2 -45
  68. package/dist/cli-dev-config.d.ts +10 -7
  69. package/dist/cli-dev-config.js +160 -3
  70. package/dist/cli.js +124 -435
  71. package/dist/client/app-nav-failure-handler.d.ts +6 -7
  72. package/dist/client/client-rewrite-matcher.d.ts +2 -3
  73. package/dist/client/client-rewrites.d.ts +4 -5
  74. package/dist/client/dev-error-overlay-store.d.ts +13 -14
  75. package/dist/client/dev-error-overlay.d.ts +15 -15
  76. package/dist/client/dev-error-overlay.js +8 -5
  77. package/dist/client/instrumentation-client-inject.d.ts +3 -4
  78. package/dist/client/instrumentation-client-state.d.ts +5 -6
  79. package/dist/client/instrumentation-client.d.ts +3 -4
  80. package/dist/client/navigation-runtime.d.ts +21 -17
  81. package/dist/client/navigation-runtime.js +2 -1
  82. package/dist/client/pages-router-link-navigation.d.ts +4 -5
  83. package/dist/client/react-instance.d.ts +2 -3
  84. package/dist/client/validate-module-path.d.ts +2 -3
  85. package/dist/client/vinext-next-data.d.ts +7 -8
  86. package/dist/client/window-next.d.ts +4 -5
  87. package/dist/config/config-matchers.d.ts +16 -16
  88. package/dist/config/config-matchers.js +10 -7
  89. package/dist/config/dotenv.d.ts +3 -4
  90. package/dist/config/dotenv.js +2 -1
  91. package/dist/config/next-config.d.ts +31 -27
  92. package/dist/config/next-config.js +163 -16
  93. package/dist/config/prerender.d.ts +20 -16
  94. package/dist/config/prerender.js +10 -4
  95. package/dist/config/request-context.d.ts +5 -6
  96. package/dist/config/server-external-packages.d.ts +14 -3
  97. package/dist/config/server-external-packages.js +37 -3
  98. package/dist/config/tsconfig-paths.d.ts +3 -4
  99. package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
  100. package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
  101. package/dist/entries/app-browser-entry.d.ts +5 -6
  102. package/dist/entries/app-browser-entry.js +3 -2
  103. package/dist/entries/app-rsc-entry.d.ts +12 -3
  104. package/dist/entries/app-rsc-entry.js +530 -55
  105. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  106. package/dist/entries/app-rsc-manifest.js +27 -8
  107. package/dist/entries/app-ssr-entry.d.ts +2 -3
  108. package/dist/entries/app-ssr-entry.js +8 -1
  109. package/dist/entries/pages-client-entry.d.ts +3 -3
  110. package/dist/entries/pages-client-entry.js +17 -2
  111. package/dist/entries/pages-server-entry.d.ts +13 -3
  112. package/dist/entries/pages-server-entry.js +237 -33
  113. package/dist/entries/runtime-entry-module.d.ts +4 -5
  114. package/dist/image/image-adapters-virtual.d.ts +4 -5
  115. package/dist/index.d.ts +10 -11
  116. package/dist/index.js +832 -199
  117. package/dist/init-cloudflare.d.ts +27 -16
  118. package/dist/init-cloudflare.js +754 -113
  119. package/dist/init-platform.d.ts +26 -22
  120. package/dist/init-platform.js +85 -29
  121. package/dist/init.d.ts +19 -13
  122. package/dist/init.js +123 -41
  123. package/dist/plugins/action-owner-manifest.d.ts +3 -4
  124. package/dist/plugins/action-owner-manifest.js +10 -3
  125. package/dist/plugins/ast-scope.d.ts +10 -11
  126. package/dist/plugins/ast-scope.js +10 -22
  127. package/dist/plugins/ast-utils.d.ts +16 -29
  128. package/dist/plugins/ast-utils.js +27 -71
  129. package/dist/plugins/async-hooks-stub.d.ts +2 -3
  130. package/dist/plugins/client-reference-dedup.d.ts +4 -5
  131. package/dist/plugins/css-data-url.d.ts +2 -3
  132. package/dist/plugins/css-module-imports.d.ts +3 -4
  133. package/dist/plugins/css-module-imports.js +1 -1
  134. package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
  135. package/dist/plugins/dynamic-preload-metadata.js +55 -154
  136. package/dist/plugins/environment.d.ts +2 -3
  137. package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
  138. package/dist/plugins/extensionless-dynamic-import.js +6 -10
  139. package/dist/plugins/fonts.d.ts +10 -11
  140. package/dist/plugins/fonts.js +4 -3
  141. package/dist/plugins/ignore-dynamic-requests.d.ts +3 -4
  142. package/dist/plugins/ignore-dynamic-requests.js +60 -89
  143. package/dist/plugins/import-meta-url.d.ts +6 -7
  144. package/dist/plugins/import-meta-url.js +31 -43
  145. package/dist/plugins/instrumentation-client.d.ts +3 -3
  146. package/dist/plugins/instrumentation-client.js +46 -10
  147. package/dist/plugins/middleware-export-validation.d.ts +3 -4
  148. package/dist/plugins/middleware-export-validation.js +3 -3
  149. package/dist/plugins/middleware-server-only.d.ts +2 -3
  150. package/dist/plugins/og-asset-ownership.d.ts +3 -4
  151. package/dist/plugins/og-assets.d.ts +4 -5
  152. package/dist/plugins/og-assets.js +32 -13
  153. package/dist/plugins/og-harfbuzz.d.ts +24 -0
  154. package/dist/plugins/og-harfbuzz.js +260 -0
  155. package/dist/plugins/optimize-imports.d.ts +7 -7
  156. package/dist/plugins/optimize-imports.js +32 -44
  157. package/dist/plugins/pages-node-externals.d.ts +2 -3
  158. package/dist/plugins/pages-node-externals.js +6 -11
  159. package/dist/plugins/postcss.d.ts +8 -4
  160. package/dist/plugins/postcss.js +1 -1
  161. package/dist/plugins/remove-console.d.ts +2 -3
  162. package/dist/plugins/remove-console.js +0 -1
  163. package/dist/plugins/require-condition-resolution.d.ts +3 -4
  164. package/dist/plugins/require-condition-resolution.js +17 -18
  165. package/dist/plugins/require-context.d.ts +2 -3
  166. package/dist/plugins/require-context.js +13 -21
  167. package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
  168. package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
  169. package/dist/plugins/rsc-client-shim-excludes.js +1 -0
  170. package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
  171. package/dist/plugins/sass.d.ts +7 -8
  172. package/dist/plugins/sass.js +7 -4
  173. package/dist/plugins/server-externals-manifest.d.ts +2 -3
  174. package/dist/plugins/strip-server-exports.d.ts +5 -6
  175. package/dist/plugins/strip-server-exports.js +1 -1
  176. package/dist/plugins/styled-jsx.d.ts +2 -3
  177. package/dist/plugins/styled-jsx.js +7 -7
  178. package/dist/plugins/transform-cache.d.ts +2 -3
  179. package/dist/plugins/transform-result.d.ts +3 -4
  180. package/dist/plugins/transitive-externals.d.ts +2 -3
  181. package/dist/plugins/typeof-window.d.ts +6 -7
  182. package/dist/plugins/typeof-window.js +30 -31
  183. package/dist/plugins/use-cache-callable.d.ts +2 -5
  184. package/dist/plugins/use-cache-callable.js +43 -22
  185. package/dist/plugins/wasm-module-import.d.ts +2 -3
  186. package/dist/plugins/worker-image-imports.d.ts +2 -3
  187. package/dist/plugins/worker-image-imports.js +6 -8
  188. package/dist/routing/app-route-graph.d.ts +19 -19
  189. package/dist/routing/app-route-graph.js +3 -2
  190. package/dist/routing/app-router.d.ts +20 -5
  191. package/dist/routing/app-router.js +28 -2
  192. package/dist/routing/file-matcher.d.ts +9 -10
  193. package/dist/routing/pages-router.d.ts +6 -6
  194. package/dist/routing/pages-router.js +1 -1
  195. package/dist/routing/route-matching.d.ts +4 -5
  196. package/dist/routing/route-matching.js +4 -2
  197. package/dist/routing/route-pattern.d.ts +13 -14
  198. package/dist/routing/route-trie.d.ts +5 -6
  199. package/dist/routing/route-validation.d.ts +3 -4
  200. package/dist/routing/route-validation.js +12 -11
  201. package/dist/routing/utils.d.ts +13 -14
  202. package/dist/server/accept-encoding.d.ts +9 -10
  203. package/dist/server/api-handler.d.ts +2 -3
  204. package/dist/server/api-handler.js +9 -6
  205. package/dist/server/app-action-forwarding.d.ts +3 -4
  206. package/dist/server/app-action-forwarding.js +1 -1
  207. package/dist/server/app-action-request.d.ts +2 -3
  208. package/dist/server/app-bfcache-id.d.ts +3 -4
  209. package/dist/server/app-bfcache-identity.d.ts +8 -9
  210. package/dist/server/app-browser-action-result.d.ts +15 -16
  211. package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
  212. package/dist/server/app-browser-entry.js +121 -40
  213. package/dist/server/app-browser-error.d.ts +5 -6
  214. package/dist/server/app-browser-error.js +9 -3
  215. package/dist/server/app-browser-history-controller.d.ts +4 -5
  216. package/dist/server/app-browser-hydration.d.ts +16 -6
  217. package/dist/server/app-browser-hydration.js +14 -1
  218. package/dist/server/app-browser-interception-context.d.ts +3 -4
  219. package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
  220. package/dist/server/app-browser-navigation-abort.d.ts +3 -4
  221. package/dist/server/app-browser-navigation-controller.d.ts +8 -8
  222. package/dist/server/app-browser-navigation-controller.js +9 -5
  223. package/dist/server/app-browser-navigation-response.d.ts +2 -3
  224. package/dist/server/app-browser-popstate.d.ts +4 -5
  225. package/dist/server/app-browser-prefetch-response.d.ts +5 -6
  226. package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
  227. package/dist/server/app-browser-server-action-client.d.ts +7 -6
  228. package/dist/server/app-browser-server-action-client.js +9 -5
  229. package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
  230. package/dist/server/app-browser-state.d.ts +17 -17
  231. package/dist/server/app-browser-state.js +7 -3
  232. package/dist/server/app-browser-stream.d.ts +4 -5
  233. package/dist/server/app-browser-stream.js +8 -6
  234. package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
  235. package/dist/server/app-browser-visible-commit.d.ts +6 -7
  236. package/dist/server/app-browser-visible-commit.js +1 -1
  237. package/dist/server/app-client-reference-preloader.d.ts +2 -3
  238. package/dist/server/app-elements-wire-key.d.ts +25 -0
  239. package/dist/server/app-elements-wire-key.js +69 -0
  240. package/dist/server/app-elements-wire.d.ts +34 -53
  241. package/dist/server/app-elements-wire.js +4 -75
  242. package/dist/server/app-elements.d.ts +5 -5
  243. package/dist/server/app-elements.js +1 -1
  244. package/dist/server/app-fallback-renderer.d.ts +4 -4
  245. package/dist/server/app-fallback-renderer.js +6 -6
  246. package/dist/server/app-fetch-tracing.d.ts +15 -0
  247. package/dist/server/app-fetch-tracing.js +38 -0
  248. package/dist/server/app-history-state.d.ts +26 -27
  249. package/dist/server/app-history-state.js +19 -11
  250. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  251. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  252. package/dist/server/app-inline-css-client.d.ts +3 -4
  253. package/dist/server/app-interception-context-header.d.ts +2 -3
  254. package/dist/server/app-layout-param-observation.d.ts +7 -8
  255. package/dist/server/app-metadata-tracing.d.ts +12 -0
  256. package/dist/server/app-metadata-tracing.js +17 -0
  257. package/dist/server/app-middleware.d.ts +15 -7
  258. package/dist/server/app-middleware.js +30 -5
  259. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  260. package/dist/server/app-mounted-slots-header.js +2 -2
  261. package/dist/server/app-optimistic-routing.d.ts +14 -10
  262. package/dist/server/app-optimistic-routing.js +16 -3
  263. package/dist/server/app-page-boundary-render.d.ts +6 -6
  264. package/dist/server/app-page-boundary-render.js +10 -4
  265. package/dist/server/app-page-boundary.d.ts +9 -10
  266. package/dist/server/app-page-boundary.js +2 -1
  267. package/dist/server/app-page-cache-finalizer.d.ts +32 -8
  268. package/dist/server/app-page-cache-finalizer.js +118 -14
  269. package/dist/server/app-page-cache-render.d.ts +8 -5
  270. package/dist/server/app-page-cache-render.js +22 -5
  271. package/dist/server/app-page-cache.d.ts +28 -9
  272. package/dist/server/app-page-cache.js +96 -25
  273. package/dist/server/app-page-dispatch.d.ts +36 -12
  274. package/dist/server/app-page-dispatch.js +188 -63
  275. package/dist/server/app-page-element-builder.d.ts +13 -11
  276. package/dist/server/app-page-element-builder.js +104 -61
  277. package/dist/server/app-page-execution.d.ts +14 -14
  278. package/dist/server/app-page-execution.js +12 -8
  279. package/dist/server/app-page-head.d.ts +19 -16
  280. package/dist/server/app-page-head.js +25 -25
  281. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  282. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  283. package/dist/server/app-page-method.d.ts +5 -11
  284. package/dist/server/app-page-method.js +2 -9
  285. package/dist/server/app-page-params.d.ts +5 -6
  286. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  287. package/dist/server/app-page-probe.d.ts +5 -6
  288. package/dist/server/app-page-probe.js +5 -4
  289. package/dist/server/app-page-render-identity.d.ts +4 -5
  290. package/dist/server/app-page-render-observation.d.ts +8 -9
  291. package/dist/server/app-page-render-observation.js +1 -1
  292. package/dist/server/app-page-render.d.ts +42 -6
  293. package/dist/server/app-page-render.js +192 -28
  294. package/dist/server/app-page-request.d.ts +10 -9
  295. package/dist/server/app-page-request.js +16 -12
  296. package/dist/server/app-page-response.d.ts +20 -9
  297. package/dist/server/app-page-response.js +31 -13
  298. package/dist/server/app-page-route-wiring.d.ts +15 -15
  299. package/dist/server/app-page-route-wiring.js +31 -24
  300. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  301. package/dist/server/app-page-search-params-observation.js +42 -6
  302. package/dist/server/app-page-segment-plan.d.ts +2 -3
  303. package/dist/server/app-page-segment-state.d.ts +11 -12
  304. package/dist/server/app-page-stream.d.ts +27 -11
  305. package/dist/server/app-page-stream.js +35 -6
  306. package/dist/server/app-page-tracing.d.ts +33 -0
  307. package/dist/server/app-page-tracing.js +49 -0
  308. package/dist/server/app-pages-bridge.d.ts +6 -6
  309. package/dist/server/app-pages-bridge.js +19 -4
  310. package/dist/server/app-post-middleware-context.d.ts +2 -3
  311. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  312. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  313. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  314. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  315. package/dist/server/app-prerender-endpoints.js +26 -12
  316. package/dist/server/app-prerender-static-params.d.ts +15 -7
  317. package/dist/server/app-prerender-static-params.js +33 -11
  318. package/dist/server/app-render-dependency.d.ts +14 -13
  319. package/dist/server/app-render-dependency.js +5 -1
  320. package/dist/server/app-request-context.d.ts +3 -4
  321. package/dist/server/app-request-stage-context.d.ts +5 -0
  322. package/dist/server/app-request-stage-context.js +11 -0
  323. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  324. package/dist/server/app-request-stage-dispatch.js +54 -0
  325. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  326. package/dist/server/app-request-stage-independent-entry.js +115 -0
  327. package/dist/server/app-response-header-provenance.d.ts +13 -7
  328. package/dist/server/app-response-header-provenance.js +34 -1
  329. package/dist/server/app-response-stage-entry.d.ts +9 -0
  330. package/dist/server/app-response-stage-entry.js +87 -0
  331. package/dist/server/app-route-handler-cache.d.ts +2 -3
  332. package/dist/server/app-route-handler-cache.js +46 -34
  333. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  334. package/dist/server/app-route-handler-dispatch.js +75 -57
  335. package/dist/server/app-route-handler-execution.d.ts +18 -13
  336. package/dist/server/app-route-handler-execution.js +189 -25
  337. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  338. package/dist/server/app-route-handler-middleware-context.js +15 -0
  339. package/dist/server/app-route-handler-policy.d.ts +22 -10
  340. package/dist/server/app-route-handler-policy.js +19 -4
  341. package/dist/server/app-route-handler-response.d.ts +9 -10
  342. package/dist/server/app-route-handler-response.js +2 -0
  343. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  344. package/dist/server/app-route-handler-runtime.js +20 -16
  345. package/dist/server/app-route-module-loader.d.ts +6 -7
  346. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  347. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  348. package/dist/server/app-route-tree-prefetch.js +2 -1
  349. package/dist/server/app-router-entry.d.ts +2 -0
  350. package/dist/server/app-router-entry.js +76 -12
  351. package/dist/server/app-rsc-cache-busting.d.ts +47 -22
  352. package/dist/server/app-rsc-cache-busting.js +80 -18
  353. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  354. package/dist/server/app-rsc-combined-handler.js +11 -0
  355. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  356. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  357. package/dist/server/app-rsc-error-handler.js +15 -6
  358. package/dist/server/app-rsc-errors.d.ts +12 -9
  359. package/dist/server/app-rsc-errors.js +15 -13
  360. package/dist/server/app-rsc-handler.d.ts +33 -6
  361. package/dist/server/app-rsc-handler.js +498 -83
  362. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  363. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  364. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  365. package/dist/server/app-rsc-request-normalization.js +2 -1
  366. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  367. package/dist/server/app-rsc-response-finalizer.js +24 -7
  368. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  369. package/dist/server/app-rsc-response-stage.js +251 -0
  370. package/dist/server/app-rsc-route-matching.d.ts +4 -4
  371. package/dist/server/app-rsc-route-matching.js +4 -2
  372. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  373. package/dist/server/app-rsc-vary.d.ts +16 -0
  374. package/dist/server/app-rsc-vary.js +31 -0
  375. package/dist/server/app-segment-config.d.ts +120 -6
  376. package/dist/server/app-segment-config.js +264 -12
  377. package/dist/server/app-server-action-execution.d.ts +16 -12
  378. package/dist/server/app-server-action-execution.js +88 -35
  379. package/dist/server/app-ssr-entry.d.ts +14 -4
  380. package/dist/server/app-ssr-entry.js +64 -17
  381. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  382. package/dist/server/app-ssr-error-meta.js +2 -1
  383. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  384. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  385. package/dist/server/app-ssr-search-params-gate.js +54 -0
  386. package/dist/server/app-ssr-stream.d.ts +13 -9
  387. package/dist/server/app-ssr-stream.js +33 -7
  388. package/dist/server/app-static-generation.d.ts +4 -5
  389. package/dist/server/app-visited-response-cache.d.ts +11 -12
  390. package/dist/server/app-visited-response-cache.js +2 -2
  391. package/dist/server/app-worker-stages.d.ts +112 -0
  392. package/dist/server/app-worker-stages.js +105 -0
  393. package/dist/server/artifact-compatibility.d.ts +11 -12
  394. package/dist/server/before-interactive-head.d.ts +2 -3
  395. package/dist/server/bfcache-identity.d.ts +7 -8
  396. package/dist/server/cache-control.d.ts +39 -11
  397. package/dist/server/cache-control.js +104 -7
  398. package/dist/server/cache-headers.d.ts +3 -4
  399. package/dist/server/cache-proof.d.ts +75 -70
  400. package/dist/server/cache-proof.js +9 -1
  401. package/dist/server/cacheability-limits.d.ts +8 -0
  402. package/dist/server/cacheability-limits.js +9 -0
  403. package/dist/server/cacheability-manifest.d.ts +68 -0
  404. package/dist/server/cacheability-manifest.js +241 -0
  405. package/dist/server/cacheability-request.d.ts +49 -0
  406. package/dist/server/cacheability-request.js +559 -0
  407. package/dist/server/client-reuse-manifest.d.ts +17 -18
  408. package/dist/server/client-reuse-manifest.js +2 -2
  409. package/dist/server/client-trace-metadata.d.ts +9 -6
  410. package/dist/server/client-trace-metadata.js +27 -15
  411. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  412. package/dist/server/cloudflare-workers-tracing.js +8 -0
  413. package/dist/server/config-headers.d.ts +19 -5
  414. package/dist/server/config-headers.js +39 -5
  415. package/dist/server/cookie-utils.d.ts +2 -3
  416. package/dist/server/csp.d.ts +5 -6
  417. package/dist/server/default-global-error-module.d.ts +2 -3
  418. package/dist/server/default-global-not-found-module.d.ts +2 -3
  419. package/dist/server/default-not-found-module.d.ts +2 -3
  420. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  421. package/dist/server/defer-until-stream-consumed.js +2 -1
  422. package/dist/server/dev-initial-server-error.d.ts +3 -4
  423. package/dist/server/dev-initial-server-error.js +2 -1
  424. package/dist/server/dev-lockfile.d.ts +7 -8
  425. package/dist/server/dev-lockfile.js +4 -1
  426. package/dist/server/dev-module-runner.d.ts +2 -3
  427. package/dist/server/dev-origin-check.d.ts +5 -6
  428. package/dist/server/dev-route-files.d.ts +2 -3
  429. package/dist/server/dev-server.d.ts +4 -5
  430. package/dist/server/dev-server.js +130 -61
  431. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  432. package/dist/server/dev-stack-sourcemap.js +1 -1
  433. package/dist/server/document-initial-head.d.ts +3 -4
  434. package/dist/server/edge-api-runtime.d.ts +4 -5
  435. package/dist/server/fetch-handler.d.ts +3 -2
  436. package/dist/server/fetch-handler.js +3 -18
  437. package/dist/server/file-based-metadata.d.ts +2 -3
  438. package/dist/server/framework-tracer.d.ts +46 -0
  439. package/dist/server/framework-tracer.js +125 -0
  440. package/dist/server/fully-buffered-response.d.ts +11 -0
  441. package/dist/server/fully-buffered-response.js +19 -0
  442. package/dist/server/headers.d.ts +62 -56
  443. package/dist/server/headers.js +33 -20
  444. package/dist/server/html.d.ts +6 -27
  445. package/dist/server/html.js +16 -1
  446. package/dist/server/http-conditional.d.ts +5 -6
  447. package/dist/server/http-date.d.ts +2 -3
  448. package/dist/server/http-error-responses.d.ts +9 -10
  449. package/dist/server/http-range.d.ts +4 -5
  450. package/dist/server/hybrid-route-priority.d.ts +4 -5
  451. package/dist/server/image-optimization.d.ts +20 -21
  452. package/dist/server/implicit-tags.d.ts +3 -4
  453. package/dist/server/instrumentation-runtime.d.ts +17 -21
  454. package/dist/server/instrumentation-runtime.js +26 -8
  455. package/dist/server/instrumentation.d.ts +26 -30
  456. package/dist/server/instrumentation.js +18 -23
  457. package/dist/server/isr-cache.d.ts +28 -27
  458. package/dist/server/isr-cache.js +18 -70
  459. package/dist/server/isr-decision.d.ts +4 -4
  460. package/dist/server/metadata-route-build-data.d.ts +4 -5
  461. package/dist/server/metadata-route-cache-policy.d.ts +2 -3
  462. package/dist/server/metadata-route-response.d.ts +7 -7
  463. package/dist/server/metadata-route-response.js +68 -2
  464. package/dist/server/metadata-routes.d.ts +18 -19
  465. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  466. package/dist/server/middleware-matcher.d.ts +13 -6
  467. package/dist/server/middleware-matcher.js +22 -1
  468. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  469. package/dist/server/middleware-path-to-regexp.js +11 -9
  470. package/dist/server/middleware-response-headers.d.ts +3 -4
  471. package/dist/server/middleware-runtime.d.ts +13 -8
  472. package/dist/server/middleware-runtime.js +54 -10
  473. package/dist/server/middleware.d.ts +5 -5
  474. package/dist/server/multi-stage.d.ts +141 -0
  475. package/dist/server/multi-stage.js +8 -0
  476. package/dist/server/navigation-planner.d.ts +26 -26
  477. package/dist/server/navigation-trace.d.ts +11 -12
  478. package/dist/server/next-error-digest.d.ts +4 -5
  479. package/dist/server/normalize-path.d.ts +5 -6
  480. package/dist/server/normalize-path.js +1 -1
  481. package/dist/server/open-redirect.d.ts +2 -3
  482. package/dist/server/opentelemetry-api.d.ts +59 -0
  483. package/dist/server/opentelemetry-api.js +53 -0
  484. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  485. package/dist/server/opentelemetry-tracing.js +83 -0
  486. package/dist/server/operation-token.d.ts +11 -12
  487. package/dist/server/otel-tracer-extension.d.ts +7 -9
  488. package/dist/server/otel-tracer-extension.js +37 -36
  489. package/dist/server/pages-api-route.d.ts +5 -4
  490. package/dist/server/pages-api-route.js +21 -8
  491. package/dist/server/pages-asset-tags.d.ts +6 -6
  492. package/dist/server/pages-asset-tags.js +37 -2
  493. package/dist/server/pages-body-parser-config.d.ts +4 -5
  494. package/dist/server/pages-body-parser-config.js +4 -4
  495. package/dist/server/pages-client-assets.d.ts +11 -5
  496. package/dist/server/pages-data-route.d.ts +11 -12
  497. package/dist/server/pages-data-route.js +1 -1
  498. package/dist/server/pages-default-404.d.ts +3 -4
  499. package/dist/server/pages-dev-hydration.d.ts +9 -4
  500. package/dist/server/pages-dev-hydration.js +19 -7
  501. package/dist/server/pages-dev-module-url.d.ts +3 -4
  502. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  503. package/dist/server/pages-document-asset-props.d.ts +6 -7
  504. package/dist/server/pages-document-initial-props.d.ts +5 -5
  505. package/dist/server/pages-document-initial-props.js +4 -2
  506. package/dist/server/pages-execution-tracing.d.ts +40 -0
  507. package/dist/server/pages-execution-tracing.js +80 -0
  508. package/dist/server/pages-get-initial-props.d.ts +9 -10
  509. package/dist/server/pages-i18n.d.ts +8 -8
  510. package/dist/server/pages-i18n.js +3 -2
  511. package/dist/server/pages-media-type.d.ts +4 -5
  512. package/dist/server/pages-node-compat.d.ts +11 -10
  513. package/dist/server/pages-node-compat.js +12 -4
  514. package/dist/server/pages-page-data.d.ts +18 -19
  515. package/dist/server/pages-page-data.js +11 -10
  516. package/dist/server/pages-page-handler.d.ts +7 -6
  517. package/dist/server/pages-page-handler.js +98 -47
  518. package/dist/server/pages-page-method.d.ts +2 -3
  519. package/dist/server/pages-page-response.d.ts +14 -10
  520. package/dist/server/pages-page-response.js +49 -31
  521. package/dist/server/pages-preview.d.ts +10 -11
  522. package/dist/server/pages-readiness.d.ts +2 -3
  523. package/dist/server/pages-request-pipeline.d.ts +16 -12
  524. package/dist/server/pages-request-pipeline.js +69 -28
  525. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  526. package/dist/server/pages-request-stage-entry.js +314 -0
  527. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  528. package/dist/server/pages-response-stage-entry.js +106 -0
  529. package/dist/server/pages-response-stage.d.ts +31 -0
  530. package/dist/server/pages-response-stage.js +49 -0
  531. package/dist/server/pages-revalidate.d.ts +3 -4
  532. package/dist/server/pages-revalidate.js +9 -4
  533. package/dist/server/pages-route-data-kind.d.ts +18 -0
  534. package/dist/server/pages-route-data-kind.js +11 -0
  535. package/dist/server/pages-router-entry.d.ts +1 -25
  536. package/dist/server/pages-router-entry.js +48 -114
  537. package/dist/server/pages-serializable-props.d.ts +3 -4
  538. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  539. package/dist/server/pregenerated-concrete-paths.js +12 -6
  540. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  541. package/dist/server/prerender-manifest.d.ts +11 -11
  542. package/dist/server/prerender-manifest.js +6 -3
  543. package/dist/server/prerender-route-params.d.ts +16 -9
  544. package/dist/server/prerender-route-params.js +18 -2
  545. package/dist/server/prerender-work-unit-setup.d.ts +4 -4
  546. package/dist/server/prerender-work-unit-setup.js +37 -14
  547. package/dist/server/prod-server.d.ts +12 -9
  548. package/dist/server/prod-server.js +129 -36
  549. package/dist/server/proxy-trust.d.ts +5 -6
  550. package/dist/server/request-log.d.ts +3 -4
  551. package/dist/server/request-pipeline.d.ts +17 -21
  552. package/dist/server/request-pipeline.js +8 -10
  553. package/dist/server/request-stage.d.ts +5 -0
  554. package/dist/server/request-stage.js +7 -0
  555. package/dist/server/request-tracing.d.ts +22 -0
  556. package/dist/server/request-tracing.js +180 -0
  557. package/dist/server/response-stage-cacheability.d.ts +37 -0
  558. package/dist/server/response-stage-cacheability.js +55 -0
  559. package/dist/server/response-stage-policy.d.ts +23 -0
  560. package/dist/server/response-stage-policy.js +89 -0
  561. package/dist/server/response-stage.d.ts +5 -0
  562. package/dist/server/response-stage.js +7 -0
  563. package/dist/server/response-start-tracing.d.ts +14 -0
  564. package/dist/server/response-start-tracing.js +80 -0
  565. package/dist/server/revalidation-host.d.ts +2 -3
  566. package/dist/server/revalidation-host.js +2 -1
  567. package/dist/server/revalidation-request.d.ts +8 -0
  568. package/dist/server/revalidation-request.js +37 -0
  569. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  570. package/dist/server/rsc-stream-hints.d.ts +18 -7
  571. package/dist/server/rsc-stream-hints.js +70 -35
  572. package/dist/server/seed-cache.d.ts +2 -3
  573. package/dist/server/seed-cache.js +8 -7
  574. package/dist/server/server-action-not-found.d.ts +5 -6
  575. package/dist/server/server-globals.d.ts +2 -3
  576. package/dist/server/server-globals.js +13 -0
  577. package/dist/server/skip-cache-proof.d.ts +4 -4
  578. package/dist/server/socket-error-backstop.d.ts +5 -6
  579. package/dist/server/socket-error-backstop.js +1 -1
  580. package/dist/server/static-file-cache.d.ts +5 -6
  581. package/dist/server/static-file-cache.js +9 -7
  582. package/dist/server/static-file-signal.d.ts +16 -0
  583. package/dist/server/static-file-signal.js +82 -0
  584. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  585. package/dist/server/streaming-metadata.d.ts +2 -3
  586. package/dist/server/tracer.d.ts +5 -0
  587. package/dist/server/tracer.js +13 -0
  588. package/dist/server/worker-prerender-discovery.d.ts +18 -0
  589. package/dist/server/worker-prerender-discovery.js +55 -0
  590. package/dist/server/worker-revalidation-context.d.ts +2 -3
  591. package/dist/server/worker-revalidation-context.js +5 -5
  592. package/dist/server/worker-stages.d.ts +43 -0
  593. package/dist/server/worker-stages.js +25 -0
  594. package/dist/server/worker-utils.d.ts +5 -6
  595. package/dist/server/worker-utils.js +4 -4
  596. package/dist/server/workers-tracing.d.ts +17 -0
  597. package/dist/server/workers-tracing.js +27 -0
  598. package/dist/shims/amp.d.ts +3 -4
  599. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  600. package/dist/shims/app-router-scroll.d.ts +4 -5
  601. package/dist/shims/app-router-scroll.js +2 -1
  602. package/dist/shims/app.d.ts +5 -6
  603. package/dist/shims/before-interactive-context.d.ts +5 -6
  604. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  605. package/dist/shims/cache-callable-runtime.js +168 -8
  606. package/dist/shims/cache-for-request.d.ts +2 -3
  607. package/dist/shims/cache-handler.d.ts +33 -20
  608. package/dist/shims/cache-handler.js +61 -2
  609. package/dist/shims/cache-request-state.d.ts +28 -29
  610. package/dist/shims/cache-runtime.d.ts +23 -21
  611. package/dist/shims/cache-runtime.js +239 -121
  612. package/dist/shims/cache.d.ts +15 -15
  613. package/dist/shims/cache.js +25 -13
  614. package/dist/shims/cacheability-classification.d.ts +106 -0
  615. package/dist/shims/cacheability-classification.js +161 -0
  616. package/dist/shims/cdn-cache-state.d.ts +13 -0
  617. package/dist/shims/cdn-cache-state.js +23 -0
  618. package/dist/shims/cdn-cache.d.ts +76 -18
  619. package/dist/shims/cdn-cache.js +40 -39
  620. package/dist/shims/client-hook-error.d.ts +3 -4
  621. package/dist/shims/client-locale.d.ts +2 -3
  622. package/dist/shims/client-page-root.d.ts +24 -0
  623. package/dist/shims/client-page-root.js +121 -0
  624. package/dist/shims/compat-router.d.ts +2 -3
  625. package/dist/shims/config.d.ts +3 -4
  626. package/dist/shims/constants.d.ts +73 -74
  627. package/dist/shims/constants.js +1 -1
  628. package/dist/shims/default-not-found.d.ts +2 -3
  629. package/dist/shims/document.d.ts +9 -9
  630. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  631. package/dist/shims/dynamic-preload-chunks.js +17 -13
  632. package/dist/shims/dynamic.d.ts +3 -3
  633. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  634. package/dist/shims/error-boundary.d.ts +17 -18
  635. package/dist/shims/error-boundary.js +17 -11
  636. package/dist/shims/error.d.ts +4 -4
  637. package/dist/shims/error.js +1 -1
  638. package/dist/shims/error.react-server.d.ts +3 -4
  639. package/dist/shims/fetch-cache.d.ts +22 -22
  640. package/dist/shims/fetch-cache.js +50 -20
  641. package/dist/shims/font-google-base.d.ts +9 -9
  642. package/dist/shims/font-google-base.js +2 -1
  643. package/dist/shims/font-local.d.ts +3 -3
  644. package/dist/shims/font-local.js +1 -1
  645. package/dist/shims/font-utils.d.ts +14 -15
  646. package/dist/shims/form.d.ts +2 -2
  647. package/dist/shims/form.js +10 -7
  648. package/dist/shims/hash-scroll.d.ts +5 -6
  649. package/dist/shims/head-state.d.ts +4 -5
  650. package/dist/shims/head.d.ts +16 -16
  651. package/dist/shims/head.js +5 -4
  652. package/dist/shims/headers.d.ts +68 -32
  653. package/dist/shims/headers.js +101 -10
  654. package/dist/shims/i18n-context.d.ts +5 -6
  655. package/dist/shims/i18n-state.d.ts +4 -5
  656. package/dist/shims/image-config.d.ts +5 -6
  657. package/dist/shims/image-config.js +2 -0
  658. package/dist/shims/image.d.ts +5 -5
  659. package/dist/shims/image.js +12 -8
  660. package/dist/shims/internal/als-registry.d.ts +4 -5
  661. package/dist/shims/internal/api-utils.d.ts +3 -4
  662. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  663. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  664. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  665. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +13 -0
  666. package/dist/shims/internal/app-prefetch-rsc-request.js +12 -0
  667. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  668. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -6
  669. package/dist/shims/internal/app-route-prefetch-policy.js +1 -0
  670. package/dist/shims/internal/app-router-context.d.ts +9 -10
  671. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  672. package/dist/shims/internal/format-url-object.d.ts +7 -0
  673. package/dist/shims/internal/format-url-object.js +53 -0
  674. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  675. package/dist/shims/internal/hybrid-client-route-owner-direct.js +29 -11
  676. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  677. package/dist/shims/internal/hybrid-client-route-owner.js +5 -4
  678. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  679. package/dist/shims/internal/interpolate-as.js +4 -2
  680. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  681. package/dist/shims/internal/make-hanging-promise.d.ts +8 -3
  682. package/dist/shims/internal/make-hanging-promise.js +13 -2
  683. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  684. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  685. package/dist/shims/internal/normalize-router-href.js +41 -0
  686. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  687. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  688. package/dist/shims/internal/pages-data-target.js +32 -36
  689. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  690. package/dist/shims/internal/pages-data-url.js +2 -1
  691. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  692. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  693. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  694. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  695. package/dist/shims/internal/router-context.d.ts +2 -3
  696. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  697. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  698. package/dist/shims/internal/utils.d.ts +7 -8
  699. package/dist/shims/internal/work-unit-async-storage.d.ts +12 -11
  700. package/dist/shims/layout-segment-context.d.ts +3 -4
  701. package/dist/shims/link-prefetch.d.ts +9 -10
  702. package/dist/shims/link.d.ts +4 -4
  703. package/dist/shims/link.js +67 -116
  704. package/dist/shims/metadata.d.ts +15 -16
  705. package/dist/shims/metadata.js +40 -36
  706. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  707. package/dist/shims/navigation-context-accessors.js +19 -0
  708. package/dist/shims/navigation-context-state.d.ts +27 -18
  709. package/dist/shims/navigation-errors.d.ts +18 -19
  710. package/dist/shims/navigation-state.d.ts +6 -7
  711. package/dist/shims/navigation.d.ts +80 -68
  712. package/dist/shims/navigation.js +45 -17
  713. package/dist/shims/navigation.react-server.d.ts +9 -9
  714. package/dist/shims/navigation.react-server.js +1 -1
  715. package/dist/shims/offline.d.ts +2 -3
  716. package/dist/shims/og.d.ts +2 -2
  717. package/dist/shims/pages-router-runtime.d.ts +4 -5
  718. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  719. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  720. package/dist/shims/request-context.d.ts +7 -6
  721. package/dist/shims/root-params.d.ts +14 -15
  722. package/dist/shims/router-state.d.ts +5 -6
  723. package/dist/shims/router-state.js +1 -1
  724. package/dist/shims/router.d.ts +22 -21
  725. package/dist/shims/router.js +339 -164
  726. package/dist/shims/script-nonce-context.d.ts +8 -6
  727. package/dist/shims/script-nonce-context.js +15 -6
  728. package/dist/shims/script.d.ts +4 -4
  729. package/dist/shims/script.js +9 -7
  730. package/dist/shims/search-params-gate.d.ts +35 -0
  731. package/dist/shims/search-params-gate.js +32 -0
  732. package/dist/shims/server.d.ts +19 -51
  733. package/dist/shims/server.js +14 -28
  734. package/dist/shims/slot.d.ts +33 -15
  735. package/dist/shims/slot.js +41 -9
  736. package/dist/shims/streamed-icons.d.ts +3 -4
  737. package/dist/shims/thenable-params.d.ts +5 -7
  738. package/dist/shims/thenable-params.js +3 -24
  739. package/dist/shims/unified-request-context.d.ts +34 -31
  740. package/dist/shims/unified-request-context.js +34 -24
  741. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  742. package/dist/shims/url-safety.d.ts +5 -6
  743. package/dist/shims/url-utils.d.ts +18 -12
  744. package/dist/shims/url-utils.js +10 -1
  745. package/dist/shims/use-merged-ref.d.ts +2 -3
  746. package/dist/shims/user-agent.d.ts +31 -0
  747. package/dist/shims/user-agent.js +16 -0
  748. package/dist/shims/web-vitals.d.ts +2 -2
  749. package/dist/typegen.d.ts +3 -4
  750. package/dist/utils/asset-prefix.d.ts +7 -8
  751. package/dist/utils/base-path.d.ts +5 -6
  752. package/dist/utils/built-asset-url.d.ts +2 -3
  753. package/dist/utils/built-asset-url.js +1 -1
  754. package/dist/utils/cache-control-metadata.d.ts +4 -5
  755. package/dist/utils/client-build-manifest.d.ts +6 -7
  756. package/dist/utils/client-build-manifest.js +2 -1
  757. package/dist/utils/client-entry-manifest.d.ts +6 -7
  758. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  759. package/dist/utils/client-runtime-metadata.js +18 -1
  760. package/dist/utils/commonjs-loader.d.ts +4 -5
  761. package/dist/utils/compare.d.ts +2 -3
  762. package/dist/utils/deployment-id.d.ts +6 -7
  763. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  764. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  765. package/dist/utils/domain-locale.d.ts +7 -8
  766. package/dist/utils/encode-cache-tag.d.ts +3 -4
  767. package/dist/utils/error-cause.d.ts +2 -3
  768. package/dist/utils/external-url.d.ts +2 -3
  769. package/dist/utils/has-trailing-comma.d.ts +3 -4
  770. package/dist/utils/hash.d.ts +3 -4
  771. package/dist/utils/html-limited-bots.d.ts +3 -4
  772. package/dist/utils/lazy-chunks.d.ts +8 -9
  773. package/dist/utils/lazy-chunks.js +4 -4
  774. package/dist/utils/manifest-paths.d.ts +5 -6
  775. package/dist/utils/mdx-scan.d.ts +11 -4
  776. package/dist/utils/mdx-scan.js +27 -1
  777. package/dist/utils/middleware-request-headers.d.ts +7 -6
  778. package/dist/utils/middleware-request-headers.js +6 -1
  779. package/dist/utils/navigation-signal.d.ts +3 -3
  780. package/dist/utils/navigation-signal.js +16 -1
  781. package/dist/utils/number.d.ts +2 -3
  782. package/dist/utils/package-name.d.ts +3 -4
  783. package/dist/utils/parse-cookie.d.ts +4 -5
  784. package/dist/utils/path.d.ts +8 -9
  785. package/dist/utils/plugin-options.d.ts +2 -3
  786. package/dist/utils/precompressed-variant.d.ts +3 -4
  787. package/dist/utils/prerender-output-paths.d.ts +9 -10
  788. package/dist/utils/prerender-output-paths.js +16 -9
  789. package/dist/utils/project.d.ts +19 -30
  790. package/dist/utils/project.js +20 -29
  791. package/dist/utils/promise.d.ts +2 -3
  792. package/dist/utils/protocol-headers.d.ts +14 -15
  793. package/dist/utils/public-file-path.d.ts +2 -3
  794. package/dist/utils/public-routes.d.ts +2 -3
  795. package/dist/utils/query.d.ts +14 -9
  796. package/dist/utils/query.js +22 -1
  797. package/dist/utils/react-compiler-support.d.ts +6 -7
  798. package/dist/utils/react-version.d.ts +4 -3
  799. package/dist/utils/react-version.js +19 -1
  800. package/dist/utils/record.d.ts +2 -3
  801. package/dist/utils/redirect-digest.d.ts +3 -4
  802. package/dist/utils/regex-safety.d.ts +4 -5
  803. package/dist/utils/regex.d.ts +2 -3
  804. package/dist/utils/safe-json-file.d.ts +2 -3
  805. package/dist/utils/sorted-array.d.ts +2 -3
  806. package/dist/utils/text-stream.d.ts +3 -4
  807. package/dist/utils/vinext-root.d.ts +2 -3
  808. package/dist/utils/virtual-module.d.ts +3 -4
  809. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  810. package/dist/utils/vite-cli-invocation.js +144 -0
  811. package/dist/utils/vite-version.d.ts +5 -6
  812. package/next-package.json +4 -0
  813. package/package.json +55 -6
@@ -1,9 +1,12 @@
1
+ import { VINEXT_RSC_VARY_HEADER } from "./app-rsc-vary.js";
1
2
  import { isNavigationSignalError } from "../utils/navigation-signal.js";
2
- import { VINEXT_RSC_VARY_HEADER } from "./app-rsc-cache-busting.js";
3
+ import { deferUntilStreamConsumed } from "./defer-until-stream-consumed.js";
4
+ import "./app-rsc-cache-busting.js";
3
5
  import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
4
6
  import { markFrameworkLinkHeaders } from "./app-response-header-provenance.js";
5
7
  import { applyEdgeRuntimeHeader } from "./app-page-response.js";
6
- import { deferUntilStreamConsumed } from "./defer-until-stream-consumed.js";
8
+ import { getNextErrorDigest } from "./next-error-digest.js";
9
+ import { isAppRenderAbortError } from "./app-rsc-errors.js";
7
10
  //#region src/server/app-page-stream.ts
8
11
  function isAppSsrRenderResult(value) {
9
12
  return typeof value === "object" && value !== null && "htmlStream" in value && "metadataReady" in value;
@@ -49,6 +52,13 @@ function buildAppPageLinkHeader(reactLinkHeader, fontLinkHeader, maxHeadersLengt
49
52
  }
50
53
  return header;
51
54
  }
55
+ function createAppPageSsrErrorHandler(baseOnError, isCapturedRscError) {
56
+ return (error) => {
57
+ if (isAppRenderAbortError(error)) return void 0;
58
+ if (isCapturedRscError(error)) return getNextErrorDigest(error) ?? void 0;
59
+ return baseOnError(error, void 0, void 0);
60
+ };
61
+ }
52
62
  function createAppPageFontData(options) {
53
63
  return {
54
64
  links: options.getLinks(),
@@ -62,6 +72,7 @@ async function renderAppPageHtmlStream(options) {
62
72
  scriptNonce: options.scriptNonce,
63
73
  basePath: options.basePath,
64
74
  clientTraceMetadata: options.clientTraceMetadata,
75
+ clientTraceMetadataMarker: options.clientTraceMetadataMarker,
65
76
  reactMaxHeadersLength: options.reactMaxHeadersLength,
66
77
  rootParams: options.rootParams,
67
78
  sideStream: options.sideStream,
@@ -70,7 +81,9 @@ async function renderAppPageHtmlStream(options) {
70
81
  waitForAllReady: options.waitForAllReady,
71
82
  isStaticGeneration: options.isStaticGeneration,
72
83
  isForceStatic: options.isForceStatic,
84
+ isCacheCandidate: options.isCacheCandidate,
73
85
  initialDevServerError: options.initialDevServerError,
86
+ onSsrError: options.onSsrError,
74
87
  mirrorNextFlight: options.mirrorNextFlight,
75
88
  fallbackToErrorDocumentOnShellError: options.fallbackToErrorDocumentOnShellError ?? (options.waitForAllReady !== true && options.hasCustomGlobalError === false),
76
89
  dynamicStaleTimeSeconds: options.dynamicStaleTimeSeconds,
@@ -100,12 +113,13 @@ async function renderAppPageHtmlResponse(options) {
100
113
  }
101
114
  async function renderAppPageHtmlStreamWithRecovery(options) {
102
115
  try {
103
- const { htmlStream, metadataReady, capturedRscData, linkHeader, shellErrorRecovered } = normalizeAppSsrRenderResult(await options.renderHtmlStream());
116
+ const { htmlStream, metadataReady, renderComplete, capturedRscData, linkHeader, shellErrorRecovered } = normalizeAppSsrRenderResult(await options.renderHtmlStream());
104
117
  options.onShellRendered?.();
105
118
  return {
106
119
  htmlStream,
107
120
  response: null,
108
121
  metadataReady,
122
+ renderComplete: renderComplete ?? resolvedMetadataReady,
109
123
  capturedRscData,
110
124
  shellErrorRecovered: shellErrorRecovered === true,
111
125
  linkHeader
@@ -116,6 +130,7 @@ async function renderAppPageHtmlStreamWithRecovery(options) {
116
130
  htmlStream: null,
117
131
  response: await options.renderSpecialErrorResponse(specialError),
118
132
  metadataReady: resolvedMetadataReady,
133
+ renderComplete: resolvedMetadataReady,
119
134
  capturedRscData: null,
120
135
  shellErrorRecovered: false
121
136
  };
@@ -124,6 +139,7 @@ async function renderAppPageHtmlStreamWithRecovery(options) {
124
139
  htmlStream: null,
125
140
  response: boundaryResponse,
126
141
  metadataReady: resolvedMetadataReady,
142
+ renderComplete: resolvedMetadataReady,
127
143
  capturedRscData: null,
128
144
  shellErrorRecovered: false
129
145
  };
@@ -133,6 +149,8 @@ async function renderAppPageHtmlStreamWithRecovery(options) {
133
149
  function createAppPageRscErrorTracker(baseOnError) {
134
150
  let capturedError = null;
135
151
  let capturedSpecialError = null;
152
+ const capturedErrors = /* @__PURE__ */ new Set();
153
+ const capturedDigests = /* @__PURE__ */ new Set();
136
154
  return {
137
155
  getCapturedError() {
138
156
  return capturedError;
@@ -140,13 +158,24 @@ function createAppPageRscErrorTracker(baseOnError) {
140
158
  getCapturedSpecialError() {
141
159
  return capturedSpecialError;
142
160
  },
161
+ isCapturedError(error) {
162
+ if (capturedErrors.has(error)) return true;
163
+ const digest = getNextErrorDigest(error);
164
+ return digest !== null && capturedDigests.has(digest);
165
+ },
143
166
  onRenderError(error, requestInfo, errorContext) {
144
167
  if (isNavigationSignalError(error)) {
145
168
  if (capturedSpecialError === null) capturedSpecialError = error;
146
- } else capturedError = error;
147
- return baseOnError(error, requestInfo, errorContext);
169
+ } else {
170
+ capturedError = error;
171
+ capturedErrors.add(error);
172
+ }
173
+ const result = baseOnError(error, requestInfo, errorContext);
174
+ const digest = typeof result === "string" ? result : getNextErrorDigest(error);
175
+ if (digest !== null && !isNavigationSignalError(error)) capturedDigests.add(digest);
176
+ return result;
148
177
  }
149
178
  };
150
179
  }
151
180
  //#endregion
152
- export { buildAppPageLinkHeader, createAppPageFontData, createAppPageRscErrorTracker, deferUntilStreamConsumed, isAppSsrRenderResult, renderAppPageHtmlResponse, renderAppPageHtmlStream, renderAppPageHtmlStreamWithRecovery };
181
+ export { buildAppPageLinkHeader, createAppPageFontData, createAppPageRscErrorTracker, createAppPageSsrErrorHandler, deferUntilStreamConsumed, isAppSsrRenderResult, renderAppPageHtmlResponse, renderAppPageHtmlStream, renderAppPageHtmlStreamWithRecovery };
@@ -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
@@ -1,5 +1,6 @@
1
1
  import { getRequestExecutionContext } from "../shims/request-context.js";
2
2
  import { cloneRequestWithHeaders, cloneRequestWithUrl } from "./request-pipeline.js";
3
+ import { beginRouteCacheability } from "../shims/cacheability-classification.js";
3
4
  import { mergeHeaders } from "./worker-utils.js";
4
5
  import { pagesRouteHasPriorityOverAppRoute } from "./hybrid-route-priority.js";
5
6
  //#region src/server/app-pages-bridge.ts
@@ -17,7 +18,7 @@ function applyPagesMiddlewareContext(response, middlewareContext) {
17
18
  * Fallback handler to route App Router requests to the Pages Router when no App Router route matches.
18
19
  */
19
20
  async function renderPagesFallback(options, dependencies) {
20
- 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;
21
22
  const { loadPagesEntry, buildRequestHeaders, decodePathParams, applyRouteHandlerMiddlewareContext, getDraftModeCookieHeader } = dependencies;
22
23
  if (isRscRequest && !allowRscDocumentFallback) return null;
23
24
  const pagesEntry = await loadPagesEntry();
@@ -39,7 +40,14 @@ async function renderPagesFallback(options, dependencies) {
39
40
  if (apiMatch === null || !pagesRouteHasPriorityOverAppRoute(apiMatch.route, appRouteMatch.route)) return null;
40
41
  }
41
42
  const executionContext = getRequestExecutionContext();
42
- 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));
43
51
  const draftCookie = getDraftModeCookieHeader();
44
52
  return applyDraftModeCookie(applyRouteHandlerMiddlewareContext(pagesApiResponse, middlewareContext), draftCookie);
45
53
  }
@@ -50,8 +58,15 @@ async function renderPagesFallback(options, dependencies) {
50
58
  if (pageMatch !== null && matchKind === "static" && pageMatch.route.isDynamic) return null;
51
59
  if (pageMatch !== null && matchKind === "dynamic" && !pageMatch.route.isDynamic) return null;
52
60
  if (appRouteMatch !== null && (pageMatch === null || !pagesRouteHasPriorityOverAppRoute(pageMatch.route, appRouteMatch.route))) return null;
53
- const renderRequest = pagesDataRequest ? cloneRequestWithUrl(pagesRequest, pagesDataRequest.url) : pagesRequest;
54
- const pagesRes = isDataRequest ? await pagesEntry.renderPage(renderRequest, pagesUrl, {}, void 0, middlewareContext.requestHeaders, { isDataReq: true }) : await pagesEntry.renderPage(renderRequest, pagesUrl, {}, void 0, middlewareContext.requestHeaders);
61
+ if (pageMatch !== null) beginRouteCacheability("pages-page", pageMatch.route.pattern);
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));
55
70
  if (pagesRes.status === 404 && pageMatch === null) return null;
56
71
  return applyDraftModeCookie(applyPagesMiddlewareContext(pagesRes, middlewareContext), getDraftModeCookieHeader());
57
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
@@ -2,7 +2,11 @@ import "./headers.js";
2
2
  import { notFoundResponse } from "./http-error-responses.js";
3
3
  import { callAppPrerenderStaticParams } from "./app-prerender-static-params.js";
4
4
  //#region src/server/app-prerender-endpoints.ts
5
- const JSON_HEADERS = { "content-type": "application/json" };
5
+ const JSON_HEADERS = {
6
+ "cache-control": "no-store",
7
+ "content-type": "application/json"
8
+ };
9
+ const NO_STORE_HEADERS = { "cache-control": "no-store" };
6
10
  async function handleAppPrerenderEndpoint(request, options) {
7
11
  if (options.pathname === "/__vinext/prerender/static-params") return handleStaticParamsEndpoint(request, options);
8
12
  if (options.pathname === "/__vinext/prerender/pages-static-paths") {
@@ -16,7 +20,7 @@ async function handleAppPrerenderEndpoint(request, options) {
16
20
  return null;
17
21
  }
18
22
  async function handleMetadataRoutesEndpoint(options) {
19
- if (!isEnabled(options)) return notFoundResponse();
23
+ if (!isEnabled(options)) return notFoundResponse({ headers: NO_STORE_HEADERS });
20
24
  try {
21
25
  return jsonResponse(await options.getMetadataRoutePaths?.());
22
26
  } catch (error) {
@@ -24,28 +28,38 @@ async function handleMetadataRoutesEndpoint(options) {
24
28
  }
25
29
  }
26
30
  async function handleStaticParamsEndpoint(request, options) {
27
- if (!isEnabled(options)) return notFoundResponse();
31
+ if (!isEnabled(options)) return notFoundResponse({ headers: NO_STORE_HEADERS });
28
32
  const url = new URL(request.url);
29
33
  const pattern = url.searchParams.get("pattern");
30
- if (!pattern) return new Response("missing pattern", { status: 400 });
34
+ if (!pattern) return new Response("missing pattern", {
35
+ headers: NO_STORE_HEADERS,
36
+ status: 400
37
+ });
31
38
  const generateStaticParams = options.staticParamsMap[pattern];
32
39
  if (typeof generateStaticParams !== "function") return jsonNullResponse();
33
40
  try {
34
- return jsonResponse(await callAppPrerenderStaticParams({
41
+ const params = parseParentParams(url.searchParams.get("parentParams"));
42
+ const result = await callAppPrerenderStaticParams({
35
43
  fn: generateStaticParams,
36
- params: parseParentParams(url.searchParams.get("parentParams")),
44
+ params,
37
45
  pattern,
46
+ rejectEmptyResults: url.searchParams.get("rejectEmptyResults") === "1",
38
47
  rootParamNamesByPattern: options.rootParamNamesByPattern ?? {}
39
- }));
48
+ });
49
+ if (result === null) return jsonNullResponse();
50
+ return jsonResponse(result);
40
51
  } catch (error) {
41
52
  return jsonResponse({ error: String(error) }, 500);
42
53
  }
43
54
  }
44
55
  async function handlePagesStaticPathsEndpoint(request, options) {
45
- if (!isEnabled(options)) return notFoundResponse();
56
+ if (!isEnabled(options)) return notFoundResponse({ headers: NO_STORE_HEADERS });
46
57
  const url = new URL(request.url);
47
58
  const pattern = url.searchParams.get("pattern");
48
- if (!pattern) return new Response("missing pattern", { status: 400 });
59
+ if (!pattern) return new Response("missing pattern", {
60
+ headers: NO_STORE_HEADERS,
61
+ status: 400
62
+ });
49
63
  try {
50
64
  const getStaticPaths = findPageRoute(await options.loadPagesRoutes?.(), pattern)?.module?.getStaticPaths;
51
65
  if (typeof getStaticPaths !== "function") return jsonNullResponse();
@@ -67,9 +81,9 @@ function jsonResponse(body, status = 200) {
67
81
  });
68
82
  }
69
83
  function jsonNullResponse() {
70
- return new Response("null", {
71
- headers: JSON_HEADERS,
72
- status: 200
84
+ return new Response(null, {
85
+ headers: NO_STORE_HEADERS,
86
+ status: 204
73
87
  });
74
88
  }
75
89
  function parseParentParams(raw) {
@@ -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,6 +1,14 @@
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
+ /**
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
+ */
9
+ function invalidGenerateStaticParamsResult(message) {
10
+ throw new Error(message);
11
+ }
4
12
  function isGenerateStaticParamsFunction(value) {
5
13
  return typeof value === "function";
6
14
  }
@@ -8,7 +16,9 @@ function isLazyStaticParamsSource(value) {
8
16
  return typeof value === "object" && value !== null && "load" in value && typeof value.load === "function";
9
17
  }
10
18
  function isRootParams(value) {
11
- return isUnknownRecord(value);
19
+ if (!isUnknownRecord(value)) return false;
20
+ const prototype = Object.getPrototypeOf(value);
21
+ return prototype === Object.prototype || prototype === null;
12
22
  }
13
23
  /**
14
24
  * Build a prerender `generateStaticParams` resolver for one route pattern.
@@ -48,21 +58,29 @@ function createAppPrerenderStaticParamsResolver(sources, rootParamNames) {
48
58
  if (fns.length === 0) return null;
49
59
  if (fns.length === 1) {
50
60
  const single = fns[0];
51
- return runWithRootParamsScope(filterRootParams(input.params), async () => {
52
- const result = await single(input);
53
- if (!Array.isArray(result)) return [];
54
- for (const item of result) if (!isRootParams(item)) return [];
61
+ const picked = filterRootParams(input.params);
62
+ return runWithRootParamsScope(picked, async () => {
63
+ const result = await single({ params: input.params });
64
+ if (!Array.isArray(result)) return invalidGenerateStaticParamsResult("generateStaticParams must return an array");
65
+ for (const item of result) if (!isRootParams(item)) return invalidGenerateStaticParamsResult("generateStaticParams must return an array of objects");
55
66
  return result;
56
67
  });
57
68
  }
58
- let paramSets = [input.params];
69
+ let paramSets = Object.keys(input.params).length > 0 ? [input.params] : [];
59
70
  for (const generateStaticParams of fns) {
60
71
  const nextParamSets = [];
61
- for (const parentParams of paramSets) {
62
- const result = await runWithRootParamsScope(filterRootParams(parentParams), async () => generateStaticParams({ params: parentParams }));
63
- if (!Array.isArray(result)) return [];
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 }));
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
+ }
64
82
  for (const item of result) {
65
- if (!isRootParams(item)) return [];
83
+ if (!isRootParams(item)) return invalidGenerateStaticParamsResult("generateStaticParams must return an array of objects");
66
84
  nextParamSets.push({
67
85
  ...parentParams,
68
86
  ...item
@@ -75,7 +93,11 @@ function createAppPrerenderStaticParamsResolver(sources, rootParamNames) {
75
93
  };
76
94
  }
77
95
  async function callAppPrerenderStaticParams(options) {
78
- 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 }));
79
101
  }
80
102
  //#endregion
81
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 };