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,124 +1,58 @@
1
- import { normalizePathnameForRouteMatchStrict } from "../routing/utils.js";
2
- import { hasBasePath, stripBasePath } from "../utils/base-path.js";
3
- import { VINEXT_REVALIDATE_HOST_HEADER } from "../utils/protocol-headers.js";
4
- import { notFoundStaticAssetResponse } from "./http-error-responses.js";
5
- import { isOpenRedirectShaped } from "./open-redirect.js";
6
- import { cloneRequestWithHeaders, cloneRequestWithUrl, filterInternalHeaders } from "./request-pipeline.js";
7
- import { assetPrefixPathname, isNextStaticPath } from "../utils/asset-prefix.js";
8
- import { DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, handleConfiguredImageOptimization, isImageOptimizationPath } from "./image-optimization.js";
9
- import { finalizeMissingStaticAssetResponse } from "./worker-utils.js";
10
- import { fetchWorkerFilesystemRoute, runPagesRequest, wrapMiddlewareWithBasePath } from "./pages-request-pipeline.js";
1
+ import { runWithExecutionContext } from "../shims/request-context.js";
2
+ import { VINEXT_CACHEABILITY_PROBE_HEADER, VINEXT_CACHEABILITY_PROBE_QUERY_PARAM } from "./headers.js";
3
+ import { cloneRequestWithHeaders, cloneRequestWithUrl } from "./request-pipeline.js";
4
+ import { getCdnCacheAdapter } from "../shims/cdn-cache.js";
5
+ import { validateCdnRequest } from "./cache-control.js";
11
6
  import { createWorkerRevalidationContext } from "./worker-revalidation-context.js";
7
+ import { createWorkerPrerenderDiscoveryContext, createWorkerPrerenderReadinessResponse } from "./worker-prerender-discovery.js";
8
+ import { handleRequestStageLocally, pagesRequestStageBuildId, pagesRequestStagePrerenderSecret } from "./pages-request-stage-entry.js";
9
+ import { renderPagesResponse } from "./pages-response-stage-entry.js";
12
10
  import { registerConfiguredCacheAdapters } from "virtual:vinext-cache-adapters";
13
- import { registerConfiguredImageOptimizer } from "virtual:vinext-image-adapters";
14
- import * as pagesEntry from "virtual:vinext-server-entry";
11
+ import { __ensureInstrumentation } from "virtual:vinext-pages-request-entry";
12
+ import { __ensureInstrumentation as __ensureInstrumentation$1 } from "virtual:vinext-pages-response-entry";
13
+ import __cacheabilityManifest from "virtual:vinext-cacheability-manifest";
15
14
  //#region src/server/pages-router-entry.ts
16
- /**
17
- * Router-specific Cloudflare Worker entry point for vinext Pages Router.
18
- *
19
- * New projects should usually use the router-selected entry in wrangler.jsonc:
20
- * "main": "vinext/server/fetch-handler"
21
- *
22
- * This Pages Router entry remains available for existing configs and for custom
23
- * workers that need to opt into the Pages Router handler explicitly:
24
- * "main": "vinext/server/pages-router-entry"
25
- *
26
- * Or import and delegate to it from a custom worker:
27
- * import handler from "vinext/server/pages-router-entry";
28
- * return handler.fetch(request, env, ctx);
29
- */
30
- const { authorizeOnDemandRevalidate, handleApiRoute, hasMiddleware, matchApiRoute, matchPageRoute, normalizeDataRequest, publicFiles, renderPage, runMiddleware, vinextConfig } = pagesEntry;
31
- const basePath = vinextConfig?.basePath ?? "";
32
- const assetPathPrefix = assetPrefixPathname(vinextConfig?.assetPrefix ?? "");
33
- const trailingSlash = vinextConfig?.trailingSlash ?? false;
34
- const i18nConfig = vinextConfig?.i18n ?? null;
35
- const configRedirects = vinextConfig?.redirects ?? [];
36
- const configRewrites = vinextConfig?.rewrites ?? {
37
- beforeFiles: [],
38
- afterFiles: [],
39
- fallback: []
40
- };
41
- const configHeaders = vinextConfig?.headers ?? [];
42
- const imageConfig = vinextConfig?.images ? {
43
- qualities: vinextConfig.images.qualities,
44
- dangerouslyAllowSVG: vinextConfig.images.dangerouslyAllowSVG,
45
- dangerouslyAllowLocalIP: vinextConfig.images.dangerouslyAllowLocalIP,
46
- contentDispositionType: vinextConfig.images.contentDispositionType,
47
- contentSecurityPolicy: vinextConfig.images.contentSecurityPolicy
48
- } : void 0;
49
- var pages_router_entry_default = { async fetch(request, env, ctx) {
50
- return handleRequest(request, env, ctx);
51
- } };
52
- async function handleRequest(request, env, platformCtx) {
53
- const ctx = createWorkerRevalidationContext(platformCtx, (internalRequest, internalCtx) => handleRequest(internalRequest, env, internalCtx));
15
+ /** Router-specific single-entry Worker facade for vinext Pages Router. */
16
+ async function handleSingleStageRequest(request, env, platformCtx) {
17
+ const ctxWithRevalidation = createWorkerRevalidationContext(platformCtx, (internalRequest, internalCtx) => handleSingleStageRequest(internalRequest, env, internalCtx), "worker");
54
18
  registerConfiguredCacheAdapters(env);
55
- registerConfiguredImageOptimizer(env);
56
- try {
57
- let pathname = new URL(request.url).pathname;
58
- if (isOpenRedirectShaped(pathname)) return new Response("This page could not be found", { status: 404 });
59
- try {
60
- normalizePathnameForRouteMatchStrict(pathname);
61
- } catch {
62
- return new Response("Bad Request", { status: 400 });
63
- }
64
- const missingBuildAsset = isNextStaticPath(pathname, basePath, assetPathPrefix);
65
- const filteredHeaders = ctx.isInternalPagesRevalidation ? new Headers(request.headers) : filterInternalHeaders(request.headers);
66
- filteredHeaders.delete(VINEXT_REVALIDATE_HOST_HEADER);
67
- request = cloneRequestWithHeaders(request, filteredHeaders);
68
- const hadBasePath = !basePath || hasBasePath(pathname, basePath);
69
- {
70
- const stripped = stripBasePath(pathname, basePath);
71
- if (stripped !== pathname) {
72
- const strippedUrl = new URL(request.url);
73
- strippedUrl.pathname = stripped;
74
- request = cloneRequestWithUrl(request, strippedUrl.toString());
75
- pathname = stripped;
76
- }
19
+ const adapter = getCdnCacheAdapter();
20
+ let ctx = createWorkerPrerenderDiscoveryContext(ctxWithRevalidation, request, pagesRequestStagePrerenderSecret);
21
+ const readinessResponse = createWorkerPrerenderReadinessResponse(ctx, request);
22
+ if (readinessResponse) {
23
+ if (readinessResponse.status === 204) await Promise.all([__ensureInstrumentation(), __ensureInstrumentation$1()]);
24
+ return await validateCdnRequest(request) ?? readinessResponse;
25
+ }
26
+ let finalize;
27
+ if (request.headers.has("X-Vinext-Cacheability-Probe")) {
28
+ const cacheability = await import("./cacheability-request.js");
29
+ const probeContext = cacheability.createWorkerCacheabilityContext(ctx, request, pagesRequestStagePrerenderSecret, adapter.responseVary);
30
+ if (probeContext !== ctx) {
31
+ ctx = probeContext;
32
+ finalize = cacheability.finalizeWorkerCacheabilityResponse;
33
+ const probeUrl = new URL(request.url);
34
+ probeUrl.searchParams.delete(VINEXT_CACHEABILITY_PROBE_QUERY_PARAM);
35
+ request = cloneRequestWithUrl(request, probeUrl.toString());
36
+ const headers = new Headers(request.headers);
37
+ headers.delete(VINEXT_CACHEABILITY_PROBE_HEADER);
38
+ request = cloneRequestWithHeaders(request, headers);
77
39
  }
78
- const middlewareRequest = request;
79
- const dataNorm = normalizeDataRequest(request);
80
- if (dataNorm.notFoundResponse && !vinextConfig?.skipProxyUrlNormalize) return dataNorm.notFoundResponse;
81
- const isDataReq = dataNorm.isDataReq;
82
- if (isDataReq && dataNorm.normalizedPathname) {
83
- request = dataNorm.request;
84
- pathname = dataNorm.normalizedPathname;
40
+ }
41
+ const requiresCompletedResponseAdmission = adapter.requiresCompletedResponseAdmission === true;
42
+ if (!finalize && (__cacheabilityManifest || requiresCompletedResponseAdmission)) {
43
+ const cacheability = await import("./cacheability-request.js");
44
+ const admissionContext = cacheability.createWorkerCacheabilityAdmissionContext(ctx, request, __cacheabilityManifest, pagesRequestStageBuildId, requiresCompletedResponseAdmission, adapter.responseVary);
45
+ if (admissionContext !== ctx) {
46
+ ctx = admissionContext;
47
+ finalize = cacheability.finalizeWorkerCacheabilityResponse;
85
48
  }
86
- const deps = {
87
- basePath,
88
- trailingSlash,
89
- i18nConfig,
90
- configRedirects,
91
- configRewrites,
92
- configHeaders,
93
- hadBasePath,
94
- isDataReq,
95
- isDataRequest: isDataReq,
96
- hasMiddleware,
97
- ctx,
98
- middlewareRequest: isDataReq && vinextConfig?.skipProxyUrlNormalize ? middlewareRequest : void 0,
99
- dataNotFoundResponse: vinextConfig?.skipProxyUrlNormalize ? dataNorm.notFoundResponse : null,
100
- authorizeOnDemandRevalidate: typeof authorizeOnDemandRevalidate === "function" ? authorizeOnDemandRevalidate : void 0,
101
- matchApiRoute: typeof matchApiRoute === "function" ? matchApiRoute : null,
102
- matchPageRoute: typeof matchPageRoute === "function" ? matchPageRoute : null,
103
- runMiddleware: typeof runMiddleware === "function" ? wrapMiddlewareWithBasePath(runMiddleware, basePath, hadBasePath) : null,
104
- renderPage: typeof renderPage === "function" ? (req, resolvedUrl, options, stagedHeaders) => renderPage(req, resolvedUrl, null, ctx, stagedHeaders, options) : null,
105
- handleApi: typeof handleApiRoute === "function" ? (req, apiUrl) => handleApiRoute(req, apiUrl, ctx, new URL(req.url).origin, "worker") : null,
106
- serveFilesystemRoute: async (requestPathname, _stagedHeaders, phase, resolvedUrl) => {
107
- if (!env?.ASSETS) return false;
108
- if (isImageOptimizationPath(requestPathname)) {
109
- const imageUrl = new URL(resolvedUrl, request.url);
110
- return handleConfiguredImageOptimization(new Request(imageUrl, request), (assetPath) => Promise.resolve(env.ASSETS.fetch(new Request(new URL(assetPath, request.url)))), [...vinextConfig?.images?.deviceSizes ?? DEFAULT_DEVICE_SIZES, ...vinextConfig?.images?.imageSizes ?? DEFAULT_IMAGE_SIZES], imageConfig);
111
- }
112
- return fetchWorkerFilesystemRoute(request, requestPathname, phase, (assetRequest) => Promise.resolve(env.ASSETS.fetch(assetRequest)), publicFiles, missingBuildAsset);
113
- }
114
- };
115
- const result = await runPagesRequest(request, deps);
116
- if (result.type === "response") return finalizeMissingStaticAssetResponse(result.response, missingBuildAsset);
117
- return missingBuildAsset ? notFoundStaticAssetResponse() : new Response("This page could not be found", { status: 404 });
118
- } catch (error) {
119
- console.error("[vinext] Worker error:", error);
120
- return new Response("Internal Server Error", { status: 500 });
121
49
  }
50
+ const response = await handleRequestStageLocally(request, env, ctx, (stageRequest, stageEnv, stageCtx, props) => renderPagesResponse(stageRequest, stageEnv, stageCtx, props));
51
+ return finalize ? finalize(response, ctx) : response;
122
52
  }
53
+ var pages_router_entry_default = { fetch(request, env, ctx) {
54
+ const handle = () => handleSingleStageRequest(request, env, ctx);
55
+ return ctx && typeof ctx.waitUntil === "function" ? runWithExecutionContext(ctx, handle) : handle();
56
+ } };
123
57
  //#endregion
124
58
  export { pages_router_entry_default as default };
@@ -16,9 +16,8 @@
16
16
  * `pages-page-data.ts` so users see a clear error instead of an empty page
17
17
  * when they accidentally return a `Date`, `Map`, or class instance.
18
18
  */
19
- declare class SerializableError extends Error {
19
+ export declare class SerializableError extends Error {
20
20
  constructor(page: string, method: string, path: string, message: string);
21
21
  }
22
- declare function isSerializableProps(page: string, method: string, input: unknown): true;
23
- //#endregion
24
- export { SerializableError, isSerializableProps };
22
+ export declare function isSerializableProps(page: string, method: string, input: unknown): true;
23
+ //#endregion
@@ -2,15 +2,17 @@
2
2
  declare global {
3
3
  var __VINEXT_PREGENERATED_CONCRETE_PATHS: unknown;
4
4
  }
5
- declare function normalizePregeneratedPathname(pathname: string): string;
6
- declare function clearPregeneratedConcretePaths(): void;
7
- declare function addPregeneratedConcretePath(routePattern: string, pathname: string): void;
8
- declare function getRenderedConcreteUrlPathsForRoute(routePattern: string): ReadonlySet<string> | undefined;
5
+ /** Stable post-build module populated after prerendering completes. */
6
+ export declare const PREGENERATED_CONCRETE_PATHS_MODULE = "__vinext_pregenerated_concrete_paths.js";
7
+ export declare function normalizePregeneratedPathname(pathname: string): string;
8
+ export declare function clearPregeneratedConcretePaths(): void;
9
+ export declare function addPregeneratedRoute(routePattern: string): void;
10
+ export declare function addPregeneratedConcretePath(routePattern: string, pathname: string): void;
11
+ export declare function getRenderedConcreteUrlPathsForRoute(routePattern: string): ReadonlySet<string> | undefined;
9
12
  /**
10
13
  * Populate the registry from `globalThis.__VINEXT_PREGENERATED_CONCRETE_PATHS`.
11
14
  * No-op when the global is not set (Node path — seed-cache handles it later).
12
15
  * Pathnames are normalised so they match the runtime `cleanPathname`.
13
16
  */
14
- declare function initPregeneratedPathsFromGlobals(): void;
15
- //#endregion
16
- export { addPregeneratedConcretePath, clearPregeneratedConcretePaths, getRenderedConcreteUrlPathsForRoute, initPregeneratedPathsFromGlobals, normalizePregeneratedPathname };
17
+ export declare function initPregeneratedPathsFromGlobals(): void;
18
+ //#endregion
@@ -1,6 +1,8 @@
1
1
  import { normalizePathnameForRouteMatch } from "../routing/utils.js";
2
2
  import { normalizePath } from "./normalize-path.js";
3
3
  //#region src/server/pregenerated-concrete-paths.ts
4
+ /** Stable post-build module populated after prerendering completes. */
5
+ const PREGENERATED_CONCRETE_PATHS_MODULE = "__vinext_pregenerated_concrete_paths.js";
4
6
  function normalizePregeneratedPathname(pathname) {
5
7
  return normalizePath(normalizePathnameForRouteMatch(pathname));
6
8
  }
@@ -16,12 +18,13 @@ const concreteUrlPathsByRoute = /* @__PURE__ */ new Map();
16
18
  function clearPregeneratedConcretePaths() {
17
19
  concreteUrlPathsByRoute.clear();
18
20
  }
21
+ function addPregeneratedRoute(routePattern) {
22
+ if (!concreteUrlPathsByRoute.has(routePattern)) concreteUrlPathsByRoute.set(routePattern, /* @__PURE__ */ new Set());
23
+ }
19
24
  function addPregeneratedConcretePath(routePattern, pathname) {
25
+ addPregeneratedRoute(routePattern);
20
26
  let paths = concreteUrlPathsByRoute.get(routePattern);
21
- if (!paths) {
22
- paths = /* @__PURE__ */ new Set();
23
- concreteUrlPathsByRoute.set(routePattern, paths);
24
- }
27
+ if (!paths) return;
25
28
  paths.add(normalizePregeneratedPathname(pathname));
26
29
  }
27
30
  function getRenderedConcreteUrlPathsForRoute(routePattern) {
@@ -37,7 +40,10 @@ function initPregeneratedPathsFromGlobals() {
37
40
  const data = parsePregeneratedConcretePaths(raw);
38
41
  if (!data) return;
39
42
  clearPregeneratedConcretePaths();
40
- for (const [routePattern, pathnames] of data) for (const pathname of pathnames) addPregeneratedConcretePath(routePattern, pathname);
43
+ for (const [routePattern, pathnames] of data) {
44
+ addPregeneratedRoute(routePattern);
45
+ for (const pathname of pathnames) addPregeneratedConcretePath(routePattern, pathname);
46
+ }
41
47
  }
42
48
  function parsePregeneratedConcretePaths(value) {
43
49
  if (!Array.isArray(value)) return void 0;
@@ -58,4 +64,4 @@ function parsePregeneratedConcretePaths(value) {
58
64
  return result;
59
65
  }
60
66
  //#endregion
61
- export { addPregeneratedConcretePath, clearPregeneratedConcretePaths, getRenderedConcreteUrlPathsForRoute, initPregeneratedPathsFromGlobals, normalizePregeneratedPathname };
67
+ export { PREGENERATED_CONCRETE_PATHS_MODULE, addPregeneratedConcretePath, addPregeneratedRoute, clearPregeneratedConcretePaths, getRenderedConcreteUrlPathsForRoute, initPregeneratedPathsFromGlobals, normalizePregeneratedPathname };
@@ -5,7 +5,6 @@ type PrerenderCacheLife = {
5
5
  /** Client-router dimension — see `resolveClientStaleTimeSeconds`. */
6
6
  stale?: number;
7
7
  };
8
- declare function applyPrerenderCacheLifeHeader(headers: Headers, requestCacheLife: PrerenderCacheLife | null | undefined): void;
9
- declare function applyPrerenderCacheTagsHeader(headers: Headers, cacheTags: readonly string[]): void;
10
- //#endregion
11
- export { applyPrerenderCacheLifeHeader, applyPrerenderCacheTagsHeader };
8
+ export declare function applyPrerenderCacheLifeHeader(headers: Headers, requestCacheLife: PrerenderCacheLife | null | undefined): void;
9
+ export declare function applyPrerenderCacheTagsHeader(headers: Headers, cacheTags: readonly string[]): void;
10
+ //#endregion
@@ -1,7 +1,8 @@
1
1
  //#region src/server/prerender-manifest.d.ts
2
- type PrerenderManifestRoute = {
2
+ export type PrerenderManifestRoute = {
3
3
  route: string;
4
4
  status?: string;
5
+ reason?: string;
5
6
  revalidate?: number | false;
6
7
  expire?: number;
7
8
  /**
@@ -18,25 +19,25 @@ type PrerenderManifestRoute = {
18
19
  routeSegments?: string[];
19
20
  tags?: string[];
20
21
  };
21
- type PrerenderManifest = {
22
+ export type PrerenderManifest = {
22
23
  buildId?: string;
23
24
  trailingSlash?: boolean;
24
25
  routes?: PrerenderManifestRoute[];
25
26
  pregeneratedConcretePaths?: Array<[string, string[]]>;
26
27
  };
27
- type PrerenderedPathSelectionOptions = {
28
+ export type PrerenderedPathSelectionOptions = {
28
29
  includeFallbackShells?: boolean;
29
30
  includeErrorDocuments?: boolean;
30
31
  };
31
- declare function readPrerenderManifest(manifestPath: string): PrerenderManifest | null;
32
- declare function getRenderedAppRoutes(routes: PrerenderManifestRoute[]): PrerenderManifestRoute[];
33
- declare function getRenderedMetadataRoutes(routes: PrerenderManifestRoute[]): PrerenderManifestRoute[];
32
+ export declare function readPrerenderManifest(manifestPath: string): PrerenderManifest | null;
33
+ export declare function getRenderedAppRoutes(routes: PrerenderManifestRoute[]): PrerenderManifestRoute[];
34
+ export declare function getRenderedMetadataRoutes(routes: PrerenderManifestRoute[]): PrerenderManifestRoute[];
34
35
  /**
35
36
  * Returns true when `pathname` contains bracket-delimited route params,
36
37
  * indicating it is a fallback-shell placeholder (e.g. `/en/blog/[slug]`)
37
38
  * rather than a concrete rendered URL.
38
39
  */
39
- declare function isFallbackShellArtifactPath(pathname: string, route?: PrerenderManifestRoute): boolean;
40
+ export declare function isFallbackShellArtifactPath(pathname: string, route?: PrerenderManifestRoute): boolean;
40
41
  /**
41
42
  * Build the pregenerated concrete-path payload table from a prerender manifest.
42
43
  *
@@ -44,7 +45,7 @@ declare function isFallbackShellArtifactPath(pathname: string, route?: Prerender
44
45
  * paths by route pattern. Returns an empty array when the manifest has no
45
46
  * rendered App routes or all routes are fallback-shell artifacts.
46
47
  */
47
- declare function buildPregeneratedConcretePathTable(manifest: PrerenderManifest): Array<[string, string[]]>;
48
+ export declare function buildPregeneratedConcretePathTable(manifest: PrerenderManifest): Array<[string, string[]]>;
48
49
  /**
49
50
  * Select concrete URL paths that were rendered by the prerender engine.
50
51
  *
@@ -54,6 +55,5 @@ declare function buildPregeneratedConcretePathTable(manifest: PrerenderManifest)
54
55
  * and known error documents are excluded by default so warmup does not request
55
56
  * synthetic bracket paths or treat a healthy 404 response as a failed warmup.
56
57
  */
57
- declare function getPrerenderedConcretePaths(manifest: PrerenderManifest, options?: PrerenderedPathSelectionOptions): string[];
58
- //#endregion
59
- export { PrerenderManifest, PrerenderManifestRoute, PrerenderedPathSelectionOptions, buildPregeneratedConcretePathTable, getPrerenderedConcretePaths, getRenderedAppRoutes, getRenderedMetadataRoutes, isFallbackShellArtifactPath, readPrerenderManifest };
58
+ export declare function getPrerenderedConcretePaths(manifest: PrerenderManifest, options?: PrerenderedPathSelectionOptions): string[];
59
+ //#endregion
@@ -51,10 +51,13 @@ function isFallbackShellArtifactPath(pathname, route) {
51
51
  function buildPregeneratedConcretePathTable(manifest) {
52
52
  const routes = manifest?.routes;
53
53
  if (!routes?.length) return [];
54
- const concreteRoutes = getRenderedAppRoutes(routes).filter((r) => {
54
+ const byPattern = groupRoutesByPattern(getRenderedAppRoutes(routes).filter((r) => {
55
55
  return !isFallbackShellArtifactPath(r.path ?? r.route, r);
56
- });
57
- return Array.from(groupRoutesByPattern(concreteRoutes).entries());
56
+ }));
57
+ for (const route of routes) if (route.status === "skipped" && route.reason === "empty-static-params") {
58
+ if (!byPattern.has(route.route)) byPattern.set(route.route, []);
59
+ }
60
+ return Array.from(byPattern.entries());
58
61
  }
59
62
  /**
60
63
  * Select concrete URL paths that were rendered by the prerender engine.
@@ -1,10 +1,15 @@
1
1
  //#region src/server/prerender-route-params.d.ts
2
- type PrerenderRouteParams = Record<string, string | string[]>;
3
- type PrerenderRouteParamsPayload = {
2
+ export type PrerenderRouteParams = Record<string, string | string[]>;
3
+ export type PrerenderRouteParamsPayload = {
4
4
  fallbackParamNames?: readonly string[];
5
5
  params: PrerenderRouteParams;
6
6
  routePattern: string;
7
7
  };
8
+ /** Prerender-only request state authenticated at the public request boundary. */
9
+ export type TrustedPrerenderState = {
10
+ routeParams: PrerenderRouteParamsPayload | null;
11
+ speculative: boolean;
12
+ };
8
13
  type PrerenderRouteParamsRouteMatch = {
9
14
  kind: "exact";
10
15
  params: PrerenderRouteParams;
@@ -13,10 +18,12 @@ type PrerenderRouteParamsRouteMatch = {
13
18
  kind: "fallback-shell";
14
19
  params: PrerenderRouteParams;
15
20
  };
16
- declare function serializePrerenderRouteParamsHeader(payload: PrerenderRouteParamsPayload | null): string | null;
17
- declare function readTrustedPrerenderRouteParamsFromHeaders(headers: Headers, expectedSecret?: string): PrerenderRouteParamsPayload | null;
18
- declare function readTrustedPrerenderRouteParams(request: Request): PrerenderRouteParamsPayload | null;
19
- declare function matchPrerenderRouteParamsPayload(payload: PrerenderRouteParamsPayload | null, routePattern: string, params: PrerenderRouteParams): PrerenderRouteParamsRouteMatch | null;
20
- declare function encodePrerenderRouteParams(pattern: string, params: PrerenderRouteParams, fallbackParamNames?: readonly string[]): PrerenderRouteParamsPayload | null;
21
- //#endregion
22
- export { PrerenderRouteParams, PrerenderRouteParamsPayload, encodePrerenderRouteParams, matchPrerenderRouteParamsPayload, readTrustedPrerenderRouteParams, readTrustedPrerenderRouteParamsFromHeaders, serializePrerenderRouteParamsHeader };
21
+ export declare function isTrustedPrerenderState(value: unknown): value is TrustedPrerenderState;
22
+ export declare function serializePrerenderRouteParamsHeader(payload: PrerenderRouteParamsPayload | null): string | null;
23
+ export declare function readTrustedPrerenderRouteParamsFromHeaders(headers: Headers, expectedSecret?: string): PrerenderRouteParamsPayload | null;
24
+ /** Authenticate prerender params and mode once before crossing a stage transport. */
25
+ export declare function readTrustedPrerenderStateFromHeaders(headers: Headers, expectedSecret: string): TrustedPrerenderState | null;
26
+ export declare function readTrustedPrerenderRouteParams(request: Request): PrerenderRouteParamsPayload | null;
27
+ export declare function matchPrerenderRouteParamsPayload(payload: PrerenderRouteParamsPayload | null, routePattern: string, params: PrerenderRouteParams): PrerenderRouteParamsRouteMatch | null;
28
+ export declare function encodePrerenderRouteParams(pattern: string, params: PrerenderRouteParams, fallbackParamNames?: readonly string[]): PrerenderRouteParamsPayload | null;
29
+ //#endregion
@@ -1,5 +1,6 @@
1
- import { VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, VINEXT_PRERENDER_SECRET_HEADER } from "../utils/protocol-headers.js";
2
1
  import { isUnknownRecord } from "../utils/record.js";
2
+ import { VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, VINEXT_PRERENDER_SECRET_HEADER, VINEXT_PRERENDER_SPECULATIVE_HEADER } from "../utils/protocol-headers.js";
3
+ import "./headers.js";
3
4
  //#region src/server/prerender-route-params.ts
4
5
  function isPrerenderRouteParams(value) {
5
6
  if (!isUnknownRecord(value)) return false;
@@ -18,6 +19,11 @@ function isPrerenderRouteParamsPayload(value) {
18
19
  if ("fallbackParamNames" in value && (!Array.isArray(value.fallbackParamNames) || !value.fallbackParamNames.every((name) => typeof name === "string"))) return false;
19
20
  return typeof value.routePattern === "string" && value.routePattern.startsWith("/") && isPrerenderRouteParams(value.params);
20
21
  }
22
+ function isTrustedPrerenderState(value) {
23
+ if (!isUnknownRecord(value)) return false;
24
+ const keys = Object.keys(value);
25
+ return keys.length === 2 && keys.every((key) => key === "routeParams" || key === "speculative") && (value.routeParams === null || isPrerenderRouteParamsPayload(value.routeParams)) && typeof value.speculative === "boolean";
26
+ }
21
27
  function serializePrerenderRouteParamsHeader(payload) {
22
28
  if (payload === null || Object.keys(payload.params).length === 0) return null;
23
29
  return encodeURIComponent(JSON.stringify(payload));
@@ -42,6 +48,16 @@ function readTrustedPrerenderRouteParamsFromHeaders(headers, expectedSecret) {
42
48
  if (params === null) throw new Error("[vinext] Invalid internal prerender route params header.");
43
49
  return params;
44
50
  }
51
+ /** Authenticate prerender params and mode once before crossing a stage transport. */
52
+ function readTrustedPrerenderStateFromHeaders(headers, expectedSecret) {
53
+ if (process.env.VINEXT_PRERENDER !== "1") return null;
54
+ const secret = headers.get(VINEXT_PRERENDER_SECRET_HEADER);
55
+ if (!expectedSecret || secret === null || secret !== expectedSecret) return null;
56
+ return {
57
+ routeParams: readTrustedPrerenderRouteParamsFromHeaders(headers, expectedSecret),
58
+ speculative: headers.get(VINEXT_PRERENDER_SPECULATIVE_HEADER) === "1"
59
+ };
60
+ }
45
61
  function readTrustedPrerenderRouteParams(request) {
46
62
  return readTrustedPrerenderRouteParamsFromHeaders(request.headers);
47
63
  }
@@ -107,4 +123,4 @@ function encodePrerenderRouteParams(pattern, params, fallbackParamNames) {
107
123
  } : null;
108
124
  }
109
125
  //#endregion
110
- export { encodePrerenderRouteParams, matchPrerenderRouteParamsPayload, readTrustedPrerenderRouteParams, readTrustedPrerenderRouteParamsFromHeaders, serializePrerenderRouteParamsHeader };
126
+ export { encodePrerenderRouteParams, isTrustedPrerenderState, matchPrerenderRouteParamsPayload, readTrustedPrerenderRouteParams, readTrustedPrerenderRouteParamsFromHeaders, readTrustedPrerenderStateFromHeaders, serializePrerenderRouteParamsHeader };
@@ -1,6 +1,6 @@
1
1
  //#region src/server/prerender-work-unit-setup.d.ts
2
- declare function runWithPrerenderWorkUnit<T>(fn: () => Promise<T>, options?: {
2
+ export declare function runWithPrerenderWorkUnit(fn: () => Promise<Response>, options?: {
3
+ cacheComponents?: boolean;
3
4
  route?: string | (() => string);
4
- }): Promise<T>;
5
- //#endregion
6
- export { runWithPrerenderWorkUnit };
5
+ }): Promise<Response>;
6
+ //#endregion
@@ -1,28 +1,51 @@
1
1
  import { workUnitAsyncStorage } from "../shims/internal/work-unit-async-storage.js";
2
+ import { isRouteCacheabilityProbe } from "../shims/cacheability-classification.js";
3
+ import { NO_STORE_CACHE_CONTROL } from "./cache-control.js";
2
4
  //#region src/server/prerender-work-unit-setup.ts
3
5
  /**
4
- * Sets up the work unit async storage for prerendering.
6
+ * Sets up the work unit async storage for App Router rendering.
5
7
  *
6
- * When VINEXT_PRERENDER=1, wraps execution in a workUnitAsyncStorage.run()
7
- * with a PrerenderStore so that dynamic APIs (e.g., io()) can
8
- * detect the prerender context and return hanging promises.
8
+ * During ordinary Cache Components requests, wraps execution in a RequestStore.
9
+ * During build prerendering and authenticated cacheability probes, wraps
10
+ * execution in a PrerenderStore so dynamic APIs can suspend and the render
11
+ * owner can interrupt the attempt without exposing catchable framework errors
12
+ * to user code.
9
13
  *
10
14
  * Used by: app-rsc-entry.ts handler template.
11
15
  *
12
- * TODO: If future dynamic APIs need request-scoped stores for normal (non-prerender)
13
- * requests, add a `{ type: "request" }` store during normal request handling.
14
16
  */
15
17
  function runWithPrerenderWorkUnit(fn, options) {
16
- if (process.env.VINEXT_PRERENDER === "1") {
17
- const controller = new AbortController();
18
- const route = typeof options?.route === "function" ? options.route() : options?.route;
19
- return workUnitAsyncStorage.run({
20
- type: "prerender",
21
- renderSignal: controller.signal,
22
- route
23
- }, fn).finally(() => controller.abort());
18
+ if (process.env.VINEXT_PRERENDER === "1" || isRouteCacheabilityProbe()) {
19
+ if (options?.cacheComponents !== true) return workUnitAsyncStorage.run({ type: "prerender-legacy" }, fn);
20
+ return runWithPrerenderWorkUnitOwner(fn, options);
24
21
  }
22
+ if (options?.cacheComponents === true) return workUnitAsyncStorage.run({ type: "request" }, fn);
25
23
  return fn();
26
24
  }
25
+ async function runWithPrerenderWorkUnitOwner(fn, options) {
26
+ const controller = new AbortController();
27
+ const route = typeof options?.route === "function" ? options.route() : options?.route;
28
+ let signalBailout;
29
+ const bailout = new Promise((resolve) => {
30
+ signalBailout = () => resolve({ kind: "bailout" });
31
+ });
32
+ const render = workUnitAsyncStorage.run({
33
+ type: "prerender",
34
+ renderSignal: controller.signal,
35
+ route,
36
+ signalPrerenderBailout: signalBailout
37
+ }, fn);
38
+ try {
39
+ const result = await Promise.race([render.then((response) => ({
40
+ kind: "response",
41
+ response
42
+ })), bailout]);
43
+ if (result.kind === "response") return result.response;
44
+ render.then((response) => response.body?.cancel()).catch(() => {});
45
+ return new Response(null, { headers: { "Cache-Control": NO_STORE_CACHE_CONTROL } });
46
+ } finally {
47
+ controller.abort();
48
+ }
49
+ }
27
50
  //#endregion
28
51
  export { runWithPrerenderWorkUnit };
@@ -39,12 +39,12 @@ import { IncomingMessage, ServerResponse } from "node:http";
39
39
  *
40
40
  * Exported for direct unit testing of the URL choice.
41
41
  */
42
- declare function resolveServerEntryImportUrl(entryPath: string): string;
43
- declare function rememberCurrentServerEntryImportMtime(entryPath: string): void;
44
- declare function importServerEntryModule(entryPath: string): Promise<any>;
42
+ export declare function resolveServerEntryImportUrl(entryPath: string): string;
43
+ export declare function rememberCurrentServerEntryImportMtime(entryPath: string): void;
44
+ export declare function importServerEntryModule(entryPath: string): Promise<any>;
45
45
  /** Convert a Node.js IncomingMessage into a ReadableStream for Web Request body. */
46
- declare function readNodeStream(req: IncomingMessage): ReadableStream<Uint8Array>;
47
- type ProdServerOptions = {
46
+ export declare function readNodeStream(req: IncomingMessage): ReadableStream<Uint8Array>;
47
+ export type ProdServerOptions = {
48
48
  /** Port to listen on */
49
49
  port?: number;
50
50
  /** Host to bind to */
@@ -53,6 +53,8 @@ type ProdServerOptions = {
53
53
  outDir?: string;
54
54
  /** Explicit App Router RSC entry path. Defaults to `<outDir>/server/index.js`. */
55
55
  rscEntryPath?: string;
56
+ /** Directory containing server manifests, sidecars, and prerender artifacts. */
57
+ serverDir?: string;
56
58
  /** Explicit Pages Router server entry path. Defaults to `<outDir>/server/entry.js`. */
57
59
  serverEntryPath?: string;
58
60
  /** Disable compression (default: false) */
@@ -116,18 +118,19 @@ declare function nodeToWebRequest(req: IncomingMessage, urlOverride?: string, pr
116
118
  * Supports streaming compression for SSR responses.
117
119
  */
118
120
  declare function sendWebResponse(webResponse: Response, req: IncomingMessage, res: ServerResponse, compress: boolean): Promise<void>;
121
+ declare function waitForNodeResponseCompletion(res: ServerResponse): Promise<void>;
119
122
  /**
120
123
  * Start the production server.
121
124
  *
122
125
  * Automatically detects whether the build is App Router (dist/server/index.js) or
123
126
  * Pages Router (dist/server/entry.js) and configures the appropriate handler.
124
127
  */
125
- declare function startProdServer(options?: ProdServerOptions): Promise<{
128
+ export declare function startProdServer(options?: ProdServerOptions): Promise<{
126
129
  server: import("node:http").Server<typeof IncomingMessage, typeof ServerResponse>;
127
130
  port: number;
128
131
  }>;
129
132
  type AppRouterPrerenderSeeder = (serverDir: string) => Promise<number>;
130
- declare function resolveAppRouterPrerenderSeeder(entryModule: unknown): AppRouterPrerenderSeeder;
133
+ export declare function resolveAppRouterPrerenderSeeder(entryModule: unknown): AppRouterPrerenderSeeder;
131
134
  /**
132
135
  * Resolve a request pathname to a static-asset lookup path inside `clientDir`.
133
136
  *
@@ -150,6 +153,6 @@ declare function resolveAppRouterPrerenderSeeder(entryModule: unknown): AppRoute
150
153
  * to the CDN — but we accept them so a same-origin reverse proxy can
151
154
  * route through; the on-disk path is just `_next/static/...`.
152
155
  */
153
- declare function resolveAppRouterAssetPath(pathname: string, assetPathPrefix: string, assetPrefix: string): string | null;
156
+ export declare function resolveAppRouterAssetPath(pathname: string, assetPathPrefix: string, assetPrefix: string): string | null;
154
157
  //#endregion
155
- export { COMPRESSIBLE_TYPES, COMPRESS_THRESHOLD, ProdServerOptions, importServerEntryModule, mergeResponseHeaders, mergeWebResponse, negotiateEncoding, nodeToWebRequest, readNodeStream, rememberCurrentServerEntryImportMtime, resolveAppRouterAssetPath, resolveAppRouterPrerenderSeeder, resolveRequestHost as resolveHost, resolveServerEntryImportUrl, sendCompressed, sendWebResponse, startProdServer, trustProxy, trustedHosts, tryServeStatic };
158
+ export { COMPRESSIBLE_TYPES, COMPRESS_THRESHOLD, mergeResponseHeaders, mergeWebResponse, negotiateEncoding, nodeToWebRequest, resolveRequestHost as resolveHost, sendCompressed, sendWebResponse, trustProxy, trustedHosts, tryServeStatic, waitForNodeResponseCompletion };