vinext 0.0.55 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1001) hide show
  1. package/README.md +51 -15
  2. package/dist/build/assets-ignore.d.ts +32 -0
  3. package/dist/build/assets-ignore.js +48 -0
  4. package/dist/build/clean-output.d.ts +1 -2
  5. package/dist/build/clean-output.js +0 -2
  6. package/dist/build/client-build-config.d.ts +42 -3
  7. package/dist/build/client-build-config.js +86 -4
  8. package/dist/build/css-url-assets.d.ts +29 -0
  9. package/dist/build/css-url-assets.js +211 -0
  10. package/dist/build/google-fonts/build-url.d.ts +1 -2
  11. package/dist/build/google-fonts/build-url.js +0 -2
  12. package/dist/build/google-fonts/fallback-metrics-data.js +0 -2
  13. package/dist/build/google-fonts/fallback-metrics.d.ts +1 -2
  14. package/dist/build/google-fonts/fallback-metrics.js +0 -2
  15. package/dist/build/google-fonts/font-data.js +0 -2
  16. package/dist/build/google-fonts/font-metadata.d.ts +1 -2
  17. package/dist/build/google-fonts/font-metadata.js +0 -2
  18. package/dist/build/google-fonts/get-axes.d.ts +1 -2
  19. package/dist/build/google-fonts/get-axes.js +0 -2
  20. package/dist/build/google-fonts/sort-variants.d.ts +1 -2
  21. package/dist/build/google-fonts/sort-variants.js +0 -2
  22. package/dist/build/google-fonts/validate.d.ts +1 -2
  23. package/dist/build/google-fonts/validate.js +0 -2
  24. package/dist/build/inline-css.d.ts +1 -2
  25. package/dist/build/inline-css.js +0 -2
  26. package/dist/build/layout-classification-types.d.ts +1 -2
  27. package/dist/build/layout-classification.d.ts +2 -3
  28. package/dist/build/layout-classification.js +1 -3
  29. package/dist/build/next-client-runtime-manifests.d.ts +14 -0
  30. package/dist/build/next-client-runtime-manifests.js +39 -0
  31. package/dist/build/nitro-route-rules.d.ts +1 -2
  32. package/dist/build/nitro-route-rules.js +0 -2
  33. package/dist/build/precompress.d.ts +1 -2
  34. package/dist/build/precompress.js +0 -2
  35. package/dist/build/prerender.d.ts +2 -3
  36. package/dist/build/prerender.js +14 -2
  37. package/dist/build/report.d.ts +1 -2
  38. package/dist/build/report.js +0 -2
  39. package/dist/build/route-classification-injector.d.ts +1 -2
  40. package/dist/build/route-classification-injector.js +4 -6
  41. package/dist/build/route-classification-manifest.d.ts +5 -6
  42. package/dist/build/route-classification-manifest.js +5 -7
  43. package/dist/build/run-prerender.d.ts +1 -2
  44. package/dist/build/run-prerender.js +15 -7
  45. package/dist/build/server-manifest.d.ts +1 -2
  46. package/dist/build/server-manifest.js +0 -2
  47. package/dist/build/ssr-manifest.d.ts +1 -2
  48. package/dist/build/ssr-manifest.js +2 -4
  49. package/dist/build/standalone.d.ts +1 -2
  50. package/dist/build/standalone.js +0 -2
  51. package/dist/build/static-export.d.ts +2 -3
  52. package/dist/build/static-export.js +0 -2
  53. package/dist/cache/cache-adapters-virtual.d.ts +50 -0
  54. package/dist/cache/cache-adapters-virtual.js +45 -0
  55. package/dist/check.d.ts +33 -2
  56. package/dist/check.js +306 -24
  57. package/dist/cli-args.d.ts +1 -2
  58. package/dist/cli-args.js +0 -2
  59. package/dist/cli.js +9 -13
  60. package/dist/client/instrumentation-client-inject.d.ts +1 -2
  61. package/dist/client/instrumentation-client-inject.js +0 -2
  62. package/dist/client/instrumentation-client-state.d.ts +1 -2
  63. package/dist/client/instrumentation-client-state.js +0 -2
  64. package/dist/client/instrumentation-client.d.ts +1 -2
  65. package/dist/client/instrumentation-client.js +0 -2
  66. package/dist/client/navigation-runtime.d.ts +9 -2
  67. package/dist/client/navigation-runtime.js +1 -3
  68. package/dist/client/pages-router-link-navigation.d.ts +1 -2
  69. package/dist/client/pages-router-link-navigation.js +0 -2
  70. package/dist/client/validate-module-path.d.ts +1 -2
  71. package/dist/client/validate-module-path.js +0 -2
  72. package/dist/client/vinext-next-data.d.ts +3 -3
  73. package/dist/client/vinext-next-data.js +0 -2
  74. package/dist/client/window-next.d.ts +1 -2
  75. package/dist/client/window-next.js +0 -2
  76. package/dist/cloudflare/index.d.ts +1 -1
  77. package/dist/cloudflare/index.js +1 -1
  78. package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +97 -0
  79. package/dist/cloudflare/{kv-cache-handler.d.ts → src/cache/kv-data-adapter.runtime.d.ts} +25 -6
  80. package/dist/cloudflare/{kv-cache-handler.js → src/cache/kv-data-adapter.runtime.js} +36 -28
  81. package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
  82. package/dist/cloudflare/tpr.d.ts +2 -3
  83. package/dist/cloudflare/tpr.js +8 -8
  84. package/dist/config/config-matchers.d.ts +20 -2
  85. package/dist/config/config-matchers.js +35 -3
  86. package/dist/config/dotenv.d.ts +1 -2
  87. package/dist/config/dotenv.js +0 -2
  88. package/dist/config/next-config.d.ts +32 -5
  89. package/dist/config/next-config.js +53 -6
  90. package/dist/config/tsconfig-paths.d.ts +1 -2
  91. package/dist/config/tsconfig-paths.js +3 -7
  92. package/dist/deploy.d.ts +48 -3
  93. package/dist/deploy.js +180 -415
  94. package/dist/entries/app-browser-entry.d.ts +1 -2
  95. package/dist/entries/app-browser-entry.js +0 -2
  96. package/dist/entries/app-rsc-entry.d.ts +12 -6
  97. package/dist/entries/app-rsc-entry.js +101 -62
  98. package/dist/entries/app-rsc-manifest.d.ts +1 -2
  99. package/dist/entries/app-rsc-manifest.js +40 -9
  100. package/dist/entries/app-ssr-entry.d.ts +1 -2
  101. package/dist/entries/app-ssr-entry.js +0 -2
  102. package/dist/entries/pages-client-entry.d.ts +3 -3
  103. package/dist/entries/pages-client-entry.js +16 -5
  104. package/dist/entries/pages-entry-helpers.d.ts +2 -11
  105. package/dist/entries/pages-entry-helpers.js +1 -20
  106. package/dist/entries/pages-server-entry.d.ts +2 -3
  107. package/dist/entries/pages-server-entry.js +98 -703
  108. package/dist/entries/runtime-entry-module.d.ts +1 -2
  109. package/dist/entries/runtime-entry-module.js +0 -2
  110. package/dist/index.d.ts +22 -2
  111. package/dist/index.js +376 -316
  112. package/dist/init.d.ts +1 -2
  113. package/dist/init.js +1 -3
  114. package/dist/plugins/ast-utils.d.ts +20 -0
  115. package/dist/plugins/ast-utils.js +78 -0
  116. package/dist/plugins/async-hooks-stub.d.ts +1 -2
  117. package/dist/plugins/async-hooks-stub.js +0 -2
  118. package/dist/plugins/client-reference-dedup.d.ts +1 -2
  119. package/dist/plugins/client-reference-dedup.js +4 -8
  120. package/dist/plugins/css-data-url.d.ts +1 -2
  121. package/dist/plugins/css-data-url.js +0 -2
  122. package/dist/plugins/fonts.d.ts +13 -3
  123. package/dist/plugins/fonts.js +19 -13
  124. package/dist/plugins/import-meta-url.d.ts +2 -2
  125. package/dist/plugins/import-meta-url.js +187 -33
  126. package/dist/plugins/instrumentation-client.d.ts +1 -2
  127. package/dist/plugins/instrumentation-client.js +0 -2
  128. package/dist/plugins/middleware-server-only.d.ts +1 -2
  129. package/dist/plugins/middleware-server-only.js +0 -2
  130. package/dist/plugins/og-assets.d.ts +32 -8
  131. package/dist/plugins/og-assets.js +126 -34
  132. package/dist/plugins/optimize-imports.d.ts +1 -2
  133. package/dist/plugins/optimize-imports.js +9 -17
  134. package/dist/plugins/postcss.d.ts +1 -2
  135. package/dist/plugins/postcss.js +18 -16
  136. package/dist/plugins/remove-console.d.ts +1 -2
  137. package/dist/plugins/remove-console.js +0 -2
  138. package/dist/plugins/require-context.d.ts +6 -0
  139. package/dist/plugins/require-context.js +184 -0
  140. package/dist/plugins/rsc-client-reference-loaders.d.ts +1 -2
  141. package/dist/plugins/rsc-client-reference-loaders.js +0 -2
  142. package/dist/plugins/rsc-client-shim-excludes.d.ts +1 -2
  143. package/dist/plugins/rsc-client-shim-excludes.js +0 -2
  144. package/dist/plugins/sass.d.ts +1 -2
  145. package/dist/plugins/sass.js +0 -2
  146. package/dist/plugins/server-externals-manifest.d.ts +1 -2
  147. package/dist/plugins/server-externals-manifest.js +0 -2
  148. package/dist/plugins/strip-server-exports.d.ts +1 -2
  149. package/dist/plugins/strip-server-exports.js +0 -2
  150. package/dist/routing/app-route-graph.d.ts +14 -10
  151. package/dist/routing/app-route-graph.js +146 -35
  152. package/dist/routing/app-router.d.ts +1 -2
  153. package/dist/routing/app-router.js +0 -2
  154. package/dist/routing/file-matcher.d.ts +6 -2
  155. package/dist/routing/file-matcher.js +15 -7
  156. package/dist/routing/pages-router.d.ts +1 -2
  157. package/dist/routing/pages-router.js +0 -2
  158. package/dist/routing/route-matching.d.ts +1 -2
  159. package/dist/routing/route-matching.js +0 -2
  160. package/dist/routing/route-pattern.d.ts +2 -2
  161. package/dist/routing/route-pattern.js +16 -3
  162. package/dist/routing/route-trie.d.ts +1 -2
  163. package/dist/routing/route-trie.js +0 -2
  164. package/dist/routing/route-validation.d.ts +1 -2
  165. package/dist/routing/route-validation.js +0 -2
  166. package/dist/routing/utils.d.ts +44 -2
  167. package/dist/routing/utils.js +62 -3
  168. package/dist/server/api-handler.d.ts +1 -2
  169. package/dist/server/api-handler.js +4 -2
  170. package/dist/server/app-bfcache-id.d.ts +5 -0
  171. package/dist/server/app-bfcache-id.js +5 -0
  172. package/dist/server/app-browser-action-result.d.ts +1 -2
  173. package/dist/server/app-browser-action-result.js +0 -2
  174. package/dist/server/app-browser-client-reuse-manifest.d.ts +12 -0
  175. package/dist/server/app-browser-client-reuse-manifest.js +101 -0
  176. package/dist/server/app-browser-entry.js +244 -88
  177. package/dist/server/app-browser-error.d.ts +1 -2
  178. package/dist/server/app-browser-error.js +0 -2
  179. package/dist/server/app-browser-hydration.d.ts +1 -2
  180. package/dist/server/app-browser-hydration.js +0 -2
  181. package/dist/server/app-browser-interception-context.d.ts +2 -2
  182. package/dist/server/app-browser-interception-context.js +15 -4
  183. package/dist/server/app-browser-mpa-navigation.d.ts +2 -2
  184. package/dist/server/app-browser-mpa-navigation.js +9 -3
  185. package/dist/server/app-browser-navigation-controller.d.ts +15 -4
  186. package/dist/server/app-browser-navigation-controller.js +80 -4
  187. package/dist/server/app-browser-popstate.d.ts +12 -4
  188. package/dist/server/app-browser-popstate.js +19 -6
  189. package/dist/server/app-browser-rsc-redirect.d.ts +1 -2
  190. package/dist/server/app-browser-rsc-redirect.js +0 -2
  191. package/dist/server/app-browser-state.d.ts +31 -4
  192. package/dist/server/app-browser-state.js +196 -10
  193. package/dist/server/app-browser-stream.d.ts +1 -2
  194. package/dist/server/app-browser-stream.js +0 -2
  195. package/dist/server/app-browser-visible-commit.d.ts +2 -3
  196. package/dist/server/app-browser-visible-commit.js +30 -21
  197. package/dist/server/app-client-reference-preloader.d.ts +1 -2
  198. package/dist/server/app-client-reference-preloader.js +0 -2
  199. package/dist/server/app-elements-wire.d.ts +14 -8
  200. package/dist/server/app-elements-wire.js +45 -24
  201. package/dist/server/app-elements.d.ts +2 -3
  202. package/dist/server/app-elements.js +2 -4
  203. package/dist/server/app-fallback-renderer.d.ts +5 -5
  204. package/dist/server/app-fallback-renderer.js +4 -3
  205. package/dist/server/app-history-state.d.ts +62 -2
  206. package/dist/server/app-history-state.js +176 -10
  207. package/dist/server/app-hook-warning-suppression.d.ts +1 -2
  208. package/dist/server/app-hook-warning-suppression.js +0 -2
  209. package/dist/server/app-inline-css-client.d.ts +1 -2
  210. package/dist/server/app-inline-css-client.js +0 -2
  211. package/dist/server/app-interception-context-header.d.ts +1 -2
  212. package/dist/server/app-interception-context-header.js +0 -2
  213. package/dist/server/app-layout-param-observation.d.ts +15 -2
  214. package/dist/server/app-layout-param-observation.js +46 -8
  215. package/dist/server/app-middleware.d.ts +1 -2
  216. package/dist/server/app-middleware.js +0 -2
  217. package/dist/server/app-mounted-slots-header.d.ts +1 -2
  218. package/dist/server/app-mounted-slots-header.js +0 -2
  219. package/dist/server/app-optimistic-routing.d.ts +1 -2
  220. package/dist/server/app-optimistic-routing.js +0 -2
  221. package/dist/server/app-page-boundary-render.d.ts +4 -3
  222. package/dist/server/app-page-boundary-render.js +59 -28
  223. package/dist/server/app-page-boundary.d.ts +11 -2
  224. package/dist/server/app-page-boundary.js +13 -4
  225. package/dist/server/app-page-cache.d.ts +3 -3
  226. package/dist/server/app-page-cache.js +36 -11
  227. package/dist/server/app-page-dispatch.d.ts +25 -5
  228. package/dist/server/app-page-dispatch.js +122 -25
  229. package/dist/server/app-page-element-builder.d.ts +4 -2
  230. package/dist/server/app-page-element-builder.js +31 -21
  231. package/dist/server/app-page-execution.d.ts +8 -3
  232. package/dist/server/app-page-execution.js +55 -24
  233. package/dist/server/app-page-head.d.ts +1 -2
  234. package/dist/server/app-page-head.js +6 -6
  235. package/dist/server/app-page-method.d.ts +1 -2
  236. package/dist/server/app-page-method.js +0 -2
  237. package/dist/server/app-page-params.d.ts +1 -2
  238. package/dist/server/app-page-params.js +0 -2
  239. package/dist/server/app-page-probe.d.ts +79 -2
  240. package/dist/server/app-page-probe.js +89 -9
  241. package/dist/server/app-page-render-identity.d.ts +1 -2
  242. package/dist/server/app-page-render-identity.js +0 -2
  243. package/dist/server/app-page-render-observation.d.ts +1 -2
  244. package/dist/server/app-page-render-observation.js +0 -2
  245. package/dist/server/app-page-render.d.ts +15 -3
  246. package/dist/server/app-page-render.js +171 -12
  247. package/dist/server/app-page-request.d.ts +12 -9
  248. package/dist/server/app-page-request.js +12 -11
  249. package/dist/server/app-page-response.d.ts +4 -4
  250. package/dist/server/app-page-response.js +6 -4
  251. package/dist/server/app-page-route-wiring.d.ts +14 -3
  252. package/dist/server/app-page-route-wiring.js +65 -12
  253. package/dist/server/app-page-search-params-observation.d.ts +10 -0
  254. package/dist/server/app-page-search-params-observation.js +20 -0
  255. package/dist/server/app-page-segment-state.d.ts +1 -2
  256. package/dist/server/app-page-segment-state.js +1 -8
  257. package/dist/server/app-page-stream.d.ts +54 -9
  258. package/dist/server/app-page-stream.js +61 -10
  259. package/dist/server/app-pages-bridge.d.ts +41 -0
  260. package/dist/server/app-pages-bridge.js +54 -0
  261. package/dist/server/app-post-middleware-context.d.ts +1 -2
  262. package/dist/server/app-post-middleware-context.js +0 -2
  263. package/dist/server/app-ppr-fallback-shell.d.ts +21 -0
  264. package/dist/server/app-ppr-fallback-shell.js +82 -0
  265. package/dist/server/app-prerender-endpoints.d.ts +1 -2
  266. package/dist/server/app-prerender-endpoints.js +0 -2
  267. package/dist/server/app-prerender-static-params.d.ts +15 -2
  268. package/dist/server/app-prerender-static-params.js +44 -13
  269. package/dist/server/app-render-dependency.d.ts +3 -2
  270. package/dist/server/app-render-dependency.js +9 -3
  271. package/dist/server/app-request-context.d.ts +1 -2
  272. package/dist/server/app-request-context.js +0 -2
  273. package/dist/server/app-route-handler-cache.d.ts +2 -2
  274. package/dist/server/app-route-handler-cache.js +1 -2
  275. package/dist/server/app-route-handler-dispatch.d.ts +2 -2
  276. package/dist/server/app-route-handler-dispatch.js +2 -2
  277. package/dist/server/app-route-handler-execution.d.ts +2 -2
  278. package/dist/server/app-route-handler-execution.js +3 -4
  279. package/dist/server/app-route-handler-policy.d.ts +1 -2
  280. package/dist/server/app-route-handler-policy.js +0 -2
  281. package/dist/server/app-route-handler-response.d.ts +2 -3
  282. package/dist/server/app-route-handler-response.js +7 -6
  283. package/dist/server/app-route-handler-runtime.d.ts +2 -2
  284. package/dist/server/app-route-handler-runtime.js +3 -4
  285. package/dist/server/app-route-module-loader.d.ts +43 -0
  286. package/dist/server/app-route-module-loader.js +32 -0
  287. package/dist/server/app-router-entry.d.ts +1 -2
  288. package/dist/server/app-router-entry.js +2 -2
  289. package/dist/server/app-rsc-cache-busting.d.ts +10 -2
  290. package/dist/server/app-rsc-cache-busting.js +13 -4
  291. package/dist/server/app-rsc-embedded-chunks.d.ts +1 -2
  292. package/dist/server/app-rsc-embedded-chunks.js +0 -2
  293. package/dist/server/app-rsc-error-handler.d.ts +1 -2
  294. package/dist/server/app-rsc-error-handler.js +0 -2
  295. package/dist/server/app-rsc-errors.d.ts +1 -2
  296. package/dist/server/app-rsc-errors.js +0 -2
  297. package/dist/server/app-rsc-handler.d.ts +17 -2
  298. package/dist/server/app-rsc-handler.js +24 -15
  299. package/dist/server/app-rsc-render-mode.d.ts +1 -2
  300. package/dist/server/app-rsc-render-mode.js +0 -2
  301. package/dist/server/app-rsc-request-normalization.d.ts +4 -5
  302. package/dist/server/app-rsc-request-normalization.js +2 -4
  303. package/dist/server/app-rsc-response-finalizer.d.ts +1 -2
  304. package/dist/server/app-rsc-response-finalizer.js +2 -2
  305. package/dist/server/app-rsc-route-matching.d.ts +20 -2
  306. package/dist/server/app-rsc-route-matching.js +29 -6
  307. package/dist/server/app-segment-config.d.ts +4 -2
  308. package/dist/server/app-segment-config.js +8 -2
  309. package/dist/server/app-server-action-execution.d.ts +18 -3
  310. package/dist/server/app-server-action-execution.js +75 -18
  311. package/dist/server/app-ssr-entry.d.ts +11 -4
  312. package/dist/server/app-ssr-entry.js +47 -15
  313. package/dist/server/app-ssr-error-meta.d.ts +1 -2
  314. package/dist/server/app-ssr-error-meta.js +0 -2
  315. package/dist/server/app-ssr-stream.d.ts +1 -2
  316. package/dist/server/app-ssr-stream.js +31 -3
  317. package/dist/server/app-static-generation.d.ts +1 -2
  318. package/dist/server/app-static-generation.js +0 -2
  319. package/dist/server/app-visited-response-cache.d.ts +23 -0
  320. package/dist/server/app-visited-response-cache.js +19 -0
  321. package/dist/server/artifact-compatibility.d.ts +1 -2
  322. package/dist/server/artifact-compatibility.js +2 -6
  323. package/dist/server/cache-control.d.ts +15 -2
  324. package/dist/server/cache-control.js +21 -3
  325. package/dist/server/cache-headers.d.ts +1 -2
  326. package/dist/server/cache-headers.js +0 -2
  327. package/dist/server/cache-proof.d.ts +1 -2
  328. package/dist/server/cache-proof.js +0 -2
  329. package/dist/server/client-reuse-manifest.d.ts +3 -3
  330. package/dist/server/client-reuse-manifest.js +6 -10
  331. package/dist/server/client-trace-metadata.d.ts +1 -2
  332. package/dist/server/client-trace-metadata.js +0 -2
  333. package/dist/server/cookie-utils.d.ts +1 -2
  334. package/dist/server/cookie-utils.js +0 -2
  335. package/dist/server/csp.d.ts +1 -2
  336. package/dist/server/csp.js +0 -2
  337. package/dist/server/default-global-error-module.d.ts +1 -2
  338. package/dist/server/default-global-error-module.js +0 -2
  339. package/dist/server/default-not-found-module.d.ts +1 -2
  340. package/dist/server/default-not-found-module.js +0 -2
  341. package/dist/server/dev-error-overlay-store.d.ts +20 -4
  342. package/dist/server/dev-error-overlay-store.js +23 -4
  343. package/dist/server/dev-error-overlay.d.ts +39 -3
  344. package/dist/server/dev-error-overlay.js +952 -164
  345. package/dist/server/dev-initial-server-error.d.ts +9 -0
  346. package/dist/server/dev-initial-server-error.js +26 -0
  347. package/dist/server/dev-lockfile.d.ts +1 -2
  348. package/dist/server/dev-lockfile.js +0 -2
  349. package/dist/server/dev-module-runner.d.ts +1 -2
  350. package/dist/server/dev-module-runner.js +0 -2
  351. package/dist/server/dev-origin-check.d.ts +1 -2
  352. package/dist/server/dev-origin-check.js +0 -2
  353. package/dist/server/dev-route-files.d.ts +1 -2
  354. package/dist/server/dev-route-files.js +0 -2
  355. package/dist/server/dev-server.d.ts +3 -4
  356. package/dist/server/dev-server.js +129 -49
  357. package/dist/server/dev-stack-sourcemap-endpoint.d.ts +4 -0
  358. package/dist/server/dev-stack-sourcemap-endpoint.js +4 -0
  359. package/dist/server/dev-stack-sourcemap.d.ts +43 -0
  360. package/dist/server/dev-stack-sourcemap.js +443 -0
  361. package/dist/server/document-initial-head.d.ts +1 -2
  362. package/dist/server/document-initial-head.js +0 -2
  363. package/dist/server/edge-api-runtime.d.ts +1 -2
  364. package/dist/server/edge-api-runtime.js +0 -2
  365. package/dist/server/file-based-metadata.d.ts +1 -2
  366. package/dist/server/file-based-metadata.js +0 -2
  367. package/dist/server/headers.d.ts +3 -2
  368. package/dist/server/headers.js +3 -3
  369. package/dist/server/html.d.ts +1 -2
  370. package/dist/server/html.js +0 -2
  371. package/dist/server/http-error-responses.d.ts +1 -2
  372. package/dist/server/http-error-responses.js +0 -2
  373. package/dist/server/image-optimization.d.ts +1 -2
  374. package/dist/server/image-optimization.js +0 -2
  375. package/dist/server/implicit-tags.d.ts +1 -2
  376. package/dist/server/implicit-tags.js +0 -2
  377. package/dist/server/instrumentation-runtime.d.ts +1 -2
  378. package/dist/server/instrumentation-runtime.js +0 -2
  379. package/dist/server/instrumentation.d.ts +1 -2
  380. package/dist/server/instrumentation.js +0 -2
  381. package/dist/server/isr-cache.d.ts +46 -3
  382. package/dist/server/isr-cache.js +93 -24
  383. package/dist/server/metadata-route-build-data.d.ts +1 -2
  384. package/dist/server/metadata-route-build-data.js +0 -2
  385. package/dist/server/metadata-route-response.d.ts +1 -2
  386. package/dist/server/metadata-route-response.js +0 -2
  387. package/dist/server/metadata-routes.d.ts +1 -2
  388. package/dist/server/metadata-routes.js +0 -2
  389. package/dist/server/middleware-matcher.d.ts +1 -2
  390. package/dist/server/middleware-matcher.js +0 -2
  391. package/dist/server/middleware-request-headers.d.ts +1 -2
  392. package/dist/server/middleware-request-headers.js +0 -2
  393. package/dist/server/middleware-response-headers.d.ts +1 -2
  394. package/dist/server/middleware-response-headers.js +0 -2
  395. package/dist/server/middleware-runtime.d.ts +1 -2
  396. package/dist/server/middleware-runtime.js +14 -5
  397. package/dist/server/middleware.d.ts +2 -3
  398. package/dist/server/middleware.js +0 -2
  399. package/dist/server/navigation-planner.d.ts +16 -2
  400. package/dist/server/navigation-planner.js +6 -6
  401. package/dist/server/navigation-trace.d.ts +1 -2
  402. package/dist/server/navigation-trace.js +0 -2
  403. package/dist/server/next-error-digest.d.ts +1 -2
  404. package/dist/server/next-error-digest.js +0 -2
  405. package/dist/server/normalize-path.d.ts +1 -2
  406. package/dist/server/normalize-path.js +0 -2
  407. package/dist/server/pages-api-route.d.ts +1 -2
  408. package/dist/server/pages-api-route.js +1 -3
  409. package/dist/server/pages-asset-tags.d.ts +66 -0
  410. package/dist/server/pages-asset-tags.js +116 -0
  411. package/dist/server/pages-body-parser-config.d.ts +1 -2
  412. package/dist/server/pages-body-parser-config.js +0 -2
  413. package/dist/server/pages-data-route.d.ts +39 -2
  414. package/dist/server/pages-data-route.js +46 -3
  415. package/dist/server/pages-default-404.d.ts +1 -2
  416. package/dist/server/pages-default-404.js +0 -2
  417. package/dist/server/pages-document-initial-props.d.ts +1 -2
  418. package/dist/server/pages-document-initial-props.js +0 -2
  419. package/dist/server/pages-get-initial-props.d.ts +17 -0
  420. package/dist/server/pages-get-initial-props.js +50 -0
  421. package/dist/server/pages-i18n.d.ts +1 -2
  422. package/dist/server/pages-i18n.js +0 -2
  423. package/dist/server/pages-media-type.d.ts +1 -2
  424. package/dist/server/pages-media-type.js +1 -2
  425. package/dist/server/pages-node-compat.d.ts +11 -2
  426. package/dist/server/pages-node-compat.js +38 -3
  427. package/dist/server/pages-page-data.d.ts +17 -10
  428. package/dist/server/pages-page-data.js +79 -35
  429. package/dist/server/pages-page-handler.d.ts +97 -0
  430. package/dist/server/pages-page-handler.js +348 -0
  431. package/dist/server/pages-page-method.d.ts +1 -2
  432. package/dist/server/pages-page-method.js +0 -2
  433. package/dist/server/pages-page-response.d.ts +11 -3
  434. package/dist/server/pages-page-response.js +16 -5
  435. package/dist/server/pages-readiness.d.ts +36 -0
  436. package/dist/server/pages-readiness.js +21 -0
  437. package/dist/server/pages-request-pipeline.d.ts +99 -0
  438. package/dist/server/pages-request-pipeline.js +209 -0
  439. package/dist/server/pages-revalidate.d.ts +15 -0
  440. package/dist/server/pages-revalidate.js +19 -0
  441. package/dist/server/pages-serializable-props.d.ts +1 -2
  442. package/dist/server/pages-serializable-props.js +0 -2
  443. package/dist/server/pregenerated-concrete-paths.d.ts +32 -0
  444. package/dist/server/pregenerated-concrete-paths.js +78 -0
  445. package/dist/server/prerender-route-params.d.ts +13 -3
  446. package/dist/server/prerender-route-params.js +30 -11
  447. package/dist/server/prerender-work-unit-setup.d.ts +1 -2
  448. package/dist/server/prerender-work-unit-setup.js +0 -2
  449. package/dist/server/prod-server.d.ts +8 -6
  450. package/dist/server/prod-server.js +101 -219
  451. package/dist/server/proxy-trust.d.ts +1 -2
  452. package/dist/server/proxy-trust.js +0 -2
  453. package/dist/server/request-log.d.ts +1 -2
  454. package/dist/server/request-log.js +0 -2
  455. package/dist/server/request-pipeline.d.ts +14 -2
  456. package/dist/server/request-pipeline.js +42 -3
  457. package/dist/server/rsc-stream-hints.d.ts +1 -2
  458. package/dist/server/rsc-stream-hints.js +0 -2
  459. package/dist/server/seed-cache.d.ts +6 -2
  460. package/dist/server/seed-cache.js +10 -8
  461. package/dist/server/server-action-not-found.d.ts +1 -2
  462. package/dist/server/server-action-not-found.js +0 -2
  463. package/dist/server/server-globals.d.ts +1 -2
  464. package/dist/server/server-globals.js +0 -2
  465. package/dist/server/skip-cache-proof.d.ts +1 -2
  466. package/dist/server/skip-cache-proof.js +0 -2
  467. package/dist/server/socket-error-backstop.d.ts +19 -2
  468. package/dist/server/socket-error-backstop.js +77 -6
  469. package/dist/server/static-file-cache.d.ts +1 -2
  470. package/dist/server/static-file-cache.js +0 -2
  471. package/dist/server/static-layout-client-reuse-proof.d.ts +1 -2
  472. package/dist/server/static-layout-client-reuse-proof.js +0 -2
  473. package/dist/server/streaming-metadata.d.ts +1 -2
  474. package/dist/server/streaming-metadata.js +0 -2
  475. package/dist/server/worker-utils.d.ts +1 -2
  476. package/dist/server/worker-utils.js +3 -6
  477. package/dist/shims/amp.d.ts +1 -2
  478. package/dist/shims/amp.js +0 -2
  479. package/dist/shims/app-router-scroll-state.d.ts +1 -2
  480. package/dist/shims/app-router-scroll-state.js +0 -2
  481. package/dist/shims/app-router-scroll.d.ts +3 -5
  482. package/dist/shims/app-router-scroll.js +22 -6
  483. package/dist/shims/app.d.ts +1 -2
  484. package/dist/shims/app.js +0 -2
  485. package/dist/shims/before-interactive-context.d.ts +1 -2
  486. package/dist/shims/before-interactive-context.js +0 -2
  487. package/dist/shims/cache-for-request.d.ts +1 -2
  488. package/dist/shims/cache-for-request.js +0 -2
  489. package/dist/shims/cache-runtime.d.ts +20 -5
  490. package/dist/shims/cache-runtime.js +66 -31
  491. package/dist/shims/cache.d.ts +48 -7
  492. package/dist/shims/cache.js +79 -20
  493. package/dist/shims/cdn-cache.d.ts +125 -0
  494. package/dist/shims/cdn-cache.js +100 -0
  495. package/dist/shims/client-hook-error.d.ts +1 -2
  496. package/dist/shims/client-hook-error.js +0 -2
  497. package/dist/shims/client-locale.d.ts +1 -2
  498. package/dist/shims/client-locale.js +1 -3
  499. package/dist/shims/compat-router.d.ts +1 -2
  500. package/dist/shims/compat-router.js +0 -2
  501. package/dist/shims/config.d.ts +1 -2
  502. package/dist/shims/config.js +0 -2
  503. package/dist/shims/constants.d.ts +1 -2
  504. package/dist/shims/constants.js +0 -2
  505. package/dist/shims/default-global-error.d.ts +3 -4
  506. package/dist/shims/default-global-error.js +0 -2
  507. package/dist/shims/default-not-found.d.ts +1 -2
  508. package/dist/shims/default-not-found.js +0 -2
  509. package/dist/shims/document.d.ts +5 -7
  510. package/dist/shims/document.js +0 -2
  511. package/dist/shims/dynamic.d.ts +1 -2
  512. package/dist/shims/dynamic.js +0 -2
  513. package/dist/shims/error-boundary.d.ts +32 -18
  514. package/dist/shims/error-boundary.js +43 -3
  515. package/dist/shims/error.d.ts +1 -2
  516. package/dist/shims/error.js +0 -2
  517. package/dist/shims/fetch-cache.d.ts +14 -2
  518. package/dist/shims/fetch-cache.js +20 -5
  519. package/dist/shims/font-google-base.d.ts +1 -2
  520. package/dist/shims/font-google-base.js +1 -13
  521. package/dist/shims/font-local.d.ts +1 -2
  522. package/dist/shims/font-local.js +1 -15
  523. package/dist/shims/font-utils.d.ts +7 -2
  524. package/dist/shims/font-utils.js +13 -3
  525. package/dist/shims/form.d.ts +12 -5
  526. package/dist/shims/form.js +98 -21
  527. package/dist/shims/hash-scroll.d.ts +2 -2
  528. package/dist/shims/hash-scroll.js +3 -3
  529. package/dist/shims/head-state.d.ts +1 -2
  530. package/dist/shims/head-state.js +0 -2
  531. package/dist/shims/head.d.ts +1 -2
  532. package/dist/shims/head.js +0 -2
  533. package/dist/shims/headers.d.ts +9 -2
  534. package/dist/shims/headers.js +13 -3
  535. package/dist/shims/i18n-context.d.ts +1 -2
  536. package/dist/shims/i18n-context.js +0 -2
  537. package/dist/shims/i18n-state.d.ts +1 -2
  538. package/dist/shims/i18n-state.js +0 -2
  539. package/dist/shims/image-config.d.ts +1 -2
  540. package/dist/shims/image-config.js +0 -2
  541. package/dist/shims/image.d.ts +1 -2
  542. package/dist/shims/image.js +1 -3
  543. package/dist/shims/internal/als-registry.d.ts +1 -2
  544. package/dist/shims/internal/als-registry.js +0 -2
  545. package/dist/shims/internal/api-utils.d.ts +1 -2
  546. package/dist/shims/internal/app-route-detection.d.ts +1 -2
  547. package/dist/shims/internal/app-route-detection.js +0 -2
  548. package/dist/shims/internal/app-router-context.d.ts +1 -2
  549. package/dist/shims/internal/app-router-context.js +0 -2
  550. package/dist/shims/internal/cookie-serialize.d.ts +1 -2
  551. package/dist/shims/internal/cookie-serialize.js +0 -2
  552. package/dist/shims/internal/link-status-registry.d.ts +43 -0
  553. package/dist/shims/internal/link-status-registry.js +42 -0
  554. package/dist/shims/internal/make-hanging-promise.d.ts +1 -2
  555. package/dist/shims/internal/make-hanging-promise.js +0 -2
  556. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +1 -2
  557. package/dist/shims/internal/pages-data-fetch-dedup.js +0 -2
  558. package/dist/shims/internal/pages-data-target.d.ts +1 -2
  559. package/dist/shims/internal/pages-data-target.js +0 -2
  560. package/dist/shims/internal/pages-data-url.d.ts +1 -2
  561. package/dist/shims/internal/pages-data-url.js +0 -2
  562. package/dist/shims/internal/parse-cookie-header.d.ts +1 -2
  563. package/dist/shims/internal/parse-cookie-header.js +0 -2
  564. package/dist/shims/internal/route-pattern-for-warning.d.ts +27 -0
  565. package/dist/shims/internal/route-pattern-for-warning.js +40 -0
  566. package/dist/shims/internal/router-context.d.ts +2 -4
  567. package/dist/shims/internal/router-context.js +0 -2
  568. package/dist/shims/internal/utils.d.ts +2 -2
  569. package/dist/shims/internal/utils.js +0 -2
  570. package/dist/shims/internal/work-unit-async-storage.d.ts +1 -2
  571. package/dist/shims/internal/work-unit-async-storage.js +0 -2
  572. package/dist/shims/layout-segment-context.d.ts +2 -4
  573. package/dist/shims/layout-segment-context.js +0 -2
  574. package/dist/shims/legacy-image.d.ts +1 -2
  575. package/dist/shims/legacy-image.js +0 -2
  576. package/dist/shims/link-prefetch.d.ts +1 -2
  577. package/dist/shims/link-prefetch.js +0 -2
  578. package/dist/shims/link.d.ts +2 -2
  579. package/dist/shims/link.js +40 -20
  580. package/dist/shims/metadata.d.ts +4 -5
  581. package/dist/shims/metadata.js +1 -3
  582. package/dist/shims/navigation-state.d.ts +1 -2
  583. package/dist/shims/navigation-state.js +0 -2
  584. package/dist/shims/navigation.d.ts +25 -9
  585. package/dist/shims/navigation.js +251 -46
  586. package/dist/shims/navigation.react-server.d.ts +1 -2
  587. package/dist/shims/navigation.react-server.js +0 -2
  588. package/dist/shims/offline.d.ts +1 -2
  589. package/dist/shims/offline.js +0 -2
  590. package/dist/shims/og.d.ts +1 -2
  591. package/dist/shims/og.js +2 -4
  592. package/dist/shims/pages-router-runtime.d.ts +7 -2
  593. package/dist/shims/pages-router-runtime.js +11 -3
  594. package/dist/shims/ppr-fallback-shell.d.ts +29 -0
  595. package/dist/shims/ppr-fallback-shell.js +149 -0
  596. package/dist/shims/readonly-url-search-params.d.ts +1 -2
  597. package/dist/shims/readonly-url-search-params.js +0 -2
  598. package/dist/shims/request-context.d.ts +9 -5
  599. package/dist/shims/request-context.js +0 -2
  600. package/dist/shims/request-state-types.d.ts +1 -1
  601. package/dist/shims/root-params.d.ts +1 -2
  602. package/dist/shims/root-params.js +0 -2
  603. package/dist/shims/router-state.d.ts +2 -2
  604. package/dist/shims/router-state.js +2 -2
  605. package/dist/shims/router.d.ts +6 -4
  606. package/dist/shims/router.js +262 -40
  607. package/dist/shims/script-nonce-context.d.ts +1 -2
  608. package/dist/shims/script-nonce-context.js +0 -2
  609. package/dist/shims/script.d.ts +1 -2
  610. package/dist/shims/script.js +0 -2
  611. package/dist/shims/server.d.ts +1 -2
  612. package/dist/shims/server.js +0 -2
  613. package/dist/shims/slot.d.ts +11 -4
  614. package/dist/shims/slot.js +121 -9
  615. package/dist/shims/thenable-params.d.ts +2 -2
  616. package/dist/shims/thenable-params.js +107 -12
  617. package/dist/shims/unified-request-context.d.ts +1 -2
  618. package/dist/shims/unified-request-context.js +0 -2
  619. package/dist/shims/unrecognized-action-error.d.ts +1 -2
  620. package/dist/shims/unrecognized-action-error.js +0 -2
  621. package/dist/shims/url-safety.d.ts +1 -2
  622. package/dist/shims/url-safety.js +0 -2
  623. package/dist/shims/url-utils.d.ts +1 -2
  624. package/dist/shims/url-utils.js +0 -2
  625. package/dist/shims/use-merged-ref.d.ts +1 -2
  626. package/dist/shims/use-merged-ref.js +0 -2
  627. package/dist/shims/web-vitals.d.ts +1 -2
  628. package/dist/shims/web-vitals.js +0 -2
  629. package/dist/typegen.d.ts +1 -2
  630. package/dist/typegen.js +2 -9
  631. package/dist/utils/asset-prefix.d.ts +1 -2
  632. package/dist/utils/asset-prefix.js +0 -2
  633. package/dist/utils/base-path.d.ts +1 -2
  634. package/dist/utils/base-path.js +0 -2
  635. package/dist/utils/cache-control-metadata.d.ts +1 -4
  636. package/dist/utils/cache-control-metadata.js +1 -3
  637. package/dist/utils/client-build-manifest.d.ts +8 -2
  638. package/dist/utils/client-build-manifest.js +30 -7
  639. package/dist/utils/client-entry-manifest.d.ts +11 -0
  640. package/dist/utils/client-entry-manifest.js +29 -0
  641. package/dist/utils/compare.d.ts +4 -0
  642. package/dist/utils/compare.js +8 -0
  643. package/dist/utils/dev-error-recovery-event.d.ts +4 -0
  644. package/dist/utils/dev-error-recovery-event.js +4 -0
  645. package/dist/utils/domain-locale.d.ts +1 -2
  646. package/dist/utils/domain-locale.js +2 -4
  647. package/dist/utils/encode-cache-tag.d.ts +1 -2
  648. package/dist/utils/encode-cache-tag.js +0 -2
  649. package/dist/utils/error-cause.d.ts +1 -2
  650. package/dist/utils/error-cause.js +0 -2
  651. package/dist/utils/hash.d.ts +1 -2
  652. package/dist/utils/hash.js +0 -2
  653. package/dist/utils/html-limited-bots.d.ts +1 -2
  654. package/dist/utils/html-limited-bots.js +0 -2
  655. package/dist/utils/lazy-chunks.d.ts +1 -2
  656. package/dist/utils/lazy-chunks.js +0 -2
  657. package/dist/utils/manifest-paths.d.ts +8 -3
  658. package/dist/utils/manifest-paths.js +15 -3
  659. package/dist/utils/mdx-scan.d.ts +1 -2
  660. package/dist/utils/mdx-scan.js +0 -2
  661. package/dist/utils/navigation-signal.d.ts +1 -2
  662. package/dist/utils/navigation-signal.js +0 -2
  663. package/dist/utils/number.d.ts +4 -0
  664. package/dist/utils/number.js +6 -0
  665. package/dist/utils/path.d.ts +4 -2
  666. package/dist/utils/path.js +5 -3
  667. package/dist/utils/prerender-output-paths.d.ts +1 -2
  668. package/dist/utils/prerender-output-paths.js +0 -2
  669. package/dist/utils/project.d.ts +1 -2
  670. package/dist/utils/project.js +0 -2
  671. package/dist/utils/promise.d.ts +4 -0
  672. package/dist/utils/promise.js +6 -0
  673. package/dist/utils/public-routes.d.ts +1 -2
  674. package/dist/utils/public-routes.js +0 -2
  675. package/dist/utils/query.d.ts +1 -2
  676. package/dist/utils/query.js +0 -2
  677. package/dist/utils/record.d.ts +1 -2
  678. package/dist/utils/record.js +0 -2
  679. package/dist/utils/regex.d.ts +4 -0
  680. package/dist/utils/regex.js +6 -0
  681. package/dist/utils/safe-json-file.d.ts +1 -2
  682. package/dist/utils/safe-json-file.js +0 -2
  683. package/dist/utils/sorted-array.d.ts +1 -2
  684. package/dist/utils/sorted-array.js +0 -2
  685. package/dist/utils/text-stream.d.ts +1 -2
  686. package/dist/utils/text-stream.js +0 -2
  687. package/dist/utils/vinext-root.d.ts +1 -2
  688. package/dist/utils/vinext-root.js +0 -2
  689. package/dist/utils/vite-version.d.ts +1 -2
  690. package/dist/utils/vite-version.js +0 -2
  691. package/package.json +23 -6
  692. package/dist/build/clean-output.js.map +0 -1
  693. package/dist/build/client-build-config.js.map +0 -1
  694. package/dist/build/google-fonts/build-url.js.map +0 -1
  695. package/dist/build/google-fonts/fallback-metrics-data.js.map +0 -1
  696. package/dist/build/google-fonts/fallback-metrics.js.map +0 -1
  697. package/dist/build/google-fonts/font-data.js.map +0 -1
  698. package/dist/build/google-fonts/font-metadata.js.map +0 -1
  699. package/dist/build/google-fonts/get-axes.js.map +0 -1
  700. package/dist/build/google-fonts/sort-variants.js.map +0 -1
  701. package/dist/build/google-fonts/validate.js.map +0 -1
  702. package/dist/build/inline-css.js.map +0 -1
  703. package/dist/build/layout-classification.js.map +0 -1
  704. package/dist/build/nitro-route-rules.js.map +0 -1
  705. package/dist/build/precompress.js.map +0 -1
  706. package/dist/build/prerender.js.map +0 -1
  707. package/dist/build/report.js.map +0 -1
  708. package/dist/build/route-classification-injector.js.map +0 -1
  709. package/dist/build/route-classification-manifest.js.map +0 -1
  710. package/dist/build/run-prerender.js.map +0 -1
  711. package/dist/build/server-manifest.js.map +0 -1
  712. package/dist/build/ssr-manifest.js.map +0 -1
  713. package/dist/build/standalone.js.map +0 -1
  714. package/dist/build/static-export.js.map +0 -1
  715. package/dist/check.js.map +0 -1
  716. package/dist/cli-args.js.map +0 -1
  717. package/dist/cli.js.map +0 -1
  718. package/dist/client/instrumentation-client-inject.js.map +0 -1
  719. package/dist/client/instrumentation-client-state.js.map +0 -1
  720. package/dist/client/instrumentation-client.js.map +0 -1
  721. package/dist/client/navigation-runtime.js.map +0 -1
  722. package/dist/client/pages-router-link-navigation.js.map +0 -1
  723. package/dist/client/validate-module-path.js.map +0 -1
  724. package/dist/client/vinext-next-data.js.map +0 -1
  725. package/dist/client/window-next.js.map +0 -1
  726. package/dist/cloudflare/kv-cache-handler.js.map +0 -1
  727. package/dist/cloudflare/tpr.js.map +0 -1
  728. package/dist/config/config-matchers.js.map +0 -1
  729. package/dist/config/dotenv.js.map +0 -1
  730. package/dist/config/next-config.js.map +0 -1
  731. package/dist/config/tsconfig-paths.js.map +0 -1
  732. package/dist/deploy.js.map +0 -1
  733. package/dist/entries/app-browser-entry.js.map +0 -1
  734. package/dist/entries/app-rsc-entry.js.map +0 -1
  735. package/dist/entries/app-rsc-manifest.js.map +0 -1
  736. package/dist/entries/app-ssr-entry.js.map +0 -1
  737. package/dist/entries/pages-client-entry.js.map +0 -1
  738. package/dist/entries/pages-entry-helpers.js.map +0 -1
  739. package/dist/entries/pages-server-entry.js.map +0 -1
  740. package/dist/entries/runtime-entry-module.js.map +0 -1
  741. package/dist/index.js.map +0 -1
  742. package/dist/init.js.map +0 -1
  743. package/dist/plugins/async-hooks-stub.js.map +0 -1
  744. package/dist/plugins/client-reference-dedup.js.map +0 -1
  745. package/dist/plugins/css-data-url.js.map +0 -1
  746. package/dist/plugins/fonts.js.map +0 -1
  747. package/dist/plugins/import-meta-url.js.map +0 -1
  748. package/dist/plugins/instrumentation-client.js.map +0 -1
  749. package/dist/plugins/middleware-server-only.js.map +0 -1
  750. package/dist/plugins/og-assets.js.map +0 -1
  751. package/dist/plugins/optimize-imports.js.map +0 -1
  752. package/dist/plugins/postcss.js.map +0 -1
  753. package/dist/plugins/remove-console.js.map +0 -1
  754. package/dist/plugins/rsc-client-reference-loaders.js.map +0 -1
  755. package/dist/plugins/rsc-client-shim-excludes.js.map +0 -1
  756. package/dist/plugins/sass.js.map +0 -1
  757. package/dist/plugins/server-externals-manifest.js.map +0 -1
  758. package/dist/plugins/strip-server-exports.js.map +0 -1
  759. package/dist/routing/app-route-graph.js.map +0 -1
  760. package/dist/routing/app-router.js.map +0 -1
  761. package/dist/routing/file-matcher.js.map +0 -1
  762. package/dist/routing/pages-router.js.map +0 -1
  763. package/dist/routing/route-matching.js.map +0 -1
  764. package/dist/routing/route-pattern.js.map +0 -1
  765. package/dist/routing/route-trie.js.map +0 -1
  766. package/dist/routing/route-validation.js.map +0 -1
  767. package/dist/routing/utils.js.map +0 -1
  768. package/dist/server/api-handler.js.map +0 -1
  769. package/dist/server/app-browser-action-result.js.map +0 -1
  770. package/dist/server/app-browser-entry.js.map +0 -1
  771. package/dist/server/app-browser-error.js.map +0 -1
  772. package/dist/server/app-browser-hydration.js.map +0 -1
  773. package/dist/server/app-browser-interception-context.js.map +0 -1
  774. package/dist/server/app-browser-mpa-navigation.js.map +0 -1
  775. package/dist/server/app-browser-navigation-controller.js.map +0 -1
  776. package/dist/server/app-browser-popstate.js.map +0 -1
  777. package/dist/server/app-browser-rsc-redirect.js.map +0 -1
  778. package/dist/server/app-browser-state.js.map +0 -1
  779. package/dist/server/app-browser-stream.js.map +0 -1
  780. package/dist/server/app-browser-visible-commit.js.map +0 -1
  781. package/dist/server/app-client-reference-preloader.js.map +0 -1
  782. package/dist/server/app-elements-wire.js.map +0 -1
  783. package/dist/server/app-elements.js.map +0 -1
  784. package/dist/server/app-fallback-renderer.js.map +0 -1
  785. package/dist/server/app-history-state.js.map +0 -1
  786. package/dist/server/app-hook-warning-suppression.js.map +0 -1
  787. package/dist/server/app-inline-css-client.js.map +0 -1
  788. package/dist/server/app-interception-context-header.js.map +0 -1
  789. package/dist/server/app-layout-param-observation.js.map +0 -1
  790. package/dist/server/app-middleware.js.map +0 -1
  791. package/dist/server/app-mounted-slots-header.js.map +0 -1
  792. package/dist/server/app-optimistic-routing.js.map +0 -1
  793. package/dist/server/app-page-boundary-render.js.map +0 -1
  794. package/dist/server/app-page-boundary.js.map +0 -1
  795. package/dist/server/app-page-cache.js.map +0 -1
  796. package/dist/server/app-page-dispatch.js.map +0 -1
  797. package/dist/server/app-page-element-builder.js.map +0 -1
  798. package/dist/server/app-page-execution.js.map +0 -1
  799. package/dist/server/app-page-head.js.map +0 -1
  800. package/dist/server/app-page-method.js.map +0 -1
  801. package/dist/server/app-page-params.js.map +0 -1
  802. package/dist/server/app-page-probe.js.map +0 -1
  803. package/dist/server/app-page-render-identity.js.map +0 -1
  804. package/dist/server/app-page-render-observation.js.map +0 -1
  805. package/dist/server/app-page-render.js.map +0 -1
  806. package/dist/server/app-page-request.js.map +0 -1
  807. package/dist/server/app-page-response.js.map +0 -1
  808. package/dist/server/app-page-route-wiring.js.map +0 -1
  809. package/dist/server/app-page-segment-state.js.map +0 -1
  810. package/dist/server/app-page-stream.js.map +0 -1
  811. package/dist/server/app-post-middleware-context.js.map +0 -1
  812. package/dist/server/app-prerender-endpoints.js.map +0 -1
  813. package/dist/server/app-prerender-static-params.js.map +0 -1
  814. package/dist/server/app-render-dependency.js.map +0 -1
  815. package/dist/server/app-request-context.js.map +0 -1
  816. package/dist/server/app-route-handler-cache.js.map +0 -1
  817. package/dist/server/app-route-handler-dispatch.js.map +0 -1
  818. package/dist/server/app-route-handler-execution.js.map +0 -1
  819. package/dist/server/app-route-handler-policy.js.map +0 -1
  820. package/dist/server/app-route-handler-response.js.map +0 -1
  821. package/dist/server/app-route-handler-runtime.js.map +0 -1
  822. package/dist/server/app-router-entry.js.map +0 -1
  823. package/dist/server/app-rsc-cache-busting.js.map +0 -1
  824. package/dist/server/app-rsc-embedded-chunks.js.map +0 -1
  825. package/dist/server/app-rsc-error-handler.js.map +0 -1
  826. package/dist/server/app-rsc-errors.js.map +0 -1
  827. package/dist/server/app-rsc-handler.js.map +0 -1
  828. package/dist/server/app-rsc-render-mode.js.map +0 -1
  829. package/dist/server/app-rsc-request-normalization.js.map +0 -1
  830. package/dist/server/app-rsc-response-finalizer.js.map +0 -1
  831. package/dist/server/app-rsc-route-matching.js.map +0 -1
  832. package/dist/server/app-segment-config.js.map +0 -1
  833. package/dist/server/app-server-action-execution.js.map +0 -1
  834. package/dist/server/app-ssr-entry.js.map +0 -1
  835. package/dist/server/app-ssr-error-meta.js.map +0 -1
  836. package/dist/server/app-ssr-stream.js.map +0 -1
  837. package/dist/server/app-static-generation.js.map +0 -1
  838. package/dist/server/artifact-compatibility.js.map +0 -1
  839. package/dist/server/cache-control.js.map +0 -1
  840. package/dist/server/cache-headers.js.map +0 -1
  841. package/dist/server/cache-proof.js.map +0 -1
  842. package/dist/server/client-reuse-manifest.js.map +0 -1
  843. package/dist/server/client-trace-metadata.js.map +0 -1
  844. package/dist/server/cookie-utils.js.map +0 -1
  845. package/dist/server/csp.js.map +0 -1
  846. package/dist/server/default-global-error-module.js.map +0 -1
  847. package/dist/server/default-not-found-module.js.map +0 -1
  848. package/dist/server/dev-error-overlay-store.js.map +0 -1
  849. package/dist/server/dev-error-overlay.js.map +0 -1
  850. package/dist/server/dev-lockfile.js.map +0 -1
  851. package/dist/server/dev-module-runner.js.map +0 -1
  852. package/dist/server/dev-origin-check.js.map +0 -1
  853. package/dist/server/dev-route-files.js.map +0 -1
  854. package/dist/server/dev-server.js.map +0 -1
  855. package/dist/server/document-initial-head.js.map +0 -1
  856. package/dist/server/edge-api-runtime.js.map +0 -1
  857. package/dist/server/file-based-metadata.js.map +0 -1
  858. package/dist/server/headers.js.map +0 -1
  859. package/dist/server/html.js.map +0 -1
  860. package/dist/server/http-error-responses.js.map +0 -1
  861. package/dist/server/image-optimization.js.map +0 -1
  862. package/dist/server/implicit-tags.js.map +0 -1
  863. package/dist/server/instrumentation-runtime.js.map +0 -1
  864. package/dist/server/instrumentation.js.map +0 -1
  865. package/dist/server/isr-cache.js.map +0 -1
  866. package/dist/server/metadata-route-build-data.js.map +0 -1
  867. package/dist/server/metadata-route-response.js.map +0 -1
  868. package/dist/server/metadata-routes.js.map +0 -1
  869. package/dist/server/middleware-matcher.js.map +0 -1
  870. package/dist/server/middleware-request-headers.js.map +0 -1
  871. package/dist/server/middleware-response-headers.js.map +0 -1
  872. package/dist/server/middleware-runtime.js.map +0 -1
  873. package/dist/server/middleware.js.map +0 -1
  874. package/dist/server/navigation-planner.js.map +0 -1
  875. package/dist/server/navigation-trace.js.map +0 -1
  876. package/dist/server/next-error-digest.js.map +0 -1
  877. package/dist/server/normalize-path.js.map +0 -1
  878. package/dist/server/pages-api-route.js.map +0 -1
  879. package/dist/server/pages-body-parser-config.js.map +0 -1
  880. package/dist/server/pages-data-route.js.map +0 -1
  881. package/dist/server/pages-default-404.js.map +0 -1
  882. package/dist/server/pages-document-initial-props.js.map +0 -1
  883. package/dist/server/pages-i18n.js.map +0 -1
  884. package/dist/server/pages-media-type.js.map +0 -1
  885. package/dist/server/pages-node-compat.js.map +0 -1
  886. package/dist/server/pages-page-data.js.map +0 -1
  887. package/dist/server/pages-page-method.js.map +0 -1
  888. package/dist/server/pages-page-response.js.map +0 -1
  889. package/dist/server/pages-serializable-props.js.map +0 -1
  890. package/dist/server/prerender-route-params.js.map +0 -1
  891. package/dist/server/prerender-work-unit-setup.js.map +0 -1
  892. package/dist/server/prod-server.js.map +0 -1
  893. package/dist/server/proxy-trust.js.map +0 -1
  894. package/dist/server/request-log.js.map +0 -1
  895. package/dist/server/request-pipeline.js.map +0 -1
  896. package/dist/server/rsc-stream-hints.js.map +0 -1
  897. package/dist/server/seed-cache.js.map +0 -1
  898. package/dist/server/server-action-not-found.js.map +0 -1
  899. package/dist/server/server-globals.js.map +0 -1
  900. package/dist/server/skip-cache-proof.js.map +0 -1
  901. package/dist/server/socket-error-backstop.js.map +0 -1
  902. package/dist/server/static-file-cache.js.map +0 -1
  903. package/dist/server/static-layout-client-reuse-proof.js.map +0 -1
  904. package/dist/server/streaming-metadata.js.map +0 -1
  905. package/dist/server/worker-utils.js.map +0 -1
  906. package/dist/shims/amp.js.map +0 -1
  907. package/dist/shims/app-router-scroll-state.js.map +0 -1
  908. package/dist/shims/app-router-scroll.js.map +0 -1
  909. package/dist/shims/app.js.map +0 -1
  910. package/dist/shims/before-interactive-context.js.map +0 -1
  911. package/dist/shims/cache-for-request.js.map +0 -1
  912. package/dist/shims/cache-runtime.js.map +0 -1
  913. package/dist/shims/cache.js.map +0 -1
  914. package/dist/shims/client-hook-error.js.map +0 -1
  915. package/dist/shims/client-locale.js.map +0 -1
  916. package/dist/shims/compat-router.js.map +0 -1
  917. package/dist/shims/config.js.map +0 -1
  918. package/dist/shims/constants.js.map +0 -1
  919. package/dist/shims/default-global-error.js.map +0 -1
  920. package/dist/shims/default-not-found.js.map +0 -1
  921. package/dist/shims/document.js.map +0 -1
  922. package/dist/shims/dynamic.js.map +0 -1
  923. package/dist/shims/error-boundary.js.map +0 -1
  924. package/dist/shims/error.js.map +0 -1
  925. package/dist/shims/fetch-cache.js.map +0 -1
  926. package/dist/shims/font-google-base.js.map +0 -1
  927. package/dist/shims/font-local.js.map +0 -1
  928. package/dist/shims/font-utils.js.map +0 -1
  929. package/dist/shims/form.js.map +0 -1
  930. package/dist/shims/hash-scroll.js.map +0 -1
  931. package/dist/shims/head-state.js.map +0 -1
  932. package/dist/shims/head.js.map +0 -1
  933. package/dist/shims/headers.js.map +0 -1
  934. package/dist/shims/i18n-context.js.map +0 -1
  935. package/dist/shims/i18n-state.js.map +0 -1
  936. package/dist/shims/image-config.js.map +0 -1
  937. package/dist/shims/image.js.map +0 -1
  938. package/dist/shims/internal/als-registry.js.map +0 -1
  939. package/dist/shims/internal/app-route-detection.js.map +0 -1
  940. package/dist/shims/internal/app-router-context.js.map +0 -1
  941. package/dist/shims/internal/cookie-serialize.js.map +0 -1
  942. package/dist/shims/internal/make-hanging-promise.js.map +0 -1
  943. package/dist/shims/internal/pages-data-fetch-dedup.js.map +0 -1
  944. package/dist/shims/internal/pages-data-target.js.map +0 -1
  945. package/dist/shims/internal/pages-data-url.js.map +0 -1
  946. package/dist/shims/internal/parse-cookie-header.js.map +0 -1
  947. package/dist/shims/internal/router-context.js.map +0 -1
  948. package/dist/shims/internal/utils.js.map +0 -1
  949. package/dist/shims/internal/work-unit-async-storage.js.map +0 -1
  950. package/dist/shims/layout-segment-context.js.map +0 -1
  951. package/dist/shims/legacy-image.js.map +0 -1
  952. package/dist/shims/link-prefetch.js.map +0 -1
  953. package/dist/shims/link.js.map +0 -1
  954. package/dist/shims/metadata.js.map +0 -1
  955. package/dist/shims/navigation-state.js.map +0 -1
  956. package/dist/shims/navigation.js.map +0 -1
  957. package/dist/shims/navigation.react-server.js.map +0 -1
  958. package/dist/shims/offline.js.map +0 -1
  959. package/dist/shims/og.js.map +0 -1
  960. package/dist/shims/pages-router-runtime.js.map +0 -1
  961. package/dist/shims/readonly-url-search-params.js.map +0 -1
  962. package/dist/shims/request-context.js.map +0 -1
  963. package/dist/shims/root-params.js.map +0 -1
  964. package/dist/shims/router-state.js.map +0 -1
  965. package/dist/shims/router.js.map +0 -1
  966. package/dist/shims/script-nonce-context.js.map +0 -1
  967. package/dist/shims/script.js.map +0 -1
  968. package/dist/shims/server.js.map +0 -1
  969. package/dist/shims/slot.js.map +0 -1
  970. package/dist/shims/thenable-params.js.map +0 -1
  971. package/dist/shims/unified-request-context.js.map +0 -1
  972. package/dist/shims/unrecognized-action-error.js.map +0 -1
  973. package/dist/shims/url-safety.js.map +0 -1
  974. package/dist/shims/url-utils.js.map +0 -1
  975. package/dist/shims/use-merged-ref.js.map +0 -1
  976. package/dist/shims/web-vitals.js.map +0 -1
  977. package/dist/typegen.js.map +0 -1
  978. package/dist/utils/asset-prefix.js.map +0 -1
  979. package/dist/utils/base-path.js.map +0 -1
  980. package/dist/utils/cache-control-metadata.js.map +0 -1
  981. package/dist/utils/client-build-manifest.js.map +0 -1
  982. package/dist/utils/domain-locale.js.map +0 -1
  983. package/dist/utils/encode-cache-tag.js.map +0 -1
  984. package/dist/utils/error-cause.js.map +0 -1
  985. package/dist/utils/hash.js.map +0 -1
  986. package/dist/utils/html-limited-bots.js.map +0 -1
  987. package/dist/utils/lazy-chunks.js.map +0 -1
  988. package/dist/utils/manifest-paths.js.map +0 -1
  989. package/dist/utils/mdx-scan.js.map +0 -1
  990. package/dist/utils/navigation-signal.js.map +0 -1
  991. package/dist/utils/path.js.map +0 -1
  992. package/dist/utils/prerender-output-paths.js.map +0 -1
  993. package/dist/utils/project.js.map +0 -1
  994. package/dist/utils/public-routes.js.map +0 -1
  995. package/dist/utils/query.js.map +0 -1
  996. package/dist/utils/record.js.map +0 -1
  997. package/dist/utils/safe-json-file.js.map +0 -1
  998. package/dist/utils/sorted-array.js.map +0 -1
  999. package/dist/utils/text-stream.js.map +0 -1
  1000. package/dist/utils/vinext-root.js.map +0 -1
  1001. package/dist/utils/vite-version.js.map +0 -1
@@ -2,7 +2,8 @@ import { getOrCreateAls } from "./internal/als-registry.js";
2
2
  import { getRequestContext, isInsideUnifiedScope, runWithUnifiedStateMutation } from "./unified-request-context.js";
3
3
  import { VINEXT_RSC_MARKER_HEADER } from "../server/headers.js";
4
4
  import { markDynamicUsage } from "./headers.js";
5
- import { _registerCacheContextAccessor, _setRequestScopedCacheLife, cacheLifeProfiles, getCacheHandler } from "./cache.js";
5
+ import { _registerCacheContextAccessor, _setRequestScopedCacheLife, cacheLifeProfiles, getDataCacheHandler } from "./cache.js";
6
+ import { addCollectedRequestTags } from "./fetch-cache.js";
6
7
  //#region src/shims/cache-runtime.ts
7
8
  /**
8
9
  * "use cache" runtime
@@ -33,6 +34,7 @@ import { _registerCacheContextAccessor, _setRequestScopedCacheLife, cacheLifePro
33
34
  * - "use cache: remote" — shared cache (explicit)
34
35
  * - "use cache: private" — per-request cache (not shared across requests)
35
36
  */
37
+ const APP_PAGE_PROPS_CACHE_KEY_MARKER = Symbol.for("vinext.appPagePropsCacheKeyMarker");
36
38
  /** Threshold below which expire is considered "dynamic" (5 minutes in seconds). */
37
39
  const DYNAMIC_EXPIRE = 300;
38
40
  /**
@@ -219,6 +221,15 @@ function clearPrivateCache() {
219
221
  if (state) state._privateCache = /* @__PURE__ */ new Map();
220
222
  else _privateFallbackState._privateCache = /* @__PURE__ */ new Map();
221
223
  }
224
+ function markAppPagePropsForUseCache(props) {
225
+ Object.defineProperty(props, APP_PAGE_PROPS_CACHE_KEY_MARKER, {
226
+ configurable: false,
227
+ enumerable: false,
228
+ value: true,
229
+ writable: false
230
+ });
231
+ return props;
232
+ }
222
233
  /**
223
234
  * Register a function as a cached function. This is called by the Vite
224
235
  * transform for each "use cache" function.
@@ -228,19 +239,20 @@ function clearPrivateCache() {
228
239
  * @param variant - Cache variant: "" (default/shared), "remote", "private"
229
240
  * @returns A wrapper function that checks cache before calling the original
230
241
  */
231
- function registerCachedFunction(fn, id, variant) {
242
+ function registerCachedFunction(fn, id, variant, options = {}) {
232
243
  const cacheVariant = variant ?? "";
244
+ const omitAppPageSearchParamsFromFirstArg = options.appPageDefaultExport === true;
233
245
  const isDev = typeof process !== "undefined" && process.env.NODE_ENV === "development";
234
246
  const cachedFn = async (...args) => {
235
247
  const rsc = await getRscModule();
236
248
  const keySeed = getUseCacheKeySeed();
237
249
  let cacheKey;
238
250
  try {
251
+ const processedArgs = args.length > 0 ? unwrapThenableObjectArray(args, { omitAppPageSearchParamsFromFirstArg }) : [];
239
252
  if (rsc && args.length > 0) {
240
253
  const tempRefs = rsc.createClientTemporaryReferenceSet();
241
- const processedArgs = unwrapThenableObjectArray(args);
242
254
  cacheKey = buildUseCacheKey(id, keySeed, await replyToCacheKey(await rsc.encodeReply(processedArgs, { temporaryReferences: tempRefs })));
243
- } else cacheKey = buildUseCacheKey(id, keySeed, args.length > 0 ? stableStringify(args) : void 0);
255
+ } else cacheKey = buildUseCacheKey(id, keySeed, processedArgs.length > 0 ? stableStringify(processedArgs) : void 0);
244
256
  } catch {
245
257
  return fn(...args);
246
258
  }
@@ -256,9 +268,10 @@ function registerCachedFunction(fn, id, variant) {
256
268
  return result;
257
269
  }
258
270
  if (isDev) return executeWithContext(fn, args, cacheVariant);
259
- const handler = getCacheHandler();
271
+ const handler = getDataCacheHandler();
260
272
  const existing = await handler.get(cacheKey, { kind: "FETCH" });
261
273
  if (existing?.value && existing.value.kind === "FETCH" && existing.cacheState !== "stale") try {
274
+ propagateCacheTagsToRequest(existing.value.tags);
262
275
  if (rsc && existing.value.data.headers["x-vinext-rsc"] === "1") {
263
276
  const stream = uint8ToStream(base64ToUint8(existing.value.data.body));
264
277
  const result = await rsc.createFromReadableStream(stream);
@@ -271,6 +284,7 @@ function registerCachedFunction(fn, id, variant) {
271
284
  } catch {}
272
285
  const { result, ctx, effectiveLife } = await runCachedFunctionWithContext(fn, args, cacheVariant);
273
286
  recordRequestScopedCacheLife(effectiveLife);
287
+ propagateCacheTagsToRequest(ctx.tags);
274
288
  const revalidateSeconds = effectiveLife.revalidate ?? cacheLifeProfiles.default.revalidate ?? 900;
275
289
  try {
276
290
  let body;
@@ -303,6 +317,10 @@ function registerCachedFunction(fn, id, variant) {
303
317
  } catch {}
304
318
  return result;
305
319
  };
320
+ Object.defineProperty(cachedFn, "length", {
321
+ value: fn.length,
322
+ configurable: true
323
+ });
306
324
  return cachedFn;
307
325
  }
308
326
  function throwPrivateUseCacheInsidePublicUseCacheError() {
@@ -321,6 +339,30 @@ function recordRequestScopedCacheControl(cacheControl) {
321
339
  function recordRequestScopedCacheLife(cacheLife) {
322
340
  _setRequestScopedCacheLife(cacheLife);
323
341
  }
342
+ /**
343
+ * Bubble a `"use cache"` scope's tags toward where they can drive invalidation.
344
+ *
345
+ * When this cache is nested inside another (`parentCtx` present), the tags flow
346
+ * into the parent scope so they end up on the outer cache entry — mirroring
347
+ * Next.js's `propagateCacheLifeAndTagsToRevalidateStore`. The outermost scope
348
+ * (no parent) instead records onto the surrounding request's collected tags, so
349
+ * the enclosing page / route-handler ISR entry carries them and `revalidateTag`
350
+ * can evict the rendered output (issue #1453).
351
+ *
352
+ * Used by both the data cache HIT and MISS paths. On MISS the parent-bubble for
353
+ * the *executed* scope also happens in `runCachedFunctionWithContext`; this keeps
354
+ * the HIT path (where that function never runs) correct without dropping a nested
355
+ * inner entry's stored tags. Deduped to keep tag lists tidy.
356
+ */
357
+ function propagateCacheTagsToRequest(tags) {
358
+ if (!tags || tags.length === 0) return;
359
+ const parentCtx = cacheContextStorage.getStore();
360
+ if (parentCtx) {
361
+ for (const tag of tags) if (!parentCtx.tags.includes(tag)) parentCtx.tags.push(tag);
362
+ return;
363
+ }
364
+ addCollectedRequestTags(tags);
365
+ }
324
366
  async function executeWithContext(fn, args, variant) {
325
367
  const { result, ctx: _ctx, effectiveLife } = await runCachedFunctionWithContext(fn, args, variant);
326
368
  recordRequestScopedCacheLife(effectiveLife);
@@ -339,11 +381,16 @@ async function runCachedFunctionWithContext(fn, args, variant) {
339
381
  variant: variant || "default",
340
382
  hasExplicitRevalidate: false,
341
383
  hasExplicitExpire: false,
342
- dynamicNestedCacheError: void 0
384
+ dynamicNestedCacheError: void 0,
385
+ invalidDynamicUsageError: void 0
343
386
  };
344
387
  const result = await cacheContextStorage.run(ctx, () => fn(...args));
388
+ if (ctx.invalidDynamicUsageError) throw ctx.invalidDynamicUsageError;
345
389
  const effectiveLife = resolveCacheLife(ctx.lifeConfigs);
346
- if (parentCtx) parentCtx.lifeConfigs.push(effectiveLife);
390
+ if (parentCtx) {
391
+ parentCtx.lifeConfigs.push(effectiveLife);
392
+ for (const tag of ctx.tags) if (!parentCtx.tags.includes(tag)) parentCtx.tags.push(tag);
393
+ }
347
394
  if (parentCtx && eagerError && (effectiveLife.revalidate === 0 || effectiveLife.expire !== void 0 && effectiveLife.expire < DYNAMIC_EXPIRE)) parentCtx.dynamicNestedCacheError ??= eagerError;
348
395
  if (typeof process !== "undefined" && (process.env.VINEXT_PRERENDER === "1" || process.env.NODE_ENV === "development") && ctx.dynamicNestedCacheError) {
349
396
  if (effectiveLife.revalidate === 0 && !ctx.hasExplicitRevalidate) throw new Error(getNestedCacheZeroRevalidateErrorMessage(), { cause: ctx.dynamicNestedCacheError });
@@ -355,25 +402,9 @@ async function runCachedFunctionWithContext(fn, args, variant) {
355
402
  effectiveLife
356
403
  };
357
404
  }
358
- /**
359
- * Recursively unwrap "thenable objects" — values created by
360
- * `Object.assign(Promise.resolve(obj), obj)` — into plain objects.
361
- *
362
- * Next.js 16 params and searchParams are passed as Promise-augmented objects
363
- * that work both as `await params` and `params.key`. When these are fed to
364
- * `encodeReply` with `temporaryReferences`, the Promise is treated as a
365
- * temporary reference and its actual values are **excluded** from the
366
- * serialized output. This means different param values (e.g.,
367
- * `section:"sports"` vs `section:"electronics"`) produce identical cache keys.
368
- *
369
- * This function extracts the own enumerable properties into plain objects
370
- * so `encodeReply` can serialize the actual values into the cache key.
371
- * Only used for cache key generation — the original Promise-augmented
372
- * objects are still passed to the actual function on cache miss.
373
- */
374
- function unwrapThenableObjects(value) {
405
+ function unwrapThenableObjects(value, options = {}) {
375
406
  if (value === null || value === void 0 || typeof value !== "object") return value;
376
- if (Array.isArray(value)) return value.map(unwrapThenableObjects);
407
+ if (Array.isArray(value)) return value.map((item) => unwrapThenableObjects(item));
377
408
  if (typeof value.then === "function") {
378
409
  const keys = Object.keys(value);
379
410
  if (keys.length > 0) {
@@ -384,11 +415,17 @@ function unwrapThenableObjects(value) {
384
415
  return value;
385
416
  }
386
417
  const result = {};
387
- for (const key of Object.keys(value)) result[key] = unwrapThenableObjects(value[key]);
418
+ for (const key of Object.keys(value)) {
419
+ if (key === "searchParams" && (options.omitAppPageSearchParamsAtRoot || isMarkedAppPagePropsObject(value))) continue;
420
+ result[key] = unwrapThenableObjects(value[key]);
421
+ }
388
422
  return result;
389
423
  }
390
- function unwrapThenableObjectArray(values) {
391
- return values.map(unwrapThenableObjects);
424
+ function isMarkedAppPagePropsObject(value) {
425
+ return Reflect.get(value, APP_PAGE_PROPS_CACHE_KEY_MARKER) === true;
426
+ }
427
+ function unwrapThenableObjectArray(values, options) {
428
+ return values.map((value, index) => unwrapThenableObjects(value, { omitAppPageSearchParamsAtRoot: index === 0 && options.omitAppPageSearchParamsFromFirstArg }));
392
429
  }
393
430
  function stableStringify(value, seen) {
394
431
  if (value === void 0) return "undefined";
@@ -415,6 +452,4 @@ function stableStringify(value, seen) {
415
452
  return JSON.stringify(value);
416
453
  }
417
454
  //#endregion
418
- export { NestedDynamicUseCacheError, cacheContextStorage, clearPrivateCache, getCacheContext, registerCachedFunction, replyToCacheKey, runWithPrivateCache };
419
-
420
- //# sourceMappingURL=cache-runtime.js.map
455
+ export { NestedDynamicUseCacheError, cacheContextStorage, clearPrivateCache, getCacheContext, markAppPagePropsForUseCache, registerCachedFunction, replyToCacheKey, runWithPrivateCache };
@@ -97,6 +97,16 @@ declare class NoOpCacheHandler implements CacheHandler {
97
97
  type MemoryCacheHandlerOptions = Pick<CacheHandlerContext, "maxMemoryCacheSize"> & {
98
98
  cacheMaxMemorySize?: number;
99
99
  };
100
+ /**
101
+ * In-memory data cache handler. This is the built-in default — vinext installs
102
+ * it automatically, so consumers should not construct or register it by hand.
103
+ *
104
+ * @deprecated Consumers should not instantiate cache handlers directly.
105
+ * Configure caching declaratively via the `cache` option on the `vinext()`
106
+ * plugin (see {@link setDataCacheHandler}); the in-memory handler is the
107
+ * default when nothing is configured, and its size is tuned via the
108
+ * `cacheMaxMemorySize` plugin option.
109
+ */
100
110
  declare class MemoryCacheHandler implements CacheHandler {
101
111
  private store;
102
112
  private tagRevalidatedAt;
@@ -116,15 +126,47 @@ declare class MemoryCacheHandler implements CacheHandler {
116
126
  }
117
127
  declare function configureMemoryCacheHandler(options?: MemoryCacheHandlerOptions): void;
118
128
  /**
119
- * Set a custom CacheHandler. Call this during server startup to
120
- * plug in Cloudflare KV, Redis, DynamoDB, or any other backend.
129
+ * Set the **data cache** handler. This backs all data-cache concerns
130
+ * `fetch` caching, `"use cache"`, `unstable_cache` and is also the default
131
+ * underlying store for page-level ISR (via the default CDN cache adapter).
132
+ *
133
+ * The handler must implement the CacheHandler interface (same shape as
134
+ * Next.js 16's CacheHandler class).
135
+ *
136
+ * @deprecated Don't wire up the data cache imperatively. Configure it
137
+ * declaratively via the `cache.data` option on the `vinext()` plugin in your
138
+ * `vite.config.ts`, using a config-time adapter builder. On Cloudflare Workers:
139
+ *
140
+ * ```ts
141
+ * import { vinext } from "vinext";
142
+ * import { kvDataAdapter } from "@vinext/cloudflare/cache/kv-data-adapter";
121
143
  *
122
- * The handler must implement the CacheHandler interface (same shape
123
- * as Next.js 16's CacheHandler class).
144
+ * export default defineConfig({
145
+ * plugins: [vinext({ cache: { data: kvDataAdapter({ binding: "VINEXT_KV_CACHE" }) } })],
146
+ * });
147
+ * ```
148
+ *
149
+ * The plugin defers instantiation to the first request and registers the
150
+ * handler across every runtime/router entry, so you don't have to call this
151
+ * from a worker entry. This setter remains as the internal registration target
152
+ * and for backwards compatibility, but is not the recommended consumer API.
153
+ */
154
+ declare function setDataCacheHandler(handler: CacheHandler): void;
155
+ /**
156
+ * Get the active data cache handler (for internal use or testing).
157
+ */
158
+ declare function getDataCacheHandler(): CacheHandler;
159
+ /**
160
+ * @deprecated Don't wire up the data cache imperatively. Configure it
161
+ * declaratively via the `cache.data` option on the `vinext()` plugin (e.g.
162
+ * `kvDataAdapter()` from `@vinext/cloudflare/cache/kv-data-adapter`). See
163
+ * {@link setDataCacheHandler} for the migration example. Retained as a
164
+ * backwards-compatible alias — `setCacheHandler` has always configured the
165
+ * data cache handler.
124
166
  */
125
167
  declare function setCacheHandler(handler: CacheHandler): void;
126
168
  /**
127
- * Get the active CacheHandler (for internal use or testing).
169
+ * @deprecated Prefer {@link getDataCacheHandler}.
128
170
  */
129
171
  declare function getCacheHandler(): CacheHandler;
130
172
  /**
@@ -327,5 +369,4 @@ type UnstableCacheOptions = {
327
369
  */
328
370
  declare function unstable_cache<T extends (...args: any[]) => Promise<any>>(fn: T, keyParts?: string[], options?: UnstableCacheOptions): T;
329
371
  //#endregion
330
- export { ActionRevalidationKind, CacheControlMetadata, CacheHandler, CacheHandlerContext, CacheHandlerValue, CacheLifeConfig, CacheState, CachedAppPageValue, CachedFetchValue, CachedImageValue, CachedPagesValue, CachedRedirectValue, CachedRouteValue, type ExecutionContextLike, IncrementalCacheValue, MemoryCacheHandler, NoOpCacheHandler, UnstableCacheObservation, UnstableCacheRevalidationMode, _consumeRequestScopedCacheLife, _initRequestScopedCacheState, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLife, cacheLifeProfiles, cacheTag, configureMemoryCacheHandler, getAndClearActionRevalidationKind, getCacheHandler, getRequestExecutionContext, io, isInsideUnstableCacheScope, unstable_noStore as noStore, unstable_noStore, refresh, revalidatePath, revalidateTag, runWithExecutionContext, setCacheHandler, unstable_cache, unstable_cacheLife, unstable_cacheTag, unstable_io, updateTag };
331
- //# sourceMappingURL=cache.d.ts.map
372
+ export { ActionRevalidationKind, CacheControlMetadata, CacheHandler, CacheHandlerContext, CacheHandlerValue, CacheLifeConfig, CacheState, CachedAppPageValue, CachedFetchValue, CachedImageValue, CachedPagesValue, CachedRedirectValue, CachedRouteValue, type ExecutionContextLike, IncrementalCacheValue, MemoryCacheHandler, NoOpCacheHandler, UnstableCacheObservation, UnstableCacheRevalidationMode, _consumeRequestScopedCacheLife, _initRequestScopedCacheState, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLife, cacheLifeProfiles, cacheTag, configureMemoryCacheHandler, getAndClearActionRevalidationKind, getCacheHandler, getDataCacheHandler, getRequestExecutionContext, io, isInsideUnstableCacheScope, unstable_noStore as noStore, unstable_noStore, refresh, revalidatePath, revalidateTag, runWithExecutionContext, setCacheHandler, setDataCacheHandler, unstable_cache, unstable_cacheLife, unstable_cacheTag, unstable_io, updateTag };
@@ -7,6 +7,7 @@ import { workUnitAsyncStorage } from "./internal/work-unit-async-storage.js";
7
7
  import { makeHangingPromise } from "./internal/make-hanging-promise.js";
8
8
  import { readCacheControlNumberField } from "../utils/cache-control-metadata.js";
9
9
  import { encodeCacheTag, encodeCacheTags } from "../utils/encode-cache-tag.js";
10
+ import { getCdnCacheAdapter } from "./cdn-cache.js";
10
11
  //#region src/shims/cache.ts
11
12
  /**
12
13
  * next/cache shim
@@ -19,12 +20,14 @@ import { encodeCacheTag, encodeCacheTags } from "../utils/encode-cache-tag.js";
19
20
  * existing community adapters (@neshca/cache-handler, @opennextjs/aws, etc.)
20
21
  * can be used directly.
21
22
  *
22
- * Configuration (in vite.config.ts or next.config.js):
23
- * vinext({ cacheHandler: './my-cache-handler.ts' })
23
+ * Recommended configuration is declarative, via the `cache` option on the
24
+ * `vinext()` plugin in vite.config.ts:
25
+ * import { kvDataAdapter } from '@vinext/cloudflare/cache/kv-data-adapter';
26
+ * vinext({ cache: { data: kvDataAdapter({ binding: 'VINEXT_KV_CACHE' }) } })
24
27
  *
25
- * Or set at runtime:
26
- * import { setCacheHandler } from 'next/cache';
27
- * setCacheHandler(new MyCacheHandler());
28
+ * The imperative `setCacheHandler` / `setDataCacheHandler` setters are
29
+ * deprecated for consumers and retained only as the internal registration
30
+ * target used by the generated cache-adapter module.
28
31
  */
29
32
  /** @internal Set by cache-runtime.ts on import to avoid circular dependency */
30
33
  let _getCacheContextFn = null;
@@ -77,6 +80,16 @@ function readStringArrayField(ctx, field) {
77
80
  if (!Array.isArray(value)) return [];
78
81
  return value.filter((item) => typeof item === "string");
79
82
  }
83
+ /**
84
+ * In-memory data cache handler. This is the built-in default — vinext installs
85
+ * it automatically, so consumers should not construct or register it by hand.
86
+ *
87
+ * @deprecated Consumers should not instantiate cache handlers directly.
88
+ * Configure caching declaratively via the `cache` option on the `vinext()`
89
+ * plugin (see {@link setDataCacheHandler}); the in-memory handler is the
90
+ * default when nothing is configured, and its size is tuned via the
91
+ * `cacheMaxMemorySize` plugin option.
92
+ */
80
93
  var MemoryCacheHandler = class {
81
94
  store = /* @__PURE__ */ new Map();
82
95
  tagRevalidatedAt = /* @__PURE__ */ new Map();
@@ -198,22 +211,58 @@ function configureMemoryCacheHandler(options) {
198
211
  _gHandler[_HANDLER_KEY] = new MemoryCacheHandler(options);
199
212
  }
200
213
  /**
201
- * Set a custom CacheHandler. Call this during server startup to
202
- * plug in Cloudflare KV, Redis, DynamoDB, or any other backend.
203
- *
204
- * The handler must implement the CacheHandler interface (same shape
205
- * as Next.js 16's CacheHandler class).
214
+ * Set the **data cache** handler. This backs all data-cache concerns
215
+ * `fetch` caching, `"use cache"`, `unstable_cache` and is also the default
216
+ * underlying store for page-level ISR (via the default CDN cache adapter).
217
+ *
218
+ * The handler must implement the CacheHandler interface (same shape as
219
+ * Next.js 16's CacheHandler class).
220
+ *
221
+ * @deprecated Don't wire up the data cache imperatively. Configure it
222
+ * declaratively via the `cache.data` option on the `vinext()` plugin in your
223
+ * `vite.config.ts`, using a config-time adapter builder. On Cloudflare Workers:
224
+ *
225
+ * ```ts
226
+ * import { vinext } from "vinext";
227
+ * import { kvDataAdapter } from "@vinext/cloudflare/cache/kv-data-adapter";
228
+ *
229
+ * export default defineConfig({
230
+ * plugins: [vinext({ cache: { data: kvDataAdapter({ binding: "VINEXT_KV_CACHE" }) } })],
231
+ * });
232
+ * ```
233
+ *
234
+ * The plugin defers instantiation to the first request and registers the
235
+ * handler across every runtime/router entry, so you don't have to call this
236
+ * from a worker entry. This setter remains as the internal registration target
237
+ * and for backwards compatibility, but is not the recommended consumer API.
206
238
  */
207
- function setCacheHandler(handler) {
239
+ function setDataCacheHandler(handler) {
208
240
  _gHandler[_HANDLER_KEY] = handler;
209
241
  }
210
242
  /**
211
- * Get the active CacheHandler (for internal use or testing).
243
+ * Get the active data cache handler (for internal use or testing).
212
244
  */
213
- function getCacheHandler() {
245
+ function getDataCacheHandler() {
214
246
  return _getActiveHandler();
215
247
  }
216
248
  /**
249
+ * @deprecated Don't wire up the data cache imperatively. Configure it
250
+ * declaratively via the `cache.data` option on the `vinext()` plugin (e.g.
251
+ * `kvDataAdapter()` from `@vinext/cloudflare/cache/kv-data-adapter`). See
252
+ * {@link setDataCacheHandler} for the migration example. Retained as a
253
+ * backwards-compatible alias — `setCacheHandler` has always configured the
254
+ * data cache handler.
255
+ */
256
+ function setCacheHandler(handler) {
257
+ setDataCacheHandler(handler);
258
+ }
259
+ /**
260
+ * @deprecated Prefer {@link getDataCacheHandler}.
261
+ */
262
+ function getCacheHandler() {
263
+ return getDataCacheHandler();
264
+ }
265
+ /**
217
266
  * Revalidate cached data associated with a specific cache tag.
218
267
  *
219
268
  * Works with both `fetch(..., { next: { tags: ['myTag'] } })` and
@@ -233,7 +282,20 @@ async function revalidateTag(tag, profile) {
233
282
  if (resolved) durations = { expire: resolved.expire };
234
283
  } else if (profile && typeof profile === "object") durations = profile;
235
284
  if (!profile || !durations || durations.expire === 0) markActionRevalidation(ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC);
236
- await _getActiveHandler().revalidateTag(encodeCacheTag(tag), durations);
285
+ await _invalidateEncodedTag(encodeCacheTag(tag), durations);
286
+ }
287
+ /**
288
+ * Invalidate one already-encoded tag across both cache layers.
289
+ *
290
+ * Ordering is intentional and load-bearing: invalidate the data cache store
291
+ * FIRST (covers fetch data, `"use cache"`, and page entries stored there by the
292
+ * default CDN adapter), THEN ask the CDN adapter to purge its edge (a no-op for
293
+ * the default adapter). Purging the edge before the store is invalidated would
294
+ * let the edge re-fetch and re-cache stale data.
295
+ */
296
+ async function _invalidateEncodedTag(encoded, durations) {
297
+ await _getActiveHandler().revalidateTag(encoded, durations);
298
+ await getCdnCacheAdapter().revalidateTag(encoded, durations);
237
299
  }
238
300
  /**
239
301
  * Revalidate cached data associated with a specific path.
@@ -253,8 +315,7 @@ async function revalidateTag(tag, profile) {
253
315
  async function revalidatePath(path, type) {
254
316
  markActionRevalidation(ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC);
255
317
  const stem = path.endsWith("/") ? path.slice(0, -1) : path;
256
- const tag = type ? `_N_T_${stem}/${type}` : `_N_T_${stem || "/"}`;
257
- await _getActiveHandler().revalidateTag(encodeCacheTag(tag));
318
+ await _invalidateEncodedTag(encodeCacheTag(type ? `_N_T_${stem}/${type}` : `_N_T_${stem || "/"}`));
258
319
  }
259
320
  /**
260
321
  * No-op shim for API compatibility.
@@ -283,7 +344,7 @@ function refresh() {
283
344
  async function updateTag(tag) {
284
345
  if (getHeadersAccessPhase() !== "action") throw new Error("updateTag can only be called from within a Server Action. To invalidate cache tags in Route Handlers or other contexts, use revalidateTag instead. See more info here: https://nextjs.org/docs/app/api-reference/functions/updateTag");
285
346
  markActionRevalidation(ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC);
286
- await _getActiveHandler().revalidateTag(encodeCacheTag(tag));
347
+ await _invalidateEncodedTag(encodeCacheTag(tag));
287
348
  }
288
349
  /**
289
350
  * Opt out of static rendering and indicate a particular component should not be cached.
@@ -703,6 +764,4 @@ function unstable_cache(fn, keyParts, options) {
703
764
  return cachedFn;
704
765
  }
705
766
  //#endregion
706
- export { MemoryCacheHandler, NoOpCacheHandler, _consumeRequestScopedCacheLife, _initRequestScopedCacheState, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLife, cacheLifeProfiles, cacheTag, configureMemoryCacheHandler, getAndClearActionRevalidationKind, getCacheHandler, getRequestExecutionContext, io, isInsideUnstableCacheScope, unstable_noStore as noStore, unstable_noStore, refresh, revalidatePath, revalidateTag, runWithExecutionContext, setCacheHandler, unstable_cache, unstable_cacheLife, unstable_cacheTag, unstable_io, updateTag };
707
-
708
- //# sourceMappingURL=cache.js.map
767
+ export { MemoryCacheHandler, NoOpCacheHandler, _consumeRequestScopedCacheLife, _initRequestScopedCacheState, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLife, cacheLifeProfiles, cacheTag, configureMemoryCacheHandler, getAndClearActionRevalidationKind, getCacheHandler, getDataCacheHandler, getRequestExecutionContext, io, isInsideUnstableCacheScope, unstable_noStore as noStore, unstable_noStore, refresh, revalidatePath, revalidateTag, runWithExecutionContext, setCacheHandler, setDataCacheHandler, unstable_cache, unstable_cacheLife, unstable_cacheTag, unstable_io, updateTag };
@@ -0,0 +1,125 @@
1
+ import { CacheHandlerValue, IncrementalCacheValue } from "./cache.js";
2
+
3
+ //#region src/shims/cdn-cache.d.ts
4
+ /** A map of response header name -> value the adapter wants applied. */
5
+ type CdnResponseHeaders = Record<string, string>;
6
+ type CdnCacheableHeaderInput = {
7
+ /**
8
+ * The cacheable `Cache-Control` value the framework computed for shared
9
+ * caches (e.g. `s-maxage=60, stale-while-revalidate`). May be an empty string
10
+ * when no cacheable policy applies.
11
+ */
12
+ cacheControl: string;
13
+ /**
14
+ * True when this is a freshly-rendered **streaming** response whose
15
+ * dynamic-ness is not yet proven (late Server Component request-API usage can
16
+ * only be detected after the stream drains).
17
+ *
18
+ * The default adapter forces `no-store` for the browser in this case — the
19
+ * page is instead served from the origin store on subsequent requests. Edge
20
+ * adapters may instead emit edge-only cache headers (e.g. `CDN-Cache-Control`)
21
+ * so the CDN performs SWR while the browser still sees `no-store`.
22
+ */
23
+ pendingDynamicCheck?: boolean;
24
+ /**
25
+ * The cache tags associated with this page/route, already canonicalised
26
+ * (e.g. via `encodeCacheTag`). Edge adapters use these to emit a tag header
27
+ * (e.g. a `Cache-Tag` header) so tag-based purging can target the response.
28
+ * The default adapter ignores them.
29
+ */
30
+ tags?: readonly string[];
31
+ };
32
+ /**
33
+ * The serving strategy for page-level ISR. Implement this to delegate
34
+ * page/route/image caching to a CDN edge instead of the origin store.
35
+ */
36
+ type CdnCacheAdapter = {
37
+ /**
38
+ * Read a page-level artifact. Returning a value lets the origin serve it
39
+ * (HIT/STALE); returning `null` makes the origin render fresh.
40
+ *
41
+ * Default: reads the data cache. Edge adapters typically return `null` so the
42
+ * edge owns serving.
43
+ */
44
+ get(key: string, ctx?: Record<string, unknown>): Promise<CacheHandlerValue | null>;
45
+ /**
46
+ * Persist a freshly-rendered page-level artifact.
47
+ *
48
+ * Default: writes to the data cache. Edge adapters that rely entirely on the
49
+ * CDN may make this a no-op.
50
+ */
51
+ set(key: string, data: IncrementalCacheValue | null, ctx?: Record<string, unknown>): Promise<void>;
52
+ /**
53
+ * Build the response cache headers for a given cacheable policy. Returns a map
54
+ * so an adapter can emit more than one header (e.g. `Cache-Control` +
55
+ * `CDN-Cache-Control`).
56
+ */
57
+ buildResponseHeaders(input: CdnCacheableHeaderInput): CdnResponseHeaders;
58
+ /**
59
+ * Whether the **origin** runs in-process background regeneration when a stale
60
+ * entry is served. Edge adapters set this to `false` because the CDN
61
+ * revalidates by re-requesting the origin.
62
+ */
63
+ readonly ownsBackgroundRevalidation: boolean;
64
+ /**
65
+ * Propagate a tag/path invalidation to the CDN edge (purge). Called *in
66
+ * addition to* the data cache's own tag invalidation, so the default
67
+ * implementation is a no-op (the data cache already invalidated its entries).
68
+ *
69
+ * Edge adapters implement this to purge the edge cache — typically firing the
70
+ * purge through the request execution context (`ctx.waitUntil`).
71
+ */
72
+ revalidateTag(tags: string | string[], durations?: {
73
+ expire?: number;
74
+ }): Promise<void>;
75
+ };
76
+ /**
77
+ * Default origin-managed ISR strategy: store page artifacts in the data cache,
78
+ * serve HIT/STALE from it, run in-process background regeneration, and emit the
79
+ * framework's standard `Cache-Control` headers.
80
+ */
81
+ declare class DefaultCdnCacheAdapter implements CdnCacheAdapter {
82
+ readonly ownsBackgroundRevalidation = true;
83
+ get(key: string, ctx?: Record<string, unknown>): Promise<CacheHandlerValue | null>;
84
+ set(key: string, data: IncrementalCacheValue | null, ctx?: Record<string, unknown>): Promise<void>;
85
+ buildResponseHeaders(input: CdnCacheableHeaderInput): CdnResponseHeaders;
86
+ revalidateTag(_tags: string | string[], _durations?: {
87
+ expire?: number;
88
+ }): Promise<void>;
89
+ }
90
+ /**
91
+ * Set a custom CDN cache adapter to delegate page-level ISR to a CDN edge. An
92
+ * explicit adapter always wins over the built-in request-context / default
93
+ * selection.
94
+ *
95
+ * @deprecated Don't wire up the CDN cache adapter imperatively. Configure it
96
+ * declaratively via the `cache.cdn` option on the `vinext()` plugin in your
97
+ * `vite.config.ts`, using a config-time adapter builder. On Cloudflare Workers:
98
+ *
99
+ * ```ts
100
+ * import { vinext } from "vinext";
101
+ * import { cdnAdapter } from "@vinext/cloudflare/cache/cdn-adapter";
102
+ *
103
+ * export default defineConfig({
104
+ * plugins: [vinext({ cache: { cdn: cdnAdapter() } })],
105
+ * });
106
+ * ```
107
+ *
108
+ * The plugin registers the adapter across every runtime/router entry, so you
109
+ * don't have to call this from a worker entry. This setter remains as the
110
+ * internal registration target and for backwards compatibility, but is not the
111
+ * recommended consumer API.
112
+ */
113
+ declare function setCdnCacheAdapter(adapter: CdnCacheAdapter): void;
114
+ /**
115
+ * Get the active CDN cache adapter. See the precedence note above:
116
+ * explicit (or an already-resolved auto-detected edge adapter) → origin-managed
117
+ * {@link DefaultCdnCacheAdapter}.
118
+ *
119
+ * Auto-detection of the Cloudflare Workers Cache (`ctx.cache`) only runs when
120
+ * `VINEXT_CDN_CACHE_AUTO_DETECT === "1"`; otherwise the default adapter is used
121
+ * unless an adapter was set explicitly.
122
+ */
123
+ declare function getCdnCacheAdapter(): CdnCacheAdapter;
124
+ //#endregion
125
+ export { CdnCacheAdapter, CdnCacheableHeaderInput, CdnResponseHeaders, DefaultCdnCacheAdapter, getCdnCacheAdapter, setCdnCacheAdapter };
@@ -0,0 +1,100 @@
1
+ import { getRequestExecutionContext } from "./request-context.js";
2
+ import { getDataCacheHandler } from "./cache.js";
3
+ import { CloudflareCdnCacheAdapter } from "../cloudflare/src/cache/cdn-adapter.runtime.js";
4
+ //#region src/shims/cdn-cache.ts
5
+ /**
6
+ * CDN cache adapter — owns the *page-level ISR serving strategy*.
7
+ *
8
+ * This is deliberately distinct from the data cache handler (see `./cache.ts`):
9
+ *
10
+ * - The **data cache** stores cached data (fetch, `"use cache"`,
11
+ * `unstable_cache`, route-handler data). It is a pure key/value store.
12
+ *
13
+ * - The **CDN cache adapter** decides *how page-level ISR is served*: where the
14
+ * rendered page/route/image artifacts live, what cache headers the response
15
+ * carries, whether the origin runs background regeneration, and how
16
+ * invalidation propagates to a CDN edge.
17
+ *
18
+ * Two strategies sit behind one interface:
19
+ *
20
+ * | Concern | DefaultCdnCacheAdapter (origin-managed) | Edge adapter (CDN-managed) |
21
+ * | ------------------ | --------------------------------------- | ------------------------------------------- |
22
+ * | Serve from store? | Yes — reads the data cache | No — origin renders fresh, edge caches |
23
+ * | Background regen | In-process via `waitUntil` | Edge re-requests origin |
24
+ * | Response headers | `Cache-Control` (SWR) | `Cache-Control: no-store` + `CDN-Cache-Control: <SWR>` |
25
+ * | Invalidation | (data cache handles tag invalidation) | purge / revalidate via request context |
26
+ *
27
+ * The default adapter is a thin shim over the data cache + the framework's
28
+ * existing header logic, so default behavior is byte-for-byte identical to the
29
+ * pre-split implementation.
30
+ */
31
+ const PENDING_DYNAMIC_CACHE_CONTROL = "no-store, must-revalidate";
32
+ /**
33
+ * Default origin-managed ISR strategy: store page artifacts in the data cache,
34
+ * serve HIT/STALE from it, run in-process background regeneration, and emit the
35
+ * framework's standard `Cache-Control` headers.
36
+ */
37
+ var DefaultCdnCacheAdapter = class {
38
+ ownsBackgroundRevalidation = true;
39
+ async get(key, ctx) {
40
+ return getDataCacheHandler().get(key, ctx);
41
+ }
42
+ async set(key, data, ctx) {
43
+ await getDataCacheHandler().set(key, data, ctx);
44
+ }
45
+ buildResponseHeaders(input) {
46
+ if (input.pendingDynamicCheck) return { "Cache-Control": PENDING_DYNAMIC_CACHE_CONTROL };
47
+ return { "Cache-Control": input.cacheControl };
48
+ }
49
+ async revalidateTag(_tags, _durations) {}
50
+ };
51
+ const _CDN_KEY = Symbol.for("vinext.cdnCacheAdapter");
52
+ const _gCdn = globalThis;
53
+ let _defaultAdapter = null;
54
+ /**
55
+ * Set a custom CDN cache adapter to delegate page-level ISR to a CDN edge. An
56
+ * explicit adapter always wins over the built-in request-context / default
57
+ * selection.
58
+ *
59
+ * @deprecated Don't wire up the CDN cache adapter imperatively. Configure it
60
+ * declaratively via the `cache.cdn` option on the `vinext()` plugin in your
61
+ * `vite.config.ts`, using a config-time adapter builder. On Cloudflare Workers:
62
+ *
63
+ * ```ts
64
+ * import { vinext } from "vinext";
65
+ * import { cdnAdapter } from "@vinext/cloudflare/cache/cdn-adapter";
66
+ *
67
+ * export default defineConfig({
68
+ * plugins: [vinext({ cache: { cdn: cdnAdapter() } })],
69
+ * });
70
+ * ```
71
+ *
72
+ * The plugin registers the adapter across every runtime/router entry, so you
73
+ * don't have to call this from a worker entry. This setter remains as the
74
+ * internal registration target and for backwards compatibility, but is not the
75
+ * recommended consumer API.
76
+ */
77
+ function setCdnCacheAdapter(adapter) {
78
+ _gCdn[_CDN_KEY] = adapter;
79
+ }
80
+ /**
81
+ * Get the active CDN cache adapter. See the precedence note above:
82
+ * explicit (or an already-resolved auto-detected edge adapter) → origin-managed
83
+ * {@link DefaultCdnCacheAdapter}.
84
+ *
85
+ * Auto-detection of the Cloudflare Workers Cache (`ctx.cache`) only runs when
86
+ * `VINEXT_CDN_CACHE_AUTO_DETECT === "1"`; otherwise the default adapter is used
87
+ * unless an adapter was set explicitly.
88
+ */
89
+ function getCdnCacheAdapter() {
90
+ const active = _gCdn[_CDN_KEY];
91
+ if (active) return active;
92
+ if (process.env.VINEXT_CDN_CACHE_AUTO_DETECT === "1" && getRequestExecutionContext()?.cache) {
93
+ const edge = new CloudflareCdnCacheAdapter();
94
+ _gCdn[_CDN_KEY] = edge;
95
+ return edge;
96
+ }
97
+ return _defaultAdapter ??= new DefaultCdnCacheAdapter();
98
+ }
99
+ //#endregion
100
+ export { DefaultCdnCacheAdapter, getCdnCacheAdapter, setCdnCacheAdapter };
@@ -10,5 +10,4 @@
10
10
  declare function buildClientHookErrorMessage(hookName: string): string;
11
11
  declare function throwClientHookError(hookName: string): never;
12
12
  //#endregion
13
- export { buildClientHookErrorMessage, throwClientHookError };
14
- //# sourceMappingURL=client-hook-error.d.ts.map
13
+ export { buildClientHookErrorMessage, throwClientHookError };