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,15 +1,16 @@
1
1
  "use client";
2
+ import { isBotUserAgent } from "../utils/html-limited-bots.js";
2
3
  import { isDangerousScheme, reportBlockedDangerousNavigation } from "./url-safety.js";
3
4
  import { addLocalePrefix, getDomainLocaleUrl } from "../utils/domain-locale.js";
4
5
  import { RouterContext } from "./internal/router-context.js";
5
6
  import { getPagesMiddlewareDataHref, prefetchPagesData, resolvePagesDataNavigationTarget } from "./internal/pages-data-target.js";
6
7
  import { markAppRouteDetectedOnPrefetch } from "./internal/app-route-detection.js";
7
8
  import { isAbsoluteOrProtocolRelativeUrl, normalizePathTrailingSlash, toCanonicalBrowserNavigationHref, toSameOriginAppPath, withBasePath } from "./url-utils.js";
8
- import { appendSearchParamsToUrl, urlQueryToSearchParams } from "../utils/query.js";
9
9
  import { interpolateDynamicRouteHref, resolveDynamicRouteHref } from "./internal/interpolate-as.js";
10
- import { getCurrentBrowserLocale } from "./client-locale.js";
10
+ import { formatUrlObject, formatUrlObjectWithValidation } from "./internal/format-url-object.js";
11
+ import { normalizeRouterHref, resolvePagesRouterHref } from "./internal/normalize-router-href.js";
11
12
  import { getCurrentRoutePathnameForWarning } from "./internal/route-pattern-for-warning.js";
12
- import { isBotUserAgent } from "../utils/html-limited-bots.js";
13
+ import { getCurrentBrowserLocale } from "./client-locale.js";
13
14
  import { getNavigationRuntime, hasAppNavigationRuntime, registerNavigationRuntimeFunctions } from "../client/navigation-runtime.js";
14
15
  import { navigatePagesRouterLinkWithFallback, resolvePagesRouterQueryOnlyHref } from "../client/pages-router-link-navigation.js";
15
16
  import { scheduleAppPrefetchFetch } from "./internal/app-prefetch-fetch-queue.js";
@@ -65,22 +66,23 @@ const __basePath = process.env.__NEXT_ROUTER_BASEPATH ?? "";
65
66
  /** trailingSlash from next.config.js, injected by the plugin at build time */
66
67
  const __trailingSlash = process.env.__VINEXT_TRAILING_SLASH === "true";
67
68
  const __prefetchInlining = process.env.__VINEXT_PREFETCH_INLINING === "true";
68
- function resolveHref(href) {
69
+ function resolveHref(href, validate = false) {
69
70
  if (typeof href === "string") return href;
70
- let url = href.pathname ?? "";
71
- if (href.query) {
72
- const params = urlQueryToSearchParams(href.query);
73
- url = appendSearchParamsToUrl(url, params);
74
- }
75
- if (href.hash) url += href.hash.startsWith("#") ? href.hash : `#${href.hash}`;
76
- return url;
71
+ return validate ? formatUrlObjectWithValidation(href) : formatUrlObject(href);
72
+ }
73
+ function resolvePagesLinkValue(value, pagesRouter, routePathnameForWarning) {
74
+ const formatted = resolveHref(value, pagesRouter !== null);
75
+ if (pagesRouter === null) return formatted;
76
+ if (typeof pagesRouter.pathname === "string" && typeof pagesRouter.asPath === "string" && !formatted.startsWith("?") && !formatted.startsWith("#")) return resolvePagesRouterHref(formatted, pagesRouter, __basePath);
77
+ return normalizeRouterHref(formatted, routePathnameForWarning);
77
78
  }
78
79
  function resolvePagesQueryOnlyHref(href) {
79
80
  if (!HAS_PAGES_ROUTER) return href;
80
81
  if (!href.startsWith("?") && !href.startsWith("#") || typeof window === "undefined") return href;
81
82
  const pagesRouter = window.next?.appDir === true ? void 0 : window.next?.router;
83
+ const visibleHref = pagesRouter && "reload" in pagesRouter && "asPath" in pagesRouter && typeof pagesRouter.asPath === "string" ? pagesRouter.asPath : void 0;
82
84
  return resolvePagesRouterQueryOnlyHref(href, {
83
- asPath: pagesRouter && "reload" in pagesRouter && "asPath" in pagesRouter && typeof pagesRouter.asPath === "string" ? pagesRouter.asPath : void 0,
85
+ asPath: visibleHref,
84
86
  basePath: __basePath,
85
87
  fallbackHref: window.location.href,
86
88
  locales: window.__VINEXT_LOCALES__
@@ -94,52 +96,6 @@ function applyPagesNavigationFallback(href, replace) {
94
96
  else window.history.pushState({}, "", href);
95
97
  window.dispatchEvent(new PopStateEvent("popstate"));
96
98
  }
97
- /**
98
- * Collapse repeated forward-slashes (and convert backslashes to forward-slashes)
99
- * in the path portion of a URL, preserving any query string.
100
- *
101
- * Ported from Next.js: packages/next/src/shared/lib/utils/normalize-repeated-slashes.ts
102
- * https://github.com/vercel/next.js/blob/canary/packages/next/src/shared/lib/utils/normalize-repeated-slashes.ts
103
- */
104
- function normalizeRepeatedSlashes(url) {
105
- const urlParts = url.split("?");
106
- const urlNoQueryString = urlParts.shift() ?? "";
107
- const queryString = urlParts.join("?");
108
- return urlNoQueryString.replace(/\\/g, "/").replace(/\/\/+/g, "/") + (queryString ? `?${queryString}` : "");
109
- }
110
- /**
111
- * Emit Next.js's "Invalid href" `console.error` when `href` contains repeated
112
- * forward slashes or backslashes in its path portion, and return the
113
- * normalized URL (with `\\` converted to `/` and runs of `/` collapsed). If
114
- * the href is already well-formed, the original string is returned unchanged.
115
- *
116
- * Ported from Next.js: packages/next/src/client/resolve-href.ts
117
- * https://github.com/vercel/next.js/blob/canary/packages/next/src/client/resolve-href.ts
118
- *
119
- * Matches the message asserted by:
120
- * test/e2e/repeated-forward-slashes-error/repeated-forward-slashes-error.test.ts
121
- *
122
- * Note: Next.js fires this warning unconditionally on every call to
123
- * `resolveHref`. We mirror that behaviour (no dedup) for exact parity.
124
- *
125
- * Note: Next.js uses `router.pathname` (the route pattern, e.g.
126
- * `/posts/[id]`) for the "in page" segment of the message. The Next.js
127
- * compat test asserts this exact text (`in page: '/my/path/[name]'`), so we
128
- * source it from the current render's route pattern via
129
- * `getCurrentRoutePathnameForWarning()`: the Pages Router SSR context's route
130
- * pattern on the server, `window.location.pathname` on the client, falling
131
- * back to `"/"`.
132
- */
133
- function warnAndNormalizeRepeatedSlashesInHref(urlAsString) {
134
- if (urlAsString.startsWith("//")) return urlAsString;
135
- const urlProtoMatch = urlAsString.match(/^[a-z][a-z0-9+.-]*:\/\//i);
136
- const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString;
137
- if (!(urlAsStringNoProto.split("?", 1)[0] || "").match(/(\/\/|\\)/)) return urlAsString;
138
- const pathname = getCurrentRoutePathnameForWarning();
139
- console.error(`Invalid href '${urlAsString}' passed to next/router in page: '${pathname}'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.`);
140
- const normalizedNoProto = normalizeRepeatedSlashes(urlAsStringNoProto);
141
- return (urlProtoMatch ? urlProtoMatch[0] : "") + normalizedNoProto;
142
- }
143
99
  function resolveLinkPrefetchMode(prefetchProp, isDangerous) {
144
100
  if (isDangerous || prefetchProp === false) return "disabled";
145
101
  if (prefetchProp === true) return "full";
@@ -170,11 +126,12 @@ function prefetchUrl(href, mode, priority = "low", pagesRouteHref, locale) {
170
126
  });
171
127
  if (prefetchHref == null) return;
172
128
  const fullHref = toCanonicalBrowserNavigationHref(prefetchHref, window.location.href, __basePath, __trailingSlash);
173
- const fullRouteHref = toCanonicalBrowserNavigationHref(pagesRouteHref === void 0 ? prefetchHref : getLinkPrefetchHref({
129
+ const routePrefetchHref = pagesRouteHref === void 0 ? prefetchHref : getLinkPrefetchHref({
174
130
  href: pagesRouteHref,
175
131
  basePath: __basePath,
176
132
  currentOrigin: window.location.origin
177
- }) ?? prefetchHref, window.location.href, __basePath, __trailingSlash);
133
+ }) ?? prefetchHref;
134
+ const fullRouteHref = toCanonicalBrowserNavigationHref(routePrefetchHref, window.location.href, __basePath, __trailingSlash);
178
135
  const target = new URL(fullHref, window.location.href);
179
136
  if (target.origin === window.location.origin && target.pathname === window.location.pathname && target.search === window.location.search) return;
180
137
  if (mode === "auto" && priority === "low" && target.origin === window.location.origin && target.pathname === window.location.pathname && target.search !== window.location.search && target.hash !== "") return;
@@ -223,14 +180,9 @@ function prefetchUrl(href, mode, priority = "low", pagesRouteHref, locale) {
223
180
  headers.set(NEXT_ROUTER_PREFETCH_HEADER, "1");
224
181
  headers.set(NEXT_ROUTER_SEGMENT_PREFETCH_HEADER, "1");
225
182
  }
226
- const { additionalRscUrls, rscUrl, usesCanonicalPrewarmedRequest } = await resolveAppPrefetchRscRequest({
227
- canUseCanonicalLoadingShell: autoPrefetch.canUseCanonicalLoadingShell === true,
183
+ const { additionalRscUrls, rscUrl } = await resolveAppPrefetchRscRequest({
228
184
  fullHref,
229
185
  headers,
230
- interceptionContext,
231
- mountedSlotsHeader,
232
- prefetchInlining: __prefetchInlining,
233
- requiresRouteTreePrefetch,
234
186
  rewrittenPrefetchHref
235
187
  });
236
188
  if (navigationEpoch !== linkPrefetchNavigationEpoch) return;
@@ -302,9 +254,9 @@ function prefetchUrl(href, mode, priority = "low", pagesRouteHref, locale) {
302
254
  return;
303
255
  }
304
256
  prefetched.add(cacheKey);
305
- const gateViaRouteTree = !usesCanonicalPrewarmedRequest && (__prefetchInlining || requiresRouteTreePrefetch) && mode === "auto" && autoPrefetch.prefetchShellFirst;
257
+ const gateViaRouteTree = (__prefetchInlining || requiresRouteTreePrefetch) && mode === "auto" && autoPrefetch.prefetchShellFirst;
306
258
  const gateViaExplicitSearchShell = mode === "full" && hasSearchParams && autoPrefetch.prefetchShellFirst && mountedSlotsHeader === null;
307
- const gateViaLoadingShell = !usesCanonicalPrewarmedRequest && (mode === "full-after-shell" || gateViaExplicitSearchShell) && autoPrefetch.prefetchShellFirst;
259
+ const gateViaLoadingShell = (mode === "full-after-shell" || gateViaExplicitSearchShell) && autoPrefetch.prefetchShellFirst;
308
260
  const fetchPromise = autoPrefetch.cacheForNavigation && (gateViaRouteTree || gateViaLoadingShell) ? (async () => {
309
261
  if (gateViaLoadingShell) {
310
262
  await fetchLoadingShellForReuse();
@@ -325,7 +277,7 @@ function prefetchUrl(href, mode, priority = "low", pagesRouteHref, locale) {
325
277
  mountedSlotsHeader
326
278
  });
327
279
  })() : fetchFullRscPayload();
328
- if (!usesCanonicalPrewarmedRequest && !__prefetchInlining && mode === "full" && autoPrefetch.cacheForNavigation && autoPrefetch.prefetchShellFirst && mountedSlotsHeader === null && !gateViaExplicitSearchShell) fetchLoadingShellForReuse();
280
+ if (!__prefetchInlining && mode === "full" && autoPrefetch.cacheForNavigation && autoPrefetch.prefetchShellFirst && mountedSlotsHeader === null && !gateViaExplicitSearchShell) fetchLoadingShellForReuse();
329
281
  prefetchRscResponse(rscUrl, fetchPromise, interceptionContext, mountedSlotsHeader, void 0, {
330
282
  cacheForNavigation: autoPrefetch.cacheForNavigation,
331
283
  fallbackTtlMs: autoPrefetch.fallbackTtl === "dynamic" ? DYNAMIC_NAVIGATION_CACHE_TTL : PREFETCH_CACHE_TTL,
@@ -338,7 +290,7 @@ function prefetchUrl(href, mode, priority = "low", pagesRouteHref, locale) {
338
290
  } else if (HAS_PAGES_ROUTER && window.__NEXT_DATA__) {
339
291
  const dataTarget = resolvePagesDataNavigationTarget(fullRouteHref, __basePath, { locale });
340
292
  if (dataTarget) {
341
- const middlewareDataHref = fullRouteHref === fullHref ? dataTarget.middlewareDataHref : getPagesMiddlewareDataHref(fullHref, __basePath, { locale }) ?? void 0;
293
+ const middlewareDataHref = fullRouteHref === fullHref ? dataTarget.middlewareDataHref : getPagesMiddlewareDataHref(fullHref, __basePath, { locale }, fullRouteHref) ?? void 0;
342
294
  prefetchPagesData({
343
295
  ...dataTarget,
344
296
  middlewareDataHref
@@ -500,56 +452,41 @@ function applyLocaleToHref(href, locale) {
500
452
  }
501
453
  return addLocalePrefix(href, resolvedLocale, defaultLocale);
502
454
  }
503
- /**
504
- * For the `<Link href="/blog/[slug]" as="/blog/test-post">` case, project the
505
- * bracket-pattern href + the resolved `as` back into a concrete route URL the
506
- * Pages Router can fetch (`/blog/test-post`). Returns null when:
507
- * - `href` has no bracket params (already concrete; the existing forwarding
508
- * path works as-is)
509
- * - interpolation fails because a required param could not be resolved
510
- * (caller falls back to `as`, matching pre-PR behavior)
511
- *
512
- * The query for interpolation is the href's own query — `as` is the matcher
513
- * input rather than the source of param values. For string hrefs the search
514
- * portion is parsed into the query record; for object hrefs we take
515
- * `href.query` directly.
516
- */
455
+ /** Resolve a dynamic route pattern to the concrete URL used for prefetching. */
517
456
  function resolveConcreteRouteHref(href, as) {
518
457
  if (typeof as !== "string") return null;
519
- return interpolateDynamicRouteHref(typeof href === "string" ? href : resolveHref(href), as, typeof href === "string" || !href.query || typeof href.query === "string" ? void 0 : href.query)?.href || null;
458
+ return interpolateDynamicRouteHref(href, as)?.href || null;
520
459
  }
521
460
  const Link = forwardRef(function Link({ href, as, replace = false, prefetch: prefetchProp, scroll = true, shallow = false, children: childrenProp, onClick, onMouseEnter, onTouchStart, onNavigate, unstable_dynamicOnHover = false, legacyBehavior = false, passHref = false, transitionTypes: _transitionTypes, ...rest }, forwardedRef) {
522
461
  const pagesRouter = useContext(RouterContext);
523
- const asHref = as === void 0 ? void 0 : resolveHref(as);
524
- const hrefStr = resolveHref(href);
462
+ const routePathnameForWarning = getCurrentRoutePathnameForWarning();
463
+ const hrefStr = resolvePagesLinkValue(href, pagesRouter, routePathnameForWarning);
464
+ const asHref = as === void 0 ? void 0 : resolvePagesLinkValue(as, pagesRouter, routePathnameForWarning);
525
465
  const { locale, ...restWithoutLocale } = rest;
526
466
  let children = childrenProp;
527
467
  if (legacyBehavior && (typeof childrenProp === "string" || typeof childrenProp === "number")) children = React.createElement("a", null, childrenProp);
528
468
  const hrefForImplicitInterpolation = isAbsoluteOrProtocolRelativeUrl(hrefStr) ? hrefStr.startsWith("//") ? null : toSameOriginAppPath(hrefStr, __basePath) : hrefStr;
529
469
  const implicitDynamicRouteHref = HAS_PAGES_ROUTER && pagesRouter !== null && asHref === void 0 && hrefForImplicitInterpolation !== null ? resolveDynamicRouteHref(hrefForImplicitInterpolation) : null;
530
- const dynamicRouteHref = implicitDynamicRouteHref ? {
531
- ...implicitDynamicRouteHref,
532
- href: hrefStr
533
- } : null;
534
- const pagesAsHref = asHref ?? dynamicRouteHref?.as;
470
+ const pagesAsHref = asHref ?? implicitDynamicRouteHref?.as;
535
471
  const unresolvedHref = pagesAsHref ?? hrefStr;
536
- const rawResolvedHref = typeof unresolvedHref === "string" && unresolvedHref.startsWith("#") && !getNavigationRuntime()?.functions.navigate ? resolvePagesQueryOnlyHref(unresolvedHref) : unresolvedHref;
537
- const concreteRouteHref = HAS_PAGES_ROUTER ? resolveConcreteRouteHref(dynamicRouteHref ? hrefForImplicitInterpolation ?? href : href, pagesAsHref) : null;
538
- const routeHrefRaw = dynamicRouteHref?.href ?? concreteRouteHref ?? hrefStr;
472
+ const resolvedHref = unresolvedHref.startsWith("#") && !getNavigationRuntime()?.functions.navigate ? resolvePagesQueryOnlyHref(unresolvedHref) : unresolvedHref;
473
+ const concreteRouteHref = HAS_PAGES_ROUTER ? resolveConcreteRouteHref(hrefForImplicitInterpolation ?? hrefStr, pagesAsHref) : null;
474
+ const routeHrefRaw = hrefStr;
539
475
  const prefetchRouteHrefRaw = concreteRouteHref ?? routeHrefRaw;
540
- const hasPagesHrefAsPair = HAS_PAGES_ROUTER && typeof pagesAsHref === "string" && typeof routeHrefRaw === "string" && pagesAsHref !== routeHrefRaw;
541
- const resolvedHref = typeof rawResolvedHref === "string" ? warnAndNormalizeRepeatedSlashesInHref(rawResolvedHref) : rawResolvedHref;
542
- const isDangerous = typeof resolvedHref === "string" && isDangerousScheme(resolvedHref);
543
- const normalizedHref = normalizePathTrailingSlash(applyLocaleToHref(isDangerous ? "/" : resolvedHref, locale), __trailingSlash);
544
- const normalizedRouteHref = hasPagesHrefAsPair ? normalizePathTrailingSlash(applyLocaleToHref(isDangerous ? "/" : prefetchRouteHrefRaw, locale), __trailingSlash) : normalizedHref;
476
+ const hasPagesHrefAsPair = HAS_PAGES_ROUTER && pagesAsHref !== void 0 && pagesAsHref !== routeHrefRaw;
477
+ const isDangerous = isDangerousScheme(resolvedHref);
478
+ const isRouteDangerous = isDangerousScheme(prefetchRouteHrefRaw);
479
+ const isPrefetchDangerous = isDangerous || pagesRouter !== null && isRouteDangerous;
480
+ const localizedHref = applyLocaleToHref(isDangerous ? "/" : resolvedHref, locale);
481
+ const normalizedHref = normalizePathTrailingSlash(localizedHref, __trailingSlash);
482
+ const normalizedRouteHref = hasPagesHrefAsPair ? normalizePathTrailingSlash(applyLocaleToHref(isRouteDangerous ? "/" : prefetchRouteHrefRaw, locale), __trailingSlash) : normalizedHref;
545
483
  const fullHref = normalizePathTrailingSlash(withBasePath(normalizedHref, __basePath), __trailingSlash);
546
484
  const [pending, setPending] = useState(false);
547
485
  const mountedRef = useRef(true);
548
486
  const pendingPagesIntentPrefetchRef = useRef(null);
549
- const setPendingRef = useRef(null);
550
- if (setPendingRef.current === null) setPendingRef.current = (next) => {
487
+ const setPendingRef = useRef((next) => {
551
488
  if (mountedRef.current) setPending(next);
552
- };
489
+ });
553
490
  useEffect(() => {
554
491
  mountedRef.current = true;
555
492
  const setter = setPendingRef.current;
@@ -564,11 +501,11 @@ const Link = forwardRef(function Link({ href, as, replace = false, prefetch: pre
564
501
  const prefetchRouterMode = getLinkPrefetchRouterMode();
565
502
  const isShallowPagesLink = prefetchRouterMode === "pages" && shallow;
566
503
  const effectivePrefetchProp = isShallowPagesLink ? false : prefetchProp;
567
- const prefetchMode = resolveLinkPrefetchMode(effectivePrefetchProp, isDangerous);
504
+ const prefetchMode = resolveLinkPrefetchMode(effectivePrefetchProp, isPrefetchDangerous);
568
505
  const shouldViewportPrefetch = canLinkPrefetch({
569
506
  nodeEnv: process.env.NODE_ENV,
570
507
  prefetch: effectivePrefetchProp,
571
- isDangerous
508
+ isDangerous: isPrefetchDangerous
572
509
  });
573
510
  const setRefs = useCallback((node) => {
574
511
  internalRef.current = node;
@@ -622,7 +559,7 @@ const Link = forwardRef(function Link({ href, as, replace = false, prefetch: pre
622
559
  if (isShallowPagesLink || !canLinkIntentPrefetch({
623
560
  nodeEnv: process.env.NODE_ENV,
624
561
  prefetch: effectivePrefetchProp,
625
- isDangerous,
562
+ isDangerous: isPrefetchDangerous,
626
563
  routerMode: prefetchRouterMode
627
564
  })) return;
628
565
  const intentMode = unstable_dynamicOnHover ? "full-after-shell" : prefetchMode;
@@ -634,7 +571,7 @@ const Link = forwardRef(function Link({ href, as, replace = false, prefetch: pre
634
571
  prefetchUrl(normalizedHref, intentMode, "high", normalizedRouteHref === normalizedHref ? void 0 : normalizedRouteHref, locale);
635
572
  }, [
636
573
  effectivePrefetchProp,
637
- isDangerous,
574
+ isPrefetchDangerous,
638
575
  isShallowPagesLink,
639
576
  prefetchMode,
640
577
  prefetchRouterMode,
@@ -724,8 +661,9 @@ const Link = forwardRef(function Link({ href, as, replace = false, prefetch: pre
724
661
  return;
725
662
  } else if (HAS_PAGES_ROUTER) {
726
663
  const Router = window.next?.appDir === true ? void 0 : window.next?.router;
664
+ const pagesRouter = Router && "reload" in Router ? Router : void 0;
727
665
  await navigatePagesRouterLinkWithFallback({
728
- router: Router && "reload" in Router ? Router : void 0,
666
+ router: pagesRouter,
729
667
  loadRouter: async () => (await import("next/router")).default,
730
668
  navigation: {
731
669
  href: pagesHrefForLink,
@@ -758,15 +696,16 @@ const Link = forwardRef(function Link({ href, as, replace = false, prefetch: pre
758
696
  if (typeof childRef === "function") childRef(node);
759
697
  else if (childRef) childRef.current = node;
760
698
  };
699
+ const dangerousChild = React.cloneElement(child, {
700
+ ref: setDangerousRefs,
701
+ onClick: (event) => {
702
+ if (childOnClick) childOnClick(event);
703
+ reportBlockedDangerousNavigation();
704
+ }
705
+ });
761
706
  return /* @__PURE__ */ jsx(LinkStatusContext.Provider, {
762
707
  value: linkStatusValue,
763
- children: React.cloneElement(child, {
764
- ref: setDangerousRefs,
765
- onClick: (event) => {
766
- if (childOnClick) childOnClick(event);
767
- reportBlockedDangerousNavigation();
768
- }
769
- })
708
+ children: dangerousChild
770
709
  });
771
710
  }
772
711
  return /* @__PURE__ */ jsx(LinkStatusContext.Provider, {
@@ -816,9 +755,10 @@ const Link = forwardRef(function Link({ href, as, replace = false, prefetch: pre
816
755
  }
817
756
  };
818
757
  if (shouldForwardHref) clonedProps.href = fullHref;
758
+ const clonedChild = React.cloneElement(child, clonedProps);
819
759
  return /* @__PURE__ */ jsx(LinkStatusContext.Provider, {
820
760
  value: linkStatusValue,
821
- children: React.cloneElement(child, clonedProps)
761
+ children: clonedChild
822
762
  });
823
763
  }
824
764
  return /* @__PURE__ */ jsx(LinkStatusContext.Provider, {
@@ -2,26 +2,26 @@ import { ThenableParamsObserver } from "./thenable-params.js";
2
2
  import React from "react";
3
3
  import { ResolvedViewport as ResolvedViewport$1, Viewport as Viewport$1 } from "@vinext/types/next/upstream/dist/lib/metadata/types/metadata-interface";
4
4
  //#region src/shims/metadata.d.ts
5
- type Viewport = Viewport$1;
6
- type ResolvedViewport = ResolvedViewport$1;
5
+ export type Viewport = Viewport$1;
6
+ export type ResolvedViewport = ResolvedViewport$1;
7
7
  /**
8
8
  * Resolve viewport config from a module. Handles both static `viewport` export
9
9
  * and async `generateViewport()` function.
10
10
  */
11
- declare function resolveModuleViewport(mod: Record<string, unknown>, params?: Record<string, string | string[]>, searchParams?: Record<string, string | string[]>, parent?: Promise<ResolvedViewport>, searchParamsObserver?: ThenableParamsObserver): Promise<Viewport | null>;
11
+ export declare function resolveModuleViewport(mod: Record<string, unknown>, params?: Record<string, string | string[]>, searchParams?: Record<string, string | string[]>, parent?: Promise<ResolvedViewport>, searchParamsObserver?: ThenableParamsObserver): Promise<Viewport | null>;
12
12
  /**
13
13
  * Merge viewport configs from multiple sources (layouts + page).
14
14
  * Later entries override earlier ones.
15
15
  */
16
- declare const DEFAULT_VIEWPORT: ResolvedViewport;
17
- declare function mergeViewport(viewportList: readonly Viewport[]): ResolvedViewport;
16
+ export declare const DEFAULT_VIEWPORT: ResolvedViewport;
17
+ export declare function mergeViewport(viewportList: readonly Viewport[]): ResolvedViewport;
18
18
  /**
19
19
  * React component that renders viewport meta tags into <head>.
20
20
  */
21
- declare function ViewportHead({ viewport }: {
21
+ export declare function ViewportHead({ viewport }: {
22
22
  viewport: Viewport;
23
23
  }): React.JSX.Element;
24
- type Metadata = {
24
+ export type Metadata = {
25
25
  title?: string | {
26
26
  default?: string;
27
27
  template?: string;
@@ -193,7 +193,7 @@ type IconsMap = {
193
193
  other?: IconDescriptor | IconDescriptor[];
194
194
  };
195
195
  type IconsMetadata = IconInput | IconInput[] | IconsMap;
196
- type MetadataMergeEntry = {
196
+ export type MetadataMergeEntry = {
197
197
  contributesTitle?: boolean;
198
198
  isPage?: boolean;
199
199
  metadata: Metadata;
@@ -209,7 +209,7 @@ type MetadataMergeEntry = {
209
209
  *
210
210
  * Shallow merge: later entries override earlier ones (per Next.js docs).
211
211
  */
212
- declare function mergeMetadata(metadataList: Metadata[]): Metadata;
212
+ export declare function mergeMetadata(metadataList: Metadata[]): Metadata;
213
213
  /**
214
214
  * Post-process merged metadata to cross-fill openGraph and Twitter fields.
215
215
  *
@@ -222,7 +222,7 @@ declare function mergeMetadata(metadataList: Metadata[]): Metadata;
222
222
  * Ported from Next.js:
223
223
  * https://github.com/vercel/next.js/blob/canary/packages/next/src/lib/metadata/resolve-metadata.ts
224
224
  */
225
- declare function postProcessMetadata(merged: Metadata): Metadata;
225
+ export declare function postProcessMetadata(merged: Metadata): Metadata;
226
226
  /**
227
227
  * Merge metadata from multiple sources (layouts + page).
228
228
  *
@@ -235,7 +235,7 @@ declare function postProcessMetadata(merged: Metadata): Metadata;
235
235
  * For top-level keys, later entries override earlier ones. `other` custom meta
236
236
  * tags are the exception: Next.js merges those across segments.
237
237
  */
238
- declare function mergeMetadataEntries(entries: readonly MetadataMergeEntry[]): Metadata;
238
+ export declare function mergeMetadataEntries(entries: readonly MetadataMergeEntry[]): Metadata;
239
239
  /**
240
240
  * Resolve metadata from a module. Handles both static `metadata` export
241
241
  * and async `generateMetadata()` function.
@@ -246,17 +246,16 @@ declare function mergeMetadataEntries(entries: readonly MetadataMergeEntry[]): M
246
246
  * resolution approach. If not provided, defaults to a promise that resolves
247
247
  * to an empty object (so `await parent` never throws).
248
248
  */
249
- declare function resolveModuleMetadata(mod: Record<string, unknown>, params?: Record<string, string | string[]>, searchParams?: Record<string, string | string[]>, parent?: Promise<Metadata>, searchParamsObserver?: ThenableParamsObserver): Promise<Metadata | null>;
249
+ export declare function resolveModuleMetadata(mod: Record<string, unknown>, params?: Record<string, string | string[]>, searchParams?: Record<string, string | string[]>, parent?: Promise<Metadata>, searchParamsObserver?: ThenableParamsObserver): Promise<Metadata | null>;
250
250
  type MetadataHeadProps = {
251
251
  metadata: Metadata;
252
252
  pathname?: string;
253
253
  trailingSlash?: boolean;
254
254
  streamedIconKey?: string;
255
255
  };
256
- declare function renderMetadataToHtml(metadata: Metadata, pathname?: string, options?: {
256
+ export declare function renderMetadataToHtml(metadata: Metadata, pathname?: string, options?: {
257
257
  trailingSlash?: boolean;
258
258
  streamedIconKey?: string;
259
259
  }): string;
260
- declare function MetadataHead({ metadata, pathname, trailingSlash, streamedIconKey }: MetadataHeadProps): React.JSX.Element;
261
- //#endregion
262
- export { DEFAULT_VIEWPORT, Metadata, MetadataHead, MetadataMergeEntry, ResolvedViewport, Viewport, ViewportHead, mergeMetadata, mergeMetadataEntries, mergeViewport, postProcessMetadata, renderMetadataToHtml, resolveModuleMetadata, resolveModuleViewport };
260
+ export declare function MetadataHead({ metadata, pathname, trailingSlash, streamedIconKey }: MetadataHeadProps): React.JSX.Element;
261
+ //#endregion
@@ -1,5 +1,6 @@
1
1
  import { isAbsoluteOrProtocolRelativeUrl } from "./url-utils.js";
2
2
  import { makeThenableParams } from "./thenable-params.js";
3
+ import { withUseCachePageMarker } from "./internal/app-page-props-cache-key.js";
3
4
  import React from "react";
4
5
  import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
5
6
  //#region src/shims/metadata.tsx
@@ -18,10 +19,10 @@ const USE_CACHE_ACCEPTS_SECOND_ARGUMENT_SYMBOL = Symbol.for("vinext.useCacheAcce
18
19
  async function resolveModuleViewport(mod, params = {}, searchParams, parent = Promise.resolve(mergeViewport([])), searchParamsObserver) {
19
20
  if (typeof mod.generateViewport === "function") {
20
21
  const asyncParams = makeThenableParams(params);
21
- const props = searchParams === void 0 ? { params: asyncParams } : {
22
+ const props = searchParams === void 0 ? { params: asyncParams } : withUseCachePageMarker(mod.generateViewport, {
22
23
  params: asyncParams,
23
24
  searchParams: makeThenableParams(searchParams, searchParamsObserver)
24
- };
25
+ });
25
26
  return await mod.generateViewport(props, parent);
26
27
  }
27
28
  if (mod.viewport && typeof mod.viewport === "object") return mod.viewport;
@@ -67,10 +68,7 @@ function mergeViewport(viewportList) {
67
68
  case "viewportFit":
68
69
  merged.viewportFit = viewport.viewportFit;
69
70
  break;
70
- case "interactiveWidget":
71
- merged.interactiveWidget = viewport.interactiveWidget;
72
- break;
73
- default:
71
+ case "interactiveWidget": merged.interactiveWidget = viewport.interactiveWidget;
74
72
  }
75
73
  return merged;
76
74
  }
@@ -197,11 +195,13 @@ function postProcessMetadata(merged) {
197
195
  }
198
196
  if (!hasTwDescription) autoFill.description = result.openGraph.description || result.description || void 0;
199
197
  if (!hasTwImages && result.openGraph.images !== void 0) autoFill.images = result.openGraph.images;
200
- if (Object.keys(autoFill).length > 0) if (existingTwitter) result.twitter = {
201
- ...existingTwitter,
202
- ...autoFill
203
- };
204
- else result.twitter = autoFill;
198
+ if (Object.keys(autoFill).length > 0) {
199
+ if (existingTwitter) result.twitter = {
200
+ ...existingTwitter,
201
+ ...autoFill
202
+ };
203
+ else result.twitter = autoFill;
204
+ }
205
205
  }
206
206
  if (result.twitter) {
207
207
  const tw = { ...result.twitter };
@@ -268,10 +268,10 @@ async function resolveModuleMetadata(mod, params = {}, searchParams, parent = Pr
268
268
  if (typeof mod.generateMetadata === "function") {
269
269
  const generateMetadata = mod.generateMetadata;
270
270
  const asyncParams = makeThenableParams(params);
271
- const props = searchParams === void 0 ? { params: asyncParams } : {
271
+ const props = searchParams === void 0 ? { params: asyncParams } : withUseCachePageMarker(generateMetadata, {
272
272
  params: asyncParams,
273
273
  searchParams: makeThenableParams(searchParams, searchParamsObserver)
274
- };
274
+ });
275
275
  const isUseCacheFunction = Reflect.get(generateMetadata, USE_CACHE_FUNCTION_SYMBOL) === true;
276
276
  const acceptsSecondArgument = Reflect.get(generateMetadata, USE_CACHE_ACCEPTS_SECOND_ARGUMENT_SYMBOL);
277
277
  return await (!isUseCacheFunction || (typeof acceptsSecondArgument === "boolean" ? acceptsSecondArgument : generateMetadata.length >= 2) ? generateMetadata(props, parent) : generateMetadata(props));
@@ -509,33 +509,37 @@ function MetadataHead({ metadata, pathname = "/", trailingSlash, streamedIconKey
509
509
  name: "category",
510
510
  content: metadata.category
511
511
  }, key++));
512
- if (metadata.robots) if (typeof metadata.robots === "string") elements.push(/* @__PURE__ */ jsx("meta", {
513
- name: "robots",
514
- content: metadata.robots
515
- }, key++));
516
- else {
517
- const { googleBot, ...robotsRest } = metadata.robots;
518
- const robotParts = [];
519
- for (const [k, v] of Object.entries(robotsRest)) if (v === true) robotParts.push(k);
520
- else if (v === false) robotParts.push(`no${k}`);
521
- else if (typeof v === "string" || typeof v === "number") robotParts.push(`${k}:${v}`);
522
- if (robotParts.length > 0) elements.push(/* @__PURE__ */ jsx("meta", {
512
+ if (metadata.robots) {
513
+ if (typeof metadata.robots === "string") elements.push(/* @__PURE__ */ jsx("meta", {
523
514
  name: "robots",
524
- content: robotParts.join(", ")
525
- }, key++));
526
- if (googleBot) if (typeof googleBot === "string") elements.push(/* @__PURE__ */ jsx("meta", {
527
- name: "googlebot",
528
- content: googleBot
515
+ content: metadata.robots
529
516
  }, key++));
530
517
  else {
531
- const gbParts = [];
532
- for (const [k, v] of Object.entries(googleBot)) if (v === true) gbParts.push(k);
533
- else if (v === false) gbParts.push(`no${k}`);
534
- else if (typeof v === "string" || typeof v === "number") gbParts.push(`${k}:${v}`);
535
- if (gbParts.length > 0) elements.push(/* @__PURE__ */ jsx("meta", {
536
- name: "googlebot",
537
- content: gbParts.join(", ")
518
+ const { googleBot, ...robotsRest } = metadata.robots;
519
+ const robotParts = [];
520
+ for (const [k, v] of Object.entries(robotsRest)) if (v === true) robotParts.push(k);
521
+ else if (v === false) robotParts.push(`no${k}`);
522
+ else if (typeof v === "string" || typeof v === "number") robotParts.push(`${k}:${v}`);
523
+ if (robotParts.length > 0) elements.push(/* @__PURE__ */ jsx("meta", {
524
+ name: "robots",
525
+ content: robotParts.join(", ")
538
526
  }, key++));
527
+ if (googleBot) {
528
+ if (typeof googleBot === "string") elements.push(/* @__PURE__ */ jsx("meta", {
529
+ name: "googlebot",
530
+ content: googleBot
531
+ }, key++));
532
+ else {
533
+ const gbParts = [];
534
+ for (const [k, v] of Object.entries(googleBot)) if (v === true) gbParts.push(k);
535
+ else if (v === false) gbParts.push(`no${k}`);
536
+ else if (typeof v === "string" || typeof v === "number") gbParts.push(`${k}:${v}`);
537
+ if (gbParts.length > 0) elements.push(/* @__PURE__ */ jsx("meta", {
538
+ name: "googlebot",
539
+ content: gbParts.join(", ")
540
+ }, key++));
541
+ }
542
+ }
539
543
  }
540
544
  }
541
545
  if (metadata.openGraph) {
@@ -0,0 +1,9 @@
1
+ //#region src/shims/navigation-context-accessors.d.ts
2
+ export type NavigationContext = {
3
+ pathname: string;
4
+ searchParams: URLSearchParams;
5
+ params: Record<string, string | string[]>;
6
+ };
7
+ /** Lightweight server context setter for request-only runtimes such as middleware. */
8
+ export declare function setNavigationContext(context: NavigationContext | null): void;
9
+ //#endregion
@@ -0,0 +1,19 @@
1
+ //#region src/shims/navigation-context-accessors.ts
2
+ const GLOBAL_ACCESSORS_KEY = Symbol.for("vinext.navigation.globalAccessors");
3
+ const NAVIGATION_FALLBACK_STATE_KEY = Symbol.for("vinext.navigation.fallback");
4
+ /** Lightweight server context setter for request-only runtimes such as middleware. */
5
+ function setNavigationContext(context) {
6
+ const globalState = globalThis;
7
+ const accessors = globalState[GLOBAL_ACCESSORS_KEY];
8
+ if (accessors) {
9
+ accessors.setServerContext(context);
10
+ return;
11
+ }
12
+ const fallback = globalState[NAVIGATION_FALLBACK_STATE_KEY] ??= {
13
+ serverContext: null,
14
+ serverInsertedHTMLCallbacks: []
15
+ };
16
+ fallback.serverContext = context;
17
+ }
18
+ //#endregion
19
+ export { setNavigationContext };
@@ -1,13 +1,14 @@
1
+ import { SearchParamsGate } from "./search-params-gate.js";
1
2
  import * as React$1 from "react";
2
3
  //#region src/shims/navigation-context-state.d.ts
3
4
  /**
4
5
  * Map of parallel route key to child segments below the current layout.
5
6
  * The "children" key is always present.
6
7
  */
7
- type SegmentMap = Readonly<Record<string, string[]>> & {
8
+ export type SegmentMap = Readonly<Record<string, string[]>> & {
8
9
  readonly children: string[];
9
10
  };
10
- type NavigationContext = {
11
+ export type NavigationContext = {
11
12
  pathname: string;
12
13
  searchParams: URLSearchParams;
13
14
  params: Record<string, string | string[]>;
@@ -15,29 +16,37 @@ type NavigationContext = {
15
16
  isStaticGeneration?: boolean;
16
17
  /** `dynamic = "force-static"` suppresses the static useSearchParams bailout. */
17
18
  isForceStatic?: boolean;
19
+ /** SSR-only: set for a cache-candidate render. See `search-params-gate.ts`. */
20
+ searchParamsGate?: SearchParamsGate;
21
+ /**
22
+ * SSR-only: the `searchParams` a client page receives, one promise per page
23
+ * for the render, so `use()` keeps seeing the same promise and React's
24
+ * bookkeeping from one page's `use()` never reaches another. See
25
+ * `client-page-root.tsx`.
26
+ */
27
+ getClientPageSearchParams?: (pageProps: object) => Promise<Record<string, string | string[]>>;
18
28
  };
19
- declare const ServerInsertedHTMLContext: React$1.Context<((callback: () => React$1.ReactNode) => void) | null> | null;
20
- declare function getLayoutSegmentContext(): React$1.Context<SegmentMap> | null;
21
- declare function getBfcacheIdMapContext(): React$1.Context<Readonly<Record<string, string>> | null> | null;
22
- declare function getBfcacheSegmentIdContext(): React$1.Context<string | null> | null;
23
- type NavigationStateAccessors = {
29
+ export declare const ServerInsertedHTMLContext: React$1.Context<((callback: () => React$1.ReactNode) => void) | null> | null;
30
+ export declare function getLayoutSegmentContext(): React$1.Context<SegmentMap> | null;
31
+ export declare function getBfcacheIdMapContext(): React$1.Context<Readonly<Record<string, string>> | null> | null;
32
+ export declare function getBfcacheSegmentIdContext(): React$1.Context<string | null> | null;
33
+ export type NavigationStateAccessors = {
24
34
  getServerContext: () => NavigationContext | null;
25
35
  setServerContext: (context: NavigationContext | null) => void;
26
36
  getInsertedHTMLCallbacks: () => Array<() => unknown>;
27
37
  clearInsertedHTMLCallbacks: () => void;
28
38
  };
29
- declare const GLOBAL_ACCESSORS_KEY: unique symbol;
30
- declare function clearClientHydrationContext(): void;
39
+ export declare const GLOBAL_ACCESSORS_KEY: unique symbol;
40
+ export declare function clearClientHydrationContext(): void;
31
41
  /**
32
42
  * Register request-scoped accessors supplied by navigation-state.ts.
33
43
  * The global accessor key also bridges separate Vite module instances.
34
44
  */
35
- declare function _registerStateAccessors(accessors: NavigationStateAccessors): void;
36
- declare function getNavigationContext(): NavigationContext | null;
37
- declare function setNavigationContext(context: NavigationContext | null): void;
38
- declare function registerServerInsertedHTMLCallback(callback: () => unknown): void;
39
- declare function flushServerInsertedHTML(): unknown[];
40
- declare function renderServerInsertedHTML(): unknown[];
41
- declare function clearServerInsertedHTML(): void;
42
- //#endregion
43
- export { GLOBAL_ACCESSORS_KEY, NavigationContext, NavigationStateAccessors, SegmentMap, ServerInsertedHTMLContext, _registerStateAccessors, clearClientHydrationContext, clearServerInsertedHTML, flushServerInsertedHTML, getBfcacheIdMapContext, getBfcacheSegmentIdContext, getLayoutSegmentContext, getNavigationContext, registerServerInsertedHTMLCallback, renderServerInsertedHTML, setNavigationContext };
45
+ export declare function _registerStateAccessors(accessors: NavigationStateAccessors): void;
46
+ export declare function getNavigationContext(): NavigationContext | null;
47
+ export declare function setNavigationContext(context: NavigationContext | null): void;
48
+ export declare function registerServerInsertedHTMLCallback(callback: () => unknown): void;
49
+ export declare function flushServerInsertedHTML(): unknown[];
50
+ export declare function renderServerInsertedHTML(): unknown[];
51
+ export declare function clearServerInsertedHTML(): void;
52
+ //#endregion