vinext 1.0.0-beta.9 → 1.0.1

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 (828) hide show
  1. package/README.md +150 -92
  2. package/THIRD_PARTY_LICENSES.md +51 -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 +7 -14
  33. package/dist/build/precompress.d.ts +2 -3
  34. package/dist/build/precompress.js +1 -1
  35. package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
  36. package/dist/build/prerender-cloudflare-loader.js +49 -0
  37. package/dist/build/prerender-paths.d.ts +36 -11
  38. package/dist/build/prerender-paths.js +274 -102
  39. package/dist/build/prerender-phase.d.ts +2 -3
  40. package/dist/build/prerender-server-entry.js +11 -3
  41. package/dist/build/prerender-server-pool.d.ts +9 -6
  42. package/dist/build/prerender-server-pool.js +8 -5
  43. package/dist/build/prerender.d.ts +73 -16
  44. package/dist/build/prerender.js +272 -80
  45. package/dist/build/preview-credentials.d.ts +5 -6
  46. package/dist/build/preview-credentials.js +2 -2
  47. package/dist/build/public-dir-conflict.d.ts +5 -6
  48. package/dist/build/public-dir-conflict.js +2 -1
  49. package/dist/build/report.d.ts +24 -20
  50. package/dist/build/report.js +10 -2
  51. package/dist/build/route-classification-injector.d.ts +2 -3
  52. package/dist/build/route-classification-manifest.d.ts +5 -6
  53. package/dist/build/run-prerender.d.ts +11 -9
  54. package/dist/build/run-prerender.js +26 -16
  55. package/dist/build/server-entry.d.ts +6 -0
  56. package/dist/build/server-entry.js +34 -0
  57. package/dist/build/server-manifest.d.ts +8 -3
  58. package/dist/build/server-manifest.js +14 -2
  59. package/dist/build/ssr-manifest.d.ts +5 -6
  60. package/dist/build/standalone.d.ts +2 -3
  61. package/dist/build/standalone.js +2 -2
  62. package/dist/build/static-export.d.ts +6 -7
  63. package/dist/cache/cache-adapters-virtual.d.ts +60 -20
  64. package/dist/cache/cache-adapters-virtual.js +50 -7
  65. package/dist/check.d.ts +11 -10
  66. package/dist/check.js +467 -176
  67. package/dist/cli-args.d.ts +7 -16
  68. package/dist/cli-args.js +2 -45
  69. package/dist/cli-dev-config.d.ts +10 -7
  70. package/dist/cli-dev-config.js +160 -3
  71. package/dist/cli.js +124 -442
  72. package/dist/client/app-nav-failure-handler.d.ts +6 -7
  73. package/dist/client/browser-globals.d.ts +4 -0
  74. package/dist/client/browser-globals.js +5 -0
  75. package/dist/client/client-rewrite-matcher.d.ts +2 -3
  76. package/dist/client/client-rewrites.d.ts +4 -5
  77. package/dist/client/dev-error-overlay-store.d.ts +13 -14
  78. package/dist/client/dev-error-overlay.d.ts +15 -15
  79. package/dist/client/dev-error-overlay.js +8 -5
  80. package/dist/client/instrumentation-client-inject.d.ts +3 -4
  81. package/dist/client/instrumentation-client-state.d.ts +5 -6
  82. package/dist/client/instrumentation-client.d.ts +3 -4
  83. package/dist/client/navigation-runtime.d.ts +20 -17
  84. package/dist/client/navigation-runtime.js +4 -3
  85. package/dist/client/pages-router-link-navigation.d.ts +4 -5
  86. package/dist/client/react-instance.d.ts +2 -3
  87. package/dist/client/validate-module-path.d.ts +2 -3
  88. package/dist/client/vinext-next-data.d.ts +7 -10
  89. package/dist/client/window-next.d.ts +4 -5
  90. package/dist/config/config-matchers.d.ts +16 -16
  91. package/dist/config/config-matchers.js +2 -4
  92. package/dist/config/dotenv.d.ts +3 -4
  93. package/dist/config/dotenv.js +14 -2
  94. package/dist/config/next-config.d.ts +31 -27
  95. package/dist/config/next-config.js +163 -16
  96. package/dist/config/prerender.d.ts +20 -16
  97. package/dist/config/prerender.js +10 -4
  98. package/dist/config/request-context.d.ts +5 -6
  99. package/dist/config/server-external-packages.d.ts +14 -3
  100. package/dist/config/server-external-packages.js +37 -3
  101. package/dist/config/tsconfig-paths.d.ts +3 -4
  102. package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
  103. package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
  104. package/dist/entries/app-browser-entry.d.ts +4 -5
  105. package/dist/entries/app-browser-entry.js +1 -3
  106. package/dist/entries/app-rsc-entry.d.ts +10 -3
  107. package/dist/entries/app-rsc-entry.js +503 -51
  108. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  109. package/dist/entries/app-rsc-manifest.js +26 -8
  110. package/dist/entries/app-ssr-entry.d.ts +2 -3
  111. package/dist/entries/app-ssr-entry.js +8 -1
  112. package/dist/entries/pages-client-entry.d.ts +3 -3
  113. package/dist/entries/pages-client-entry.js +17 -2
  114. package/dist/entries/pages-server-entry.d.ts +13 -3
  115. package/dist/entries/pages-server-entry.js +234 -33
  116. package/dist/entries/runtime-entry-module.d.ts +4 -5
  117. package/dist/image/image-adapters-virtual.d.ts +4 -5
  118. package/dist/index.d.ts +10 -11
  119. package/dist/index.js +848 -255
  120. package/dist/init-cloudflare.d.ts +26 -17
  121. package/dist/init-cloudflare.js +711 -103
  122. package/dist/init-platform.d.ts +26 -22
  123. package/dist/init-platform.js +85 -29
  124. package/dist/init.d.ts +19 -13
  125. package/dist/init.js +126 -42
  126. package/dist/plugins/action-owner-manifest.d.ts +3 -4
  127. package/dist/plugins/action-owner-manifest.js +10 -3
  128. package/dist/plugins/ast-scope.d.ts +10 -11
  129. package/dist/plugins/ast-scope.js +10 -22
  130. package/dist/plugins/ast-utils.d.ts +16 -29
  131. package/dist/plugins/ast-utils.js +27 -71
  132. package/dist/plugins/async-hooks-stub.d.ts +2 -3
  133. package/dist/plugins/client-reference-dedup.d.ts +4 -5
  134. package/dist/plugins/commonjs-syntax.d.ts +16 -0
  135. package/dist/plugins/commonjs-syntax.js +22 -0
  136. package/dist/plugins/css-data-url.d.ts +2 -3
  137. package/dist/plugins/css-module-imports.d.ts +3 -4
  138. package/dist/plugins/css-module-imports.js +1 -1
  139. package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
  140. package/dist/plugins/dynamic-preload-metadata.js +55 -154
  141. package/dist/plugins/environment.d.ts +2 -3
  142. package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
  143. package/dist/plugins/extensionless-dynamic-import.js +6 -10
  144. package/dist/plugins/fonts.d.ts +10 -11
  145. package/dist/plugins/fonts.js +4 -3
  146. package/dist/plugins/ignore-dynamic-requests.d.ts +14 -4
  147. package/dist/plugins/ignore-dynamic-requests.js +113 -91
  148. package/dist/plugins/import-meta-url.d.ts +6 -7
  149. package/dist/plugins/import-meta-url.js +36 -48
  150. package/dist/plugins/instrumentation-client.d.ts +3 -3
  151. package/dist/plugins/instrumentation-client.js +46 -10
  152. package/dist/plugins/middleware-export-validation.d.ts +3 -4
  153. package/dist/plugins/middleware-export-validation.js +3 -3
  154. package/dist/plugins/middleware-server-only.d.ts +2 -3
  155. package/dist/plugins/og-asset-ownership.d.ts +5 -4
  156. package/dist/plugins/og-asset-ownership.js +24 -13
  157. package/dist/plugins/og-assets.d.ts +22 -5
  158. package/dist/plugins/og-assets.js +82 -21
  159. package/dist/plugins/og-harfbuzz.d.ts +24 -0
  160. package/dist/plugins/og-harfbuzz.js +271 -0
  161. package/dist/plugins/optimize-imports.d.ts +7 -7
  162. package/dist/plugins/optimize-imports.js +34 -45
  163. package/dist/plugins/pages-node-externals.d.ts +2 -3
  164. package/dist/plugins/pages-node-externals.js +6 -11
  165. package/dist/plugins/postcss.d.ts +8 -4
  166. package/dist/plugins/postcss.js +1 -1
  167. package/dist/plugins/remove-console.d.ts +2 -3
  168. package/dist/plugins/remove-console.js +0 -1
  169. package/dist/plugins/require-condition-resolution.d.ts +3 -4
  170. package/dist/plugins/require-condition-resolution.js +17 -18
  171. package/dist/plugins/require-context.d.ts +3 -3
  172. package/dist/plugins/require-context.js +41 -22
  173. package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
  174. package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
  175. package/dist/plugins/rsc-client-shim-excludes.js +1 -0
  176. package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
  177. package/dist/plugins/sass.d.ts +7 -8
  178. package/dist/plugins/sass.js +7 -4
  179. package/dist/plugins/scan-build-css.d.ts +12 -0
  180. package/dist/plugins/scan-build-css.js +39 -0
  181. package/dist/plugins/server-externals-manifest.d.ts +2 -3
  182. package/dist/plugins/strip-server-exports.d.ts +7 -6
  183. package/dist/plugins/strip-server-exports.js +4 -2
  184. package/dist/plugins/styled-jsx.d.ts +2 -3
  185. package/dist/plugins/styled-jsx.js +7 -7
  186. package/dist/plugins/transform-cache.d.ts +2 -3
  187. package/dist/plugins/transform-result.d.ts +21 -4
  188. package/dist/plugins/transform-result.js +23 -2
  189. package/dist/plugins/transitive-externals.d.ts +2 -3
  190. package/dist/plugins/typeof-window.d.ts +16 -7
  191. package/dist/plugins/typeof-window.js +62 -39
  192. package/dist/plugins/use-cache-callable.d.ts +2 -5
  193. package/dist/plugins/use-cache-callable.js +43 -22
  194. package/dist/plugins/wasm-module-import.d.ts +2 -3
  195. package/dist/plugins/worker-image-imports.d.ts +2 -3
  196. package/dist/plugins/worker-image-imports.js +6 -8
  197. package/dist/routing/app-route-graph.d.ts +18 -19
  198. package/dist/routing/app-route-graph.js +5 -6
  199. package/dist/routing/app-route-ids.d.ts +3 -0
  200. package/dist/routing/app-route-ids.js +6 -0
  201. package/dist/routing/app-router.d.ts +19 -6
  202. package/dist/routing/app-router.js +24 -2
  203. package/dist/routing/file-matcher.d.ts +9 -10
  204. package/dist/routing/pages-router.d.ts +6 -6
  205. package/dist/routing/pages-router.js +1 -1
  206. package/dist/routing/route-matching.d.ts +4 -5
  207. package/dist/routing/route-matching.js +4 -2
  208. package/dist/routing/route-pattern.d.ts +13 -14
  209. package/dist/routing/route-trie.d.ts +5 -6
  210. package/dist/routing/route-validation.d.ts +3 -4
  211. package/dist/routing/route-validation.js +12 -11
  212. package/dist/routing/utils.d.ts +13 -14
  213. package/dist/server/accept-encoding.d.ts +9 -10
  214. package/dist/server/api-handler.d.ts +2 -3
  215. package/dist/server/api-handler.js +9 -6
  216. package/dist/server/app-action-forwarding.d.ts +3 -4
  217. package/dist/server/app-action-forwarding.js +1 -1
  218. package/dist/server/app-action-request.d.ts +2 -3
  219. package/dist/server/app-bfcache-id.d.ts +4 -4
  220. package/dist/server/app-bfcache-id.js +7 -1
  221. package/dist/server/app-bfcache-identity.d.ts +8 -9
  222. package/dist/server/app-bfcache-identity.js +1 -2
  223. package/dist/server/app-browser-action-result.d.ts +15 -16
  224. package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
  225. package/dist/server/app-browser-entry.js +91 -36
  226. package/dist/server/app-browser-error.d.ts +5 -6
  227. package/dist/server/app-browser-error.js +9 -3
  228. package/dist/server/app-browser-history-controller.d.ts +4 -5
  229. package/dist/server/app-browser-hydration.d.ts +16 -6
  230. package/dist/server/app-browser-hydration.js +15 -2
  231. package/dist/server/app-browser-interception-context.d.ts +3 -4
  232. package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
  233. package/dist/server/app-browser-navigation-abort.d.ts +3 -4
  234. package/dist/server/app-browser-navigation-controller.d.ts +8 -8
  235. package/dist/server/app-browser-navigation-controller.js +9 -5
  236. package/dist/server/app-browser-navigation-response.d.ts +2 -3
  237. package/dist/server/app-browser-popstate.d.ts +4 -5
  238. package/dist/server/app-browser-prefetch-response.d.ts +5 -6
  239. package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
  240. package/dist/server/app-browser-server-action-client.d.ts +7 -6
  241. package/dist/server/app-browser-server-action-client.js +9 -5
  242. package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
  243. package/dist/server/app-browser-state.d.ts +17 -17
  244. package/dist/server/app-browser-state.js +7 -3
  245. package/dist/server/app-browser-stream.d.ts +5 -6
  246. package/dist/server/app-browser-stream.js +8 -6
  247. package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
  248. package/dist/server/app-browser-visible-commit.d.ts +6 -7
  249. package/dist/server/app-client-reference-preloader.d.ts +2 -3
  250. package/dist/server/app-elements-wire-key.d.ts +25 -0
  251. package/dist/server/app-elements-wire-key.js +69 -0
  252. package/dist/server/app-elements-wire.d.ts +34 -53
  253. package/dist/server/app-elements-wire.js +4 -75
  254. package/dist/server/app-elements.d.ts +5 -5
  255. package/dist/server/app-elements.js +1 -1
  256. package/dist/server/app-fallback-renderer.d.ts +4 -4
  257. package/dist/server/app-fallback-renderer.js +6 -6
  258. package/dist/server/app-fetch-tracing.d.ts +15 -0
  259. package/dist/server/app-fetch-tracing.js +38 -0
  260. package/dist/server/app-history-state.d.ts +25 -27
  261. package/dist/server/app-history-state.js +21 -16
  262. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  263. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  264. package/dist/server/app-inline-css-client.d.ts +3 -4
  265. package/dist/server/app-interception-context-header.d.ts +2 -3
  266. package/dist/server/app-layout-param-observation.d.ts +7 -8
  267. package/dist/server/app-metadata-tracing.d.ts +12 -0
  268. package/dist/server/app-metadata-tracing.js +17 -0
  269. package/dist/server/app-middleware.d.ts +7 -7
  270. package/dist/server/app-middleware.js +2 -3
  271. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  272. package/dist/server/app-mounted-slots-header.js +2 -2
  273. package/dist/server/app-optimistic-routing.d.ts +10 -11
  274. package/dist/server/app-optimistic-routing.js +3 -2
  275. package/dist/server/app-page-boundary-render.d.ts +6 -6
  276. package/dist/server/app-page-boundary-render.js +10 -4
  277. package/dist/server/app-page-boundary.d.ts +9 -10
  278. package/dist/server/app-page-boundary.js +1 -1
  279. package/dist/server/app-page-cache-finalizer.d.ts +18 -9
  280. package/dist/server/app-page-cache-finalizer.js +51 -16
  281. package/dist/server/app-page-cache-render.d.ts +8 -5
  282. package/dist/server/app-page-cache-render.js +22 -4
  283. package/dist/server/app-page-cache.d.ts +28 -9
  284. package/dist/server/app-page-cache.js +95 -24
  285. package/dist/server/app-page-dispatch.d.ts +34 -12
  286. package/dist/server/app-page-dispatch.js +181 -64
  287. package/dist/server/app-page-element-builder.d.ts +13 -11
  288. package/dist/server/app-page-element-builder.js +104 -61
  289. package/dist/server/app-page-execution.d.ts +14 -14
  290. package/dist/server/app-page-execution.js +11 -7
  291. package/dist/server/app-page-head.d.ts +19 -16
  292. package/dist/server/app-page-head.js +25 -25
  293. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  294. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  295. package/dist/server/app-page-method.d.ts +5 -11
  296. package/dist/server/app-page-method.js +2 -9
  297. package/dist/server/app-page-params.d.ts +5 -6
  298. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  299. package/dist/server/app-page-probe.d.ts +5 -6
  300. package/dist/server/app-page-probe.js +5 -4
  301. package/dist/server/app-page-render-identity.d.ts +4 -5
  302. package/dist/server/app-page-render-observation.d.ts +8 -9
  303. package/dist/server/app-page-render-observation.js +1 -1
  304. package/dist/server/app-page-render.d.ts +41 -6
  305. package/dist/server/app-page-render.js +171 -24
  306. package/dist/server/app-page-request.d.ts +10 -9
  307. package/dist/server/app-page-request.js +16 -12
  308. package/dist/server/app-page-response.d.ts +20 -9
  309. package/dist/server/app-page-response.js +30 -12
  310. package/dist/server/app-page-route-wiring.d.ts +15 -15
  311. package/dist/server/app-page-route-wiring.js +31 -24
  312. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  313. package/dist/server/app-page-search-params-observation.js +43 -7
  314. package/dist/server/app-page-segment-plan.d.ts +2 -3
  315. package/dist/server/app-page-segment-state.d.ts +11 -12
  316. package/dist/server/app-page-stream.d.ts +27 -11
  317. package/dist/server/app-page-stream.js +34 -6
  318. package/dist/server/app-page-tracing.d.ts +33 -0
  319. package/dist/server/app-page-tracing.js +50 -0
  320. package/dist/server/app-pages-bridge.d.ts +6 -6
  321. package/dist/server/app-pages-bridge.js +18 -4
  322. package/dist/server/app-post-middleware-context.d.ts +2 -3
  323. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  324. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  325. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  326. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  327. package/dist/server/app-prerender-endpoints.js +3 -1
  328. package/dist/server/app-prerender-static-params.d.ts +15 -7
  329. package/dist/server/app-prerender-static-params.js +24 -9
  330. package/dist/server/app-render-abort-error.d.ts +3 -0
  331. package/dist/server/app-render-abort-error.js +8 -0
  332. package/dist/server/app-render-dependency.d.ts +14 -13
  333. package/dist/server/app-render-dependency.js +5 -1
  334. package/dist/server/app-request-context.d.ts +3 -4
  335. package/dist/server/app-request-stage-context.d.ts +5 -0
  336. package/dist/server/app-request-stage-context.js +11 -0
  337. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  338. package/dist/server/app-request-stage-dispatch.js +54 -0
  339. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  340. package/dist/server/app-request-stage-independent-entry.js +112 -0
  341. package/dist/server/app-response-header-provenance.d.ts +13 -7
  342. package/dist/server/app-response-header-provenance.js +34 -1
  343. package/dist/server/app-response-stage-entry.d.ts +9 -0
  344. package/dist/server/app-response-stage-entry.js +87 -0
  345. package/dist/server/app-route-handler-cache.d.ts +4 -4
  346. package/dist/server/app-route-handler-cache.js +51 -35
  347. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  348. package/dist/server/app-route-handler-dispatch.js +77 -56
  349. package/dist/server/app-route-handler-execution.d.ts +26 -14
  350. package/dist/server/app-route-handler-execution.js +94 -28
  351. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  352. package/dist/server/app-route-handler-middleware-context.js +15 -0
  353. package/dist/server/app-route-handler-policy.d.ts +11 -11
  354. package/dist/server/app-route-handler-policy.js +2 -2
  355. package/dist/server/app-route-handler-response.d.ts +9 -10
  356. package/dist/server/app-route-handler-response.js +14 -3
  357. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  358. package/dist/server/app-route-handler-runtime.js +20 -16
  359. package/dist/server/app-route-module-loader.d.ts +6 -7
  360. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  361. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  362. package/dist/server/app-route-tree-prefetch.js +2 -1
  363. package/dist/server/app-router-entry.d.ts +4 -1
  364. package/dist/server/app-router-entry.js +33 -17
  365. package/dist/server/app-rsc-cache-busting.d.ts +34 -27
  366. package/dist/server/app-rsc-cache-busting.js +14 -2
  367. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  368. package/dist/server/app-rsc-combined-handler.js +11 -0
  369. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  370. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  371. package/dist/server/app-rsc-error-handler.js +15 -6
  372. package/dist/server/app-rsc-errors.d.ts +11 -9
  373. package/dist/server/app-rsc-errors.js +14 -16
  374. package/dist/server/app-rsc-handler.d.ts +32 -6
  375. package/dist/server/app-rsc-handler.js +425 -64
  376. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  377. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  378. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  379. package/dist/server/app-rsc-request-normalization.js +5 -3
  380. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  381. package/dist/server/app-rsc-response-finalizer.js +10 -7
  382. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  383. package/dist/server/app-rsc-response-stage.js +251 -0
  384. package/dist/server/app-rsc-route-matching.d.ts +3 -4
  385. package/dist/server/app-rsc-route-matching.js +3 -2
  386. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  387. package/dist/server/app-rsc-vary.d.ts +16 -0
  388. package/dist/server/app-rsc-vary.js +31 -0
  389. package/dist/server/app-segment-config.d.ts +119 -7
  390. package/dist/server/app-segment-config.js +242 -2
  391. package/dist/server/app-server-action-execution.d.ts +18 -13
  392. package/dist/server/app-server-action-execution.js +86 -33
  393. package/dist/server/app-ssr-entry.d.ts +14 -4
  394. package/dist/server/app-ssr-entry.js +62 -15
  395. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  396. package/dist/server/app-ssr-error-meta.js +2 -1
  397. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  398. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  399. package/dist/server/app-ssr-search-params-gate.js +54 -0
  400. package/dist/server/app-ssr-stream.d.ts +13 -9
  401. package/dist/server/app-ssr-stream.js +34 -8
  402. package/dist/server/app-static-generation.d.ts +4 -5
  403. package/dist/server/app-visited-response-cache.d.ts +11 -12
  404. package/dist/server/app-visited-response-cache.js +2 -2
  405. package/dist/server/app-worker-stages.d.ts +112 -0
  406. package/dist/server/app-worker-stages.js +105 -0
  407. package/dist/server/artifact-compatibility.d.ts +11 -12
  408. package/dist/server/before-interactive-head.d.ts +2 -3
  409. package/dist/server/bfcache-identity.d.ts +7 -8
  410. package/dist/server/cache-control.d.ts +35 -13
  411. package/dist/server/cache-control.js +64 -6
  412. package/dist/server/cache-headers.d.ts +3 -4
  413. package/dist/server/cache-proof.d.ts +75 -70
  414. package/dist/server/cache-proof.js +9 -1
  415. package/dist/server/cacheability-limits.d.ts +4 -5
  416. package/dist/server/cacheability-limits.js +2 -2
  417. package/dist/server/cacheability-manifest.d.ts +42 -16
  418. package/dist/server/cacheability-manifest.js +60 -10
  419. package/dist/server/cacheability-request.d.ts +37 -8
  420. package/dist/server/cacheability-request.js +192 -90
  421. package/dist/server/client-reuse-manifest.d.ts +17 -18
  422. package/dist/server/client-reuse-manifest.js +2 -2
  423. package/dist/server/client-trace-metadata.d.ts +9 -6
  424. package/dist/server/client-trace-metadata.js +27 -15
  425. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  426. package/dist/server/cloudflare-workers-tracing.js +8 -0
  427. package/dist/server/config-headers.d.ts +19 -5
  428. package/dist/server/config-headers.js +25 -11
  429. package/dist/server/cookie-utils.d.ts +2 -3
  430. package/dist/server/csp.d.ts +5 -6
  431. package/dist/server/default-global-error-module.d.ts +2 -3
  432. package/dist/server/default-global-not-found-module.d.ts +2 -3
  433. package/dist/server/default-not-found-module.d.ts +2 -3
  434. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  435. package/dist/server/defer-until-stream-consumed.js +2 -1
  436. package/dist/server/dev-initial-server-error.d.ts +3 -4
  437. package/dist/server/dev-initial-server-error.js +2 -1
  438. package/dist/server/dev-lockfile.d.ts +7 -8
  439. package/dist/server/dev-lockfile.js +4 -1
  440. package/dist/server/dev-module-runner.d.ts +2 -3
  441. package/dist/server/dev-origin-check.d.ts +5 -6
  442. package/dist/server/dev-route-files.d.ts +2 -3
  443. package/dist/server/dev-server.d.ts +4 -5
  444. package/dist/server/dev-server.js +141 -64
  445. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  446. package/dist/server/dev-stack-sourcemap.js +1 -1
  447. package/dist/server/document-initial-head.d.ts +3 -4
  448. package/dist/server/edge-api-runtime.d.ts +4 -5
  449. package/dist/server/fetch-handler.d.ts +3 -2
  450. package/dist/server/fetch-handler.js +3 -18
  451. package/dist/server/file-based-metadata.d.ts +2 -3
  452. package/dist/server/framework-tracer.d.ts +46 -0
  453. package/dist/server/framework-tracer.js +125 -0
  454. package/dist/server/fully-buffered-response.d.ts +11 -0
  455. package/dist/server/fully-buffered-response.js +19 -0
  456. package/dist/server/headers.d.ts +56 -61
  457. package/dist/server/headers.js +22 -31
  458. package/dist/server/html.d.ts +6 -27
  459. package/dist/server/html.js +16 -1
  460. package/dist/server/http-conditional.d.ts +5 -6
  461. package/dist/server/http-date.d.ts +2 -3
  462. package/dist/server/http-error-responses.d.ts +9 -10
  463. package/dist/server/http-error-responses.js +1 -0
  464. package/dist/server/http-range.d.ts +4 -5
  465. package/dist/server/hybrid-route-priority.d.ts +4 -5
  466. package/dist/server/image-optimization.d.ts +20 -21
  467. package/dist/server/implicit-tags.d.ts +3 -4
  468. package/dist/server/instrumentation-runtime.d.ts +17 -21
  469. package/dist/server/instrumentation-runtime.js +26 -8
  470. package/dist/server/instrumentation.d.ts +26 -30
  471. package/dist/server/instrumentation.js +18 -23
  472. package/dist/server/isr-cache.d.ts +30 -27
  473. package/dist/server/isr-cache.js +23 -70
  474. package/dist/server/isr-decision.d.ts +4 -4
  475. package/dist/server/metadata-route-build-data.d.ts +4 -5
  476. package/dist/server/metadata-route-response.d.ts +7 -7
  477. package/dist/server/metadata-route-response.js +158 -35
  478. package/dist/server/metadata-routes.d.ts +18 -19
  479. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  480. package/dist/server/middleware-matcher.d.ts +6 -7
  481. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  482. package/dist/server/middleware-path-to-regexp.js +11 -9
  483. package/dist/server/middleware-response-headers.d.ts +3 -4
  484. package/dist/server/middleware-runtime.d.ts +7 -8
  485. package/dist/server/middleware-runtime.js +36 -7
  486. package/dist/server/middleware.d.ts +5 -5
  487. package/dist/server/multi-stage.d.ts +141 -0
  488. package/dist/server/multi-stage.js +8 -0
  489. package/dist/server/navigation-planner.d.ts +26 -26
  490. package/dist/server/navigation-trace.d.ts +11 -12
  491. package/dist/server/next-error-digest.d.ts +4 -5
  492. package/dist/server/normalize-path.d.ts +5 -6
  493. package/dist/server/open-redirect.d.ts +2 -3
  494. package/dist/server/opentelemetry-api.d.ts +59 -0
  495. package/dist/server/opentelemetry-api.js +53 -0
  496. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  497. package/dist/server/opentelemetry-tracing.js +83 -0
  498. package/dist/server/operation-token.d.ts +11 -12
  499. package/dist/server/otel-tracer-extension.d.ts +7 -9
  500. package/dist/server/otel-tracer-extension.js +37 -36
  501. package/dist/server/pages-api-route.d.ts +5 -4
  502. package/dist/server/pages-api-route.js +28 -9
  503. package/dist/server/pages-asset-tags.d.ts +7 -6
  504. package/dist/server/pages-asset-tags.js +104 -18
  505. package/dist/server/pages-body-parser-config.d.ts +4 -5
  506. package/dist/server/pages-body-parser-config.js +4 -4
  507. package/dist/server/pages-client-assets.d.ts +13 -5
  508. package/dist/server/pages-data-route.d.ts +11 -12
  509. package/dist/server/pages-data-route.js +1 -1
  510. package/dist/server/pages-default-404.d.ts +3 -4
  511. package/dist/server/pages-dev-hydration.d.ts +9 -4
  512. package/dist/server/pages-dev-hydration.js +19 -7
  513. package/dist/server/pages-dev-module-url.d.ts +3 -4
  514. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  515. package/dist/server/pages-document-asset-props.d.ts +6 -7
  516. package/dist/server/pages-document-initial-props.d.ts +5 -5
  517. package/dist/server/pages-document-initial-props.js +4 -2
  518. package/dist/server/pages-execution-tracing.d.ts +40 -0
  519. package/dist/server/pages-execution-tracing.js +80 -0
  520. package/dist/server/pages-get-initial-props.d.ts +9 -10
  521. package/dist/server/pages-i18n.d.ts +8 -8
  522. package/dist/server/pages-media-type.d.ts +4 -5
  523. package/dist/server/pages-node-compat.d.ts +11 -10
  524. package/dist/server/pages-node-compat.js +12 -4
  525. package/dist/server/pages-page-data.d.ts +23 -19
  526. package/dist/server/pages-page-data.js +82 -75
  527. package/dist/server/pages-page-handler.d.ts +7 -6
  528. package/dist/server/pages-page-handler.js +103 -47
  529. package/dist/server/pages-page-method.d.ts +2 -3
  530. package/dist/server/pages-page-response.d.ts +14 -10
  531. package/dist/server/pages-page-response.js +52 -32
  532. package/dist/server/pages-preview.d.ts +10 -11
  533. package/dist/server/pages-readiness.d.ts +2 -3
  534. package/dist/server/pages-request-pipeline.d.ts +15 -12
  535. package/dist/server/pages-request-pipeline.js +80 -35
  536. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  537. package/dist/server/pages-request-stage-entry.js +316 -0
  538. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  539. package/dist/server/pages-response-stage-entry.js +106 -0
  540. package/dist/server/pages-response-stage.d.ts +31 -0
  541. package/dist/server/pages-response-stage.js +49 -0
  542. package/dist/server/pages-revalidate.d.ts +3 -4
  543. package/dist/server/pages-revalidate.js +9 -4
  544. package/dist/server/pages-route-data-kind.d.ts +18 -0
  545. package/dist/server/pages-route-data-kind.js +11 -0
  546. package/dist/server/pages-router-entry.d.ts +1 -25
  547. package/dist/server/pages-router-entry.js +35 -148
  548. package/dist/server/pages-serializable-props.d.ts +3 -4
  549. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  550. package/dist/server/pregenerated-concrete-paths.js +12 -6
  551. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  552. package/dist/server/prerender-manifest.d.ts +17 -11
  553. package/dist/server/prerender-manifest.js +7 -4
  554. package/dist/server/prerender-route-params.d.ts +16 -9
  555. package/dist/server/prerender-route-params.js +18 -3
  556. package/dist/server/prerender-work-unit-setup.d.ts +2 -3
  557. package/dist/server/prerender-work-unit-setup.js +5 -5
  558. package/dist/server/prod-server.d.ts +12 -9
  559. package/dist/server/prod-server.js +127 -44
  560. package/dist/server/proxy-trust.d.ts +5 -6
  561. package/dist/server/request-log.d.ts +3 -4
  562. package/dist/server/request-pipeline.d.ts +16 -16
  563. package/dist/server/request-pipeline.js +7 -2
  564. package/dist/server/request-stage.d.ts +5 -0
  565. package/dist/server/request-stage.js +7 -0
  566. package/dist/server/request-tracing.d.ts +22 -0
  567. package/dist/server/request-tracing.js +180 -0
  568. package/dist/server/response-stage-cacheability.d.ts +37 -0
  569. package/dist/server/response-stage-cacheability.js +55 -0
  570. package/dist/server/response-stage-policy.d.ts +23 -0
  571. package/dist/server/response-stage-policy.js +89 -0
  572. package/dist/server/response-stage.d.ts +5 -0
  573. package/dist/server/response-stage.js +7 -0
  574. package/dist/server/response-start-tracing.d.ts +14 -0
  575. package/dist/server/response-start-tracing.js +80 -0
  576. package/dist/server/revalidation-host.d.ts +2 -3
  577. package/dist/server/revalidation-host.js +1 -1
  578. package/dist/server/revalidation-request.d.ts +8 -0
  579. package/dist/server/revalidation-request.js +37 -0
  580. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  581. package/dist/server/rsc-stream-hints.d.ts +18 -7
  582. package/dist/server/rsc-stream-hints.js +70 -35
  583. package/dist/server/seed-cache.d.ts +2 -3
  584. package/dist/server/seed-cache.js +8 -7
  585. package/dist/server/server-action-not-found.d.ts +5 -6
  586. package/dist/server/server-globals.d.ts +2 -3
  587. package/dist/server/skip-cache-proof.d.ts +4 -4
  588. package/dist/server/socket-error-backstop.d.ts +5 -6
  589. package/dist/server/socket-error-backstop.js +1 -1
  590. package/dist/server/static-file-cache.d.ts +5 -6
  591. package/dist/server/static-file-cache.js +9 -7
  592. package/dist/server/static-file-signal.d.ts +9 -6
  593. package/dist/server/static-file-signal.js +51 -2
  594. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  595. package/dist/server/streaming-metadata.d.ts +2 -3
  596. package/dist/server/tracer.d.ts +5 -0
  597. package/dist/server/tracer.js +13 -0
  598. package/dist/server/worker-prerender-discovery.d.ts +5 -6
  599. package/dist/server/worker-revalidation-context.d.ts +4 -4
  600. package/dist/server/worker-revalidation-context.js +6 -5
  601. package/dist/server/worker-stages.d.ts +43 -0
  602. package/dist/server/worker-stages.js +25 -0
  603. package/dist/server/worker-utils.d.ts +5 -6
  604. package/dist/server/worker-utils.js +2 -1
  605. package/dist/server/workers-tracing.d.ts +34 -0
  606. package/dist/server/workers-tracing.js +67 -0
  607. package/dist/shims/amp.d.ts +3 -4
  608. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  609. package/dist/shims/app-router-scroll.d.ts +4 -5
  610. package/dist/shims/app-router-scroll.js +2 -1
  611. package/dist/shims/app.d.ts +5 -6
  612. package/dist/shims/before-interactive-context.d.ts +5 -6
  613. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  614. package/dist/shims/cache-callable-runtime.js +168 -8
  615. package/dist/shims/cache-for-request.d.ts +2 -3
  616. package/dist/shims/cache-handler.d.ts +33 -20
  617. package/dist/shims/cache-handler.js +61 -2
  618. package/dist/shims/cache-request-state.d.ts +26 -38
  619. package/dist/shims/cache-request-state.js +2 -13
  620. package/dist/shims/cache-runtime.d.ts +23 -21
  621. package/dist/shims/cache-runtime.js +110 -28
  622. package/dist/shims/cache.d.ts +17 -16
  623. package/dist/shims/cache.js +19 -15
  624. package/dist/shims/cacheability-classification.d.ts +50 -29
  625. package/dist/shims/cacheability-classification.js +29 -14
  626. package/dist/shims/cdn-cache-state.d.ts +13 -0
  627. package/dist/shims/cdn-cache-state.js +23 -0
  628. package/dist/shims/cdn-cache.d.ts +59 -21
  629. package/dist/shims/cdn-cache.js +31 -47
  630. package/dist/shims/client-hook-error.d.ts +3 -4
  631. package/dist/shims/client-locale.d.ts +2 -3
  632. package/dist/shims/client-page-root.d.ts +24 -0
  633. package/dist/shims/client-page-root.js +121 -0
  634. package/dist/shims/compat-router.d.ts +2 -3
  635. package/dist/shims/config.d.ts +3 -4
  636. package/dist/shims/constants.d.ts +73 -74
  637. package/dist/shims/constants.js +1 -1
  638. package/dist/shims/default-not-found.d.ts +2 -3
  639. package/dist/shims/document.d.ts +9 -9
  640. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  641. package/dist/shims/dynamic-preload-chunks.js +17 -13
  642. package/dist/shims/dynamic.d.ts +3 -3
  643. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  644. package/dist/shims/error-boundary.d.ts +17 -18
  645. package/dist/shims/error-boundary.js +17 -11
  646. package/dist/shims/error.d.ts +5 -19
  647. package/dist/shims/error.js +17 -10
  648. package/dist/shims/error.react-server.d.ts +4 -7
  649. package/dist/shims/error.react-server.js +4 -1
  650. package/dist/shims/fetch-cache.d.ts +22 -22
  651. package/dist/shims/fetch-cache.js +46 -20
  652. package/dist/shims/font-google-base.d.ts +9 -9
  653. package/dist/shims/font-google-base.js +2 -1
  654. package/dist/shims/font-local.d.ts +3 -3
  655. package/dist/shims/font-local.js +1 -1
  656. package/dist/shims/font-utils.d.ts +14 -15
  657. package/dist/shims/form.d.ts +2 -2
  658. package/dist/shims/form.js +10 -7
  659. package/dist/shims/hash-scroll.d.ts +5 -6
  660. package/dist/shims/head-state.d.ts +4 -5
  661. package/dist/shims/head.d.ts +16 -16
  662. package/dist/shims/head.js +5 -4
  663. package/dist/shims/headers.d.ts +44 -73
  664. package/dist/shims/headers.js +87 -144
  665. package/dist/shims/i18n-context.d.ts +5 -6
  666. package/dist/shims/i18n-state.d.ts +4 -5
  667. package/dist/shims/image-config.d.ts +5 -6
  668. package/dist/shims/image-config.js +2 -0
  669. package/dist/shims/image.d.ts +5 -5
  670. package/dist/shims/image.js +12 -8
  671. package/dist/shims/internal/als-registry.d.ts +4 -5
  672. package/dist/shims/internal/api-utils.d.ts +3 -4
  673. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  674. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  675. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  676. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
  677. package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
  678. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  679. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
  680. package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
  681. package/dist/shims/internal/app-router-context.d.ts +9 -10
  682. package/dist/shims/internal/cache-context-accessor.d.ts +16 -0
  683. package/dist/shims/internal/cache-context-accessor.js +15 -0
  684. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  685. package/dist/shims/internal/format-url-object.d.ts +7 -0
  686. package/dist/shims/internal/format-url-object.js +53 -0
  687. package/dist/shims/internal/headers-state.d.ts +74 -0
  688. package/dist/shims/internal/headers-state.js +157 -0
  689. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  690. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  691. package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
  692. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  693. package/dist/shims/internal/interpolate-as.js +4 -2
  694. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  695. package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
  696. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  697. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  698. package/dist/shims/internal/normalize-router-href.js +41 -0
  699. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  700. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  701. package/dist/shims/internal/pages-data-target.js +32 -36
  702. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  703. package/dist/shims/internal/pages-data-url.js +2 -1
  704. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  705. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  706. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  707. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  708. package/dist/shims/internal/router-context.d.ts +2 -3
  709. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  710. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  711. package/dist/shims/internal/utils.d.ts +7 -8
  712. package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
  713. package/dist/shims/layout-segment-context.d.ts +3 -4
  714. package/dist/shims/link-prefetch.d.ts +9 -10
  715. package/dist/shims/link.d.ts +4 -4
  716. package/dist/shims/link.js +56 -116
  717. package/dist/shims/metadata.d.ts +15 -16
  718. package/dist/shims/metadata.js +40 -36
  719. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  720. package/dist/shims/navigation-context-accessors.js +19 -0
  721. package/dist/shims/navigation-context-state.d.ts +27 -18
  722. package/dist/shims/navigation-errors.d.ts +18 -19
  723. package/dist/shims/navigation-state.d.ts +6 -7
  724. package/dist/shims/navigation.d.ts +80 -68
  725. package/dist/shims/navigation.js +26 -18
  726. package/dist/shims/navigation.react-server.d.ts +9 -9
  727. package/dist/shims/offline.d.ts +2 -3
  728. package/dist/shims/og.d.ts +2 -2
  729. package/dist/shims/pages-router-runtime.d.ts +4 -5
  730. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  731. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  732. package/dist/shims/request-context.d.ts +5 -6
  733. package/dist/shims/request-state-types.d.ts +2 -1
  734. package/dist/shims/root-params.d.ts +14 -15
  735. package/dist/shims/root-params.js +1 -1
  736. package/dist/shims/router-state.d.ts +5 -6
  737. package/dist/shims/router-state.js +1 -1
  738. package/dist/shims/router.d.ts +22 -21
  739. package/dist/shims/router.js +339 -164
  740. package/dist/shims/script-nonce-context.d.ts +8 -6
  741. package/dist/shims/script-nonce-context.js +15 -6
  742. package/dist/shims/script.d.ts +4 -4
  743. package/dist/shims/script.js +9 -7
  744. package/dist/shims/search-params-gate.d.ts +35 -0
  745. package/dist/shims/search-params-gate.js +32 -0
  746. package/dist/shims/server.d.ts +19 -51
  747. package/dist/shims/server.js +66 -30
  748. package/dist/shims/slot.d.ts +33 -15
  749. package/dist/shims/slot.js +41 -9
  750. package/dist/shims/streamed-icons.d.ts +3 -4
  751. package/dist/shims/thenable-params.d.ts +5 -7
  752. package/dist/shims/thenable-params.js +3 -24
  753. package/dist/shims/unified-request-context.d.ts +35 -32
  754. package/dist/shims/unified-request-context.js +34 -24
  755. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  756. package/dist/shims/url-safety.d.ts +5 -6
  757. package/dist/shims/url-utils.d.ts +12 -13
  758. package/dist/shims/use-merged-ref.d.ts +2 -3
  759. package/dist/shims/user-agent.d.ts +31 -0
  760. package/dist/shims/user-agent.js +16 -0
  761. package/dist/shims/web-vitals.d.ts +2 -2
  762. package/dist/typegen.d.ts +3 -4
  763. package/dist/utils/asset-prefix.d.ts +7 -8
  764. package/dist/utils/base-path.d.ts +5 -6
  765. package/dist/utils/built-asset-url.d.ts +2 -3
  766. package/dist/utils/built-asset-url.js +1 -1
  767. package/dist/utils/cache-control-metadata.d.ts +4 -5
  768. package/dist/utils/client-build-manifest.d.ts +6 -7
  769. package/dist/utils/client-build-manifest.js +2 -1
  770. package/dist/utils/client-entry-manifest.d.ts +6 -7
  771. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  772. package/dist/utils/client-runtime-metadata.js +18 -1
  773. package/dist/utils/commonjs-loader.d.ts +4 -5
  774. package/dist/utils/compare.d.ts +2 -3
  775. package/dist/utils/deployment-id.d.ts +6 -7
  776. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  777. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  778. package/dist/utils/domain-locale.d.ts +7 -8
  779. package/dist/utils/encode-cache-tag.d.ts +4 -4
  780. package/dist/utils/encode-cache-tag.js +11 -1
  781. package/dist/utils/error-cause.d.ts +2 -3
  782. package/dist/utils/external-url.d.ts +2 -3
  783. package/dist/utils/has-trailing-comma.d.ts +3 -4
  784. package/dist/utils/hash.d.ts +3 -4
  785. package/dist/utils/html-limited-bots.d.ts +3 -4
  786. package/dist/utils/lazy-chunks.d.ts +8 -9
  787. package/dist/utils/lazy-chunks.js +4 -4
  788. package/dist/utils/manifest-paths.d.ts +5 -6
  789. package/dist/utils/mdx-scan.d.ts +11 -4
  790. package/dist/utils/mdx-scan.js +27 -1
  791. package/dist/utils/middleware-request-headers.d.ts +7 -6
  792. package/dist/utils/middleware-request-headers.js +6 -1
  793. package/dist/utils/navigation-signal.d.ts +3 -3
  794. package/dist/utils/navigation-signal.js +16 -1
  795. package/dist/utils/number.d.ts +2 -3
  796. package/dist/utils/package-name.d.ts +3 -4
  797. package/dist/utils/parse-cookie.d.ts +4 -5
  798. package/dist/utils/path.d.ts +8 -9
  799. package/dist/utils/plugin-options.d.ts +2 -3
  800. package/dist/utils/precompressed-variant.d.ts +3 -4
  801. package/dist/utils/prerender-output-paths.d.ts +4 -5
  802. package/dist/utils/project.d.ts +19 -30
  803. package/dist/utils/project.js +20 -29
  804. package/dist/utils/promise.d.ts +2 -3
  805. package/dist/utils/protocol-headers.d.ts +14 -15
  806. package/dist/utils/public-file-path.d.ts +2 -3
  807. package/dist/utils/public-routes.d.ts +2 -3
  808. package/dist/utils/query.d.ts +14 -9
  809. package/dist/utils/query.js +22 -1
  810. package/dist/utils/react-compiler-support.d.ts +6 -7
  811. package/dist/utils/react-version.d.ts +4 -3
  812. package/dist/utils/react-version.js +19 -1
  813. package/dist/utils/record.d.ts +2 -3
  814. package/dist/utils/redirect-digest.d.ts +3 -4
  815. package/dist/utils/regex-safety.d.ts +4 -5
  816. package/dist/utils/regex.d.ts +2 -3
  817. package/dist/utils/safe-json-file.d.ts +2 -3
  818. package/dist/utils/sorted-array.d.ts +2 -3
  819. package/dist/utils/text-stream.d.ts +3 -4
  820. package/dist/utils/vinext-root.d.ts +2 -3
  821. package/dist/utils/virtual-module.d.ts +3 -4
  822. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  823. package/dist/utils/vite-cli-invocation.js +151 -0
  824. package/dist/utils/vite-version.d.ts +5 -6
  825. package/next-package.json +4 -0
  826. package/package.json +51 -6
  827. package/dist/server/metadata-route-cache-policy.d.ts +0 -6
  828. package/dist/server/metadata-route-cache-policy.js +0 -6
@@ -3,8 +3,8 @@ import { NODE_MODULES_PATH_RE } from "../utils/path.js";
3
3
  import { markCssUrlAssetReferences, rebaseCssUrlAssetReferences } from "../build/css-url-assets.js";
4
4
  import { createRequire } from "node:module";
5
5
  import fs from "node:fs";
6
- import { preprocessCSS } from "vite";
7
6
  import { fileURLToPath, pathToFileURL } from "node:url";
7
+ import { preprocessCSS } from "vite";
8
8
  //#region src/plugins/sass.ts
9
9
  /**
10
10
  * Map a Next.js `sassOptions` object onto Vite's
@@ -133,7 +133,8 @@ function createSassTildeImporter(root) {
133
133
  const pkgJsonPath = req.resolve(`${pkgName}/package.json`);
134
134
  const pkgDir = path.dirname(pkgJsonPath);
135
135
  const afterPkg = stripped.startsWith("@") ? stripped.split("/").slice(2).join("/") : stripped.split("/").slice(1).join("/");
136
- return pathToFileURL(afterPkg ? path.join(pkgDir, afterPkg) : pkgDir);
136
+ const resolvedPath = afterPkg ? path.join(pkgDir, afterPkg) : pkgDir;
137
+ return pathToFileURL(resolvedPath);
137
138
  } catch {
138
139
  return null;
139
140
  }
@@ -179,7 +180,8 @@ function createSassCssUrlAssetImporter() {
179
180
  const importUrlPrefix = "vinext-css-url-asset:";
180
181
  const prepareStylesheet = (filename, entryDirectory) => {
181
182
  const contents = fs.readFileSync(filename, "utf8");
182
- const marked = markCssUrlAssetReferences(rebaseCssUrlAssetReferences(contents, path.dirname(filename), entryDirectory) ?? contents, filename);
183
+ const rebased = rebaseCssUrlAssetReferences(contents, path.dirname(filename), entryDirectory) ?? contents;
184
+ const marked = markCssUrlAssetReferences(rebased, filename);
183
185
  if (marked === null) return null;
184
186
  const extension = path.extname(filename).toLowerCase();
185
187
  return {
@@ -344,7 +346,8 @@ var SassAwareFileSystemLoader = class {
344
346
  const rawSource = await fs.promises.readFile(fileRelativePath, "utf-8");
345
347
  if (config) try {
346
348
  const ext = path.extname(fileRelativePath);
347
- const result = await preprocessCSS(rawSource, CSS_MODULE_RE.test(fileRelativePath) ? fileRelativePath : ext === "" ? `${fileRelativePath}.module.css` : `${fileRelativePath.slice(0, -ext.length)}.module${ext}`, config);
349
+ const preprocessFilename = CSS_MODULE_RE.test(fileRelativePath) ? fileRelativePath : ext === "" ? `${fileRelativePath}.module.css` : `${fileRelativePath.slice(0, -ext.length)}.module${ext}`;
350
+ const result = await preprocessCSS(rawSource, preprocessFilename, config);
348
351
  const exportTokens = result.modules ?? {};
349
352
  this.sources[fileRelativePath] = result.code;
350
353
  this.traces[trace] = fileRelativePath;
@@ -0,0 +1,12 @@
1
+ import { Plugin } from "vite";
2
+ //#region src/plugins/scan-build-css.d.ts
3
+ /**
4
+ * @vitejs/plugin-rsc discovers client and server references with two
5
+ * write-less scan builds whose output is discarded, and its `rsc:scan-strip`
6
+ * plugin reduces every module to its import specifiers. A stylesheet cannot
7
+ * contribute a JavaScript import, yet without this plugin every stylesheet in
8
+ * the app still ran through PostCSS/Tailwind/Sass in both scans. Empty their
9
+ * source during those scans only; real builds and dev are unchanged.
10
+ */
11
+ export declare function createScanBuildCssPlugin(): Plugin;
12
+ //#endregion
@@ -0,0 +1,39 @@
1
+ //#region src/plugins/scan-build-css.ts
2
+ const CSS_LANGS_RE = /\.(?:css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/;
3
+ const SPECIAL_QUERY_RE = /[?&](?:worker|sharedworker|raw|url)\b/;
4
+ const VIRTUAL_MODULE_RE = /^\0/;
5
+ /**
6
+ * @vitejs/plugin-rsc discovers client and server references with two
7
+ * write-less scan builds whose output is discarded, and its `rsc:scan-strip`
8
+ * plugin reduces every module to its import specifiers. A stylesheet cannot
9
+ * contribute a JavaScript import, yet without this plugin every stylesheet in
10
+ * the app still ran through PostCSS/Tailwind/Sass in both scans. Empty their
11
+ * source during those scans only; real builds and dev are unchanged.
12
+ */
13
+ function createScanBuildCssPlugin() {
14
+ let rscApi;
15
+ return {
16
+ name: "vinext:scan-build-css",
17
+ enforce: "pre",
18
+ apply: "build",
19
+ configResolved(config) {
20
+ rscApi = config.plugins.find((plugin) => plugin.name === "rsc:minimal")?.api;
21
+ },
22
+ transform: {
23
+ order: "pre",
24
+ filter: { id: {
25
+ include: CSS_LANGS_RE,
26
+ exclude: [SPECIAL_QUERY_RE, VIRTUAL_MODULE_RE]
27
+ } },
28
+ handler() {
29
+ if (!rscApi?.manager.isScanBuild || this.environment.config.build.write !== false) return null;
30
+ return {
31
+ code: "",
32
+ map: null
33
+ };
34
+ }
35
+ }
36
+ };
37
+ }
38
+ //#endregion
39
+ export { createScanBuildCssPlugin };
@@ -20,6 +20,5 @@ import { Plugin } from "vite";
20
20
  * `emitStandaloneOutput` reads this file and uses it as the seed list for the
21
21
  * BFS `node_modules/` copy, replacing the old regex-scan approach.
22
22
  */
23
- declare function createServerExternalsManifestPlugin(): Plugin;
24
- //#endregion
25
- export { createServerExternalsManifestPlugin };
23
+ export declare function createServerExternalsManifestPlugin(): Plugin;
24
+ //#endregion
@@ -1,8 +1,10 @@
1
1
  import MagicString from "magic-string";
2
2
  //#region src/plugins/strip-server-exports.d.ts
3
- declare function hasServerExportCandidate(code: string): boolean;
4
- declare function hasExportAllCandidate(code: string): boolean;
5
- declare function validatePageExports(code: string): void;
3
+ export declare function hasServerExportCandidate(code: string): boolean;
4
+ /** Transform prefilter; must admit every module `hasExportAllCandidate` accepts */
5
+ export declare const EXPORT_ALL_CANDIDATE_FILTER: RegExp;
6
+ export declare function hasExportAllCandidate(code: string): boolean;
7
+ export declare function validatePageExports(code: string): void;
6
8
  type StripServerExportsResult = {
7
9
  code: string;
8
10
  map: ReturnType<MagicString["generateMap"]>;
@@ -15,6 +17,5 @@ type StripServerExportsResult = {
15
17
  * - test/unit/babel-plugin-next-ssg-transform.test.ts
16
18
  * - crates/next-custom-transforms/src/transforms/strip_page_exports.rs
17
19
  */
18
- declare function stripServerExports(code: string): StripServerExportsResult | null;
19
- //#endregion
20
- export { hasExportAllCandidate, hasServerExportCandidate, stripServerExports, validatePageExports };
20
+ export declare function stripServerExports(code: string): StripServerExportsResult | null;
21
+ //#endregion
@@ -1,5 +1,5 @@
1
- import { magicStringTransformResult } from "./transform-result.js";
2
1
  import { getAstName } from "./ast-utils.js";
2
+ import { magicStringTransformResult } from "./transform-result.js";
3
3
  import { parseAst } from "vite";
4
4
  import MagicString from "magic-string";
5
5
  //#region src/plugins/strip-server-exports.ts
@@ -18,6 +18,8 @@ function hasServerExportCandidate(code) {
18
18
  for (const name of SERVER_EXPORTS) if (code.includes(name)) return true;
19
19
  return false;
20
20
  }
21
+ /** Transform prefilter; must admit every module `hasExportAllCandidate` accepts */
22
+ const EXPORT_ALL_CANDIDATE_FILTER = /\bexport\s*[*/]/;
21
23
  function hasExportAllCandidate(code) {
22
24
  let searchFrom = 0;
23
25
  while (searchFrom < code.length) {
@@ -510,4 +512,4 @@ function stripServerExports(code) {
510
512
  return magicStringTransformResult(string);
511
513
  }
512
514
  //#endregion
513
- export { hasExportAllCandidate, hasServerExportCandidate, stripServerExports, validatePageExports };
515
+ export { EXPORT_ALL_CANDIDATE_FILTER, hasExportAllCandidate, hasServerExportCandidate, stripServerExports, validatePageExports };
@@ -10,6 +10,5 @@ type NextSwcModule = {
10
10
  type StyledJsxPluginOptions = {
11
11
  importModule?: (url: string) => Promise<NextSwcModule>;
12
12
  };
13
- declare function createStyledJsxPlugin(initialProjectRoot: string, options?: StyledJsxPluginOptions): Plugin;
14
- //#endregion
15
- export { createStyledJsxPlugin };
13
+ export declare function createStyledJsxPlugin(initialProjectRoot: string, options?: StyledJsxPluginOptions): Plugin;
14
+ //#endregion
@@ -1,9 +1,9 @@
1
1
  import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
2
- import { NODE_MODULES_PATH_RE, stripViteModuleQuery } from "../utils/path.js";
3
2
  import { SCRIPT_MODULE_ID_RE, walkAst } from "./ast-utils.js";
3
+ import { NODE_MODULES_PATH_RE, stripViteModuleQuery } from "../utils/path.js";
4
4
  import { createRequire } from "node:module";
5
- import { parseAst } from "vite";
6
5
  import { pathToFileURL } from "node:url";
6
+ import { parseAst } from "vite";
7
7
  //#region src/plugins/styled-jsx.ts
8
8
  const STYLED_JSX_IMPORT_RE = /^styled-jsx(?:\/.*)?$/;
9
9
  const STYLED_JSX_SOURCE_RE = /(?:<style\b|from\s+["']styled-jsx\/css["']|require\s*\(\s*["']styled-jsx\/css["']\s*\))/;
@@ -23,11 +23,10 @@ function hasStyledJsxTag(source, id) {
23
23
  if (found) return false;
24
24
  if (node.type === "JSXOpeningElement") {
25
25
  const name = node.name;
26
- if (name?.type === "JSXIdentifier" && name.name === "style") {
27
- if (node.attributes?.some((attribute) => {
26
+ if (name.type === "JSXIdentifier" && name.name === "style") {
27
+ if (node.attributes.some((attribute) => {
28
28
  if (attribute.type !== "JSXAttribute") return false;
29
- const attributeName = attribute.name;
30
- return attributeName?.type === "JSXIdentifier" && attributeName.name === "jsx";
29
+ return attribute.name.type === "JSXIdentifier" && attribute.name.name === "jsx";
31
30
  })) {
32
31
  found = true;
33
32
  return false;
@@ -42,7 +41,8 @@ function createProjectRequire(projectRoot) {
42
41
  }
43
42
  function resolveNextRequire(projectRoot) {
44
43
  try {
45
- return createRequire(createProjectRequire(projectRoot).resolve("next/package.json"));
44
+ const projectRequire = createProjectRequire(projectRoot);
45
+ return createRequire(projectRequire.resolve("next/package.json"));
46
46
  } catch {
47
47
  return null;
48
48
  }
@@ -14,6 +14,5 @@
14
14
  * Only safe for transforms whose result depends solely on (id, source,
15
15
  * variant) — no filesystem or plugin-state reads inside `compute`.
16
16
  */
17
- declare function createTransformCache<V, R>(): (id: string, source: string, variant: V, compute: () => R) => R;
18
- //#endregion
19
- export { createTransformCache };
17
+ export declare function createTransformCache<V, R>(): (id: string, source: string, variant: V, compute: () => R) => R;
18
+ //#endregion
@@ -1,10 +1,27 @@
1
1
  import MagicString from "magic-string";
2
2
  //#region src/plugins/transform-result.d.ts
3
- type MagicStringTransformResult = {
3
+ export type MagicStringTransformResult = {
4
4
  code: string;
5
5
  map: ReturnType<MagicString["generateMap"]>;
6
6
  };
7
+ type SourcemapEnvironment = {
8
+ mode?: string;
9
+ config?: {
10
+ build?: {
11
+ sourcemap?: boolean | "inline" | "hidden";
12
+ };
13
+ };
14
+ };
7
15
  /** Build the standard code + sourcemap result returned by source transforms. */
8
- declare function magicStringTransformResult(output: MagicString, options?: Parameters<MagicString["generateMap"]>[0]): MagicStringTransformResult;
9
- //#endregion
10
- export { MagicStringTransformResult, magicStringTransformResult };
16
+ export declare function magicStringTransformResult(output: MagicString, options?: Parameters<MagicString["generateMap"]>[0]): MagicStringTransformResult;
17
+ /**
18
+ * Drop the sourcemap from a transform result when the build environment
19
+ * discards it, mirroring Vite's own transforms
20
+ * (`config.build.sourcemap ? s.generateMap(...) : null`). Dev and builds with
21
+ * sourcemaps enabled keep the result unchanged.
22
+ */
23
+ export declare function omitUnusedBuildSourcemap(environment: SourcemapEnvironment | undefined, result: MagicStringTransformResult | null): {
24
+ code: string;
25
+ map: MagicStringTransformResult["map"] | null;
26
+ } | null;
27
+ //#endregion
@@ -1,10 +1,31 @@
1
1
  //#region src/plugins/transform-result.ts
2
2
  /** Build the standard code + sourcemap result returned by source transforms. */
3
3
  function magicStringTransformResult(output, options = { hires: "boundary" }) {
4
+ let source = output;
5
+ let map;
4
6
  return {
5
7
  code: output.toString(),
6
- map: output.generateMap(options)
8
+ get map() {
9
+ if (source) {
10
+ map = source.generateMap(options);
11
+ source = void 0;
12
+ }
13
+ return map;
14
+ }
15
+ };
16
+ }
17
+ /**
18
+ * Drop the sourcemap from a transform result when the build environment
19
+ * discards it, mirroring Vite's own transforms
20
+ * (`config.build.sourcemap ? s.generateMap(...) : null`). Dev and builds with
21
+ * sourcemaps enabled keep the result unchanged.
22
+ */
23
+ function omitUnusedBuildSourcemap(environment, result) {
24
+ if (!result || environment?.mode !== "build" || environment.config?.build?.sourcemap !== false) return result;
25
+ return {
26
+ code: result.code,
27
+ map: null
7
28
  };
8
29
  }
9
30
  //#endregion
10
- export { magicStringTransformResult };
31
+ export { magicStringTransformResult, omitUnusedBuildSourcemap };
@@ -16,9 +16,8 @@ import { Plugin } from "vite";
16
16
  *
17
17
  * Reference: packages/next/src/build/handle-externals.ts in Next.js.
18
18
  */
19
- declare function createTransitiveExternalsPlugin(options: {
19
+ export declare function createTransitiveExternalsPlugin(options: {
20
20
  getRoot: () => string | undefined;
21
21
  getExternalPackages: () => readonly string[];
22
22
  }): Plugin;
23
- //#endregion
24
- export { createTransitiveExternalsPlugin };
23
+ //#endregion
@@ -1,19 +1,28 @@
1
1
  import { MagicStringTransformResult } from "./transform-result.js";
2
2
  //#region src/plugins/typeof-window.d.ts
3
3
  type WindowType = "object" | "undefined";
4
- declare const consumerEnvironmentConditionFilter: RegExp;
5
- type ConsumerEnvironmentReplacements = {
4
+ export declare const consumerEnvironmentConditionFilter: RegExp;
5
+ export type ConsumerEnvironmentReplacements = {
6
6
  typeofWindow?: WindowType;
7
7
  processBrowser?: boolean;
8
8
  pruneUnreachableImports?: boolean;
9
+ /**
10
+ * Return null without walking the AST when folding cannot change the module's
11
+ * scanned imports. Only valid for import-scan builds.
12
+ */
13
+ onlyIfScannedImportsChange?: boolean;
9
14
  };
10
15
  type EnvironmentLike = {
11
16
  config: {
12
17
  consumer: "client" | "server";
13
18
  };
14
19
  };
15
- declare function getTypeofWindowReplacement(environment: EnvironmentLike): WindowType;
16
- declare function replaceTypeofWindow(code: string, replacement: WindowType, id?: string): MagicStringTransformResult | null;
17
- declare function replaceConsumerEnvironmentConditions(code: string, replacements: ConsumerEnvironmentReplacements, id?: string): MagicStringTransformResult | null;
18
- //#endregion
19
- export { ConsumerEnvironmentReplacements, consumerEnvironmentConditionFilter, getTypeofWindowReplacement, replaceConsumerEnvironmentConditions, replaceTypeofWindow };
20
+ export declare function getTypeofWindowReplacement(environment: EnvironmentLike): WindowType;
21
+ /**
22
+ * Cheap pre-parse gate for import-scan builds. Over-inclusive by design; the
23
+ * parser's module record in {@link moduleRecordHasScannedFoldTargets} is exact.
24
+ */
25
+ export declare function mayFoldChangeScannedImports(code: string): boolean;
26
+ export declare function replaceTypeofWindow(code: string, replacement: WindowType, id?: string): MagicStringTransformResult | null;
27
+ export declare function replaceConsumerEnvironmentConditions(code: string, replacements: ConsumerEnvironmentReplacements, id?: string): MagicStringTransformResult | null;
28
+ //#endregion
@@ -1,13 +1,15 @@
1
1
  import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
2
- import { stripViteModuleQuery } from "../utils/path.js";
2
+ import { DYNAMIC_IMPORT_PRESCAN, booleanLiteralValue, collectBindingNames, forEachAstChild, isIdentifierNamed, stringLiteralValue } from "./ast-utils.js";
3
3
  import { magicStringTransformResult } from "./transform-result.js";
4
- import { booleanLiteralValue, collectBindingNames, forEachAstChild, hasRange, isAstRecord, isIdentifierNamed, nodeArray, stringLiteralValue } from "./ast-utils.js";
4
+ import { stripViteModuleQuery } from "../utils/path.js";
5
5
  import { collectDirectScopeBindings, collectLoopScopeBindings, collectSwitchScopeBindings, collectVarScopeBindings, createAstScope, hasAstBinding, isFunctionNode } from "./ast-scope.js";
6
- import { parseAst } from "vite";
6
+ import { parseSync } from "vite";
7
7
  import MagicString from "magic-string";
8
8
  //#region src/plugins/typeof-window.ts
9
9
  const sourceEscapePattern = /\\(?:\r\n|[\n\r\u2028\u2029]|[^\n\r\u2028\u2029])/;
10
10
  const consumerEnvironmentConditionFilter = new RegExp(String.raw`\btypeof\s+window\b|${/\\(?:u(?:[\da-fA-F]{4}|\{[\da-fA-F]+\})|x[\da-fA-F]{2})/.source}|\bprocess\b[\s)]*(?:(?:\?\.|\.)\s*(?:browser\b|\/[/*])|(?:\?\.\s*)?\[[\s(]*(?:["']browser["']|["'][^"'\\\n\r]*\\|\/[/*])|\/[/*])`);
11
+ const SCANNED_IMPORT_FOLD_PRESCAN = new RegExp(String.raw`${DYNAMIC_IMPORT_PRESCAN.source}|\bimport\s*\.`);
12
+ const NON_IMPORTING_IMPORT_META_RE = /\s*\.\s*(?:url|env)\b/y;
11
13
  function createChildScope(node, parent) {
12
14
  if (node.type !== "Program" && node.type !== "BlockStatement" && node.type !== "StaticBlock" && node.type !== "TSModuleBlock" && node.type !== "CatchClause" && node.type !== "ForStatement" && node.type !== "ForInStatement" && node.type !== "ForOfStatement" && node.type !== "ClassDeclaration" && node.type !== "ClassExpression") return null;
13
15
  const scope = createAstScope(parent);
@@ -22,15 +24,14 @@ function getTypeofWindowReplacement(environment) {
22
24
  return environment.config.consumer === "client" ? "object" : "undefined";
23
25
  }
24
26
  function evaluateTypeofWindowComparison(node, replacement, scope) {
25
- if (!isAstRecord(node) || node.type !== "BinaryExpression") return null;
27
+ if (node.type !== "BinaryExpression") return null;
26
28
  if (![
27
29
  "==",
28
30
  "===",
29
31
  "!=",
30
32
  "!=="
31
33
  ].includes(String(node.operator))) return null;
32
- const left = isAstRecord(node.left) ? node.left : null;
33
- const right = isAstRecord(node.right) ? node.right : null;
34
+ const { left, right } = node;
34
35
  const leftIsTypeofWindow = left?.type === "UnaryExpression" && left.operator === "typeof" && isIdentifierNamed(left.argument, "window") && !hasAstBinding(scope, "window");
35
36
  const rightIsTypeofWindow = right?.type === "UnaryExpression" && right.operator === "typeof" && isIdentifierNamed(right.argument, "window") && !hasAstBinding(scope, "window");
36
37
  const comparedValue = leftIsTypeofWindow ? stringLiteralValue(right) : rightIsTypeofWindow ? stringLiteralValue(left) : null;
@@ -39,17 +40,17 @@ function evaluateTypeofWindowComparison(node, replacement, scope) {
39
40
  return node.operator === "==" || node.operator === "===" ? equal : !equal;
40
41
  }
41
42
  function isProcessBrowserMember(node, scope) {
42
- const candidate = isAstRecord(node) && node.type === "ChainExpression" && isAstRecord(node.expression) ? node.expression : node;
43
- if (!isAstRecord(candidate) || candidate.type !== "MemberExpression") return false;
43
+ const candidate = node.type === "ChainExpression" ? node.expression : node;
44
+ if (candidate.type !== "MemberExpression") return false;
44
45
  return isIdentifierNamed(candidate.object, "process") && (candidate.computed ? stringLiteralValue(candidate.property) === "browser" : isIdentifierNamed(candidate.property, "browser")) && !hasAstBinding(scope, "process");
45
46
  }
46
47
  function evaluateProcessBrowserCondition(node, replacement, scope) {
47
48
  if (isProcessBrowserMember(node, scope)) return replacement;
48
- if (isAstRecord(node) && node.type === "UnaryExpression" && node.operator === "!") {
49
+ if (node.type === "UnaryExpression" && node.operator === "!") {
49
50
  const value = evaluateProcessBrowserCondition(node.argument, replacement, scope);
50
51
  return value === null ? null : !value;
51
52
  }
52
- if (!isAstRecord(node) || node.type !== "BinaryExpression") return null;
53
+ if (node.type !== "BinaryExpression") return null;
53
54
  if (![
54
55
  "==",
55
56
  "===",
@@ -64,7 +65,7 @@ function evaluateProcessBrowserCondition(node, replacement, scope) {
64
65
  return node.operator === "==" || node.operator === "===" ? equal : !equal;
65
66
  }
66
67
  function evaluateConsumerCondition(node, replacements, scope) {
67
- if (isAstRecord(node) && node.type === "LogicalExpression") {
68
+ if (node.type === "LogicalExpression") {
68
69
  const left = evaluateConsumerCondition(node.left, replacements, scope);
69
70
  if (node.operator === "&&") {
70
71
  if (left?.value === false) return left;
@@ -76,7 +77,7 @@ function evaluateConsumerCondition(node, replacements, scope) {
76
77
  } : null;
77
78
  }
78
79
  const right = evaluateConsumerCondition(node.right, replacements, scope);
79
- if (replacements.pruneUnreachableImports && right?.value === false && right.effects.length === 0 && isAstRecord(node.left)) return {
80
+ if (replacements.pruneUnreachableImports && right?.value === false && right.effects.length === 0) return {
80
81
  value: false,
81
82
  effects: [node.left]
82
83
  };
@@ -90,7 +91,7 @@ function evaluateConsumerCondition(node, replacements, scope) {
90
91
  } : null;
91
92
  }
92
93
  const right = evaluateConsumerCondition(node.right, replacements, scope);
93
- if (replacements.pruneUnreachableImports && right?.value === true && right.effects.length === 0 && isAstRecord(node.left)) return {
94
+ if (replacements.pruneUnreachableImports && right?.value === true && right.effects.length === 0) return {
94
95
  value: true,
95
96
  effects: [node.left]
96
97
  };
@@ -111,6 +112,27 @@ function evaluateConsumerCondition(node, replacements, scope) {
111
112
  effects: []
112
113
  };
113
114
  }
115
+ /**
116
+ * Cheap pre-parse gate for import-scan builds. Over-inclusive by design; the
117
+ * parser's module record in {@link moduleRecordHasScannedFoldTargets} is exact.
118
+ */
119
+ function mayFoldChangeScannedImports(code) {
120
+ return SCANNED_IMPORT_FOLD_PRESCAN.test(code);
121
+ }
122
+ /**
123
+ * Whether folding may change a scanned import: any dynamic or phase import, or
124
+ * an `import.meta` expression other than a `.url`/`.env` read. Reads the parser's native module record, so no
125
+ * ESTree is materialized.
126
+ */
127
+ function moduleRecordHasScannedFoldTargets(code, module, lang) {
128
+ if ((lang === "ts" || lang === "tsx") && DYNAMIC_IMPORT_PRESCAN.test(code)) return true;
129
+ if (module.dynamicImports.length > 0) return true;
130
+ for (const importMeta of module.importMetas) {
131
+ NON_IMPORTING_IMPORT_META_RE.lastIndex = importMeta.end;
132
+ if (!NON_IMPORTING_IMPORT_META_RE.test(code)) return true;
133
+ }
134
+ return false;
135
+ }
114
136
  function replaceTypeofWindow(code, replacement, id = "file.js") {
115
137
  return replaceConsumerEnvironmentConditions(code, { typeofWindow: replacement }, id);
116
138
  }
@@ -120,15 +142,15 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
120
142
  if (!mayContainTypeofWindow && !mayContainProcessBrowser) return null;
121
143
  const extension = path.extname(stripViteModuleQuery(id));
122
144
  const lang = extension === ".ts" || extension === ".mts" || extension === ".cts" ? "ts" : extension === ".tsx" ? "tsx" : extension === ".jsx" ? "jsx" : "js";
123
- let ast;
124
- try {
125
- ast = parseAst(code, { lang });
126
- } catch {
127
- return null;
128
- }
145
+ const parsed = parseSync(id, code, {
146
+ lang,
147
+ preserveParens: false
148
+ });
149
+ if (parsed.errors.length > 0) return null;
150
+ if (replacements.onlyIfScannedImportsChange && !moduleRecordHasScannedFoldTargets(code, parsed.module, lang)) return null;
151
+ const ast = parsed.program;
129
152
  const output = new MagicString(code);
130
153
  let changed = false;
131
- if (!isAstRecord(ast)) return null;
132
154
  function overwriteGap(start, end, content) {
133
155
  if (start === end) output.appendLeft(start, content);
134
156
  else output.overwrite(start, end, content);
@@ -140,11 +162,12 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
140
162
  if (isFunctionNode(node)) {
141
163
  const parameterScope = createAstScope(parentScope);
142
164
  collectBindingNames(node.id, parameterScope.bindings);
143
- for (const parameter of nodeArray(node.params)) {
165
+ for (const parameter of node.params) {
144
166
  collectBindingNames(parameter, parameterScope.bindings);
145
- if (isAstRecord(parameter)) visit(parameter, parameterScope);
167
+ visit(parameter, parameterScope);
146
168
  }
147
- if (isAstRecord(node.body)) if (node.body.type === "BlockStatement") {
169
+ if (!node.body) return;
170
+ if (node.body.type === "BlockStatement") {
148
171
  const bodyScope = createAstScope(parameterScope);
149
172
  collectDirectScopeBindings(node.body, bodyScope);
150
173
  collectVarScopeBindings(node.body, bodyScope);
@@ -153,29 +176,29 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
153
176
  return;
154
177
  }
155
178
  if (node.type === "SwitchStatement") {
156
- if (isAstRecord(node.discriminant)) visit(node.discriminant, parentScope);
179
+ visit(node.discriminant, parentScope);
157
180
  const switchScope = createAstScope(parentScope);
158
181
  collectSwitchScopeBindings(node, switchScope);
159
- for (const switchCase of nodeArray(node.cases)) if (isAstRecord(switchCase)) visit(switchCase, switchScope);
182
+ for (const switchCase of node.cases) visit(switchCase, switchScope);
160
183
  return;
161
184
  }
162
185
  const scope = createChildScope(node, parentScope) ?? parentScope;
163
- if (node.type === "IfStatement" && hasRange(node)) {
186
+ if (node.type === "IfStatement") {
164
187
  const result = evaluateConsumerCondition(node.test, replacements, scope);
165
188
  if (result !== null) {
166
189
  const selected = result.value ? node.consequent : node.alternate;
167
190
  if (result.effects.length > 0) {
168
- const effects = result.effects.filter(hasRange);
191
+ const effects = result.effects;
169
192
  for (const effect of effects) visit(effect, scope);
170
- if (isAstRecord(selected) && hasRange(selected)) visit(selected, scope);
193
+ if (selected) visit(selected, scope);
171
194
  overwriteGap(node.start, effects[0].start, "{ (");
172
195
  for (let index = 1; index < effects.length; index++) overwriteGap(effects[index - 1].end, effects[index].start, "); (");
173
196
  const lastEffect = effects.at(-1);
174
- if (isAstRecord(selected) && hasRange(selected)) {
197
+ if (selected) {
175
198
  overwriteGap(lastEffect.end, selected.start, "); ");
176
199
  overwriteGap(selected.end, node.end, " }");
177
200
  } else overwriteGap(lastEffect.end, node.end, "); }");
178
- } else if (isAstRecord(selected) && hasRange(selected)) {
201
+ } else if (selected) {
179
202
  output.remove(node.start, selected.start);
180
203
  output.remove(selected.end, node.end);
181
204
  visit(selected, scope);
@@ -184,12 +207,12 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
184
207
  return;
185
208
  }
186
209
  }
187
- if (node.type === "ConditionalExpression" && hasRange(node)) {
210
+ if (node.type === "ConditionalExpression") {
188
211
  const result = evaluateConsumerCondition(node.test, replacements, scope);
189
212
  const selected = result?.value ? node.consequent : node.alternate;
190
- if (result !== null && isAstRecord(selected) && hasRange(selected)) {
213
+ if (result !== null) {
191
214
  if (result.effects.length > 0) {
192
- const effects = result.effects.filter(hasRange);
215
+ const effects = result.effects;
193
216
  for (const effect of effects) visit(effect, scope);
194
217
  visit(selected, scope);
195
218
  overwriteGap(node.start, effects[0].start, "((");
@@ -206,10 +229,10 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
206
229
  return;
207
230
  }
208
231
  }
209
- if (node.type === "LogicalExpression" && hasRange(node)) {
232
+ if (node.type === "LogicalExpression") {
210
233
  const result = evaluateConsumerCondition(node, replacements, scope);
211
234
  if (result !== null) {
212
- const effects = result.effects.filter(hasRange);
235
+ const effects = result.effects;
213
236
  if (effects.length > 0) {
214
237
  for (const effect of effects) visit(effect, scope);
215
238
  overwriteGap(node.start, effects[0].start, "((");
@@ -220,21 +243,21 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
220
243
  return;
221
244
  }
222
245
  }
223
- if (node.type === "UnaryExpression" && node.operator === "typeof" && isIdentifierNamed(node.argument, "window") && replacements.typeofWindow !== void 0 && !hasAstBinding(scope, "window") && hasRange(node)) {
246
+ if (node.type === "UnaryExpression" && node.operator === "typeof" && isIdentifierNamed(node.argument, "window") && replacements.typeofWindow !== void 0 && !hasAstBinding(scope, "window")) {
224
247
  output.overwrite(node.start, node.end, JSON.stringify(replacements.typeofWindow));
225
248
  changed = true;
226
249
  return;
227
250
  }
228
- if (replacements.processBrowser !== void 0 && isProcessBrowserMember(node, scope) && hasRange(node)) {
251
+ if (replacements.processBrowser !== void 0 && isProcessBrowserMember(node, scope)) {
229
252
  output.overwrite(node.start, node.end, String(replacements.processBrowser));
230
253
  changed = true;
231
254
  return;
232
255
  }
233
256
  forEachAstChild(node, (child) => visit(child, scope));
234
257
  }
235
- for (const node of ast.body) if (isAstRecord(node)) visit(node, rootScope);
258
+ for (const node of ast.body) visit(node, rootScope);
236
259
  if (!changed) return null;
237
260
  return magicStringTransformResult(output);
238
261
  }
239
262
  //#endregion
240
- export { consumerEnvironmentConditionFilter, getTypeofWindowReplacement, replaceConsumerEnvironmentConditions, replaceTypeofWindow };
263
+ export { consumerEnvironmentConditionFilter, getTypeofWindowReplacement, mayFoldChangeScannedImports, replaceConsumerEnvironmentConditions, replaceTypeofWindow };
@@ -3,10 +3,7 @@ import { Plugin } from "vite";
3
3
  type Options = {
4
4
  projectRoot: string;
5
5
  cacheRuntime: string;
6
- getAppDir: () => string | undefined;
7
- matchesPageExtension: (fileName: string) => boolean;
8
6
  allowMissingRsc?: boolean;
9
7
  };
10
- declare function createUseCacheCallablePlugin(options: Options): Promise<Plugin>;
11
- //#endregion
12
- export { createUseCacheCallablePlugin };
8
+ export declare function createUseCacheCallablePlugin(options: Options): Promise<Plugin>;
9
+ //#endregion