vinext 1.0.0-beta.8 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (813) hide show
  1. package/README.md +158 -84
  2. package/THIRD_PARTY_LICENSES.md +25 -0
  3. package/dist/_virtual/_rolldown/runtime.js +25 -0
  4. package/dist/build/action-owner-manifest.d.ts +8 -9
  5. package/dist/build/action-owner-manifest.js +23 -5
  6. package/dist/build/assets-ignore.d.ts +3 -4
  7. package/dist/build/clean-output.d.ts +2 -3
  8. package/dist/build/client-build-config.d.ts +40 -12
  9. package/dist/build/client-build-config.js +76 -6
  10. package/dist/build/css-url-assets.d.ts +4 -5
  11. package/dist/build/css-url-assets.js +5 -2
  12. package/dist/build/google-fonts/build-url.d.ts +3 -4
  13. package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
  14. package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
  15. package/dist/build/google-fonts/font-metadata.d.ts +2 -3
  16. package/dist/build/google-fonts/get-axes.d.ts +2 -3
  17. package/dist/build/google-fonts/sort-variants.d.ts +2 -3
  18. package/dist/build/google-fonts/validate.d.ts +2 -3
  19. package/dist/build/google-fonts/validate.js +8 -4
  20. package/dist/build/inject-pregenerated-paths.d.ts +2 -3
  21. package/dist/build/inject-pregenerated-paths.js +16 -14
  22. package/dist/build/inline-css.d.ts +3 -4
  23. package/dist/build/layout-classification-types.d.ts +4 -5
  24. package/dist/build/layout-classification.d.ts +7 -8
  25. package/dist/build/lifecycle.d.ts +42 -0
  26. package/dist/build/lifecycle.js +253 -0
  27. package/dist/build/module-dependency-cache.d.ts +2 -3
  28. package/dist/build/next-client-runtime-manifests.d.ts +4 -5
  29. package/dist/build/nitro-route-rules.d.ts +6 -7
  30. package/dist/build/nitro-route-rules.js +1 -1
  31. package/dist/build/pages-client-assets-module.d.ts +4 -8
  32. package/dist/build/pages-client-assets-module.js +1 -13
  33. package/dist/build/precompress.d.ts +2 -3
  34. package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
  35. package/dist/build/prerender-cloudflare-loader.js +49 -0
  36. package/dist/build/prerender-paths.d.ts +82 -8
  37. package/dist/build/prerender-paths.js +814 -99
  38. package/dist/build/prerender-phase.d.ts +2 -3
  39. package/dist/build/prerender-server-entry.js +11 -3
  40. package/dist/build/prerender-server-pool.d.ts +9 -6
  41. package/dist/build/prerender-server-pool.js +8 -5
  42. package/dist/build/prerender.d.ts +67 -15
  43. package/dist/build/prerender.js +177 -64
  44. package/dist/build/preview-credentials.d.ts +5 -6
  45. package/dist/build/preview-credentials.js +2 -2
  46. package/dist/build/public-dir-conflict.d.ts +5 -6
  47. package/dist/build/public-dir-conflict.js +2 -1
  48. package/dist/build/report.d.ts +38 -19
  49. package/dist/build/report.js +73 -4
  50. package/dist/build/route-classification-injector.d.ts +2 -3
  51. package/dist/build/route-classification-manifest.d.ts +5 -6
  52. package/dist/build/run-prerender.d.ts +11 -9
  53. package/dist/build/run-prerender.js +25 -16
  54. package/dist/build/server-entry.d.ts +4 -0
  55. package/dist/build/server-entry.js +28 -0
  56. package/dist/build/server-manifest.d.ts +8 -3
  57. package/dist/build/server-manifest.js +14 -2
  58. package/dist/build/ssr-manifest.d.ts +5 -6
  59. package/dist/build/standalone.d.ts +2 -3
  60. package/dist/build/standalone.js +2 -2
  61. package/dist/build/static-export.d.ts +7 -8
  62. package/dist/cache/cache-adapters-virtual.d.ts +95 -9
  63. package/dist/cache/cache-adapters-virtual.js +58 -6
  64. package/dist/check.d.ts +11 -10
  65. package/dist/check.js +467 -176
  66. package/dist/cli-args.d.ts +7 -16
  67. package/dist/cli-args.js +2 -45
  68. package/dist/cli-dev-config.d.ts +10 -7
  69. package/dist/cli-dev-config.js +160 -3
  70. package/dist/cli.js +124 -435
  71. package/dist/client/app-nav-failure-handler.d.ts +6 -7
  72. package/dist/client/client-rewrite-matcher.d.ts +2 -3
  73. package/dist/client/client-rewrites.d.ts +4 -5
  74. package/dist/client/dev-error-overlay-store.d.ts +13 -14
  75. package/dist/client/dev-error-overlay.d.ts +15 -15
  76. package/dist/client/dev-error-overlay.js +8 -5
  77. package/dist/client/instrumentation-client-inject.d.ts +3 -4
  78. package/dist/client/instrumentation-client-state.d.ts +5 -6
  79. package/dist/client/instrumentation-client.d.ts +3 -4
  80. package/dist/client/navigation-runtime.d.ts +21 -17
  81. package/dist/client/navigation-runtime.js +2 -1
  82. package/dist/client/pages-router-link-navigation.d.ts +4 -5
  83. package/dist/client/react-instance.d.ts +2 -3
  84. package/dist/client/validate-module-path.d.ts +2 -3
  85. package/dist/client/vinext-next-data.d.ts +7 -8
  86. package/dist/client/window-next.d.ts +4 -5
  87. package/dist/config/config-matchers.d.ts +16 -16
  88. package/dist/config/config-matchers.js +10 -7
  89. package/dist/config/dotenv.d.ts +3 -4
  90. package/dist/config/dotenv.js +2 -1
  91. package/dist/config/next-config.d.ts +31 -27
  92. package/dist/config/next-config.js +163 -16
  93. package/dist/config/prerender.d.ts +20 -16
  94. package/dist/config/prerender.js +10 -4
  95. package/dist/config/request-context.d.ts +5 -6
  96. package/dist/config/server-external-packages.d.ts +14 -3
  97. package/dist/config/server-external-packages.js +37 -3
  98. package/dist/config/tsconfig-paths.d.ts +3 -4
  99. package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
  100. package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
  101. package/dist/entries/app-browser-entry.d.ts +5 -6
  102. package/dist/entries/app-browser-entry.js +3 -2
  103. package/dist/entries/app-rsc-entry.d.ts +12 -3
  104. package/dist/entries/app-rsc-entry.js +530 -55
  105. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  106. package/dist/entries/app-rsc-manifest.js +27 -8
  107. package/dist/entries/app-ssr-entry.d.ts +2 -3
  108. package/dist/entries/app-ssr-entry.js +8 -1
  109. package/dist/entries/pages-client-entry.d.ts +3 -3
  110. package/dist/entries/pages-client-entry.js +17 -2
  111. package/dist/entries/pages-server-entry.d.ts +13 -3
  112. package/dist/entries/pages-server-entry.js +237 -33
  113. package/dist/entries/runtime-entry-module.d.ts +4 -5
  114. package/dist/image/image-adapters-virtual.d.ts +4 -5
  115. package/dist/index.d.ts +10 -11
  116. package/dist/index.js +832 -199
  117. package/dist/init-cloudflare.d.ts +27 -16
  118. package/dist/init-cloudflare.js +754 -113
  119. package/dist/init-platform.d.ts +26 -22
  120. package/dist/init-platform.js +85 -29
  121. package/dist/init.d.ts +19 -13
  122. package/dist/init.js +123 -41
  123. package/dist/plugins/action-owner-manifest.d.ts +3 -4
  124. package/dist/plugins/action-owner-manifest.js +10 -3
  125. package/dist/plugins/ast-scope.d.ts +10 -11
  126. package/dist/plugins/ast-scope.js +10 -22
  127. package/dist/plugins/ast-utils.d.ts +16 -29
  128. package/dist/plugins/ast-utils.js +27 -71
  129. package/dist/plugins/async-hooks-stub.d.ts +2 -3
  130. package/dist/plugins/client-reference-dedup.d.ts +4 -5
  131. package/dist/plugins/css-data-url.d.ts +2 -3
  132. package/dist/plugins/css-module-imports.d.ts +3 -4
  133. package/dist/plugins/css-module-imports.js +1 -1
  134. package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
  135. package/dist/plugins/dynamic-preload-metadata.js +55 -154
  136. package/dist/plugins/environment.d.ts +2 -3
  137. package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
  138. package/dist/plugins/extensionless-dynamic-import.js +6 -10
  139. package/dist/plugins/fonts.d.ts +10 -11
  140. package/dist/plugins/fonts.js +4 -3
  141. package/dist/plugins/ignore-dynamic-requests.d.ts +3 -4
  142. package/dist/plugins/ignore-dynamic-requests.js +60 -89
  143. package/dist/plugins/import-meta-url.d.ts +6 -7
  144. package/dist/plugins/import-meta-url.js +31 -43
  145. package/dist/plugins/instrumentation-client.d.ts +3 -3
  146. package/dist/plugins/instrumentation-client.js +46 -10
  147. package/dist/plugins/middleware-export-validation.d.ts +3 -4
  148. package/dist/plugins/middleware-export-validation.js +3 -3
  149. package/dist/plugins/middleware-server-only.d.ts +2 -3
  150. package/dist/plugins/og-asset-ownership.d.ts +3 -4
  151. package/dist/plugins/og-assets.d.ts +4 -5
  152. package/dist/plugins/og-assets.js +32 -13
  153. package/dist/plugins/og-harfbuzz.d.ts +24 -0
  154. package/dist/plugins/og-harfbuzz.js +260 -0
  155. package/dist/plugins/optimize-imports.d.ts +7 -7
  156. package/dist/plugins/optimize-imports.js +32 -44
  157. package/dist/plugins/pages-node-externals.d.ts +2 -3
  158. package/dist/plugins/pages-node-externals.js +6 -11
  159. package/dist/plugins/postcss.d.ts +8 -4
  160. package/dist/plugins/postcss.js +1 -1
  161. package/dist/plugins/remove-console.d.ts +2 -3
  162. package/dist/plugins/remove-console.js +0 -1
  163. package/dist/plugins/require-condition-resolution.d.ts +3 -4
  164. package/dist/plugins/require-condition-resolution.js +17 -18
  165. package/dist/plugins/require-context.d.ts +2 -3
  166. package/dist/plugins/require-context.js +13 -21
  167. package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
  168. package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
  169. package/dist/plugins/rsc-client-shim-excludes.js +1 -0
  170. package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
  171. package/dist/plugins/sass.d.ts +7 -8
  172. package/dist/plugins/sass.js +7 -4
  173. package/dist/plugins/server-externals-manifest.d.ts +2 -3
  174. package/dist/plugins/strip-server-exports.d.ts +5 -6
  175. package/dist/plugins/strip-server-exports.js +1 -1
  176. package/dist/plugins/styled-jsx.d.ts +2 -3
  177. package/dist/plugins/styled-jsx.js +7 -7
  178. package/dist/plugins/transform-cache.d.ts +2 -3
  179. package/dist/plugins/transform-result.d.ts +3 -4
  180. package/dist/plugins/transitive-externals.d.ts +2 -3
  181. package/dist/plugins/typeof-window.d.ts +6 -7
  182. package/dist/plugins/typeof-window.js +30 -31
  183. package/dist/plugins/use-cache-callable.d.ts +2 -5
  184. package/dist/plugins/use-cache-callable.js +43 -22
  185. package/dist/plugins/wasm-module-import.d.ts +2 -3
  186. package/dist/plugins/worker-image-imports.d.ts +2 -3
  187. package/dist/plugins/worker-image-imports.js +6 -8
  188. package/dist/routing/app-route-graph.d.ts +19 -19
  189. package/dist/routing/app-route-graph.js +3 -2
  190. package/dist/routing/app-router.d.ts +20 -5
  191. package/dist/routing/app-router.js +28 -2
  192. package/dist/routing/file-matcher.d.ts +9 -10
  193. package/dist/routing/pages-router.d.ts +6 -6
  194. package/dist/routing/pages-router.js +1 -1
  195. package/dist/routing/route-matching.d.ts +4 -5
  196. package/dist/routing/route-matching.js +4 -2
  197. package/dist/routing/route-pattern.d.ts +13 -14
  198. package/dist/routing/route-trie.d.ts +5 -6
  199. package/dist/routing/route-validation.d.ts +3 -4
  200. package/dist/routing/route-validation.js +12 -11
  201. package/dist/routing/utils.d.ts +13 -14
  202. package/dist/server/accept-encoding.d.ts +9 -10
  203. package/dist/server/api-handler.d.ts +2 -3
  204. package/dist/server/api-handler.js +9 -6
  205. package/dist/server/app-action-forwarding.d.ts +3 -4
  206. package/dist/server/app-action-forwarding.js +1 -1
  207. package/dist/server/app-action-request.d.ts +2 -3
  208. package/dist/server/app-bfcache-id.d.ts +3 -4
  209. package/dist/server/app-bfcache-identity.d.ts +8 -9
  210. package/dist/server/app-browser-action-result.d.ts +15 -16
  211. package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
  212. package/dist/server/app-browser-entry.js +121 -40
  213. package/dist/server/app-browser-error.d.ts +5 -6
  214. package/dist/server/app-browser-error.js +9 -3
  215. package/dist/server/app-browser-history-controller.d.ts +4 -5
  216. package/dist/server/app-browser-hydration.d.ts +16 -6
  217. package/dist/server/app-browser-hydration.js +14 -1
  218. package/dist/server/app-browser-interception-context.d.ts +3 -4
  219. package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
  220. package/dist/server/app-browser-navigation-abort.d.ts +3 -4
  221. package/dist/server/app-browser-navigation-controller.d.ts +8 -8
  222. package/dist/server/app-browser-navigation-controller.js +9 -5
  223. package/dist/server/app-browser-navigation-response.d.ts +2 -3
  224. package/dist/server/app-browser-popstate.d.ts +4 -5
  225. package/dist/server/app-browser-prefetch-response.d.ts +5 -6
  226. package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
  227. package/dist/server/app-browser-server-action-client.d.ts +7 -6
  228. package/dist/server/app-browser-server-action-client.js +9 -5
  229. package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
  230. package/dist/server/app-browser-state.d.ts +17 -17
  231. package/dist/server/app-browser-state.js +7 -3
  232. package/dist/server/app-browser-stream.d.ts +4 -5
  233. package/dist/server/app-browser-stream.js +8 -6
  234. package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
  235. package/dist/server/app-browser-visible-commit.d.ts +6 -7
  236. package/dist/server/app-browser-visible-commit.js +1 -1
  237. package/dist/server/app-client-reference-preloader.d.ts +2 -3
  238. package/dist/server/app-elements-wire-key.d.ts +25 -0
  239. package/dist/server/app-elements-wire-key.js +69 -0
  240. package/dist/server/app-elements-wire.d.ts +34 -53
  241. package/dist/server/app-elements-wire.js +4 -75
  242. package/dist/server/app-elements.d.ts +5 -5
  243. package/dist/server/app-elements.js +1 -1
  244. package/dist/server/app-fallback-renderer.d.ts +4 -4
  245. package/dist/server/app-fallback-renderer.js +6 -6
  246. package/dist/server/app-fetch-tracing.d.ts +15 -0
  247. package/dist/server/app-fetch-tracing.js +38 -0
  248. package/dist/server/app-history-state.d.ts +26 -27
  249. package/dist/server/app-history-state.js +19 -11
  250. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  251. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  252. package/dist/server/app-inline-css-client.d.ts +3 -4
  253. package/dist/server/app-interception-context-header.d.ts +2 -3
  254. package/dist/server/app-layout-param-observation.d.ts +7 -8
  255. package/dist/server/app-metadata-tracing.d.ts +12 -0
  256. package/dist/server/app-metadata-tracing.js +17 -0
  257. package/dist/server/app-middleware.d.ts +15 -7
  258. package/dist/server/app-middleware.js +30 -5
  259. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  260. package/dist/server/app-mounted-slots-header.js +2 -2
  261. package/dist/server/app-optimistic-routing.d.ts +14 -10
  262. package/dist/server/app-optimistic-routing.js +16 -3
  263. package/dist/server/app-page-boundary-render.d.ts +6 -6
  264. package/dist/server/app-page-boundary-render.js +10 -4
  265. package/dist/server/app-page-boundary.d.ts +9 -10
  266. package/dist/server/app-page-boundary.js +2 -1
  267. package/dist/server/app-page-cache-finalizer.d.ts +32 -8
  268. package/dist/server/app-page-cache-finalizer.js +118 -14
  269. package/dist/server/app-page-cache-render.d.ts +8 -5
  270. package/dist/server/app-page-cache-render.js +22 -5
  271. package/dist/server/app-page-cache.d.ts +28 -9
  272. package/dist/server/app-page-cache.js +96 -25
  273. package/dist/server/app-page-dispatch.d.ts +36 -12
  274. package/dist/server/app-page-dispatch.js +188 -63
  275. package/dist/server/app-page-element-builder.d.ts +13 -11
  276. package/dist/server/app-page-element-builder.js +104 -61
  277. package/dist/server/app-page-execution.d.ts +14 -14
  278. package/dist/server/app-page-execution.js +12 -8
  279. package/dist/server/app-page-head.d.ts +19 -16
  280. package/dist/server/app-page-head.js +25 -25
  281. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  282. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  283. package/dist/server/app-page-method.d.ts +5 -11
  284. package/dist/server/app-page-method.js +2 -9
  285. package/dist/server/app-page-params.d.ts +5 -6
  286. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  287. package/dist/server/app-page-probe.d.ts +5 -6
  288. package/dist/server/app-page-probe.js +5 -4
  289. package/dist/server/app-page-render-identity.d.ts +4 -5
  290. package/dist/server/app-page-render-observation.d.ts +8 -9
  291. package/dist/server/app-page-render-observation.js +1 -1
  292. package/dist/server/app-page-render.d.ts +42 -6
  293. package/dist/server/app-page-render.js +192 -28
  294. package/dist/server/app-page-request.d.ts +10 -9
  295. package/dist/server/app-page-request.js +16 -12
  296. package/dist/server/app-page-response.d.ts +20 -9
  297. package/dist/server/app-page-response.js +31 -13
  298. package/dist/server/app-page-route-wiring.d.ts +15 -15
  299. package/dist/server/app-page-route-wiring.js +31 -24
  300. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  301. package/dist/server/app-page-search-params-observation.js +42 -6
  302. package/dist/server/app-page-segment-plan.d.ts +2 -3
  303. package/dist/server/app-page-segment-state.d.ts +11 -12
  304. package/dist/server/app-page-stream.d.ts +27 -11
  305. package/dist/server/app-page-stream.js +35 -6
  306. package/dist/server/app-page-tracing.d.ts +33 -0
  307. package/dist/server/app-page-tracing.js +49 -0
  308. package/dist/server/app-pages-bridge.d.ts +6 -6
  309. package/dist/server/app-pages-bridge.js +19 -4
  310. package/dist/server/app-post-middleware-context.d.ts +2 -3
  311. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  312. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  313. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  314. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  315. package/dist/server/app-prerender-endpoints.js +26 -12
  316. package/dist/server/app-prerender-static-params.d.ts +15 -7
  317. package/dist/server/app-prerender-static-params.js +33 -11
  318. package/dist/server/app-render-dependency.d.ts +14 -13
  319. package/dist/server/app-render-dependency.js +5 -1
  320. package/dist/server/app-request-context.d.ts +3 -4
  321. package/dist/server/app-request-stage-context.d.ts +5 -0
  322. package/dist/server/app-request-stage-context.js +11 -0
  323. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  324. package/dist/server/app-request-stage-dispatch.js +54 -0
  325. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  326. package/dist/server/app-request-stage-independent-entry.js +115 -0
  327. package/dist/server/app-response-header-provenance.d.ts +13 -7
  328. package/dist/server/app-response-header-provenance.js +34 -1
  329. package/dist/server/app-response-stage-entry.d.ts +9 -0
  330. package/dist/server/app-response-stage-entry.js +87 -0
  331. package/dist/server/app-route-handler-cache.d.ts +2 -3
  332. package/dist/server/app-route-handler-cache.js +46 -34
  333. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  334. package/dist/server/app-route-handler-dispatch.js +75 -57
  335. package/dist/server/app-route-handler-execution.d.ts +18 -13
  336. package/dist/server/app-route-handler-execution.js +189 -25
  337. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  338. package/dist/server/app-route-handler-middleware-context.js +15 -0
  339. package/dist/server/app-route-handler-policy.d.ts +22 -10
  340. package/dist/server/app-route-handler-policy.js +19 -4
  341. package/dist/server/app-route-handler-response.d.ts +9 -10
  342. package/dist/server/app-route-handler-response.js +2 -0
  343. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  344. package/dist/server/app-route-handler-runtime.js +20 -16
  345. package/dist/server/app-route-module-loader.d.ts +6 -7
  346. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  347. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  348. package/dist/server/app-route-tree-prefetch.js +2 -1
  349. package/dist/server/app-router-entry.d.ts +2 -0
  350. package/dist/server/app-router-entry.js +76 -12
  351. package/dist/server/app-rsc-cache-busting.d.ts +47 -22
  352. package/dist/server/app-rsc-cache-busting.js +80 -18
  353. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  354. package/dist/server/app-rsc-combined-handler.js +11 -0
  355. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  356. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  357. package/dist/server/app-rsc-error-handler.js +15 -6
  358. package/dist/server/app-rsc-errors.d.ts +12 -9
  359. package/dist/server/app-rsc-errors.js +15 -13
  360. package/dist/server/app-rsc-handler.d.ts +33 -6
  361. package/dist/server/app-rsc-handler.js +498 -83
  362. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  363. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  364. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  365. package/dist/server/app-rsc-request-normalization.js +2 -1
  366. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  367. package/dist/server/app-rsc-response-finalizer.js +24 -7
  368. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  369. package/dist/server/app-rsc-response-stage.js +251 -0
  370. package/dist/server/app-rsc-route-matching.d.ts +4 -4
  371. package/dist/server/app-rsc-route-matching.js +4 -2
  372. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  373. package/dist/server/app-rsc-vary.d.ts +16 -0
  374. package/dist/server/app-rsc-vary.js +31 -0
  375. package/dist/server/app-segment-config.d.ts +120 -6
  376. package/dist/server/app-segment-config.js +264 -12
  377. package/dist/server/app-server-action-execution.d.ts +16 -12
  378. package/dist/server/app-server-action-execution.js +88 -35
  379. package/dist/server/app-ssr-entry.d.ts +14 -4
  380. package/dist/server/app-ssr-entry.js +64 -17
  381. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  382. package/dist/server/app-ssr-error-meta.js +2 -1
  383. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  384. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  385. package/dist/server/app-ssr-search-params-gate.js +54 -0
  386. package/dist/server/app-ssr-stream.d.ts +13 -9
  387. package/dist/server/app-ssr-stream.js +33 -7
  388. package/dist/server/app-static-generation.d.ts +4 -5
  389. package/dist/server/app-visited-response-cache.d.ts +11 -12
  390. package/dist/server/app-visited-response-cache.js +2 -2
  391. package/dist/server/app-worker-stages.d.ts +112 -0
  392. package/dist/server/app-worker-stages.js +105 -0
  393. package/dist/server/artifact-compatibility.d.ts +11 -12
  394. package/dist/server/before-interactive-head.d.ts +2 -3
  395. package/dist/server/bfcache-identity.d.ts +7 -8
  396. package/dist/server/cache-control.d.ts +39 -11
  397. package/dist/server/cache-control.js +104 -7
  398. package/dist/server/cache-headers.d.ts +3 -4
  399. package/dist/server/cache-proof.d.ts +75 -70
  400. package/dist/server/cache-proof.js +9 -1
  401. package/dist/server/cacheability-limits.d.ts +8 -0
  402. package/dist/server/cacheability-limits.js +9 -0
  403. package/dist/server/cacheability-manifest.d.ts +68 -0
  404. package/dist/server/cacheability-manifest.js +241 -0
  405. package/dist/server/cacheability-request.d.ts +49 -0
  406. package/dist/server/cacheability-request.js +559 -0
  407. package/dist/server/client-reuse-manifest.d.ts +17 -18
  408. package/dist/server/client-reuse-manifest.js +2 -2
  409. package/dist/server/client-trace-metadata.d.ts +9 -6
  410. package/dist/server/client-trace-metadata.js +27 -15
  411. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  412. package/dist/server/cloudflare-workers-tracing.js +8 -0
  413. package/dist/server/config-headers.d.ts +19 -5
  414. package/dist/server/config-headers.js +39 -5
  415. package/dist/server/cookie-utils.d.ts +2 -3
  416. package/dist/server/csp.d.ts +5 -6
  417. package/dist/server/default-global-error-module.d.ts +2 -3
  418. package/dist/server/default-global-not-found-module.d.ts +2 -3
  419. package/dist/server/default-not-found-module.d.ts +2 -3
  420. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  421. package/dist/server/defer-until-stream-consumed.js +2 -1
  422. package/dist/server/dev-initial-server-error.d.ts +3 -4
  423. package/dist/server/dev-initial-server-error.js +2 -1
  424. package/dist/server/dev-lockfile.d.ts +7 -8
  425. package/dist/server/dev-lockfile.js +4 -1
  426. package/dist/server/dev-module-runner.d.ts +2 -3
  427. package/dist/server/dev-origin-check.d.ts +5 -6
  428. package/dist/server/dev-route-files.d.ts +2 -3
  429. package/dist/server/dev-server.d.ts +4 -5
  430. package/dist/server/dev-server.js +130 -61
  431. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  432. package/dist/server/dev-stack-sourcemap.js +1 -1
  433. package/dist/server/document-initial-head.d.ts +3 -4
  434. package/dist/server/edge-api-runtime.d.ts +4 -5
  435. package/dist/server/fetch-handler.d.ts +3 -2
  436. package/dist/server/fetch-handler.js +3 -18
  437. package/dist/server/file-based-metadata.d.ts +2 -3
  438. package/dist/server/framework-tracer.d.ts +46 -0
  439. package/dist/server/framework-tracer.js +125 -0
  440. package/dist/server/fully-buffered-response.d.ts +11 -0
  441. package/dist/server/fully-buffered-response.js +19 -0
  442. package/dist/server/headers.d.ts +62 -56
  443. package/dist/server/headers.js +33 -20
  444. package/dist/server/html.d.ts +6 -27
  445. package/dist/server/html.js +16 -1
  446. package/dist/server/http-conditional.d.ts +5 -6
  447. package/dist/server/http-date.d.ts +2 -3
  448. package/dist/server/http-error-responses.d.ts +9 -10
  449. package/dist/server/http-range.d.ts +4 -5
  450. package/dist/server/hybrid-route-priority.d.ts +4 -5
  451. package/dist/server/image-optimization.d.ts +20 -21
  452. package/dist/server/implicit-tags.d.ts +3 -4
  453. package/dist/server/instrumentation-runtime.d.ts +17 -21
  454. package/dist/server/instrumentation-runtime.js +26 -8
  455. package/dist/server/instrumentation.d.ts +26 -30
  456. package/dist/server/instrumentation.js +18 -23
  457. package/dist/server/isr-cache.d.ts +28 -27
  458. package/dist/server/isr-cache.js +18 -70
  459. package/dist/server/isr-decision.d.ts +4 -4
  460. package/dist/server/metadata-route-build-data.d.ts +4 -5
  461. package/dist/server/metadata-route-cache-policy.d.ts +2 -3
  462. package/dist/server/metadata-route-response.d.ts +7 -7
  463. package/dist/server/metadata-route-response.js +68 -2
  464. package/dist/server/metadata-routes.d.ts +18 -19
  465. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  466. package/dist/server/middleware-matcher.d.ts +13 -6
  467. package/dist/server/middleware-matcher.js +22 -1
  468. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  469. package/dist/server/middleware-path-to-regexp.js +11 -9
  470. package/dist/server/middleware-response-headers.d.ts +3 -4
  471. package/dist/server/middleware-runtime.d.ts +13 -8
  472. package/dist/server/middleware-runtime.js +54 -10
  473. package/dist/server/middleware.d.ts +5 -5
  474. package/dist/server/multi-stage.d.ts +141 -0
  475. package/dist/server/multi-stage.js +8 -0
  476. package/dist/server/navigation-planner.d.ts +26 -26
  477. package/dist/server/navigation-trace.d.ts +11 -12
  478. package/dist/server/next-error-digest.d.ts +4 -5
  479. package/dist/server/normalize-path.d.ts +5 -6
  480. package/dist/server/normalize-path.js +1 -1
  481. package/dist/server/open-redirect.d.ts +2 -3
  482. package/dist/server/opentelemetry-api.d.ts +59 -0
  483. package/dist/server/opentelemetry-api.js +53 -0
  484. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  485. package/dist/server/opentelemetry-tracing.js +83 -0
  486. package/dist/server/operation-token.d.ts +11 -12
  487. package/dist/server/otel-tracer-extension.d.ts +7 -9
  488. package/dist/server/otel-tracer-extension.js +37 -36
  489. package/dist/server/pages-api-route.d.ts +5 -4
  490. package/dist/server/pages-api-route.js +21 -8
  491. package/dist/server/pages-asset-tags.d.ts +6 -6
  492. package/dist/server/pages-asset-tags.js +37 -2
  493. package/dist/server/pages-body-parser-config.d.ts +4 -5
  494. package/dist/server/pages-body-parser-config.js +4 -4
  495. package/dist/server/pages-client-assets.d.ts +11 -5
  496. package/dist/server/pages-data-route.d.ts +11 -12
  497. package/dist/server/pages-data-route.js +1 -1
  498. package/dist/server/pages-default-404.d.ts +3 -4
  499. package/dist/server/pages-dev-hydration.d.ts +9 -4
  500. package/dist/server/pages-dev-hydration.js +19 -7
  501. package/dist/server/pages-dev-module-url.d.ts +3 -4
  502. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  503. package/dist/server/pages-document-asset-props.d.ts +6 -7
  504. package/dist/server/pages-document-initial-props.d.ts +5 -5
  505. package/dist/server/pages-document-initial-props.js +4 -2
  506. package/dist/server/pages-execution-tracing.d.ts +40 -0
  507. package/dist/server/pages-execution-tracing.js +80 -0
  508. package/dist/server/pages-get-initial-props.d.ts +9 -10
  509. package/dist/server/pages-i18n.d.ts +8 -8
  510. package/dist/server/pages-i18n.js +3 -2
  511. package/dist/server/pages-media-type.d.ts +4 -5
  512. package/dist/server/pages-node-compat.d.ts +11 -10
  513. package/dist/server/pages-node-compat.js +12 -4
  514. package/dist/server/pages-page-data.d.ts +18 -19
  515. package/dist/server/pages-page-data.js +11 -10
  516. package/dist/server/pages-page-handler.d.ts +7 -6
  517. package/dist/server/pages-page-handler.js +98 -47
  518. package/dist/server/pages-page-method.d.ts +2 -3
  519. package/dist/server/pages-page-response.d.ts +14 -10
  520. package/dist/server/pages-page-response.js +49 -31
  521. package/dist/server/pages-preview.d.ts +10 -11
  522. package/dist/server/pages-readiness.d.ts +2 -3
  523. package/dist/server/pages-request-pipeline.d.ts +16 -12
  524. package/dist/server/pages-request-pipeline.js +69 -28
  525. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  526. package/dist/server/pages-request-stage-entry.js +314 -0
  527. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  528. package/dist/server/pages-response-stage-entry.js +106 -0
  529. package/dist/server/pages-response-stage.d.ts +31 -0
  530. package/dist/server/pages-response-stage.js +49 -0
  531. package/dist/server/pages-revalidate.d.ts +3 -4
  532. package/dist/server/pages-revalidate.js +9 -4
  533. package/dist/server/pages-route-data-kind.d.ts +18 -0
  534. package/dist/server/pages-route-data-kind.js +11 -0
  535. package/dist/server/pages-router-entry.d.ts +1 -25
  536. package/dist/server/pages-router-entry.js +48 -114
  537. package/dist/server/pages-serializable-props.d.ts +3 -4
  538. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  539. package/dist/server/pregenerated-concrete-paths.js +12 -6
  540. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  541. package/dist/server/prerender-manifest.d.ts +11 -11
  542. package/dist/server/prerender-manifest.js +6 -3
  543. package/dist/server/prerender-route-params.d.ts +16 -9
  544. package/dist/server/prerender-route-params.js +18 -2
  545. package/dist/server/prerender-work-unit-setup.d.ts +4 -4
  546. package/dist/server/prerender-work-unit-setup.js +37 -14
  547. package/dist/server/prod-server.d.ts +12 -9
  548. package/dist/server/prod-server.js +129 -36
  549. package/dist/server/proxy-trust.d.ts +5 -6
  550. package/dist/server/request-log.d.ts +3 -4
  551. package/dist/server/request-pipeline.d.ts +17 -21
  552. package/dist/server/request-pipeline.js +8 -10
  553. package/dist/server/request-stage.d.ts +5 -0
  554. package/dist/server/request-stage.js +7 -0
  555. package/dist/server/request-tracing.d.ts +22 -0
  556. package/dist/server/request-tracing.js +180 -0
  557. package/dist/server/response-stage-cacheability.d.ts +37 -0
  558. package/dist/server/response-stage-cacheability.js +55 -0
  559. package/dist/server/response-stage-policy.d.ts +23 -0
  560. package/dist/server/response-stage-policy.js +89 -0
  561. package/dist/server/response-stage.d.ts +5 -0
  562. package/dist/server/response-stage.js +7 -0
  563. package/dist/server/response-start-tracing.d.ts +14 -0
  564. package/dist/server/response-start-tracing.js +80 -0
  565. package/dist/server/revalidation-host.d.ts +2 -3
  566. package/dist/server/revalidation-host.js +2 -1
  567. package/dist/server/revalidation-request.d.ts +8 -0
  568. package/dist/server/revalidation-request.js +37 -0
  569. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  570. package/dist/server/rsc-stream-hints.d.ts +18 -7
  571. package/dist/server/rsc-stream-hints.js +70 -35
  572. package/dist/server/seed-cache.d.ts +2 -3
  573. package/dist/server/seed-cache.js +8 -7
  574. package/dist/server/server-action-not-found.d.ts +5 -6
  575. package/dist/server/server-globals.d.ts +2 -3
  576. package/dist/server/server-globals.js +13 -0
  577. package/dist/server/skip-cache-proof.d.ts +4 -4
  578. package/dist/server/socket-error-backstop.d.ts +5 -6
  579. package/dist/server/socket-error-backstop.js +1 -1
  580. package/dist/server/static-file-cache.d.ts +5 -6
  581. package/dist/server/static-file-cache.js +9 -7
  582. package/dist/server/static-file-signal.d.ts +16 -0
  583. package/dist/server/static-file-signal.js +82 -0
  584. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  585. package/dist/server/streaming-metadata.d.ts +2 -3
  586. package/dist/server/tracer.d.ts +5 -0
  587. package/dist/server/tracer.js +13 -0
  588. package/dist/server/worker-prerender-discovery.d.ts +18 -0
  589. package/dist/server/worker-prerender-discovery.js +55 -0
  590. package/dist/server/worker-revalidation-context.d.ts +2 -3
  591. package/dist/server/worker-revalidation-context.js +5 -5
  592. package/dist/server/worker-stages.d.ts +43 -0
  593. package/dist/server/worker-stages.js +25 -0
  594. package/dist/server/worker-utils.d.ts +5 -6
  595. package/dist/server/worker-utils.js +4 -4
  596. package/dist/server/workers-tracing.d.ts +17 -0
  597. package/dist/server/workers-tracing.js +27 -0
  598. package/dist/shims/amp.d.ts +3 -4
  599. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  600. package/dist/shims/app-router-scroll.d.ts +4 -5
  601. package/dist/shims/app-router-scroll.js +2 -1
  602. package/dist/shims/app.d.ts +5 -6
  603. package/dist/shims/before-interactive-context.d.ts +5 -6
  604. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  605. package/dist/shims/cache-callable-runtime.js +168 -8
  606. package/dist/shims/cache-for-request.d.ts +2 -3
  607. package/dist/shims/cache-handler.d.ts +33 -20
  608. package/dist/shims/cache-handler.js +61 -2
  609. package/dist/shims/cache-request-state.d.ts +28 -29
  610. package/dist/shims/cache-runtime.d.ts +23 -21
  611. package/dist/shims/cache-runtime.js +239 -121
  612. package/dist/shims/cache.d.ts +15 -15
  613. package/dist/shims/cache.js +25 -13
  614. package/dist/shims/cacheability-classification.d.ts +106 -0
  615. package/dist/shims/cacheability-classification.js +161 -0
  616. package/dist/shims/cdn-cache-state.d.ts +13 -0
  617. package/dist/shims/cdn-cache-state.js +23 -0
  618. package/dist/shims/cdn-cache.d.ts +76 -18
  619. package/dist/shims/cdn-cache.js +40 -39
  620. package/dist/shims/client-hook-error.d.ts +3 -4
  621. package/dist/shims/client-locale.d.ts +2 -3
  622. package/dist/shims/client-page-root.d.ts +24 -0
  623. package/dist/shims/client-page-root.js +121 -0
  624. package/dist/shims/compat-router.d.ts +2 -3
  625. package/dist/shims/config.d.ts +3 -4
  626. package/dist/shims/constants.d.ts +73 -74
  627. package/dist/shims/constants.js +1 -1
  628. package/dist/shims/default-not-found.d.ts +2 -3
  629. package/dist/shims/document.d.ts +9 -9
  630. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  631. package/dist/shims/dynamic-preload-chunks.js +17 -13
  632. package/dist/shims/dynamic.d.ts +3 -3
  633. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  634. package/dist/shims/error-boundary.d.ts +17 -18
  635. package/dist/shims/error-boundary.js +17 -11
  636. package/dist/shims/error.d.ts +4 -4
  637. package/dist/shims/error.js +1 -1
  638. package/dist/shims/error.react-server.d.ts +3 -4
  639. package/dist/shims/fetch-cache.d.ts +22 -22
  640. package/dist/shims/fetch-cache.js +50 -20
  641. package/dist/shims/font-google-base.d.ts +9 -9
  642. package/dist/shims/font-google-base.js +2 -1
  643. package/dist/shims/font-local.d.ts +3 -3
  644. package/dist/shims/font-local.js +1 -1
  645. package/dist/shims/font-utils.d.ts +14 -15
  646. package/dist/shims/form.d.ts +2 -2
  647. package/dist/shims/form.js +10 -7
  648. package/dist/shims/hash-scroll.d.ts +5 -6
  649. package/dist/shims/head-state.d.ts +4 -5
  650. package/dist/shims/head.d.ts +16 -16
  651. package/dist/shims/head.js +5 -4
  652. package/dist/shims/headers.d.ts +68 -32
  653. package/dist/shims/headers.js +101 -10
  654. package/dist/shims/i18n-context.d.ts +5 -6
  655. package/dist/shims/i18n-state.d.ts +4 -5
  656. package/dist/shims/image-config.d.ts +5 -6
  657. package/dist/shims/image-config.js +2 -0
  658. package/dist/shims/image.d.ts +5 -5
  659. package/dist/shims/image.js +12 -8
  660. package/dist/shims/internal/als-registry.d.ts +4 -5
  661. package/dist/shims/internal/api-utils.d.ts +3 -4
  662. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  663. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  664. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  665. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +13 -0
  666. package/dist/shims/internal/app-prefetch-rsc-request.js +12 -0
  667. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  668. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -6
  669. package/dist/shims/internal/app-route-prefetch-policy.js +1 -0
  670. package/dist/shims/internal/app-router-context.d.ts +9 -10
  671. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  672. package/dist/shims/internal/format-url-object.d.ts +7 -0
  673. package/dist/shims/internal/format-url-object.js +53 -0
  674. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  675. package/dist/shims/internal/hybrid-client-route-owner-direct.js +29 -11
  676. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  677. package/dist/shims/internal/hybrid-client-route-owner.js +5 -4
  678. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  679. package/dist/shims/internal/interpolate-as.js +4 -2
  680. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  681. package/dist/shims/internal/make-hanging-promise.d.ts +8 -3
  682. package/dist/shims/internal/make-hanging-promise.js +13 -2
  683. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  684. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  685. package/dist/shims/internal/normalize-router-href.js +41 -0
  686. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  687. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  688. package/dist/shims/internal/pages-data-target.js +32 -36
  689. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  690. package/dist/shims/internal/pages-data-url.js +2 -1
  691. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  692. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  693. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  694. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  695. package/dist/shims/internal/router-context.d.ts +2 -3
  696. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  697. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  698. package/dist/shims/internal/utils.d.ts +7 -8
  699. package/dist/shims/internal/work-unit-async-storage.d.ts +12 -11
  700. package/dist/shims/layout-segment-context.d.ts +3 -4
  701. package/dist/shims/link-prefetch.d.ts +9 -10
  702. package/dist/shims/link.d.ts +4 -4
  703. package/dist/shims/link.js +67 -116
  704. package/dist/shims/metadata.d.ts +15 -16
  705. package/dist/shims/metadata.js +40 -36
  706. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  707. package/dist/shims/navigation-context-accessors.js +19 -0
  708. package/dist/shims/navigation-context-state.d.ts +27 -18
  709. package/dist/shims/navigation-errors.d.ts +18 -19
  710. package/dist/shims/navigation-state.d.ts +6 -7
  711. package/dist/shims/navigation.d.ts +80 -68
  712. package/dist/shims/navigation.js +45 -17
  713. package/dist/shims/navigation.react-server.d.ts +9 -9
  714. package/dist/shims/navigation.react-server.js +1 -1
  715. package/dist/shims/offline.d.ts +2 -3
  716. package/dist/shims/og.d.ts +2 -2
  717. package/dist/shims/pages-router-runtime.d.ts +4 -5
  718. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  719. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  720. package/dist/shims/request-context.d.ts +7 -6
  721. package/dist/shims/root-params.d.ts +14 -15
  722. package/dist/shims/router-state.d.ts +5 -6
  723. package/dist/shims/router-state.js +1 -1
  724. package/dist/shims/router.d.ts +22 -21
  725. package/dist/shims/router.js +339 -164
  726. package/dist/shims/script-nonce-context.d.ts +8 -6
  727. package/dist/shims/script-nonce-context.js +15 -6
  728. package/dist/shims/script.d.ts +4 -4
  729. package/dist/shims/script.js +9 -7
  730. package/dist/shims/search-params-gate.d.ts +35 -0
  731. package/dist/shims/search-params-gate.js +32 -0
  732. package/dist/shims/server.d.ts +19 -51
  733. package/dist/shims/server.js +14 -28
  734. package/dist/shims/slot.d.ts +33 -15
  735. package/dist/shims/slot.js +41 -9
  736. package/dist/shims/streamed-icons.d.ts +3 -4
  737. package/dist/shims/thenable-params.d.ts +5 -7
  738. package/dist/shims/thenable-params.js +3 -24
  739. package/dist/shims/unified-request-context.d.ts +34 -31
  740. package/dist/shims/unified-request-context.js +34 -24
  741. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  742. package/dist/shims/url-safety.d.ts +5 -6
  743. package/dist/shims/url-utils.d.ts +18 -12
  744. package/dist/shims/url-utils.js +10 -1
  745. package/dist/shims/use-merged-ref.d.ts +2 -3
  746. package/dist/shims/user-agent.d.ts +31 -0
  747. package/dist/shims/user-agent.js +16 -0
  748. package/dist/shims/web-vitals.d.ts +2 -2
  749. package/dist/typegen.d.ts +3 -4
  750. package/dist/utils/asset-prefix.d.ts +7 -8
  751. package/dist/utils/base-path.d.ts +5 -6
  752. package/dist/utils/built-asset-url.d.ts +2 -3
  753. package/dist/utils/built-asset-url.js +1 -1
  754. package/dist/utils/cache-control-metadata.d.ts +4 -5
  755. package/dist/utils/client-build-manifest.d.ts +6 -7
  756. package/dist/utils/client-build-manifest.js +2 -1
  757. package/dist/utils/client-entry-manifest.d.ts +6 -7
  758. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  759. package/dist/utils/client-runtime-metadata.js +18 -1
  760. package/dist/utils/commonjs-loader.d.ts +4 -5
  761. package/dist/utils/compare.d.ts +2 -3
  762. package/dist/utils/deployment-id.d.ts +6 -7
  763. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  764. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  765. package/dist/utils/domain-locale.d.ts +7 -8
  766. package/dist/utils/encode-cache-tag.d.ts +3 -4
  767. package/dist/utils/error-cause.d.ts +2 -3
  768. package/dist/utils/external-url.d.ts +2 -3
  769. package/dist/utils/has-trailing-comma.d.ts +3 -4
  770. package/dist/utils/hash.d.ts +3 -4
  771. package/dist/utils/html-limited-bots.d.ts +3 -4
  772. package/dist/utils/lazy-chunks.d.ts +8 -9
  773. package/dist/utils/lazy-chunks.js +4 -4
  774. package/dist/utils/manifest-paths.d.ts +5 -6
  775. package/dist/utils/mdx-scan.d.ts +11 -4
  776. package/dist/utils/mdx-scan.js +27 -1
  777. package/dist/utils/middleware-request-headers.d.ts +7 -6
  778. package/dist/utils/middleware-request-headers.js +6 -1
  779. package/dist/utils/navigation-signal.d.ts +3 -3
  780. package/dist/utils/navigation-signal.js +16 -1
  781. package/dist/utils/number.d.ts +2 -3
  782. package/dist/utils/package-name.d.ts +3 -4
  783. package/dist/utils/parse-cookie.d.ts +4 -5
  784. package/dist/utils/path.d.ts +8 -9
  785. package/dist/utils/plugin-options.d.ts +2 -3
  786. package/dist/utils/precompressed-variant.d.ts +3 -4
  787. package/dist/utils/prerender-output-paths.d.ts +9 -10
  788. package/dist/utils/prerender-output-paths.js +16 -9
  789. package/dist/utils/project.d.ts +19 -30
  790. package/dist/utils/project.js +20 -29
  791. package/dist/utils/promise.d.ts +2 -3
  792. package/dist/utils/protocol-headers.d.ts +14 -15
  793. package/dist/utils/public-file-path.d.ts +2 -3
  794. package/dist/utils/public-routes.d.ts +2 -3
  795. package/dist/utils/query.d.ts +14 -9
  796. package/dist/utils/query.js +22 -1
  797. package/dist/utils/react-compiler-support.d.ts +6 -7
  798. package/dist/utils/react-version.d.ts +4 -3
  799. package/dist/utils/react-version.js +19 -1
  800. package/dist/utils/record.d.ts +2 -3
  801. package/dist/utils/redirect-digest.d.ts +3 -4
  802. package/dist/utils/regex-safety.d.ts +4 -5
  803. package/dist/utils/regex.d.ts +2 -3
  804. package/dist/utils/safe-json-file.d.ts +2 -3
  805. package/dist/utils/sorted-array.d.ts +2 -3
  806. package/dist/utils/text-stream.d.ts +3 -4
  807. package/dist/utils/vinext-root.d.ts +2 -3
  808. package/dist/utils/virtual-module.d.ts +3 -4
  809. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  810. package/dist/utils/vite-cli-invocation.js +144 -0
  811. package/dist/utils/vite-version.d.ts +5 -6
  812. package/next-package.json +4 -0
  813. package/package.json +55 -6
@@ -1,7 +1,7 @@
1
- import { normalizeHost, parseCookies, requestContextFromRequest } from "./request-context.js";
2
1
  import { PRERENDER_REVALIDATE_HEADER, PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER, VINEXT_MW_CTX_HEADER, VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, VINEXT_PRERENDER_SECRET_HEADER, VINEXT_REVALIDATE_HOST_HEADER } from "../utils/protocol-headers.js";
3
2
  import { buildRequestHeadersFromMiddlewareResponse, getUnconsumedMiddlewareRequestHeaders } from "../utils/middleware-request-headers.js";
4
3
  import { analyzeRegexSafety } from "../utils/regex-safety.js";
4
+ import { normalizeHost, parseCookies, requestContextFromRequest } from "./request-context.js";
5
5
  import { isExternalUrl } from "../utils/external-url.js";
6
6
  //#region src/config/config-matchers.ts
7
7
  /**
@@ -258,9 +258,7 @@ function escapeHeaderSource(source) {
258
258
  case "*":
259
259
  result += ".*";
260
260
  break;
261
- default:
262
- result += m[0];
263
- break;
261
+ default: result += m[0];
264
262
  }
265
263
  return result;
266
264
  }
@@ -546,7 +544,7 @@ function matchConfigPattern(pathname, pattern) {
546
544
  * an original index < N are checked via matchConfigPattern first — they are
547
545
  * few in practice (typically zero) so this is not a hot-path concern.
548
546
  */
549
- function matchRedirect(pathname, redirects, ctx, basePathState = _BASEPATH_DEFAULT) {
547
+ function matchRedirect(pathname, redirects, ctx, basePathState = _BASEPATH_DEFAULT, onRuleSourceMatch) {
550
548
  if (redirects.length === 0) return null;
551
549
  const normalizedPathname = stripTrailingSlashForConfigMatch(pathname);
552
550
  const index = _getRedirectIndex(redirects);
@@ -559,6 +557,7 @@ function matchRedirect(pathname, redirects, ctx, basePathState = _BASEPATH_DEFAU
559
557
  if (entry.originalIndex >= localeMatchIndex) continue;
560
558
  const redirect = entry.redirect;
561
559
  if (!shouldEvaluateRule(redirect.basePath, basePathState)) continue;
560
+ onRuleSourceMatch?.(redirect);
562
561
  const conditionParams = redirect.has || redirect.missing ? collectConditionParams(redirect.has, redirect.missing, ctx) : _emptyParams();
563
562
  if (!conditionParams) continue;
564
563
  localeMatch = {
@@ -581,6 +580,7 @@ function matchRedirect(pathname, redirects, ctx, basePathState = _BASEPATH_DEFAU
581
580
  if (!entry.altRe.test(localePart)) continue;
582
581
  const redirect = entry.redirect;
583
582
  if (!shouldEvaluateRule(redirect.basePath, basePathState)) continue;
583
+ onRuleSourceMatch?.(redirect);
584
584
  const conditionParams = redirect.has || redirect.missing ? collectConditionParams(redirect.has, redirect.missing, ctx) : _emptyParams();
585
585
  if (!conditionParams) continue;
586
586
  localeMatch = {
@@ -600,6 +600,7 @@ function matchRedirect(pathname, redirects, ctx, basePathState = _BASEPATH_DEFAU
600
600
  if (!shouldEvaluateRule(redirect.basePath, basePathState)) continue;
601
601
  const params = matchConfigPattern(pathname, redirect.source);
602
602
  if (params) {
603
+ onRuleSourceMatch?.(redirect);
603
604
  const conditionParams = redirect.has || redirect.missing ? collectConditionParams(redirect.has, redirect.missing, ctx) : _emptyParams();
604
605
  if (!conditionParams) continue;
605
606
  return {
@@ -621,11 +622,12 @@ function matchRedirect(pathname, redirects, ctx, basePathState = _BASEPATH_DEFAU
621
622
  * to evaluate has/missing conditions. Next.js always has request context
622
623
  * when evaluating rewrites, so this parameter is required.
623
624
  */
624
- function matchRewrite(pathname, rewrites, ctx, basePathState = _BASEPATH_DEFAULT, paramsPathname = pathname) {
625
+ function matchRewrite(pathname, rewrites, ctx, basePathState = _BASEPATH_DEFAULT, paramsPathname = pathname, onRuleSourceMatch) {
625
626
  for (const rewrite of rewrites) {
626
627
  if (!shouldEvaluateRule(rewrite.basePath, basePathState)) continue;
627
628
  const matchedParams = matchConfigPattern(pathname, rewrite.source);
628
629
  if (matchedParams) {
630
+ onRuleSourceMatch?.(rewrite);
629
631
  const params = paramsPathname === pathname ? matchedParams : matchConfigPattern(paramsPathname, rewrite.source) ?? matchedParams;
630
632
  const conditionParams = rewrite.has || rewrite.missing ? collectConditionParams(rewrite.has, rewrite.missing, ctx) : _emptyParams();
631
633
  if (!conditionParams) continue;
@@ -891,7 +893,7 @@ async function proxyExternalRequest(request, externalUrl) {
891
893
  * to evaluate has/missing conditions. Next.js always has request context
892
894
  * when evaluating headers, so this parameter is required.
893
895
  */
894
- function matchHeaders(pathname, headers, ctx, basePathState = _BASEPATH_DEFAULT) {
896
+ function matchHeaders(pathname, headers, ctx, basePathState = _BASEPATH_DEFAULT, onRuleSourceMatch) {
895
897
  const pathnameHadTrailingSlash = pathname.length > 1 && pathname.endsWith("/");
896
898
  pathname = stripTrailingSlashForConfigMatch(pathname);
897
899
  const result = [];
@@ -900,6 +902,7 @@ function matchHeaders(pathname, headers, ctx, basePathState = _BASEPATH_DEFAULT)
900
902
  const source = pathnameHadTrailingSlash ? stripTrailingSlashForConfigMatch(rule.source) : rule.source;
901
903
  const sourceRegex = getCachedRegex(_compiledHeaderSourceCache, source, () => safeRegExp("^" + escapeHeaderSource(source) + "$", "i"));
902
904
  if (sourceRegex && sourceRegex.test(pathname)) {
905
+ onRuleSourceMatch?.(rule);
903
906
  if (rule.has || rule.missing) {
904
907
  if (!checkHasConditions(rule.has, rule.missing, ctx)) continue;
905
908
  }
@@ -22,7 +22,7 @@ type LoadDotenvResult = {
22
22
  /**
23
23
  * Next.js-compatible dotenv lookup order (highest priority first).
24
24
  */
25
- declare function getDotenvFiles(mode: string): string[];
25
+ export declare function getDotenvFiles(mode: string): string[];
26
26
  /**
27
27
  * Load .env files into processEnv with Next.js-like precedence:
28
28
  * process.env > .env.<mode>.local > .env.local > .env.<mode> > .env.
@@ -46,6 +46,5 @@ declare function getDotenvFiles(mode: string): string[];
46
46
  * pass is effectively a no-op for overlapping keys. For `start` and `deploy`
47
47
  * commands (which don't go through Vite at all), this is the only loading.
48
48
  */
49
- declare function loadDotenv({ root, mode, processEnv }: LoadDotenvOptions): LoadDotenvResult;
50
- //#endregion
51
- export { getDotenvFiles, loadDotenv };
49
+ export declare function loadDotenv({ root, mode, processEnv }: LoadDotenvOptions): LoadDotenvResult;
50
+ //#endregion
@@ -42,7 +42,8 @@ function loadDotenv({ root, mode, processEnv = process.env }) {
42
42
  for (const relativeFile of getDotenvFiles(mode)) {
43
43
  const filePath = path.join(root, relativeFile);
44
44
  if (!fs.existsSync(filePath)) continue;
45
- const expanded = expandEnv(parseEnv(fs.readFileSync(filePath, "utf-8")), processEnv);
45
+ const fileContent = fs.readFileSync(filePath, "utf-8");
46
+ const expanded = expandEnv(parseEnv(fileContent), processEnv);
46
47
  for (const [key, value] of Object.entries(expanded)) {
47
48
  if (processEnv[key] !== void 0) continue;
48
49
  processEnv[key] = value;
@@ -1,7 +1,7 @@
1
1
  import { PHASE_PRODUCTION_BUILD } from "../shims/constants.js";
2
2
  import { PluginOption } from "vite";
3
3
  //#region src/config/next-config.d.ts
4
- declare const VINEXT_NEXT_CONFIG_PLUGIN_PROPERTY = "__vinextNextConfig";
4
+ export declare const VINEXT_NEXT_CONFIG_PLUGIN_PROPERTY = "__vinextNextConfig";
5
5
  /**
6
6
  * Parse a body size limit value (string or number) into bytes.
7
7
  * Accepts Next.js-style strings like "1mb", "500kb", "10mb", bare number strings like "1048576" (bytes),
@@ -9,13 +9,13 @@ declare const VINEXT_NEXT_CONFIG_PLUGIN_PROPERTY = "__vinextNextConfig";
9
9
  * Returns the default 1MB if the value is not provided or invalid.
10
10
  * Throws if the parsed value is less than 1.
11
11
  */
12
- declare function parseBodySizeLimit(value: string | number | undefined | null): number;
13
- type HasCondition = {
12
+ export declare function parseBodySizeLimit(value: string | number | undefined | null): number;
13
+ export type HasCondition = {
14
14
  type: "header" | "cookie" | "query" | "host";
15
15
  key: string;
16
16
  value?: string;
17
17
  };
18
- type NextRedirect = {
18
+ export type NextRedirect = {
19
19
  source: string;
20
20
  destination: string;
21
21
  permanent: boolean;
@@ -37,7 +37,7 @@ type NextRedirect = {
37
37
  */
38
38
  basePath?: false;
39
39
  };
40
- type NextRewrite = {
40
+ export type NextRewrite = {
41
41
  source: string;
42
42
  destination: string;
43
43
  has?: HasCondition[];
@@ -47,7 +47,7 @@ type NextRewrite = {
47
47
  /** See {@link NextRedirect.basePath}. */
48
48
  basePath?: false;
49
49
  };
50
- type NextHeader = {
50
+ export type NextHeader = {
51
51
  source: string;
52
52
  has?: HasCondition[];
53
53
  missing?: HasCondition[];
@@ -60,7 +60,7 @@ type NextHeader = {
60
60
  /** See {@link NextRedirect.locale}. */
61
61
  locale?: false;
62
62
  };
63
- type NextI18nConfig = {
63
+ export type NextI18nConfig = {
64
64
  /** List of supported locales */
65
65
  locales: string[];
66
66
  /** The default locale (used when no locale prefix is in the URL) */
@@ -85,16 +85,16 @@ type NextI18nConfig = {
85
85
  * These are passed through to @mdx-js/rollup so that custom
86
86
  * remark/rehype/recma plugins configured in next.config work with Vite.
87
87
  */
88
- type MdxOptions = {
88
+ export type MdxOptions = {
89
89
  remarkPlugins?: unknown[];
90
90
  rehypePlugins?: unknown[];
91
91
  recmaPlugins?: unknown[];
92
92
  };
93
- type PrefetchInliningConfig = false | {
93
+ export type PrefetchInliningConfig = false | {
94
94
  maxBundleSize: number;
95
95
  maxSize: number;
96
96
  };
97
- type NextConfig = {
97
+ export type NextConfig = {
98
98
  /** Additional env variables */
99
99
  env?: Record<string, string>;
100
100
  /** Base URL path prefix */
@@ -208,7 +208,7 @@ type NextConfig = {
208
208
  cacheComponents?: boolean;
209
209
  /**
210
210
  * Enables source maps while generating static pages.
211
- * Helps with errors during the prerender phase in `vinext build`.
211
+ * Helps with errors during the prerender phase in `vite build`.
212
212
  * Defaults to `true`. Set to `false` to disable.
213
213
  */
214
214
  enablePrerenderSourceMaps?: boolean;
@@ -289,12 +289,12 @@ type NextConfig = {
289
289
  type NextConfigFactory = (phase: string, opts: {
290
290
  defaultConfig: NextConfig;
291
291
  }) => NextConfig | Promise<NextConfig>;
292
- type NextConfigInput = NextConfig | NextConfigFactory;
293
- declare function findVinextNextConfigInPlugins(plugins: PluginOption[] | undefined): Promise<NextConfigInput | null>;
292
+ export type NextConfigInput = NextConfig | NextConfigFactory;
293
+ export declare function findVinextNextConfigInPlugins(plugins: PluginOption[] | undefined): Promise<NextConfigInput | null>;
294
294
  /**
295
295
  * Resolved configuration with all async values awaited.
296
296
  */
297
- type ResolvedNextConfig = {
297
+ export type ResolvedNextConfig = {
298
298
  env: Record<string, string>;
299
299
  basePath: string;
300
300
  /**
@@ -321,6 +321,10 @@ type ResolvedNextConfig = {
321
321
  resolveExtensions: string[] | null;
322
322
  serverResolveExtensions: string[] | null;
323
323
  instrumentationClientInject: string[];
324
+ /** Route manifest injected by Next.js-compatible instrumentation plugins. */
325
+ instrumentationClientRouteManifest: string | undefined;
326
+ /** Server globals injected into instrumentation.ts by wrapped webpack configs. */
327
+ instrumentationServerValueInjections: Record<string, unknown>;
324
328
  cacheComponents: boolean;
325
329
  appNavFailHandling: boolean;
326
330
  /**
@@ -540,7 +544,7 @@ type ResolvedNextConfig = {
540
544
  * Note: `\bexports\b` does not match `export default` (different word
541
545
  * boundaries), and `\brequire\b` does not match `requireSomething`.
542
546
  */
543
- declare function referencesCjsGlobals(source: string): boolean;
547
+ export declare function referencesCjsGlobals(source: string): boolean;
544
548
  /**
545
549
  * Static heuristic: returns true when the source appears to assign to
546
550
  * `module.exports` — either via `module.exports = …`, `module.exports.foo = …`,
@@ -558,9 +562,9 @@ declare function referencesCjsGlobals(source: string): boolean;
558
562
  * as the config — equivalent to today's sentinel logic for pure-ESM files
559
563
  * that happen to mention `module.exports` only in a string).
560
564
  */
561
- declare function reassignsModuleExports(source: string): boolean;
562
- declare function findNextConfigPath(root: string): string | null;
563
- declare function resolveNextConfigInput(config: NextConfigInput, phase?: string): Promise<NextConfig>;
565
+ export declare function reassignsModuleExports(source: string): boolean;
566
+ export declare function findNextConfigPath(root: string): string | null;
567
+ export declare function resolveNextConfigInput(config: NextConfigInput, phase?: string): Promise<NextConfig>;
564
568
  /**
565
569
  * Find and load the next.config file from the project root.
566
570
  * Returns null if no config file is found.
@@ -572,7 +576,7 @@ declare function resolveNextConfigInput(config: NextConfigInput, phase?: string)
572
576
  * `next.config.js` files written in CJS syntax inside a `"type": "module"`
573
577
  * package (the common shape after `vinext init`).
574
578
  */
575
- declare function loadNextConfig(root: string, phase?: string): Promise<NextConfig | null>;
579
+ export declare function loadNextConfig(root: string, phase?: string): Promise<NextConfig | null>;
576
580
  /**
577
581
  * Normalize the `assetPrefix` option from next.config.
578
582
  *
@@ -587,7 +591,7 @@ declare function loadNextConfig(root: string, phase?: string): Promise<NextConfi
587
591
  *
588
592
  * @see https://nextjs.org/docs/app/api-reference/config/next-config-js/assetPrefix
589
593
  */
590
- declare function normalizeAssetPrefix(value: unknown): string;
594
+ export declare function normalizeAssetPrefix(value: unknown): string;
591
595
  /**
592
596
  * Resolve the App Router RSC compatibility identity for a build.
593
597
  *
@@ -598,17 +602,17 @@ declare function normalizeAssetPrefix(value: unknown): string;
598
602
  * across plugin instances); otherwise we mint a random UUID.
599
603
  *
600
604
  * NOTE: like `resolveBuildId`, this is non-deterministic in the no-deploymentId
601
- * case, so a single `vinext build` that instantiates the plugin more than once
605
+ * case, so a single `vite build` that instantiates the plugin more than once
602
606
  * (App Router `buildApp()` + the hybrid Pages Router `vite.build()`) must
603
607
  * resolve it once and share it — see `__VINEXT_SHARED_RSC_COMPATIBILITY_ID`.
604
608
  */
605
- declare function createRscCompatibilityId(nextConfig: Pick<ResolvedNextConfig, "deploymentId">): string;
606
- declare function lightningCssFeatureNamesToMask(names: readonly string[]): number;
609
+ export declare function createRscCompatibilityId(nextConfig: Pick<ResolvedNextConfig, "deploymentId">): string;
610
+ export declare function lightningCssFeatureNamesToMask(names: readonly string[]): number;
607
611
  /**
608
612
  * Resolve a NextConfig into a fully-resolved ResolvedNextConfig.
609
613
  * Awaits async functions for redirects/rewrites/headers.
610
614
  */
611
- declare function resolveNextConfig(config: NextConfig | null, root?: string, options?: {
615
+ export declare function resolveNextConfig(config: NextConfig | null, root?: string, options?: {
612
616
  dev?: boolean;
613
617
  }): Promise<ResolvedNextConfig>;
614
618
  /**
@@ -619,7 +623,7 @@ declare function resolveNextConfig(config: NextConfig | null, root?: string, opt
619
623
  * loader rule. The remark/rehype plugins are captured in that closure.
620
624
  * We probe the webpack function with a mock config to extract them.
621
625
  */
622
- declare function extractMdxOptions(config: NextConfig, root?: string): Promise<MdxOptions | null>;
626
+ export declare function extractMdxOptions(config: NextConfig, root?: string): Promise<MdxOptions | null>;
623
627
  /**
624
628
  * Detect next-intl in the project and auto-register the `next-intl/config`
625
629
  * alias if needed.
@@ -636,6 +640,6 @@ declare function extractMdxOptions(config: NextConfig, root?: string): Promise<M
636
640
  *
637
641
  * Mutates `resolved.aliases` and `resolved.env` in place.
638
642
  */
639
- declare function detectNextIntlConfig(root: string, resolved: ResolvedNextConfig): void;
643
+ export declare function detectNextIntlConfig(root: string, resolved: ResolvedNextConfig): void;
640
644
  //#endregion
641
- export { HasCondition, MdxOptions, NextConfig, NextConfigInput, NextHeader, NextI18nConfig, NextRedirect, NextRewrite, PHASE_PRODUCTION_BUILD, PrefetchInliningConfig, ResolvedNextConfig, VINEXT_NEXT_CONFIG_PLUGIN_PROPERTY, createRscCompatibilityId, detectNextIntlConfig, extractMdxOptions, findNextConfigPath, findVinextNextConfigInPlugins, lightningCssFeatureNamesToMask, loadNextConfig, normalizeAssetPrefix, parseBodySizeLimit, reassignsModuleExports, referencesCjsGlobals, resolveNextConfig, resolveNextConfigInput };
645
+ export { PHASE_PRODUCTION_BUILD };
@@ -1,14 +1,15 @@
1
1
  import path, { toSlash } from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
2
2
  import { normalizePageExtensions } from "../routing/file-matcher.js";
3
- import { isExternalUrl } from "../utils/external-url.js";
4
- import { applyLocaleToRoutes } from "./config-matchers.js";
3
+ import { loadCommonJsModule, shouldRetryAsCommonJs } from "../utils/commonjs-loader.js";
5
4
  import { isUnknownRecord } from "../utils/record.js";
5
+ import { PHASE_DEVELOPMENT_SERVER, PHASE_PRODUCTION_BUILD } from "../shims/constants.js";
6
6
  import { getHtmlLimitedBotRegex } from "../utils/html-limited-bots.js";
7
7
  import { flattenPluginOptions } from "../utils/plugin-options.js";
8
- import { PHASE_DEVELOPMENT_SERVER, PHASE_PRODUCTION_BUILD } from "../shims/constants.js";
8
+ import { isExternalUrl } from "../utils/external-url.js";
9
+ import { applyLocaleToRoutes } from "./config-matchers.js";
9
10
  import { loadTsconfigResolutionForRoot } from "./tsconfig-paths.js";
10
- import { loadCommonJsModule, shouldRetryAsCommonJs } from "../utils/commonjs-loader.js";
11
- import { createRequire } from "node:module";
11
+ import { Module, createRequire } from "node:module";
12
+ import { AsyncLocalStorage } from "node:async_hooks";
12
13
  import fs from "node:fs";
13
14
  import { fileURLToPath } from "node:url";
14
15
  import { randomUUID } from "node:crypto";
@@ -21,6 +22,75 @@ import commonjs from "vite-plugin-commonjs";
21
22
  * Unsupported options are logged as warnings.
22
23
  */
23
24
  const VINEXT_NEXT_CONFIG_PLUGIN_PROPERTY = "__vinextNextConfig";
25
+ const CommonJsModule = Module;
26
+ const vinextNextPackageJson = fileURLToPath(new URL("../../next-package.json", import.meta.url));
27
+ let nextPackageIdentityUsers = 0;
28
+ let originalResolveFilename;
29
+ const processWithConfigRootState = process;
30
+ const configRootState = processWithConfigRootState.__vinextConfigRootState ??= {
31
+ storage: new AsyncLocalStorage(),
32
+ queue: Promise.resolve()
33
+ };
34
+ async function withConfigRoot(root, callback) {
35
+ const inheritedLease = configRootState.storage.getStore();
36
+ const lock = inheritedLease?.active ? inheritedLease : configRootState;
37
+ const waitForTurn = lock.queue;
38
+ let release = () => {};
39
+ lock.queue = new Promise((resolve) => {
40
+ release = resolve;
41
+ });
42
+ await waitForTurn;
43
+ const lease = {
44
+ active: true,
45
+ queue: Promise.resolve()
46
+ };
47
+ const run = async () => {
48
+ const previousCwd = process.cwd();
49
+ process.chdir(root);
50
+ try {
51
+ return await callback();
52
+ } finally {
53
+ lease.active = false;
54
+ await lease.queue;
55
+ process.chdir(previousCwd);
56
+ }
57
+ };
58
+ try {
59
+ return await configRootState.storage.run(lease, run);
60
+ } finally {
61
+ release();
62
+ }
63
+ }
64
+ /**
65
+ * Let Next.js config wrappers inspect the framework compatibility version even
66
+ * after an app has replaced the `next` package with vinext.
67
+ *
68
+ * Existing `next` installations always win. The fallback is active only while
69
+ * evaluating next.config, where wrappers such as next-intl and Sentry call
70
+ * `require.resolve("next/package.json")` synchronously.
71
+ */
72
+ async function withNextPackageIdentity(callback) {
73
+ if (nextPackageIdentityUsers++ === 0) {
74
+ originalResolveFilename = CommonJsModule._resolveFilename;
75
+ CommonJsModule._resolveFilename = function resolveFilename(request, ...args) {
76
+ try {
77
+ return originalResolveFilename.call(this, request, ...args);
78
+ } catch (error) {
79
+ if (request === "next/package.json" && error instanceof Error && "code" in error && error.code === "MODULE_NOT_FOUND") return vinextNextPackageJson;
80
+ throw error;
81
+ }
82
+ };
83
+ }
84
+ try {
85
+ return await callback();
86
+ } finally {
87
+ nextPackageIdentityUsers -= 1;
88
+ if (nextPackageIdentityUsers === 0 && originalResolveFilename) {
89
+ CommonJsModule._resolveFilename = originalResolveFilename;
90
+ originalResolveFilename = void 0;
91
+ }
92
+ }
93
+ }
24
94
  /**
25
95
  * Parse a body size limit value (string or number) into bytes.
26
96
  * Accepts Next.js-style strings like "1mb", "500kb", "10mb", bare number strings like "1048576" (bytes),
@@ -29,7 +99,7 @@ const VINEXT_NEXT_CONFIG_PLUGIN_PROPERTY = "__vinextNextConfig";
29
99
  * Throws if the parsed value is less than 1.
30
100
  */
31
101
  function parseBodySizeLimit(value) {
32
- if (value === void 0 || value === null) return 1 * 1024 * 1024;
102
+ if (value === void 0 || value === null) return 1048576;
33
103
  if (typeof value === "number") {
34
104
  if (value < 1) throw new Error(`Body size limit must be a positive number, got ${value}`);
35
105
  return value;
@@ -37,7 +107,7 @@ function parseBodySizeLimit(value) {
37
107
  const match = value.trim().match(/^(\d+(?:\.\d+)?)\s*(b|kb|mb|gb|tb|pb)?$/i);
38
108
  if (!match) {
39
109
  console.warn(`[vinext] Invalid bodySizeLimit value: "${value}". Expected a number or a string like "1mb", "500kb". Falling back to 1MB.`);
40
- return 1 * 1024 * 1024;
110
+ return 1048576;
41
111
  }
42
112
  const num = parseFloat(match[1]);
43
113
  const unit = (match[2] ?? "b").toLowerCase();
@@ -61,7 +131,7 @@ function parseBodySizeLimit(value) {
61
131
  case "pb":
62
132
  bytes = Math.floor(num * 1024 * 1024 * 1024 * 1024 * 1024);
63
133
  break;
64
- default: return 1 * 1024 * 1024;
134
+ default: return 1048576;
65
135
  }
66
136
  if (bytes < 1) throw new Error(`Body size limit must be a positive number, got ${bytes}`);
67
137
  return bytes;
@@ -323,6 +393,9 @@ async function loadConfigViaRequire(configPath, root, phase) {
323
393
  * package (the common shape after `vinext init`).
324
394
  */
325
395
  async function loadNextConfig(root, phase = DEFAULT_PHASE) {
396
+ return withConfigRoot(root, () => withNextPackageIdentity(() => loadNextConfigWithPackageIdentity(root, phase)));
397
+ }
398
+ async function loadNextConfigWithPackageIdentity(root, phase) {
326
399
  const configPath = findNextConfigPath(root);
327
400
  if (!configPath) return null;
328
401
  const filename = path.basename(configPath);
@@ -454,7 +527,7 @@ function resolveDeploymentId(configDeploymentId) {
454
527
  * across plugin instances); otherwise we mint a random UUID.
455
528
  *
456
529
  * NOTE: like `resolveBuildId`, this is non-deterministic in the no-deploymentId
457
- * case, so a single `vinext build` that instantiates the plugin more than once
530
+ * case, so a single `vite build` that instantiates the plugin more than once
458
531
  * (App Router `buildApp()` + the hybrid Pages Router `vite.build()`) must
459
532
  * resolve it once and share it — see `__VINEXT_SHARED_RSC_COMPATIBILITY_ID`.
460
533
  */
@@ -704,7 +777,7 @@ async function resolveNextConfig(config, root = toSlash(process.cwd()), options
704
777
  turbopackTranspilePackages: [...DEFAULT_TRANSPILED_PACKAGES],
705
778
  inlineCss: false,
706
779
  globalNotFound: false,
707
- serverActionsBodySizeLimit: 1 * 1024 * 1024,
780
+ serverActionsBodySizeLimit: 1048576,
708
781
  serverActionsBodySizeLimitLabel: "1 MB",
709
782
  expireTime: DEFAULT_EXPIRE_TIME,
710
783
  reactMaxHeadersLength: DEFAULT_REACT_MAX_HEADERS_LENGTH,
@@ -726,6 +799,8 @@ async function resolveNextConfig(config, root = toSlash(process.cwd()), options
726
799
  compilerDefine: {},
727
800
  compilerDefineServer: {},
728
801
  instrumentationClientInject: [],
802
+ instrumentationClientRouteManifest: void 0,
803
+ instrumentationServerValueInjections: {},
729
804
  clientTraceMetadata: void 0,
730
805
  staleTimes: { ...DEFAULT_STALE_TIMES },
731
806
  useLightningcss: false,
@@ -819,8 +894,10 @@ async function resolveNextConfig(config, root = toSlash(process.cwd()), options
819
894
  };
820
895
  if (rawLightningCssFeatures && !useLightningcss) console.warn("[vinext] experimental.lightningCssFeatures is set but experimental.useLightningcss is not enabled. The lightningCssFeatures option has no effect without useLightningcss.");
821
896
  if (experimental?.cachedNavigations === true && !config.cacheComponents) console.warn("[vinext] `experimental.cachedNavigations` requires `cacheComponents: true` to have any effect. Set `cacheComponents: true` in your next.config, or remove `experimental.cachedNavigations`.");
822
- if (config.webpack !== void 0) if (mdx || Object.keys(webpackProbe.aliases).length > 0 || webpackProbe.resolveExtensionsCustomized) console.warn("[vinext] next.config option \"webpack\" is only partially supported. vinext preserves resolve.alias, resolve.extensions, and MDX loader settings, but other webpack customization is ignored");
823
- else console.warn("[vinext] next.config option \"webpack\" is not yet supported and will be ignored");
897
+ if (config.webpack !== void 0) {
898
+ if (mdx || Object.keys(webpackProbe.aliases).length > 0 || webpackProbe.resolveExtensionsCustomized || webpackProbe.instrumentationClientRouteManifest !== void 0) console.warn("[vinext] next.config option \"webpack\" is only partially supported. vinext preserves resolve.alias, resolve.extensions, MDX loader settings, and instrumentation-client route manifests, but other webpack customization is ignored");
899
+ else console.warn("[vinext] next.config option \"webpack\" is not yet supported and will be ignored");
900
+ }
824
901
  const output = readOptionalString(config.output) ?? "";
825
902
  if (output && output !== "export" && output !== "standalone") console.warn(`[vinext] Unknown output mode "${output}", ignoring`);
826
903
  const pageExtensions = normalizePageExtensions(config.pageExtensions);
@@ -863,6 +940,8 @@ async function resolveNextConfig(config, root = toSlash(process.cwd()), options
863
940
  resolveExtensions: resolveExtensions ?? webpackProbe.resolveExtensions,
864
941
  serverResolveExtensions: resolveExtensions ?? webpackProbe.serverResolveExtensions,
865
942
  instrumentationClientInject: Array.isArray(config.instrumentationClientInject) ? config.instrumentationClientInject.filter((x) => typeof x === "string") : [],
943
+ instrumentationClientRouteManifest: webpackProbe.instrumentationClientRouteManifest,
944
+ instrumentationServerValueInjections: webpackProbe.instrumentationServerValueInjections,
866
945
  cacheComponents: config.cacheComponents ?? false,
867
946
  appNavFailHandling: experimental?.appNavFailHandling === true,
868
947
  gestureTransition: experimental?.gestureTransition === true,
@@ -951,7 +1030,9 @@ async function probeWebpackConfig(config, root, dev) {
951
1030
  mdx: null,
952
1031
  resolveExtensions: null,
953
1032
  serverResolveExtensions: null,
954
- resolveExtensionsCustomized: false
1033
+ resolveExtensionsCustomized: false,
1034
+ instrumentationClientRouteManifest: void 0,
1035
+ instrumentationServerValueInjections: {}
955
1036
  };
956
1037
  try {
957
1038
  const clientProbe = await runWebpackConfigProbe(config, root, {
@@ -969,7 +1050,9 @@ async function probeWebpackConfig(config, root, dev) {
969
1050
  mdx: extractMdxOptionsFromRules(clientProbe.rules),
970
1051
  resolveExtensions: clientProbe.resolveExtensions,
971
1052
  serverResolveExtensions: serverProbe.resolveExtensions,
972
- resolveExtensionsCustomized: clientProbe.resolveExtensions !== null || serverProbe.resolveExtensions !== null
1053
+ resolveExtensionsCustomized: clientProbe.resolveExtensions !== null || serverProbe.resolveExtensions !== null,
1054
+ instrumentationClientRouteManifest: extractInstrumentationClientRouteManifest(clientProbe.rules),
1055
+ instrumentationServerValueInjections: extractInstrumentationServerValueInjections(serverProbe.rules, root)
973
1056
  };
974
1057
  } catch {
975
1058
  return {
@@ -977,10 +1060,69 @@ async function probeWebpackConfig(config, root, dev) {
977
1060
  mdx: null,
978
1061
  resolveExtensions: null,
979
1062
  serverResolveExtensions: null,
980
- resolveExtensionsCustomized: false
1063
+ resolveExtensionsCustomized: false,
1064
+ instrumentationClientRouteManifest: void 0,
1065
+ instrumentationServerValueInjections: {}
981
1066
  };
982
1067
  }
983
1068
  }
1069
+ function isValueInjectionLoader(use) {
1070
+ if (!isUnknownRecord(use) || typeof use.loader !== "string") return false;
1071
+ return /(?:^|[/\\])value-?injection-?loader\.[cm]?[jt]s$/i.test(use.loader);
1072
+ }
1073
+ function extractInstrumentationClientRouteManifest(rules) {
1074
+ let manifest;
1075
+ const visit = (rule) => {
1076
+ if (!rule || typeof rule !== "object") return;
1077
+ if (Array.isArray(rule)) {
1078
+ for (const child of rule) visit(child);
1079
+ return;
1080
+ }
1081
+ if (Array.isArray(rule.oneOf)) for (const child of rule.oneOf) visit(child);
1082
+ if (Array.isArray(rule.rules)) for (const child of rule.rules) visit(child);
1083
+ const uses = Array.isArray(rule.use) ? rule.use : rule.use ? [rule.use] : [];
1084
+ for (const use of uses) {
1085
+ if (!isValueInjectionLoader(use) || !isUnknownRecord(use.options?.values)) continue;
1086
+ const value = use.options.values._sentryRouteManifest;
1087
+ if (typeof value === "string") manifest = value;
1088
+ }
1089
+ };
1090
+ for (const rule of rules) visit(rule);
1091
+ return manifest;
1092
+ }
1093
+ function matchesWebpackCondition(condition, value) {
1094
+ if (typeof condition === "string") return value.startsWith(condition);
1095
+ if (condition instanceof RegExp) {
1096
+ condition.lastIndex = 0;
1097
+ const matches = condition.test(value);
1098
+ condition.lastIndex = 0;
1099
+ return matches;
1100
+ }
1101
+ if (Array.isArray(condition)) return condition.some((child) => matchesWebpackCondition(child, value));
1102
+ return false;
1103
+ }
1104
+ function extractInstrumentationServerValueInjections(rules, root) {
1105
+ const values = {};
1106
+ const candidates = ["instrumentation.ts", "src/instrumentation.ts"].flatMap((candidate) => [candidate, path.join(root, candidate)]);
1107
+ const visit = (rule) => {
1108
+ if (!rule || typeof rule !== "object") return;
1109
+ if (Array.isArray(rule)) {
1110
+ for (const child of rule) visit(child);
1111
+ return;
1112
+ }
1113
+ if (Array.isArray(rule.oneOf)) for (const child of rule.oneOf) visit(child);
1114
+ if (Array.isArray(rule.rules)) for (const child of rule.rules) visit(child);
1115
+ if (!candidates.some((candidate) => matchesWebpackCondition(rule.test, candidate) && (rule.include === void 0 || matchesWebpackCondition(rule.include, candidate)) && (rule.exclude === void 0 || !matchesWebpackCondition(rule.exclude, candidate)))) return;
1116
+ const uses = Array.isArray(rule.use) ? rule.use : rule.use ? [rule.use] : [];
1117
+ for (const use of uses) {
1118
+ if (!isValueInjectionLoader(use)) continue;
1119
+ const injected = use.options?.values;
1120
+ if (isUnknownRecord(injected)) Object.assign(values, injected);
1121
+ }
1122
+ };
1123
+ for (const rule of rules) visit(rule);
1124
+ return values;
1125
+ }
984
1126
  const DEFAULT_WEBPACK_RESOLVE_EXTENSIONS = [
985
1127
  ".js",
986
1128
  ".mjs",
@@ -992,6 +1134,9 @@ const DEFAULT_WEBPACK_RESOLVE_EXTENSIONS = [
992
1134
  ];
993
1135
  async function runWebpackConfigProbe(config, root, options) {
994
1136
  const rules = [];
1137
+ class WebpackPluginStub {
1138
+ constructor(_options) {}
1139
+ }
995
1140
  const mockConfig = {
996
1141
  context: root,
997
1142
  resolve: {
@@ -1002,9 +1147,11 @@ async function runWebpackConfigProbe(config, root, options) {
1002
1147
  plugins: []
1003
1148
  };
1004
1149
  const finalConfig = await config.webpack(mockConfig, {
1150
+ config,
1005
1151
  defaultLoaders: { babel: { loader: "next-babel-loader" } },
1006
1152
  ...options,
1007
- dir: root
1153
+ dir: root,
1154
+ webpack: new Proxy({}, { get: () => WebpackPluginStub })
1008
1155
  }) ?? mockConfig;
1009
1156
  const finalRules = finalConfig.module?.rules ?? rules;
1010
1157
  const extensions = Array.isArray(finalConfig.resolve?.extensions) ? readStringArray(finalConfig.resolve.extensions) : null;
@@ -1,7 +1,7 @@
1
- import { VINEXT_CACHE_CONFIG_PLUGIN_PROPERTY, VinextCacheConfig, findVinextCacheConfigInPlugins, loadVinextCacheConfigFromViteConfig } from "../cache/cache-adapters-virtual.js";
1
+ import { VINEXT_CACHE_CONFIG_PLUGIN_PROPERTY, VinextCacheConfig, cacheWarmupStatusSource, finalizeCacheAdapterPrerenderOutput, findVinextCacheConfigInPlugins, hasBuildIdentityResponseHeader, hasCacheAdapterPrerenderOutput, hasUncachedRequestRouting, hasVerbatimResponseVary, isConfiguredCdnResponsePolicyHeader, loadVinextCacheConfigFromViteConfig, requiresRouteCacheabilityProbeManifest, supportsCanonicalRscWarmup } from "../cache/cache-adapters-virtual.js";
2
2
  import { PluginOption } from "vite";
3
3
  //#region src/config/prerender.d.ts
4
- type VinextPrerenderConfig = true | {
4
+ export type VinextPrerenderConfig = true | {
5
5
  /**
6
6
  * Routes to pre-render after the production build.
7
7
  *
@@ -9,18 +9,22 @@ type VinextPrerenderConfig = true | {
9
9
  * App Router and Pages Router route that vinext can statically render.
10
10
  */
11
11
  routes: "*";
12
+ /** Maximum number of routes to render concurrently. */
13
+ concurrency?: number;
12
14
  };
13
- type ResolvedVinextPrerenderConfig = {
15
+ export type ResolvedVinextPrerenderConfig = {
14
16
  routes: "*";
17
+ concurrency?: number;
15
18
  };
16
- type VinextPrerenderDecisionReason = "flag" | "next-export" | "vinext-config";
17
- type VinextPrerenderDecision = ResolvedVinextPrerenderConfig & {
19
+ export type VinextPrerenderDecisionReason = "flag" | "next-export" | "vinext-config";
20
+ export type VinextPrerenderDecision = ResolvedVinextPrerenderConfig & {
18
21
  reason: VinextPrerenderDecisionReason;
19
22
  };
20
- declare const VINEXT_PRERENDER_CONFIG_PLUGIN_PROPERTY = "__vinextPrerenderConfig";
21
- declare const VINEXT_ROUTE_ROOT_CONFIG_PLUGIN_PROPERTY = "__vinextRouteRootConfig";
22
- type VinextRouteRootConfig = {
23
+ export declare const VINEXT_PRERENDER_CONFIG_PLUGIN_PROPERTY = "__vinextPrerenderConfig";
24
+ export declare const VINEXT_ROUTE_ROOT_CONFIG_PLUGIN_PROPERTY = "__vinextRouteRootConfig";
25
+ export type VinextRouteRootConfig = {
23
26
  appDir?: string;
27
+ clientOutDir?: string;
24
28
  disableAppRouter?: boolean;
25
29
  rscOutDir?: string;
26
30
  ssrOutDir?: string;
@@ -28,16 +32,16 @@ type VinextRouteRootConfig = {
28
32
  type ViteConfigLoader = {
29
33
  loadConfigFromFile: typeof import("vite").loadConfigFromFile;
30
34
  };
31
- declare function normalizeVinextPrerenderConfig(config: VinextPrerenderConfig | undefined): ResolvedVinextPrerenderConfig | null;
32
- declare function findVinextPrerenderConfigInPlugins(plugins: PluginOption[] | undefined): Promise<ResolvedVinextPrerenderConfig | null>;
33
- declare function findVinextRouteRootConfigInPlugins(plugins: PluginOption[] | undefined): Promise<VinextRouteRootConfig | null>;
34
- declare function loadVinextPrerenderConfigFromViteConfig(vite: ViteConfigLoader, root: string): Promise<ResolvedVinextPrerenderConfig | null>;
35
- declare function loadVinextRouteRootConfigFromViteConfig(vite: ViteConfigLoader, root: string): Promise<VinextRouteRootConfig | null>;
36
- declare function resolveVinextPrerenderDecision(options: {
35
+ export declare function normalizeVinextPrerenderConfig(config: VinextPrerenderConfig | undefined): ResolvedVinextPrerenderConfig | null;
36
+ export declare function findVinextPrerenderConfigInPlugins(plugins: PluginOption[] | undefined): Promise<ResolvedVinextPrerenderConfig | null>;
37
+ export declare function findVinextRouteRootConfigInPlugins(plugins: PluginOption[] | undefined): Promise<VinextRouteRootConfig | null>;
38
+ export declare function loadVinextPrerenderConfigFromViteConfig(vite: ViteConfigLoader, root: string): Promise<ResolvedVinextPrerenderConfig | null>;
39
+ export declare function loadVinextRouteRootConfigFromViteConfig(vite: ViteConfigLoader, root: string): Promise<VinextRouteRootConfig | null>;
40
+ export declare function resolveVinextPrerenderDecision(options: {
37
41
  prerenderAllFlag?: boolean;
38
42
  vinextPrerenderConfig?: ResolvedVinextPrerenderConfig | null;
39
43
  nextOutput?: string;
40
44
  }): VinextPrerenderDecision | null;
41
- declare function formatVinextPrerenderLabel(decision: VinextPrerenderDecision): string;
45
+ export declare function formatVinextPrerenderLabel(decision: VinextPrerenderDecision): string;
42
46
  //#endregion
43
- export { ResolvedVinextPrerenderConfig, VINEXT_CACHE_CONFIG_PLUGIN_PROPERTY, VINEXT_PRERENDER_CONFIG_PLUGIN_PROPERTY, VINEXT_ROUTE_ROOT_CONFIG_PLUGIN_PROPERTY, type VinextCacheConfig, VinextPrerenderConfig, VinextPrerenderDecision, VinextPrerenderDecisionReason, VinextRouteRootConfig, findVinextCacheConfigInPlugins, findVinextPrerenderConfigInPlugins, findVinextRouteRootConfigInPlugins, formatVinextPrerenderLabel, loadVinextCacheConfigFromViteConfig, loadVinextPrerenderConfigFromViteConfig, loadVinextRouteRootConfigFromViteConfig, normalizeVinextPrerenderConfig, resolveVinextPrerenderDecision };
47
+ export { VINEXT_CACHE_CONFIG_PLUGIN_PROPERTY, type VinextCacheConfig, cacheWarmupStatusSource, finalizeCacheAdapterPrerenderOutput, findVinextCacheConfigInPlugins, hasBuildIdentityResponseHeader, hasCacheAdapterPrerenderOutput, hasUncachedRequestRouting, hasVerbatimResponseVary, isConfiguredCdnResponsePolicyHeader, loadVinextCacheConfigFromViteConfig, requiresRouteCacheabilityProbeManifest, supportsCanonicalRscWarmup };