vinext 1.0.0-beta.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (800) hide show
  1. package/README.md +150 -92
  2. package/THIRD_PARTY_LICENSES.md +25 -0
  3. package/dist/_virtual/_rolldown/runtime.js +25 -0
  4. package/dist/build/action-owner-manifest.d.ts +8 -9
  5. package/dist/build/action-owner-manifest.js +23 -5
  6. package/dist/build/assets-ignore.d.ts +3 -4
  7. package/dist/build/clean-output.d.ts +2 -3
  8. package/dist/build/client-build-config.d.ts +40 -12
  9. package/dist/build/client-build-config.js +76 -6
  10. package/dist/build/css-url-assets.d.ts +4 -5
  11. package/dist/build/css-url-assets.js +5 -2
  12. package/dist/build/google-fonts/build-url.d.ts +3 -4
  13. package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
  14. package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
  15. package/dist/build/google-fonts/font-metadata.d.ts +2 -3
  16. package/dist/build/google-fonts/get-axes.d.ts +2 -3
  17. package/dist/build/google-fonts/sort-variants.d.ts +2 -3
  18. package/dist/build/google-fonts/validate.d.ts +2 -3
  19. package/dist/build/google-fonts/validate.js +8 -4
  20. package/dist/build/inject-pregenerated-paths.d.ts +2 -3
  21. package/dist/build/inject-pregenerated-paths.js +16 -14
  22. package/dist/build/inline-css.d.ts +3 -4
  23. package/dist/build/layout-classification-types.d.ts +4 -5
  24. package/dist/build/layout-classification.d.ts +7 -8
  25. package/dist/build/lifecycle.d.ts +42 -0
  26. package/dist/build/lifecycle.js +253 -0
  27. package/dist/build/module-dependency-cache.d.ts +2 -3
  28. package/dist/build/next-client-runtime-manifests.d.ts +4 -5
  29. package/dist/build/nitro-route-rules.d.ts +6 -7
  30. package/dist/build/nitro-route-rules.js +1 -1
  31. package/dist/build/pages-client-assets-module.d.ts +4 -8
  32. package/dist/build/pages-client-assets-module.js +1 -13
  33. package/dist/build/precompress.d.ts +2 -3
  34. package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
  35. package/dist/build/prerender-cloudflare-loader.js +49 -0
  36. package/dist/build/prerender-paths.d.ts +36 -11
  37. package/dist/build/prerender-paths.js +273 -97
  38. package/dist/build/prerender-phase.d.ts +2 -3
  39. package/dist/build/prerender-server-entry.js +11 -3
  40. package/dist/build/prerender-server-pool.d.ts +9 -6
  41. package/dist/build/prerender-server-pool.js +8 -5
  42. package/dist/build/prerender.d.ts +65 -15
  43. package/dist/build/prerender.js +139 -43
  44. package/dist/build/preview-credentials.d.ts +5 -6
  45. package/dist/build/preview-credentials.js +2 -2
  46. package/dist/build/public-dir-conflict.d.ts +5 -6
  47. package/dist/build/public-dir-conflict.js +2 -1
  48. package/dist/build/report.d.ts +24 -20
  49. package/dist/build/report.js +10 -2
  50. package/dist/build/route-classification-injector.d.ts +2 -3
  51. package/dist/build/route-classification-manifest.d.ts +5 -6
  52. package/dist/build/run-prerender.d.ts +11 -9
  53. package/dist/build/run-prerender.js +25 -16
  54. package/dist/build/server-entry.d.ts +4 -0
  55. package/dist/build/server-entry.js +28 -0
  56. package/dist/build/server-manifest.d.ts +8 -3
  57. package/dist/build/server-manifest.js +14 -2
  58. package/dist/build/ssr-manifest.d.ts +5 -6
  59. package/dist/build/standalone.d.ts +2 -3
  60. package/dist/build/standalone.js +2 -2
  61. package/dist/build/static-export.d.ts +6 -7
  62. package/dist/cache/cache-adapters-virtual.d.ts +60 -20
  63. package/dist/cache/cache-adapters-virtual.js +50 -7
  64. package/dist/check.d.ts +11 -10
  65. package/dist/check.js +467 -176
  66. package/dist/cli-args.d.ts +7 -16
  67. package/dist/cli-args.js +2 -45
  68. package/dist/cli-dev-config.d.ts +10 -7
  69. package/dist/cli-dev-config.js +160 -3
  70. package/dist/cli.js +124 -442
  71. package/dist/client/app-nav-failure-handler.d.ts +6 -7
  72. package/dist/client/client-rewrite-matcher.d.ts +2 -3
  73. package/dist/client/client-rewrites.d.ts +4 -5
  74. package/dist/client/dev-error-overlay-store.d.ts +13 -14
  75. package/dist/client/dev-error-overlay.d.ts +15 -15
  76. package/dist/client/dev-error-overlay.js +8 -5
  77. package/dist/client/instrumentation-client-inject.d.ts +3 -4
  78. package/dist/client/instrumentation-client-state.d.ts +5 -6
  79. package/dist/client/instrumentation-client.d.ts +3 -4
  80. package/dist/client/navigation-runtime.d.ts +21 -17
  81. package/dist/client/navigation-runtime.js +2 -1
  82. package/dist/client/pages-router-link-navigation.d.ts +4 -5
  83. package/dist/client/react-instance.d.ts +2 -3
  84. package/dist/client/validate-module-path.d.ts +2 -3
  85. package/dist/client/vinext-next-data.d.ts +7 -10
  86. package/dist/client/window-next.d.ts +4 -5
  87. package/dist/config/config-matchers.d.ts +16 -16
  88. package/dist/config/config-matchers.js +2 -4
  89. package/dist/config/dotenv.d.ts +3 -4
  90. package/dist/config/dotenv.js +2 -1
  91. package/dist/config/next-config.d.ts +31 -27
  92. package/dist/config/next-config.js +163 -16
  93. package/dist/config/prerender.d.ts +20 -16
  94. package/dist/config/prerender.js +10 -4
  95. package/dist/config/request-context.d.ts +5 -6
  96. package/dist/config/server-external-packages.d.ts +14 -3
  97. package/dist/config/server-external-packages.js +37 -3
  98. package/dist/config/tsconfig-paths.d.ts +3 -4
  99. package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
  100. package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
  101. package/dist/entries/app-browser-entry.d.ts +4 -5
  102. package/dist/entries/app-browser-entry.js +1 -3
  103. package/dist/entries/app-rsc-entry.d.ts +10 -3
  104. package/dist/entries/app-rsc-entry.js +502 -51
  105. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  106. package/dist/entries/app-rsc-manifest.js +26 -8
  107. package/dist/entries/app-ssr-entry.d.ts +2 -3
  108. package/dist/entries/app-ssr-entry.js +8 -1
  109. package/dist/entries/pages-client-entry.d.ts +3 -3
  110. package/dist/entries/pages-client-entry.js +17 -2
  111. package/dist/entries/pages-server-entry.d.ts +13 -3
  112. package/dist/entries/pages-server-entry.js +234 -33
  113. package/dist/entries/runtime-entry-module.d.ts +4 -5
  114. package/dist/image/image-adapters-virtual.d.ts +4 -5
  115. package/dist/index.d.ts +10 -11
  116. package/dist/index.js +711 -189
  117. package/dist/init-cloudflare.d.ts +26 -17
  118. package/dist/init-cloudflare.js +710 -102
  119. package/dist/init-platform.d.ts +26 -22
  120. package/dist/init-platform.js +85 -29
  121. package/dist/init.d.ts +19 -13
  122. package/dist/init.js +123 -41
  123. package/dist/plugins/action-owner-manifest.d.ts +3 -4
  124. package/dist/plugins/action-owner-manifest.js +10 -3
  125. package/dist/plugins/ast-scope.d.ts +10 -11
  126. package/dist/plugins/ast-scope.js +10 -22
  127. package/dist/plugins/ast-utils.d.ts +16 -29
  128. package/dist/plugins/ast-utils.js +27 -71
  129. package/dist/plugins/async-hooks-stub.d.ts +2 -3
  130. package/dist/plugins/client-reference-dedup.d.ts +4 -5
  131. package/dist/plugins/css-data-url.d.ts +2 -3
  132. package/dist/plugins/css-module-imports.d.ts +3 -4
  133. package/dist/plugins/css-module-imports.js +1 -1
  134. package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
  135. package/dist/plugins/dynamic-preload-metadata.js +55 -154
  136. package/dist/plugins/environment.d.ts +2 -3
  137. package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
  138. package/dist/plugins/extensionless-dynamic-import.js +6 -10
  139. package/dist/plugins/fonts.d.ts +10 -11
  140. package/dist/plugins/fonts.js +4 -3
  141. package/dist/plugins/ignore-dynamic-requests.d.ts +3 -4
  142. package/dist/plugins/ignore-dynamic-requests.js +60 -89
  143. package/dist/plugins/import-meta-url.d.ts +6 -7
  144. package/dist/plugins/import-meta-url.js +31 -43
  145. package/dist/plugins/instrumentation-client.d.ts +3 -3
  146. package/dist/plugins/instrumentation-client.js +46 -10
  147. package/dist/plugins/middleware-export-validation.d.ts +3 -4
  148. package/dist/plugins/middleware-export-validation.js +3 -3
  149. package/dist/plugins/middleware-server-only.d.ts +2 -3
  150. package/dist/plugins/og-asset-ownership.d.ts +3 -4
  151. package/dist/plugins/og-assets.d.ts +4 -5
  152. package/dist/plugins/og-assets.js +32 -13
  153. package/dist/plugins/og-harfbuzz.d.ts +24 -0
  154. package/dist/plugins/og-harfbuzz.js +260 -0
  155. package/dist/plugins/optimize-imports.d.ts +7 -7
  156. package/dist/plugins/optimize-imports.js +32 -44
  157. package/dist/plugins/pages-node-externals.d.ts +2 -3
  158. package/dist/plugins/pages-node-externals.js +6 -11
  159. package/dist/plugins/postcss.d.ts +8 -4
  160. package/dist/plugins/postcss.js +1 -1
  161. package/dist/plugins/remove-console.d.ts +2 -3
  162. package/dist/plugins/remove-console.js +0 -1
  163. package/dist/plugins/require-condition-resolution.d.ts +3 -4
  164. package/dist/plugins/require-condition-resolution.js +17 -18
  165. package/dist/plugins/require-context.d.ts +2 -3
  166. package/dist/plugins/require-context.js +13 -21
  167. package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
  168. package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
  169. package/dist/plugins/rsc-client-shim-excludes.js +1 -0
  170. package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
  171. package/dist/plugins/sass.d.ts +7 -8
  172. package/dist/plugins/sass.js +7 -4
  173. package/dist/plugins/server-externals-manifest.d.ts +2 -3
  174. package/dist/plugins/strip-server-exports.d.ts +5 -6
  175. package/dist/plugins/strip-server-exports.js +1 -1
  176. package/dist/plugins/styled-jsx.d.ts +2 -3
  177. package/dist/plugins/styled-jsx.js +7 -7
  178. package/dist/plugins/transform-cache.d.ts +2 -3
  179. package/dist/plugins/transform-result.d.ts +3 -4
  180. package/dist/plugins/transitive-externals.d.ts +2 -3
  181. package/dist/plugins/typeof-window.d.ts +6 -7
  182. package/dist/plugins/typeof-window.js +30 -31
  183. package/dist/plugins/use-cache-callable.d.ts +2 -5
  184. package/dist/plugins/use-cache-callable.js +43 -22
  185. package/dist/plugins/wasm-module-import.d.ts +2 -3
  186. package/dist/plugins/worker-image-imports.d.ts +2 -3
  187. package/dist/plugins/worker-image-imports.js +6 -8
  188. package/dist/routing/app-route-graph.d.ts +19 -19
  189. package/dist/routing/app-route-graph.js +3 -2
  190. package/dist/routing/app-router.d.ts +19 -6
  191. package/dist/routing/app-router.js +24 -2
  192. package/dist/routing/file-matcher.d.ts +9 -10
  193. package/dist/routing/pages-router.d.ts +6 -6
  194. package/dist/routing/pages-router.js +1 -1
  195. package/dist/routing/route-matching.d.ts +4 -5
  196. package/dist/routing/route-matching.js +4 -2
  197. package/dist/routing/route-pattern.d.ts +13 -14
  198. package/dist/routing/route-trie.d.ts +5 -6
  199. package/dist/routing/route-validation.d.ts +3 -4
  200. package/dist/routing/route-validation.js +12 -11
  201. package/dist/routing/utils.d.ts +13 -14
  202. package/dist/server/accept-encoding.d.ts +9 -10
  203. package/dist/server/api-handler.d.ts +2 -3
  204. package/dist/server/api-handler.js +9 -6
  205. package/dist/server/app-action-forwarding.d.ts +3 -4
  206. package/dist/server/app-action-forwarding.js +1 -1
  207. package/dist/server/app-action-request.d.ts +2 -3
  208. package/dist/server/app-bfcache-id.d.ts +3 -4
  209. package/dist/server/app-bfcache-identity.d.ts +8 -9
  210. package/dist/server/app-browser-action-result.d.ts +15 -16
  211. package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
  212. package/dist/server/app-browser-entry.js +87 -34
  213. package/dist/server/app-browser-error.d.ts +5 -6
  214. package/dist/server/app-browser-error.js +9 -3
  215. package/dist/server/app-browser-history-controller.d.ts +4 -5
  216. package/dist/server/app-browser-hydration.d.ts +16 -6
  217. package/dist/server/app-browser-hydration.js +14 -1
  218. package/dist/server/app-browser-interception-context.d.ts +3 -4
  219. package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
  220. package/dist/server/app-browser-navigation-abort.d.ts +3 -4
  221. package/dist/server/app-browser-navigation-controller.d.ts +8 -8
  222. package/dist/server/app-browser-navigation-controller.js +8 -4
  223. package/dist/server/app-browser-navigation-response.d.ts +2 -3
  224. package/dist/server/app-browser-popstate.d.ts +4 -5
  225. package/dist/server/app-browser-prefetch-response.d.ts +5 -6
  226. package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
  227. package/dist/server/app-browser-server-action-client.d.ts +7 -6
  228. package/dist/server/app-browser-server-action-client.js +9 -5
  229. package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
  230. package/dist/server/app-browser-state.d.ts +17 -17
  231. package/dist/server/app-browser-state.js +6 -2
  232. package/dist/server/app-browser-stream.d.ts +4 -5
  233. package/dist/server/app-browser-stream.js +8 -6
  234. package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
  235. package/dist/server/app-browser-visible-commit.d.ts +6 -7
  236. package/dist/server/app-client-reference-preloader.d.ts +2 -3
  237. package/dist/server/app-elements-wire-key.d.ts +25 -0
  238. package/dist/server/app-elements-wire-key.js +69 -0
  239. package/dist/server/app-elements-wire.d.ts +34 -53
  240. package/dist/server/app-elements-wire.js +4 -75
  241. package/dist/server/app-elements.d.ts +5 -5
  242. package/dist/server/app-elements.js +1 -1
  243. package/dist/server/app-fallback-renderer.d.ts +4 -4
  244. package/dist/server/app-fallback-renderer.js +6 -6
  245. package/dist/server/app-fetch-tracing.d.ts +15 -0
  246. package/dist/server/app-fetch-tracing.js +38 -0
  247. package/dist/server/app-history-state.d.ts +26 -27
  248. package/dist/server/app-history-state.js +19 -11
  249. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  250. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  251. package/dist/server/app-inline-css-client.d.ts +3 -4
  252. package/dist/server/app-interception-context-header.d.ts +2 -3
  253. package/dist/server/app-layout-param-observation.d.ts +7 -8
  254. package/dist/server/app-metadata-tracing.d.ts +12 -0
  255. package/dist/server/app-metadata-tracing.js +17 -0
  256. package/dist/server/app-middleware.d.ts +7 -7
  257. package/dist/server/app-middleware.js +2 -3
  258. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  259. package/dist/server/app-mounted-slots-header.js +2 -2
  260. package/dist/server/app-optimistic-routing.d.ts +10 -11
  261. package/dist/server/app-optimistic-routing.js +3 -2
  262. package/dist/server/app-page-boundary-render.d.ts +6 -6
  263. package/dist/server/app-page-boundary-render.js +10 -4
  264. package/dist/server/app-page-boundary.d.ts +9 -10
  265. package/dist/server/app-page-boundary.js +1 -1
  266. package/dist/server/app-page-cache-finalizer.d.ts +18 -9
  267. package/dist/server/app-page-cache-finalizer.js +51 -16
  268. package/dist/server/app-page-cache-render.d.ts +8 -5
  269. package/dist/server/app-page-cache-render.js +22 -5
  270. package/dist/server/app-page-cache.d.ts +28 -9
  271. package/dist/server/app-page-cache.js +95 -24
  272. package/dist/server/app-page-dispatch.d.ts +34 -12
  273. package/dist/server/app-page-dispatch.js +181 -64
  274. package/dist/server/app-page-element-builder.d.ts +13 -11
  275. package/dist/server/app-page-element-builder.js +104 -61
  276. package/dist/server/app-page-execution.d.ts +14 -14
  277. package/dist/server/app-page-execution.js +11 -7
  278. package/dist/server/app-page-head.d.ts +19 -16
  279. package/dist/server/app-page-head.js +25 -25
  280. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  281. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  282. package/dist/server/app-page-method.d.ts +5 -11
  283. package/dist/server/app-page-method.js +2 -9
  284. package/dist/server/app-page-params.d.ts +5 -6
  285. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  286. package/dist/server/app-page-probe.d.ts +5 -6
  287. package/dist/server/app-page-probe.js +5 -4
  288. package/dist/server/app-page-render-identity.d.ts +4 -5
  289. package/dist/server/app-page-render-observation.d.ts +8 -9
  290. package/dist/server/app-page-render-observation.js +1 -1
  291. package/dist/server/app-page-render.d.ts +41 -6
  292. package/dist/server/app-page-render.js +171 -25
  293. package/dist/server/app-page-request.d.ts +10 -9
  294. package/dist/server/app-page-request.js +16 -12
  295. package/dist/server/app-page-response.d.ts +20 -9
  296. package/dist/server/app-page-response.js +30 -12
  297. package/dist/server/app-page-route-wiring.d.ts +15 -15
  298. package/dist/server/app-page-route-wiring.js +31 -24
  299. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  300. package/dist/server/app-page-search-params-observation.js +42 -6
  301. package/dist/server/app-page-segment-plan.d.ts +2 -3
  302. package/dist/server/app-page-segment-state.d.ts +11 -12
  303. package/dist/server/app-page-stream.d.ts +27 -11
  304. package/dist/server/app-page-stream.js +34 -6
  305. package/dist/server/app-page-tracing.d.ts +33 -0
  306. package/dist/server/app-page-tracing.js +49 -0
  307. package/dist/server/app-pages-bridge.d.ts +6 -6
  308. package/dist/server/app-pages-bridge.js +17 -4
  309. package/dist/server/app-post-middleware-context.d.ts +2 -3
  310. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  311. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  312. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  313. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  314. package/dist/server/app-prerender-endpoints.js +3 -1
  315. package/dist/server/app-prerender-static-params.d.ts +15 -7
  316. package/dist/server/app-prerender-static-params.js +24 -9
  317. package/dist/server/app-render-dependency.d.ts +14 -13
  318. package/dist/server/app-render-dependency.js +5 -1
  319. package/dist/server/app-request-context.d.ts +3 -4
  320. package/dist/server/app-request-stage-context.d.ts +5 -0
  321. package/dist/server/app-request-stage-context.js +11 -0
  322. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  323. package/dist/server/app-request-stage-dispatch.js +54 -0
  324. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  325. package/dist/server/app-request-stage-independent-entry.js +115 -0
  326. package/dist/server/app-response-header-provenance.d.ts +13 -7
  327. package/dist/server/app-response-header-provenance.js +34 -1
  328. package/dist/server/app-response-stage-entry.d.ts +9 -0
  329. package/dist/server/app-response-stage-entry.js +87 -0
  330. package/dist/server/app-route-handler-cache.d.ts +2 -3
  331. package/dist/server/app-route-handler-cache.js +46 -34
  332. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  333. package/dist/server/app-route-handler-dispatch.js +68 -54
  334. package/dist/server/app-route-handler-execution.d.ts +17 -13
  335. package/dist/server/app-route-handler-execution.js +69 -18
  336. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  337. package/dist/server/app-route-handler-middleware-context.js +15 -0
  338. package/dist/server/app-route-handler-policy.d.ts +11 -11
  339. package/dist/server/app-route-handler-response.d.ts +9 -10
  340. package/dist/server/app-route-handler-response.js +2 -0
  341. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  342. package/dist/server/app-route-handler-runtime.js +20 -16
  343. package/dist/server/app-route-module-loader.d.ts +6 -7
  344. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  345. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  346. package/dist/server/app-route-tree-prefetch.js +2 -1
  347. package/dist/server/app-router-entry.d.ts +2 -0
  348. package/dist/server/app-router-entry.js +28 -8
  349. package/dist/server/app-rsc-cache-busting.d.ts +34 -27
  350. package/dist/server/app-rsc-cache-busting.js +14 -2
  351. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  352. package/dist/server/app-rsc-combined-handler.js +11 -0
  353. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  354. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  355. package/dist/server/app-rsc-error-handler.js +15 -6
  356. package/dist/server/app-rsc-errors.d.ts +12 -9
  357. package/dist/server/app-rsc-errors.js +15 -13
  358. package/dist/server/app-rsc-handler.d.ts +31 -6
  359. package/dist/server/app-rsc-handler.js +411 -61
  360. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  361. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  362. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  363. package/dist/server/app-rsc-request-normalization.js +2 -1
  364. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  365. package/dist/server/app-rsc-response-finalizer.js +6 -6
  366. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  367. package/dist/server/app-rsc-response-stage.js +251 -0
  368. package/dist/server/app-rsc-route-matching.d.ts +3 -4
  369. package/dist/server/app-rsc-route-matching.js +3 -2
  370. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  371. package/dist/server/app-rsc-vary.d.ts +16 -0
  372. package/dist/server/app-rsc-vary.js +31 -0
  373. package/dist/server/app-segment-config.d.ts +119 -7
  374. package/dist/server/app-segment-config.js +242 -2
  375. package/dist/server/app-server-action-execution.d.ts +16 -12
  376. package/dist/server/app-server-action-execution.js +86 -33
  377. package/dist/server/app-ssr-entry.d.ts +14 -4
  378. package/dist/server/app-ssr-entry.js +61 -14
  379. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  380. package/dist/server/app-ssr-error-meta.js +2 -1
  381. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  382. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  383. package/dist/server/app-ssr-search-params-gate.js +54 -0
  384. package/dist/server/app-ssr-stream.d.ts +13 -9
  385. package/dist/server/app-ssr-stream.js +33 -7
  386. package/dist/server/app-static-generation.d.ts +4 -5
  387. package/dist/server/app-visited-response-cache.d.ts +11 -12
  388. package/dist/server/app-visited-response-cache.js +2 -2
  389. package/dist/server/app-worker-stages.d.ts +112 -0
  390. package/dist/server/app-worker-stages.js +105 -0
  391. package/dist/server/artifact-compatibility.d.ts +11 -12
  392. package/dist/server/before-interactive-head.d.ts +2 -3
  393. package/dist/server/bfcache-identity.d.ts +7 -8
  394. package/dist/server/cache-control.d.ts +35 -13
  395. package/dist/server/cache-control.js +71 -5
  396. package/dist/server/cache-headers.d.ts +3 -4
  397. package/dist/server/cache-proof.d.ts +75 -70
  398. package/dist/server/cache-proof.js +9 -1
  399. package/dist/server/cacheability-limits.d.ts +4 -5
  400. package/dist/server/cacheability-limits.js +2 -2
  401. package/dist/server/cacheability-manifest.d.ts +42 -16
  402. package/dist/server/cacheability-manifest.js +60 -10
  403. package/dist/server/cacheability-request.d.ts +37 -8
  404. package/dist/server/cacheability-request.js +159 -57
  405. package/dist/server/client-reuse-manifest.d.ts +17 -18
  406. package/dist/server/client-reuse-manifest.js +2 -2
  407. package/dist/server/client-trace-metadata.d.ts +9 -6
  408. package/dist/server/client-trace-metadata.js +27 -15
  409. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  410. package/dist/server/cloudflare-workers-tracing.js +8 -0
  411. package/dist/server/config-headers.d.ts +19 -5
  412. package/dist/server/config-headers.js +25 -11
  413. package/dist/server/cookie-utils.d.ts +2 -3
  414. package/dist/server/csp.d.ts +5 -6
  415. package/dist/server/default-global-error-module.d.ts +2 -3
  416. package/dist/server/default-global-not-found-module.d.ts +2 -3
  417. package/dist/server/default-not-found-module.d.ts +2 -3
  418. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  419. package/dist/server/defer-until-stream-consumed.js +2 -1
  420. package/dist/server/dev-initial-server-error.d.ts +3 -4
  421. package/dist/server/dev-initial-server-error.js +2 -1
  422. package/dist/server/dev-lockfile.d.ts +7 -8
  423. package/dist/server/dev-lockfile.js +4 -1
  424. package/dist/server/dev-module-runner.d.ts +2 -3
  425. package/dist/server/dev-origin-check.d.ts +5 -6
  426. package/dist/server/dev-route-files.d.ts +2 -3
  427. package/dist/server/dev-server.d.ts +4 -5
  428. package/dist/server/dev-server.js +130 -61
  429. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  430. package/dist/server/dev-stack-sourcemap.js +1 -1
  431. package/dist/server/document-initial-head.d.ts +3 -4
  432. package/dist/server/edge-api-runtime.d.ts +4 -5
  433. package/dist/server/fetch-handler.d.ts +3 -2
  434. package/dist/server/fetch-handler.js +3 -18
  435. package/dist/server/file-based-metadata.d.ts +2 -3
  436. package/dist/server/framework-tracer.d.ts +46 -0
  437. package/dist/server/framework-tracer.js +125 -0
  438. package/dist/server/fully-buffered-response.d.ts +11 -0
  439. package/dist/server/fully-buffered-response.js +19 -0
  440. package/dist/server/headers.d.ts +54 -61
  441. package/dist/server/headers.js +18 -31
  442. package/dist/server/html.d.ts +6 -27
  443. package/dist/server/html.js +16 -1
  444. package/dist/server/http-conditional.d.ts +5 -6
  445. package/dist/server/http-date.d.ts +2 -3
  446. package/dist/server/http-error-responses.d.ts +9 -10
  447. package/dist/server/http-range.d.ts +4 -5
  448. package/dist/server/hybrid-route-priority.d.ts +4 -5
  449. package/dist/server/image-optimization.d.ts +20 -21
  450. package/dist/server/implicit-tags.d.ts +3 -4
  451. package/dist/server/instrumentation-runtime.d.ts +17 -21
  452. package/dist/server/instrumentation-runtime.js +26 -8
  453. package/dist/server/instrumentation.d.ts +26 -30
  454. package/dist/server/instrumentation.js +18 -23
  455. package/dist/server/isr-cache.d.ts +28 -27
  456. package/dist/server/isr-cache.js +18 -70
  457. package/dist/server/isr-decision.d.ts +4 -4
  458. package/dist/server/metadata-route-build-data.d.ts +4 -5
  459. package/dist/server/metadata-route-cache-policy.d.ts +2 -3
  460. package/dist/server/metadata-route-response.d.ts +7 -7
  461. package/dist/server/metadata-route-response.js +68 -2
  462. package/dist/server/metadata-routes.d.ts +18 -19
  463. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  464. package/dist/server/middleware-matcher.d.ts +6 -7
  465. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  466. package/dist/server/middleware-path-to-regexp.js +11 -9
  467. package/dist/server/middleware-response-headers.d.ts +3 -4
  468. package/dist/server/middleware-runtime.d.ts +7 -8
  469. package/dist/server/middleware-runtime.js +36 -7
  470. package/dist/server/middleware.d.ts +5 -5
  471. package/dist/server/multi-stage.d.ts +141 -0
  472. package/dist/server/multi-stage.js +8 -0
  473. package/dist/server/navigation-planner.d.ts +26 -26
  474. package/dist/server/navigation-trace.d.ts +11 -12
  475. package/dist/server/next-error-digest.d.ts +4 -5
  476. package/dist/server/normalize-path.d.ts +5 -6
  477. package/dist/server/open-redirect.d.ts +2 -3
  478. package/dist/server/opentelemetry-api.d.ts +59 -0
  479. package/dist/server/opentelemetry-api.js +53 -0
  480. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  481. package/dist/server/opentelemetry-tracing.js +83 -0
  482. package/dist/server/operation-token.d.ts +11 -12
  483. package/dist/server/otel-tracer-extension.d.ts +7 -9
  484. package/dist/server/otel-tracer-extension.js +37 -36
  485. package/dist/server/pages-api-route.d.ts +5 -4
  486. package/dist/server/pages-api-route.js +20 -7
  487. package/dist/server/pages-asset-tags.d.ts +6 -6
  488. package/dist/server/pages-asset-tags.js +37 -2
  489. package/dist/server/pages-body-parser-config.d.ts +4 -5
  490. package/dist/server/pages-body-parser-config.js +4 -4
  491. package/dist/server/pages-client-assets.d.ts +11 -5
  492. package/dist/server/pages-data-route.d.ts +11 -12
  493. package/dist/server/pages-data-route.js +1 -1
  494. package/dist/server/pages-default-404.d.ts +3 -4
  495. package/dist/server/pages-dev-hydration.d.ts +9 -4
  496. package/dist/server/pages-dev-hydration.js +19 -7
  497. package/dist/server/pages-dev-module-url.d.ts +3 -4
  498. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  499. package/dist/server/pages-document-asset-props.d.ts +6 -7
  500. package/dist/server/pages-document-initial-props.d.ts +5 -5
  501. package/dist/server/pages-document-initial-props.js +4 -2
  502. package/dist/server/pages-execution-tracing.d.ts +40 -0
  503. package/dist/server/pages-execution-tracing.js +80 -0
  504. package/dist/server/pages-get-initial-props.d.ts +9 -10
  505. package/dist/server/pages-i18n.d.ts +8 -8
  506. package/dist/server/pages-media-type.d.ts +4 -5
  507. package/dist/server/pages-node-compat.d.ts +11 -10
  508. package/dist/server/pages-node-compat.js +12 -4
  509. package/dist/server/pages-page-data.d.ts +18 -19
  510. package/dist/server/pages-page-data.js +11 -10
  511. package/dist/server/pages-page-handler.d.ts +7 -6
  512. package/dist/server/pages-page-handler.js +77 -39
  513. package/dist/server/pages-page-method.d.ts +2 -3
  514. package/dist/server/pages-page-response.d.ts +14 -10
  515. package/dist/server/pages-page-response.js +49 -31
  516. package/dist/server/pages-preview.d.ts +10 -11
  517. package/dist/server/pages-readiness.d.ts +2 -3
  518. package/dist/server/pages-request-pipeline.d.ts +14 -12
  519. package/dist/server/pages-request-pipeline.js +60 -30
  520. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  521. package/dist/server/pages-request-stage-entry.js +314 -0
  522. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  523. package/dist/server/pages-response-stage-entry.js +106 -0
  524. package/dist/server/pages-response-stage.d.ts +31 -0
  525. package/dist/server/pages-response-stage.js +49 -0
  526. package/dist/server/pages-revalidate.d.ts +3 -4
  527. package/dist/server/pages-revalidate.js +9 -4
  528. package/dist/server/pages-route-data-kind.d.ts +18 -0
  529. package/dist/server/pages-route-data-kind.js +11 -0
  530. package/dist/server/pages-router-entry.d.ts +1 -25
  531. package/dist/server/pages-router-entry.js +35 -148
  532. package/dist/server/pages-serializable-props.d.ts +3 -4
  533. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  534. package/dist/server/pregenerated-concrete-paths.js +12 -6
  535. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  536. package/dist/server/prerender-manifest.d.ts +11 -11
  537. package/dist/server/prerender-manifest.js +6 -3
  538. package/dist/server/prerender-route-params.d.ts +16 -9
  539. package/dist/server/prerender-route-params.js +18 -3
  540. package/dist/server/prerender-work-unit-setup.d.ts +2 -3
  541. package/dist/server/prerender-work-unit-setup.js +5 -5
  542. package/dist/server/prod-server.d.ts +12 -9
  543. package/dist/server/prod-server.js +124 -31
  544. package/dist/server/proxy-trust.d.ts +5 -6
  545. package/dist/server/request-log.d.ts +3 -4
  546. package/dist/server/request-pipeline.d.ts +16 -16
  547. package/dist/server/request-pipeline.js +7 -2
  548. package/dist/server/request-stage.d.ts +5 -0
  549. package/dist/server/request-stage.js +7 -0
  550. package/dist/server/request-tracing.d.ts +22 -0
  551. package/dist/server/request-tracing.js +180 -0
  552. package/dist/server/response-stage-cacheability.d.ts +37 -0
  553. package/dist/server/response-stage-cacheability.js +55 -0
  554. package/dist/server/response-stage-policy.d.ts +23 -0
  555. package/dist/server/response-stage-policy.js +89 -0
  556. package/dist/server/response-stage.d.ts +5 -0
  557. package/dist/server/response-stage.js +7 -0
  558. package/dist/server/response-start-tracing.d.ts +14 -0
  559. package/dist/server/response-start-tracing.js +80 -0
  560. package/dist/server/revalidation-host.d.ts +2 -3
  561. package/dist/server/revalidation-host.js +1 -1
  562. package/dist/server/revalidation-request.d.ts +8 -0
  563. package/dist/server/revalidation-request.js +37 -0
  564. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  565. package/dist/server/rsc-stream-hints.d.ts +18 -7
  566. package/dist/server/rsc-stream-hints.js +70 -35
  567. package/dist/server/seed-cache.d.ts +2 -3
  568. package/dist/server/seed-cache.js +8 -7
  569. package/dist/server/server-action-not-found.d.ts +5 -6
  570. package/dist/server/server-globals.d.ts +2 -3
  571. package/dist/server/skip-cache-proof.d.ts +4 -4
  572. package/dist/server/socket-error-backstop.d.ts +5 -6
  573. package/dist/server/socket-error-backstop.js +1 -1
  574. package/dist/server/static-file-cache.d.ts +5 -6
  575. package/dist/server/static-file-cache.js +9 -7
  576. package/dist/server/static-file-signal.d.ts +9 -6
  577. package/dist/server/static-file-signal.js +51 -2
  578. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  579. package/dist/server/streaming-metadata.d.ts +2 -3
  580. package/dist/server/tracer.d.ts +5 -0
  581. package/dist/server/tracer.js +13 -0
  582. package/dist/server/worker-prerender-discovery.d.ts +5 -6
  583. package/dist/server/worker-revalidation-context.d.ts +2 -3
  584. package/dist/server/worker-revalidation-context.js +5 -5
  585. package/dist/server/worker-stages.d.ts +43 -0
  586. package/dist/server/worker-stages.js +25 -0
  587. package/dist/server/worker-utils.d.ts +5 -6
  588. package/dist/server/worker-utils.js +2 -1
  589. package/dist/server/workers-tracing.d.ts +17 -0
  590. package/dist/server/workers-tracing.js +27 -0
  591. package/dist/shims/amp.d.ts +3 -4
  592. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  593. package/dist/shims/app-router-scroll.d.ts +4 -5
  594. package/dist/shims/app-router-scroll.js +2 -1
  595. package/dist/shims/app.d.ts +5 -6
  596. package/dist/shims/before-interactive-context.d.ts +5 -6
  597. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  598. package/dist/shims/cache-callable-runtime.js +168 -8
  599. package/dist/shims/cache-for-request.d.ts +2 -3
  600. package/dist/shims/cache-handler.d.ts +33 -20
  601. package/dist/shims/cache-handler.js +61 -2
  602. package/dist/shims/cache-request-state.d.ts +28 -29
  603. package/dist/shims/cache-runtime.d.ts +23 -21
  604. package/dist/shims/cache-runtime.js +107 -27
  605. package/dist/shims/cache.d.ts +15 -15
  606. package/dist/shims/cache.js +15 -13
  607. package/dist/shims/cacheability-classification.d.ts +49 -28
  608. package/dist/shims/cacheability-classification.js +27 -12
  609. package/dist/shims/cdn-cache-state.d.ts +13 -0
  610. package/dist/shims/cdn-cache-state.js +23 -0
  611. package/dist/shims/cdn-cache.d.ts +50 -21
  612. package/dist/shims/cdn-cache.js +15 -38
  613. package/dist/shims/client-hook-error.d.ts +3 -4
  614. package/dist/shims/client-locale.d.ts +2 -3
  615. package/dist/shims/client-page-root.d.ts +24 -0
  616. package/dist/shims/client-page-root.js +121 -0
  617. package/dist/shims/compat-router.d.ts +2 -3
  618. package/dist/shims/config.d.ts +3 -4
  619. package/dist/shims/constants.d.ts +73 -74
  620. package/dist/shims/constants.js +1 -1
  621. package/dist/shims/default-not-found.d.ts +2 -3
  622. package/dist/shims/document.d.ts +9 -9
  623. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  624. package/dist/shims/dynamic-preload-chunks.js +17 -13
  625. package/dist/shims/dynamic.d.ts +3 -3
  626. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  627. package/dist/shims/error-boundary.d.ts +17 -18
  628. package/dist/shims/error-boundary.js +17 -11
  629. package/dist/shims/error.d.ts +4 -4
  630. package/dist/shims/error.react-server.d.ts +3 -4
  631. package/dist/shims/fetch-cache.d.ts +22 -22
  632. package/dist/shims/fetch-cache.js +42 -17
  633. package/dist/shims/font-google-base.d.ts +9 -9
  634. package/dist/shims/font-google-base.js +2 -1
  635. package/dist/shims/font-local.d.ts +3 -3
  636. package/dist/shims/font-local.js +1 -1
  637. package/dist/shims/font-utils.d.ts +14 -15
  638. package/dist/shims/form.d.ts +2 -2
  639. package/dist/shims/form.js +10 -7
  640. package/dist/shims/hash-scroll.d.ts +5 -6
  641. package/dist/shims/head-state.d.ts +4 -5
  642. package/dist/shims/head.d.ts +16 -16
  643. package/dist/shims/head.js +5 -4
  644. package/dist/shims/headers.d.ts +67 -33
  645. package/dist/shims/headers.js +93 -6
  646. package/dist/shims/i18n-context.d.ts +5 -6
  647. package/dist/shims/i18n-state.d.ts +4 -5
  648. package/dist/shims/image-config.d.ts +5 -6
  649. package/dist/shims/image-config.js +2 -0
  650. package/dist/shims/image.d.ts +5 -5
  651. package/dist/shims/image.js +12 -8
  652. package/dist/shims/internal/als-registry.d.ts +4 -5
  653. package/dist/shims/internal/api-utils.d.ts +3 -4
  654. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  655. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  656. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  657. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
  658. package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
  659. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  660. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
  661. package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
  662. package/dist/shims/internal/app-router-context.d.ts +9 -10
  663. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  664. package/dist/shims/internal/format-url-object.d.ts +7 -0
  665. package/dist/shims/internal/format-url-object.js +53 -0
  666. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  667. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  668. package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
  669. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  670. package/dist/shims/internal/interpolate-as.js +4 -2
  671. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  672. package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
  673. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  674. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  675. package/dist/shims/internal/normalize-router-href.js +41 -0
  676. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  677. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  678. package/dist/shims/internal/pages-data-target.js +32 -36
  679. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  680. package/dist/shims/internal/pages-data-url.js +2 -1
  681. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  682. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  683. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  684. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  685. package/dist/shims/internal/router-context.d.ts +2 -3
  686. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  687. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  688. package/dist/shims/internal/utils.d.ts +7 -8
  689. package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
  690. package/dist/shims/layout-segment-context.d.ts +3 -4
  691. package/dist/shims/link-prefetch.d.ts +9 -10
  692. package/dist/shims/link.d.ts +4 -4
  693. package/dist/shims/link.js +56 -116
  694. package/dist/shims/metadata.d.ts +15 -16
  695. package/dist/shims/metadata.js +40 -36
  696. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  697. package/dist/shims/navigation-context-accessors.js +19 -0
  698. package/dist/shims/navigation-context-state.d.ts +27 -18
  699. package/dist/shims/navigation-errors.d.ts +18 -19
  700. package/dist/shims/navigation-state.d.ts +6 -7
  701. package/dist/shims/navigation.d.ts +80 -68
  702. package/dist/shims/navigation.js +24 -16
  703. package/dist/shims/navigation.react-server.d.ts +9 -9
  704. package/dist/shims/offline.d.ts +2 -3
  705. package/dist/shims/og.d.ts +2 -2
  706. package/dist/shims/pages-router-runtime.d.ts +4 -5
  707. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  708. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  709. package/dist/shims/request-context.d.ts +5 -6
  710. package/dist/shims/root-params.d.ts +14 -15
  711. package/dist/shims/router-state.d.ts +5 -6
  712. package/dist/shims/router-state.js +1 -1
  713. package/dist/shims/router.d.ts +22 -21
  714. package/dist/shims/router.js +339 -164
  715. package/dist/shims/script-nonce-context.d.ts +8 -6
  716. package/dist/shims/script-nonce-context.js +15 -6
  717. package/dist/shims/script.d.ts +4 -4
  718. package/dist/shims/script.js +9 -7
  719. package/dist/shims/search-params-gate.d.ts +35 -0
  720. package/dist/shims/search-params-gate.js +32 -0
  721. package/dist/shims/server.d.ts +19 -51
  722. package/dist/shims/server.js +14 -28
  723. package/dist/shims/slot.d.ts +33 -15
  724. package/dist/shims/slot.js +41 -9
  725. package/dist/shims/streamed-icons.d.ts +3 -4
  726. package/dist/shims/thenable-params.d.ts +5 -7
  727. package/dist/shims/thenable-params.js +3 -24
  728. package/dist/shims/unified-request-context.d.ts +34 -31
  729. package/dist/shims/unified-request-context.js +34 -24
  730. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  731. package/dist/shims/url-safety.d.ts +5 -6
  732. package/dist/shims/url-utils.d.ts +12 -13
  733. package/dist/shims/use-merged-ref.d.ts +2 -3
  734. package/dist/shims/user-agent.d.ts +31 -0
  735. package/dist/shims/user-agent.js +16 -0
  736. package/dist/shims/web-vitals.d.ts +2 -2
  737. package/dist/typegen.d.ts +3 -4
  738. package/dist/utils/asset-prefix.d.ts +7 -8
  739. package/dist/utils/base-path.d.ts +5 -6
  740. package/dist/utils/built-asset-url.d.ts +2 -3
  741. package/dist/utils/built-asset-url.js +1 -1
  742. package/dist/utils/cache-control-metadata.d.ts +4 -5
  743. package/dist/utils/client-build-manifest.d.ts +6 -7
  744. package/dist/utils/client-build-manifest.js +2 -1
  745. package/dist/utils/client-entry-manifest.d.ts +6 -7
  746. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  747. package/dist/utils/client-runtime-metadata.js +18 -1
  748. package/dist/utils/commonjs-loader.d.ts +4 -5
  749. package/dist/utils/compare.d.ts +2 -3
  750. package/dist/utils/deployment-id.d.ts +6 -7
  751. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  752. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  753. package/dist/utils/domain-locale.d.ts +7 -8
  754. package/dist/utils/encode-cache-tag.d.ts +3 -4
  755. package/dist/utils/error-cause.d.ts +2 -3
  756. package/dist/utils/external-url.d.ts +2 -3
  757. package/dist/utils/has-trailing-comma.d.ts +3 -4
  758. package/dist/utils/hash.d.ts +3 -4
  759. package/dist/utils/html-limited-bots.d.ts +3 -4
  760. package/dist/utils/lazy-chunks.d.ts +8 -9
  761. package/dist/utils/lazy-chunks.js +4 -4
  762. package/dist/utils/manifest-paths.d.ts +5 -6
  763. package/dist/utils/mdx-scan.d.ts +11 -4
  764. package/dist/utils/mdx-scan.js +27 -1
  765. package/dist/utils/middleware-request-headers.d.ts +7 -6
  766. package/dist/utils/middleware-request-headers.js +6 -1
  767. package/dist/utils/navigation-signal.d.ts +3 -3
  768. package/dist/utils/navigation-signal.js +16 -1
  769. package/dist/utils/number.d.ts +2 -3
  770. package/dist/utils/package-name.d.ts +3 -4
  771. package/dist/utils/parse-cookie.d.ts +4 -5
  772. package/dist/utils/path.d.ts +8 -9
  773. package/dist/utils/plugin-options.d.ts +2 -3
  774. package/dist/utils/precompressed-variant.d.ts +3 -4
  775. package/dist/utils/prerender-output-paths.d.ts +4 -5
  776. package/dist/utils/project.d.ts +19 -30
  777. package/dist/utils/project.js +20 -29
  778. package/dist/utils/promise.d.ts +2 -3
  779. package/dist/utils/protocol-headers.d.ts +14 -15
  780. package/dist/utils/public-file-path.d.ts +2 -3
  781. package/dist/utils/public-routes.d.ts +2 -3
  782. package/dist/utils/query.d.ts +14 -9
  783. package/dist/utils/query.js +22 -1
  784. package/dist/utils/react-compiler-support.d.ts +6 -7
  785. package/dist/utils/react-version.d.ts +4 -3
  786. package/dist/utils/react-version.js +19 -1
  787. package/dist/utils/record.d.ts +2 -3
  788. package/dist/utils/redirect-digest.d.ts +3 -4
  789. package/dist/utils/regex-safety.d.ts +4 -5
  790. package/dist/utils/regex.d.ts +2 -3
  791. package/dist/utils/safe-json-file.d.ts +2 -3
  792. package/dist/utils/sorted-array.d.ts +2 -3
  793. package/dist/utils/text-stream.d.ts +3 -4
  794. package/dist/utils/vinext-root.d.ts +2 -3
  795. package/dist/utils/virtual-module.d.ts +3 -4
  796. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  797. package/dist/utils/vite-cli-invocation.js +144 -0
  798. package/dist/utils/vite-version.d.ts +5 -6
  799. package/next-package.json +4 -0
  800. package/package.json +47 -6
@@ -1,7 +1,7 @@
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 { 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
6
  import { parseAst } from "vite";
7
7
  import MagicString from "magic-string";
@@ -22,15 +22,14 @@ function getTypeofWindowReplacement(environment) {
22
22
  return environment.config.consumer === "client" ? "object" : "undefined";
23
23
  }
24
24
  function evaluateTypeofWindowComparison(node, replacement, scope) {
25
- if (!isAstRecord(node) || node.type !== "BinaryExpression") return null;
25
+ if (node.type !== "BinaryExpression") return null;
26
26
  if (![
27
27
  "==",
28
28
  "===",
29
29
  "!=",
30
30
  "!=="
31
31
  ].includes(String(node.operator))) return null;
32
- const left = isAstRecord(node.left) ? node.left : null;
33
- const right = isAstRecord(node.right) ? node.right : null;
32
+ const { left, right } = node;
34
33
  const leftIsTypeofWindow = left?.type === "UnaryExpression" && left.operator === "typeof" && isIdentifierNamed(left.argument, "window") && !hasAstBinding(scope, "window");
35
34
  const rightIsTypeofWindow = right?.type === "UnaryExpression" && right.operator === "typeof" && isIdentifierNamed(right.argument, "window") && !hasAstBinding(scope, "window");
36
35
  const comparedValue = leftIsTypeofWindow ? stringLiteralValue(right) : rightIsTypeofWindow ? stringLiteralValue(left) : null;
@@ -39,17 +38,17 @@ function evaluateTypeofWindowComparison(node, replacement, scope) {
39
38
  return node.operator === "==" || node.operator === "===" ? equal : !equal;
40
39
  }
41
40
  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;
41
+ const candidate = node.type === "ChainExpression" ? node.expression : node;
42
+ if (candidate.type !== "MemberExpression") return false;
44
43
  return isIdentifierNamed(candidate.object, "process") && (candidate.computed ? stringLiteralValue(candidate.property) === "browser" : isIdentifierNamed(candidate.property, "browser")) && !hasAstBinding(scope, "process");
45
44
  }
46
45
  function evaluateProcessBrowserCondition(node, replacement, scope) {
47
46
  if (isProcessBrowserMember(node, scope)) return replacement;
48
- if (isAstRecord(node) && node.type === "UnaryExpression" && node.operator === "!") {
47
+ if (node.type === "UnaryExpression" && node.operator === "!") {
49
48
  const value = evaluateProcessBrowserCondition(node.argument, replacement, scope);
50
49
  return value === null ? null : !value;
51
50
  }
52
- if (!isAstRecord(node) || node.type !== "BinaryExpression") return null;
51
+ if (node.type !== "BinaryExpression") return null;
53
52
  if (![
54
53
  "==",
55
54
  "===",
@@ -64,7 +63,7 @@ function evaluateProcessBrowserCondition(node, replacement, scope) {
64
63
  return node.operator === "==" || node.operator === "===" ? equal : !equal;
65
64
  }
66
65
  function evaluateConsumerCondition(node, replacements, scope) {
67
- if (isAstRecord(node) && node.type === "LogicalExpression") {
66
+ if (node.type === "LogicalExpression") {
68
67
  const left = evaluateConsumerCondition(node.left, replacements, scope);
69
68
  if (node.operator === "&&") {
70
69
  if (left?.value === false) return left;
@@ -76,7 +75,7 @@ function evaluateConsumerCondition(node, replacements, scope) {
76
75
  } : null;
77
76
  }
78
77
  const right = evaluateConsumerCondition(node.right, replacements, scope);
79
- if (replacements.pruneUnreachableImports && right?.value === false && right.effects.length === 0 && isAstRecord(node.left)) return {
78
+ if (replacements.pruneUnreachableImports && right?.value === false && right.effects.length === 0) return {
80
79
  value: false,
81
80
  effects: [node.left]
82
81
  };
@@ -90,7 +89,7 @@ function evaluateConsumerCondition(node, replacements, scope) {
90
89
  } : null;
91
90
  }
92
91
  const right = evaluateConsumerCondition(node.right, replacements, scope);
93
- if (replacements.pruneUnreachableImports && right?.value === true && right.effects.length === 0 && isAstRecord(node.left)) return {
92
+ if (replacements.pruneUnreachableImports && right?.value === true && right.effects.length === 0) return {
94
93
  value: true,
95
94
  effects: [node.left]
96
95
  };
@@ -128,7 +127,6 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
128
127
  }
129
128
  const output = new MagicString(code);
130
129
  let changed = false;
131
- if (!isAstRecord(ast)) return null;
132
130
  function overwriteGap(start, end, content) {
133
131
  if (start === end) output.appendLeft(start, content);
134
132
  else output.overwrite(start, end, content);
@@ -140,11 +138,12 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
140
138
  if (isFunctionNode(node)) {
141
139
  const parameterScope = createAstScope(parentScope);
142
140
  collectBindingNames(node.id, parameterScope.bindings);
143
- for (const parameter of nodeArray(node.params)) {
141
+ for (const parameter of node.params) {
144
142
  collectBindingNames(parameter, parameterScope.bindings);
145
- if (isAstRecord(parameter)) visit(parameter, parameterScope);
143
+ visit(parameter, parameterScope);
146
144
  }
147
- if (isAstRecord(node.body)) if (node.body.type === "BlockStatement") {
145
+ if (!node.body) return;
146
+ if (node.body.type === "BlockStatement") {
148
147
  const bodyScope = createAstScope(parameterScope);
149
148
  collectDirectScopeBindings(node.body, bodyScope);
150
149
  collectVarScopeBindings(node.body, bodyScope);
@@ -153,29 +152,29 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
153
152
  return;
154
153
  }
155
154
  if (node.type === "SwitchStatement") {
156
- if (isAstRecord(node.discriminant)) visit(node.discriminant, parentScope);
155
+ visit(node.discriminant, parentScope);
157
156
  const switchScope = createAstScope(parentScope);
158
157
  collectSwitchScopeBindings(node, switchScope);
159
- for (const switchCase of nodeArray(node.cases)) if (isAstRecord(switchCase)) visit(switchCase, switchScope);
158
+ for (const switchCase of node.cases) visit(switchCase, switchScope);
160
159
  return;
161
160
  }
162
161
  const scope = createChildScope(node, parentScope) ?? parentScope;
163
- if (node.type === "IfStatement" && hasRange(node)) {
162
+ if (node.type === "IfStatement") {
164
163
  const result = evaluateConsumerCondition(node.test, replacements, scope);
165
164
  if (result !== null) {
166
165
  const selected = result.value ? node.consequent : node.alternate;
167
166
  if (result.effects.length > 0) {
168
- const effects = result.effects.filter(hasRange);
167
+ const effects = result.effects;
169
168
  for (const effect of effects) visit(effect, scope);
170
- if (isAstRecord(selected) && hasRange(selected)) visit(selected, scope);
169
+ if (selected) visit(selected, scope);
171
170
  overwriteGap(node.start, effects[0].start, "{ (");
172
171
  for (let index = 1; index < effects.length; index++) overwriteGap(effects[index - 1].end, effects[index].start, "); (");
173
172
  const lastEffect = effects.at(-1);
174
- if (isAstRecord(selected) && hasRange(selected)) {
173
+ if (selected) {
175
174
  overwriteGap(lastEffect.end, selected.start, "); ");
176
175
  overwriteGap(selected.end, node.end, " }");
177
176
  } else overwriteGap(lastEffect.end, node.end, "); }");
178
- } else if (isAstRecord(selected) && hasRange(selected)) {
177
+ } else if (selected) {
179
178
  output.remove(node.start, selected.start);
180
179
  output.remove(selected.end, node.end);
181
180
  visit(selected, scope);
@@ -184,12 +183,12 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
184
183
  return;
185
184
  }
186
185
  }
187
- if (node.type === "ConditionalExpression" && hasRange(node)) {
186
+ if (node.type === "ConditionalExpression") {
188
187
  const result = evaluateConsumerCondition(node.test, replacements, scope);
189
188
  const selected = result?.value ? node.consequent : node.alternate;
190
- if (result !== null && isAstRecord(selected) && hasRange(selected)) {
189
+ if (result !== null) {
191
190
  if (result.effects.length > 0) {
192
- const effects = result.effects.filter(hasRange);
191
+ const effects = result.effects;
193
192
  for (const effect of effects) visit(effect, scope);
194
193
  visit(selected, scope);
195
194
  overwriteGap(node.start, effects[0].start, "((");
@@ -206,10 +205,10 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
206
205
  return;
207
206
  }
208
207
  }
209
- if (node.type === "LogicalExpression" && hasRange(node)) {
208
+ if (node.type === "LogicalExpression") {
210
209
  const result = evaluateConsumerCondition(node, replacements, scope);
211
210
  if (result !== null) {
212
- const effects = result.effects.filter(hasRange);
211
+ const effects = result.effects;
213
212
  if (effects.length > 0) {
214
213
  for (const effect of effects) visit(effect, scope);
215
214
  overwriteGap(node.start, effects[0].start, "((");
@@ -220,19 +219,19 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
220
219
  return;
221
220
  }
222
221
  }
223
- if (node.type === "UnaryExpression" && node.operator === "typeof" && isIdentifierNamed(node.argument, "window") && replacements.typeofWindow !== void 0 && !hasAstBinding(scope, "window") && hasRange(node)) {
222
+ if (node.type === "UnaryExpression" && node.operator === "typeof" && isIdentifierNamed(node.argument, "window") && replacements.typeofWindow !== void 0 && !hasAstBinding(scope, "window")) {
224
223
  output.overwrite(node.start, node.end, JSON.stringify(replacements.typeofWindow));
225
224
  changed = true;
226
225
  return;
227
226
  }
228
- if (replacements.processBrowser !== void 0 && isProcessBrowserMember(node, scope) && hasRange(node)) {
227
+ if (replacements.processBrowser !== void 0 && isProcessBrowserMember(node, scope)) {
229
228
  output.overwrite(node.start, node.end, String(replacements.processBrowser));
230
229
  changed = true;
231
230
  return;
232
231
  }
233
232
  forEachAstChild(node, (child) => visit(child, scope));
234
233
  }
235
- for (const node of ast.body) if (isAstRecord(node)) visit(node, rootScope);
234
+ for (const node of ast.body) visit(node, rootScope);
236
235
  if (!changed) return null;
237
236
  return magicStringTransformResult(output);
238
237
  }
@@ -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
@@ -1,9 +1,10 @@
1
1
  import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
2
- import { NODE_MODULES_PATH_RE, isPathInside, stripViteModuleQuery } from "../utils/path.js";
3
2
  import { magicStringTransformResult } from "./transform-result.js";
3
+ import { NODE_MODULES_PATH_RE } from "../utils/path.js";
4
4
  import { createRequire } from "node:module";
5
- import { parseAstAsync } from "vite";
6
5
  import { pathToFileURL } from "node:url";
6
+ import { parseAstAsync } from "vite";
7
+ import { createHmac, randomBytes } from "node:crypto";
7
8
  //#region src/plugins/use-cache-callable.ts
8
9
  const PLUGIN_NAME = "vinext:server-function-directives";
9
10
  const SOURCE_MODULE_ID_RE = /\.(?:tsx?|jsx?|mjs)(?:\?.*)?$/;
@@ -43,13 +44,6 @@ function acceptsSecondArgument(meta) {
43
44
  if (node?.type !== "FunctionDeclaration" && node?.type !== "FunctionExpression" && node?.type !== "ArrowFunctionExpression") return true;
44
45
  return node.params.length >= 2 || node.params.some((parameter) => parameter.type === "RestElement");
45
46
  }
46
- function isAppPageDefaultExport(options, id, name, isModuleDirective) {
47
- const appDir = options.getAppDir();
48
- if (!isModuleDirective || name !== "default" || !appDir) return false;
49
- const modulePath = stripViteModuleQuery(id);
50
- const moduleFileName = path.basename(modulePath);
51
- return isPathInside(appDir, modulePath) && path.parse(moduleFileName).name === "page" && options.matchesPageExtension(moduleFileName);
52
- }
53
47
  function shouldTransformModuleExport(name, id, meta) {
54
48
  if (meta.isFunction === false && (name !== "default" && meta.valueNode?.type === "Literal" || meta.valueNode?.type === "ObjectExpression" || meta.valueNode?.type === "ArrayExpression")) return false;
55
49
  if (/\/(layout|template)\.(tsx?|jsx?|mjs)$/.test(id) && name === "default") return false;
@@ -65,11 +59,21 @@ function hasFunctionDirective(meta, directive) {
65
59
  if (node?.type !== "FunctionDeclaration" && node?.type !== "FunctionExpression" && node?.type !== "ArrowFunctionExpression" || node.body.type !== "BlockStatement") return false;
66
60
  return node.body.body.some((statement) => statement.type === "ExpressionStatement" && "directive" in statement && statement.directive === directive);
67
61
  }
68
- function getCacheWrapperOptions(options, id, name, isModuleDirective, meta) {
62
+ function getFunctionDirectiveExportNames(transforms, ast, directive) {
63
+ const names = /* @__PURE__ */ new Set();
64
+ for (const group of transforms.scanModuleExports(ast)) {
65
+ const entries = group.type === "declaration" ? [group.export] : group.type === "variable-declaration" ? group.declarators.flatMap((declarator) => declarator.exports) : group.type === "specifiers" ? group.exports : group.type === "default" ? [{
66
+ exportName: "default",
67
+ meta: group.meta
68
+ }] : [];
69
+ for (const entry of entries) if (hasFunctionDirective(entry.meta, directive)) names.add(entry.exportName);
70
+ }
71
+ return names;
72
+ }
73
+ function getCacheWrapperOptions(meta) {
69
74
  const argumentCount = getArgumentCount(meta);
70
75
  return {
71
76
  acceptsSecondArgument: acceptsSecondArgument(meta),
72
- ...isAppPageDefaultExport(options, id, name, isModuleDirective) ? { appPageDefaultExport: true } : {},
73
77
  ...argumentCount === void 0 ? {} : { argumentCount }
74
78
  };
75
79
  }
@@ -78,6 +82,7 @@ async function createUseCacheCallablePlugin(options) {
78
82
  const transformsPath = resolvePluginRscModule(options.projectRoot, "@vitejs/plugin-rsc/transforms");
79
83
  const rscModule = await import(pathToFileURL(rscModulePath).href);
80
84
  const transforms = await import(pathToFileURL(transformsPath).href);
85
+ const referenceSecret = randomBytes(32);
81
86
  let manager;
82
87
  return {
83
88
  name: PLUGIN_NAME,
@@ -109,6 +114,8 @@ async function createUseCacheCallablePlugin(options) {
109
114
  const useServerBoundary = transforms.hasDirective(ast.body, "use server");
110
115
  if (moduleDirective && useServerBoundary) throw new Error(`A module cannot contain both ${JSON.stringify(moduleDirective)} and "use server" directives.`);
111
116
  const reference = manager.serverReferences.resolve(id, "rsc");
117
+ const relativeImportId = manager.toRelativeId(reference.importId);
118
+ const secureExportName = (name) => `$$vinext_cache_${createHmac("sha256", referenceSecret).update(relativeImportId).update("\0").update(name).digest("hex")}`;
112
119
  if (!(this.environment.name === "rsc")) {
113
120
  if (useServerBoundary) {
114
121
  manager.serverReferences.deleteClaim(PLUGIN_NAME, id);
@@ -126,6 +133,7 @@ async function createUseCacheCallablePlugin(options) {
126
133
  manager.serverReferences.deleteClaim(PLUGIN_NAME, id);
127
134
  return;
128
135
  }
136
+ const useServerExportNames = getFunctionDirectiveExportNames(transforms, ast, "use server");
129
137
  const result = transforms.transformDirectiveProxyExport(ast, {
130
138
  code,
131
139
  directive: moduleDirective,
@@ -134,7 +142,7 @@ async function createUseCacheCallablePlugin(options) {
134
142
  validateModuleExport(transforms, meta);
135
143
  return true;
136
144
  },
137
- runtime: (name) => `$$ReactClient.createServerReference(${JSON.stringify(`${reference.referenceKey}#${name}`)},$$ReactClient.callServer,undefined,${this.environment.mode === "dev" ? "$$ReactClient.findSourceMapURL" : "undefined"},${JSON.stringify(name)})`
145
+ runtime: (name) => `$$ReactClient.createServerReference(${JSON.stringify(`${reference.referenceKey}#${useServerExportNames.has(name) ? name : secureExportName(name)}`)},$$ReactClient.callServer,undefined,${this.environment.mode === "dev" ? "$$ReactClient.findSourceMapURL" : "undefined"},${JSON.stringify(name)})`
138
146
  });
139
147
  if (!result?.output.hasChanged()) {
140
148
  manager.serverReferences.deleteClaim(PLUGIN_NAME, id);
@@ -142,7 +150,7 @@ async function createUseCacheCallablePlugin(options) {
142
150
  }
143
151
  manager.serverReferences.replaceClaim(PLUGIN_NAME, id, {
144
152
  ...reference,
145
- exportNames: result.exportNames
153
+ exportNames: result.exportNames.map((name) => useServerExportNames.has(name) ? name : secureExportName(name))
146
154
  });
147
155
  const runtimeEnvironment = this.environment.name === "client" ? "browser" : "ssr";
148
156
  result.output.prepend(`import * as $$ReactClient from "@vitejs/plugin-rsc/react/${runtimeEnvironment}";\n`);
@@ -151,16 +159,23 @@ async function createUseCacheCallablePlugin(options) {
151
159
  source: id
152
160
  });
153
161
  }
154
- const wrap = (value, name, directiveMatch, meta, isModuleDirective) => {
162
+ const secureExports = /* @__PURE__ */ new Set();
163
+ const wrap = (value, name, directiveMatch, meta) => {
155
164
  const variant = directiveMatch[1] ?? "";
156
- const wrapperOptions = getCacheWrapperOptions(options, id, name, isModuleDirective, meta);
165
+ const secureName = secureExportName(name);
166
+ secureExports.add(secureName);
167
+ const wrapperOptions = {
168
+ ...getCacheWrapperOptions(meta),
169
+ serverReferenceId: `${reference.referenceKey}#${secureName}`
170
+ };
157
171
  return `$$cacheRuntime.registerCachedFunction(${value}, ${JSON.stringify(`${id}:${name}`)}, ${JSON.stringify(variant)}, ${JSON.stringify(wrapperOptions)})`;
158
172
  };
159
173
  let needsReactServer = false;
160
- const runtime = (value, name, directiveMatch, meta, isModuleDirective) => {
161
- const cached = wrap(value, name, directiveMatch, meta, isModuleDirective);
174
+ const runtime = (value, name, directiveMatch, meta) => {
175
+ const cached = wrap(value, name, directiveMatch, meta);
176
+ const secureName = secureExportName(name);
162
177
  needsReactServer = true;
163
- return `$$VinextReactServer.registerServerReference(${cached}, ${JSON.stringify(reference.referenceKey)}, ${JSON.stringify(name)})`;
178
+ return `(${secureName} = $$VinextReactServer.registerServerReference(${cached}, ${JSON.stringify(reference.referenceKey)}, ${JSON.stringify(secureName)}))`;
164
179
  };
165
180
  const result = moduleDirective ? transforms.transformWrapExport(code, ast, {
166
181
  filter: (name, meta) => {
@@ -168,12 +183,13 @@ async function createUseCacheCallablePlugin(options) {
168
183
  validateModuleExport(transforms, meta);
169
184
  return true;
170
185
  },
171
- runtime: (value, name, meta) => runtime(value, name, matchUseCacheDirective(moduleDirective), meta, true)
186
+ runtime: (value, name, meta) => runtime(value, name, matchUseCacheDirective(moduleDirective), meta)
172
187
  }) : transforms.transformHoistInlineDirective(code, ast, {
173
188
  directive: USE_CACHE_DIRECTIVE_CANDIDATE,
174
189
  rejectNonAsyncFunction: true,
175
190
  hoistRuntime: true,
176
- runtime: (value, name, meta) => runtime(value, name, matchUseCacheDirective(meta.directiveMatch[0]), meta, false),
191
+ noExport: true,
192
+ runtime: (value, name, meta) => runtime(value, name, matchUseCacheDirective(meta.directiveMatch[0]), meta),
177
193
  encode: (value) => `$$cacheRuntime.encryptCacheCaptures(${value})`,
178
194
  decode: (value) => value
179
195
  });
@@ -183,10 +199,15 @@ async function createUseCacheCallablePlugin(options) {
183
199
  }
184
200
  manager.serverReferences.replaceClaim(PLUGIN_NAME, id, {
185
201
  ...reference,
186
- exportNames: "names" in result ? result.names : result.exportNames
202
+ exportNames: [...secureExports]
187
203
  });
188
204
  const importPosition = ast.body.find((node) => !("directive" in node))?.start ?? code.length;
189
- result.output.prependLeft(importPosition, [`import * as $$cacheRuntime from ${JSON.stringify(options.cacheRuntime)};`, needsReactServer && `import * as $$VinextReactServer from "@vitejs/plugin-rsc/react/rsc/server";`].filter(Boolean).join("\n") + "\n");
205
+ result.output.prependLeft(importPosition, [
206
+ `import * as $$cacheRuntime from ${JSON.stringify(options.cacheRuntime)};`,
207
+ needsReactServer && `import * as $$VinextReactServer from "@vitejs/plugin-rsc/react/rsc/server";`,
208
+ secureExports.size > 0 && `let ${[...secureExports].join(",")};`
209
+ ].filter(Boolean).join("\n") + "\n");
210
+ if (secureExports.size > 0) result.output.append(`\nexport { ${[...secureExports].join(",")} };\n`);
190
211
  return magicStringTransformResult(result.output, {
191
212
  hires: "boundary",
192
213
  source: id
@@ -9,6 +9,5 @@ import { Plugin } from "vite";
9
9
  *
10
10
  * Fixes #1351.
11
11
  */
12
- declare function createWasmModuleImportPlugin(): Plugin;
13
- //#endregion
14
- export { createWasmModuleImportPlugin };
12
+ export declare function createWasmModuleImportPlugin(): Plugin;
13
+ //#endregion
@@ -5,8 +5,7 @@ import { Plugin } from "vite";
5
5
  * Vite worker graphs. Worker builds use their own plugin container, so the
6
6
  * top-level vinext:image-imports plugin cannot perform this transform.
7
7
  */
8
- declare function createWorkerImageImportsPlugin(options?: {
8
+ export declare function createWorkerImageImportsPlugin(options?: {
9
9
  deploymentId?: string;
10
10
  }): Plugin;
11
- //#endregion
12
- export { createWorkerImageImportsPlugin };
11
+ //#endregion
@@ -1,8 +1,8 @@
1
1
  import path, { toSlash } from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
2
+ import { staticStringValue, walkAst } from "./ast-utils.js";
3
+ import { magicStringTransformResult } from "./transform-result.js";
2
4
  import { appendDeploymentIdQuery } from "../utils/deployment-id.js";
3
5
  import { NODE_MODULES_PATH_RE, stripViteModuleQuery } from "../utils/path.js";
4
- import { magicStringTransformResult } from "./transform-result.js";
5
- import { staticStringValue, walkAst } from "./ast-utils.js";
6
6
  import fs from "node:fs";
7
7
  import { parseAst } from "vite";
8
8
  import MagicString from "magic-string";
@@ -78,9 +78,8 @@ function createWorkerImageImportsPlugin(options = {}) {
78
78
  }
79
79
  const output = new MagicString(code);
80
80
  const imageImports = [];
81
- walkAst(ast, (value) => {
82
- const node = value;
83
- if (node.type === "ImportExpression" && typeof node.start === "number" && typeof node.end === "number" && node.source?.type === "Literal" && typeof node.source.value === "string" && WORKER_IMAGE_EXTENSION_RE.test(node.source.value)) {
81
+ walkAst(ast, (node) => {
82
+ if (node.type === "ImportExpression" && node.source.type === "Literal" && typeof node.source.value === "string" && WORKER_IMAGE_EXTENSION_RE.test(node.source.value)) {
84
83
  imageImports.push({
85
84
  end: node.end,
86
85
  importPath: node.source.value,
@@ -116,11 +115,10 @@ function createWorkerImageImportsPlugin(options = {}) {
116
115
  }
117
116
  const output = new MagicString(code);
118
117
  let changed = false;
119
- walkAst(ast, (value) => {
120
- const node = value;
118
+ walkAst(ast, (node) => {
121
119
  const source = node.type === "ImportExpression" || node.type === "ImportDeclaration" || node.type === "ExportNamedDeclaration" || node.type === "ExportAllDeclaration" ? node.source : null;
122
120
  const specifier = staticStringValue(source);
123
- if (specifier !== null && chunkSpecifiers.has(specifier) && typeof source?.start === "number" && typeof source.end === "number") {
121
+ if (specifier !== null && chunkSpecifiers.has(specifier) && source) {
124
122
  output.overwrite(source.start, source.end, JSON.stringify(appendDeploymentIdQuery(specifier, options.deploymentId)));
125
123
  changed = true;
126
124
  return false;
@@ -119,7 +119,7 @@ type ParallelSlot = {
119
119
  */
120
120
  slotParamNames?: string[];
121
121
  };
122
- type AppRoute = {
122
+ export type AppRoute = {
123
123
  /** Graph-owned semantic identities. Required on AppRouteGraphRoute. */
124
124
  ids?: AppRouteSemanticIds;
125
125
  /** URL pattern, e.g. "/" or "/about" or "/blog/:slug" */
@@ -225,7 +225,7 @@ type AppRoute = {
225
225
  /** Pre-split pattern segments (computed once at scan time, reused per request) */
226
226
  patternParts: string[];
227
227
  };
228
- type AppRouteSemanticIds = {
228
+ export type AppRouteSemanticIds = {
229
229
  route: string;
230
230
  page: string | null;
231
231
  routeHandler: string | null;
@@ -241,7 +241,7 @@ type AppRouteSemanticIds = {
241
241
  type AppRouteGraphParallelSlot = ParallelSlot & {
242
242
  id: string;
243
243
  };
244
- type AppRouteGraphRoute = Omit<AppRoute, "ids" | "parallelSlots" | "rootParamNames"> & {
244
+ export type AppRouteGraphRoute = Omit<AppRoute, "ids" | "parallelSlots" | "rootParamNames"> & {
245
245
  ids: AppRouteSemanticIds;
246
246
  parallelSlots: AppRouteGraphParallelSlot[];
247
247
  rootParamNames: string[];
@@ -249,9 +249,9 @@ type AppRouteGraphRoute = Omit<AppRoute, "ids" | "parallelSlots" | "rootParamNam
249
249
  type Flavor<T, Brand extends string> = T & {
250
250
  readonly __flavor?: Brand;
251
251
  };
252
- type GraphVersion = Flavor<string, "GraphVersion">;
253
- type RootBoundaryId = Flavor<string, "RootBoundaryId">;
254
- type RouteManifestRoute = {
252
+ export type GraphVersion = Flavor<string, "GraphVersion">;
253
+ export type RootBoundaryId = Flavor<string, "RootBoundaryId">;
254
+ export type RouteManifestRoute = {
255
255
  id: string;
256
256
  pattern: string;
257
257
  patternParts: readonly string[];
@@ -311,7 +311,7 @@ type RouteManifestDefault = {
311
311
  rootBoundaryId: RootBoundaryId | null;
312
312
  };
313
313
  type RouteManifestSlotBindingState = "active" | "default" | "unmatched";
314
- type RouteManifestSlotBinding = {
314
+ export type RouteManifestSlotBinding = {
315
315
  id: string;
316
316
  routeId: string;
317
317
  slotId: string;
@@ -322,7 +322,7 @@ type RouteManifestSlotBinding = {
322
322
  slotPatternParts?: readonly string[];
323
323
  slotParamNames?: readonly string[];
324
324
  };
325
- type RouteManifestInterception = {
325
+ export type RouteManifestInterception = {
326
326
  id: string;
327
327
  sourcePattern: string;
328
328
  sourcePatternParts: readonly string[];
@@ -341,12 +341,12 @@ type RouteManifestBoundary = {
341
341
  ownerLayoutId: string | null;
342
342
  rootBoundaryId: RootBoundaryId | null;
343
343
  };
344
- type RouteManifestRootBoundary = {
344
+ export type RouteManifestRootBoundary = {
345
345
  id: RootBoundaryId;
346
346
  layoutId: string;
347
347
  treePath: string;
348
348
  };
349
- type StaticSegmentGraph = {
349
+ export type StaticSegmentGraph = {
350
350
  routes: ReadonlyMap<string, RouteManifestRoute>;
351
351
  pages: ReadonlyMap<string, RouteManifestPage>;
352
352
  routeHandlers: ReadonlyMap<string, RouteManifestRouteHandler>;
@@ -360,20 +360,20 @@ type StaticSegmentGraph = {
360
360
  boundaries: ReadonlyMap<string, RouteManifestBoundary>;
361
361
  rootBoundaries: ReadonlyMap<RootBoundaryId, RouteManifestRootBoundary>;
362
362
  };
363
- type RouteManifest = {
363
+ export type RouteManifest = {
364
364
  graphVersion: GraphVersion;
365
365
  segmentGraph: StaticSegmentGraph;
366
366
  };
367
- declare function createAppRouteGraphInterceptionId(slotId: string, sourcePattern: string, targetPattern: string): string;
367
+ export declare function createAppRouteGraphInterceptionId(slotId: string, sourcePattern: string, targetPattern: string): string;
368
368
  /**
369
369
  * Build the App Router route graph by scanning `appDir`.
370
370
  */
371
- declare function buildAppRouteGraph(appDir: string, matcher: ValidFileMatcher): Promise<{
371
+ export declare function buildAppRouteGraph(appDir: string, matcher: ValidFileMatcher): Promise<{
372
372
  routes: AppRouteGraphRoute[];
373
373
  routeManifest: RouteManifest;
374
374
  }>;
375
- declare function computeRootParamNames(routeSegments: readonly string[], layoutTreePositions: readonly number[]): string[];
376
- declare function patternsStructurallyEquivalent(a: readonly string[], b: readonly string[]): boolean;
375
+ export declare function computeRootParamNames(routeSegments: readonly string[], layoutTreePositions: readonly number[]): string[];
376
+ export declare function patternsStructurallyEquivalent(a: readonly string[], b: readonly string[]): boolean;
377
377
  /**
378
378
  * Find the best route to attach a sibling intercept to, given the directory
379
379
  * that contains the interception marker.
@@ -392,13 +392,13 @@ declare function patternsStructurallyEquivalent(a: readonly string[], b: readonl
392
392
  *
393
393
  * Exported for tests.
394
394
  */
395
- declare function findOwnerRouteForDir(dir: string, appDir: string, routes: readonly AppRouteGraphRoute[], routesByDir: Map<string, AppRouteGraphRoute>): AppRouteGraphRoute | null;
395
+ export declare function findOwnerRouteForDir(dir: string, appDir: string, routes: readonly AppRouteGraphRoute[], routesByDir: Map<string, AppRouteGraphRoute>): AppRouteGraphRoute | null;
396
396
  /**
397
397
  * Convert filesystem path segments to URL route parts, skipping invisible segments
398
398
  * (route groups, @slots, ".") and converting dynamic segment syntax to Express-style
399
399
  * patterns (e.g. "[id]" → ":id", "[...slug]" → ":slug+").
400
400
  */
401
- declare function convertSegmentsToRouteParts(segments: readonly string[]): {
401
+ export declare function convertSegmentsToRouteParts(segments: readonly string[]): {
402
402
  urlSegments: string[];
403
403
  params: string[];
404
404
  isDynamic: boolean;
@@ -421,10 +421,10 @@ declare function convertSegmentsToRouteParts(segments: readonly string[]): {
421
421
  * filesystem tree but not the URL namespace — sibling computation is done on
422
422
  * the URL-level `patternParts`, so they are correctly transparent here.
423
423
  */
424
- declare function computeAppRouteStaticSiblings(allRoutes: readonly {
424
+ export declare function computeAppRouteStaticSiblings(allRoutes: readonly {
425
425
  patternParts?: readonly string[] | null;
426
426
  }[], matchedRoute: {
427
427
  patternParts?: readonly string[] | null;
428
428
  }): string[];
429
429
  //#endregion
430
- export { AppRoute, AppRouteGraphRoute, AppRouteSemanticIds, GraphVersion, RootBoundaryId, RouteManifest, RouteManifestInterception, RouteManifestRootBoundary, RouteManifestRoute, RouteManifestSlotBinding, StaticSegmentGraph, buildAppRouteGraph, computeAppRouteStaticSiblings, computeRootParamNames, convertSegmentsToRouteParts, createAppRouteGraphInterceptionId, findOwnerRouteForDir, isInvisibleSegment, patternsStructurallyEquivalent };
430
+ export { isInvisibleSegment };
@@ -1,6 +1,6 @@
1
1
  import path, { toSlash } from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
2
- import { decodeRouteSegment, isInvisibleSegment, sortRoutes } from "./utils.js";
3
2
  import { findFileWithExts, scanWithExtensions } from "./file-matcher.js";
3
+ import { decodeRouteSegment, isInvisibleSegment, sortRoutes } from "./utils.js";
4
4
  import { validateRoutePatterns } from "./route-validation.js";
5
5
  import { compareStrings } from "../utils/compare.js";
6
6
  import fs from "node:fs";
@@ -401,7 +401,8 @@ async function buildAppRouteGraph(appDir, matcher) {
401
401
  discoverSiblingInterceptingRoutes(routes, appDir, scanMatcher);
402
402
  validatePageRouteConflicts(routes, appDir);
403
403
  validateRoutePatterns(routes.map((route) => route.pattern));
404
- validateRoutePatterns([...new Set(routes.flatMap((route) => [...route.parallelSlots.flatMap((slot) => slot.interceptingRoutes.map((intercept) => intercept.targetPattern)), ...route.siblingIntercepts.map((intercept) => intercept.targetPattern)]))]);
404
+ const interceptTargetPatterns = [...new Set(routes.flatMap((route) => [...route.parallelSlots.flatMap((slot) => slot.interceptingRoutes.map((intercept) => intercept.targetPattern)), ...route.siblingIntercepts.map((intercept) => intercept.targetPattern)]))];
405
+ validateRoutePatterns(interceptTargetPatterns);
405
406
  sortRoutes(routes);
406
407
  return {
407
408
  routes,
@@ -5,7 +5,7 @@ type AppRouteGraph = {
5
5
  routes: AppRouteGraphRoute[];
6
6
  routeManifest: RouteManifest;
7
7
  };
8
- declare function invalidateAppRouteCache(): void;
8
+ export declare function invalidateAppRouteCache(): void;
9
9
  /**
10
10
  * Scan the app/ directory and return the route graph.
11
11
  * TODO(#726): Layer 4 should consume this read model directly once the
@@ -13,19 +13,32 @@ declare function invalidateAppRouteCache(): void;
13
13
  *
14
14
  * @internal
15
15
  */
16
- declare function appRouteGraph(appDir: string, pageExtensions?: readonly string[], matcher?: ValidFileMatcher): Promise<AppRouteGraph>;
16
+ export declare function appRouteGraph(appDir: string, pageExtensions?: readonly string[], matcher?: ValidFileMatcher): Promise<AppRouteGraph>;
17
17
  /**
18
18
  * Scan the app/ directory and return a list of routes.
19
19
  */
20
- declare function appRouter(appDir: string, pageExtensions?: readonly string[], matcher?: ValidFileMatcher): Promise<AppRouteGraphRoute[]>;
20
+ export declare function appRouter(appDir: string, pageExtensions?: readonly string[], matcher?: ValidFileMatcher): Promise<AppRouteGraphRoute[]>;
21
21
  /** Whether the route's ordinary main tree has a loading boundary unique to it. */
22
- declare function appRouteHasMainTreeLoadingBoundary(route: AppRoute): boolean;
22
+ export declare function appRouteHasMainTreeLoadingBoundary(route: AppRoute): boolean;
23
+ /**
24
+ * A route's layouts below a dynamic URL segment, one generateStaticParams
25
+ * provider each, keyed by the layout's directory. Next.js composes only the
26
+ * segments of a route's own loader tree, each segment as its own step
27
+ * (build/static-paths/app.ts generateRouteStaticParams), and route groups put
28
+ * different layouts at the same URL pattern prefix, so neither the pattern nor
29
+ * a shared provider identifies a layout.
30
+ */
31
+ export declare function appRouteLayoutStaticParamsGroups(route: Pick<AppRoute, "layouts" | "layoutTreePositions" | "routeSegments">): {
32
+ key: string;
33
+ layoutPath: string;
34
+ pattern: string;
35
+ }[];
23
36
  /**
24
37
  * Match a URL against App Router routes.
25
38
  */
26
- declare function matchAppRoute(url: string, routes: AppRoute[]): {
39
+ export declare function matchAppRoute(url: string, routes: AppRoute[]): {
27
40
  route: AppRoute;
28
41
  params: Record<string, string | string[]>;
29
42
  } | null;
30
43
  //#endregion
31
- export { type AppRoute, appRouteGraph, appRouteHasMainTreeLoadingBoundary, appRouter, computeAppRouteStaticSiblings, computeRootParamNames, convertSegmentsToRouteParts, invalidateAppRouteCache, matchAppRoute };
44
+ export { type AppRoute, computeAppRouteStaticSiblings, computeRootParamNames, convertSegmentsToRouteParts };