vinext 1.0.0-beta.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (800) hide show
  1. package/README.md +150 -92
  2. package/THIRD_PARTY_LICENSES.md +25 -0
  3. package/dist/_virtual/_rolldown/runtime.js +25 -0
  4. package/dist/build/action-owner-manifest.d.ts +8 -9
  5. package/dist/build/action-owner-manifest.js +23 -5
  6. package/dist/build/assets-ignore.d.ts +3 -4
  7. package/dist/build/clean-output.d.ts +2 -3
  8. package/dist/build/client-build-config.d.ts +40 -12
  9. package/dist/build/client-build-config.js +76 -6
  10. package/dist/build/css-url-assets.d.ts +4 -5
  11. package/dist/build/css-url-assets.js +5 -2
  12. package/dist/build/google-fonts/build-url.d.ts +3 -4
  13. package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
  14. package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
  15. package/dist/build/google-fonts/font-metadata.d.ts +2 -3
  16. package/dist/build/google-fonts/get-axes.d.ts +2 -3
  17. package/dist/build/google-fonts/sort-variants.d.ts +2 -3
  18. package/dist/build/google-fonts/validate.d.ts +2 -3
  19. package/dist/build/google-fonts/validate.js +8 -4
  20. package/dist/build/inject-pregenerated-paths.d.ts +2 -3
  21. package/dist/build/inject-pregenerated-paths.js +16 -14
  22. package/dist/build/inline-css.d.ts +3 -4
  23. package/dist/build/layout-classification-types.d.ts +4 -5
  24. package/dist/build/layout-classification.d.ts +7 -8
  25. package/dist/build/lifecycle.d.ts +42 -0
  26. package/dist/build/lifecycle.js +253 -0
  27. package/dist/build/module-dependency-cache.d.ts +2 -3
  28. package/dist/build/next-client-runtime-manifests.d.ts +4 -5
  29. package/dist/build/nitro-route-rules.d.ts +6 -7
  30. package/dist/build/nitro-route-rules.js +1 -1
  31. package/dist/build/pages-client-assets-module.d.ts +4 -8
  32. package/dist/build/pages-client-assets-module.js +1 -13
  33. package/dist/build/precompress.d.ts +2 -3
  34. package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
  35. package/dist/build/prerender-cloudflare-loader.js +49 -0
  36. package/dist/build/prerender-paths.d.ts +36 -11
  37. package/dist/build/prerender-paths.js +273 -97
  38. package/dist/build/prerender-phase.d.ts +2 -3
  39. package/dist/build/prerender-server-entry.js +11 -3
  40. package/dist/build/prerender-server-pool.d.ts +9 -6
  41. package/dist/build/prerender-server-pool.js +8 -5
  42. package/dist/build/prerender.d.ts +65 -15
  43. package/dist/build/prerender.js +139 -43
  44. package/dist/build/preview-credentials.d.ts +5 -6
  45. package/dist/build/preview-credentials.js +2 -2
  46. package/dist/build/public-dir-conflict.d.ts +5 -6
  47. package/dist/build/public-dir-conflict.js +2 -1
  48. package/dist/build/report.d.ts +24 -20
  49. package/dist/build/report.js +10 -2
  50. package/dist/build/route-classification-injector.d.ts +2 -3
  51. package/dist/build/route-classification-manifest.d.ts +5 -6
  52. package/dist/build/run-prerender.d.ts +11 -9
  53. package/dist/build/run-prerender.js +25 -16
  54. package/dist/build/server-entry.d.ts +4 -0
  55. package/dist/build/server-entry.js +28 -0
  56. package/dist/build/server-manifest.d.ts +8 -3
  57. package/dist/build/server-manifest.js +14 -2
  58. package/dist/build/ssr-manifest.d.ts +5 -6
  59. package/dist/build/standalone.d.ts +2 -3
  60. package/dist/build/standalone.js +2 -2
  61. package/dist/build/static-export.d.ts +6 -7
  62. package/dist/cache/cache-adapters-virtual.d.ts +60 -20
  63. package/dist/cache/cache-adapters-virtual.js +50 -7
  64. package/dist/check.d.ts +11 -10
  65. package/dist/check.js +467 -176
  66. package/dist/cli-args.d.ts +7 -16
  67. package/dist/cli-args.js +2 -45
  68. package/dist/cli-dev-config.d.ts +10 -7
  69. package/dist/cli-dev-config.js +160 -3
  70. package/dist/cli.js +124 -442
  71. package/dist/client/app-nav-failure-handler.d.ts +6 -7
  72. package/dist/client/client-rewrite-matcher.d.ts +2 -3
  73. package/dist/client/client-rewrites.d.ts +4 -5
  74. package/dist/client/dev-error-overlay-store.d.ts +13 -14
  75. package/dist/client/dev-error-overlay.d.ts +15 -15
  76. package/dist/client/dev-error-overlay.js +8 -5
  77. package/dist/client/instrumentation-client-inject.d.ts +3 -4
  78. package/dist/client/instrumentation-client-state.d.ts +5 -6
  79. package/dist/client/instrumentation-client.d.ts +3 -4
  80. package/dist/client/navigation-runtime.d.ts +21 -17
  81. package/dist/client/navigation-runtime.js +2 -1
  82. package/dist/client/pages-router-link-navigation.d.ts +4 -5
  83. package/dist/client/react-instance.d.ts +2 -3
  84. package/dist/client/validate-module-path.d.ts +2 -3
  85. package/dist/client/vinext-next-data.d.ts +7 -10
  86. package/dist/client/window-next.d.ts +4 -5
  87. package/dist/config/config-matchers.d.ts +16 -16
  88. package/dist/config/config-matchers.js +2 -4
  89. package/dist/config/dotenv.d.ts +3 -4
  90. package/dist/config/dotenv.js +2 -1
  91. package/dist/config/next-config.d.ts +31 -27
  92. package/dist/config/next-config.js +163 -16
  93. package/dist/config/prerender.d.ts +20 -16
  94. package/dist/config/prerender.js +10 -4
  95. package/dist/config/request-context.d.ts +5 -6
  96. package/dist/config/server-external-packages.d.ts +14 -3
  97. package/dist/config/server-external-packages.js +37 -3
  98. package/dist/config/tsconfig-paths.d.ts +3 -4
  99. package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
  100. package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
  101. package/dist/entries/app-browser-entry.d.ts +4 -5
  102. package/dist/entries/app-browser-entry.js +1 -3
  103. package/dist/entries/app-rsc-entry.d.ts +10 -3
  104. package/dist/entries/app-rsc-entry.js +502 -51
  105. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  106. package/dist/entries/app-rsc-manifest.js +26 -8
  107. package/dist/entries/app-ssr-entry.d.ts +2 -3
  108. package/dist/entries/app-ssr-entry.js +8 -1
  109. package/dist/entries/pages-client-entry.d.ts +3 -3
  110. package/dist/entries/pages-client-entry.js +17 -2
  111. package/dist/entries/pages-server-entry.d.ts +13 -3
  112. package/dist/entries/pages-server-entry.js +234 -33
  113. package/dist/entries/runtime-entry-module.d.ts +4 -5
  114. package/dist/image/image-adapters-virtual.d.ts +4 -5
  115. package/dist/index.d.ts +10 -11
  116. package/dist/index.js +711 -189
  117. package/dist/init-cloudflare.d.ts +26 -17
  118. package/dist/init-cloudflare.js +710 -102
  119. package/dist/init-platform.d.ts +26 -22
  120. package/dist/init-platform.js +85 -29
  121. package/dist/init.d.ts +19 -13
  122. package/dist/init.js +123 -41
  123. package/dist/plugins/action-owner-manifest.d.ts +3 -4
  124. package/dist/plugins/action-owner-manifest.js +10 -3
  125. package/dist/plugins/ast-scope.d.ts +10 -11
  126. package/dist/plugins/ast-scope.js +10 -22
  127. package/dist/plugins/ast-utils.d.ts +16 -29
  128. package/dist/plugins/ast-utils.js +27 -71
  129. package/dist/plugins/async-hooks-stub.d.ts +2 -3
  130. package/dist/plugins/client-reference-dedup.d.ts +4 -5
  131. package/dist/plugins/css-data-url.d.ts +2 -3
  132. package/dist/plugins/css-module-imports.d.ts +3 -4
  133. package/dist/plugins/css-module-imports.js +1 -1
  134. package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
  135. package/dist/plugins/dynamic-preload-metadata.js +55 -154
  136. package/dist/plugins/environment.d.ts +2 -3
  137. package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
  138. package/dist/plugins/extensionless-dynamic-import.js +6 -10
  139. package/dist/plugins/fonts.d.ts +10 -11
  140. package/dist/plugins/fonts.js +4 -3
  141. package/dist/plugins/ignore-dynamic-requests.d.ts +3 -4
  142. package/dist/plugins/ignore-dynamic-requests.js +60 -89
  143. package/dist/plugins/import-meta-url.d.ts +6 -7
  144. package/dist/plugins/import-meta-url.js +31 -43
  145. package/dist/plugins/instrumentation-client.d.ts +3 -3
  146. package/dist/plugins/instrumentation-client.js +46 -10
  147. package/dist/plugins/middleware-export-validation.d.ts +3 -4
  148. package/dist/plugins/middleware-export-validation.js +3 -3
  149. package/dist/plugins/middleware-server-only.d.ts +2 -3
  150. package/dist/plugins/og-asset-ownership.d.ts +3 -4
  151. package/dist/plugins/og-assets.d.ts +4 -5
  152. package/dist/plugins/og-assets.js +32 -13
  153. package/dist/plugins/og-harfbuzz.d.ts +24 -0
  154. package/dist/plugins/og-harfbuzz.js +260 -0
  155. package/dist/plugins/optimize-imports.d.ts +7 -7
  156. package/dist/plugins/optimize-imports.js +32 -44
  157. package/dist/plugins/pages-node-externals.d.ts +2 -3
  158. package/dist/plugins/pages-node-externals.js +6 -11
  159. package/dist/plugins/postcss.d.ts +8 -4
  160. package/dist/plugins/postcss.js +1 -1
  161. package/dist/plugins/remove-console.d.ts +2 -3
  162. package/dist/plugins/remove-console.js +0 -1
  163. package/dist/plugins/require-condition-resolution.d.ts +3 -4
  164. package/dist/plugins/require-condition-resolution.js +17 -18
  165. package/dist/plugins/require-context.d.ts +2 -3
  166. package/dist/plugins/require-context.js +13 -21
  167. package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
  168. package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
  169. package/dist/plugins/rsc-client-shim-excludes.js +1 -0
  170. package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
  171. package/dist/plugins/sass.d.ts +7 -8
  172. package/dist/plugins/sass.js +7 -4
  173. package/dist/plugins/server-externals-manifest.d.ts +2 -3
  174. package/dist/plugins/strip-server-exports.d.ts +5 -6
  175. package/dist/plugins/strip-server-exports.js +1 -1
  176. package/dist/plugins/styled-jsx.d.ts +2 -3
  177. package/dist/plugins/styled-jsx.js +7 -7
  178. package/dist/plugins/transform-cache.d.ts +2 -3
  179. package/dist/plugins/transform-result.d.ts +3 -4
  180. package/dist/plugins/transitive-externals.d.ts +2 -3
  181. package/dist/plugins/typeof-window.d.ts +6 -7
  182. package/dist/plugins/typeof-window.js +30 -31
  183. package/dist/plugins/use-cache-callable.d.ts +2 -5
  184. package/dist/plugins/use-cache-callable.js +43 -22
  185. package/dist/plugins/wasm-module-import.d.ts +2 -3
  186. package/dist/plugins/worker-image-imports.d.ts +2 -3
  187. package/dist/plugins/worker-image-imports.js +6 -8
  188. package/dist/routing/app-route-graph.d.ts +19 -19
  189. package/dist/routing/app-route-graph.js +3 -2
  190. package/dist/routing/app-router.d.ts +19 -6
  191. package/dist/routing/app-router.js +24 -2
  192. package/dist/routing/file-matcher.d.ts +9 -10
  193. package/dist/routing/pages-router.d.ts +6 -6
  194. package/dist/routing/pages-router.js +1 -1
  195. package/dist/routing/route-matching.d.ts +4 -5
  196. package/dist/routing/route-matching.js +4 -2
  197. package/dist/routing/route-pattern.d.ts +13 -14
  198. package/dist/routing/route-trie.d.ts +5 -6
  199. package/dist/routing/route-validation.d.ts +3 -4
  200. package/dist/routing/route-validation.js +12 -11
  201. package/dist/routing/utils.d.ts +13 -14
  202. package/dist/server/accept-encoding.d.ts +9 -10
  203. package/dist/server/api-handler.d.ts +2 -3
  204. package/dist/server/api-handler.js +9 -6
  205. package/dist/server/app-action-forwarding.d.ts +3 -4
  206. package/dist/server/app-action-forwarding.js +1 -1
  207. package/dist/server/app-action-request.d.ts +2 -3
  208. package/dist/server/app-bfcache-id.d.ts +3 -4
  209. package/dist/server/app-bfcache-identity.d.ts +8 -9
  210. package/dist/server/app-browser-action-result.d.ts +15 -16
  211. package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
  212. package/dist/server/app-browser-entry.js +87 -34
  213. package/dist/server/app-browser-error.d.ts +5 -6
  214. package/dist/server/app-browser-error.js +9 -3
  215. package/dist/server/app-browser-history-controller.d.ts +4 -5
  216. package/dist/server/app-browser-hydration.d.ts +16 -6
  217. package/dist/server/app-browser-hydration.js +14 -1
  218. package/dist/server/app-browser-interception-context.d.ts +3 -4
  219. package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
  220. package/dist/server/app-browser-navigation-abort.d.ts +3 -4
  221. package/dist/server/app-browser-navigation-controller.d.ts +8 -8
  222. package/dist/server/app-browser-navigation-controller.js +8 -4
  223. package/dist/server/app-browser-navigation-response.d.ts +2 -3
  224. package/dist/server/app-browser-popstate.d.ts +4 -5
  225. package/dist/server/app-browser-prefetch-response.d.ts +5 -6
  226. package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
  227. package/dist/server/app-browser-server-action-client.d.ts +7 -6
  228. package/dist/server/app-browser-server-action-client.js +9 -5
  229. package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
  230. package/dist/server/app-browser-state.d.ts +17 -17
  231. package/dist/server/app-browser-state.js +6 -2
  232. package/dist/server/app-browser-stream.d.ts +4 -5
  233. package/dist/server/app-browser-stream.js +8 -6
  234. package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
  235. package/dist/server/app-browser-visible-commit.d.ts +6 -7
  236. package/dist/server/app-client-reference-preloader.d.ts +2 -3
  237. package/dist/server/app-elements-wire-key.d.ts +25 -0
  238. package/dist/server/app-elements-wire-key.js +69 -0
  239. package/dist/server/app-elements-wire.d.ts +34 -53
  240. package/dist/server/app-elements-wire.js +4 -75
  241. package/dist/server/app-elements.d.ts +5 -5
  242. package/dist/server/app-elements.js +1 -1
  243. package/dist/server/app-fallback-renderer.d.ts +4 -4
  244. package/dist/server/app-fallback-renderer.js +6 -6
  245. package/dist/server/app-fetch-tracing.d.ts +15 -0
  246. package/dist/server/app-fetch-tracing.js +38 -0
  247. package/dist/server/app-history-state.d.ts +26 -27
  248. package/dist/server/app-history-state.js +19 -11
  249. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  250. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  251. package/dist/server/app-inline-css-client.d.ts +3 -4
  252. package/dist/server/app-interception-context-header.d.ts +2 -3
  253. package/dist/server/app-layout-param-observation.d.ts +7 -8
  254. package/dist/server/app-metadata-tracing.d.ts +12 -0
  255. package/dist/server/app-metadata-tracing.js +17 -0
  256. package/dist/server/app-middleware.d.ts +7 -7
  257. package/dist/server/app-middleware.js +2 -3
  258. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  259. package/dist/server/app-mounted-slots-header.js +2 -2
  260. package/dist/server/app-optimistic-routing.d.ts +10 -11
  261. package/dist/server/app-optimistic-routing.js +3 -2
  262. package/dist/server/app-page-boundary-render.d.ts +6 -6
  263. package/dist/server/app-page-boundary-render.js +10 -4
  264. package/dist/server/app-page-boundary.d.ts +9 -10
  265. package/dist/server/app-page-boundary.js +1 -1
  266. package/dist/server/app-page-cache-finalizer.d.ts +18 -9
  267. package/dist/server/app-page-cache-finalizer.js +51 -16
  268. package/dist/server/app-page-cache-render.d.ts +8 -5
  269. package/dist/server/app-page-cache-render.js +22 -5
  270. package/dist/server/app-page-cache.d.ts +28 -9
  271. package/dist/server/app-page-cache.js +95 -24
  272. package/dist/server/app-page-dispatch.d.ts +34 -12
  273. package/dist/server/app-page-dispatch.js +181 -64
  274. package/dist/server/app-page-element-builder.d.ts +13 -11
  275. package/dist/server/app-page-element-builder.js +104 -61
  276. package/dist/server/app-page-execution.d.ts +14 -14
  277. package/dist/server/app-page-execution.js +11 -7
  278. package/dist/server/app-page-head.d.ts +19 -16
  279. package/dist/server/app-page-head.js +25 -25
  280. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  281. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  282. package/dist/server/app-page-method.d.ts +5 -11
  283. package/dist/server/app-page-method.js +2 -9
  284. package/dist/server/app-page-params.d.ts +5 -6
  285. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  286. package/dist/server/app-page-probe.d.ts +5 -6
  287. package/dist/server/app-page-probe.js +5 -4
  288. package/dist/server/app-page-render-identity.d.ts +4 -5
  289. package/dist/server/app-page-render-observation.d.ts +8 -9
  290. package/dist/server/app-page-render-observation.js +1 -1
  291. package/dist/server/app-page-render.d.ts +41 -6
  292. package/dist/server/app-page-render.js +171 -25
  293. package/dist/server/app-page-request.d.ts +10 -9
  294. package/dist/server/app-page-request.js +16 -12
  295. package/dist/server/app-page-response.d.ts +20 -9
  296. package/dist/server/app-page-response.js +30 -12
  297. package/dist/server/app-page-route-wiring.d.ts +15 -15
  298. package/dist/server/app-page-route-wiring.js +31 -24
  299. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  300. package/dist/server/app-page-search-params-observation.js +42 -6
  301. package/dist/server/app-page-segment-plan.d.ts +2 -3
  302. package/dist/server/app-page-segment-state.d.ts +11 -12
  303. package/dist/server/app-page-stream.d.ts +27 -11
  304. package/dist/server/app-page-stream.js +34 -6
  305. package/dist/server/app-page-tracing.d.ts +33 -0
  306. package/dist/server/app-page-tracing.js +49 -0
  307. package/dist/server/app-pages-bridge.d.ts +6 -6
  308. package/dist/server/app-pages-bridge.js +17 -4
  309. package/dist/server/app-post-middleware-context.d.ts +2 -3
  310. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  311. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  312. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  313. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  314. package/dist/server/app-prerender-endpoints.js +3 -1
  315. package/dist/server/app-prerender-static-params.d.ts +15 -7
  316. package/dist/server/app-prerender-static-params.js +24 -9
  317. package/dist/server/app-render-dependency.d.ts +14 -13
  318. package/dist/server/app-render-dependency.js +5 -1
  319. package/dist/server/app-request-context.d.ts +3 -4
  320. package/dist/server/app-request-stage-context.d.ts +5 -0
  321. package/dist/server/app-request-stage-context.js +11 -0
  322. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  323. package/dist/server/app-request-stage-dispatch.js +54 -0
  324. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  325. package/dist/server/app-request-stage-independent-entry.js +115 -0
  326. package/dist/server/app-response-header-provenance.d.ts +13 -7
  327. package/dist/server/app-response-header-provenance.js +34 -1
  328. package/dist/server/app-response-stage-entry.d.ts +9 -0
  329. package/dist/server/app-response-stage-entry.js +87 -0
  330. package/dist/server/app-route-handler-cache.d.ts +2 -3
  331. package/dist/server/app-route-handler-cache.js +46 -34
  332. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  333. package/dist/server/app-route-handler-dispatch.js +68 -54
  334. package/dist/server/app-route-handler-execution.d.ts +17 -13
  335. package/dist/server/app-route-handler-execution.js +69 -18
  336. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  337. package/dist/server/app-route-handler-middleware-context.js +15 -0
  338. package/dist/server/app-route-handler-policy.d.ts +11 -11
  339. package/dist/server/app-route-handler-response.d.ts +9 -10
  340. package/dist/server/app-route-handler-response.js +2 -0
  341. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  342. package/dist/server/app-route-handler-runtime.js +20 -16
  343. package/dist/server/app-route-module-loader.d.ts +6 -7
  344. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  345. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  346. package/dist/server/app-route-tree-prefetch.js +2 -1
  347. package/dist/server/app-router-entry.d.ts +2 -0
  348. package/dist/server/app-router-entry.js +28 -8
  349. package/dist/server/app-rsc-cache-busting.d.ts +34 -27
  350. package/dist/server/app-rsc-cache-busting.js +14 -2
  351. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  352. package/dist/server/app-rsc-combined-handler.js +11 -0
  353. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  354. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  355. package/dist/server/app-rsc-error-handler.js +15 -6
  356. package/dist/server/app-rsc-errors.d.ts +12 -9
  357. package/dist/server/app-rsc-errors.js +15 -13
  358. package/dist/server/app-rsc-handler.d.ts +31 -6
  359. package/dist/server/app-rsc-handler.js +411 -61
  360. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  361. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  362. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  363. package/dist/server/app-rsc-request-normalization.js +2 -1
  364. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  365. package/dist/server/app-rsc-response-finalizer.js +6 -6
  366. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  367. package/dist/server/app-rsc-response-stage.js +251 -0
  368. package/dist/server/app-rsc-route-matching.d.ts +3 -4
  369. package/dist/server/app-rsc-route-matching.js +3 -2
  370. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  371. package/dist/server/app-rsc-vary.d.ts +16 -0
  372. package/dist/server/app-rsc-vary.js +31 -0
  373. package/dist/server/app-segment-config.d.ts +119 -7
  374. package/dist/server/app-segment-config.js +242 -2
  375. package/dist/server/app-server-action-execution.d.ts +16 -12
  376. package/dist/server/app-server-action-execution.js +86 -33
  377. package/dist/server/app-ssr-entry.d.ts +14 -4
  378. package/dist/server/app-ssr-entry.js +61 -14
  379. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  380. package/dist/server/app-ssr-error-meta.js +2 -1
  381. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  382. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  383. package/dist/server/app-ssr-search-params-gate.js +54 -0
  384. package/dist/server/app-ssr-stream.d.ts +13 -9
  385. package/dist/server/app-ssr-stream.js +33 -7
  386. package/dist/server/app-static-generation.d.ts +4 -5
  387. package/dist/server/app-visited-response-cache.d.ts +11 -12
  388. package/dist/server/app-visited-response-cache.js +2 -2
  389. package/dist/server/app-worker-stages.d.ts +112 -0
  390. package/dist/server/app-worker-stages.js +105 -0
  391. package/dist/server/artifact-compatibility.d.ts +11 -12
  392. package/dist/server/before-interactive-head.d.ts +2 -3
  393. package/dist/server/bfcache-identity.d.ts +7 -8
  394. package/dist/server/cache-control.d.ts +35 -13
  395. package/dist/server/cache-control.js +71 -5
  396. package/dist/server/cache-headers.d.ts +3 -4
  397. package/dist/server/cache-proof.d.ts +75 -70
  398. package/dist/server/cache-proof.js +9 -1
  399. package/dist/server/cacheability-limits.d.ts +4 -5
  400. package/dist/server/cacheability-limits.js +2 -2
  401. package/dist/server/cacheability-manifest.d.ts +42 -16
  402. package/dist/server/cacheability-manifest.js +60 -10
  403. package/dist/server/cacheability-request.d.ts +37 -8
  404. package/dist/server/cacheability-request.js +159 -57
  405. package/dist/server/client-reuse-manifest.d.ts +17 -18
  406. package/dist/server/client-reuse-manifest.js +2 -2
  407. package/dist/server/client-trace-metadata.d.ts +9 -6
  408. package/dist/server/client-trace-metadata.js +27 -15
  409. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  410. package/dist/server/cloudflare-workers-tracing.js +8 -0
  411. package/dist/server/config-headers.d.ts +19 -5
  412. package/dist/server/config-headers.js +25 -11
  413. package/dist/server/cookie-utils.d.ts +2 -3
  414. package/dist/server/csp.d.ts +5 -6
  415. package/dist/server/default-global-error-module.d.ts +2 -3
  416. package/dist/server/default-global-not-found-module.d.ts +2 -3
  417. package/dist/server/default-not-found-module.d.ts +2 -3
  418. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  419. package/dist/server/defer-until-stream-consumed.js +2 -1
  420. package/dist/server/dev-initial-server-error.d.ts +3 -4
  421. package/dist/server/dev-initial-server-error.js +2 -1
  422. package/dist/server/dev-lockfile.d.ts +7 -8
  423. package/dist/server/dev-lockfile.js +4 -1
  424. package/dist/server/dev-module-runner.d.ts +2 -3
  425. package/dist/server/dev-origin-check.d.ts +5 -6
  426. package/dist/server/dev-route-files.d.ts +2 -3
  427. package/dist/server/dev-server.d.ts +4 -5
  428. package/dist/server/dev-server.js +130 -61
  429. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  430. package/dist/server/dev-stack-sourcemap.js +1 -1
  431. package/dist/server/document-initial-head.d.ts +3 -4
  432. package/dist/server/edge-api-runtime.d.ts +4 -5
  433. package/dist/server/fetch-handler.d.ts +3 -2
  434. package/dist/server/fetch-handler.js +3 -18
  435. package/dist/server/file-based-metadata.d.ts +2 -3
  436. package/dist/server/framework-tracer.d.ts +46 -0
  437. package/dist/server/framework-tracer.js +125 -0
  438. package/dist/server/fully-buffered-response.d.ts +11 -0
  439. package/dist/server/fully-buffered-response.js +19 -0
  440. package/dist/server/headers.d.ts +54 -61
  441. package/dist/server/headers.js +18 -31
  442. package/dist/server/html.d.ts +6 -27
  443. package/dist/server/html.js +16 -1
  444. package/dist/server/http-conditional.d.ts +5 -6
  445. package/dist/server/http-date.d.ts +2 -3
  446. package/dist/server/http-error-responses.d.ts +9 -10
  447. package/dist/server/http-range.d.ts +4 -5
  448. package/dist/server/hybrid-route-priority.d.ts +4 -5
  449. package/dist/server/image-optimization.d.ts +20 -21
  450. package/dist/server/implicit-tags.d.ts +3 -4
  451. package/dist/server/instrumentation-runtime.d.ts +17 -21
  452. package/dist/server/instrumentation-runtime.js +26 -8
  453. package/dist/server/instrumentation.d.ts +26 -30
  454. package/dist/server/instrumentation.js +18 -23
  455. package/dist/server/isr-cache.d.ts +28 -27
  456. package/dist/server/isr-cache.js +18 -70
  457. package/dist/server/isr-decision.d.ts +4 -4
  458. package/dist/server/metadata-route-build-data.d.ts +4 -5
  459. package/dist/server/metadata-route-cache-policy.d.ts +2 -3
  460. package/dist/server/metadata-route-response.d.ts +7 -7
  461. package/dist/server/metadata-route-response.js +68 -2
  462. package/dist/server/metadata-routes.d.ts +18 -19
  463. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  464. package/dist/server/middleware-matcher.d.ts +6 -7
  465. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  466. package/dist/server/middleware-path-to-regexp.js +11 -9
  467. package/dist/server/middleware-response-headers.d.ts +3 -4
  468. package/dist/server/middleware-runtime.d.ts +7 -8
  469. package/dist/server/middleware-runtime.js +36 -7
  470. package/dist/server/middleware.d.ts +5 -5
  471. package/dist/server/multi-stage.d.ts +141 -0
  472. package/dist/server/multi-stage.js +8 -0
  473. package/dist/server/navigation-planner.d.ts +26 -26
  474. package/dist/server/navigation-trace.d.ts +11 -12
  475. package/dist/server/next-error-digest.d.ts +4 -5
  476. package/dist/server/normalize-path.d.ts +5 -6
  477. package/dist/server/open-redirect.d.ts +2 -3
  478. package/dist/server/opentelemetry-api.d.ts +59 -0
  479. package/dist/server/opentelemetry-api.js +53 -0
  480. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  481. package/dist/server/opentelemetry-tracing.js +83 -0
  482. package/dist/server/operation-token.d.ts +11 -12
  483. package/dist/server/otel-tracer-extension.d.ts +7 -9
  484. package/dist/server/otel-tracer-extension.js +37 -36
  485. package/dist/server/pages-api-route.d.ts +5 -4
  486. package/dist/server/pages-api-route.js +20 -7
  487. package/dist/server/pages-asset-tags.d.ts +6 -6
  488. package/dist/server/pages-asset-tags.js +37 -2
  489. package/dist/server/pages-body-parser-config.d.ts +4 -5
  490. package/dist/server/pages-body-parser-config.js +4 -4
  491. package/dist/server/pages-client-assets.d.ts +11 -5
  492. package/dist/server/pages-data-route.d.ts +11 -12
  493. package/dist/server/pages-data-route.js +1 -1
  494. package/dist/server/pages-default-404.d.ts +3 -4
  495. package/dist/server/pages-dev-hydration.d.ts +9 -4
  496. package/dist/server/pages-dev-hydration.js +19 -7
  497. package/dist/server/pages-dev-module-url.d.ts +3 -4
  498. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  499. package/dist/server/pages-document-asset-props.d.ts +6 -7
  500. package/dist/server/pages-document-initial-props.d.ts +5 -5
  501. package/dist/server/pages-document-initial-props.js +4 -2
  502. package/dist/server/pages-execution-tracing.d.ts +40 -0
  503. package/dist/server/pages-execution-tracing.js +80 -0
  504. package/dist/server/pages-get-initial-props.d.ts +9 -10
  505. package/dist/server/pages-i18n.d.ts +8 -8
  506. package/dist/server/pages-media-type.d.ts +4 -5
  507. package/dist/server/pages-node-compat.d.ts +11 -10
  508. package/dist/server/pages-node-compat.js +12 -4
  509. package/dist/server/pages-page-data.d.ts +18 -19
  510. package/dist/server/pages-page-data.js +11 -10
  511. package/dist/server/pages-page-handler.d.ts +7 -6
  512. package/dist/server/pages-page-handler.js +77 -39
  513. package/dist/server/pages-page-method.d.ts +2 -3
  514. package/dist/server/pages-page-response.d.ts +14 -10
  515. package/dist/server/pages-page-response.js +49 -31
  516. package/dist/server/pages-preview.d.ts +10 -11
  517. package/dist/server/pages-readiness.d.ts +2 -3
  518. package/dist/server/pages-request-pipeline.d.ts +14 -12
  519. package/dist/server/pages-request-pipeline.js +60 -30
  520. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  521. package/dist/server/pages-request-stage-entry.js +314 -0
  522. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  523. package/dist/server/pages-response-stage-entry.js +106 -0
  524. package/dist/server/pages-response-stage.d.ts +31 -0
  525. package/dist/server/pages-response-stage.js +49 -0
  526. package/dist/server/pages-revalidate.d.ts +3 -4
  527. package/dist/server/pages-revalidate.js +9 -4
  528. package/dist/server/pages-route-data-kind.d.ts +18 -0
  529. package/dist/server/pages-route-data-kind.js +11 -0
  530. package/dist/server/pages-router-entry.d.ts +1 -25
  531. package/dist/server/pages-router-entry.js +35 -148
  532. package/dist/server/pages-serializable-props.d.ts +3 -4
  533. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  534. package/dist/server/pregenerated-concrete-paths.js +12 -6
  535. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  536. package/dist/server/prerender-manifest.d.ts +11 -11
  537. package/dist/server/prerender-manifest.js +6 -3
  538. package/dist/server/prerender-route-params.d.ts +16 -9
  539. package/dist/server/prerender-route-params.js +18 -3
  540. package/dist/server/prerender-work-unit-setup.d.ts +2 -3
  541. package/dist/server/prerender-work-unit-setup.js +5 -5
  542. package/dist/server/prod-server.d.ts +12 -9
  543. package/dist/server/prod-server.js +124 -31
  544. package/dist/server/proxy-trust.d.ts +5 -6
  545. package/dist/server/request-log.d.ts +3 -4
  546. package/dist/server/request-pipeline.d.ts +16 -16
  547. package/dist/server/request-pipeline.js +7 -2
  548. package/dist/server/request-stage.d.ts +5 -0
  549. package/dist/server/request-stage.js +7 -0
  550. package/dist/server/request-tracing.d.ts +22 -0
  551. package/dist/server/request-tracing.js +180 -0
  552. package/dist/server/response-stage-cacheability.d.ts +37 -0
  553. package/dist/server/response-stage-cacheability.js +55 -0
  554. package/dist/server/response-stage-policy.d.ts +23 -0
  555. package/dist/server/response-stage-policy.js +89 -0
  556. package/dist/server/response-stage.d.ts +5 -0
  557. package/dist/server/response-stage.js +7 -0
  558. package/dist/server/response-start-tracing.d.ts +14 -0
  559. package/dist/server/response-start-tracing.js +80 -0
  560. package/dist/server/revalidation-host.d.ts +2 -3
  561. package/dist/server/revalidation-host.js +1 -1
  562. package/dist/server/revalidation-request.d.ts +8 -0
  563. package/dist/server/revalidation-request.js +37 -0
  564. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  565. package/dist/server/rsc-stream-hints.d.ts +18 -7
  566. package/dist/server/rsc-stream-hints.js +70 -35
  567. package/dist/server/seed-cache.d.ts +2 -3
  568. package/dist/server/seed-cache.js +8 -7
  569. package/dist/server/server-action-not-found.d.ts +5 -6
  570. package/dist/server/server-globals.d.ts +2 -3
  571. package/dist/server/skip-cache-proof.d.ts +4 -4
  572. package/dist/server/socket-error-backstop.d.ts +5 -6
  573. package/dist/server/socket-error-backstop.js +1 -1
  574. package/dist/server/static-file-cache.d.ts +5 -6
  575. package/dist/server/static-file-cache.js +9 -7
  576. package/dist/server/static-file-signal.d.ts +9 -6
  577. package/dist/server/static-file-signal.js +51 -2
  578. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  579. package/dist/server/streaming-metadata.d.ts +2 -3
  580. package/dist/server/tracer.d.ts +5 -0
  581. package/dist/server/tracer.js +13 -0
  582. package/dist/server/worker-prerender-discovery.d.ts +5 -6
  583. package/dist/server/worker-revalidation-context.d.ts +2 -3
  584. package/dist/server/worker-revalidation-context.js +5 -5
  585. package/dist/server/worker-stages.d.ts +43 -0
  586. package/dist/server/worker-stages.js +25 -0
  587. package/dist/server/worker-utils.d.ts +5 -6
  588. package/dist/server/worker-utils.js +2 -1
  589. package/dist/server/workers-tracing.d.ts +17 -0
  590. package/dist/server/workers-tracing.js +27 -0
  591. package/dist/shims/amp.d.ts +3 -4
  592. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  593. package/dist/shims/app-router-scroll.d.ts +4 -5
  594. package/dist/shims/app-router-scroll.js +2 -1
  595. package/dist/shims/app.d.ts +5 -6
  596. package/dist/shims/before-interactive-context.d.ts +5 -6
  597. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  598. package/dist/shims/cache-callable-runtime.js +168 -8
  599. package/dist/shims/cache-for-request.d.ts +2 -3
  600. package/dist/shims/cache-handler.d.ts +33 -20
  601. package/dist/shims/cache-handler.js +61 -2
  602. package/dist/shims/cache-request-state.d.ts +28 -29
  603. package/dist/shims/cache-runtime.d.ts +23 -21
  604. package/dist/shims/cache-runtime.js +107 -27
  605. package/dist/shims/cache.d.ts +15 -15
  606. package/dist/shims/cache.js +15 -13
  607. package/dist/shims/cacheability-classification.d.ts +49 -28
  608. package/dist/shims/cacheability-classification.js +27 -12
  609. package/dist/shims/cdn-cache-state.d.ts +13 -0
  610. package/dist/shims/cdn-cache-state.js +23 -0
  611. package/dist/shims/cdn-cache.d.ts +50 -21
  612. package/dist/shims/cdn-cache.js +15 -38
  613. package/dist/shims/client-hook-error.d.ts +3 -4
  614. package/dist/shims/client-locale.d.ts +2 -3
  615. package/dist/shims/client-page-root.d.ts +24 -0
  616. package/dist/shims/client-page-root.js +121 -0
  617. package/dist/shims/compat-router.d.ts +2 -3
  618. package/dist/shims/config.d.ts +3 -4
  619. package/dist/shims/constants.d.ts +73 -74
  620. package/dist/shims/constants.js +1 -1
  621. package/dist/shims/default-not-found.d.ts +2 -3
  622. package/dist/shims/document.d.ts +9 -9
  623. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  624. package/dist/shims/dynamic-preload-chunks.js +17 -13
  625. package/dist/shims/dynamic.d.ts +3 -3
  626. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  627. package/dist/shims/error-boundary.d.ts +17 -18
  628. package/dist/shims/error-boundary.js +17 -11
  629. package/dist/shims/error.d.ts +4 -4
  630. package/dist/shims/error.react-server.d.ts +3 -4
  631. package/dist/shims/fetch-cache.d.ts +22 -22
  632. package/dist/shims/fetch-cache.js +42 -17
  633. package/dist/shims/font-google-base.d.ts +9 -9
  634. package/dist/shims/font-google-base.js +2 -1
  635. package/dist/shims/font-local.d.ts +3 -3
  636. package/dist/shims/font-local.js +1 -1
  637. package/dist/shims/font-utils.d.ts +14 -15
  638. package/dist/shims/form.d.ts +2 -2
  639. package/dist/shims/form.js +10 -7
  640. package/dist/shims/hash-scroll.d.ts +5 -6
  641. package/dist/shims/head-state.d.ts +4 -5
  642. package/dist/shims/head.d.ts +16 -16
  643. package/dist/shims/head.js +5 -4
  644. package/dist/shims/headers.d.ts +67 -33
  645. package/dist/shims/headers.js +93 -6
  646. package/dist/shims/i18n-context.d.ts +5 -6
  647. package/dist/shims/i18n-state.d.ts +4 -5
  648. package/dist/shims/image-config.d.ts +5 -6
  649. package/dist/shims/image-config.js +2 -0
  650. package/dist/shims/image.d.ts +5 -5
  651. package/dist/shims/image.js +12 -8
  652. package/dist/shims/internal/als-registry.d.ts +4 -5
  653. package/dist/shims/internal/api-utils.d.ts +3 -4
  654. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  655. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  656. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  657. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
  658. package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
  659. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  660. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
  661. package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
  662. package/dist/shims/internal/app-router-context.d.ts +9 -10
  663. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  664. package/dist/shims/internal/format-url-object.d.ts +7 -0
  665. package/dist/shims/internal/format-url-object.js +53 -0
  666. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  667. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  668. package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
  669. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  670. package/dist/shims/internal/interpolate-as.js +4 -2
  671. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  672. package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
  673. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  674. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  675. package/dist/shims/internal/normalize-router-href.js +41 -0
  676. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  677. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  678. package/dist/shims/internal/pages-data-target.js +32 -36
  679. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  680. package/dist/shims/internal/pages-data-url.js +2 -1
  681. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  682. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  683. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  684. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  685. package/dist/shims/internal/router-context.d.ts +2 -3
  686. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  687. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  688. package/dist/shims/internal/utils.d.ts +7 -8
  689. package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
  690. package/dist/shims/layout-segment-context.d.ts +3 -4
  691. package/dist/shims/link-prefetch.d.ts +9 -10
  692. package/dist/shims/link.d.ts +4 -4
  693. package/dist/shims/link.js +56 -116
  694. package/dist/shims/metadata.d.ts +15 -16
  695. package/dist/shims/metadata.js +40 -36
  696. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  697. package/dist/shims/navigation-context-accessors.js +19 -0
  698. package/dist/shims/navigation-context-state.d.ts +27 -18
  699. package/dist/shims/navigation-errors.d.ts +18 -19
  700. package/dist/shims/navigation-state.d.ts +6 -7
  701. package/dist/shims/navigation.d.ts +80 -68
  702. package/dist/shims/navigation.js +24 -16
  703. package/dist/shims/navigation.react-server.d.ts +9 -9
  704. package/dist/shims/offline.d.ts +2 -3
  705. package/dist/shims/og.d.ts +2 -2
  706. package/dist/shims/pages-router-runtime.d.ts +4 -5
  707. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  708. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  709. package/dist/shims/request-context.d.ts +5 -6
  710. package/dist/shims/root-params.d.ts +14 -15
  711. package/dist/shims/router-state.d.ts +5 -6
  712. package/dist/shims/router-state.js +1 -1
  713. package/dist/shims/router.d.ts +22 -21
  714. package/dist/shims/router.js +339 -164
  715. package/dist/shims/script-nonce-context.d.ts +8 -6
  716. package/dist/shims/script-nonce-context.js +15 -6
  717. package/dist/shims/script.d.ts +4 -4
  718. package/dist/shims/script.js +9 -7
  719. package/dist/shims/search-params-gate.d.ts +35 -0
  720. package/dist/shims/search-params-gate.js +32 -0
  721. package/dist/shims/server.d.ts +19 -51
  722. package/dist/shims/server.js +14 -28
  723. package/dist/shims/slot.d.ts +33 -15
  724. package/dist/shims/slot.js +41 -9
  725. package/dist/shims/streamed-icons.d.ts +3 -4
  726. package/dist/shims/thenable-params.d.ts +5 -7
  727. package/dist/shims/thenable-params.js +3 -24
  728. package/dist/shims/unified-request-context.d.ts +34 -31
  729. package/dist/shims/unified-request-context.js +34 -24
  730. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  731. package/dist/shims/url-safety.d.ts +5 -6
  732. package/dist/shims/url-utils.d.ts +12 -13
  733. package/dist/shims/use-merged-ref.d.ts +2 -3
  734. package/dist/shims/user-agent.d.ts +31 -0
  735. package/dist/shims/user-agent.js +16 -0
  736. package/dist/shims/web-vitals.d.ts +2 -2
  737. package/dist/typegen.d.ts +3 -4
  738. package/dist/utils/asset-prefix.d.ts +7 -8
  739. package/dist/utils/base-path.d.ts +5 -6
  740. package/dist/utils/built-asset-url.d.ts +2 -3
  741. package/dist/utils/built-asset-url.js +1 -1
  742. package/dist/utils/cache-control-metadata.d.ts +4 -5
  743. package/dist/utils/client-build-manifest.d.ts +6 -7
  744. package/dist/utils/client-build-manifest.js +2 -1
  745. package/dist/utils/client-entry-manifest.d.ts +6 -7
  746. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  747. package/dist/utils/client-runtime-metadata.js +18 -1
  748. package/dist/utils/commonjs-loader.d.ts +4 -5
  749. package/dist/utils/compare.d.ts +2 -3
  750. package/dist/utils/deployment-id.d.ts +6 -7
  751. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  752. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  753. package/dist/utils/domain-locale.d.ts +7 -8
  754. package/dist/utils/encode-cache-tag.d.ts +3 -4
  755. package/dist/utils/error-cause.d.ts +2 -3
  756. package/dist/utils/external-url.d.ts +2 -3
  757. package/dist/utils/has-trailing-comma.d.ts +3 -4
  758. package/dist/utils/hash.d.ts +3 -4
  759. package/dist/utils/html-limited-bots.d.ts +3 -4
  760. package/dist/utils/lazy-chunks.d.ts +8 -9
  761. package/dist/utils/lazy-chunks.js +4 -4
  762. package/dist/utils/manifest-paths.d.ts +5 -6
  763. package/dist/utils/mdx-scan.d.ts +11 -4
  764. package/dist/utils/mdx-scan.js +27 -1
  765. package/dist/utils/middleware-request-headers.d.ts +7 -6
  766. package/dist/utils/middleware-request-headers.js +6 -1
  767. package/dist/utils/navigation-signal.d.ts +3 -3
  768. package/dist/utils/navigation-signal.js +16 -1
  769. package/dist/utils/number.d.ts +2 -3
  770. package/dist/utils/package-name.d.ts +3 -4
  771. package/dist/utils/parse-cookie.d.ts +4 -5
  772. package/dist/utils/path.d.ts +8 -9
  773. package/dist/utils/plugin-options.d.ts +2 -3
  774. package/dist/utils/precompressed-variant.d.ts +3 -4
  775. package/dist/utils/prerender-output-paths.d.ts +4 -5
  776. package/dist/utils/project.d.ts +19 -30
  777. package/dist/utils/project.js +20 -29
  778. package/dist/utils/promise.d.ts +2 -3
  779. package/dist/utils/protocol-headers.d.ts +14 -15
  780. package/dist/utils/public-file-path.d.ts +2 -3
  781. package/dist/utils/public-routes.d.ts +2 -3
  782. package/dist/utils/query.d.ts +14 -9
  783. package/dist/utils/query.js +22 -1
  784. package/dist/utils/react-compiler-support.d.ts +6 -7
  785. package/dist/utils/react-version.d.ts +4 -3
  786. package/dist/utils/react-version.js +19 -1
  787. package/dist/utils/record.d.ts +2 -3
  788. package/dist/utils/redirect-digest.d.ts +3 -4
  789. package/dist/utils/regex-safety.d.ts +4 -5
  790. package/dist/utils/regex.d.ts +2 -3
  791. package/dist/utils/safe-json-file.d.ts +2 -3
  792. package/dist/utils/sorted-array.d.ts +2 -3
  793. package/dist/utils/text-stream.d.ts +3 -4
  794. package/dist/utils/vinext-root.d.ts +2 -3
  795. package/dist/utils/virtual-module.d.ts +3 -4
  796. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  797. package/dist/utils/vite-cli-invocation.js +144 -0
  798. package/dist/utils/vite-version.d.ts +5 -6
  799. package/next-package.json +4 -0
  800. package/package.json +47 -6
@@ -1,24 +1,27 @@
1
1
  import path, { toSlash } from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
2
2
  import { findDir } from "../utils/project.js";
3
- import { apiRouter, matchRoute, pagesRouter } from "../routing/pages-router.js";
3
+ import { BLOCKED_PAGES, PHASE_PRODUCTION_BUILD } from "../shims/constants.js";
4
4
  import { VINEXT_PRERENDER_SECRET_HEADER } from "../utils/protocol-headers.js";
5
- import "../server/headers.js";
5
+ import { isExternalUrl } from "../utils/external-url.js";
6
6
  import { matchHeaders, matchesRewriteSource } from "../config/config-matchers.js";
7
- import { extractLocaleFromUrl, normalizeDefaultLocalePathname } from "../server/pages-i18n.js";
8
- import { classifyAppRoute, classifyAppRouteHandler, classifyPagesRoute, extractExportConstString, getAppRouteRenderEntryPath } from "./report.js";
7
+ import { loadNextConfig, resolveNextConfig } from "../config/next-config.js";
9
8
  import { appRouteHasMainTreeLoadingBoundary, appRouter, matchAppRoute } from "../routing/app-router.js";
9
+ import { apiRouter, matchRoute, pagesRouter } from "../routing/pages-router.js";
10
+ import "../server/headers.js";
11
+ import { matchesMiddlewarePathname } from "../server/middleware-matcher.js";
12
+ import { extractLocaleFromUrl, normalizeDefaultLocalePathname } from "../server/pages-i18n.js";
13
+ import { classifyAppRoute, classifyAppRouteHandler, classifyPagesRoute, extractExportConstNumber, extractExportConstString, extractMiddlewareMatcherConfig, getAppRouteRenderEntryPath, hasRuntimeExportedName } from "./report.js";
10
14
  import { normalizeStaticPathname, normalizeStaticPathsEntry } from "../routing/route-pattern.js";
11
15
  import { buildPagesDataHref } from "../shims/internal/pages-data-url.js";
12
16
  import { normalizePathTrailingSlash } from "../shims/url-utils.js";
13
- import { BLOCKED_PAGES, PHASE_PRODUCTION_BUILD } from "../shims/constants.js";
14
- import { loadNextConfig, resolveNextConfig } from "../config/next-config.js";
15
- import { CACHEABILITY_POLICY_HEADERS } from "../shims/cacheability-classification.js";
16
17
  import { pagesRouteHasPriorityOverAppRoute } from "../server/hybrid-route-priority.js";
17
18
  import { readPrerenderSecret } from "./server-manifest.js";
19
+ import { loadMdxEsmReader } from "../utils/mdx-scan.js";
18
20
  import { startProdServer } from "../server/prod-server.js";
19
21
  import { enterPrerenderPhase } from "./prerender-phase.js";
20
- import { buildUrlFromParams, resolveParentParams } from "./prerender.js";
21
- import { resolveAppPageDynamicConfig } from "../server/app-segment-config.js";
22
+ import { buildUrlFromParams, layoutOnlyParamSets, resolveParentParams, routeStaticParamSets, validateDiscoveredParams } from "./prerender.js";
23
+ import { collectAppPageStaticGenerationRuntimes, hasAppPageGenerateStaticParamsAtLastDynamicSegment, isAppPageStaticEligible, isEdgeRuntime, resolveAppPageDynamicConfig, resolveAppPageSegmentConfig, resolveAppPageStaticGenerationRuntime } from "../server/app-segment-config.js";
24
+ import { resolveBuiltRscEntryPath } from "./server-entry.js";
22
25
  import fs from "node:fs";
23
26
  //#region src/build/prerender-paths.ts
24
27
  const PRERENDER_PATH_DISCOVERY_ENV = "__VINEXT_PRERENDER_PATH_DISCOVERY";
@@ -62,7 +65,7 @@ function addPath(paths, seen, pathname) {
62
65
  }
63
66
  function throwDiscoveryFailure(route, error) {
64
67
  const message = error instanceof Error ? error.message : String(error);
65
- if (/cloudflare:|ERR_UNSUPPORTED_ESM_URL_SCHEME/i.test(message)) throw new Error(`Failed to discover warmup path(s) for ${route}: Cloudflare runtime bindings cannot execute in the local Node prerender server. Use \`vinext-cloudflare deploy --experimental-warm-cdn-cache\` so path discovery runs against the staged Worker version.`, { cause: error });
68
+ if (/cloudflare:|ERR_UNSUPPORTED_ESM_URL_SCHEME/i.test(message)) throw new Error(`Failed to discover warmup path(s) for ${route}: Cloudflare runtime bindings cannot execute in the local Node prerender server. Use \`vinext-cloudflare deploy --warm-cache\` so path discovery runs against the staged Worker version.`, { cause: error });
66
69
  throw new Error(`Failed to discover warmup path(s) for ${route}: ${message}`, { cause: error });
67
70
  }
68
71
  function validatePagesStaticPathsResult(value, route) {
@@ -85,28 +88,6 @@ function hasUnsafeRawUrlPathCharacter(value) {
85
88
  }
86
89
  return false;
87
90
  }
88
- function getDynamicPatternParams(pattern) {
89
- return pattern.split("/").filter((segment) => segment.startsWith(":")).map((segment) => ({
90
- name: segment.slice(1, segment.endsWith("+") || segment.endsWith("*") ? -1 : void 0),
91
- optional: segment.endsWith("*"),
92
- repeat: segment.endsWith("+") || segment.endsWith("*")
93
- }));
94
- }
95
- function validateDiscoveredParams(value, pattern, source) {
96
- if (!value || typeof value !== "object" || Array.isArray(value)) throw new Error(`${source} must return parameter objects for ${pattern}.`);
97
- const params = { ...value };
98
- for (const { name, optional, repeat } of getDynamicPatternParams(pattern)) {
99
- const hasValue = Object.prototype.hasOwnProperty.call(params, name);
100
- let paramValue = params[name];
101
- if (optional && hasValue && (paramValue === null || paramValue === void 0 || paramValue === false)) {
102
- paramValue = [];
103
- params[name] = paramValue;
104
- }
105
- if (!(repeat ? Array.isArray(paramValue) && paramValue.every((entry) => typeof entry === "string") : typeof paramValue === "string")) throw new Error(`Parameter ${name} from ${source} for ${pattern} must be ${repeat ? "an array of strings" : "a string"}.`);
106
- if ((Array.isArray(paramValue) ? paramValue : [paramValue]).some((entry) => entry === "." || entry === "..")) throw new Error(`Parameter ${name} from ${source} for ${pattern} must not contain dot path segments.`);
107
- }
108
- return params;
109
- }
110
91
  function validatePagesStaticPathsEntry(entry, pattern) {
111
92
  if (typeof entry === "string") {
112
93
  if (!entry.startsWith("/") || entry.includes("//") || entry.includes("?") || entry.includes("#") || hasUnsafeRawUrlPathCharacter(entry)) throw new Error(`The provided path \`${entry}\` from getStaticPaths does not match the route pattern \`${pattern}\`.`);
@@ -246,6 +227,8 @@ async function collectPagesPaths(options) {
246
227
  const dataPaths = [];
247
228
  const seenDataPaths = /* @__PURE__ */ new Set();
248
229
  const fallbackRoutePatterns = [];
230
+ const nonDynamicPaths = [];
231
+ const seenNonDynamicPaths = /* @__PURE__ */ new Set();
249
232
  for (const route of pageRoutes) {
250
233
  if (apiPatterns.has(route.pattern)) continue;
251
234
  if (BLOCKED_PAGES.includes(route.pattern)) continue;
@@ -256,14 +239,17 @@ async function collectPagesPaths(options) {
256
239
  if (options.i18n) for (const locale of options.i18n.locales) {
257
240
  const pathname = localizePagesPath(route.pattern, locale, options.i18n);
258
241
  addPath(paths, seen, pathname);
242
+ addPath(nonDynamicPaths, seenNonDynamicPaths, pathname);
259
243
  if (hasStaticProps || hasServerSideProps) addPath(dataPaths, seenDataPaths, pathname);
260
244
  }
261
245
  else {
262
246
  addPath(paths, seen, route.pattern);
247
+ addPath(nonDynamicPaths, seenNonDynamicPaths, route.pattern);
263
248
  if (hasStaticProps || hasServerSideProps) addPath(dataPaths, seenDataPaths, route.pattern);
264
249
  }
265
250
  continue;
266
251
  }
252
+ if (!options.enumerateDynamicPaths) continue;
267
253
  if (type === "ssr") continue;
268
254
  if (!options.baseUrl) continue;
269
255
  try {
@@ -301,6 +287,7 @@ async function collectPagesPaths(options) {
301
287
  return {
302
288
  dataPaths,
303
289
  fallbackRoutePatterns,
290
+ nonDynamicPaths,
304
291
  paths
305
292
  };
306
293
  }
@@ -312,15 +299,31 @@ async function excludePagesApiWarmPaths(options) {
312
299
  return matchRoute(pagesPathname, apiRoutes) === null;
313
300
  });
314
301
  }
315
- async function resolvePagesWarmRoutePatterns(options) {
302
+ async function resolvePagesWarmRouteMetadata(options) {
316
303
  const pageRoutes = await pagesRouter(options.pagesDir, options.pageExtensions);
317
- return Object.fromEntries(options.paths.flatMap((pathname) => {
318
- const match = matchRoute(options.i18n ? extractLocaleFromUrl(pathname, options.i18n).url : pathname, pageRoutes);
319
- return match ? [[pathname, {
304
+ const classifications = /* @__PURE__ */ new Map();
305
+ const dataPaths = [];
306
+ const routePatterns = {};
307
+ for (const pathname of options.paths) {
308
+ const pagesPathname = options.i18n ? extractLocaleFromUrl(pathname, options.i18n).url : pathname;
309
+ const match = matchRoute(pagesPathname, pageRoutes);
310
+ if (!match) continue;
311
+ routePatterns[pathname] = {
320
312
  kind: "pages-page",
321
313
  pattern: match.route.pattern
322
- }]] : [];
323
- }));
314
+ };
315
+ let classification = classifications.get(match.route.filePath);
316
+ if (!classification) {
317
+ classification = classifyPagesRoute(match.route.filePath);
318
+ classifications.set(match.route.filePath, classification);
319
+ }
320
+ const { hasServerSideProps, hasStaticProps } = classification;
321
+ if (hasServerSideProps || hasStaticProps) dataPaths.push(pathname);
322
+ }
323
+ return {
324
+ dataPaths,
325
+ routePatterns
326
+ };
324
327
  }
325
328
  function localizePagesPath(pathname, locale, i18n) {
326
329
  if (!i18n || !locale || locale === i18n.defaultLocale) return pathname;
@@ -352,27 +355,110 @@ function extractPagesStaticPathLocale(url, i18n) {
352
355
  url: `${rest || "/"}${query}`
353
356
  };
354
357
  }
358
+ /**
359
+ * Whether Next.js classifies an App page route as static or SSG, read from its
360
+ * layout, page and parallel-slot sources with the helpers dispatch applies to
361
+ * the loaded modules. Only such a route has listed paths.
362
+ *
363
+ * An MDX source read without the MDX parser has unknown exports, so its route
364
+ * is "unreadable". Its paths are still listed: the built runtime reads the real
365
+ * exports and never stores a route that isn't static, while an unlisted path's
366
+ * render failure would be dropped instead of failing. But no probe renders an
367
+ * unreadable route's fallback, so it never certifies one.
368
+ */
369
+ function classifyAppPageRouteStaticEligibility(route, readMdxEsm) {
370
+ let unreadable = false;
371
+ const readSegmentConfig = (filePath) => {
372
+ if (!filePath) return null;
373
+ let code = fs.readFileSync(filePath, "utf8");
374
+ if (filePath.toLowerCase().endsWith(".mdx")) {
375
+ let esm = null;
376
+ try {
377
+ esm = readMdxEsm?.(code) ?? null;
378
+ } catch {}
379
+ unreadable ||= esm === null;
380
+ code = esm ?? "";
381
+ }
382
+ const dynamic = extractExportConstString(code, "dynamic");
383
+ const revalidate = extractExportConstNumber(code, "revalidate");
384
+ const runtime = extractExportConstString(code, "runtime");
385
+ return {
386
+ ...dynamic === null ? {} : { dynamic },
387
+ ...hasRuntimeExportedName(code, "generateStaticParams") ? { generateStaticParams() {} } : {},
388
+ ...revalidate === null ? {} : { revalidate },
389
+ ...runtime === null ? {} : { runtime }
390
+ };
391
+ };
392
+ const layouts = route.layouts.map(readSegmentConfig);
393
+ const page = readSegmentConfig(route.pagePath);
394
+ const parallelBranches = route.parallelSlots.map((slot) => ({
395
+ configLayouts: (slot.configLayoutPaths ?? []).map(readSegmentConfig),
396
+ configLayoutTreePositions: slot.configLayoutTreePositions ?? [],
397
+ isDefault: !slot.pagePath,
398
+ layout: readSegmentConfig(slot.layoutPath),
399
+ name: slot.name,
400
+ ownerTreePosition: slot.ownerTreePosition ?? null,
401
+ page: readSegmentConfig(slot.pagePath ?? slot.defaultPath),
402
+ routeSegments: slot.routeSegments
403
+ }));
404
+ if (unreadable) return "unreadable";
405
+ const segmentConfig = resolveAppPageSegmentConfig({
406
+ layouts,
407
+ layoutTreePositions: route.layoutTreePositions,
408
+ page,
409
+ parallelBranches,
410
+ routeSegments: route.routeSegments
411
+ });
412
+ return isAppPageStaticEligible({
413
+ dynamicConfig: segmentConfig.dynamicConfig,
414
+ hasGenerateStaticParams: hasAppPageGenerateStaticParamsAtLastDynamicSegment({
415
+ childrenSlot: route.childrenSlot ?? null,
416
+ layouts,
417
+ layoutTreePositions: route.layoutTreePositions,
418
+ page,
419
+ parallelBranches,
420
+ routeSegments: route.routeSegments
421
+ }),
422
+ isDynamicRoute: route.isDynamic,
423
+ isStaticGenerationEdgeRuntime: isEdgeRuntime(resolveAppPageStaticGenerationRuntime(collectAppPageStaticGenerationRuntimes({
424
+ childrenSlot: route.childrenSlot ?? null,
425
+ layouts,
426
+ layoutTreePositions: route.layoutTreePositions,
427
+ page,
428
+ parallelBranches,
429
+ routeSegments: route.routeSegments
430
+ }))),
431
+ revalidateSeconds: segmentConfig.revalidateSeconds
432
+ }) ? "eligible" : "ineligible";
433
+ }
434
+ /** Keys a path an App page route lists by the route and the pathname together. */
435
+ function appPageListingKey(routePattern, pathname) {
436
+ return `${routePattern}\0${pathname}`;
437
+ }
355
438
  async function collectAppPaths(options) {
356
439
  const routes = await appRouter(options.appDir, options.pageExtensions);
357
440
  const paths = [];
358
441
  const seen = /* @__PURE__ */ new Set();
359
- const loadingShellPaths = [];
360
- const seenLoadingShellPaths = /* @__PURE__ */ new Set();
361
442
  const routeHandlerPaths = [];
362
443
  const seenRouteHandlerPaths = /* @__PURE__ */ new Set();
363
444
  const fallbackRoutePatterns = [];
445
+ const nonDynamicPaths = [];
446
+ const seenNonDynamicPaths = /* @__PURE__ */ new Set();
447
+ const listedRoutePaths = /* @__PURE__ */ new Set();
364
448
  const staticParamsCache = /* @__PURE__ */ new Map();
365
449
  let requireNonEmptyStaticParams = false;
366
450
  const staticParamsMap = new Proxy({}, {
367
451
  get(_target, pattern) {
368
452
  return async ({ params }) => {
369
453
  if (!options.baseUrl) return null;
370
- const cacheKey = `${pattern}\0${JSON.stringify(params)}`;
454
+ const rejectEmptyResults = requireNonEmptyStaticParams;
455
+ const cacheKey = `${pattern}\0${JSON.stringify(params)}\0${rejectEmptyResults}`;
371
456
  let request = staticParamsCache.get(cacheKey);
372
457
  if (request === void 0) {
373
458
  request = (async () => {
374
459
  const search = new URLSearchParams({ pattern });
375
460
  if (Object.keys(params).length > 0) search.set("parentParams", JSON.stringify(params));
461
+ if (rejectEmptyResults) search.set("rejectEmptyResults", "1");
376
462
  const text = await fetchDiscoveryEndpoint(`${options.baseUrl}/__vinext/prerender/static-params?${search}`, options.secretHeaders, options.retryOptions);
377
463
  if (text === null) return null;
378
464
  const value = JSON.parse(text);
@@ -389,7 +475,7 @@ async function collectAppPaths(options) {
389
475
  staticParamsCache.set(cacheKey, request);
390
476
  }
391
477
  const value = await request;
392
- if (requireNonEmptyStaticParams && value?.length === 0) throw new Error("When using Cache Components, all `generateStaticParams` functions must return at least one result. This is to ensure that we can perform build-time validation that there is no other dynamic accesses that would cause a runtime error.\n\nLearn more: https://nextjs.org/docs/messages/empty-generate-static-params");
478
+ if (rejectEmptyResults && value?.length === 0) throw new Error("When using Cache Components, all `generateStaticParams` functions must return at least one result. This is to ensure that we can perform build-time validation that there is no other dynamic accesses that would cause a runtime error.\n\nLearn more: https://nextjs.org/docs/messages/empty-generate-static-params");
393
479
  return value;
394
480
  };
395
481
  },
@@ -397,6 +483,7 @@ async function collectAppPaths(options) {
397
483
  return false;
398
484
  }
399
485
  });
486
+ const readMdxEsm = !options.cacheComponents && options.pageExtensions.includes("mdx") ? await loadMdxEsmReader(options.root) : null;
400
487
  for (const route of routes) {
401
488
  const isRouteHandler = route.routePath !== null && route.pagePath === null;
402
489
  const renderEntryPath = isRouteHandler ? route.routePath : getAppRouteRenderEntryPath(route);
@@ -408,19 +495,22 @@ async function collectAppPaths(options) {
408
495
  const { type } = classifyAppRoute(renderEntryPath, route.routePath, route.isDynamic);
409
496
  if (type === "api") continue;
410
497
  }
411
- const hasMainTreeLoadingBoundary = appRouteHasMainTreeLoadingBoundary(route);
498
+ const staticEligibility = isRouteHandler || options.cacheComponents ? "eligible" : classifyAppPageRouteStaticEligibility(route, readMdxEsm);
499
+ const isStaticEligible = staticEligibility !== "ineligible";
412
500
  const addDiscoveredPath = (pathname) => {
413
501
  if (isRouteHandler) {
414
502
  addPath(routeHandlerPaths, seenRouteHandlerPaths, pathname);
415
503
  return;
416
504
  }
417
505
  addPath(paths, seen, pathname);
418
- if (hasMainTreeLoadingBoundary) addPath(loadingShellPaths, seenLoadingShellPaths, pathname);
506
+ if (isStaticEligible) listedRoutePaths.add(appPageListingKey(route.pattern, pathname));
419
507
  };
420
508
  if (!route.isDynamic) {
421
509
  addDiscoveredPath(route.pattern);
510
+ addPath(nonDynamicPaths, seenNonDynamicPaths, route.pattern);
422
511
  continue;
423
512
  }
513
+ if (!options.enumerateDynamicPaths) continue;
424
514
  requireNonEmptyStaticParams = options.cacheComponents && !isRouteHandler;
425
515
  try {
426
516
  const generateStaticParams = staticParamsMap[route.pattern];
@@ -432,20 +522,21 @@ async function collectAppPaths(options) {
432
522
  for (const parentParams of parentParamSets) {
433
523
  const childResults = await generateStaticParams({ params: parentParams });
434
524
  if (childResults === null) {
435
- paramSets = null;
525
+ paramSets = layoutOnlyParamSets(route, parentParamSets);
436
526
  break;
437
527
  }
438
- if (Array.isArray(childResults)) for (const childParams of childResults) paramSets.push({
439
- ...parentParams,
440
- ...childParams
441
- });
528
+ if (Array.isArray(childResults)) {
529
+ if (childResults.length === 0) paramSets.push(parentParams);
530
+ for (const childParams of childResults) paramSets.push({
531
+ ...parentParams,
532
+ ...childParams
533
+ });
534
+ }
442
535
  }
536
+ if (paramSets !== null) paramSets = routeStaticParamSets(route, paramSets);
443
537
  } else {
444
538
  const results = await generateStaticParams({ params: {} });
445
- if (results === null) {
446
- const layoutParamSets = await resolveParentParams(route, staticParamsMap, { includeLastDynamicSegment: true });
447
- paramSets = layoutParamSets.length > 0 ? layoutParamSets : null;
448
- } else paramSets = Array.isArray(results) ? results : [];
539
+ paramSets = results === null ? null : routeStaticParamSets(route, Array.isArray(results) ? results : []);
449
540
  }
450
541
  if (!paramSets?.length) {
451
542
  if (isRouteHandler) {
@@ -475,7 +566,7 @@ async function collectAppPaths(options) {
475
566
  page: readDynamicConfig(renderEntryPath),
476
567
  parallelSegments: parallelSegments.map(readDynamicConfig)
477
568
  });
478
- if ((paramSets !== null || dynamicConfig === "force-static" || dynamicConfig === "error") && !hasDynamicSegment) fallbackRoutePatterns.push({
569
+ if ((paramSets !== null || dynamicConfig === "force-static" || dynamicConfig === "error") && !hasDynamicSegment && staticEligibility === "eligible") fallbackRoutePatterns.push({
479
570
  kind: "app-page",
480
571
  pattern: route.pattern
481
572
  });
@@ -491,13 +582,15 @@ async function collectAppPaths(options) {
491
582
  }
492
583
  return {
493
584
  fallbackRoutePatterns,
494
- loadingShellPaths,
585
+ nonDynamicPaths,
495
586
  paths,
496
- routeHandlerPaths
587
+ routeHandlerPaths,
588
+ listedRoutePaths
497
589
  };
498
590
  }
499
591
  async function resolveAppWarmPaths(options) {
500
592
  const appRoutes = await appRouter(options.appDir, options.pageExtensions);
593
+ const loadingBoundaryRoutePatterns = appRoutes.filter((route) => !(route.routePath && !route.pagePath) && appRouteHasMainTreeLoadingBoundary(route)).map((route) => route.pattern).sort();
501
594
  const routeHandlerClassifications = new Map(appRoutes.flatMap((route) => route.routePath && !route.pagePath ? [[route.routePath, classifyAppRouteHandler(route.routePath)]] : []));
502
595
  const [pageRoutes, apiRoutes] = options.pagesDir ? await Promise.all([pagesRouter(options.pagesDir, options.pageExtensions), apiRouter(options.pagesDir, options.pageExtensions)]) : [[], []];
503
596
  const rscPaths = [];
@@ -552,13 +645,13 @@ async function resolveAppWarmPaths(options) {
552
645
  appPaths,
553
646
  appRoutePaths,
554
647
  htmlPaths,
648
+ loadingBoundaryRoutePatterns,
555
649
  loadingShellPaths,
556
650
  pagesPaths,
557
651
  routePatterns,
558
652
  rscPaths
559
653
  };
560
654
  }
561
- const CACHEABILITY_POLICY_HEADER_NAMES = new Set(CACHEABILITY_POLICY_HEADERS);
562
655
  function cachePolicyRuleMatchesWarmPath(pathname, rule, config) {
563
656
  const canonicalPathname = normalizePathTrailingSlash(pathname, config.trailingSlash);
564
657
  return [void 0, ...config.i18n?.domains?.map((domain) => domain.domain) ?? []].some((hostname) => {
@@ -607,8 +700,8 @@ function routePatternCouldIntersectCachePolicyRule(routePattern, rule, basePath)
607
700
  * request-specific next.config cache policy. The final Worker still evaluates
608
701
  * every concrete response before emitting public cache headers.
609
702
  */
610
- function annotateCacheabilityProbeSafety(routePatterns, config) {
611
- const cachePolicyRules = config.headers.filter((rule) => rule.headers.some((header) => CACHEABILITY_POLICY_HEADER_NAMES.has(header.key.toLowerCase())));
703
+ function annotateCacheabilityProbeSafety(routePatterns, config, routeMayResolve, requestStageMayTerminate, unlisted, isResponsePolicyHeader) {
704
+ const cachePolicyRules = config.headers.filter((rule) => rule.headers.some((header) => isResponsePolicyHeader(header.key)));
612
705
  const matchingPolicyRules = new Map(Object.keys(routePatterns).map((pathname) => [pathname, new Set(cachePolicyRules.filter((rule) => cachePolicyRuleMatchesWarmPath(pathname, rule, config)))]));
613
706
  const pathsByPattern = /* @__PURE__ */ new Map();
614
707
  for (const [pathname, route] of Object.entries(routePatterns)) {
@@ -628,44 +721,82 @@ function annotateCacheabilityProbeSafety(routePatterns, config) {
628
721
  const canPrunePattern = canPrunePatterns.get(patternKey) ?? false;
629
722
  return [pathname, {
630
723
  ...route,
631
- cacheabilityProbe: { canPrunePattern }
724
+ cacheabilityProbe: {
725
+ canPrunePattern,
726
+ ...routeMayResolve.has(pathname) ? { routeMayResolve: true } : {},
727
+ ...requestStageMayTerminate.has(pathname) ? { requestStageMayTerminate: true } : {},
728
+ ...unlisted.has(pathname) ? { unlisted: true } : {}
729
+ }
632
730
  }];
633
731
  }));
634
732
  }
635
- function configuredRouteAffectsWarmPath(pathname, config) {
733
+ function configuredRulesAffectWarmPath(pathname, rules, config) {
636
734
  const canonicalPathname = normalizePathTrailingSlash(pathname, config.trailingSlash);
637
735
  const hostnames = [void 0, ...config.i18n?.domains?.map((domain) => domain.domain) ?? []];
638
736
  const matchPathnames = new Set(hostnames.map((hostname) => normalizeDefaultLocalePathname(canonicalPathname, config.i18n, { hostname })));
639
- return [...[
640
- ...config.rewrites.beforeFiles,
641
- ...config.rewrites.afterFiles,
642
- ...config.rewrites.fallback
643
- ], ...config.redirects].some((rule) => Array.from(matchPathnames).some((matchPathname) => matchesRewriteSource(matchPathname, rule, {
737
+ return rules.some((rule) => Array.from(matchPathnames).some((matchPathname) => matchesRewriteSource(matchPathname, rule, {
644
738
  basePath: config.basePath,
645
739
  hadBasePath: true
646
740
  })));
647
741
  }
742
+ /**
743
+ * Whether a configured rewrite can replace a route-owned warm response.
744
+ * Non-dynamic filesystem routes win before `afterFiles`, while every concrete
745
+ * path discovered here wins dynamic matching before `fallback`.
746
+ */
747
+ function configuredRewritesCanReplaceWarmPath(pathname, rewrites, hasNonDynamicRoute, config, include) {
748
+ return configuredRulesAffectWarmPath(pathname, [...rewrites.beforeFiles.filter(include), ...hasNonDynamicRoute ? [] : rewrites.afterFiles.filter(include)], config);
749
+ }
750
+ function findMiddlewareConventionFile(root, appDir, pagesDir, pageExtensions) {
751
+ const routeDir = appDir ?? pagesDir;
752
+ const routeRoot = routeDir ? path.dirname(routeDir) : root;
753
+ const conventionDir = routeRoot === path.join(root, "src") ? routeRoot : root;
754
+ for (const name of ["proxy", "middleware"]) for (const extension of pageExtensions) {
755
+ const filePath = path.join(conventionDir, `${name}.${extension}`);
756
+ if (fs.existsSync(filePath)) return filePath;
757
+ }
758
+ return null;
759
+ }
760
+ /** @internal Match the pathname forms and locale provenance used by middleware runtime. */
761
+ function matchesMiddlewareWarmPath(pathname, matcher, i18n) {
762
+ const encodedPathname = new URL(pathname, "https://vinext.invalid").pathname;
763
+ const firstSegment = encodedPathname.split("/", 3)[1]?.toLowerCase();
764
+ const localeContexts = i18n ? i18n.locales.some((locale) => locale.toLowerCase() === firstSegment) ? [{ kind: "literal" }] : Array.from(/* @__PURE__ */ new Set([i18n.defaultLocale, ...i18n.domains?.map((domain) => domain.defaultLocale) ?? []]), (defaultLocale) => ({
765
+ defaultLocale,
766
+ kind: "defaulted"
767
+ })) : [void 0];
768
+ const matchPathnames = [encodedPathname];
769
+ try {
770
+ const decodedPathname = decodeURIComponent(encodedPathname);
771
+ if (decodedPathname !== encodedPathname) matchPathnames.push(decodedPathname);
772
+ } catch {}
773
+ return matchPathnames.some((matchPathname) => localeContexts.some((localeContext) => matchesMiddlewarePathname(matchPathname, matcher, i18n, localeContext)));
774
+ }
648
775
  async function startPathDiscoveryServer(options) {
649
776
  return startProdServer({
650
777
  port: 0,
651
778
  host: "127.0.0.1",
652
779
  outDir: options.pagesBundlePath ? path.dirname(path.dirname(options.pagesBundlePath)) : path.dirname(options.serverDir),
653
780
  rscEntryPath: options.rscBundlePath,
781
+ serverDir: options.serverDir,
654
782
  serverEntryPath: options.pagesBundlePath,
655
783
  noCompression: true,
656
784
  purpose: "prerender"
657
785
  });
658
786
  }
659
- async function emitPrerenderPathManifest(options) {
787
+ async function discoverPrerenderPathManifest(options) {
660
788
  const { root } = options;
661
789
  const configuredRouteDirs = resolveConfiguredRouteDirs(root, options.routeRootConfig);
662
790
  const appDir = options.appDir !== void 0 ? options.appDir : configuredRouteDirs.appDir;
663
791
  const pagesDir = options.pagesDir !== void 0 ? options.pagesDir : configuredRouteDirs.pagesDir;
664
792
  if (!appDir && !pagesDir) return null;
665
- const defaultRscBundlePath = options.routeRootConfig?.rscOutDir ? path.join(path.resolve(root, options.routeRootConfig.rscOutDir), "index.js") : path.join(root, "dist", "server", "index.js");
793
+ const configuredRscServerDir = options.routeRootConfig?.rscOutDir ? path.resolve(root, options.routeRootConfig.rscOutDir) : path.join(root, "dist", "server");
794
+ const defaultRscBundlePath = resolveBuiltRscEntryPath(configuredRscServerDir);
666
795
  const rscBundlePath = options.rscBundlePath ?? defaultRscBundlePath;
796
+ const relativeRscEntryPath = path.relative(configuredRscServerDir, rscBundlePath);
797
+ const rscServerDir = !relativeRscEntryPath.startsWith("../") && !path.isAbsolute(relativeRscEntryPath) ? configuredRscServerDir : path.dirname(rscBundlePath);
667
798
  const pagesBundlePath = options.pagesBundlePath ?? path.join(root, "dist", "server", "entry.js");
668
- const bundleServerDir = fs.existsSync(rscBundlePath) ? path.dirname(rscBundlePath) : path.dirname(pagesBundlePath);
799
+ const bundleServerDir = fs.existsSync(rscBundlePath) ? rscServerDir : path.dirname(pagesBundlePath);
669
800
  const manifestDir = path.join(root, "dist", "server");
670
801
  const config = options.nextConfig ? { ...options.nextConfig } : { ...await resolveNextConfig(await loadNextConfig(root, PHASE_PRODUCTION_BUILD), root) };
671
802
  const builtBuildId = readBuiltBuildId(manifestDir) ?? readBuiltBuildId(bundleServerDir);
@@ -677,12 +808,11 @@ async function emitPrerenderPathManifest(options) {
677
808
  const seenPagesPaths = /* @__PURE__ */ new Set();
678
809
  const discoveredPagesDataPaths = [];
679
810
  const seenPagesDataPaths = /* @__PURE__ */ new Set();
680
- const discoveredAppPaths = [];
681
- const seenAppPaths = /* @__PURE__ */ new Set();
682
811
  const discoveredRouteHandlerPaths = [];
683
812
  const seenRouteHandlerPaths = /* @__PURE__ */ new Set();
684
- const discoveredLoadingShellPaths = [];
685
- const seenLoadingShellPaths = /* @__PURE__ */ new Set();
813
+ const discoveredNonDynamicPathSet = /* @__PURE__ */ new Set();
814
+ const appListedRoutePaths = /* @__PURE__ */ new Set();
815
+ const candidateOnlyPathSet = /* @__PURE__ */ new Set();
686
816
  const fallbackRoutePatterns = [];
687
817
  await withPrerenderEndpoints(async () => {
688
818
  let prodServer = null;
@@ -718,21 +848,22 @@ async function emitPrerenderPathManifest(options) {
718
848
  appDir,
719
849
  baseUrl,
720
850
  cacheComponents: config.cacheComponents,
851
+ enumerateDynamicPaths: options.candidatePathsOnly !== true,
721
852
  pageExtensions: config.pageExtensions,
722
853
  retryOptions: pathDiscoveryRetryOptions,
854
+ root,
723
855
  secretHeaders
724
856
  });
725
- for (const pathname of appPathResult.paths) {
726
- addPath(paths, seen, pathname);
727
- addPath(discoveredAppPaths, seenAppPaths, pathname);
728
- }
729
- for (const pathname of appPathResult.loadingShellPaths) addPath(discoveredLoadingShellPaths, seenLoadingShellPaths, pathname);
857
+ for (const pathname of appPathResult.paths) addPath(paths, seen, pathname);
730
858
  for (const pathname of appPathResult.routeHandlerPaths) addPath(discoveredRouteHandlerPaths, seenRouteHandlerPaths, pathname);
859
+ for (const pathname of appPathResult.nonDynamicPaths) discoveredNonDynamicPathSet.add(pathname);
731
860
  fallbackRoutePatterns.push(...appPathResult.fallbackRoutePatterns);
861
+ for (const key of appPathResult.listedRoutePaths) appListedRoutePaths.add(key);
732
862
  }
733
863
  if (pagesDir) {
734
864
  const pagesPathResult = await collectPagesPaths({
735
865
  baseUrl,
866
+ enumerateDynamicPaths: options.candidatePathsOnly !== true,
736
867
  i18n: config.i18n,
737
868
  pagesDir,
738
869
  pageExtensions: config.pageExtensions,
@@ -744,13 +875,32 @@ async function emitPrerenderPathManifest(options) {
744
875
  addPath(discoveredPagesPaths, seenPagesPaths, pathname);
745
876
  }
746
877
  for (const pathname of pagesPathResult.dataPaths) addPath(discoveredPagesDataPaths, seenPagesDataPaths, pathname);
878
+ for (const pathname of pagesPathResult.nonDynamicPaths) discoveredNonDynamicPathSet.add(pathname);
747
879
  fallbackRoutePatterns.push(...pagesPathResult.fallbackRoutePatterns);
748
880
  }
749
881
  } finally {
750
882
  if (prodServer) await new Promise((resolve) => prodServer.server.close(() => resolve()));
751
883
  }
752
884
  });
753
- const excludedWarmPathSet = new Set(options.responseVary ? [...paths, ...discoveredRouteHandlerPaths].filter((pathname) => configuredRouteAffectsWarmPath(pathname, config)) : []);
885
+ for (const publicPathname of options.candidatePaths ?? []) {
886
+ let pathname = normalizePathTrailingSlash(new URL(publicPathname, "http://vinext.local").pathname, false);
887
+ if (config.basePath) {
888
+ if (pathname === config.basePath) pathname = "/";
889
+ else if (pathname.startsWith(`${config.basePath}/`)) pathname = pathname.slice(config.basePath.length);
890
+ else continue;
891
+ }
892
+ if (!seen.has(pathname)) candidateOnlyPathSet.add(pathname);
893
+ addPath(paths, seen, pathname);
894
+ if (pagesDir) addPath(discoveredPagesPaths, seenPagesPaths, pathname);
895
+ }
896
+ const hasStagedRequestRouting = options.requestRouting === "uncached-stage";
897
+ const middlewarePath = hasStagedRequestRouting ? findMiddlewareConventionFile(root, appDir, pagesDir, config.pageExtensions) : null;
898
+ const configuredMatcher = middlewarePath ? extractMiddlewareMatcherConfig(middlewarePath) : void 0;
899
+ const middlewareMayRouteWarmPath = (pathname) => middlewarePath !== null && matchesMiddlewareWarmPath(pathname, configuredMatcher, config.i18n);
900
+ const routedWarmPaths = [...paths, ...discoveredRouteHandlerPaths];
901
+ const routeMayResolveWarmPathSet = new Set(hasStagedRequestRouting ? routedWarmPaths.filter((pathname) => middlewareMayRouteWarmPath(pathname) || configuredRewritesCanReplaceWarmPath(pathname, config.rewrites, discoveredNonDynamicPathSet.has(pathname), config, (rewrite) => !isExternalUrl(rewrite.destination))) : []);
902
+ const requestStageMayTerminateWarmPathSet = new Set(hasStagedRequestRouting ? routedWarmPaths.filter((pathname) => middlewareMayRouteWarmPath(pathname) || configuredRulesAffectWarmPath(pathname, config.redirects, config) || configuredRewritesCanReplaceWarmPath(pathname, config.rewrites, discoveredNonDynamicPathSet.has(pathname), config, (rewrite) => isExternalUrl(rewrite.destination))) : []);
903
+ const excludedWarmPathSet = new Set(options.responseVary && !hasStagedRequestRouting ? routedWarmPaths.filter((pathname) => configuredRulesAffectWarmPath(pathname, config.redirects, config) || configuredRewritesCanReplaceWarmPath(pathname, config.rewrites, discoveredNonDynamicPathSet.has(pathname), config, () => true)) : []);
754
904
  const configuredPagesWarmPaths = discoveredPagesPaths.filter((pathname) => !excludedWarmPathSet.has(pathname));
755
905
  const resolvedPagesWarmPaths = !appDir && pagesDir ? await excludePagesApiWarmPaths({
756
906
  i18n: config.i18n,
@@ -758,9 +908,20 @@ async function emitPrerenderPathManifest(options) {
758
908
  pageExtensions: config.pageExtensions,
759
909
  paths: configuredPagesWarmPaths
760
910
  }) : configuredPagesWarmPaths;
761
- const discoveredPagesDataPathSet = new Set(discoveredPagesDataPaths);
762
911
  const configuredCandidatePaths = paths.filter((pathname) => !excludedWarmPathSet.has(pathname));
763
912
  const configuredRouteHandlerPaths = discoveredRouteHandlerPaths.filter((pathname) => !excludedWarmPathSet.has(pathname));
913
+ const pagesWarmMetadata = pagesDir ? await resolvePagesWarmRouteMetadata({
914
+ i18n: config.i18n,
915
+ pagesDir,
916
+ pageExtensions: config.pageExtensions,
917
+ paths: resolvedPagesWarmPaths
918
+ }) : {
919
+ dataPaths: [],
920
+ routePatterns: {}
921
+ };
922
+ for (const pathname of pagesWarmMetadata.dataPaths) addPath(discoveredPagesDataPaths, seenPagesDataPaths, pathname);
923
+ const discoveredPagesDataPathSet = new Set(discoveredPagesDataPaths);
924
+ const pagesOnlyWarmPaths = resolvedPagesWarmPaths.filter((pathname) => pagesWarmMetadata.routePatterns[pathname] !== void 0);
764
925
  const appOwnedWarmPaths = appDir ? await resolveAppWarmPaths({
765
926
  appDir,
766
927
  i18n: config.i18n,
@@ -770,22 +931,29 @@ async function emitPrerenderPathManifest(options) {
770
931
  }) : {
771
932
  appPaths: [],
772
933
  appRoutePaths: [],
773
- htmlPaths: discoveredAppPaths,
774
- loadingShellPaths: discoveredLoadingShellPaths,
775
- pagesPaths: resolvedPagesWarmPaths,
776
- routePatterns: pagesDir ? await resolvePagesWarmRoutePatterns({
777
- i18n: config.i18n,
778
- pagesDir,
779
- pageExtensions: config.pageExtensions,
780
- paths: resolvedPagesWarmPaths
781
- }) : {},
782
- rscPaths: discoveredAppPaths
934
+ htmlPaths: pagesOnlyWarmPaths,
935
+ loadingBoundaryRoutePatterns: [],
936
+ loadingShellPaths: [],
937
+ pagesPaths: pagesOnlyWarmPaths,
938
+ routePatterns: pagesWarmMetadata.routePatterns,
939
+ rscPaths: []
783
940
  };
784
- const warmPaths = appDir ? appOwnedWarmPaths.htmlPaths : resolvedPagesWarmPaths;
785
- const pagesOwnedWarmPaths = appDir ? appOwnedWarmPaths.pagesPaths : resolvedPagesWarmPaths;
941
+ for (const pathname of configuredCandidatePaths) {
942
+ if (appOwnedWarmPaths.routePatterns[pathname] || !routeMayResolveWarmPathSet.has(pathname) && !requestStageMayTerminateWarmPathSet.has(pathname)) continue;
943
+ appOwnedWarmPaths.htmlPaths.push(pathname);
944
+ (appDir ? appOwnedWarmPaths.appPaths : appOwnedWarmPaths.pagesPaths).push(pathname);
945
+ if (appDir && routeMayResolveWarmPathSet.has(pathname)) appOwnedWarmPaths.rscPaths.push(pathname);
946
+ appOwnedWarmPaths.routePatterns[pathname] = {
947
+ kind: appDir ? "app-page" : "pages-page",
948
+ pattern: pathname
949
+ };
950
+ }
951
+ const warmPaths = appOwnedWarmPaths.htmlPaths;
952
+ const pagesOwnedWarmPaths = appOwnedWarmPaths.pagesPaths;
786
953
  const resolvedPagesDataWarmPaths = pagesOwnedWarmPaths.filter((pathname) => discoveredPagesDataPathSet.has(pathname));
787
954
  const pagesDataPaths = resolvedPagesDataWarmPaths.map((pathname) => buildPagesDataHref(config.basePath, config.buildId, localizePagesDataPath(pathname, config.i18n), ""));
788
- const routePatterns = annotateCacheabilityProbeSafety(appOwnedWarmPaths.routePatterns, config);
955
+ const unlistedPathSet = new Set(Object.entries(appOwnedWarmPaths.routePatterns).flatMap(([pathname, route]) => (route.kind === "app-page" ? !appListedRoutePaths.has(appPageListingKey(route.pattern, pathname)) : candidateOnlyPathSet.has(pathname)) ? [pathname] : []));
956
+ const routePatterns = annotateCacheabilityProbeSafety(appOwnedWarmPaths.routePatterns, config, routeMayResolveWarmPathSet, requestStageMayTerminateWarmPathSet, unlistedPathSet, (name) => name.trim().toLowerCase() === "cache-control" || options.isResponsePolicyHeader?.(name) === true);
789
957
  for (let index = 0; index < resolvedPagesDataWarmPaths.length; index++) {
790
958
  const route = routePatterns[resolvedPagesDataWarmPaths[index]];
791
959
  if (route) {
@@ -799,6 +967,7 @@ async function emitPrerenderPathManifest(options) {
799
967
  };
800
968
  }
801
969
  }
970
+ const includeCanonicalRsc = options.responseVary || options.includeCanonicalRsc;
802
971
  const manifest = {
803
972
  ...appDir ? { appPaths: appOwnedWarmPaths.appPaths } : {},
804
973
  ...config.basePath ? { basePath: config.basePath } : {},
@@ -811,19 +980,26 @@ async function emitPrerenderPathManifest(options) {
811
980
  } : {},
812
981
  ...excludedWarmPathSet.size > 0 ? { excludedWarmPaths: Array.from(excludedWarmPathSet) } : {},
813
982
  ...fallbackRoutePatterns.length > 0 ? { fallbackRoutePatterns } : {},
983
+ ...appOwnedWarmPaths.loadingBoundaryRoutePatterns.length > 0 ? { loadingBoundaryRoutePatterns: appOwnedWarmPaths.loadingBoundaryRoutePatterns } : {},
814
984
  ...rscBuildId ? { rscBuildId } : {},
815
985
  ...options.responseVary ? { responseVary: options.responseVary } : {},
816
- ...options.responseVary ? { rscPaths: appOwnedWarmPaths.rscPaths } : {},
986
+ ...includeCanonicalRsc ? { rscPaths: appOwnedWarmPaths.rscPaths } : {},
817
987
  ...Object.keys(routePatterns).length > 0 ? { routePatterns } : {},
818
988
  ...appOwnedWarmPaths.appRoutePaths.length > 0 ? { routeHandlerPaths: appOwnedWarmPaths.appRoutePaths } : {},
819
- ...options.responseVary ? { loadingShellPaths: appOwnedWarmPaths.loadingShellPaths } : {},
989
+ ...includeCanonicalRsc ? { loadingShellPaths: appOwnedWarmPaths.loadingShellPaths } : {},
820
990
  trailingSlash: config.trailingSlash,
821
991
  paths: warmPaths
822
992
  };
993
+ console.log(` Discovered ${warmPaths.length + appOwnedWarmPaths.appRoutePaths.length} CDN warmup path(s).`);
994
+ return manifest;
995
+ }
996
+ async function emitPrerenderPathManifest(options) {
997
+ const manifest = await discoverPrerenderPathManifest(options);
998
+ if (!manifest) return null;
999
+ const manifestDir = path.join(options.root, "dist", "server");
823
1000
  fs.mkdirSync(manifestDir, { recursive: true });
824
1001
  fs.writeFileSync(path.join(manifestDir, PRERENDER_PATHS_MANIFEST), JSON.stringify(manifest, null, 2) + "\n", "utf-8");
825
- console.log(` Discovered ${warmPaths.length + appOwnedWarmPaths.appRoutePaths.length} CDN warmup path(s).`);
826
1002
  return manifest;
827
1003
  }
828
1004
  //#endregion
829
- export { DEFAULT_REMOTE_PATH_DISCOVERY_PHASE_TIMEOUT_MS, DEFAULT_REMOTE_PATH_DISCOVERY_RETRY_DELAY_MS, PRERENDER_PATHS_MANIFEST, PRERENDER_PATH_DISCOVERY_ENV, emitPrerenderPathManifest };
1005
+ export { DEFAULT_REMOTE_PATH_DISCOVERY_PHASE_TIMEOUT_MS, DEFAULT_REMOTE_PATH_DISCOVERY_RETRY_DELAY_MS, PRERENDER_PATHS_MANIFEST, PRERENDER_PATH_DISCOVERY_ENV, discoverPrerenderPathManifest, emitPrerenderPathManifest, matchesMiddlewareWarmPath };