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
@@ -13,13 +13,13 @@ import { AppPageErrorModule, AppPageModule, AppPageRouteWiringRoute } from "./ap
13
13
  * the page module reference (used to extract the default export for the page
14
14
  * element) and the URL pattern (used as the route path in head resolution).
15
15
  */
16
- type AppPageBuildRoute<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = AppPageRouteWiringRoute<TModule, TErrorModule> & {
16
+ export type AppPageBuildRoute<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = AppPageRouteWiringRoute<TModule, TErrorModule> & {
17
17
  page?: TModule | null;
18
18
  pattern: string;
19
19
  /** Param names captured by the route's URL pattern, in order. */
20
20
  params?: readonly string[] | null;
21
21
  };
22
- type AppPageInterceptOptions<TModule extends AppPageModule = AppPageModule> = {
22
+ export type AppPageInterceptOptions<TModule extends AppPageModule = AppPageModule> = {
23
23
  interceptGraphId?: string | null;
24
24
  interceptionId?: string | null;
25
25
  interceptionContext?: string | null;
@@ -40,7 +40,7 @@ type AppPageInterceptOptions<TModule extends AppPageModule = AppPageModule> = {
40
40
  interceptTargetPatternParts?: readonly string[] | null;
41
41
  interceptTargetRouteGraphId?: string | null;
42
42
  };
43
- type AppPagePageRequest<TModule extends AppPageModule = AppPageModule> = {
43
+ export type AppPagePageRequest<TModule extends AppPageModule = AppPageModule> = {
44
44
  /** Interception context from current-route navigation (null for direct visits). */
45
45
  opts?: AppPageInterceptOptions<TModule> | null;
46
46
  /** URL search params from the incoming request (null when unavailable). */
@@ -55,6 +55,8 @@ type AppPagePageRequest<TModule extends AppPageModule = AppPageModule> = {
55
55
  renderMode?: AppRscRenderMode;
56
56
  /** Observe page `searchParams` access for cache-safety classification. */
57
57
  observePageSearchParamsAccess?: boolean;
58
+ /** The route is `dynamic = "force-static"`, so pages read an empty query. */
59
+ isForceStatic?: boolean;
58
60
  /** Observe page metadata `searchParams` access for cache-safety classification. */
59
61
  observeMetadataSearchParamsAccess?: boolean;
60
62
  /** Whether generated metadata may stream into the response body. */
@@ -62,7 +64,7 @@ type AppPagePageRequest<TModule extends AppPageModule = AppPageModule> = {
62
64
  /** Whether streamed render errors must be sanitized for client transport. */
63
65
  isProduction?: boolean;
64
66
  };
65
- type BuildPageElementsOptions<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = {
67
+ export type BuildPageElementsOptions<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = {
66
68
  applyFileBasedMetadata?: ApplyAppPageFileBasedMetadata;
67
69
  route: AppPageBuildRoute<TModule, TErrorModule>;
68
70
  params: AppPageParams;
@@ -125,8 +127,8 @@ type AppPageNavigationParamInterceptOptions = {
125
127
  * and the page head resolution in
126
128
  * {@link https://github.com/vercel/next.js/blob/canary/packages/next/src/server/app-render/create-metadata.tsx|create-metadata.tsx}.
127
129
  */
128
- declare function buildPageElements<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule>(options: BuildPageElementsOptions<TModule, TErrorModule>): Promise<AppElements>;
129
- declare const APP_PAGE_INTERCEPTION_MARKER_TRAVERSALS: readonly [{
130
+ export declare function buildPageElements<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule>(options: BuildPageElementsOptions<TModule, TErrorModule>): Promise<AppElements>;
131
+ export declare const APP_PAGE_INTERCEPTION_MARKER_TRAVERSALS: readonly [{
130
132
  readonly prefix: "(...)";
131
133
  readonly levels: number;
132
134
  }, {
@@ -145,9 +147,9 @@ declare const APP_PAGE_INTERCEPTION_MARKER_TRAVERSALS: readonly [{
145
147
  * already bound to the param map that owns it (the route's params up to the
146
148
  * marker, the slot's params from the marker on).
147
149
  */
148
- declare function resolveInterceptedSlotIdentitySegments(sourcePageSegments: readonly string[] | null | undefined, slotKey: string): readonly AppPageSemanticSegment[] | null;
149
- declare function resolveInterceptedSlotSegments(sourcePageSegments: readonly string[] | null | undefined, slotKey: string): readonly string[] | null;
150
- declare function resolveSlotParamOverrides(route: AppPageNavigationParamRoute, routePath: string): Readonly<Record<string, AppPageParams>> | null;
151
- declare function resolveAppPageNavigationParams(route: AppPageNavigationParamRoute, routeParams: AppPageParams, routePath: string, opts?: AppPageNavigationParamInterceptOptions | null): AppPageParams;
150
+ export declare function resolveInterceptedSlotIdentitySegments(sourcePageSegments: readonly string[] | null | undefined, slotKey: string): readonly AppPageSemanticSegment[] | null;
151
+ export declare function resolveInterceptedSlotSegments(sourcePageSegments: readonly string[] | null | undefined, slotKey: string): readonly string[] | null;
152
+ export declare function resolveSlotParamOverrides(route: AppPageNavigationParamRoute, routePath: string): Readonly<Record<string, AppPageParams>> | null;
153
+ export declare function resolveAppPageNavigationParams(route: AppPageNavigationParamRoute, routeParams: AppPageParams, routePath: string, opts?: AppPageNavigationParamInterceptOptions | null): AppPageParams;
152
154
  //#endregion
153
- export { APP_PAGE_INTERCEPTION_MARKER_TRAVERSALS, AppPageBuildRoute, type AppPageErrorModule, AppPageInterceptOptions, AppPagePageRequest, type AppPageRouteWiringRoute, BuildPageElementsOptions, buildPageElements, resolveAppPageNavigationParams, resolveInterceptedSlotIdentitySegments, resolveInterceptedSlotSegments, resolveSlotParamOverrides };
155
+ export type { AppPageErrorModule, AppPageRouteWiringRoute };
@@ -1,21 +1,24 @@
1
1
  import { isPromiseLike } from "../utils/promise.js";
2
- import { createAppPageRenderDependency, invokeAppComponent, isAppRenderSuspension, isReactOwnedAppComponent, renderAfterAppDependencies } from "./app-render-dependency.js";
3
- import { AppElementsWire } from "./app-elements-wire.js";
4
2
  import { APP_RSC_RENDER_MODE_NAVIGATION } from "./app-rsc-render-mode.js";
3
+ import { createAppPageRenderDependency, invokeAppComponent, isAppClientReference, isAppRenderSuspension, isReactOwnedAppComponent, renderAfterAppDependencies } from "./app-render-dependency.js";
4
+ import { AppElementsWire } from "./app-elements-wire.js";
5
5
  import "./app-elements.js";
6
6
  import { createAppPageRenderIdentity } from "./app-page-render-identity.js";
7
7
  import { matchRoutePattern } from "../routing/route-pattern.js";
8
8
  import { makeThenableParams } from "../shims/thenable-params.js";
9
+ import { withUseCachePageMarker } from "../shims/internal/app-page-props-cache-key.js";
9
10
  import { resolveAppPageBranchParams, resolveAppPageSegmentParams } from "./app-page-params.js";
10
11
  import { resolveAppPageSpecialError } from "./app-page-execution.js";
11
12
  import { prepareAppPageHead, resolveActiveParallelRouteHeadInputs } from "./app-page-head.js";
12
13
  import { createAppPageSearchParamsObserver, makeObservedAppPageSearchParamsThenable } from "./app-page-search-params-observation.js";
13
- import { isAppPageRouteGroupSegment, resolveAppPagePatternStateKey, resolveAppPageRouteStateKey } from "./app-page-segment-state.js";
14
+ import { APP_PAGE_SEGMENT_KEY, isAppPageRouteGroupSegment, resolveAppPagePatternStateKey, resolveAppPageRouteStateKey } from "./app-page-segment-state.js";
15
+ import { sanitizeErrorForClient } from "./app-rsc-errors.js";
16
+ import { resolveAppPageModuleTraceSegment, traceCreateComponentTree, traceGetLayoutOrPageModule } from "./app-page-tracing.js";
14
17
  import { buildAppPageElements, createAppPageSourcePage, createAppPageTreePath, resolveAppPageLoadingModuleAtOrAbove } from "./app-page-route-wiring.js";
15
18
  import { resolveHttpAccessFallbackMetadata, resolveHttpAccessFallbackViewport } from "./app-page-http-access-fallback-metadata.js";
19
+ import { ClientPageRoot } from "../shims/client-page-root.js";
16
20
  import "./app-rsc-route-matching.js";
17
21
  import { resolveAppPageParentHttpAccessBoundary } from "./app-page-boundary.js";
18
- import { sanitizeErrorForClient } from "./app-rsc-errors.js";
19
22
  import { DEFAULT_GLOBAL_ERROR_MODULE } from "./default-global-error-module.js";
20
23
  import { shouldServeStreamingMetadata } from "./streaming-metadata.js";
21
24
  import { Suspense, createElement } from "react";
@@ -23,6 +26,21 @@ import { Suspense, createElement } from "react";
23
26
  function resolveInterceptLayoutParams(branchSegments, layoutSegments, params) {
24
27
  return resolveAppPageBranchParams(branchSegments, layoutSegments.length, params, layoutSegments);
25
28
  }
29
+ function traceAppPageLayoutModules(modules, routeSegments, treePositions) {
30
+ for (const [index, module] of modules.entries()) {
31
+ if (!module) continue;
32
+ traceGetLayoutOrPageModule(resolveAppPageModuleTraceSegment(routeSegments, treePositions?.[index] ?? 0), () => module);
33
+ }
34
+ }
35
+ function resolveInterceptLayoutTraceSegment(branchSegments, layoutSegments) {
36
+ return resolveAppPageModuleTraceSegment(branchSegments ?? layoutSegments, layoutSegments.length);
37
+ }
38
+ function traceAppPageInterceptLayoutModules(modules, branchSegments, layoutSegments) {
39
+ for (const [index, module] of (modules ?? []).entries()) {
40
+ if (!module) continue;
41
+ traceGetLayoutOrPageModule(resolveInterceptLayoutTraceSegment(branchSegments, layoutSegments?.[index] ?? []), () => module);
42
+ }
43
+ }
26
44
  /**
27
45
  * Build the App Router element tree for a matched route.
28
46
  *
@@ -42,7 +60,7 @@ function resolveInterceptLayoutParams(branchSegments, layoutSegments, params) {
42
60
  async function buildPageElements(options) {
43
61
  const { route, params, routePath, displayPathname = routePath, pageRequest, globalErrorModule, rootNotFoundModule, rootForbiddenModule, rootUnauthorizedModule, metadataRoutes } = options;
44
62
  const slotParamOverrides = resolveSlotParamOverrides(route, routePath);
45
- const { opts, searchParams, isRscRequest, mountedSlotsHeader, renderMode = APP_RSC_RENDER_MODE_NAVIGATION, observeMetadataSearchParamsAccess = false, observePageSearchParamsAccess = false, serveStreamingMetadata, isProduction = process.env.NODE_ENV === "production" } = pageRequest;
63
+ const { opts, searchParams, isRscRequest, mountedSlotsHeader, renderMode = APP_RSC_RENDER_MODE_NAVIGATION, observeMetadataSearchParamsAccess = false, observePageSearchParamsAccess = false, isForceStatic = false, serveStreamingMetadata, isProduction = process.env.NODE_ENV === "production" } = pageRequest;
46
64
  const pageModule = route.page;
47
65
  const isSiblingIntercept = opts?.interceptSlotKey === "__vinext_page_intercept" && !!opts?.interceptPage;
48
66
  const effectivePageModule = isSiblingIntercept ? opts.interceptPage : pageModule;
@@ -71,17 +89,22 @@ async function buildPageElements(options) {
71
89
  const treePosition = route.layoutTreePositions?.[0] ?? 0;
72
90
  noExportRootLayout = createAppPageTreePath(route.routeSegments, treePosition);
73
91
  }
74
- return {
75
- ...AppElementsWire.createMetadataEntries({
76
- interception: renderIdentity.interception,
77
- interceptionContext: renderIdentity.interceptionContext,
78
- layoutIds: noExportLayoutIds,
79
- rootLayoutTreePath: noExportRootLayout,
80
- routeId: renderIdentity.routeId,
81
- sourcePage: createAppPageSourcePage(sourcePageSegments)
82
- }),
83
- [renderIdentity.routeId]: createElement("div", null, "Page has no default export")
84
- };
92
+ return traceCreateComponentTree(() => {
93
+ traceGetLayoutOrPageModule(APP_PAGE_SEGMENT_KEY, () => effectivePageModule);
94
+ traceAppPageLayoutModules(route.layouts, route.routeSegments ?? [], route.layoutTreePositions);
95
+ if (isSiblingIntercept) traceAppPageInterceptLayoutModules(opts?.interceptLayouts, opts?.interceptBranchSegments, opts?.interceptLayoutSegments);
96
+ return {
97
+ ...AppElementsWire.createMetadataEntries({
98
+ interception: renderIdentity.interception,
99
+ interceptionContext: renderIdentity.interceptionContext,
100
+ layoutIds: noExportLayoutIds,
101
+ rootLayoutTreePath: noExportRootLayout,
102
+ routeId: renderIdentity.routeId,
103
+ sourcePage: createAppPageSourcePage(sourcePageSegments)
104
+ }),
105
+ [renderIdentity.routeId]: createElement("div", null, "Page has no default export")
106
+ };
107
+ });
85
108
  }
86
109
  const activeParallelRouteHeadInputs = resolveActiveParallelRouteHeadInputs({
87
110
  interceptBranchSegments: opts?.interceptBranchSegments ?? null,
@@ -110,6 +133,7 @@ async function buildPageElements(options) {
110
133
  },
111
134
  ...opts?.interceptNotFound ? {
112
135
  notFoundModule: opts.interceptNotFound,
136
+ notFoundModuleRouteSegments: (opts.interceptNotFoundBranchSegments ?? opts.interceptSourcePageSegments ?? route.routeSegments ?? []).slice(0, opts.interceptNotFoundTreePosition ?? 0),
113
137
  notFoundParams: resolveAppPageBranchParams(opts.interceptNotFoundBranchSegments ?? opts.interceptBranchSegments ?? route.routeSegments ?? [], opts.interceptNotFoundTreePosition ?? 0, effectiveParams)
114
138
  } : {},
115
139
  ownerTreePosition: route.routeSegments?.length ?? 0
@@ -155,6 +179,8 @@ async function buildPageElements(options) {
155
179
  return {
156
180
  boundaryModule,
157
181
  boundaryParams: boundaryModule && boundaryTreePosition != null ? resolveAppPageSegmentParams(route.routeSegments ?? [], boundaryTreePosition, effectiveParams) : {},
182
+ boundaryRouteSegments: (route.routeSegments ?? []).slice(0, boundaryTreePosition ?? 0),
183
+ errorConvention: "not-found",
158
184
  layoutModules: route.layouts,
159
185
  layoutTreePositions: route.layoutTreePositions,
160
186
  parallelBranches: activeParallelRouteHeadInputs,
@@ -194,25 +220,33 @@ async function buildPageElements(options) {
194
220
  const streamingMetadataOutlet = streamingMetadataOutletInputs.length > 0 ? Promise.all(streamingMetadataOutletInputs).then(() => null) : null;
195
221
  streamingMetadataOutlet?.catch(() => null);
196
222
  const pageProps = { params: makeThenableParams(effectiveParams) };
197
- const hasRequestSearchParams = Object.keys(pageSearchParams).length > 0;
198
223
  const pageTreePosition = (sourcePageSegments ?? route.routeSegments ?? []).length;
199
224
  const hasPageLoadingBoundary = resolveAppPageLoadingModuleAtOrAbove(route, pageTreePosition) !== null || isSiblingIntercept && resolveAppPageLoadingModuleAtOrAbove({
200
225
  loading: null,
201
226
  loadings: opts?.interceptLoadings,
202
227
  loadingTreePositions: opts?.interceptLoadingTreePositions
203
228
  }, pageTreePosition) !== null;
229
+ const hasEmptyClientPageSearchParams = isForceStatic || isProduction && process.env.__NEXT_CONFIG_OUTPUT === "export";
204
230
  const pageRenderDependency = EffectivePageComponent && !isReactOwnedAppComponent(EffectivePageComponent) ? createAppPageRenderDependency() : null;
205
231
  const createPageElement = (PageComponent, props, renderDependency) => {
232
+ if (searchParams && isAppClientReference(PageComponent)) {
233
+ const { searchParams: _slotSearchParams, ...pageProps } = props;
234
+ return createElement(ClientPageRoot, {
235
+ Component: PageComponent,
236
+ pageProps,
237
+ ...hasEmptyClientPageSearchParams ? { emptySearchParams: true } : {}
238
+ });
239
+ }
206
240
  if (isReactOwnedAppComponent(PageComponent)) {
207
241
  const invocationProps = { ...props };
208
- if (searchParams) invocationProps.searchParams = observePageSearchParamsAccess ? makeObservedAppPageSearchParamsThenable(pageSearchParams, { markDynamic: hasRequestSearchParams }) : makeThenableParams(pageSearchParams);
209
- return createElement(PageComponent, invocationProps);
242
+ if (searchParams) invocationProps.searchParams = observePageSearchParamsAccess ? makeObservedAppPageSearchParamsThenable(pageSearchParams) : makeThenableParams(pageSearchParams);
243
+ return createElement(PageComponent, withUseCachePageMarker(PageComponent, invocationProps));
210
244
  }
211
245
  const PageInvoker = () => {
212
246
  const invocationProps = { ...props };
213
247
  if (searchParams) invocationProps.searchParams = observePageSearchParamsAccess ? makeObservedAppPageSearchParamsThenable(pageSearchParams) : makeThenableParams(pageSearchParams);
214
248
  try {
215
- const result = invokeAppComponent(PageComponent, invocationProps);
249
+ const result = invokeAppComponent(PageComponent, withUseCachePageMarker(PageComponent, invocationProps));
216
250
  if (isPromiseLike(result)) {
217
251
  if (renderDependency) Promise.resolve().then(() => renderDependency.release());
218
252
  return Promise.resolve(result).then((resolvedResult) => renderDependency ? renderAfterAppDependencies(resolvedResult, renderDependency.resultDependencies) : resolvedResult);
@@ -233,11 +267,12 @@ async function buildPageElements(options) {
233
267
  const pageSearchParamsThenable = searchParams ? makeThenableParams(pageSearchParams) : void 0;
234
268
  const mountedSlotIds = mountedSlotsHeader ? new Set(mountedSlotsHeader.split(" ")) : null;
235
269
  const slotOverrides = buildSlotOverrides(route, params, routePath, opts);
236
- let siblingInterceptElement = isSiblingIntercept && EffectivePageComponent ? createPageElement(EffectivePageComponent, pageProps, pageRenderDependency) : null;
237
- if (isSiblingIntercept && siblingInterceptElement !== null) {
270
+ const createSiblingInterceptElement = () => {
271
+ let element = isSiblingIntercept && EffectivePageComponent ? createPageElement(EffectivePageComponent, pageProps, pageRenderDependency) : null;
272
+ if (!isSiblingIntercept || element === null) return element;
238
273
  const layoutIndexesByTreePosition = /* @__PURE__ */ new Map();
239
274
  for (const [index, layoutModule] of (opts?.interceptLayouts ?? []).entries()) {
240
- if (!layoutModule?.default) continue;
275
+ if (!layoutModule) continue;
241
276
  const treePosition = opts?.interceptLayoutSegments?.[index]?.length ?? 0;
242
277
  const indexes = layoutIndexesByTreePosition.get(treePosition) ?? [];
243
278
  indexes.push(index);
@@ -254,50 +289,58 @@ async function buildPageElements(options) {
254
289
  const treePosition = treePositions[index];
255
290
  const loadingIndex = loadingIndexesByTreePosition.get(treePosition);
256
291
  const LoadingComponent = loadingIndex === void 0 ? null : opts?.interceptLoadings?.[loadingIndex]?.default;
257
- if (LoadingComponent) siblingInterceptElement = createElement(Suspense, { fallback: createElement(LoadingComponent) }, siblingInterceptElement);
292
+ if (LoadingComponent) element = createElement(Suspense, { fallback: createElement(LoadingComponent) }, element);
258
293
  const layoutIndexes = layoutIndexesByTreePosition.get(treePosition) ?? [];
259
294
  for (let layoutOffset = layoutIndexes.length - 1; layoutOffset >= 0; layoutOffset--) {
260
295
  const layoutIndex = layoutIndexes[layoutOffset];
261
- const LayoutComponent = opts?.interceptLayouts?.[layoutIndex]?.default;
262
- if (!LayoutComponent) continue;
296
+ const layoutModule = opts?.interceptLayouts?.[layoutIndex];
297
+ if (!layoutModule) continue;
263
298
  const interceptLayoutSegments = opts?.interceptLayoutSegments?.[layoutIndex] ?? [];
264
- siblingInterceptElement = createElement(LayoutComponent, { params: makeThenableParams(resolveInterceptLayoutParams(opts?.interceptBranchSegments ?? interceptLayoutSegments, interceptLayoutSegments, effectiveParams)) }, siblingInterceptElement);
299
+ const LayoutComponent = traceGetLayoutOrPageModule(resolveInterceptLayoutTraceSegment(opts?.interceptBranchSegments, interceptLayoutSegments), () => layoutModule.default);
300
+ if (!LayoutComponent) continue;
301
+ const interceptLayoutParams = resolveInterceptLayoutParams(opts?.interceptBranchSegments ?? interceptLayoutSegments, interceptLayoutSegments, effectiveParams);
302
+ element = createElement(LayoutComponent, { params: makeThenableParams(interceptLayoutParams) }, element);
265
303
  }
266
304
  }
267
- }
268
- return buildAppPageElements({
269
- element: isSiblingIntercept ? siblingInterceptElement : EffectivePageComponent ? createPageElement(EffectivePageComponent, pageProps, pageRenderDependency) : null,
270
- createPageElement,
271
- globalErrorModule: globalErrorModule ?? DEFAULT_GLOBAL_ERROR_MODULE,
272
- isRscRequest,
273
- interceptionId: opts?.interceptionId ?? null,
274
- layoutParamAccess: options.layoutParamAccess,
275
- mountedSlotIds,
276
- makeThenableParams,
277
- matchedParams: params,
278
- pageRenderDependency,
279
- metadataPlacement,
280
- resolvedMetadata,
281
- resolvedMetadataPathname: routePath,
282
- resolvedViewport,
283
- scriptNonce: options.scriptNonce,
284
- streamingMetadata,
285
- streamingMetadataOutlet,
286
- streamingMetadataOutletSuspended: streamGeneratedHead,
287
- streamingMetadataTags,
288
- renderIdentity,
289
- routePath,
290
- semanticPageIdentity,
291
- semanticInterceptionTargetRouteId: opts?.interceptTargetRouteGraphId ?? null,
292
- sourcePageSegments,
293
- rootNotFoundModule: rootNotFoundModule ?? null,
294
- rootForbiddenModule: rootForbiddenModule ?? null,
295
- rootUnauthorizedModule: rootUnauthorizedModule ?? null,
296
- route,
297
- searchParams: pageSearchParamsThenable,
298
- slotOverrides,
299
- renderMode,
300
- trailingSlash: options.trailingSlash
305
+ return element;
306
+ };
307
+ return traceCreateComponentTree(() => {
308
+ if (effectivePageModule) traceGetLayoutOrPageModule(APP_PAGE_SEGMENT_KEY, () => effectivePageModule);
309
+ const siblingInterceptElement = createSiblingInterceptElement();
310
+ return buildAppPageElements({
311
+ element: isSiblingIntercept ? siblingInterceptElement : EffectivePageComponent ? createPageElement(EffectivePageComponent, pageProps, pageRenderDependency) : null,
312
+ createPageElement,
313
+ globalErrorModule: globalErrorModule ?? DEFAULT_GLOBAL_ERROR_MODULE,
314
+ isRscRequest,
315
+ interceptionId: opts?.interceptionId ?? null,
316
+ layoutParamAccess: options.layoutParamAccess,
317
+ mountedSlotIds,
318
+ makeThenableParams,
319
+ matchedParams: params,
320
+ pageRenderDependency,
321
+ metadataPlacement,
322
+ resolvedMetadata,
323
+ resolvedMetadataPathname: routePath,
324
+ resolvedViewport,
325
+ scriptNonce: options.scriptNonce,
326
+ streamingMetadata,
327
+ streamingMetadataOutlet,
328
+ streamingMetadataOutletSuspended: streamGeneratedHead,
329
+ streamingMetadataTags,
330
+ renderIdentity,
331
+ routePath,
332
+ semanticPageIdentity,
333
+ semanticInterceptionTargetRouteId: opts?.interceptTargetRouteGraphId ?? null,
334
+ sourcePageSegments,
335
+ rootNotFoundModule: rootNotFoundModule ?? null,
336
+ rootForbiddenModule: rootForbiddenModule ?? null,
337
+ rootUnauthorizedModule: rootUnauthorizedModule ?? null,
338
+ route,
339
+ searchParams: pageSearchParamsThenable,
340
+ slotOverrides,
341
+ renderMode,
342
+ trailingSlash: options.trailingSlash
343
+ });
301
344
  });
302
345
  }
303
346
  /**
@@ -2,8 +2,8 @@ import { ClassificationReason } from "../build/layout-classification-types.js";
2
2
  import { LayoutFlags } from "./app-elements-wire.js";
3
3
  import "./app-elements.js";
4
4
  //#region src/server/app-page-execution.d.ts
5
- declare function tagAppPageMetadataError<T>(error: T): T;
6
- type AppPageSpecialError = {
5
+ export declare function tagAppPageMetadataError<T>(error: T): T;
6
+ export type AppPageSpecialError = {
7
7
  kind: "redirect";
8
8
  location: string;
9
9
  statusCode: number;
@@ -14,7 +14,7 @@ type AppPageSpecialError = {
14
14
  statusCode: number;
15
15
  fromMetadata?: boolean;
16
16
  };
17
- type AppPageFontPreload = {
17
+ export type AppPageFontPreload = {
18
18
  href: string;
19
19
  type: string;
20
20
  };
@@ -83,7 +83,7 @@ type ProbeAppPageLayoutsResult = {
83
83
  response: Response | null;
84
84
  layoutFlags: LayoutFlags;
85
85
  };
86
- type LayoutClassificationOptions = {
86
+ export type LayoutClassificationOptions = {
87
87
  /** Build-time classifications from segment config or module graph, keyed by layout index. */
88
88
  buildTimeClassifications?: ReadonlyMap<number, "static" | "dynamic"> | null;
89
89
  /**
@@ -133,15 +133,15 @@ type ProbeAppPageThrownErrorOptions = {
133
133
  probePage: () => unknown;
134
134
  runWithSuppressedHookWarning<T>(probe: () => Promise<T>): Promise<T>;
135
135
  };
136
- declare function resolveAppPageSpecialError(error: unknown): AppPageSpecialError | null;
137
- declare function buildAppPageSpecialErrorResponse(options: BuildAppPageSpecialErrorResponseOptions): Promise<Response>;
136
+ export declare function resolveAppPageSpecialError(error: unknown): AppPageSpecialError | null;
137
+ export declare function buildAppPageSpecialErrorResponse(options: BuildAppPageSpecialErrorResponseOptions): Promise<Response>;
138
138
  /** See `LayoutFlags` type docblock in app-elements.ts for lifecycle. */
139
- declare function probeAppPageLayouts(options: ProbeAppPageLayoutsOptions): Promise<ProbeAppPageLayoutsResult>;
140
- declare function probeAppPageComponent(options: ProbeAppPageComponentOptions): Promise<Response | null>;
141
- declare function probeAppPageThrownError(options: ProbeAppPageThrownErrorOptions): Promise<unknown>;
142
- declare function readAppPageBinaryStream(stream: ReadableStream<Uint8Array>): Promise<ArrayBuffer>;
143
- declare function bufferAppPageBinaryStream(stream: ReadableStream<Uint8Array>): Promise<ReadableStream<Uint8Array>>;
144
- declare function teeAppPageRscStreamForCapture(stream: ReadableStream<Uint8Array>, shouldCapture: boolean): AppPageRscStreamCapture;
145
- declare function buildAppPageFontLinkHeader(preloads: readonly AppPageFontPreload[] | null | undefined): string;
139
+ export declare function probeAppPageLayouts(options: ProbeAppPageLayoutsOptions): Promise<ProbeAppPageLayoutsResult>;
140
+ export declare function probeAppPageComponent(options: ProbeAppPageComponentOptions): Promise<Response | null>;
141
+ export declare function probeAppPageThrownError(options: ProbeAppPageThrownErrorOptions): Promise<unknown>;
142
+ export declare function readAppPageBinaryStream(stream: ReadableStream<Uint8Array>): Promise<ArrayBuffer>;
143
+ export declare function bufferAppPageBinaryStream(stream: ReadableStream<Uint8Array>): Promise<ReadableStream<Uint8Array>>;
144
+ export declare function teeAppPageRscStreamForCapture(stream: ReadableStream<Uint8Array>, shouldCapture: boolean): AppPageRscStreamCapture;
145
+ export declare function buildAppPageFontLinkHeader(preloads: readonly AppPageFontPreload[] | null | undefined): string;
146
146
  //#endregion
147
- export { AppPageFontPreload, AppPageSpecialError, LayoutClassificationOptions, type LayoutFlags, bufferAppPageBinaryStream, buildAppPageFontLinkHeader, buildAppPageSpecialErrorResponse, probeAppPageComponent, probeAppPageLayouts, probeAppPageThrownError, readAppPageBinaryStream, resolveAppPageSpecialError, tagAppPageMetadataError, teeAppPageRscStreamForCapture };
147
+ export type { LayoutFlags };
@@ -143,9 +143,9 @@ async function buildAppPageSpecialErrorResponse(options) {
143
143
  const stream = options.buildRscRedirectFlightStream({ digest });
144
144
  const headers = new Headers({ "Content-Type": VINEXT_RSC_CONTENT_TYPE });
145
145
  applyEdgeRuntimeHeader(headers, options.isEdgeRuntime);
146
+ mergeMiddlewareResponseHeaders(headers, options.middlewareContext?.headers ?? null);
146
147
  applyRscCompatibilityIdHeader(headers);
147
148
  applyRscDeploymentIdHeader(headers);
148
- mergeMiddlewareResponseHeaders(headers, options.middlewareContext?.headers ?? null);
149
149
  headers.set(VINEXT_RSC_REDIRECT_HEADER, digestUrl);
150
150
  headers.set(VINEXT_RSC_REDIRECT_TYPE_HEADER, options.specialError.type ?? "replace");
151
151
  const pendingCookies = options.getAndClearPendingCookies?.() ?? [];
@@ -199,11 +199,13 @@ async function probeAppPageLayouts(options) {
199
199
  if (errorResponse) return errorResponse;
200
200
  const observationDynamic = cls.isLayoutObservationDynamic?.(layoutId) === true;
201
201
  layoutFlags[layoutId] = buildTimeResult === "dynamic" || observationDynamic ? "d" : "s";
202
- if (cls.debugClassification) if (observationDynamic && buildTimeResult === "static") cls.debugClassification(layoutId, {
203
- layer: "runtime-probe",
204
- outcome: "dynamic"
205
- });
206
- else cls.debugClassification(layoutId, cls.buildTimeReasons?.get(layoutIndex) ?? { layer: "no-classifier" });
202
+ if (cls.debugClassification) {
203
+ if (observationDynamic && buildTimeResult === "static") cls.debugClassification(layoutId, {
204
+ layer: "runtime-probe",
205
+ outcome: "dynamic"
206
+ });
207
+ else cls.debugClassification(layoutId, cls.buildTimeReasons?.get(layoutIndex) ?? { layer: "no-classifier" });
208
+ }
207
209
  continue;
208
210
  }
209
211
  if (cls) {
@@ -257,8 +259,10 @@ async function probeAppPageComponent(options) {
257
259
  const outcome = await runWithConnectionProbe(async () => {
258
260
  try {
259
261
  const pageResult = options.probePage();
260
- if (isPromiseLike(pageResult)) if (options.awaitAsyncResult) await pageResult;
261
- else Promise.resolve(pageResult).catch(() => {});
262
+ if (isPromiseLike(pageResult)) {
263
+ if (options.awaitAsyncResult) await pageResult;
264
+ else Promise.resolve(pageResult).catch(() => {});
265
+ }
262
266
  } catch (error) {
263
267
  return options.onError(error);
264
268
  }
@@ -4,30 +4,34 @@ import { ThenableParamsObserver } from "../shims/thenable-params.js";
4
4
  import { Metadata, ResolvedViewport } from "../shims/metadata.js";
5
5
  import { applyFileBasedMetadata } from "./file-based-metadata.js";
6
6
  //#region src/server/app-page-head.d.ts
7
- type AppPageSearchParams = Record<string, string | string[]>;
8
- type AppPageHeadModule = Record<string, unknown>;
9
- type ApplyAppPageFileBasedMetadata = typeof applyFileBasedMetadata;
10
- type OrderedAppPageMetadataSource<TModule extends AppPageHeadModule = AppPageHeadModule> = {
7
+ export type AppPageSearchParams = Record<string, string | string[]>;
8
+ export type AppPageHeadModule = Record<string, unknown>;
9
+ export type ApplyAppPageFileBasedMetadata = typeof applyFileBasedMetadata;
10
+ export type OrderedAppPageMetadataSource<TModule extends AppPageHeadModule = AppPageHeadModule> = {
11
11
  /** Preserve an empty result as the most specific file-metadata source. */
12
12
  includeWhenEmpty?: boolean;
13
13
  module: TModule;
14
+ moduleRoute: string;
14
15
  params: AppPageParams;
15
16
  routeSegments: readonly string[];
16
17
  searchParams?: AppPageSearchParams;
17
18
  searchParamsObserver?: ThenableParamsObserver;
18
19
  };
19
- type AppPageHeadParallelRoute<TModule extends AppPageHeadModule = AppPageHeadModule> = {
20
+ export type AppPageHeadParallelRoute<TModule extends AppPageHeadModule = AppPageHeadModule> = {
20
21
  layoutParams?: readonly AppPageParams[] | null;
21
22
  layoutModule?: TModule | null;
22
23
  layoutModules?: readonly (TModule | null | undefined)[] | null;
23
24
  layoutTreePositions?: readonly number[] | null;
25
+ moduleRoutePrefixSegments?: readonly string[] | null;
26
+ moduleRouteSegments?: readonly string[] | null;
24
27
  pageModule?: TModule | null;
25
28
  params?: AppPageParams | null;
26
29
  routeSegments?: readonly string[] | null;
27
30
  };
28
- type ActiveParallelRouteHeadInput<TModule extends AppPageHeadModule = AppPageHeadModule> = {
31
+ export type ActiveParallelRouteHeadInput<TModule extends AppPageHeadModule = AppPageHeadModule> = {
29
32
  head: AppPageHeadParallelRoute<TModule>;
30
33
  notFoundModule?: TModule | null;
34
+ notFoundModuleRouteSegments?: readonly string[] | null;
31
35
  notFoundParams?: AppPageParams | null;
32
36
  ownerTreePosition: number;
33
37
  };
@@ -88,17 +92,17 @@ type AppPageMetadataOutputOptions = {
88
92
  routePath: string;
89
93
  routeSegments?: readonly string[] | null;
90
94
  };
91
- type ResolveOrderedAppPageMetadataOptions<TModule extends AppPageHeadModule = AppPageHeadModule> = AppPageMetadataOutputOptions & {
95
+ export type ResolveOrderedAppPageMetadataOptions<TModule extends AppPageHeadModule = AppPageHeadModule> = AppPageMetadataOutputOptions & {
92
96
  sources: readonly OrderedAppPageMetadataSource<TModule>[];
93
97
  };
94
- type ResolveAppPageHeadResult = {
98
+ export type ResolveAppPageHeadResult = {
95
99
  hasDynamicMetadata: boolean;
96
100
  hasSearchParams: boolean;
97
101
  metadata: Metadata | null;
98
102
  pageSearchParams: AppPageSearchParams;
99
103
  viewport: ResolvedViewport;
100
104
  };
101
- type PreparedAppPageHead = Omit<ResolveAppPageHeadResult, "metadata" | "viewport"> & {
105
+ export type PreparedAppPageHead = Omit<ResolveAppPageHeadResult, "metadata" | "viewport"> & {
102
106
  metadata: Promise<Metadata | null>;
103
107
  viewport: Promise<ResolvedViewport>;
104
108
  };
@@ -106,8 +110,8 @@ type AppPageSearchParamsCollection = {
106
110
  hasSearchParams: boolean;
107
111
  pageSearchParams: AppPageSearchParams;
108
112
  };
109
- declare function resolveActiveParallelRouteHeadInputs<TModule extends AppPageHeadModule>(options: ResolveActiveParallelRouteHeadInputsOptions<TModule>): ActiveParallelRouteHeadInput<TModule>[];
110
- declare function collectAppPageSearchParams(searchParams: URLSearchParams | null | undefined): AppPageSearchParamsCollection;
113
+ export declare function resolveActiveParallelRouteHeadInputs<TModule extends AppPageHeadModule>(options: ResolveActiveParallelRouteHeadInputsOptions<TModule>): ActiveParallelRouteHeadInput<TModule>[];
114
+ export declare function collectAppPageSearchParams(searchParams: URLSearchParams | null | undefined): AppPageSearchParamsCollection;
111
115
  /**
112
116
  * Resolve an explicit metadata-source sequence.
113
117
  *
@@ -115,8 +119,8 @@ declare function collectAppPageSearchParams(searchParams: URLSearchParams | null
115
119
  * only supplies each source with its accumulated parent, merges the results,
116
120
  * and applies file-based metadata at the end.
117
121
  */
118
- declare function resolveOrderedAppPageMetadata<TModule extends AppPageHeadModule>(options: ResolveOrderedAppPageMetadataOptions<TModule>): Promise<Metadata | null>;
119
- declare function resolveAppPageHead<TModule extends AppPageHeadModule>(options: ResolveAppPageHeadOptions<TModule>): Promise<ResolveAppPageHeadResult>;
122
+ export declare function resolveOrderedAppPageMetadata<TModule extends AppPageHeadModule>(options: ResolveOrderedAppPageMetadataOptions<TModule>): Promise<Metadata | null>;
123
+ export declare function resolveAppPageHead<TModule extends AppPageHeadModule>(options: ResolveAppPageHeadOptions<TModule>): Promise<ResolveAppPageHeadResult>;
120
124
  /**
121
125
  * Start metadata and viewport resolution without coupling their completion.
122
126
  *
@@ -124,6 +128,5 @@ declare function resolveAppPageHead<TModule extends AppPageHeadModule>(options:
124
128
  * still waiting for viewport tags before the shell is emitted. Blocking
125
129
  * callers use {@link resolveAppPageHead} and observe the same result as before.
126
130
  */
127
- declare function prepareAppPageHead<TModule extends AppPageHeadModule>(options: ResolveAppPageHeadOptions<TModule>): PreparedAppPageHead;
128
- //#endregion
129
- export { ActiveParallelRouteHeadInput, AppPageHeadModule, AppPageHeadParallelRoute, AppPageSearchParams, ApplyAppPageFileBasedMetadata, OrderedAppPageMetadataSource, PreparedAppPageHead, ResolveAppPageHeadResult, ResolveOrderedAppPageMetadataOptions, collectAppPageSearchParams, prepareAppPageHead, resolveActiveParallelRouteHeadInputs, resolveAppPageHead, resolveOrderedAppPageMetadata };
131
+ export declare function prepareAppPageHead<TModule extends AppPageHeadModule>(options: ResolveAppPageHeadOptions<TModule>): PreparedAppPageHead;
132
+ //#endregion