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
@@ -51,7 +51,7 @@ function concatBytes(first, second) {
51
51
  combined.set(second, first.byteLength);
52
52
  return combined;
53
53
  }
54
- function indexOfByte(bytes, byte, from = 0) {
54
+ function indexOfByte(bytes, byte, from) {
55
55
  for (let index = from; index < bytes.byteLength; index++) if (bytes[index] === byte) return index;
56
56
  return -1;
57
57
  }
@@ -70,8 +70,35 @@ function parseHexBytes(bytes, start, end) {
70
70
  function isUntaggedJsonRowStart(byte) {
71
71
  return byte === 34 || byte === 45 || byte >= 48 && byte <= 57 || byte === 91 || byte === 102 || byte === 110 || byte === 116 || byte === 123;
72
72
  }
73
+ const COLON_BYTE = 58;
74
+ const COMMA_BYTE = 44;
75
+ const NEWLINE_BYTE = 10;
76
+ const HINT_TAG_BYTE = 72;
77
+ const LINK_HINT_CODE_BYTE = 76;
78
+ function createAsciiTagTable(tags) {
79
+ const table = /* @__PURE__ */ new Uint8Array(128);
80
+ for (const tag of tags) table[tag.charCodeAt(0)] = 1;
81
+ return table;
82
+ }
83
+ const LENGTH_PREFIXED_ROW_TAG_TABLE = createAsciiTagTable(LENGTH_PREFIXED_ROW_TAGS);
84
+ const NEWLINE_PREFIXED_ROW_TAG_TABLE = createAsciiTagTable(NEWLINE_PREFIXED_ROW_TAGS);
85
+ function isTagInTable(table, byte) {
86
+ return byte < 128 && table[byte] === 1;
87
+ }
88
+ /**
89
+ * Rewrite stylesheet preload hints in a React Flight stream.
90
+ *
91
+ * The rewrite is byte-length preserving, so this transform keeps React's
92
+ * text chunk boundaries instead of re-emitting one chunk per Flight row. Every
93
+ * downstream consumer (the tee, the SSR Flight client, the inline RSC embed,
94
+ * RSC response wrappers) pays a per-chunk cost, and splitting per row
95
+ * multiplied the chunk count roughly 8x on content-heavy pages. Chunks with
96
+ * no stylesheet hint are forwarded as-is without copying; only rows whose
97
+ * tag is `HL` are decoded and inspected. Length-prefixed bodies remain separate
98
+ * so binary bytes do not force adjacent text through the embed's base64 path.
99
+ */
73
100
  function normalizeReactFlightPreloadHints(stream) {
74
- let carry = /* @__PURE__ */ new Uint8Array();
101
+ let carry = null;
75
102
  let rawBytesRemaining = 0;
76
103
  let passThrough = false;
77
104
  return stream.pipeThrough(new TransformStream({
@@ -80,56 +107,64 @@ function normalizeReactFlightPreloadHints(stream) {
80
107
  controller.enqueue(chunk);
81
108
  return;
82
109
  }
83
- let bytes = concatBytes(carry, chunk);
84
- carry = /* @__PURE__ */ new Uint8Array();
85
- while (bytes.byteLength > 0) {
110
+ const bytes = carry === null ? chunk : concatBytes(carry, chunk);
111
+ carry = null;
112
+ const byteLength = bytes.byteLength;
113
+ let offset = 0;
114
+ let emittedThrough = 0;
115
+ let output = bytes;
116
+ let ownsOutput = bytes !== chunk;
117
+ while (offset < byteLength) {
86
118
  if (rawBytesRemaining > 0) {
87
- const length = Math.min(rawBytesRemaining, bytes.byteLength);
88
- controller.enqueue(bytes.slice(0, length));
119
+ const length = Math.min(rawBytesRemaining, byteLength - offset);
120
+ if (offset > emittedThrough) controller.enqueue(output.subarray(emittedThrough, offset));
121
+ controller.enqueue(bytes.subarray(offset, offset + length));
89
122
  rawBytesRemaining -= length;
90
- bytes = bytes.subarray(length);
123
+ offset += length;
124
+ emittedThrough = offset;
91
125
  continue;
92
126
  }
93
- const colon = indexOfByte(bytes, 58);
94
- if (colon === -1 || colon + 1 === bytes.byteLength) {
95
- carry = bytes.slice();
96
- return;
97
- }
98
- const tag = String.fromCharCode(bytes[colon + 1]);
99
- if (LENGTH_PREFIXED_ROW_TAGS.has(tag)) {
100
- const comma = indexOfByte(bytes, 44, colon + 2);
101
- if (comma === -1) {
102
- carry = bytes.slice();
103
- return;
104
- }
127
+ const colon = indexOfByte(bytes, COLON_BYTE, offset);
128
+ if (colon === -1 || colon + 1 === byteLength) break;
129
+ const tagByte = bytes[colon + 1];
130
+ if (isTagInTable(LENGTH_PREFIXED_ROW_TAG_TABLE, tagByte)) {
131
+ const comma = indexOfByte(bytes, COMMA_BYTE, colon + 2);
132
+ if (comma === -1) break;
105
133
  const length = parseHexBytes(bytes, colon + 2, comma);
106
134
  if (length != null) {
107
- controller.enqueue(bytes.slice(0, comma + 1));
108
135
  rawBytesRemaining = length;
109
- bytes = bytes.subarray(comma + 1);
136
+ offset = comma + 1;
110
137
  continue;
111
138
  }
112
139
  passThrough = true;
113
- controller.enqueue(bytes);
114
- return;
140
+ offset = byteLength;
141
+ break;
115
142
  }
116
- const tagByte = bytes[colon + 1];
117
- if (!NEWLINE_PREFIXED_ROW_TAGS.has(tag) && !isUntaggedJsonRowStart(tagByte)) {
143
+ if (!isTagInTable(NEWLINE_PREFIXED_ROW_TAG_TABLE, tagByte) && !isUntaggedJsonRowStart(tagByte)) {
118
144
  passThrough = true;
119
- controller.enqueue(bytes);
120
- return;
145
+ offset = byteLength;
146
+ break;
121
147
  }
122
- const newline = indexOfByte(bytes, 10);
123
- if (newline === -1) {
124
- carry = bytes.slice();
125
- return;
148
+ const newline = indexOfByte(bytes, NEWLINE_BYTE, offset);
149
+ if (newline === -1) break;
150
+ if (tagByte === HINT_TAG_BYTE && bytes[colon + 2] === LINK_HINT_CODE_BYTE) {
151
+ const line = bytes.subarray(offset, newline + 1);
152
+ const normalized = normalizeReactFlightHintLine(line);
153
+ if (normalized !== line) {
154
+ if (!ownsOutput) {
155
+ output = bytes.slice();
156
+ ownsOutput = true;
157
+ }
158
+ output.set(normalized, offset);
159
+ }
126
160
  }
127
- controller.enqueue(normalizeReactFlightHintLine(bytes.slice(0, newline + 1)));
128
- bytes = bytes.subarray(newline + 1);
161
+ offset = newline + 1;
129
162
  }
163
+ if (offset < byteLength) carry = bytes.slice(offset);
164
+ if (offset > emittedThrough) controller.enqueue(offset === byteLength && emittedThrough === 0 ? output : output.subarray(emittedThrough, offset));
130
165
  },
131
166
  flush(controller) {
132
- if (carry.byteLength > 0) controller.enqueue(rawBytesRemaining > 0 ? carry : normalizeReactFlightHintLine(carry));
167
+ if (carry !== null && carry.byteLength > 0) controller.enqueue(rawBytesRemaining > 0 ? carry : normalizeReactFlightHintLine(carry));
133
168
  }
134
169
  }));
135
170
  }
@@ -28,6 +28,5 @@ type PrerenderCacheSeedOptions = {
28
28
  * @param serverDir - Path to `dist/server/` (where vinext-prerender.json lives)
29
29
  * @returns The number of routes seeded (0 if no manifest or no renderable routes).
30
30
  */
31
- declare function seedMemoryCacheFromPrerender(serverDir: string, options?: PrerenderCacheSeedOptions): Promise<number>;
32
- //#endregion
33
- export { seedMemoryCacheFromPrerender };
31
+ export declare function seedMemoryCacheFromPrerender(serverDir: string, options?: PrerenderCacheSeedOptions): Promise<number>;
32
+ //#endregion
@@ -1,9 +1,9 @@
1
1
  import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
2
- import { appIsrCacheKey, isrCacheKey, isrSet, isrSetPrerenderedAppPage } from "./isr-cache.js";
2
+ import { appIsrCacheKey, isrSet, isrSetPrerenderedAppPage } from "./isr-cache.js";
3
+ import { addPregeneratedConcretePath, addPregeneratedRoute, clearPregeneratedConcretePaths, normalizePregeneratedPathname } from "./pregenerated-concrete-paths.js";
3
4
  import { getRenderedAppRoutes, getRenderedMetadataRoutes, isFallbackShellArtifactPath, readPrerenderManifest } from "./prerender-manifest.js";
4
5
  import { buildAppPageCacheTags, buildAppRouteCacheTags } from "./app-page-cache.js";
5
6
  import { getAppRouteOutputPath, getOutputPath, getRscOutputPath } from "../utils/prerender-output-paths.js";
6
- import { addPregeneratedConcretePath, clearPregeneratedConcretePaths, normalizePregeneratedPathname } from "./pregenerated-concrete-paths.js";
7
7
  import fs from "node:fs";
8
8
  //#region src/server/seed-cache.ts
9
9
  /**
@@ -16,7 +16,7 @@ import fs from "node:fs";
16
16
  *
17
17
  * This is only useful for the MemoryCacheHandler (the default for Node.js
18
18
  * production). Persistent backends like KV already retain entries across
19
- * deploys and can be pre-populated via TPR or similar mechanisms.
19
+ * deploys and can be pre-populated from prerendered artifacts.
20
20
  *
21
21
  * Consistency model:
22
22
  * - The manifest is authoritative for which routes were pre-rendered and their
@@ -47,7 +47,8 @@ import fs from "node:fs";
47
47
  */
48
48
  async function seedMemoryCacheFromPrerender(serverDir, options) {
49
49
  clearPregeneratedConcretePaths();
50
- const manifest = readPrerenderManifest(path.join(serverDir, "vinext-prerender.json"));
50
+ const manifestPath = path.join(serverDir, "vinext-prerender.json");
51
+ const manifest = readPrerenderManifest(manifestPath);
51
52
  if (!manifest) return 0;
52
53
  const { buildId, routes } = manifest;
53
54
  if (!buildId || !Array.isArray(routes)) return 0;
@@ -56,15 +57,15 @@ async function seedMemoryCacheFromPrerender(serverDir, options) {
56
57
  const writeAppPageEntry = options?.writeAppPageEntry ?? createDefaultAppPageEntryWriter();
57
58
  const writeAppRouteEntry = options?.writeAppRouteEntry ?? isrSet;
58
59
  let seeded = 0;
60
+ for (const route of routes) if (route.status === "skipped" && route.reason === "empty-static-params") addPregeneratedRoute(route.route);
59
61
  const appRoutes = getRenderedAppRoutes(routes);
60
62
  for (const route of appRoutes) {
61
63
  const concretePathname = route.path ?? route.route;
62
64
  if (!isFallbackShellArtifactPath(concretePathname, route)) addPregeneratedConcretePath(route.route, concretePathname);
63
65
  const artifactPathname = route.path ?? route.route;
64
66
  const cachePathname = normalizePregeneratedPathname(artifactPathname);
65
- const baseKey = isrCacheKey("app", cachePathname, buildId);
66
- const htmlKey = options?.buildAppPageHtmlKey?.(cachePathname) ?? baseKey + ":html";
67
- const rscKey = options?.buildAppPageRscKey?.(cachePathname) ?? baseKey + ":rsc";
67
+ const htmlKey = options?.buildAppPageHtmlKey?.(cachePathname) ?? appIsrCacheKey(cachePathname, "html", buildId);
68
+ const rscKey = options?.buildAppPageRscKey?.(cachePathname) ?? appIsrCacheKey(cachePathname, "rsc", buildId);
68
69
  const revalidateSeconds = typeof route.revalidate === "number" ? route.revalidate : void 0;
69
70
  const expireSeconds = typeof route.expire === "number" ? route.expire : void 0;
70
71
  const staleSeconds = typeof route.stale === "number" && route.stale >= 0 ? route.stale : void 0;
@@ -1,7 +1,7 @@
1
1
  //#region src/server/server-action-not-found.d.ts
2
- declare function getServerActionNotFoundMessage(actionId: string | null): string;
3
- declare function isServerActionNotFoundError(error: unknown, actionId: string | null): boolean;
4
- declare function createServerActionNotFoundResponse(): Response;
2
+ export declare function getServerActionNotFoundMessage(actionId: string | null): string;
3
+ export declare function isServerActionNotFoundError(error: unknown, actionId: string | null): boolean;
4
+ export declare function createServerActionNotFoundResponse(): Response;
5
5
  /**
6
6
  * Throw an `UnrecognizedActionError` when the server reported the requested
7
7
  * server action id as unknown (the `x-nextjs-action-not-found` response
@@ -16,6 +16,5 @@ declare function createServerActionNotFoundResponse(): Response;
16
16
  * on this same response header:
17
17
  * https://github.com/vercel/next.js/blob/canary/packages/next/src/client/components/router-reducer/reducers/server-action-reducer.ts
18
18
  */
19
- declare function throwOnServerActionNotFound(response: Pick<Response, "headers">, actionId: string): void;
20
- //#endregion
21
- export { createServerActionNotFoundResponse, getServerActionNotFoundMessage, isServerActionNotFoundError, throwOnServerActionNotFound };
19
+ export declare function throwOnServerActionNotFound(response: Pick<Response, "headers">, actionId: string): void;
20
+ //#endregion
@@ -1,4 +1,3 @@
1
1
  //#region src/server/server-globals.d.ts
2
- declare function installServerGlobals(): void;
3
- //#endregion
4
- export { installServerGlobals };
2
+ export declare function installServerGlobals(): void;
3
+ //#endregion
@@ -1,3 +1,4 @@
1
+ import { getRequestExecutionContext } from "../shims/request-context.js";
1
2
  import { AsyncLocalStorage } from "node:async_hooks";
2
3
  //#region src/server/server-globals.ts
3
4
  /**
@@ -9,6 +10,8 @@ import { AsyncLocalStorage } from "node:async_hooks";
9
10
  * side-effect dependency. A runtime function call from the generated entry
10
11
  * body would run after static user imports have already evaluated.
11
12
  */
13
+ const CACHEABILITY_REQUEST_STATE = Symbol.for("vinext.cacheabilityRequestState");
14
+ const PHASE_PRODUCTION_BUILD = "phase-production-build";
12
15
  function clearBrowserGlobal(name) {
13
16
  const descriptor = Object.getOwnPropertyDescriptor(globalThis, name);
14
17
  if (!descriptor && typeof Reflect.get(globalThis, name) === "undefined") return;
@@ -29,6 +32,16 @@ function installServerGlobals() {
29
32
  value: AsyncLocalStorage,
30
33
  writable: true
31
34
  });
35
+ const nextPhaseDescriptor = Object.getOwnPropertyDescriptor(globalThis, "__VINEXT_NEXT_PHASE");
36
+ if (!nextPhaseDescriptor || nextPhaseDescriptor.configurable) Object.defineProperty(globalThis, "__VINEXT_NEXT_PHASE", {
37
+ configurable: true,
38
+ get() {
39
+ const context = getRequestExecutionContext();
40
+ const state = context ? Reflect.get(context, CACHEABILITY_REQUEST_STATE) : void 0;
41
+ if (context?.isPrerenderPathDiscovery === true || Reflect.get(state ?? {}, "mode") === "probe") return PHASE_PRODUCTION_BUILD;
42
+ return Reflect.get(process.env, "NEXT_PHASE");
43
+ }
44
+ });
32
45
  }
33
46
  installServerGlobals();
34
47
  //#endregion
@@ -3,7 +3,7 @@ import { StaticLayoutArtifactReuseDecision } from "./cache-proof.js";
3
3
  import { ClientReuseManifestEntry, ClientReuseManifestEntryRejection, ClientReuseManifestParseResult, ClientReuseManifestRejection, ClientReuseManifestSkipDisposition, ClientReuseManifestTraceFields } from "./client-reuse-manifest.js";
4
4
  import { createStaticLayoutClientReuseArtifactCompatibility, createStaticLayoutClientReusePayloadHash, createStaticLayoutClientReuseRouteId } from "./static-layout-client-reuse-proof.js";
5
5
  //#region src/server/skip-cache-proof.d.ts
6
- type SkipCacheInvalidationProof = Readonly<{
6
+ export type SkipCacheInvalidationProof = Readonly<{
7
7
  kind: "invalidated";
8
8
  invalidationEpoch: string | null;
9
9
  }> | Readonly<{
@@ -54,7 +54,7 @@ type CreateClientReuseSkipTransportPlanInput = Readonly<{
54
54
  maxWireEntriesToVerify?: number;
55
55
  verifyEntry: (entry: ClientReuseManifestEntry) => SkipCacheCrossCheckResult;
56
56
  }>;
57
- declare function crossCheckClientReuseManifestEntryWithCache(input: CrossCheckClientReuseManifestEntryWithCacheInput): SkipCacheCrossCheckResult;
58
- declare function createClientReuseSkipTransportPlan(input: CreateClientReuseSkipTransportPlanInput): ClientReuseSkipTransportPlan;
57
+ export declare function crossCheckClientReuseManifestEntryWithCache(input: CrossCheckClientReuseManifestEntryWithCacheInput): SkipCacheCrossCheckResult;
58
+ export declare function createClientReuseSkipTransportPlan(input: CreateClientReuseSkipTransportPlanInput): ClientReuseSkipTransportPlan;
59
59
  //#endregion
60
- export { SkipCacheInvalidationProof, createClientReuseSkipTransportPlan, createStaticLayoutClientReuseArtifactCompatibility, createStaticLayoutClientReusePayloadHash, createStaticLayoutClientReuseRouteId, crossCheckClientReuseManifestEntryWithCache };
60
+ export { createStaticLayoutClientReuseArtifactCompatibility, createStaticLayoutClientReusePayloadHash, createStaticLayoutClientReuseRouteId };
@@ -4,7 +4,7 @@
4
4
  * one of `ECONNRESET` / `EPIPE` / `ECONNABORTED`, otherwise `undefined`.
5
5
  * Exported for unit testing in isolation (no process-state mutation).
6
6
  */
7
- declare function peerDisconnectCode(err: unknown): string | undefined;
7
+ export declare function peerDisconnectCode(err: unknown): string | undefined;
8
8
  /**
9
9
  * Pure predicate: returns `true` when `err` is a benign failure from a
10
10
  * dynamic `import()` of a static asset URL — the "URL dependency" pattern
@@ -22,13 +22,12 @@ declare function peerDisconnectCode(err: unknown): string | undefined;
22
22
  * modules with no extension) returns `false` so real bugs still crash.
23
23
  * Exported for unit testing in isolation.
24
24
  */
25
- declare function isBenignAssetImportError(err: unknown): boolean;
25
+ export declare function isBenignAssetImportError(err: unknown): boolean;
26
26
  /**
27
27
  * Test-only: returns whether the backstop has been installed in this
28
28
  * process. Used by the unit test to assert idempotent install via the
29
29
  * Symbol.for guard. Not part of the public API.
30
30
  */
31
- declare function isSocketErrorBackstopInstalled(): boolean;
32
- declare function installSocketErrorBackstop(): void;
33
- //#endregion
34
- export { installSocketErrorBackstop, isBenignAssetImportError, isSocketErrorBackstopInstalled, peerDisconnectCode };
31
+ export declare function isSocketErrorBackstopInstalled(): boolean;
32
+ export declare function installSocketErrorBackstop(): void;
33
+ //#endregion
@@ -33,7 +33,7 @@
33
33
  *
34
34
  * **Prerender check is dynamic, not install-time.** Prerender (in
35
35
  * `build/prerender.ts` and `build/run-prerender.ts`) calls
36
- * `startProdServer()` from inside `vinext build` to render pages
36
+ * `startProdServer()` from inside `vite build` to render pages
37
37
  * against a real HTTP server. User `fetch()` calls during prerender
38
38
  * hit external APIs that can drop connections; absorbing those would
39
39
  * silently produce corrupt prerendered output instead of crashing
@@ -1,8 +1,8 @@
1
1
  //#region src/server/static-file-cache.d.ts
2
2
  /** Content-type lookup for static assets. Shared with prod-server.ts. */
3
- declare const CONTENT_TYPES: Record<string, string>;
3
+ export declare const CONTENT_TYPES: Record<string, string>;
4
4
  /** Resolve a path's MIME type with case-insensitive extension matching. */
5
- declare function contentTypeForPath(filePath: string): string;
5
+ export declare function contentTypeForPath(filePath: string): string;
6
6
  /** A servable file variant with pre-computed response headers. */
7
7
  type FileVariant = {
8
8
  /** Absolute file path (used for streaming large files). */
@@ -38,7 +38,7 @@ type StaticFileEntry = {
38
38
  * const entry = cache.lookup("/_next/static/app-abc123.js");
39
39
  * // entry.br?.headers, entry.original.headers, etc.
40
40
  */
41
- declare class StaticFileCache {
41
+ export declare class StaticFileCache {
42
42
  private readonly entries;
43
43
  private constructor();
44
44
  /**
@@ -65,6 +65,5 @@ declare class StaticFileCache {
65
65
  * Returns null if the filename doesn't contain a recognizable hash suffix,
66
66
  * so the caller can fall back to mtime-based ETags.
67
67
  */
68
- declare function etagFromFilenameHash(relativePath: string, ext: string): string | null;
69
- //#endregion
70
- export { CONTENT_TYPES, StaticFileCache, contentTypeForPath, etagFromFilenameHash };
68
+ export declare function etagFromFilenameHash(relativePath: string, ext: string): string | null;
69
+ //#endregion
@@ -61,7 +61,7 @@ function contentTypeForPath(filePath) {
61
61
  * 64KB covers virtually all precompressed assets (a 200KB JS bundle compresses
62
62
  * to ~50KB with brotli q5).
63
63
  */
64
- const BUFFER_THRESHOLD = 64 * 1024;
64
+ const BUFFER_THRESHOLD = 65536;
65
65
  /** Temp files left by an interrupted atomic precompression write. */
66
66
  const PRECOMPRESSION_TEMP_FILE_RE = /\.(?:br|gz|zst)\.\d+\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\.tmp$/i;
67
67
  /**
@@ -136,12 +136,14 @@ var StaticFileCache = class StaticFileCache {
136
136
  }
137
137
  const pathname = "/" + relativePath;
138
138
  entries.set(pathname, entry);
139
- if (ext === ".html") if (relativePath.endsWith("/index.html")) {
140
- const dirPath = "/" + relativePath.slice(0, -11);
141
- if (dirPath !== "/") entries.set(dirPath, entry);
142
- } else {
143
- const withoutExt = "/" + relativePath.slice(0, -ext.length);
144
- entries.set(withoutExt, entry);
139
+ if (ext === ".html") {
140
+ if (relativePath.endsWith("/index.html")) {
141
+ const dirPath = "/" + relativePath.slice(0, -11);
142
+ if (dirPath !== "/") entries.set(dirPath, entry);
143
+ } else {
144
+ const withoutExt = "/" + relativePath.slice(0, -ext.length);
145
+ entries.set(withoutExt, entry);
146
+ }
145
147
  }
146
148
  }
147
149
  const toBuffer = [];
@@ -0,0 +1,16 @@
1
+ //#region src/server/static-file-signal.d.ts
2
+ export type StaticFileSignalContext = {
3
+ headers: Headers | null;
4
+ status: number | null;
5
+ };
6
+ /** Create the only response shape that host runtimes may resolve as an asset. */
7
+ export declare function createStaticFileSignal(pathname: string, context: StaticFileSignalContext): Response;
8
+ /** Whether this response was created by vinext's public-file router. */
9
+ export declare function isStaticFileSignal(response: Response): boolean;
10
+ /** Return the encoded asset pathname only for a framework-created signal. */
11
+ export declare function readStaticFileSignal(response: Response): string | null;
12
+ /** Encode a framework-authenticated signal for a standards-only stage transport. */
13
+ export declare function serializeStaticFileSignalForTransport(response: Response, token: string): Response;
14
+ /** Restore and consume a signal returned by the trusted response-stage wrapper. */
15
+ export declare function restoreStaticFileSignalFromTransport(response: Response, token: string): Response;
16
+ //#endregion
@@ -0,0 +1,82 @@
1
+ //#region src/server/static-file-signal.ts
2
+ const STATIC_FILE_SIGNAL = Symbol.for("vinext.static-file-signal");
3
+ const STATIC_FILE_SIGNAL_TRANSPORT_HEADER = "x-vinext-stage-static-file";
4
+ const STATIC_FILE_REPRESENTATION_HEADERS = [
5
+ "content-encoding",
6
+ "content-length",
7
+ "content-type",
8
+ "transfer-encoding"
9
+ ];
10
+ /**
11
+ * Mark a response created by vinext's public-file router.
12
+ *
13
+ * The symbol carries the encoded pathname across the built RSC module boundary
14
+ * before the host runtime can fetch the asset. Application response headers
15
+ * remain ordinary metadata and cannot alter framework control flow.
16
+ */
17
+ function markStaticFileSignal(response, pathname) {
18
+ return markEncodedStaticFileSignal(response, encodeURIComponent(pathname));
19
+ }
20
+ function markEncodedStaticFileSignal(response, encodedPathname) {
21
+ Object.defineProperty(response, STATIC_FILE_SIGNAL, { value: encodedPathname });
22
+ return response;
23
+ }
24
+ function withoutTransportHeader(response) {
25
+ if (!response.headers.has(STATIC_FILE_SIGNAL_TRANSPORT_HEADER)) return response;
26
+ const headers = new Headers(response.headers);
27
+ headers.delete(STATIC_FILE_SIGNAL_TRANSPORT_HEADER);
28
+ if (response.status < 200 || response.status > 599) return response;
29
+ const body = response.status === 204 || response.status === 205 || response.status === 304 ? null : response.body;
30
+ return new Response(body, {
31
+ headers,
32
+ status: response.status,
33
+ statusText: response.statusText
34
+ });
35
+ }
36
+ /** Create the only response shape that host runtimes may resolve as an asset. */
37
+ function createStaticFileSignal(pathname, context) {
38
+ const headers = new Headers();
39
+ if (context.headers) for (const [key, value] of context.headers) headers.append(key, value);
40
+ return markStaticFileSignal(new Response(null, {
41
+ status: context.status ?? 200,
42
+ headers
43
+ }), pathname);
44
+ }
45
+ /** Whether this response was created by vinext's public-file router. */
46
+ function isStaticFileSignal(response) {
47
+ return typeof Reflect.get(response, STATIC_FILE_SIGNAL) === "string";
48
+ }
49
+ /** Return the encoded asset pathname only for a framework-created signal. */
50
+ function readStaticFileSignal(response) {
51
+ const signal = Reflect.get(response, STATIC_FILE_SIGNAL);
52
+ return typeof signal === "string" ? signal : null;
53
+ }
54
+ /** Encode a framework-authenticated signal for a standards-only stage transport. */
55
+ function serializeStaticFileSignalForTransport(response, token) {
56
+ const signal = readStaticFileSignal(response);
57
+ if (signal === null) return response;
58
+ const headers = new Headers(response.headers);
59
+ for (const name of STATIC_FILE_REPRESENTATION_HEADERS) headers.delete(name);
60
+ headers.set(STATIC_FILE_SIGNAL_TRANSPORT_HEADER, `${token}:${signal}`);
61
+ return new Response(null, {
62
+ headers,
63
+ status: response.status,
64
+ statusText: response.statusText
65
+ });
66
+ }
67
+ /** Restore and consume a signal returned by the trusted response-stage wrapper. */
68
+ function restoreStaticFileSignalFromTransport(response, token) {
69
+ const transported = response.headers.get(STATIC_FILE_SIGNAL_TRANSPORT_HEADER);
70
+ const cleaned = withoutTransportHeader(response);
71
+ const prefix = `${token}:`;
72
+ if (transported === null || !transported.startsWith(prefix)) return cleaned;
73
+ const encodedPathname = transported.slice(prefix.length);
74
+ try {
75
+ if (!decodeURIComponent(encodedPathname).startsWith("/")) return cleaned;
76
+ } catch {
77
+ return cleaned;
78
+ }
79
+ return markEncodedStaticFileSignal(cleaned, encodedPathname);
80
+ }
81
+ //#endregion
82
+ export { createStaticFileSignal, isStaticFileSignal, readStaticFileSignal, restoreStaticFileSignalFromTransport, serializeStaticFileSignalForTransport };
@@ -7,8 +7,7 @@ type StaticLayoutClientReuseProofInput = Readonly<{
7
7
  routeId: string;
8
8
  variantCacheKey: string;
9
9
  }>;
10
- declare function createStaticLayoutClientReuseRouteId(layoutId: string): string;
11
- declare function createStaticLayoutClientReusePayloadHash(input: StaticLayoutClientReuseProofInput): string;
12
- declare function createStaticLayoutClientReuseArtifactCompatibility(input: StaticLayoutClientReuseProofInput): ArtifactCompatibilityEnvelope;
13
- //#endregion
14
- export { createStaticLayoutClientReuseArtifactCompatibility, createStaticLayoutClientReusePayloadHash, createStaticLayoutClientReuseRouteId };
10
+ export declare function createStaticLayoutClientReuseRouteId(layoutId: string): string;
11
+ export declare function createStaticLayoutClientReusePayloadHash(input: StaticLayoutClientReuseProofInput): string;
12
+ export declare function createStaticLayoutClientReuseArtifactCompatibility(input: StaticLayoutClientReuseProofInput): ArtifactCompatibilityEnvelope;
13
+ //#endregion
@@ -1,4 +1,3 @@
1
1
  //#region src/server/streaming-metadata.d.ts
2
- declare function shouldServeStreamingMetadata(userAgent: string, htmlLimitedBots: string | undefined): boolean;
3
- //#endregion
4
- export { shouldServeStreamingMetadata };
2
+ export declare function shouldServeStreamingMetadata(userAgent: string, htmlLimitedBots: string | undefined): boolean;
3
+ //#endregion
@@ -0,0 +1,5 @@
1
+ import { FrameworkTracer, FrameworkTracingIntegration } from "./framework-tracer.js";
2
+ //#region src/server/tracer.d.ts
3
+ export declare function registerFrameworkTracingIntegration(integration: FrameworkTracingIntegration): void;
4
+ export declare const frameworkTracer: FrameworkTracer;
5
+ //#endregion
@@ -0,0 +1,13 @@
1
+ import { createFrameworkTracer } from "./framework-tracer.js";
2
+ import { openTelemetryTracingIntegration } from "./opentelemetry-tracing.js";
3
+ //#region src/server/tracer.ts
4
+ const INTEGRATIONS_KEY = Symbol.for("vinext.frameworkTracing.integrations");
5
+ const globals = globalThis;
6
+ const integrations = globals[INTEGRATIONS_KEY] ??= [];
7
+ function registerFrameworkTracingIntegration(integration) {
8
+ if (!integrations.some(({ id }) => id === integration.id)) integrations.push(integration);
9
+ }
10
+ registerFrameworkTracingIntegration(openTelemetryTracingIntegration);
11
+ const frameworkTracer = createFrameworkTracer(integrations);
12
+ //#endregion
13
+ export { frameworkTracer, registerFrameworkTracingIntegration };
@@ -0,0 +1,18 @@
1
+ import { ExecutionContextLike } from "../shims/request-context.js";
2
+ //#region src/server/worker-prerender-discovery.d.ts
3
+ export declare function isWorkerPrerenderDiscoveryPath(pathname: string): boolean;
4
+ export declare function workerCapabilityMatches(provided: string, expected: string): boolean;
5
+ /**
6
+ * Respond to an authenticated staged-version readiness request without
7
+ * invoking middleware, routing, or rendering. The CDN adapter validates the
8
+ * expected Worker version before callers return this response.
9
+ */
10
+ export declare function createWorkerPrerenderReadinessResponse(ctx: ExecutionContextLike, request: Request): Response | null;
11
+ /**
12
+ * Mark only a request carrying the current build's capability as an internal
13
+ * path-discovery request. The capability is compiled into the Worker entry and
14
+ * rotated on every build; the public version override proves which staged
15
+ * version Cloudflare invoked but is deliberately not treated as authorization.
16
+ */
17
+ export declare function createWorkerPrerenderDiscoveryContext(base: ExecutionContextLike, request: Request, expectedSecret: string | null | undefined): ExecutionContextLike;
18
+ //#endregion
@@ -0,0 +1,55 @@
1
+ import { VINEXT_PRERENDER_SECRET_HEADER } from "../utils/protocol-headers.js";
2
+ import { VINEXT_PRERENDER_METADATA_ROUTES_PATH, VINEXT_PRERENDER_PAGES_STATIC_PATHS_PATH, VINEXT_PRERENDER_READINESS_HEADER, VINEXT_PRERENDER_READINESS_PATH, VINEXT_PRERENDER_STATIC_PARAMS_PATH } from "./headers.js";
3
+ //#region src/server/worker-prerender-discovery.ts
4
+ const PRERENDER_DISCOVERY_PATHS = /* @__PURE__ */ new Set([
5
+ VINEXT_PRERENDER_STATIC_PARAMS_PATH,
6
+ VINEXT_PRERENDER_PAGES_STATIC_PATHS_PATH,
7
+ VINEXT_PRERENDER_METADATA_ROUTES_PATH,
8
+ VINEXT_PRERENDER_READINESS_PATH
9
+ ]);
10
+ function isWorkerPrerenderDiscoveryPath(pathname) {
11
+ return PRERENDER_DISCOVERY_PATHS.has(pathname);
12
+ }
13
+ function workerCapabilityMatches(provided, expected) {
14
+ let mismatch = provided.length ^ expected.length;
15
+ for (let index = 0; index < expected.length; index++) mismatch |= (provided.charCodeAt(index) || 0) ^ expected.charCodeAt(index);
16
+ return mismatch === 0;
17
+ }
18
+ /**
19
+ * Respond to an authenticated staged-version readiness request without
20
+ * invoking middleware, routing, or rendering. The CDN adapter validates the
21
+ * expected Worker version before callers return this response.
22
+ */
23
+ function createWorkerPrerenderReadinessResponse(ctx, request) {
24
+ if (!request.url.includes("/__vinext/prerender/readiness")) return null;
25
+ if (new URL(request.url).pathname !== "/__vinext/prerender/readiness") return null;
26
+ if (ctx.isPrerenderPathDiscovery !== true || request.method !== "GET" && request.method !== "POST" || !request.headers.has("X-Vinext-Expected-Worker-Version")) return new Response(null, {
27
+ status: 404,
28
+ headers: { "Cache-Control": "no-store" }
29
+ });
30
+ return new Response(null, {
31
+ status: 204,
32
+ headers: {
33
+ "Cache-Control": "no-store",
34
+ [VINEXT_PRERENDER_READINESS_HEADER]: "1"
35
+ }
36
+ });
37
+ }
38
+ /**
39
+ * Mark only a request carrying the current build's capability as an internal
40
+ * path-discovery request. The capability is compiled into the Worker entry and
41
+ * rotated on every build; the public version override proves which staged
42
+ * version Cloudflare invoked but is deliberately not treated as authorization.
43
+ */
44
+ function createWorkerPrerenderDiscoveryContext(base, request, expectedSecret) {
45
+ const providedSecret = request.headers.get(VINEXT_PRERENDER_SECRET_HEADER);
46
+ if (!expectedSecret || !providedSecret || !workerCapabilityMatches(providedSecret, expectedSecret)) return base;
47
+ const pathname = new URL(request.url).pathname;
48
+ if (!isWorkerPrerenderDiscoveryPath(pathname)) return base;
49
+ return {
50
+ ...base,
51
+ isPrerenderPathDiscovery: true
52
+ };
53
+ }
54
+ //#endregion
55
+ export { createWorkerPrerenderDiscoveryContext, createWorkerPrerenderReadinessResponse, isWorkerPrerenderDiscoveryPath, workerCapabilityMatches };
@@ -7,6 +7,5 @@ type PlatformExecutionContext = Partial<ExecutionContextLike>;
7
7
  * the authenticated protocol headers while keeping ordinary inbound requests
8
8
  * on the normal header-scrubbing path.
9
9
  */
10
- declare function createWorkerRevalidationContext(base: PlatformExecutionContext | undefined, handleInternalRequest: (request: Request, ctx: ExecutionContextLike) => Promise<Response>): ExecutionContextLike;
11
- //#endregion
12
- export { createWorkerRevalidationContext };
10
+ export declare function createWorkerRevalidationContext(base: PlatformExecutionContext | undefined, handleInternalRequest: (request: Request, ctx: ExecutionContextLike) => Promise<Response>, defaultHostRuntime?: "node" | "worker"): ExecutionContextLike;
11
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/server/worker-revalidation-context.ts
2
- function deriveExecutionContext(base, dispatchPagesRevalidate, isInternalPagesRevalidation) {
2
+ function deriveExecutionContext(base, dispatchPagesRevalidate, isInternalPagesRevalidation, defaultHostRuntime) {
3
3
  return {
4
4
  waitUntil(promise) {
5
5
  if (typeof base?.waitUntil === "function") base.waitUntil(promise);
@@ -8,7 +8,7 @@ function deriveExecutionContext(base, dispatchPagesRevalidate, isInternalPagesRe
8
8
  ...typeof base?.passThroughOnException === "function" ? { passThroughOnException() {
9
9
  base.passThroughOnException?.();
10
10
  } } : {},
11
- hostRuntime: "worker",
11
+ hostRuntime: base?.hostRuntime ?? defaultHostRuntime,
12
12
  ...base?.cache === void 0 ? {} : { cache: base.cache },
13
13
  ...base?.trustedRevalidateOrigin === void 0 ? {} : { trustedRevalidateOrigin: base.trustedRevalidateOrigin },
14
14
  dispatchPagesRevalidate,
@@ -21,10 +21,10 @@ function deriveExecutionContext(base, dispatchPagesRevalidate, isInternalPagesRe
21
21
  * the authenticated protocol headers while keeping ordinary inbound requests
22
22
  * on the normal header-scrubbing path.
23
23
  */
24
- function createWorkerRevalidationContext(base, handleInternalRequest) {
24
+ function createWorkerRevalidationContext(base, handleInternalRequest, defaultHostRuntime = "worker") {
25
25
  if (typeof base?.dispatchPagesRevalidate === "function") return base;
26
- const dispatchPagesRevalidate = (request) => handleInternalRequest(request, deriveExecutionContext(base, dispatchPagesRevalidate, true));
27
- return deriveExecutionContext(base, dispatchPagesRevalidate, false);
26
+ const dispatchPagesRevalidate = (request) => handleInternalRequest(request, deriveExecutionContext(base, dispatchPagesRevalidate, true, defaultHostRuntime));
27
+ return deriveExecutionContext(base, dispatchPagesRevalidate, false, defaultHostRuntime);
28
28
  }
29
29
  //#endregion
30
30
  export { createWorkerRevalidationContext };