vinext 0.0.54 → 0.1.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 (977) hide show
  1. package/README.md +52 -15
  2. package/dist/build/clean-output.d.ts +1 -2
  3. package/dist/build/clean-output.js +0 -2
  4. package/dist/build/client-build-config.d.ts +16 -3
  5. package/dist/build/client-build-config.js +29 -4
  6. package/dist/build/css-url-assets.d.ts +29 -0
  7. package/dist/build/css-url-assets.js +211 -0
  8. package/dist/build/google-fonts/build-url.d.ts +1 -2
  9. package/dist/build/google-fonts/build-url.js +0 -2
  10. package/dist/build/google-fonts/fallback-metrics-data.js +0 -2
  11. package/dist/build/google-fonts/fallback-metrics.d.ts +1 -2
  12. package/dist/build/google-fonts/fallback-metrics.js +0 -2
  13. package/dist/build/google-fonts/font-data.js +0 -2
  14. package/dist/build/google-fonts/font-metadata.d.ts +1 -2
  15. package/dist/build/google-fonts/font-metadata.js +0 -2
  16. package/dist/build/google-fonts/get-axes.d.ts +1 -2
  17. package/dist/build/google-fonts/get-axes.js +0 -2
  18. package/dist/build/google-fonts/sort-variants.d.ts +1 -2
  19. package/dist/build/google-fonts/sort-variants.js +0 -2
  20. package/dist/build/google-fonts/validate.d.ts +1 -2
  21. package/dist/build/google-fonts/validate.js +0 -2
  22. package/dist/build/inline-css.d.ts +1 -2
  23. package/dist/build/inline-css.js +0 -2
  24. package/dist/build/layout-classification-types.d.ts +1 -2
  25. package/dist/build/layout-classification.d.ts +2 -3
  26. package/dist/build/layout-classification.js +1 -3
  27. package/dist/build/next-client-runtime-manifests.d.ts +14 -0
  28. package/dist/build/next-client-runtime-manifests.js +39 -0
  29. package/dist/build/nitro-route-rules.d.ts +1 -2
  30. package/dist/build/nitro-route-rules.js +0 -2
  31. package/dist/build/precompress.d.ts +1 -2
  32. package/dist/build/precompress.js +0 -2
  33. package/dist/build/prerender.d.ts +2 -3
  34. package/dist/build/prerender.js +14 -2
  35. package/dist/build/report.d.ts +1 -2
  36. package/dist/build/report.js +0 -2
  37. package/dist/build/route-classification-injector.d.ts +1 -2
  38. package/dist/build/route-classification-injector.js +4 -6
  39. package/dist/build/route-classification-manifest.d.ts +5 -6
  40. package/dist/build/route-classification-manifest.js +5 -7
  41. package/dist/build/run-prerender.d.ts +1 -2
  42. package/dist/build/run-prerender.js +15 -7
  43. package/dist/build/server-manifest.d.ts +1 -2
  44. package/dist/build/server-manifest.js +0 -2
  45. package/dist/build/ssr-manifest.d.ts +1 -2
  46. package/dist/build/ssr-manifest.js +2 -4
  47. package/dist/build/standalone.d.ts +1 -2
  48. package/dist/build/standalone.js +0 -2
  49. package/dist/build/static-export.d.ts +2 -3
  50. package/dist/build/static-export.js +0 -2
  51. package/dist/cache/cache-adapters-virtual.d.ts +50 -0
  52. package/dist/cache/cache-adapters-virtual.js +45 -0
  53. package/dist/check.d.ts +33 -2
  54. package/dist/check.js +321 -27
  55. package/dist/cli-args.d.ts +1 -2
  56. package/dist/cli-args.js +0 -2
  57. package/dist/cli.js +7 -13
  58. package/dist/client/instrumentation-client-inject.d.ts +1 -2
  59. package/dist/client/instrumentation-client-inject.js +0 -2
  60. package/dist/client/instrumentation-client-state.d.ts +1 -2
  61. package/dist/client/instrumentation-client-state.js +0 -2
  62. package/dist/client/instrumentation-client.d.ts +1 -2
  63. package/dist/client/instrumentation-client.js +0 -2
  64. package/dist/client/navigation-runtime.d.ts +2 -2
  65. package/dist/client/navigation-runtime.js +1 -3
  66. package/dist/client/pages-router-link-navigation.d.ts +1 -2
  67. package/dist/client/pages-router-link-navigation.js +0 -2
  68. package/dist/client/validate-module-path.d.ts +1 -2
  69. package/dist/client/validate-module-path.js +0 -2
  70. package/dist/client/vinext-next-data.d.ts +1 -2
  71. package/dist/client/vinext-next-data.js +0 -2
  72. package/dist/client/window-next.d.ts +1 -2
  73. package/dist/client/window-next.js +0 -2
  74. package/dist/cloudflare/index.d.ts +1 -1
  75. package/dist/cloudflare/index.js +1 -1
  76. package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +97 -0
  77. package/dist/cloudflare/{kv-cache-handler.d.ts → src/cache/kv-data-adapter.runtime.d.ts} +25 -6
  78. package/dist/cloudflare/{kv-cache-handler.js → src/cache/kv-data-adapter.runtime.js} +36 -28
  79. package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
  80. package/dist/cloudflare/tpr.d.ts +2 -3
  81. package/dist/cloudflare/tpr.js +8 -8
  82. package/dist/config/config-matchers.d.ts +1 -2
  83. package/dist/config/config-matchers.js +0 -2
  84. package/dist/config/dotenv.d.ts +1 -2
  85. package/dist/config/dotenv.js +0 -2
  86. package/dist/config/next-config.d.ts +30 -3
  87. package/dist/config/next-config.js +47 -8
  88. package/dist/config/tsconfig-paths.d.ts +12 -4
  89. package/dist/config/tsconfig-paths.js +58 -31
  90. package/dist/deploy.d.ts +48 -3
  91. package/dist/deploy.js +141 -112
  92. package/dist/entries/app-browser-entry.d.ts +1 -2
  93. package/dist/entries/app-browser-entry.js +0 -2
  94. package/dist/entries/app-rsc-entry.d.ts +6 -5
  95. package/dist/entries/app-rsc-entry.js +62 -61
  96. package/dist/entries/app-rsc-manifest.d.ts +1 -2
  97. package/dist/entries/app-rsc-manifest.js +42 -12
  98. package/dist/entries/app-ssr-entry.d.ts +1 -2
  99. package/dist/entries/app-ssr-entry.js +0 -2
  100. package/dist/entries/pages-client-entry.d.ts +3 -3
  101. package/dist/entries/pages-client-entry.js +16 -5
  102. package/dist/entries/pages-entry-helpers.d.ts +2 -11
  103. package/dist/entries/pages-entry-helpers.js +1 -20
  104. package/dist/entries/pages-server-entry.d.ts +2 -3
  105. package/dist/entries/pages-server-entry.js +94 -670
  106. package/dist/entries/runtime-entry-module.d.ts +1 -2
  107. package/dist/entries/runtime-entry-module.js +0 -2
  108. package/dist/index.d.ts +22 -2
  109. package/dist/index.js +297 -140
  110. package/dist/init.d.ts +1 -2
  111. package/dist/init.js +1 -3
  112. package/dist/plugins/ast-utils.d.ts +20 -0
  113. package/dist/plugins/ast-utils.js +78 -0
  114. package/dist/plugins/async-hooks-stub.d.ts +1 -2
  115. package/dist/plugins/async-hooks-stub.js +0 -2
  116. package/dist/plugins/client-reference-dedup.d.ts +1 -2
  117. package/dist/plugins/client-reference-dedup.js +4 -8
  118. package/dist/plugins/css-data-url.d.ts +1 -2
  119. package/dist/plugins/css-data-url.js +0 -2
  120. package/dist/plugins/fonts.d.ts +13 -3
  121. package/dist/plugins/fonts.js +19 -13
  122. package/dist/plugins/import-meta-url.d.ts +16 -0
  123. package/dist/plugins/import-meta-url.js +347 -0
  124. package/dist/plugins/instrumentation-client.d.ts +1 -2
  125. package/dist/plugins/instrumentation-client.js +0 -2
  126. package/dist/plugins/middleware-server-only.d.ts +1 -2
  127. package/dist/plugins/middleware-server-only.js +0 -2
  128. package/dist/plugins/og-assets.d.ts +32 -8
  129. package/dist/plugins/og-assets.js +126 -34
  130. package/dist/plugins/optimize-imports.d.ts +1 -2
  131. package/dist/plugins/optimize-imports.js +9 -17
  132. package/dist/plugins/postcss.d.ts +1 -2
  133. package/dist/plugins/postcss.js +0 -2
  134. package/dist/plugins/remove-console.d.ts +1 -2
  135. package/dist/plugins/remove-console.js +0 -2
  136. package/dist/plugins/rsc-client-reference-loaders.d.ts +1 -2
  137. package/dist/plugins/rsc-client-reference-loaders.js +0 -2
  138. package/dist/plugins/rsc-client-shim-excludes.d.ts +1 -2
  139. package/dist/plugins/rsc-client-shim-excludes.js +0 -2
  140. package/dist/plugins/sass.d.ts +1 -2
  141. package/dist/plugins/sass.js +0 -2
  142. package/dist/plugins/server-externals-manifest.d.ts +1 -2
  143. package/dist/plugins/server-externals-manifest.js +0 -2
  144. package/dist/plugins/strip-server-exports.d.ts +1 -2
  145. package/dist/plugins/strip-server-exports.js +0 -2
  146. package/dist/routing/app-route-graph.d.ts +2 -9
  147. package/dist/routing/app-route-graph.js +9 -30
  148. package/dist/routing/app-router.d.ts +1 -2
  149. package/dist/routing/app-router.js +0 -2
  150. package/dist/routing/file-matcher.d.ts +6 -2
  151. package/dist/routing/file-matcher.js +15 -7
  152. package/dist/routing/pages-router.d.ts +1 -2
  153. package/dist/routing/pages-router.js +0 -2
  154. package/dist/routing/route-matching.d.ts +1 -2
  155. package/dist/routing/route-matching.js +0 -2
  156. package/dist/routing/route-pattern.d.ts +1 -2
  157. package/dist/routing/route-pattern.js +0 -2
  158. package/dist/routing/route-trie.d.ts +1 -2
  159. package/dist/routing/route-trie.js +0 -2
  160. package/dist/routing/route-validation.d.ts +1 -2
  161. package/dist/routing/route-validation.js +0 -2
  162. package/dist/routing/utils.d.ts +44 -2
  163. package/dist/routing/utils.js +62 -3
  164. package/dist/server/api-handler.d.ts +1 -2
  165. package/dist/server/api-handler.js +0 -2
  166. package/dist/server/app-bfcache-id.d.ts +5 -0
  167. package/dist/server/app-bfcache-id.js +5 -0
  168. package/dist/server/app-browser-action-result.d.ts +9 -17
  169. package/dist/server/app-browser-action-result.js +25 -16
  170. package/dist/server/app-browser-client-reuse-manifest.d.ts +12 -0
  171. package/dist/server/app-browser-client-reuse-manifest.js +101 -0
  172. package/dist/server/app-browser-entry.js +352 -115
  173. package/dist/server/app-browser-error.d.ts +1 -2
  174. package/dist/server/app-browser-error.js +0 -2
  175. package/dist/server/app-browser-hydration.d.ts +1 -2
  176. package/dist/server/app-browser-hydration.js +0 -2
  177. package/dist/server/app-browser-interception-context.d.ts +1 -2
  178. package/dist/server/app-browser-interception-context.js +0 -2
  179. package/dist/server/app-browser-mpa-navigation.d.ts +16 -0
  180. package/dist/server/app-browser-mpa-navigation.js +42 -0
  181. package/dist/server/app-browser-navigation-controller.d.ts +5 -4
  182. package/dist/server/app-browser-navigation-controller.js +3 -3
  183. package/dist/server/app-browser-popstate.d.ts +4 -3
  184. package/dist/server/app-browser-popstate.js +15 -3
  185. package/dist/server/app-browser-rsc-redirect.d.ts +1 -2
  186. package/dist/server/app-browser-rsc-redirect.js +0 -2
  187. package/dist/server/app-browser-state.d.ts +28 -4
  188. package/dist/server/app-browser-state.js +195 -11
  189. package/dist/server/app-browser-stream.d.ts +1 -2
  190. package/dist/server/app-browser-stream.js +0 -2
  191. package/dist/server/app-browser-visible-commit.d.ts +2 -3
  192. package/dist/server/app-browser-visible-commit.js +24 -17
  193. package/dist/server/app-client-reference-preloader.d.ts +1 -2
  194. package/dist/server/app-client-reference-preloader.js +0 -2
  195. package/dist/server/app-elements-wire.d.ts +14 -8
  196. package/dist/server/app-elements-wire.js +45 -24
  197. package/dist/server/app-elements.d.ts +2 -3
  198. package/dist/server/app-elements.js +2 -4
  199. package/dist/server/app-fallback-renderer.d.ts +5 -5
  200. package/dist/server/app-fallback-renderer.js +4 -3
  201. package/dist/server/app-history-state.d.ts +18 -2
  202. package/dist/server/app-history-state.js +68 -10
  203. package/dist/server/app-hook-warning-suppression.d.ts +1 -2
  204. package/dist/server/app-hook-warning-suppression.js +0 -2
  205. package/dist/server/app-inline-css-client.d.ts +1 -2
  206. package/dist/server/app-inline-css-client.js +0 -2
  207. package/dist/server/app-interception-context-header.d.ts +1 -2
  208. package/dist/server/app-interception-context-header.js +0 -2
  209. package/dist/server/app-layout-param-observation.d.ts +43 -0
  210. package/dist/server/app-layout-param-observation.js +168 -0
  211. package/dist/server/app-middleware.d.ts +1 -2
  212. package/dist/server/app-middleware.js +0 -2
  213. package/dist/server/app-mounted-slots-header.d.ts +1 -2
  214. package/dist/server/app-mounted-slots-header.js +0 -2
  215. package/dist/server/app-optimistic-routing.d.ts +1 -2
  216. package/dist/server/app-optimistic-routing.js +0 -2
  217. package/dist/server/app-page-boundary-render.d.ts +4 -3
  218. package/dist/server/app-page-boundary-render.js +20 -11
  219. package/dist/server/app-page-boundary.d.ts +11 -2
  220. package/dist/server/app-page-boundary.js +13 -4
  221. package/dist/server/app-page-cache.d.ts +3 -3
  222. package/dist/server/app-page-cache.js +36 -11
  223. package/dist/server/app-page-dispatch.d.ts +19 -5
  224. package/dist/server/app-page-dispatch.js +119 -24
  225. package/dist/server/app-page-element-builder.d.ts +3 -2
  226. package/dist/server/app-page-element-builder.js +9 -11
  227. package/dist/server/app-page-execution.d.ts +8 -3
  228. package/dist/server/app-page-execution.js +55 -24
  229. package/dist/server/app-page-head.d.ts +1 -2
  230. package/dist/server/app-page-head.js +6 -6
  231. package/dist/server/app-page-method.d.ts +1 -2
  232. package/dist/server/app-page-method.js +0 -2
  233. package/dist/server/app-page-params.d.ts +2 -2
  234. package/dist/server/app-page-params.js +14 -3
  235. package/dist/server/app-page-probe.d.ts +90 -2
  236. package/dist/server/app-page-probe.js +201 -6
  237. package/dist/server/app-page-render-identity.d.ts +1 -2
  238. package/dist/server/app-page-render-identity.js +0 -2
  239. package/dist/server/app-page-render-observation.d.ts +1 -2
  240. package/dist/server/app-page-render-observation.js +0 -2
  241. package/dist/server/app-page-render.d.ts +9 -3
  242. package/dist/server/app-page-render.js +167 -10
  243. package/dist/server/app-page-request.d.ts +4 -3
  244. package/dist/server/app-page-request.js +1 -3
  245. package/dist/server/app-page-response.d.ts +2 -2
  246. package/dist/server/app-page-response.js +5 -3
  247. package/dist/server/app-page-route-wiring.d.ts +14 -3
  248. package/dist/server/app-page-route-wiring.js +63 -11
  249. package/dist/server/app-page-search-params-observation.d.ts +10 -0
  250. package/dist/server/app-page-search-params-observation.js +20 -0
  251. package/dist/server/app-page-segment-state.d.ts +1 -2
  252. package/dist/server/app-page-segment-state.js +1 -8
  253. package/dist/server/app-page-stream.d.ts +19 -9
  254. package/dist/server/app-page-stream.js +28 -10
  255. package/dist/server/app-pages-bridge.d.ts +25 -0
  256. package/dist/server/app-pages-bridge.js +34 -0
  257. package/dist/server/app-post-middleware-context.d.ts +1 -2
  258. package/dist/server/app-post-middleware-context.js +0 -2
  259. package/dist/server/app-ppr-fallback-shell.d.ts +21 -0
  260. package/dist/server/app-ppr-fallback-shell.js +82 -0
  261. package/dist/server/app-prerender-endpoints.d.ts +1 -2
  262. package/dist/server/app-prerender-endpoints.js +0 -2
  263. package/dist/server/app-prerender-static-params.d.ts +15 -2
  264. package/dist/server/app-prerender-static-params.js +44 -13
  265. package/dist/server/app-render-dependency.d.ts +3 -2
  266. package/dist/server/app-render-dependency.js +9 -3
  267. package/dist/server/app-request-context.d.ts +1 -2
  268. package/dist/server/app-request-context.js +0 -2
  269. package/dist/server/app-route-handler-cache.d.ts +1 -2
  270. package/dist/server/app-route-handler-cache.js +0 -2
  271. package/dist/server/app-route-handler-dispatch.d.ts +1 -2
  272. package/dist/server/app-route-handler-dispatch.js +0 -2
  273. package/dist/server/app-route-handler-execution.d.ts +1 -2
  274. package/dist/server/app-route-handler-execution.js +2 -4
  275. package/dist/server/app-route-handler-policy.d.ts +1 -2
  276. package/dist/server/app-route-handler-policy.js +0 -2
  277. package/dist/server/app-route-handler-response.d.ts +2 -3
  278. package/dist/server/app-route-handler-response.js +8 -7
  279. package/dist/server/app-route-handler-runtime.d.ts +1 -2
  280. package/dist/server/app-route-handler-runtime.js +0 -2
  281. package/dist/server/app-route-module-loader.d.ts +43 -0
  282. package/dist/server/app-route-module-loader.js +32 -0
  283. package/dist/server/app-router-entry.d.ts +1 -2
  284. package/dist/server/app-router-entry.js +2 -2
  285. package/dist/server/app-rsc-cache-busting.d.ts +12 -3
  286. package/dist/server/app-rsc-cache-busting.js +21 -10
  287. package/dist/server/app-rsc-embedded-chunks.d.ts +1 -2
  288. package/dist/server/app-rsc-embedded-chunks.js +0 -2
  289. package/dist/server/app-rsc-error-handler.d.ts +1 -2
  290. package/dist/server/app-rsc-error-handler.js +0 -2
  291. package/dist/server/app-rsc-errors.d.ts +1 -2
  292. package/dist/server/app-rsc-errors.js +0 -2
  293. package/dist/server/app-rsc-handler.d.ts +16 -2
  294. package/dist/server/app-rsc-handler.js +32 -14
  295. package/dist/server/app-rsc-render-mode.d.ts +1 -2
  296. package/dist/server/app-rsc-render-mode.js +0 -2
  297. package/dist/server/app-rsc-request-normalization.d.ts +4 -5
  298. package/dist/server/app-rsc-request-normalization.js +2 -4
  299. package/dist/server/app-rsc-response-finalizer.d.ts +1 -2
  300. package/dist/server/app-rsc-response-finalizer.js +2 -2
  301. package/dist/server/app-rsc-route-matching.d.ts +1 -2
  302. package/dist/server/app-rsc-route-matching.js +0 -2
  303. package/dist/server/app-segment-config.d.ts +5 -3
  304. package/dist/server/app-segment-config.js +12 -3
  305. package/dist/server/app-server-action-execution.d.ts +12 -2
  306. package/dist/server/app-server-action-execution.js +200 -25
  307. package/dist/server/app-ssr-entry.d.ts +5 -4
  308. package/dist/server/app-ssr-entry.js +31 -15
  309. package/dist/server/app-ssr-error-meta.d.ts +1 -2
  310. package/dist/server/app-ssr-error-meta.js +0 -2
  311. package/dist/server/app-ssr-stream.d.ts +1 -2
  312. package/dist/server/app-ssr-stream.js +31 -3
  313. package/dist/server/app-static-generation.d.ts +1 -2
  314. package/dist/server/app-static-generation.js +0 -2
  315. package/dist/server/app-visited-response-cache.d.ts +23 -0
  316. package/dist/server/app-visited-response-cache.js +19 -0
  317. package/dist/server/artifact-compatibility.d.ts +2 -2
  318. package/dist/server/artifact-compatibility.js +12 -7
  319. package/dist/server/cache-control.d.ts +15 -2
  320. package/dist/server/cache-control.js +21 -3
  321. package/dist/server/cache-headers.d.ts +1 -2
  322. package/dist/server/cache-headers.js +0 -2
  323. package/dist/server/cache-proof.d.ts +1 -2
  324. package/dist/server/cache-proof.js +0 -2
  325. package/dist/server/client-reuse-manifest.d.ts +10 -5
  326. package/dist/server/client-reuse-manifest.js +7 -10
  327. package/dist/server/client-trace-metadata.d.ts +1 -2
  328. package/dist/server/client-trace-metadata.js +0 -2
  329. package/dist/server/cookie-utils.d.ts +1 -2
  330. package/dist/server/cookie-utils.js +0 -2
  331. package/dist/server/csp.d.ts +1 -2
  332. package/dist/server/csp.js +0 -2
  333. package/dist/server/default-global-error-module.d.ts +1 -2
  334. package/dist/server/default-global-error-module.js +0 -2
  335. package/dist/server/default-not-found-module.d.ts +1 -2
  336. package/dist/server/default-not-found-module.js +0 -2
  337. package/dist/server/dev-error-overlay-store.d.ts +20 -4
  338. package/dist/server/dev-error-overlay-store.js +23 -4
  339. package/dist/server/dev-error-overlay.d.ts +39 -3
  340. package/dist/server/dev-error-overlay.js +952 -164
  341. package/dist/server/dev-initial-server-error.d.ts +9 -0
  342. package/dist/server/dev-initial-server-error.js +26 -0
  343. package/dist/server/dev-lockfile.d.ts +1 -2
  344. package/dist/server/dev-lockfile.js +0 -2
  345. package/dist/server/dev-module-runner.d.ts +1 -2
  346. package/dist/server/dev-module-runner.js +0 -2
  347. package/dist/server/dev-origin-check.d.ts +1 -2
  348. package/dist/server/dev-origin-check.js +0 -2
  349. package/dist/server/dev-route-files.d.ts +1 -2
  350. package/dist/server/dev-route-files.js +0 -2
  351. package/dist/server/dev-server.d.ts +2 -3
  352. package/dist/server/dev-server.js +127 -28
  353. package/dist/server/dev-stack-sourcemap-endpoint.d.ts +4 -0
  354. package/dist/server/dev-stack-sourcemap-endpoint.js +4 -0
  355. package/dist/server/dev-stack-sourcemap.d.ts +43 -0
  356. package/dist/server/dev-stack-sourcemap.js +443 -0
  357. package/dist/server/document-initial-head.d.ts +6 -0
  358. package/dist/server/document-initial-head.js +33 -0
  359. package/dist/server/edge-api-runtime.d.ts +1 -2
  360. package/dist/server/edge-api-runtime.js +0 -2
  361. package/dist/server/file-based-metadata.d.ts +1 -2
  362. package/dist/server/file-based-metadata.js +0 -2
  363. package/dist/server/headers.d.ts +3 -2
  364. package/dist/server/headers.js +3 -3
  365. package/dist/server/html.d.ts +1 -2
  366. package/dist/server/html.js +0 -2
  367. package/dist/server/http-error-responses.d.ts +1 -2
  368. package/dist/server/http-error-responses.js +0 -2
  369. package/dist/server/image-optimization.d.ts +1 -2
  370. package/dist/server/image-optimization.js +0 -2
  371. package/dist/server/implicit-tags.d.ts +1 -2
  372. package/dist/server/implicit-tags.js +0 -2
  373. package/dist/server/instrumentation-runtime.d.ts +1 -2
  374. package/dist/server/instrumentation-runtime.js +0 -2
  375. package/dist/server/instrumentation.d.ts +1 -2
  376. package/dist/server/instrumentation.js +0 -2
  377. package/dist/server/isr-cache.d.ts +10 -3
  378. package/dist/server/isr-cache.js +13 -28
  379. package/dist/server/metadata-route-build-data.d.ts +1 -2
  380. package/dist/server/metadata-route-build-data.js +0 -2
  381. package/dist/server/metadata-route-response.d.ts +1 -2
  382. package/dist/server/metadata-route-response.js +0 -2
  383. package/dist/server/metadata-routes.d.ts +1 -2
  384. package/dist/server/metadata-routes.js +0 -2
  385. package/dist/server/middleware-matcher.d.ts +1 -2
  386. package/dist/server/middleware-matcher.js +0 -2
  387. package/dist/server/middleware-request-headers.d.ts +1 -2
  388. package/dist/server/middleware-request-headers.js +0 -2
  389. package/dist/server/middleware-response-headers.d.ts +1 -2
  390. package/dist/server/middleware-response-headers.js +0 -2
  391. package/dist/server/middleware-runtime.d.ts +1 -2
  392. package/dist/server/middleware-runtime.js +14 -5
  393. package/dist/server/middleware.d.ts +2 -3
  394. package/dist/server/middleware.js +0 -2
  395. package/dist/server/navigation-planner.d.ts +16 -2
  396. package/dist/server/navigation-planner.js +1 -3
  397. package/dist/server/navigation-trace.d.ts +1 -2
  398. package/dist/server/navigation-trace.js +0 -2
  399. package/dist/server/next-error-digest.d.ts +1 -2
  400. package/dist/server/next-error-digest.js +0 -2
  401. package/dist/server/normalize-path.d.ts +1 -2
  402. package/dist/server/normalize-path.js +0 -2
  403. package/dist/server/pages-api-route.d.ts +1 -2
  404. package/dist/server/pages-api-route.js +1 -3
  405. package/dist/server/pages-asset-tags.d.ts +66 -0
  406. package/dist/server/pages-asset-tags.js +116 -0
  407. package/dist/server/pages-body-parser-config.d.ts +1 -2
  408. package/dist/server/pages-body-parser-config.js +0 -2
  409. package/dist/server/pages-data-route.d.ts +39 -2
  410. package/dist/server/pages-data-route.js +46 -3
  411. package/dist/server/pages-default-404.d.ts +1 -2
  412. package/dist/server/pages-default-404.js +0 -2
  413. package/dist/server/pages-document-initial-props.d.ts +84 -3
  414. package/dist/server/pages-document-initial-props.js +127 -3
  415. package/dist/server/pages-get-initial-props.d.ts +17 -0
  416. package/dist/server/pages-get-initial-props.js +50 -0
  417. package/dist/server/pages-i18n.d.ts +1 -2
  418. package/dist/server/pages-i18n.js +0 -2
  419. package/dist/server/pages-media-type.d.ts +1 -2
  420. package/dist/server/pages-media-type.js +1 -2
  421. package/dist/server/pages-node-compat.d.ts +9 -2
  422. package/dist/server/pages-node-compat.js +35 -4
  423. package/dist/server/pages-page-data.d.ts +7 -3
  424. package/dist/server/pages-page-data.js +75 -33
  425. package/dist/server/pages-page-handler.d.ts +90 -0
  426. package/dist/server/pages-page-handler.js +335 -0
  427. package/dist/server/pages-page-method.d.ts +1 -2
  428. package/dist/server/pages-page-method.js +0 -2
  429. package/dist/server/pages-page-response.d.ts +15 -2
  430. package/dist/server/pages-page-response.js +39 -12
  431. package/dist/server/pages-serializable-props.d.ts +1 -2
  432. package/dist/server/pages-serializable-props.js +0 -2
  433. package/dist/server/pregenerated-concrete-paths.d.ts +32 -0
  434. package/dist/server/pregenerated-concrete-paths.js +78 -0
  435. package/dist/server/prerender-route-params.d.ts +13 -3
  436. package/dist/server/prerender-route-params.js +30 -11
  437. package/dist/server/prerender-work-unit-setup.d.ts +1 -2
  438. package/dist/server/prerender-work-unit-setup.js +0 -2
  439. package/dist/server/prod-server.d.ts +2 -4
  440. package/dist/server/prod-server.js +13 -8
  441. package/dist/server/proxy-trust.d.ts +1 -2
  442. package/dist/server/proxy-trust.js +0 -2
  443. package/dist/server/request-log.d.ts +1 -2
  444. package/dist/server/request-log.js +0 -2
  445. package/dist/server/request-pipeline.d.ts +14 -2
  446. package/dist/server/request-pipeline.js +42 -3
  447. package/dist/server/rsc-stream-hints.d.ts +1 -2
  448. package/dist/server/rsc-stream-hints.js +0 -2
  449. package/dist/server/seed-cache.d.ts +6 -2
  450. package/dist/server/seed-cache.js +10 -8
  451. package/dist/server/server-action-not-found.d.ts +1 -2
  452. package/dist/server/server-action-not-found.js +0 -2
  453. package/dist/server/server-globals.d.ts +1 -2
  454. package/dist/server/server-globals.js +0 -2
  455. package/dist/server/skip-cache-proof.d.ts +23 -3
  456. package/dist/server/skip-cache-proof.js +81 -14
  457. package/dist/server/socket-error-backstop.d.ts +1 -2
  458. package/dist/server/socket-error-backstop.js +0 -2
  459. package/dist/server/static-file-cache.d.ts +1 -2
  460. package/dist/server/static-file-cache.js +0 -2
  461. package/dist/server/static-layout-client-reuse-proof.d.ts +15 -0
  462. package/dist/server/static-layout-client-reuse-proof.js +33 -0
  463. package/dist/server/streaming-metadata.d.ts +1 -2
  464. package/dist/server/streaming-metadata.js +0 -2
  465. package/dist/server/worker-utils.d.ts +1 -2
  466. package/dist/server/worker-utils.js +3 -6
  467. package/dist/shims/amp.d.ts +1 -2
  468. package/dist/shims/amp.js +0 -2
  469. package/dist/shims/app-router-scroll-state.d.ts +1 -2
  470. package/dist/shims/app-router-scroll-state.js +0 -2
  471. package/dist/shims/app-router-scroll.d.ts +3 -5
  472. package/dist/shims/app-router-scroll.js +0 -2
  473. package/dist/shims/app.d.ts +1 -2
  474. package/dist/shims/app.js +0 -2
  475. package/dist/shims/before-interactive-context.d.ts +1 -2
  476. package/dist/shims/before-interactive-context.js +0 -2
  477. package/dist/shims/cache-for-request.d.ts +1 -2
  478. package/dist/shims/cache-for-request.js +0 -2
  479. package/dist/shims/cache-runtime.d.ts +20 -5
  480. package/dist/shims/cache-runtime.js +35 -30
  481. package/dist/shims/cache.d.ts +68 -7
  482. package/dist/shims/cache.js +179 -25
  483. package/dist/shims/cdn-cache.d.ts +125 -0
  484. package/dist/shims/cdn-cache.js +100 -0
  485. package/dist/shims/client-hook-error.d.ts +1 -2
  486. package/dist/shims/client-hook-error.js +0 -2
  487. package/dist/shims/client-locale.d.ts +1 -2
  488. package/dist/shims/client-locale.js +1 -3
  489. package/dist/shims/compat-router.d.ts +1 -2
  490. package/dist/shims/compat-router.js +0 -2
  491. package/dist/shims/config.d.ts +1 -2
  492. package/dist/shims/config.js +0 -2
  493. package/dist/shims/constants.d.ts +1 -2
  494. package/dist/shims/constants.js +0 -2
  495. package/dist/shims/default-global-error.d.ts +3 -4
  496. package/dist/shims/default-global-error.js +0 -2
  497. package/dist/shims/default-not-found.d.ts +1 -2
  498. package/dist/shims/default-not-found.js +0 -2
  499. package/dist/shims/document.d.ts +11 -7
  500. package/dist/shims/document.js +7 -10
  501. package/dist/shims/dynamic.d.ts +1 -2
  502. package/dist/shims/dynamic.js +0 -2
  503. package/dist/shims/error-boundary.d.ts +16 -12
  504. package/dist/shims/error-boundary.js +60 -28
  505. package/dist/shims/error.d.ts +1 -2
  506. package/dist/shims/error.js +0 -2
  507. package/dist/shims/fetch-cache.d.ts +3 -2
  508. package/dist/shims/fetch-cache.js +18 -9
  509. package/dist/shims/font-google-base.d.ts +1 -2
  510. package/dist/shims/font-google-base.js +1 -13
  511. package/dist/shims/font-local.d.ts +1 -2
  512. package/dist/shims/font-local.js +1 -15
  513. package/dist/shims/font-utils.d.ts +7 -2
  514. package/dist/shims/font-utils.js +13 -3
  515. package/dist/shims/form.d.ts +12 -5
  516. package/dist/shims/form.js +98 -21
  517. package/dist/shims/hash-scroll.d.ts +4 -2
  518. package/dist/shims/hash-scroll.js +13 -3
  519. package/dist/shims/head-state.d.ts +2 -2
  520. package/dist/shims/head-state.js +18 -5
  521. package/dist/shims/head.d.ts +35 -2
  522. package/dist/shims/head.js +113 -16
  523. package/dist/shims/headers.d.ts +9 -2
  524. package/dist/shims/headers.js +13 -3
  525. package/dist/shims/i18n-context.d.ts +1 -2
  526. package/dist/shims/i18n-context.js +0 -2
  527. package/dist/shims/i18n-state.d.ts +1 -2
  528. package/dist/shims/i18n-state.js +0 -2
  529. package/dist/shims/image-config.d.ts +1 -2
  530. package/dist/shims/image-config.js +0 -2
  531. package/dist/shims/image.d.ts +1 -2
  532. package/dist/shims/image.js +1 -3
  533. package/dist/shims/internal/als-registry.d.ts +1 -2
  534. package/dist/shims/internal/als-registry.js +0 -2
  535. package/dist/shims/internal/api-utils.d.ts +1 -2
  536. package/dist/shims/internal/app-route-detection.d.ts +1 -2
  537. package/dist/shims/internal/app-route-detection.js +0 -2
  538. package/dist/shims/internal/app-router-context.d.ts +1 -2
  539. package/dist/shims/internal/app-router-context.js +0 -2
  540. package/dist/shims/internal/cookie-serialize.d.ts +1 -2
  541. package/dist/shims/internal/cookie-serialize.js +0 -2
  542. package/dist/shims/internal/make-hanging-promise.d.ts +1 -2
  543. package/dist/shims/internal/make-hanging-promise.js +0 -2
  544. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +55 -0
  545. package/dist/shims/internal/pages-data-fetch-dedup.js +68 -0
  546. package/dist/shims/internal/pages-data-target.d.ts +1 -2
  547. package/dist/shims/internal/pages-data-target.js +0 -2
  548. package/dist/shims/internal/pages-data-url.d.ts +1 -2
  549. package/dist/shims/internal/pages-data-url.js +0 -2
  550. package/dist/shims/internal/parse-cookie-header.d.ts +1 -2
  551. package/dist/shims/internal/parse-cookie-header.js +0 -2
  552. package/dist/shims/internal/router-context.d.ts +2 -4
  553. package/dist/shims/internal/router-context.js +0 -2
  554. package/dist/shims/internal/utils.d.ts +1 -2
  555. package/dist/shims/internal/utils.js +0 -2
  556. package/dist/shims/internal/work-unit-async-storage.d.ts +1 -2
  557. package/dist/shims/internal/work-unit-async-storage.js +0 -2
  558. package/dist/shims/layout-segment-context.d.ts +2 -4
  559. package/dist/shims/layout-segment-context.js +0 -2
  560. package/dist/shims/legacy-image.d.ts +1 -2
  561. package/dist/shims/legacy-image.js +0 -2
  562. package/dist/shims/link-prefetch.d.ts +1 -2
  563. package/dist/shims/link-prefetch.js +0 -2
  564. package/dist/shims/link.d.ts +2 -2
  565. package/dist/shims/link.js +47 -15
  566. package/dist/shims/metadata.d.ts +4 -5
  567. package/dist/shims/metadata.js +1 -3
  568. package/dist/shims/navigation-state.d.ts +1 -2
  569. package/dist/shims/navigation-state.js +0 -2
  570. package/dist/shims/navigation.d.ts +61 -7
  571. package/dist/shims/navigation.js +244 -47
  572. package/dist/shims/navigation.react-server.d.ts +1 -2
  573. package/dist/shims/navigation.react-server.js +0 -2
  574. package/dist/shims/offline.d.ts +1 -2
  575. package/dist/shims/offline.js +0 -2
  576. package/dist/shims/og.d.ts +1 -2
  577. package/dist/shims/og.js +2 -4
  578. package/dist/shims/pages-router-runtime.d.ts +7 -2
  579. package/dist/shims/pages-router-runtime.js +11 -3
  580. package/dist/shims/ppr-fallback-shell.d.ts +29 -0
  581. package/dist/shims/ppr-fallback-shell.js +149 -0
  582. package/dist/shims/readonly-url-search-params.d.ts +1 -2
  583. package/dist/shims/readonly-url-search-params.js +0 -2
  584. package/dist/shims/request-context.d.ts +9 -5
  585. package/dist/shims/request-context.js +0 -2
  586. package/dist/shims/request-state-types.d.ts +1 -1
  587. package/dist/shims/root-params.d.ts +1 -2
  588. package/dist/shims/root-params.js +0 -2
  589. package/dist/shims/router-state.d.ts +1 -2
  590. package/dist/shims/router-state.js +0 -2
  591. package/dist/shims/router.d.ts +1 -2
  592. package/dist/shims/router.js +172 -37
  593. package/dist/shims/script-nonce-context.d.ts +1 -2
  594. package/dist/shims/script-nonce-context.js +0 -2
  595. package/dist/shims/script.d.ts +1 -2
  596. package/dist/shims/script.js +0 -2
  597. package/dist/shims/server.d.ts +1 -2
  598. package/dist/shims/server.js +0 -2
  599. package/dist/shims/slot.d.ts +11 -4
  600. package/dist/shims/slot.js +121 -9
  601. package/dist/shims/thenable-params.d.ts +6 -3
  602. package/dist/shims/thenable-params.js +131 -12
  603. package/dist/shims/unified-request-context.d.ts +1 -2
  604. package/dist/shims/unified-request-context.js +3 -2
  605. package/dist/shims/unrecognized-action-error.d.ts +1 -2
  606. package/dist/shims/unrecognized-action-error.js +0 -2
  607. package/dist/shims/url-safety.d.ts +1 -2
  608. package/dist/shims/url-safety.js +0 -2
  609. package/dist/shims/url-utils.d.ts +1 -2
  610. package/dist/shims/url-utils.js +0 -2
  611. package/dist/shims/use-merged-ref.d.ts +1 -2
  612. package/dist/shims/use-merged-ref.js +0 -2
  613. package/dist/shims/web-vitals.d.ts +1 -2
  614. package/dist/shims/web-vitals.js +0 -2
  615. package/dist/typegen.d.ts +1 -2
  616. package/dist/typegen.js +2 -9
  617. package/dist/utils/asset-prefix.d.ts +1 -2
  618. package/dist/utils/asset-prefix.js +0 -2
  619. package/dist/utils/base-path.d.ts +1 -2
  620. package/dist/utils/base-path.js +0 -2
  621. package/dist/utils/cache-control-metadata.d.ts +1 -4
  622. package/dist/utils/cache-control-metadata.js +1 -3
  623. package/dist/utils/client-build-manifest.d.ts +14 -0
  624. package/dist/utils/client-build-manifest.js +52 -0
  625. package/dist/utils/compare.d.ts +4 -0
  626. package/dist/utils/compare.js +8 -0
  627. package/dist/utils/dev-error-recovery-event.d.ts +4 -0
  628. package/dist/utils/dev-error-recovery-event.js +4 -0
  629. package/dist/utils/domain-locale.d.ts +1 -2
  630. package/dist/utils/domain-locale.js +2 -4
  631. package/dist/utils/encode-cache-tag.d.ts +1 -2
  632. package/dist/utils/encode-cache-tag.js +0 -2
  633. package/dist/utils/error-cause.d.ts +1 -2
  634. package/dist/utils/error-cause.js +0 -2
  635. package/dist/utils/hash.d.ts +1 -2
  636. package/dist/utils/hash.js +1 -3
  637. package/dist/utils/html-limited-bots.d.ts +1 -2
  638. package/dist/utils/html-limited-bots.js +0 -2
  639. package/dist/utils/lazy-chunks.d.ts +1 -2
  640. package/dist/utils/lazy-chunks.js +0 -2
  641. package/dist/utils/manifest-paths.d.ts +8 -3
  642. package/dist/utils/manifest-paths.js +15 -3
  643. package/dist/utils/mdx-scan.d.ts +1 -2
  644. package/dist/utils/mdx-scan.js +0 -2
  645. package/dist/utils/navigation-signal.d.ts +1 -2
  646. package/dist/utils/navigation-signal.js +0 -2
  647. package/dist/utils/number.d.ts +4 -0
  648. package/dist/utils/number.js +6 -0
  649. package/dist/utils/path.d.ts +4 -2
  650. package/dist/utils/path.js +5 -3
  651. package/dist/utils/prerender-output-paths.d.ts +1 -2
  652. package/dist/utils/prerender-output-paths.js +0 -2
  653. package/dist/utils/project.d.ts +1 -2
  654. package/dist/utils/project.js +0 -2
  655. package/dist/utils/promise.d.ts +4 -0
  656. package/dist/utils/promise.js +6 -0
  657. package/dist/utils/public-routes.d.ts +1 -2
  658. package/dist/utils/public-routes.js +0 -2
  659. package/dist/utils/query.d.ts +1 -2
  660. package/dist/utils/query.js +0 -2
  661. package/dist/utils/record.d.ts +1 -2
  662. package/dist/utils/record.js +0 -2
  663. package/dist/utils/regex.d.ts +4 -0
  664. package/dist/utils/regex.js +6 -0
  665. package/dist/utils/safe-json-file.d.ts +1 -2
  666. package/dist/utils/safe-json-file.js +0 -2
  667. package/dist/utils/sorted-array.d.ts +1 -2
  668. package/dist/utils/sorted-array.js +0 -2
  669. package/dist/utils/text-stream.d.ts +1 -2
  670. package/dist/utils/text-stream.js +0 -2
  671. package/dist/utils/vinext-root.d.ts +1 -2
  672. package/dist/utils/vinext-root.js +0 -2
  673. package/dist/utils/vite-version.d.ts +10 -0
  674. package/dist/utils/vite-version.js +34 -0
  675. package/package.json +20 -7
  676. package/dist/build/clean-output.js.map +0 -1
  677. package/dist/build/client-build-config.js.map +0 -1
  678. package/dist/build/google-fonts/build-url.js.map +0 -1
  679. package/dist/build/google-fonts/fallback-metrics-data.js.map +0 -1
  680. package/dist/build/google-fonts/fallback-metrics.js.map +0 -1
  681. package/dist/build/google-fonts/font-data.js.map +0 -1
  682. package/dist/build/google-fonts/font-metadata.js.map +0 -1
  683. package/dist/build/google-fonts/get-axes.js.map +0 -1
  684. package/dist/build/google-fonts/sort-variants.js.map +0 -1
  685. package/dist/build/google-fonts/validate.js.map +0 -1
  686. package/dist/build/inline-css.js.map +0 -1
  687. package/dist/build/layout-classification.js.map +0 -1
  688. package/dist/build/nitro-route-rules.js.map +0 -1
  689. package/dist/build/precompress.js.map +0 -1
  690. package/dist/build/prerender.js.map +0 -1
  691. package/dist/build/report.js.map +0 -1
  692. package/dist/build/route-classification-injector.js.map +0 -1
  693. package/dist/build/route-classification-manifest.js.map +0 -1
  694. package/dist/build/run-prerender.js.map +0 -1
  695. package/dist/build/server-manifest.js.map +0 -1
  696. package/dist/build/ssr-manifest.js.map +0 -1
  697. package/dist/build/standalone.js.map +0 -1
  698. package/dist/build/static-export.js.map +0 -1
  699. package/dist/check.js.map +0 -1
  700. package/dist/cli-args.js.map +0 -1
  701. package/dist/cli.js.map +0 -1
  702. package/dist/client/instrumentation-client-inject.js.map +0 -1
  703. package/dist/client/instrumentation-client-state.js.map +0 -1
  704. package/dist/client/instrumentation-client.js.map +0 -1
  705. package/dist/client/navigation-runtime.js.map +0 -1
  706. package/dist/client/pages-router-link-navigation.js.map +0 -1
  707. package/dist/client/validate-module-path.js.map +0 -1
  708. package/dist/client/vinext-next-data.js.map +0 -1
  709. package/dist/client/window-next.js.map +0 -1
  710. package/dist/cloudflare/kv-cache-handler.js.map +0 -1
  711. package/dist/cloudflare/tpr.js.map +0 -1
  712. package/dist/config/config-matchers.js.map +0 -1
  713. package/dist/config/dotenv.js.map +0 -1
  714. package/dist/config/next-config.js.map +0 -1
  715. package/dist/config/tsconfig-paths.js.map +0 -1
  716. package/dist/deploy.js.map +0 -1
  717. package/dist/entries/app-browser-entry.js.map +0 -1
  718. package/dist/entries/app-rsc-entry.js.map +0 -1
  719. package/dist/entries/app-rsc-manifest.js.map +0 -1
  720. package/dist/entries/app-ssr-entry.js.map +0 -1
  721. package/dist/entries/pages-client-entry.js.map +0 -1
  722. package/dist/entries/pages-entry-helpers.js.map +0 -1
  723. package/dist/entries/pages-server-entry.js.map +0 -1
  724. package/dist/entries/runtime-entry-module.js.map +0 -1
  725. package/dist/index.js.map +0 -1
  726. package/dist/init.js.map +0 -1
  727. package/dist/plugins/async-hooks-stub.js.map +0 -1
  728. package/dist/plugins/client-reference-dedup.js.map +0 -1
  729. package/dist/plugins/css-data-url.js.map +0 -1
  730. package/dist/plugins/fonts.js.map +0 -1
  731. package/dist/plugins/instrumentation-client.js.map +0 -1
  732. package/dist/plugins/middleware-server-only.js.map +0 -1
  733. package/dist/plugins/og-assets.js.map +0 -1
  734. package/dist/plugins/optimize-imports.js.map +0 -1
  735. package/dist/plugins/postcss.js.map +0 -1
  736. package/dist/plugins/remove-console.js.map +0 -1
  737. package/dist/plugins/rsc-client-reference-loaders.js.map +0 -1
  738. package/dist/plugins/rsc-client-shim-excludes.js.map +0 -1
  739. package/dist/plugins/sass.js.map +0 -1
  740. package/dist/plugins/server-externals-manifest.js.map +0 -1
  741. package/dist/plugins/strip-server-exports.js.map +0 -1
  742. package/dist/routing/app-route-graph.js.map +0 -1
  743. package/dist/routing/app-router.js.map +0 -1
  744. package/dist/routing/file-matcher.js.map +0 -1
  745. package/dist/routing/pages-router.js.map +0 -1
  746. package/dist/routing/route-matching.js.map +0 -1
  747. package/dist/routing/route-pattern.js.map +0 -1
  748. package/dist/routing/route-trie.js.map +0 -1
  749. package/dist/routing/route-validation.js.map +0 -1
  750. package/dist/routing/utils.js.map +0 -1
  751. package/dist/server/api-handler.js.map +0 -1
  752. package/dist/server/app-browser-action-result.js.map +0 -1
  753. package/dist/server/app-browser-entry.js.map +0 -1
  754. package/dist/server/app-browser-error.js.map +0 -1
  755. package/dist/server/app-browser-hydration.js.map +0 -1
  756. package/dist/server/app-browser-interception-context.js.map +0 -1
  757. package/dist/server/app-browser-navigation-controller.js.map +0 -1
  758. package/dist/server/app-browser-popstate.js.map +0 -1
  759. package/dist/server/app-browser-rsc-redirect.js.map +0 -1
  760. package/dist/server/app-browser-state.js.map +0 -1
  761. package/dist/server/app-browser-stream.js.map +0 -1
  762. package/dist/server/app-browser-visible-commit.js.map +0 -1
  763. package/dist/server/app-client-reference-preloader.js.map +0 -1
  764. package/dist/server/app-elements-wire.js.map +0 -1
  765. package/dist/server/app-elements.js.map +0 -1
  766. package/dist/server/app-fallback-renderer.js.map +0 -1
  767. package/dist/server/app-history-state.js.map +0 -1
  768. package/dist/server/app-hook-warning-suppression.js.map +0 -1
  769. package/dist/server/app-inline-css-client.js.map +0 -1
  770. package/dist/server/app-interception-context-header.js.map +0 -1
  771. package/dist/server/app-middleware.js.map +0 -1
  772. package/dist/server/app-mounted-slots-header.js.map +0 -1
  773. package/dist/server/app-optimistic-routing.js.map +0 -1
  774. package/dist/server/app-page-boundary-render.js.map +0 -1
  775. package/dist/server/app-page-boundary.js.map +0 -1
  776. package/dist/server/app-page-cache.js.map +0 -1
  777. package/dist/server/app-page-dispatch.js.map +0 -1
  778. package/dist/server/app-page-element-builder.js.map +0 -1
  779. package/dist/server/app-page-execution.js.map +0 -1
  780. package/dist/server/app-page-head.js.map +0 -1
  781. package/dist/server/app-page-method.js.map +0 -1
  782. package/dist/server/app-page-params.js.map +0 -1
  783. package/dist/server/app-page-probe.js.map +0 -1
  784. package/dist/server/app-page-render-identity.js.map +0 -1
  785. package/dist/server/app-page-render-observation.js.map +0 -1
  786. package/dist/server/app-page-render.js.map +0 -1
  787. package/dist/server/app-page-request.js.map +0 -1
  788. package/dist/server/app-page-response.js.map +0 -1
  789. package/dist/server/app-page-route-wiring.js.map +0 -1
  790. package/dist/server/app-page-segment-state.js.map +0 -1
  791. package/dist/server/app-page-stream.js.map +0 -1
  792. package/dist/server/app-post-middleware-context.js.map +0 -1
  793. package/dist/server/app-prerender-endpoints.js.map +0 -1
  794. package/dist/server/app-prerender-static-params.js.map +0 -1
  795. package/dist/server/app-render-dependency.js.map +0 -1
  796. package/dist/server/app-request-context.js.map +0 -1
  797. package/dist/server/app-route-handler-cache.js.map +0 -1
  798. package/dist/server/app-route-handler-dispatch.js.map +0 -1
  799. package/dist/server/app-route-handler-execution.js.map +0 -1
  800. package/dist/server/app-route-handler-policy.js.map +0 -1
  801. package/dist/server/app-route-handler-response.js.map +0 -1
  802. package/dist/server/app-route-handler-runtime.js.map +0 -1
  803. package/dist/server/app-router-entry.js.map +0 -1
  804. package/dist/server/app-rsc-cache-busting.js.map +0 -1
  805. package/dist/server/app-rsc-embedded-chunks.js.map +0 -1
  806. package/dist/server/app-rsc-error-handler.js.map +0 -1
  807. package/dist/server/app-rsc-errors.js.map +0 -1
  808. package/dist/server/app-rsc-handler.js.map +0 -1
  809. package/dist/server/app-rsc-render-mode.js.map +0 -1
  810. package/dist/server/app-rsc-request-normalization.js.map +0 -1
  811. package/dist/server/app-rsc-response-finalizer.js.map +0 -1
  812. package/dist/server/app-rsc-route-matching.js.map +0 -1
  813. package/dist/server/app-segment-config.js.map +0 -1
  814. package/dist/server/app-server-action-execution.js.map +0 -1
  815. package/dist/server/app-ssr-entry.js.map +0 -1
  816. package/dist/server/app-ssr-error-meta.js.map +0 -1
  817. package/dist/server/app-ssr-stream.js.map +0 -1
  818. package/dist/server/app-static-generation.js.map +0 -1
  819. package/dist/server/artifact-compatibility.js.map +0 -1
  820. package/dist/server/cache-control.js.map +0 -1
  821. package/dist/server/cache-headers.js.map +0 -1
  822. package/dist/server/cache-proof.js.map +0 -1
  823. package/dist/server/client-reuse-manifest.js.map +0 -1
  824. package/dist/server/client-trace-metadata.js.map +0 -1
  825. package/dist/server/cookie-utils.js.map +0 -1
  826. package/dist/server/csp.js.map +0 -1
  827. package/dist/server/default-global-error-module.js.map +0 -1
  828. package/dist/server/default-not-found-module.js.map +0 -1
  829. package/dist/server/dev-error-overlay-store.js.map +0 -1
  830. package/dist/server/dev-error-overlay.js.map +0 -1
  831. package/dist/server/dev-lockfile.js.map +0 -1
  832. package/dist/server/dev-module-runner.js.map +0 -1
  833. package/dist/server/dev-origin-check.js.map +0 -1
  834. package/dist/server/dev-route-files.js.map +0 -1
  835. package/dist/server/dev-server.js.map +0 -1
  836. package/dist/server/edge-api-runtime.js.map +0 -1
  837. package/dist/server/file-based-metadata.js.map +0 -1
  838. package/dist/server/headers.js.map +0 -1
  839. package/dist/server/html.js.map +0 -1
  840. package/dist/server/http-error-responses.js.map +0 -1
  841. package/dist/server/image-optimization.js.map +0 -1
  842. package/dist/server/implicit-tags.js.map +0 -1
  843. package/dist/server/instrumentation-runtime.js.map +0 -1
  844. package/dist/server/instrumentation.js.map +0 -1
  845. package/dist/server/isr-cache.js.map +0 -1
  846. package/dist/server/metadata-route-build-data.js.map +0 -1
  847. package/dist/server/metadata-route-response.js.map +0 -1
  848. package/dist/server/metadata-routes.js.map +0 -1
  849. package/dist/server/middleware-matcher.js.map +0 -1
  850. package/dist/server/middleware-request-headers.js.map +0 -1
  851. package/dist/server/middleware-response-headers.js.map +0 -1
  852. package/dist/server/middleware-runtime.js.map +0 -1
  853. package/dist/server/middleware.js.map +0 -1
  854. package/dist/server/navigation-planner.js.map +0 -1
  855. package/dist/server/navigation-trace.js.map +0 -1
  856. package/dist/server/next-error-digest.js.map +0 -1
  857. package/dist/server/normalize-path.js.map +0 -1
  858. package/dist/server/pages-api-route.js.map +0 -1
  859. package/dist/server/pages-body-parser-config.js.map +0 -1
  860. package/dist/server/pages-data-route.js.map +0 -1
  861. package/dist/server/pages-default-404.js.map +0 -1
  862. package/dist/server/pages-document-initial-props.js.map +0 -1
  863. package/dist/server/pages-i18n.js.map +0 -1
  864. package/dist/server/pages-media-type.js.map +0 -1
  865. package/dist/server/pages-node-compat.js.map +0 -1
  866. package/dist/server/pages-page-data.js.map +0 -1
  867. package/dist/server/pages-page-method.js.map +0 -1
  868. package/dist/server/pages-page-response.js.map +0 -1
  869. package/dist/server/pages-serializable-props.js.map +0 -1
  870. package/dist/server/prerender-route-params.js.map +0 -1
  871. package/dist/server/prerender-work-unit-setup.js.map +0 -1
  872. package/dist/server/prod-server.js.map +0 -1
  873. package/dist/server/proxy-trust.js.map +0 -1
  874. package/dist/server/request-log.js.map +0 -1
  875. package/dist/server/request-pipeline.js.map +0 -1
  876. package/dist/server/rsc-stream-hints.js.map +0 -1
  877. package/dist/server/seed-cache.js.map +0 -1
  878. package/dist/server/server-action-not-found.js.map +0 -1
  879. package/dist/server/server-globals.js.map +0 -1
  880. package/dist/server/skip-cache-proof.js.map +0 -1
  881. package/dist/server/socket-error-backstop.js.map +0 -1
  882. package/dist/server/static-file-cache.js.map +0 -1
  883. package/dist/server/streaming-metadata.js.map +0 -1
  884. package/dist/server/worker-utils.js.map +0 -1
  885. package/dist/shims/amp.js.map +0 -1
  886. package/dist/shims/app-router-scroll-state.js.map +0 -1
  887. package/dist/shims/app-router-scroll.js.map +0 -1
  888. package/dist/shims/app.js.map +0 -1
  889. package/dist/shims/before-interactive-context.js.map +0 -1
  890. package/dist/shims/cache-for-request.js.map +0 -1
  891. package/dist/shims/cache-runtime.js.map +0 -1
  892. package/dist/shims/cache.js.map +0 -1
  893. package/dist/shims/client-hook-error.js.map +0 -1
  894. package/dist/shims/client-locale.js.map +0 -1
  895. package/dist/shims/compat-router.js.map +0 -1
  896. package/dist/shims/config.js.map +0 -1
  897. package/dist/shims/constants.js.map +0 -1
  898. package/dist/shims/default-global-error.js.map +0 -1
  899. package/dist/shims/default-not-found.js.map +0 -1
  900. package/dist/shims/document.js.map +0 -1
  901. package/dist/shims/dynamic.js.map +0 -1
  902. package/dist/shims/error-boundary.js.map +0 -1
  903. package/dist/shims/error.js.map +0 -1
  904. package/dist/shims/fetch-cache.js.map +0 -1
  905. package/dist/shims/font-google-base.js.map +0 -1
  906. package/dist/shims/font-local.js.map +0 -1
  907. package/dist/shims/font-utils.js.map +0 -1
  908. package/dist/shims/form.js.map +0 -1
  909. package/dist/shims/hash-scroll.js.map +0 -1
  910. package/dist/shims/head-state.js.map +0 -1
  911. package/dist/shims/head.js.map +0 -1
  912. package/dist/shims/headers.js.map +0 -1
  913. package/dist/shims/i18n-context.js.map +0 -1
  914. package/dist/shims/i18n-state.js.map +0 -1
  915. package/dist/shims/image-config.js.map +0 -1
  916. package/dist/shims/image.js.map +0 -1
  917. package/dist/shims/internal/als-registry.js.map +0 -1
  918. package/dist/shims/internal/app-route-detection.js.map +0 -1
  919. package/dist/shims/internal/app-router-context.js.map +0 -1
  920. package/dist/shims/internal/cookie-serialize.js.map +0 -1
  921. package/dist/shims/internal/make-hanging-promise.js.map +0 -1
  922. package/dist/shims/internal/pages-data-target.js.map +0 -1
  923. package/dist/shims/internal/pages-data-url.js.map +0 -1
  924. package/dist/shims/internal/parse-cookie-header.js.map +0 -1
  925. package/dist/shims/internal/router-context.js.map +0 -1
  926. package/dist/shims/internal/utils.js.map +0 -1
  927. package/dist/shims/internal/work-unit-async-storage.js.map +0 -1
  928. package/dist/shims/layout-segment-context.js.map +0 -1
  929. package/dist/shims/legacy-image.js.map +0 -1
  930. package/dist/shims/link-prefetch.js.map +0 -1
  931. package/dist/shims/link.js.map +0 -1
  932. package/dist/shims/metadata.js.map +0 -1
  933. package/dist/shims/navigation-state.js.map +0 -1
  934. package/dist/shims/navigation.js.map +0 -1
  935. package/dist/shims/navigation.react-server.js.map +0 -1
  936. package/dist/shims/offline.js.map +0 -1
  937. package/dist/shims/og.js.map +0 -1
  938. package/dist/shims/pages-router-runtime.js.map +0 -1
  939. package/dist/shims/readonly-url-search-params.js.map +0 -1
  940. package/dist/shims/request-context.js.map +0 -1
  941. package/dist/shims/root-params.js.map +0 -1
  942. package/dist/shims/router-state.js.map +0 -1
  943. package/dist/shims/router.js.map +0 -1
  944. package/dist/shims/script-nonce-context.js.map +0 -1
  945. package/dist/shims/script.js.map +0 -1
  946. package/dist/shims/server.js.map +0 -1
  947. package/dist/shims/slot.js.map +0 -1
  948. package/dist/shims/thenable-params.js.map +0 -1
  949. package/dist/shims/unified-request-context.js.map +0 -1
  950. package/dist/shims/unrecognized-action-error.js.map +0 -1
  951. package/dist/shims/url-safety.js.map +0 -1
  952. package/dist/shims/url-utils.js.map +0 -1
  953. package/dist/shims/use-merged-ref.js.map +0 -1
  954. package/dist/shims/web-vitals.js.map +0 -1
  955. package/dist/typegen.js.map +0 -1
  956. package/dist/utils/asset-prefix.js.map +0 -1
  957. package/dist/utils/base-path.js.map +0 -1
  958. package/dist/utils/cache-control-metadata.js.map +0 -1
  959. package/dist/utils/domain-locale.js.map +0 -1
  960. package/dist/utils/encode-cache-tag.js.map +0 -1
  961. package/dist/utils/error-cause.js.map +0 -1
  962. package/dist/utils/hash.js.map +0 -1
  963. package/dist/utils/html-limited-bots.js.map +0 -1
  964. package/dist/utils/lazy-chunks.js.map +0 -1
  965. package/dist/utils/manifest-paths.js.map +0 -1
  966. package/dist/utils/mdx-scan.js.map +0 -1
  967. package/dist/utils/navigation-signal.js.map +0 -1
  968. package/dist/utils/path.js.map +0 -1
  969. package/dist/utils/prerender-output-paths.js.map +0 -1
  970. package/dist/utils/project.js.map +0 -1
  971. package/dist/utils/public-routes.js.map +0 -1
  972. package/dist/utils/query.js.map +0 -1
  973. package/dist/utils/record.js.map +0 -1
  974. package/dist/utils/safe-json-file.js.map +0 -1
  975. package/dist/utils/sorted-array.js.map +0 -1
  976. package/dist/utils/text-stream.js.map +0 -1
  977. package/dist/utils/vinext-root.js.map +0 -1
@@ -1,17 +1,19 @@
1
1
  import { stripBasePath } from "../utils/base-path.js";
2
- import { VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_PARAMS_HEADER } from "../server/headers.js";
2
+ import { VINEXT_DYNAMIC_STALE_TIME_HEADER, VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_PARAMS_HEADER } from "../server/headers.js";
3
3
  import { assertSafeNavigationUrl } from "./url-safety.js";
4
4
  import { AppElementsWire } from "../server/app-elements-wire.js";
5
5
  import "../server/app-elements.js";
6
+ import { AppRouterContext } from "./internal/app-router-context.js";
6
7
  import { isAbsoluteOrProtocolRelativeUrl, isHashOnlyBrowserUrlChange, toBrowserNavigationHref, toSameOriginAppPath, withBasePath } from "./url-utils.js";
7
- import { scrollToHashTarget } from "./hash-scroll.js";
8
+ import { retryScrollTo, scrollToHashTarget } from "./hash-scroll.js";
8
9
  import { getNavigationRuntime, hasAppNavigationRuntime } from "../client/navigation-runtime.js";
9
10
  import { notifyAppRouterTransitionStart } from "../client/instrumentation-client-state.js";
11
+ import { PUBLIC_INITIAL_BFCACHE_ID } from "../server/app-bfcache-id.js";
10
12
  import { resolveManifestNavigationInterceptionContext } from "../server/app-browser-interception-context.js";
11
- import { createExternalHistoryStatePreservingMetadata } from "../server/app-history-state.js";
12
- import { VINEXT_RSC_COMPATIBILITY_ID_HEADER, createRscRequestHeaders, createRscRequestUrl } from "../server/app-rsc-cache-busting.js";
13
+ import { createExternalHistoryStatePreservingMetadata, createHashOnlyHistoryStatePreservingNavigationMetadata } from "../server/app-history-state.js";
14
+ import { VINEXT_RSC_COMPATIBILITY_ID_HEADER, createRscRequestHeaders, createRscRequestUrl, stripRscCacheBustingSearchParam } from "../server/app-rsc-cache-busting.js";
15
+ import { hasPendingAppRouterPageRedirect } from "../server/app-browser-mpa-navigation.js";
13
16
  import { ReadonlyURLSearchParams } from "./readonly-url-search-params.js";
14
- import { AppRouterContext } from "./internal/app-router-context.js";
15
17
  import { beginAppRouterScrollIntent, clearAppRouterScrollIntent, consumeAppRouterScrollIntent } from "./app-router-scroll-state.js";
16
18
  import { UnrecognizedActionError, unstable_isUnrecognizedActionError } from "./unrecognized-action-error.js";
17
19
  import * as React$1 from "react";
@@ -25,6 +27,8 @@ import * as React$1 from "react";
25
27
  */
26
28
  const _LAYOUT_SEGMENT_CTX_KEY = Symbol.for("vinext.layoutSegmentContext");
27
29
  const _SERVER_INSERTED_HTML_CTX_KEY = Symbol.for("vinext.serverInsertedHTMLContext");
30
+ const _BFCACHE_ID_MAP_CTX_KEY = Symbol.for("vinext.bfcacheIdMapContext");
31
+ const _BFCACHE_SEGMENT_ID_CTX_KEY = Symbol.for("vinext.bfcacheSegmentIdContext");
28
32
  function getServerInsertedHTMLContext() {
29
33
  if (typeof React$1.createContext !== "function") return null;
30
34
  const globalState = globalThis;
@@ -42,6 +46,18 @@ function getLayoutSegmentContext() {
42
46
  if (!globalState[_LAYOUT_SEGMENT_CTX_KEY]) globalState[_LAYOUT_SEGMENT_CTX_KEY] = React$1.createContext({ children: [] });
43
47
  return globalState[_LAYOUT_SEGMENT_CTX_KEY] ?? null;
44
48
  }
49
+ function getBfcacheIdMapContext() {
50
+ if (typeof React$1.createContext !== "function") return null;
51
+ const globalState = globalThis;
52
+ if (!globalState[_BFCACHE_ID_MAP_CTX_KEY]) globalState[_BFCACHE_ID_MAP_CTX_KEY] = React$1.createContext(null);
53
+ return globalState[_BFCACHE_ID_MAP_CTX_KEY] ?? null;
54
+ }
55
+ function getBfcacheSegmentIdContext() {
56
+ if (typeof React$1.createContext !== "function") return null;
57
+ const globalState = globalThis;
58
+ if (!globalState[_BFCACHE_SEGMENT_ID_CTX_KEY]) globalState[_BFCACHE_SEGMENT_ID_CTX_KEY] = React$1.createContext(null);
59
+ return globalState[_BFCACHE_SEGMENT_ID_CTX_KEY] ?? null;
60
+ }
45
61
  /**
46
62
  * Read the child segments for a parallel route below the current layout.
47
63
  * Returns [] if no context is available (RSC environment, outside React tree)
@@ -200,6 +216,91 @@ function getPrefetchedUrls() {
200
216
  if (!window.__VINEXT_RSC_PREFETCHED_URLS__) window.__VINEXT_RSC_PREFETCHED_URLS__ = /* @__PURE__ */ new Set();
201
217
  return window.__VINEXT_RSC_PREFETCHED_URLS__;
202
218
  }
219
+ function isDynamicStaleTimeSeconds(value) {
220
+ return typeof value === "number" && Number.isFinite(value) && Number.isInteger(value) && value >= 0;
221
+ }
222
+ function isCacheExpiresAt(value) {
223
+ return typeof value === "number" && Number.isFinite(value) && value >= 0;
224
+ }
225
+ function parseDynamicStaleTimeSeconds(value) {
226
+ if (value === null || value === "") return void 0;
227
+ const seconds = Number(value);
228
+ return isDynamicStaleTimeSeconds(seconds) ? seconds : void 0;
229
+ }
230
+ function resolveCachedRscResponseTtlMs(cached, fallbackTtlMs) {
231
+ const seconds = cached.dynamicStaleTimeSeconds;
232
+ if (!isDynamicStaleTimeSeconds(seconds)) return fallbackTtlMs;
233
+ return seconds * 1e3;
234
+ }
235
+ function resolveCachedRscResponseExpiresAt(timestamp, cached, fallbackTtlMs) {
236
+ if (isCacheExpiresAt(cached.expiresAt)) return cached.expiresAt;
237
+ return timestamp + resolveCachedRscResponseTtlMs(cached, fallbackTtlMs);
238
+ }
239
+ function resolvePrefetchCacheEntryExpiresAt(entry) {
240
+ if (entry.expiresAt !== void 0) return entry.expiresAt;
241
+ if (entry.snapshot) return resolveCachedRscResponseExpiresAt(entry.timestamp, entry.snapshot, PREFETCH_CACHE_TTL);
242
+ return entry.timestamp + PREFETCH_CACHE_TTL;
243
+ }
244
+ function resolvePrefetchCacheEntryMountedSlotsHeader(entry) {
245
+ if (entry.mountedSlotsHeader !== void 0) return entry.mountedSlotsHeader;
246
+ return entry.snapshot?.mountedSlotsHeader ?? null;
247
+ }
248
+ function normalizeRscCacheLookupUrl(rscUrl) {
249
+ try {
250
+ const url = new URL(rscUrl, "http://vinext.local");
251
+ stripRscCacheBustingSearchParam(url);
252
+ return `${url.pathname}${url.search}`;
253
+ } catch {
254
+ return null;
255
+ }
256
+ }
257
+ function parsePrefetchCacheKey(cacheKey) {
258
+ const separatorIndex = cacheKey.indexOf("\0");
259
+ if (separatorIndex === -1) return {
260
+ interceptionContext: null,
261
+ rscUrl: cacheKey
262
+ };
263
+ return {
264
+ interceptionContext: cacheKey.slice(separatorIndex + 1),
265
+ rscUrl: cacheKey.slice(0, separatorIndex)
266
+ };
267
+ }
268
+ function isPrefetchCacheEntryCompatibleWithMountedSlots(entry, mountedSlotsHeader) {
269
+ if (resolvePrefetchCacheEntryMountedSlotsHeader(entry) === mountedSlotsHeader) return true;
270
+ return (entry.snapshot?.mountedSlotsHeader ?? null) === mountedSlotsHeader;
271
+ }
272
+ function findPrefetchCacheEntryForNavigation(rscUrl, interceptionContext, mountedSlotsHeader) {
273
+ const exactCacheKey = AppElementsWire.encodeCacheKey(rscUrl, interceptionContext);
274
+ const cache = getPrefetchCache();
275
+ const exactEntry = cache.get(exactCacheKey);
276
+ if (exactEntry && exactEntry.cacheForNavigation !== false && isPrefetchCacheEntryCompatibleWithMountedSlots(exactEntry, mountedSlotsHeader)) return {
277
+ cacheKey: exactCacheKey,
278
+ entry: exactEntry
279
+ };
280
+ const normalizedTarget = normalizeRscCacheLookupUrl(rscUrl);
281
+ if (normalizedTarget === null) return null;
282
+ for (const [cacheKey, entry] of cache) {
283
+ if (cacheKey === exactCacheKey) continue;
284
+ if (entry.cacheForNavigation === false) continue;
285
+ const source = parsePrefetchCacheKey(cacheKey);
286
+ if (source.interceptionContext !== interceptionContext) continue;
287
+ if (normalizeRscCacheLookupUrl(source.rscUrl) !== normalizedTarget) continue;
288
+ if (!isPrefetchCacheEntryCompatibleWithMountedSlots(entry, mountedSlotsHeader)) continue;
289
+ return {
290
+ cacheKey,
291
+ entry
292
+ };
293
+ }
294
+ return null;
295
+ }
296
+ function hasPrefetchCacheEntryForNavigation(rscUrl, interceptionContext = null, mountedSlotsHeader = null) {
297
+ const match = findPrefetchCacheEntryForNavigation(rscUrl, interceptionContext, mountedSlotsHeader);
298
+ if (match === null) return false;
299
+ if (match.entry.pending !== void 0) return true;
300
+ if (resolvePrefetchCacheEntryExpiresAt(match.entry) > Date.now()) return true;
301
+ deletePrefetchCacheEntry(getPrefetchCache(), getPrefetchedUrls(), match.cacheKey, match.entry, true);
302
+ return false;
303
+ }
203
304
  /**
204
305
  * Evict prefetch cache entries if at capacity.
205
306
  * First sweeps expired entries, then falls back to FIFO eviction.
@@ -209,7 +310,7 @@ function evictPrefetchCacheIfNeeded() {
209
310
  if (cache.size < 50) return;
210
311
  const now = Date.now();
211
312
  const prefetched = getPrefetchedUrls();
212
- for (const [key, entry] of cache) if (now - entry.timestamp >= PREFETCH_CACHE_TTL) deletePrefetchCacheEntry(cache, prefetched, key, entry, true);
313
+ for (const [key, entry] of cache) if (resolvePrefetchCacheEntryExpiresAt(entry) <= now) deletePrefetchCacheEntry(cache, prefetched, key, entry, true);
213
314
  while (cache.size >= 50) {
214
315
  const oldest = cache.keys().next().value;
215
316
  if (oldest !== void 0) {
@@ -258,8 +359,7 @@ function invalidatePrefetchCacheEntry(cacheKey) {
258
359
  function schedulePrefetchInvalidation(cacheKey, entry) {
259
360
  if (entry.onInvalidateCallbacks === void 0 || entry.onInvalidateCallbacks.size === 0) return;
260
361
  clearPrefetchInvalidation(entry);
261
- const elapsed = Date.now() - entry.timestamp;
262
- const delay = Math.max(0, PREFETCH_CACHE_TTL - elapsed);
362
+ const delay = Math.max(0, resolvePrefetchCacheEntryExpiresAt(entry) - Date.now());
263
363
  entry.invalidationTimer = setTimeout(() => {
264
364
  invalidatePrefetchCacheEntry(cacheKey);
265
365
  }, delay);
@@ -303,12 +403,15 @@ function storePrefetchResponse(rscUrl, response, interceptionContext = null, opt
303
403
  const cacheKey = AppElementsWire.encodeCacheKey(rscUrl, interceptionContext);
304
404
  evictPrefetchCacheIfNeeded();
305
405
  const entry = {
406
+ mountedSlotsHeader: null,
306
407
  outcome: "pending",
307
408
  timestamp: Date.now()
308
409
  };
309
410
  addPrefetchInvalidationCallback(entry, options?.onInvalidate);
310
411
  entry.pending = snapshotRscResponse(response).then((snapshot) => {
412
+ entry.mountedSlotsHeader = snapshot.mountedSlotsHeader ?? null;
311
413
  entry.snapshot = snapshot;
414
+ entry.expiresAt = resolveCachedRscResponseExpiresAt(entry.timestamp, snapshot, PREFETCH_CACHE_TTL);
312
415
  }).catch(() => {
313
416
  deletePrefetchCacheEntry(getPrefetchCache(), getPrefetchedUrls(), cacheKey, entry, false);
314
417
  }).finally(() => {
@@ -321,10 +424,12 @@ function storePrefetchResponse(rscUrl, response, interceptionContext = null, opt
321
424
  getPrefetchCache().set(cacheKey, entry);
322
425
  }
323
426
  function createCachedRscResponseSnapshot(response, buffer, responseUrl = null) {
427
+ const dynamicStaleTimeSeconds = parseDynamicStaleTimeSeconds(response.headers.get(VINEXT_DYNAMIC_STALE_TIME_HEADER));
324
428
  return {
325
429
  compatibilityIdHeader: response.headers.get(VINEXT_RSC_COMPATIBILITY_ID_HEADER),
326
430
  buffer,
327
431
  contentType: response.headers.get("content-type") ?? "text/x-component",
432
+ ...dynamicStaleTimeSeconds !== void 0 ? { dynamicStaleTimeSeconds } : {},
328
433
  mountedSlotsHeader: response.headers.get(VINEXT_MOUNTED_SLOTS_HEADER),
329
434
  paramsHeader: response.headers.get(VINEXT_PARAMS_HEADER),
330
435
  url: responseUrl ?? response.url
@@ -356,6 +461,7 @@ function restoreRscResponse(cached, copy = true) {
356
461
  const headers = new Headers({ "content-type": cached.contentType });
357
462
  if (cached.mountedSlotsHeader != null) headers.set(VINEXT_MOUNTED_SLOTS_HEADER, cached.mountedSlotsHeader);
358
463
  if (cached.compatibilityIdHeader != null) headers.set(VINEXT_RSC_COMPATIBILITY_ID_HEADER, cached.compatibilityIdHeader);
464
+ if (isDynamicStaleTimeSeconds(cached.dynamicStaleTimeSeconds)) headers.set(VINEXT_DYNAMIC_STALE_TIME_HEADER, String(cached.dynamicStaleTimeSeconds));
359
465
  if (cached.paramsHeader != null) headers.set(VINEXT_PARAMS_HEADER, cached.paramsHeader);
360
466
  return new Response(copy ? cached.buffer.slice(0) : cached.buffer, {
361
467
  status: 200,
@@ -376,17 +482,17 @@ function prefetchRscResponse(rscUrl, fetchPromise, interceptionContext = null, m
376
482
  const now = Date.now();
377
483
  const entry = {
378
484
  cacheForNavigation: behavior.cacheForNavigation ?? true,
485
+ mountedSlotsHeader,
379
486
  optimisticRouteShell: behavior.optimisticRouteShell === true,
380
487
  outcome: "pending",
381
488
  timestamp: now
382
489
  };
383
490
  addPrefetchInvalidationCallback(entry, options?.onInvalidate);
384
491
  entry.pending = fetchPromise.then(async (response) => {
385
- if (response.ok) entry.snapshot = {
386
- ...await snapshotRscResponse(response),
387
- mountedSlotsHeader
388
- };
389
- else deletePrefetchCacheEntry(cache, prefetched, cacheKey, entry, false);
492
+ if (response.ok) {
493
+ entry.snapshot = await snapshotRscResponse(response);
494
+ entry.expiresAt = resolveCachedRscResponseExpiresAt(entry.timestamp, entry.snapshot, PREFETCH_CACHE_TTL);
495
+ } else deletePrefetchCacheEntry(cache, prefetched, cacheKey, entry, false);
390
496
  }).catch(() => {
391
497
  deletePrefetchCacheEntry(cache, prefetched, cacheKey, entry, false);
392
498
  }).finally(() => {
@@ -405,20 +511,39 @@ function prefetchRscResponse(rscUrl, fetchPromise, interceptionContext = null, m
405
511
  * Returns null if the entry is still in flight or doesn't exist.
406
512
  */
407
513
  function consumePrefetchResponse(rscUrl, interceptionContext = null, mountedSlotsHeader = null) {
408
- const cacheKey = AppElementsWire.encodeCacheKey(rscUrl, interceptionContext);
409
514
  const cache = getPrefetchCache();
410
- const entry = cache.get(cacheKey);
411
- if (!entry) return null;
515
+ const exactCacheKey = AppElementsWire.encodeCacheKey(rscUrl, interceptionContext);
516
+ const exactEntry = cache.get(exactCacheKey);
517
+ if (exactEntry && exactEntry.cacheForNavigation !== false && !isPrefetchCacheEntryCompatibleWithMountedSlots(exactEntry, mountedSlotsHeader)) deletePrefetchCacheEntry(cache, getPrefetchedUrls(), exactCacheKey, exactEntry, false);
518
+ const match = findPrefetchCacheEntryForNavigation(rscUrl, interceptionContext, mountedSlotsHeader);
519
+ if (!match) return null;
520
+ const { cacheKey, entry } = match;
412
521
  if (entry.pending || entry.outcome !== "cache-seeded") return null;
413
522
  if (entry.cacheForNavigation === false) return null;
414
523
  deletePrefetchCacheEntry(cache, getPrefetchedUrls(), cacheKey, entry, false);
415
524
  if (entry.snapshot) {
416
- if ((entry.snapshot.mountedSlotsHeader ?? null) !== mountedSlotsHeader) return null;
417
- if (Date.now() - entry.timestamp >= PREFETCH_CACHE_TTL) return null;
525
+ if (!isPrefetchCacheEntryCompatibleWithMountedSlots(entry, mountedSlotsHeader)) return null;
526
+ if (resolvePrefetchCacheEntryExpiresAt(entry) <= Date.now()) return null;
527
+ if (entry.expiresAt !== void 0 || entry.snapshot.expiresAt !== void 0) return {
528
+ ...entry.snapshot,
529
+ expiresAt: resolvePrefetchCacheEntryExpiresAt(entry)
530
+ };
418
531
  return entry.snapshot;
419
532
  }
420
533
  return null;
421
534
  }
535
+ async function consumePrefetchResponseForNavigation(rscUrl, interceptionContext = null, mountedSlotsHeader = null, options) {
536
+ const cache = getPrefetchCache();
537
+ const match = findPrefetchCacheEntryForNavigation(rscUrl, interceptionContext, mountedSlotsHeader);
538
+ if (!match) return null;
539
+ const { cacheKey, entry } = match;
540
+ if (entry.pending !== void 0) {
541
+ await entry.pending.catch(() => {});
542
+ if (cache.get(cacheKey) !== entry) return null;
543
+ }
544
+ if (options?.shouldConsume?.() === false) return null;
545
+ return consumePrefetchResponse(rscUrl, interceptionContext, mountedSlotsHeader);
546
+ }
422
547
  const _CLIENT_NAV_STATE_KEY = Symbol.for("vinext.clientNavigationState");
423
548
  const _MOUNTED_SLOTS_HEADER_KEY = Symbol.for("vinext.mountedSlotsHeader");
424
549
  function setMountedSlotsHeader(header) {
@@ -617,9 +742,9 @@ function clearPendingPathname(navId) {
617
742
  }
618
743
  function getClientParamsSnapshot() {
619
744
  const state = getClientNavigationState();
620
- if (state && Object.keys(state.clientParams).length > 0) return state.clientParams;
621
745
  const pagesCtx = _getPagesNavigationContext();
622
746
  if (pagesCtx) return pagesCtx.params;
747
+ if (state && Object.keys(state.clientParams).length > 0) return state.clientParams;
623
748
  return state?.clientParams ?? _EMPTY_PARAMS;
624
749
  }
625
750
  function getServerParamsSnapshot() {
@@ -720,10 +845,7 @@ function commitClientNavigationState(navId, options) {
720
845
  }
721
846
  const shouldNotify = urlChanged || state.hasPendingNavigationUpdate;
722
847
  state.hasPendingNavigationUpdate = false;
723
- if (shouldNotify) {
724
- notifyNavigationListeners();
725
- getNavigationRuntime()?.functions.pingVisibleLinks?.();
726
- }
848
+ if (shouldNotify) notifyNavigationListeners();
727
849
  }
728
850
  function pushHistoryStateWithoutNotify(data, unused, url) {
729
851
  withSuppressedUrlNotifications(() => {
@@ -755,8 +877,9 @@ function commitHashOnlyHistoryState(href, mode, scroll) {
755
877
  commitAppRouterHashNavigation(href, mode, scroll);
756
878
  return;
757
879
  }
758
- if (mode === "replace") replaceHistoryStateWithoutNotify(null, "", href);
759
- else pushHistoryStateWithoutNotify(null, "", href);
880
+ const historyState = createHashOnlyHistoryStatePreservingNavigationMetadata(window.history.state);
881
+ if (mode === "replace") replaceHistoryStateWithoutNotify(historyState, "", href);
882
+ else pushHistoryStateWithoutNotify(historyState, "", href);
760
883
  }
761
884
  function applyAppRouterScrollFallback(intent) {
762
885
  if (typeof document === "undefined" || typeof window === "undefined") return;
@@ -786,14 +909,8 @@ function restoreScrollPosition(state) {
786
909
  const { __vinext_scrollX: x, __vinext_scrollY: y } = state;
787
910
  Promise.resolve().then(() => {
788
911
  const pending = window.__VINEXT_RSC_PENDING__ ?? null;
789
- if (pending) pending.then(() => {
790
- requestAnimationFrame(() => {
791
- window.scrollTo(x, y);
792
- });
793
- });
794
- else requestAnimationFrame(() => {
795
- window.scrollTo(x, y);
796
- });
912
+ if (pending) pending.then(() => retryScrollTo(x, y));
913
+ else retryScrollTo(x, y);
797
914
  });
798
915
  }
799
916
  }
@@ -805,8 +922,15 @@ async function navigateClientSide(href, mode, scroll, programmaticTransition = f
805
922
  if (isExternalUrl(href)) {
806
923
  const localPath = toSameOriginAppPath(href, __basePath);
807
924
  if (localPath == null) {
925
+ notifyAppRouterTransitionStart(href, mode);
926
+ const externalNavigate = getNavigationRuntime()?.functions.navigateExternal;
927
+ if (externalNavigate) {
928
+ await externalNavigate(href, mode);
929
+ return;
930
+ }
808
931
  if (mode === "replace") window.location.replace(href);
809
932
  else window.location.assign(href);
933
+ await new Promise(() => {});
810
934
  return;
811
935
  }
812
936
  normalizedHref = localPath;
@@ -821,6 +945,17 @@ async function navigateClientSide(href, mode, scroll, programmaticTransition = f
821
945
  if (scroll) scrollToHashTarget(hash);
822
946
  return;
823
947
  }
948
+ if (hasPendingAppRouterPageRedirect(typeof document === "undefined" ? void 0 : document)) {
949
+ const mpaNavigate = getNavigationRuntime()?.functions.navigateExternal;
950
+ if (mpaNavigate) {
951
+ await mpaNavigate(fullHref, mode);
952
+ return;
953
+ }
954
+ if (mode === "replace") window.location.replace(fullHref);
955
+ else window.location.assign(fullHref);
956
+ await new Promise(() => {});
957
+ return;
958
+ }
824
959
  const hashIdx = fullHref.indexOf("#");
825
960
  const hash = hashIdx !== -1 ? fullHref.slice(hashIdx) : "";
826
961
  const scrollIntent = scroll ? beginAppRouterScrollIntent(hash || null) : null;
@@ -859,13 +994,15 @@ function releaseScheduledAppRouterNavigationAfterCurrentTask(release) {
859
994
  queueMicrotask(release);
860
995
  }
861
996
  /**
862
- * Public App Router instance, exposed for the browser entry so it can wire
863
- * `window.next.router` to the same singleton returned from `useRouter()`.
997
+ * App Router public router instance. Mirrors Next.js's
998
+ * `publicAppRouterInstance` from
999
+ * `packages/next/src/client/components/app-router-instance.ts`.
864
1000
  *
865
- * Mirrors `publicAppRouterInstance` from Next.js's
866
- * `packages/next/src/client/components/app-router-instance.ts` (line 392).
1001
+ * Exported so the App Router browser entry can install it on
1002
+ * `window.next.router` for Next.js parity (see `client/window-next.ts`).
1003
+ * Internal callers in this file continue to use `_appRouter` for brevity.
867
1004
  */
868
- const appRouterInstance = {
1005
+ const _appRouter = {
869
1006
  bfcacheId: "0",
870
1007
  push(href, options) {
871
1008
  assertSafeNavigationUrl(href);
@@ -953,19 +1090,47 @@ const appRouterInstance = {
953
1090
  });
954
1091
  }
955
1092
  };
1093
+ function formatPublicBfcacheId(value) {
1094
+ if (!value || value === "0") return PUBLIC_INITIAL_BFCACHE_ID;
1095
+ return value;
1096
+ }
1097
+ function readBfcacheIdFromContext() {
1098
+ const segmentContext = getBfcacheSegmentIdContext();
1099
+ const idMapContext = getBfcacheIdMapContext();
1100
+ if (!segmentContext || !idMapContext || typeof React$1.useContext !== "function") return formatPublicBfcacheId(null);
1101
+ try {
1102
+ const segmentId = React$1.useContext(segmentContext);
1103
+ const idMap = React$1.useContext(idMapContext);
1104
+ return formatPublicBfcacheId(segmentId !== null ? idMap?.[segmentId] : null);
1105
+ } catch (error) {
1106
+ if (process.env.NODE_ENV !== "production") console.warn("[vinext] readBfcacheIdFromContext failed:", error);
1107
+ return formatPublicBfcacheId(null);
1108
+ }
1109
+ }
1110
+ /**
1111
+ * Public App Router instance, exposed for the browser entry so it can wire
1112
+ * `window.next.router` to the same singleton returned from `useRouter()`.
1113
+ *
1114
+ * Mirrors `publicAppRouterInstance` from Next.js's
1115
+ * `packages/next/src/client/components/app-router-instance.ts` (line 392).
1116
+ */
1117
+ const appRouterInstance = _appRouter;
956
1118
  /**
957
1119
  * App Router's useRouter — returns push/replace/back/forward/refresh.
958
1120
  * Different from Pages Router's useRouter (next/router).
959
1121
  *
960
- * Returns a stable singleton: the same object reference on every call,
961
- * matching Next.js behavior so components using referential equality
962
- * (e.g. useMemo / useEffect deps, React.memo) don't re-render unnecessarily.
1122
+ * Preserves the mounted AppRouterContext router as the authority for methods
1123
+ * and layers the nearest segment's contextual `bfcacheId` on top.
963
1124
  */
964
1125
  function useRouter() {
965
- if (!AppRouterContext || typeof React$1.useContext !== "function") throw new Error("invariant expected app router to be mounted");
1126
+ if (!AppRouterContext || typeof React$1.useContext !== "function" || typeof React$1.useMemo !== "function") throw new Error("invariant expected app router to be mounted");
966
1127
  const router = React$1.useContext(AppRouterContext);
967
1128
  if (router === null) throw new Error("invariant expected app router to be mounted");
968
- return router;
1129
+ const bfcacheId = readBfcacheIdFromContext();
1130
+ return React$1.useMemo(() => ({
1131
+ ...router,
1132
+ bfcacheId
1133
+ }), [router, bfcacheId]);
969
1134
  }
970
1135
  /**
971
1136
  * Returns the active child segment one level below the layout where it's called.
@@ -1186,10 +1351,44 @@ function unauthorized() {
1186
1351
  * `shims/error-boundary.tsx`.
1187
1352
  */
1188
1353
  function isRedirectError(error) {
1189
- if (!error || typeof error !== "object" || !("digest" in error) || typeof error.digest !== "string") return false;
1354
+ if (!error || typeof error !== "object") return false;
1355
+ if (!("digest" in error)) return false;
1356
+ if (typeof error.digest !== "string") return false;
1190
1357
  return error.digest.startsWith("NEXT_REDIRECT;");
1191
1358
  }
1192
1359
  /**
1360
+ * Parse a redirect error digest into its URL and type components.
1361
+ *
1362
+ * Supports two formats:
1363
+ * - vinext's 3-part: `NEXT_REDIRECT;{type};{encoded-url}`
1364
+ * - Next.js's 5-part: `NEXT_REDIRECT;{type};{url};{status};{isClient}`
1365
+ *
1366
+ * The URL segment is always percent-encoded on the write side
1367
+ * (encodeURIComponent is used), so re-joining with ";" for the 5-part
1368
+ * format is defensive — it correctly handles any unencoded ";" that
1369
+ * might appear in an externally-sourced digest.
1370
+ *
1371
+ * Returns null for malformed digests that have an empty URL segment, or
1372
+ * when the URL contains invalid percent-encoding.
1373
+ */
1374
+ function decodeRedirectError(digest) {
1375
+ if (!digest.startsWith("NEXT_REDIRECT;")) return null;
1376
+ const parts = digest.split(";");
1377
+ const encodedTarget = parts.length >= 5 ? parts.slice(2, -2).join(";") : parts[2];
1378
+ if (!encodedTarget) return null;
1379
+ let url;
1380
+ try {
1381
+ url = decodeURIComponent(encodedTarget);
1382
+ } catch {
1383
+ return null;
1384
+ }
1385
+ const type = parts[1] === "push" ? "push" : "replace";
1386
+ return {
1387
+ url,
1388
+ type
1389
+ };
1390
+ }
1391
+ /**
1193
1392
  * Returns true if the error is a Next.js navigation signal — either a redirect
1194
1393
  * or an HTTP access fallback (notFound / forbidden / unauthorized).
1195
1394
  *
@@ -1330,6 +1529,4 @@ if (!isServer) {
1330
1529
  }
1331
1530
  }
1332
1531
  //#endregion
1333
- export { BailoutToCSRError, DynamicServerError, GLOBAL_ACCESSORS_KEY, HTTP_ERROR_FALLBACK_ERROR_CODE, MAX_PREFETCH_CACHE_SIZE, PREFETCH_CACHE_TTL, ReadonlyURLSearchParams, RedirectType, ServerInsertedHTMLContext, UnrecognizedActionError, __basePath, _registerStateAccessors, activateNavigationSnapshot, appRouterInstance, clearPendingPathname, clearServerInsertedHTML, commitClientNavigationState, consumePrefetchResponse, createCachedRscResponseSnapshot, createClientNavigationRenderSnapshot, flushServerInsertedHTML, forbidden, getAccessFallbackHTTPStatus, getClientNavigationRenderContext, getClientNavigationState, getClientParams, getCurrentInterceptionContext, getCurrentNextUrl, getLayoutSegmentContext, getMountedSlotsHeader, getNavigationContext, getPrefetchCache, getPrefetchInterceptionContext, getPrefetchedUrls, invalidatePrefetchCache, isBailoutToCSRError, isDynamicServerError, isHTTPAccessFallbackError, isNextRouterError, isRedirectError, navigateClientSide, notFound, permanentRedirect, prefetchRscResponse, pushHistoryStateWithoutNotify, redirect, renderServerInsertedHTML, replaceClientParamsWithoutNotify, replaceHistoryStateWithoutNotify, restoreRscResponse, setClientParams, setMountedSlotsHeader, setNavigationContext, setPendingPathname, snapshotRscResponse, storePrefetchResponse, unauthorized, unstable_isUnrecognizedActionError, unstable_rethrow, useParams, usePathname, useRouter, useSearchParams, useSelectedLayoutSegment, useSelectedLayoutSegments, useServerInsertedHTML };
1334
-
1335
- //# sourceMappingURL=navigation.js.map
1532
+ export { BailoutToCSRError, DynamicServerError, GLOBAL_ACCESSORS_KEY, HTTP_ERROR_FALLBACK_ERROR_CODE, MAX_PREFETCH_CACHE_SIZE, PREFETCH_CACHE_TTL, ReadonlyURLSearchParams, RedirectType, ServerInsertedHTMLContext, UnrecognizedActionError, __basePath, _registerStateAccessors, activateNavigationSnapshot, appRouterInstance, clearPendingPathname, clearServerInsertedHTML, commitClientNavigationState, consumePrefetchResponse, consumePrefetchResponseForNavigation, createCachedRscResponseSnapshot, createClientNavigationRenderSnapshot, decodeRedirectError, flushServerInsertedHTML, forbidden, getAccessFallbackHTTPStatus, getBfcacheIdMapContext, getBfcacheSegmentIdContext, getClientNavigationRenderContext, getClientNavigationState, getClientParams, getCurrentInterceptionContext, getCurrentNextUrl, getLayoutSegmentContext, getMountedSlotsHeader, getNavigationContext, getPrefetchCache, getPrefetchInterceptionContext, getPrefetchedUrls, hasPrefetchCacheEntryForNavigation, invalidatePrefetchCache, isBailoutToCSRError, isDynamicServerError, isHTTPAccessFallbackError, isNextRouterError, isRedirectError, navigateClientSide, notFound, permanentRedirect, prefetchRscResponse, pushHistoryStateWithoutNotify, redirect, renderServerInsertedHTML, replaceClientParamsWithoutNotify, replaceHistoryStateWithoutNotify, resolveCachedRscResponseExpiresAt, resolveCachedRscResponseTtlMs, resolvePrefetchCacheEntryMountedSlotsHeader, restoreRscResponse, saveScrollPosition, setClientParams, setMountedSlotsHeader, setNavigationContext, setPendingPathname, snapshotRscResponse, storePrefetchResponse, unauthorized, unstable_isUnrecognizedActionError, unstable_rethrow, useParams, usePathname, useRouter, useSearchParams, useSelectedLayoutSegment, useSelectedLayoutSegments, useServerInsertedHTML };
@@ -11,5 +11,4 @@ declare function useSelectedLayoutSegments(): never;
11
11
  declare function useServerInsertedHTML(): never;
12
12
  declare function unstable_isUnrecognizedActionError(): boolean;
13
13
  //#endregion
14
- export { BailoutToCSRError, DynamicServerError, GLOBAL_ACCESSORS_KEY, HTTP_ERROR_FALLBACK_ERROR_CODE, type NavigationContext, ReadonlyURLSearchParams, RedirectType, type SegmentMap, ServerInsertedHTMLContext, _registerStateAccessors, clearServerInsertedHTML, flushServerInsertedHTML, forbidden, getAccessFallbackHTTPStatus, getLayoutSegmentContext, getNavigationContext, isBailoutToCSRError, isDynamicServerError, isHTTPAccessFallbackError, isNextRouterError, isRedirectError, notFound, permanentRedirect, redirect, renderServerInsertedHTML, setNavigationContext, unauthorized, unstable_isUnrecognizedActionError, unstable_rethrow, useParams, usePathname, useRouter, useSearchParams, useSelectedLayoutSegment, useSelectedLayoutSegments, useServerInsertedHTML };
15
- //# sourceMappingURL=navigation.react-server.d.ts.map
14
+ export { BailoutToCSRError, DynamicServerError, GLOBAL_ACCESSORS_KEY, HTTP_ERROR_FALLBACK_ERROR_CODE, type NavigationContext, ReadonlyURLSearchParams, RedirectType, type SegmentMap, ServerInsertedHTMLContext, _registerStateAccessors, clearServerInsertedHTML, flushServerInsertedHTML, forbidden, getAccessFallbackHTTPStatus, getLayoutSegmentContext, getNavigationContext, isBailoutToCSRError, isDynamicServerError, isHTTPAccessFallbackError, isNextRouterError, isRedirectError, notFound, permanentRedirect, redirect, renderServerInsertedHTML, setNavigationContext, unauthorized, unstable_isUnrecognizedActionError, unstable_rethrow, useParams, usePathname, useRouter, useSearchParams, useSelectedLayoutSegment, useSelectedLayoutSegments, useServerInsertedHTML };
@@ -28,5 +28,3 @@ function unstable_isUnrecognizedActionError() {
28
28
  }
29
29
  //#endregion
30
30
  export { BailoutToCSRError, DynamicServerError, GLOBAL_ACCESSORS_KEY, HTTP_ERROR_FALLBACK_ERROR_CODE, ReadonlyURLSearchParams, RedirectType, ServerInsertedHTMLContext, _registerStateAccessors, clearServerInsertedHTML, flushServerInsertedHTML, forbidden, getAccessFallbackHTTPStatus, getLayoutSegmentContext, getNavigationContext, isBailoutToCSRError, isDynamicServerError, isHTTPAccessFallbackError, isNextRouterError, isRedirectError, notFound, permanentRedirect, redirect, renderServerInsertedHTML, setNavigationContext, unauthorized, unstable_isUnrecognizedActionError, unstable_rethrow, useParams, usePathname, useRouter, useSearchParams, useSelectedLayoutSegment, useSelectedLayoutSegments, useServerInsertedHTML };
31
-
32
- //# sourceMappingURL=navigation.react-server.js.map
@@ -1,5 +1,4 @@
1
1
  //#region src/shims/offline.d.ts
2
2
  declare function useOffline(): boolean;
3
3
  //#endregion
4
- export { useOffline };
5
- //# sourceMappingURL=offline.d.ts.map
4
+ export { useOffline };
@@ -13,5 +13,3 @@ function useOffline() {
13
13
  }
14
14
  //#endregion
15
15
  export { useOffline };
16
-
17
- //# sourceMappingURL=offline.js.map
@@ -14,5 +14,4 @@ declare class ImageResponse extends Response {
14
14
  constructor(element: ReactElement, options?: ImageResponseOptions$1);
15
15
  }
16
16
  //#endregion
17
- export { ImageResponse, type ImageResponseOptions };
18
- //# sourceMappingURL=og.d.ts.map
17
+ export { ImageResponse, type ImageResponseOptions };
package/dist/shims/og.js CHANGED
@@ -1,4 +1,3 @@
1
- import { ImageResponse as ImageResponse$1 } from "@vercel/og";
2
1
  //#region src/shims/og.tsx
3
2
  const CACHE_HEADERS = {
4
3
  noCache: "no-cache, no-store",
@@ -15,7 +14,8 @@ var ImageResponse = class extends Response {
15
14
  static displayName = "ImageResponse";
16
15
  constructor(element, options) {
17
16
  const readable = new ReadableStream({ async start(controller) {
18
- const imageResponse = new ImageResponse$1(element, options);
17
+ const { ImageResponse: VercelImageResponse } = await import("@vercel/og");
18
+ const imageResponse = new VercelImageResponse(element, options);
19
19
  if (!imageResponse.body) {
20
20
  controller.close();
21
21
  return;
@@ -46,5 +46,3 @@ var ImageResponse = class extends Response {
46
46
  };
47
47
  //#endregion
48
48
  export { ImageResponse };
49
-
50
- //# sourceMappingURL=og.js.map
@@ -1,7 +1,12 @@
1
1
  //#region src/shims/pages-router-runtime.d.ts
2
2
  type PagesRouterPopStateHandler = (event: PopStateEvent) => void;
3
3
  declare function setPagesRouterPopStateHandler(handler: PagesRouterPopStateHandler): void;
4
+ /**
5
+ * Register the function that stamps Next.js-shaped state onto the initial
6
+ * document entry (called once at install time). Router.ts registers this so
7
+ * the runtime module stays free of router internals.
8
+ */
9
+ declare function setStampInitialHistoryState(fn: () => void): void;
4
10
  declare function installPagesRouterRuntime(): void;
5
11
  //#endregion
6
- export { installPagesRouterRuntime, setPagesRouterPopStateHandler };
7
- //# sourceMappingURL=pages-router-runtime.d.ts.map
12
+ export { installPagesRouterRuntime, setPagesRouterPopStateHandler, setStampInitialHistoryState };
@@ -1,16 +1,24 @@
1
1
  //#region src/shims/pages-router-runtime.ts
2
2
  let pagesRouterPopStateHandler;
3
+ let stampInitialHistoryStateFn;
3
4
  let pagesRouterRuntimeInstalled = false;
4
5
  function setPagesRouterPopStateHandler(handler) {
5
6
  pagesRouterPopStateHandler = handler;
6
7
  }
8
+ /**
9
+ * Register the function that stamps Next.js-shaped state onto the initial
10
+ * document entry (called once at install time). Router.ts registers this so
11
+ * the runtime module stays free of router internals.
12
+ */
13
+ function setStampInitialHistoryState(fn) {
14
+ stampInitialHistoryStateFn = fn;
15
+ }
7
16
  function installPagesRouterRuntime() {
8
17
  if (typeof window === "undefined" || pagesRouterRuntimeInstalled) return;
9
18
  if (!pagesRouterPopStateHandler) throw new Error("[vinext] Pages Router runtime installed before next/router was initialized");
10
19
  pagesRouterRuntimeInstalled = true;
20
+ stampInitialHistoryStateFn?.();
11
21
  window.addEventListener("popstate", pagesRouterPopStateHandler);
12
22
  }
13
23
  //#endregion
14
- export { installPagesRouterRuntime, setPagesRouterPopStateHandler };
15
-
16
- //# sourceMappingURL=pages-router-runtime.js.map
24
+ export { installPagesRouterRuntime, setPagesRouterPopStateHandler, setStampInitialHistoryState };
@@ -0,0 +1,29 @@
1
+ //#region src/shims/ppr-fallback-shell.d.ts
2
+ type PprFallbackShellState = {
3
+ abortController: AbortController;
4
+ cacheEpoch: number;
5
+ cacheReadyResolvers: Array<() => void>;
6
+ fallbackParamNames: ReadonlySet<string>;
7
+ hasDynamicBoundary: boolean;
8
+ isAbortScheduled: boolean;
9
+ pendingAbortCleanup: (() => void) | null;
10
+ pendingCacheReadyCleanup: (() => void) | null;
11
+ pendingCacheTasks: number;
12
+ phase: "warmup" | "final";
13
+ routePattern: string;
14
+ };
15
+ type CreatePprFallbackShellStateOptions = {
16
+ fallbackParamNames: readonly string[];
17
+ routePattern: string;
18
+ };
19
+ declare function createPprFallbackShellState(options: CreatePprFallbackShellStateOptions): PprFallbackShellState;
20
+ declare function runWithPprFallbackShellState<T>(state: PprFallbackShellState, fn: () => T): T;
21
+ declare function getPprFallbackShellState(): PprFallbackShellState | null;
22
+ declare function trackPprFallbackShellCacheTask<T>(fn: () => Promise<T>, cacheVariant: string): Promise<T>;
23
+ declare function createPprFallbackShellSuspensePromiseForState<T>(state: PprFallbackShellState, expression: string): Promise<T>;
24
+ declare function createPprFallbackShellSuspensePromise<T>(expression: string): Promise<T> | null;
25
+ declare function waitForPprFallbackShellCacheReady(state: PprFallbackShellState): Promise<void>;
26
+ declare function preparePprFallbackShellFinalRender(state: PprFallbackShellState): void;
27
+ declare function isPprFallbackShellAbortError(error: unknown): boolean;
28
+ //#endregion
29
+ export { PprFallbackShellState, createPprFallbackShellState, createPprFallbackShellSuspensePromise, createPprFallbackShellSuspensePromiseForState, getPprFallbackShellState, isPprFallbackShellAbortError, preparePprFallbackShellFinalRender, runWithPprFallbackShellState, trackPprFallbackShellCacheTask, waitForPprFallbackShellCacheReady };