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
@@ -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,19 @@ 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;
368
367
  /**
369
368
  * Build the App Router route graph by scanning `appDir`.
370
369
  */
371
- declare function buildAppRouteGraph(appDir: string, matcher: ValidFileMatcher): Promise<{
370
+ export declare function buildAppRouteGraph(appDir: string, matcher: ValidFileMatcher): Promise<{
372
371
  routes: AppRouteGraphRoute[];
373
372
  routeManifest: RouteManifest;
374
373
  }>;
375
- declare function computeRootParamNames(routeSegments: readonly string[], layoutTreePositions: readonly number[]): string[];
376
- declare function patternsStructurallyEquivalent(a: readonly string[], b: readonly string[]): boolean;
374
+ export declare function computeRootParamNames(routeSegments: readonly string[], layoutTreePositions: readonly number[]): string[];
375
+ export declare function patternsStructurallyEquivalent(a: readonly string[], b: readonly string[]): boolean;
377
376
  /**
378
377
  * Find the best route to attach a sibling intercept to, given the directory
379
378
  * that contains the interception marker.
@@ -392,13 +391,13 @@ declare function patternsStructurallyEquivalent(a: readonly string[], b: readonl
392
391
  *
393
392
  * Exported for tests.
394
393
  */
395
- declare function findOwnerRouteForDir(dir: string, appDir: string, routes: readonly AppRouteGraphRoute[], routesByDir: Map<string, AppRouteGraphRoute>): AppRouteGraphRoute | null;
394
+ export declare function findOwnerRouteForDir(dir: string, appDir: string, routes: readonly AppRouteGraphRoute[], routesByDir: Map<string, AppRouteGraphRoute>): AppRouteGraphRoute | null;
396
395
  /**
397
396
  * Convert filesystem path segments to URL route parts, skipping invisible segments
398
397
  * (route groups, @slots, ".") and converting dynamic segment syntax to Express-style
399
398
  * patterns (e.g. "[id]" → ":id", "[...slug]" → ":slug+").
400
399
  */
401
- declare function convertSegmentsToRouteParts(segments: readonly string[]): {
400
+ export declare function convertSegmentsToRouteParts(segments: readonly string[]): {
402
401
  urlSegments: string[];
403
402
  params: string[];
404
403
  isDynamic: boolean;
@@ -421,10 +420,10 @@ declare function convertSegmentsToRouteParts(segments: readonly string[]): {
421
420
  * filesystem tree but not the URL namespace — sibling computation is done on
422
421
  * the URL-level `patternParts`, so they are correctly transparent here.
423
422
  */
424
- declare function computeAppRouteStaticSiblings(allRoutes: readonly {
423
+ export declare function computeAppRouteStaticSiblings(allRoutes: readonly {
425
424
  patternParts?: readonly string[] | null;
426
425
  }[], matchedRoute: {
427
426
  patternParts?: readonly string[] | null;
428
427
  }): string[];
429
428
  //#endregion
430
- export { AppRoute, AppRouteGraphRoute, AppRouteSemanticIds, GraphVersion, RootBoundaryId, RouteManifest, RouteManifestInterception, RouteManifestRootBoundary, RouteManifestRoute, RouteManifestSlotBinding, StaticSegmentGraph, buildAppRouteGraph, computeAppRouteStaticSiblings, computeRootParamNames, convertSegmentsToRouteParts, createAppRouteGraphInterceptionId, findOwnerRouteForDir, isInvisibleSegment, patternsStructurallyEquivalent };
429
+ export { isInvisibleSegment };
@@ -1,8 +1,9 @@
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
+ import { createAppRouteGraphInterceptionId } from "./app-route-ids.js";
6
7
  import fs from "node:fs";
7
8
  import { createHash } from "node:crypto";
8
9
  //#region src/routing/app-route-graph.ts
@@ -37,9 +38,6 @@ const SIBLING_INTERCEPT_SLOT_NAME = "__vinext_sibling_intercept";
37
38
  function createAppRouteGraphSiblingInterceptSlotId(sourcePattern) {
38
39
  return createAppRouteGraphSlotId(SIBLING_INTERCEPT_SLOT_NAME, sourcePattern);
39
40
  }
40
- function createAppRouteGraphInterceptionId(slotId, sourcePattern, targetPattern) {
41
- return `interception:${slotId}:${sourcePattern}->${targetPattern}`;
42
- }
43
41
  function createAppRouteGraphRootBoundaryId(treePath) {
44
42
  return `root-boundary:${treePath}`;
45
43
  }
@@ -401,7 +399,8 @@ async function buildAppRouteGraph(appDir, matcher) {
401
399
  discoverSiblingInterceptingRoutes(routes, appDir, scanMatcher);
402
400
  validatePageRouteConflicts(routes, appDir);
403
401
  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)]))]);
402
+ const interceptTargetPatterns = [...new Set(routes.flatMap((route) => [...route.parallelSlots.flatMap((slot) => slot.interceptingRoutes.map((intercept) => intercept.targetPattern)), ...route.siblingIntercepts.map((intercept) => intercept.targetPattern)]))];
403
+ validateRoutePatterns(interceptTargetPatterns);
405
404
  sortRoutes(routes);
406
405
  return {
407
406
  routes,
@@ -1752,4 +1751,4 @@ function computeAppRouteStaticSiblings(allRoutes, matchedRoute) {
1752
1751
  return Array.from(siblings);
1753
1752
  }
1754
1753
  //#endregion
1755
- export { buildAppRouteGraph, computeAppRouteStaticSiblings, computeRootParamNames, convertSegmentsToRouteParts, createAppRouteGraphInterceptionId, findOwnerRouteForDir, isInvisibleSegment, patternsStructurallyEquivalent };
1754
+ export { buildAppRouteGraph, computeAppRouteStaticSiblings, computeRootParamNames, convertSegmentsToRouteParts, findOwnerRouteForDir, isInvisibleSegment, patternsStructurallyEquivalent };
@@ -0,0 +1,3 @@
1
+ //#region src/routing/app-route-ids.d.ts
2
+ export declare function createAppRouteGraphInterceptionId(slotId: string, sourcePattern: string, targetPattern: string): string;
3
+ //#endregion
@@ -0,0 +1,6 @@
1
+ //#region src/routing/app-route-ids.ts
2
+ function createAppRouteGraphInterceptionId(slotId, sourcePattern, targetPattern) {
3
+ return `interception:${slotId}:${sourcePattern}->${targetPattern}`;
4
+ }
5
+ //#endregion
6
+ export { createAppRouteGraphInterceptionId };
@@ -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 };
@@ -1,6 +1,6 @@
1
1
  import { createValidFileMatcher } from "./file-matcher.js";
2
- import { createRouteTrieCache, matchRouteWithTrie } from "./route-matching.js";
3
2
  import { buildAppRouteGraph, computeAppRouteStaticSiblings, computeRootParamNames, convertSegmentsToRouteParts } from "./app-route-graph.js";
3
+ import { createRouteTrieCache, matchRouteWithTrie } from "./route-matching.js";
4
4
  //#region src/routing/app-router.ts
5
5
  /**
6
6
  * App Router file-system routing.
@@ -58,6 +58,28 @@ async function appRouter(appDir, pageExtensions, matcher) {
58
58
  function appRouteHasMainTreeLoadingBoundary(route) {
59
59
  return route.loadingPath != null || (route.loadingPaths?.some((_loadingPath, index) => (route.loadingTreePositions?.[index] ?? 0) > 0) ?? false);
60
60
  }
61
+ /**
62
+ * A route's layouts below a dynamic URL segment, one generateStaticParams
63
+ * provider each, keyed by the layout's directory. Next.js composes only the
64
+ * segments of a route's own loader tree, each segment as its own step
65
+ * (build/static-paths/app.ts generateRouteStaticParams), and route groups put
66
+ * different layouts at the same URL pattern prefix, so neither the pattern nor
67
+ * a shared provider identifies a layout.
68
+ */
69
+ function appRouteLayoutStaticParamsGroups(route) {
70
+ const groups = [];
71
+ for (const [index, layoutPath] of route.layouts.entries()) {
72
+ const segments = route.routeSegments.slice(0, route.layoutTreePositions[index] ?? 0);
73
+ const pattern = `/${(convertSegmentsToRouteParts(segments)?.urlSegments ?? []).join("/")}`;
74
+ if (!pattern.includes(":")) continue;
75
+ groups.push({
76
+ key: `layouts:${segments.join("/")}`,
77
+ layoutPath,
78
+ pattern
79
+ });
80
+ }
81
+ return groups;
82
+ }
61
83
  const appTrieCache = createRouteTrieCache();
62
84
  /**
63
85
  * Match a URL against App Router routes.
@@ -66,4 +88,4 @@ function matchAppRoute(url, routes) {
66
88
  return matchRouteWithTrie(url, routes, appTrieCache);
67
89
  }
68
90
  //#endregion
69
- export { appRouteGraph, appRouteHasMainTreeLoadingBoundary, appRouter, computeAppRouteStaticSiblings, computeRootParamNames, convertSegmentsToRouteParts, invalidateAppRouteCache, matchAppRoute };
91
+ export { appRouteGraph, appRouteHasMainTreeLoadingBoundary, appRouteLayoutStaticParamsGroups, appRouter, computeAppRouteStaticSiblings, computeRootParamNames, convertSegmentsToRouteParts, invalidateAppRouteCache, matchAppRoute };
@@ -1,6 +1,6 @@
1
1
  //#region src/routing/file-matcher.d.ts
2
- declare function normalizePageExtensions(pageExtensions?: readonly string[] | null): string[];
3
- type ValidFileMatcher = {
2
+ export declare function normalizePageExtensions(pageExtensions?: readonly string[] | null): string[];
3
+ export type ValidFileMatcher = {
4
4
  extensions: string[];
5
5
  dottedExtensions: string[];
6
6
  extensionRegex: RegExp;
@@ -15,14 +15,14 @@ type ValidFileMatcher = {
15
15
  * Ported in spirit from Next.js createValidFileMatcher:
16
16
  * packages/next/src/server/lib/find-page-file.ts
17
17
  */
18
- declare function createValidFileMatcher(pageExtensions?: readonly string[] | null): ValidFileMatcher;
18
+ export declare function createValidFileMatcher(pageExtensions?: readonly string[] | null): ValidFileMatcher;
19
19
  /** Check if a file exists with any configured page extension. */
20
- declare function findFileWithExtensions(basePath: string, matcher: ValidFileMatcher): boolean;
20
+ export declare function findFileWithExtensions(basePath: string, matcher: ValidFileMatcher): boolean;
21
21
  /**
22
22
  * Find a file by basename and configured page extension in a directory.
23
23
  * Returns the first matching absolute path, or null if not found.
24
24
  */
25
- declare function findFileWithExts(dir: string, name: string, matcher: ValidFileMatcher): string | null;
25
+ export declare function findFileWithExts(dir: string, name: string, matcher: ValidFileMatcher): string | null;
26
26
  /**
27
27
  * Add the config extensions produced by `vinext init` to vinext's resolver.
28
28
  *
@@ -38,7 +38,7 @@ declare function findFileWithExts(dir: string, name: string, matcher: ValidFileM
38
38
  * `.cjs`/`.cts` go last because `vinext init` renames CJS config files when it
39
39
  * adds `"type": "module"`, and app code may import those files extensionlessly.
40
40
  */
41
- declare function buildViteResolveExtensions(viteExtensions?: readonly string[]): string[];
41
+ export declare function buildViteResolveExtensions(viteExtensions?: readonly string[]): string[];
42
42
  /**
43
43
  * Normalize an explicit Next.js resolver extension list for Vite.
44
44
  *
@@ -47,7 +47,7 @@ declare function buildViteResolveExtensions(viteExtensions?: readonly string[]):
47
47
  * webpack/Turbopack convention for trying the import exactly as written; Vite
48
48
  * already does that before appending extensions, so it must be omitted here.
49
49
  */
50
- declare function normalizeViteResolveExtensions(extensions: readonly string[]): string[];
50
+ export declare function normalizeViteResolveExtensions(extensions: readonly string[]): string[];
51
51
  /**
52
52
  * Use function-form exclude for Node < 22.14 compatibility.
53
53
  *
@@ -55,6 +55,5 @@ declare function normalizeViteResolveExtensions(extensions: readonly string[]):
55
55
  * separators on Windows, so each match goes through `toSlash` — this is the
56
56
  * boundary where external fs output enters the canonical forward-slash space.
57
57
  */
58
- declare function scanWithExtensions(stem: string, cwd: string, extensions: readonly string[], exclude?: (name: string) => boolean): AsyncGenerator<string>;
59
- //#endregion
60
- export { ValidFileMatcher, buildViteResolveExtensions, createValidFileMatcher, findFileWithExtensions, findFileWithExts, normalizePageExtensions, normalizeViteResolveExtensions, scanWithExtensions };
58
+ export declare function scanWithExtensions(stem: string, cwd: string, extensions: readonly string[], exclude?: (name: string) => boolean): AsyncGenerator<string>;
59
+ //#endregion
@@ -1,7 +1,7 @@
1
1
  import { ValidFileMatcher } from "./file-matcher.js";
2
2
  import { patternToNextFormat } from "./route-validation.js";
3
3
  //#region src/routing/pages-router.d.ts
4
- type Route = {
4
+ export type Route = {
5
5
  /** URL pattern, e.g. "/" or "/about" or "/posts/:id" */
6
6
  pattern: string;
7
7
  /** Pre-split pattern segments (computed once at scan time, reused per request) */
@@ -17,7 +17,7 @@ type Route = {
17
17
  * Invalidate cached routes for a given pages directory.
18
18
  * Called by the file watcher when pages are added/removed.
19
19
  */
20
- declare function invalidateRouteCache(pagesDir: string): void;
20
+ export declare function invalidateRouteCache(pagesDir: string): void;
21
21
  /**
22
22
  * Scan the pages/ directory and return a list of routes.
23
23
  * Results are cached — call invalidateRouteCache() when files change.
@@ -30,12 +30,12 @@ declare function invalidateRouteCache(pagesDir: string): void;
30
30
  * - Ignores _app.tsx, _document.tsx, _error.tsx (Next.js special files)
31
31
  * - Ignores pages/api/ (handled separately later)
32
32
  */
33
- declare function pagesRouter(pagesDir: string, pageExtensions?: readonly string[], matcher?: ValidFileMatcher): Promise<Route[]>;
33
+ export declare function pagesRouter(pagesDir: string, pageExtensions?: readonly string[], matcher?: ValidFileMatcher): Promise<Route[]>;
34
34
  /**
35
35
  * Match a URL path against a route pattern.
36
36
  * Returns the matched params or null if no match.
37
37
  */
38
- declare function matchRoute(url: string, routes: Route[]): {
38
+ export declare function matchRoute(url: string, routes: Route[]): {
39
39
  route: Route;
40
40
  params: Record<string, string | string[]>;
41
41
  } | null;
@@ -47,6 +47,6 @@ declare function matchRoute(url: string, routes: Route[]): {
47
47
  * - pages/api/hello.ts -> /api/hello
48
48
  * - pages/api/users/[id].ts -> /api/users/:id
49
49
  */
50
- declare function apiRouter(pagesDir: string, pageExtensions?: readonly string[], matcher?: ValidFileMatcher): Promise<Route[]>;
50
+ export declare function apiRouter(pagesDir: string, pageExtensions?: readonly string[], matcher?: ValidFileMatcher): Promise<Route[]>;
51
51
  //#endregion
52
- export { Route, apiRouter, invalidateRouteCache, matchRoute, pagesRouter, patternToNextFormat };
52
+ export { patternToNextFormat };
@@ -1,6 +1,6 @@
1
1
  import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
2
- import { decodeRouteSegment, sortRoutes } from "./utils.js";
3
2
  import { createValidFileMatcher, scanWithExtensions } from "./file-matcher.js";
3
+ import { decodeRouteSegment, sortRoutes } from "./utils.js";
4
4
  import { patternToNextFormat, validateRoutePatterns } from "./route-validation.js";
5
5
  import { createRouteTrieCache, matchRouteWithTrieRawPathname } from "./route-matching.js";
6
6
  //#region src/routing/pages-router.ts
@@ -3,7 +3,7 @@ import { TrieNode } from "./route-trie.js";
3
3
  type RouteTrieCache<R extends {
4
4
  patternParts: string[];
5
5
  }> = WeakMap<R[], TrieNode<R>>;
6
- declare function createRouteTrieCache<R extends {
6
+ export declare function createRouteTrieCache<R extends {
7
7
  patternParts: string[];
8
8
  }>(): RouteTrieCache<R>;
9
9
  /**
@@ -16,7 +16,7 @@ declare function createRouteTrieCache<R extends {
16
16
  * Generic over the route shape; both Pages `Route` and App `AppRoute`
17
17
  * satisfy `{ patternParts: string[] }`.
18
18
  */
19
- declare function matchRouteWithTrie<R extends {
19
+ export declare function matchRouteWithTrie<R extends {
20
20
  patternParts: string[];
21
21
  }>(url: string, routes: R[], cache: RouteTrieCache<R>): {
22
22
  route: R;
@@ -29,11 +29,10 @@ declare function matchRouteWithTrie<R extends {
29
29
  * not select the filesystem route `/about`. Dynamic captures are still decoded
30
30
  * exactly once by `trieMatch`, matching `getRouteMatcher` upstream.
31
31
  */
32
- declare function matchRouteWithTrieRawPathname<R extends {
32
+ export declare function matchRouteWithTrieRawPathname<R extends {
33
33
  patternParts: string[];
34
34
  }>(url: string, routes: R[], cache: RouteTrieCache<R>): {
35
35
  route: R;
36
36
  params: Record<string, string | string[]>;
37
37
  } | null;
38
- //#endregion
39
- export { createRouteTrieCache, matchRouteWithTrie, matchRouteWithTrieRawPathname };
38
+ //#endregion
@@ -36,7 +36,8 @@ function matchRouteWithTrie(url, routes, cache) {
36
36
  let normalizedUrl = pathname === "/" ? "/" : pathname.replace(/\/$/, "");
37
37
  normalizedUrl = normalizePathnameForRouteMatch(normalizedUrl);
38
38
  const urlParts = normalizedUrl.split("/").filter(Boolean);
39
- return trieMatch(getOrBuildTrie(cache, routes), urlParts);
39
+ const trie = getOrBuildTrie(cache, routes);
40
+ return trieMatch(trie, urlParts);
40
41
  }
41
42
  /**
42
43
  * Match a filesystem route against the request's raw encoded pathname.
@@ -48,7 +49,8 @@ function matchRouteWithTrie(url, routes, cache) {
48
49
  function matchRouteWithTrieRawPathname(url, routes, cache) {
49
50
  const pathname = url.split("?")[0];
50
51
  const urlParts = (pathname === "/" ? "/" : pathname.replace(/\/$/, "")).split("/").filter(Boolean);
51
- return trieMatch(getOrBuildTrie(cache, routes), urlParts);
52
+ const trie = getOrBuildTrie(cache, routes);
53
+ return trieMatch(trie, urlParts);
52
54
  }
53
55
  //#endregion
54
56
  export { createRouteTrieCache, matchRouteWithTrie, matchRouteWithTrieRawPathname };