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
package/dist/deploy.js CHANGED
@@ -259,28 +259,29 @@ function generateWranglerConfig(info) {
259
259
  images: { binding: "IMAGES" }
260
260
  };
261
261
  if (info.hasISR) config.kv_namespaces = [{
262
- binding: "VINEXT_CACHE",
262
+ binding: "VINEXT_KV_CACHE",
263
263
  id: "<your-kv-namespace-id>"
264
264
  }];
265
265
  return JSON.stringify(config, null, 2) + "\n";
266
266
  }
267
267
  /** Generate worker/index.ts for App Router */
268
- function generateAppRouterWorkerEntry(hasISR = false) {
268
+ function generateAppRouterWorkerEntry() {
269
269
  return `/**
270
270
  * Cloudflare Worker entry point — auto-generated by vinext deploy.
271
271
  * Edit freely or delete to regenerate on next deploy.
272
272
  *
273
+ * Cache backends (data + page ISR) are configured declaratively in
274
+ * vite.config via the vinext({ cache }) option.
275
+ *
273
276
  * For apps without image optimization, you can use vinext/server/app-router-entry
274
277
  * directly in wrangler.jsonc: "main": "vinext/server/app-router-entry"
275
278
  */
276
279
  import { handleImageOptimization, DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, isImageOptimizationPath } from "vinext/server/image-optimization";
277
280
  import type { ImageConfig } from "vinext/server/image-optimization";
278
281
  import handler from "vinext/server/app-router-entry";
279
- ${hasISR ? `import { KVCacheHandler } from "vinext/cloudflare";
280
- import { setCacheHandler } from "vinext/shims/cache";
281
- ` : ""}
282
+
282
283
  interface Env {
283
- ASSETS: Fetcher;${hasISR ? `\n VINEXT_CACHE: KVNamespace;` : ""}
284
+ ASSETS: Fetcher;
284
285
  IMAGES: {
285
286
  input(stream: ReadableStream): {
286
287
  transform(options: Record<string, unknown>): {
@@ -303,11 +304,7 @@ interface ExecutionContext {
303
304
 
304
305
  export default {
305
306
  async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
306
- ${hasISR ? ` // Wire up KV-backed ISR cache. The vinext RSC entry automatically
307
- // registers ctx in ALS so background KV puts use waitUntil — without
308
- // this every request would return MISS.
309
- setCacheHandler(new KVCacheHandler(env.VINEXT_CACHE));
310
- ` : ""} const url = new URL(request.url);
307
+ const url = new URL(request.url);
311
308
 
312
309
  // Image optimization via Cloudflare Images binding.
313
310
  // The parseImageParams validation inside handleImageOptimization
@@ -337,31 +334,19 @@ function generatePagesRouterWorkerEntry() {
337
334
  * Cloudflare Worker entry point -- auto-generated by vinext deploy.
338
335
  * Edit freely or delete to regenerate on next deploy.
339
336
  */
337
+ import { runPagesRequest } from "vinext/server/pages-request-pipeline";
338
+ import type { PagesPipelineDeps } from "vinext/server/pages-request-pipeline";
340
339
  import { handleImageOptimization, DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, isImageOptimizationPath } from "vinext/server/image-optimization";
341
340
  import type { ImageConfig } from "vinext/server/image-optimization";
342
- import {
343
- matchRedirect,
344
- matchRewrite,
345
- requestContextFromRequest,
346
- applyMiddlewareRequestHeaders,
347
- isExternalUrl,
348
- proxyExternalRequest,
349
- sanitizeDestination,
350
- } from "vinext/config/config-matchers";
351
- import {
352
- applyConfigHeadersToHeaderRecord,
353
- cloneRequestWithHeaders,
354
- filterInternalHeaders,
355
- isOpenRedirectShaped,
356
- normalizeTrailingSlash,
357
- } from "vinext/server/request-pipeline";
341
+ import { cloneRequestWithHeaders, filterInternalHeaders, isOpenRedirectShaped } from "vinext/server/request-pipeline";
358
342
  import { notFoundStaticAssetResponse } from "vinext/server/http-error-responses";
359
343
  import { assetPrefixPathname, isNextStaticPath } from "vinext/utils/asset-prefix";
360
- import { normalizeDefaultLocalePathname, stripI18nLocaleForApiRoute } from "vinext/server/pages-i18n";
361
- import { mergeRewriteQuery } from "vinext/utils/query";
344
+ import { hasBasePath, stripBasePath } from "vinext/utils/base-path";
362
345
 
363
346
  // @ts-expect-error -- virtual module resolved by vinext at build time
364
347
  import { renderPage, handleApiRoute, runMiddleware, vinextConfig, matchPageRoute } from "virtual:vinext-server-entry";
348
+ // @ts-expect-error -- virtual module resolved by vinext at build time
349
+ import { registerConfiguredCacheAdapters } from "virtual:vinext-cache-adapters";
365
350
 
366
351
  interface Env {
367
352
  ASSETS: Fetcher;
@@ -394,22 +379,13 @@ const imageConfig: ImageConfig | undefined = vinextConfig?.images ? {
394
379
  contentSecurityPolicy: vinextConfig.images.contentSecurityPolicy,
395
380
  } : undefined;
396
381
 
397
- function hasBasePath(pathname: string, basePath: string): boolean {
398
- if (!basePath) return false;
399
- return pathname === basePath || pathname.startsWith(basePath + "/");
400
- }
401
-
402
- function stripBasePath(pathname: string, basePath: string): string {
403
- if (!hasBasePath(pathname, basePath)) return pathname;
404
- return pathname.slice(basePath.length) || "/";
405
- }
406
-
407
382
  export default {
408
383
  async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
384
+ // Pass the Worker \`env\` so binding-backed adapters (e.g. KV) resolve.
385
+ registerConfiguredCacheAdapters(env);
409
386
  try {
410
387
  const url = new URL(request.url);
411
388
  let pathname = url.pathname;
412
- let urlWithQuery = pathname + url.search;
413
389
 
414
390
  // Block protocol-relative URL open redirects in all shapes:
415
391
  // literal //evil.com, /\\\\evil.com
@@ -452,11 +428,12 @@ export default {
452
428
  {
453
429
  const stripped = stripBasePath(pathname, basePath);
454
430
  if (stripped !== pathname) {
455
- urlWithQuery = stripped + url.search;
431
+ const strippedUrl = new URL(request.url);
432
+ strippedUrl.pathname = stripped;
433
+ request = new Request(strippedUrl, request);
456
434
  pathname = stripped;
457
435
  }
458
436
  }
459
- const basePathState = { basePath, hadBasePath };
460
437
 
461
438
  // ── Image optimization via Cloudflare Images binding ──────────
462
439
  // Checked after basePath stripping so /<basePath>/_next/image works.
@@ -471,291 +448,43 @@ export default {
471
448
  }, allowedWidths, imageConfig);
472
449
  }
473
450
 
474
- // ── 2. Trailing slash normalization ────────────────────────────
475
- {
476
- const trailingSlashRedirect = normalizeTrailingSlash(
477
- pathname,
478
- basePath,
479
- trailingSlash,
480
- url.search,
481
- );
482
- if (trailingSlashRedirect) {
483
- return trailingSlashRedirect;
484
- }
485
- }
486
-
487
- // Build a request with the basePath-stripped URL for middleware and
488
- // downstream handlers. In Workers the incoming request URL still
489
- // contains basePath; prod-server constructs its webRequest from
490
- // the already-stripped URL, so we replicate that here.
491
- if (basePath) {
492
- const strippedUrl = new URL(request.url);
493
- strippedUrl.pathname = pathname;
494
- request = new Request(strippedUrl, request);
495
- }
496
-
497
- // Build request context for pre-middleware config matching. Redirects
498
- // run before middleware in Next.js. Header match conditions also use the
499
- // original request snapshot even though header merging happens later so
500
- // middleware response headers can still take precedence.
501
- // beforeFiles, afterFiles, and fallback rewrites run after middleware
502
- // (App Router order), so they use postMwReqCtx created after
503
- // x-middleware-request-* headers are unpacked into request.
504
- const reqCtx = requestContextFromRequest(request);
505
-
506
- // Default-locale path normalisation (issue #1336, item 4). Mirrors
507
- // Next.js's resolve-routes.ts: every request without a locale prefix
508
- // gets the (domain-aware) default locale prepended before config rule
509
- // matching so that locale-aware rules with :locale placeholders or
510
- // locale: false overrides still match default-locale URLs.
511
- const matchPathname = i18nConfig
512
- ? normalizeDefaultLocalePathname(pathname, i18nConfig, {
513
- hostname: url.hostname,
514
- })
515
- : pathname;
516
-
517
- // ── 3. Apply redirects from next.config.js ────────────────────
518
- if (configRedirects.length) {
519
- const redirect = matchRedirect(matchPathname, configRedirects, reqCtx, basePathState);
520
- if (redirect) {
521
- // Only prepend basePath when the request was actually under basePath.
522
- // Opt-out rules running on out-of-basepath requests must not receive
523
- // a basePath prefix.
524
- const dest = sanitizeDestination(
525
- basePath &&
526
- hadBasePath &&
527
- !isExternalUrl(redirect.destination) &&
528
- !hasBasePath(redirect.destination, basePath)
529
- ? basePath + redirect.destination
530
- : redirect.destination,
531
- );
532
- return new Response(null, {
533
- status: redirect.permanent ? 308 : 307,
534
- headers: { Location: dest },
535
- });
536
- }
537
- }
538
-
539
- // ── 4. Run middleware ──────────────────────────────────────────
540
- let resolvedUrl = urlWithQuery;
541
- const middlewareHeaders: Record<string, string | string[]> = {};
542
- let middlewareRewriteStatus: number | undefined;
543
- if (typeof runMiddleware === "function") {
544
- const result = await runMiddleware(request, ctx, { isDataRequest });
545
-
546
- // Bubble up waitUntil promises (e.g. Clerk telemetry/session sync)
547
- if (result.waitUntilPromises?.length) {
548
- for (const p of result.waitUntilPromises) {
549
- ctx.waitUntil(p);
550
- }
551
- }
552
-
553
- if (!result.continue) {
554
- if (result.redirectUrl) {
555
- const redirectHeaders = new Headers({ Location: result.redirectUrl });
556
- if (result.responseHeaders) {
557
- for (const [key, value] of result.responseHeaders) {
558
- redirectHeaders.append(key, value);
559
- }
560
- }
561
- return new Response(null, {
562
- status: result.redirectStatus ?? 307,
563
- headers: redirectHeaders,
564
- });
565
- }
566
- if (result.response) {
567
- return result.response;
568
- }
569
- }
570
-
571
- // Collect middleware response headers to merge into final response.
572
- // Use an array for Set-Cookie to preserve multiple values.
573
- if (result.responseHeaders) {
574
- for (const [key, value] of result.responseHeaders) {
575
- if (key === "set-cookie") {
576
- const existing = middlewareHeaders[key];
577
- if (Array.isArray(existing)) {
578
- existing.push(value);
579
- } else if (existing) {
580
- middlewareHeaders[key] = [existing as string, value];
581
- } else {
582
- middlewareHeaders[key] = [value];
583
- }
584
- } else {
585
- middlewareHeaders[key] = value;
586
- }
587
- }
588
- }
589
-
590
- // Apply middleware rewrite
591
- if (result.rewriteUrl) {
592
- resolvedUrl = result.rewriteUrl;
593
- }
594
-
595
- // Apply custom status code from middleware rewrite
596
- middlewareRewriteStatus = result.rewriteStatus;
597
- }
598
-
599
- // Unpack x-middleware-request-* headers into the actual request and strip
600
- // all x-middleware-* internal signals. Rebuilds postMwReqCtx for use by
601
- // beforeFiles, afterFiles, and fallback config rules (which run after
602
- // middleware per the Next.js execution order).
603
- const { postMwReqCtx, request: postMwReq } = applyMiddlewareRequestHeaders(middlewareHeaders, request);
604
- request = postMwReq;
605
-
606
- // Config header matching must keep using the original normalized pathname
607
- // even if middleware rewrites the downstream route/render target.
608
- let resolvedPathname = resolvedUrl.split("?")[0];
609
-
610
- // ── 5. Apply custom headers from next.config.js ───────────────
611
- // Config headers are additive for multi-value headers (Vary,
612
- // Set-Cookie) and override for everything else. Vary values are
613
- // comma-joined per HTTP spec. Set-Cookie values are accumulated
614
- // as arrays (RFC 6265 forbids comma-joining cookies).
615
- // Middleware headers take precedence: skip config keys already set
616
- // by middleware so middleware always wins for the same key.
617
- if (configHeaders.length) {
618
- applyConfigHeadersToHeaderRecord(middlewareHeaders, {
619
- configHeaders,
620
- pathname: matchPathname,
621
- requestContext: reqCtx,
622
- basePathState,
623
- });
624
- }
625
-
626
- if (isExternalUrl(resolvedUrl)) {
627
- const proxyResponse = await proxyExternalRequest(request, resolvedUrl);
628
- return mergeHeaders(proxyResponse, middlewareHeaders, undefined);
629
- }
630
-
631
- // Default-locale-normalised form of resolvedPathname for matching
632
- // against next.config.js rewrites (beforeFiles, afterFiles, fallback).
633
- const matchResolvedPathname = (p: string): string =>
634
- i18nConfig
635
- ? normalizeDefaultLocalePathname(p, i18nConfig, { hostname: url.hostname })
636
- : p;
637
-
638
- // ── 6. Apply beforeFiles rewrites from next.config.js ─────────
639
- let configRewriteFired = false;
640
- if (configRewrites.beforeFiles?.length) {
641
- const rewritten = matchRewrite(
642
- matchResolvedPathname(resolvedPathname),
643
- configRewrites.beforeFiles,
644
- postMwReqCtx,
645
- basePathState,
646
- );
647
- if (rewritten) {
648
- if (isExternalUrl(rewritten)) {
649
- return proxyExternalRequest(request, rewritten);
650
- }
651
- // Preserve original query params across rewrites (Next.js parity).
652
- resolvedUrl = mergeRewriteQuery(resolvedUrl, rewritten);
653
- resolvedPathname = resolvedUrl.split("?")[0];
654
- configRewriteFired = true;
655
- }
656
- }
657
-
658
- // Reject out-of-basePath requests that no rule rewrote. See the
659
- // matching comment in prod-server.ts step 7b.
660
- if (basePath && !hadBasePath && !configRewriteFired) {
661
- return new Response("This page could not be found", {
662
- status: 404,
663
- headers: { "Content-Type": "text/html; charset=utf-8" },
664
- });
665
- }
666
-
667
- // ── 7. API routes ─────────────────────────────────────────────
668
- // Forward ctx so handlePagesApiRoute can wrap the user handler in
669
- // runWithExecutionContext, making ctx.waitUntil() reachable from
670
- // after() and other shims that schedule deferred work.
671
- //
672
- // Strip the i18n locale prefix before the /api/ check so
673
- // /fr/api/ok resolves to the pages/api/ok handler (Next.js
674
- // parity -- see base-server.ts's normalizeLocalePath call).
675
- const apiLookupUrl = stripI18nLocaleForApiRoute(resolvedUrl, vinextConfig?.i18n ?? null);
676
- const apiLookupPathname = apiLookupUrl.split("?")[0];
677
- if (apiLookupPathname.startsWith("/api/") || apiLookupPathname === "/api") {
678
- const response = typeof handleApiRoute === "function"
679
- ? await handleApiRoute(request, apiLookupUrl, ctx)
680
- : new Response("404 - API route not found", { status: 404 });
681
- return mergeHeaders(response, middlewareHeaders, middlewareRewriteStatus);
682
- }
683
-
684
- const pageMatch =
685
- typeof matchPageRoute === "function" ? matchPageRoute(resolvedPathname, request) : null;
686
-
687
- // ── 8. Apply afterFiles rewrites from next.config.js ──────────
688
- // These run after non-dynamic page routes but before dynamic routes.
689
- if ((!pageMatch || pageMatch.route.isDynamic) && configRewrites.afterFiles?.length) {
690
- const rewritten = matchRewrite(
691
- matchResolvedPathname(resolvedPathname),
692
- configRewrites.afterFiles,
693
- postMwReqCtx,
694
- basePathState,
695
- );
696
- if (rewritten) {
697
- if (isExternalUrl(rewritten)) {
698
- return proxyExternalRequest(request, rewritten);
699
- }
700
- resolvedUrl = mergeRewriteQuery(resolvedUrl, rewritten);
701
- resolvedPathname = resolvedUrl.split("?")[0];
702
- }
703
- }
704
-
705
- // ── 9. Page routes ────────────────────────────────────────────
706
- let response: Response | undefined;
707
- if (typeof renderPage === "function") {
708
- const renderPageMatch =
709
- typeof matchPageRoute === "function" ? matchPageRoute(resolvedPathname, request) : null;
710
- const shouldDeferErrorPageOnMiss =
711
- !isDataRequest && typeof matchPageRoute === "function" && !renderPageMatch;
712
- const initialRenderOptions = shouldDeferErrorPageOnMiss
713
- ? { renderErrorPageOnMiss: false }
714
- : undefined;
715
- response = await renderPage(request, resolvedUrl, null, ctx, undefined, initialRenderOptions);
716
-
717
- // ── 10. Fallback rewrites (if SSR returned 404) ─────────────
718
- let matchedFallbackRewrite = false;
719
- if (
720
- response &&
721
- response.status === 404 &&
722
- shouldDeferErrorPageOnMiss &&
723
- configRewrites.fallback?.length
724
- ) {
725
- const fallbackRewrite = matchRewrite(
726
- matchResolvedPathname(resolvedPathname),
727
- configRewrites.fallback,
728
- postMwReqCtx,
729
- basePathState,
730
- );
731
- if (fallbackRewrite) {
732
- if (isExternalUrl(fallbackRewrite)) {
733
- return proxyExternalRequest(request, fallbackRewrite);
734
- }
735
- matchedFallbackRewrite = true;
736
- response = await renderPage(
737
- request,
738
- mergeRewriteQuery(resolvedUrl, fallbackRewrite),
739
- null,
740
- ctx,
741
- );
742
- }
743
- }
744
- if (
745
- response &&
746
- response.status === 404 &&
747
- shouldDeferErrorPageOnMiss &&
748
- !matchedFallbackRewrite
749
- ) {
750
- response = await renderPage(request, resolvedUrl, null, ctx);
751
- }
752
- }
451
+ // Delegate the canonical 9-step Next.js pipeline to the shared owner.
452
+ // The worker adapter is responsible for: open-redirect guard, _next/static
453
+ // 404 short-circuit, header filtering, basePath stripping, and image
454
+ // optimization. runPagesRequest receives a clean, basePath-stripped request.
455
+ const deps: PagesPipelineDeps = {
456
+ basePath,
457
+ trailingSlash,
458
+ i18nConfig,
459
+ configRedirects,
460
+ configRewrites,
461
+ configHeaders,
462
+ hadBasePath,
463
+ // The worker adapter does not do _next/data URL normalization (no
464
+ // buildId available at request time). isDataReq is used by the pipeline
465
+ // only for renderPage options and shouldDeferErrorPageOnMiss -- false
466
+ // is correct here.
467
+ isDataReq: false,
468
+ isDataRequest,
469
+ ctx,
470
+ matchPageRoute: typeof matchPageRoute === "function" ? matchPageRoute : null,
471
+ runMiddleware: typeof runMiddleware === "function" ? runMiddleware : null,
472
+ renderPage: typeof renderPage === "function"
473
+ ? (req, resolvedUrl, options, stagedHeaders) =>
474
+ renderPage(req, resolvedUrl, null, ctx, stagedHeaders, options)
475
+ : null,
476
+ handleApi: typeof handleApiRoute === "function"
477
+ ? (req, apiUrl) => handleApiRoute(req, apiUrl, ctx)
478
+ : null,
479
+ };
753
480
 
754
- if (!response) {
755
- return new Response("This page could not be found", { status: 404 });
481
+ const result = await runPagesRequest(request, deps);
482
+ if (result.type === "response") {
483
+ return result.response;
756
484
  }
485
+ // Should not reach here for prod/worker (all callbacks supplied).
486
+ return new Response("This page could not be found", { status: 404 });
757
487
 
758
- return mergeHeaders(response, middlewareHeaders, middlewareRewriteStatus);
759
488
  } catch (error) {
760
489
  console.error("[vinext] Worker error:", error);
761
490
  return new Response("Internal Server Error", { status: 500 });
@@ -763,90 +492,6 @@ export default {
763
492
  },
764
493
  };
765
494
 
766
- /**
767
- * Merge middleware/config headers into a response.
768
- * Response headers take precedence over middleware headers for all headers
769
- * except Set-Cookie, which is additive (both middleware and response cookies
770
- * are preserved). Matches the behavior in prod-server.ts. Uses getSetCookie()
771
- * to preserve multiple Set-Cookie values. Keep this in sync with
772
- * prod-server.ts and server/worker-utils.ts.
773
- */
774
- function mergeHeaders(
775
- response: Response,
776
- extraHeaders: Record<string, string | string[]>,
777
- statusOverride?: number,
778
- ): Response {
779
- const NO_BODY_RESPONSE_STATUSES = new Set([204, 205, 304]);
780
- function isVinextStreamedHtmlResponse(response: Response): boolean {
781
- return response.__vinextStreamedHtmlResponse === true;
782
- }
783
- function isContentLengthHeader(name: string): boolean {
784
- return name.toLowerCase() === "content-length";
785
- }
786
- function cancelResponseBody(response: Response): void {
787
- const body = response.body;
788
- if (!body || body.locked) return;
789
- void body.cancel().catch(() => {
790
- /* ignore cancellation failures on discarded bodies */
791
- });
792
- }
793
-
794
- const status = statusOverride ?? response.status;
795
- const merged = new Headers();
796
- // Middleware/config headers go in first (lower precedence)
797
- for (const [k, v] of Object.entries(extraHeaders)) {
798
- if (isContentLengthHeader(k)) continue;
799
- if (Array.isArray(v)) {
800
- for (const item of v) merged.append(k, item);
801
- } else {
802
- merged.set(k, v);
803
- }
804
- }
805
- // Response headers overlay them (higher precedence), except Set-Cookie
806
- // which is additive (both middleware and response cookies should be sent).
807
- response.headers.forEach((v, k) => {
808
- if (k === "set-cookie") return;
809
- merged.set(k, v);
810
- });
811
- const responseCookies = response.headers.getSetCookie?.() ?? [];
812
- for (const cookie of responseCookies) merged.append("set-cookie", cookie);
813
-
814
- const shouldDropBody = NO_BODY_RESPONSE_STATUSES.has(status);
815
- const shouldStripStreamLength =
816
- isVinextStreamedHtmlResponse(response) && merged.has("content-length");
817
-
818
- if (
819
- !Object.keys(extraHeaders).some((key) => !isContentLengthHeader(key)) &&
820
- statusOverride === undefined &&
821
- !shouldDropBody &&
822
- !shouldStripStreamLength
823
- ) {
824
- return response;
825
- }
826
-
827
- if (shouldDropBody) {
828
- cancelResponseBody(response);
829
- merged.delete("content-encoding");
830
- merged.delete("content-length");
831
- merged.delete("content-type");
832
- merged.delete("transfer-encoding");
833
- return new Response(null, {
834
- status,
835
- statusText: status === response.status ? response.statusText : undefined,
836
- headers: merged,
837
- });
838
- }
839
-
840
- if (shouldStripStreamLength) {
841
- merged.delete("content-length");
842
- }
843
-
844
- return new Response(response.body, {
845
- status,
846
- statusText: status === response.status ? response.statusText : undefined,
847
- headers: merged,
848
- });
849
- }
850
495
  `;
851
496
  }
852
497
  /** Generate vite.config.ts for App Router */
@@ -980,6 +625,101 @@ function viteConfigHasCloudflarePlugin(root) {
980
625
  }
981
626
  return false;
982
627
  }
628
+ /**
629
+ * Extract the object-literal text of the `cache:` key (the `{ ... }` passed as
630
+ * `vinext({ cache })`) from a Vite config source, via brace matching. Returns
631
+ * null if there is no `cache:` object literal.
632
+ */
633
+ function extractCacheBlock(content) {
634
+ const m = /\bcache\s*:\s*\{/.exec(content);
635
+ if (!m) return null;
636
+ const open = m.index + m[0].length - 1;
637
+ let depth = 0;
638
+ for (let i = open; i < content.length; i++) {
639
+ const ch = content[i];
640
+ if (ch === "{") depth++;
641
+ else if (ch === "}" && --depth === 0) return content.slice(open, i + 1);
642
+ }
643
+ return null;
644
+ }
645
+ /**
646
+ * Whether a `cdn` / `data` field inside the cache object is assigned a real
647
+ * value (not absent, `undefined`, or `null`). Reads the value up to the next
648
+ * comma / closing brace / newline, which is enough to tell an assignment like
649
+ * `data: kvDataAdapter()` from `data: undefined`.
650
+ */
651
+ function cacheFieldAssigned(cacheBlock, field) {
652
+ const m = new RegExp(`\\b${field}\\s*:\\s*([^,}\\n]+)`).exec(cacheBlock);
653
+ if (!m) return false;
654
+ const value = m[1].trim();
655
+ return value.length > 0 && value !== "undefined" && value !== "null";
656
+ }
657
+ /**
658
+ * Detect whether the Vite config assigns a CDN or data cache adapter — i.e. the
659
+ * `cdn` or `data` field of the `vinext({ cache })` option is given a value.
660
+ * This is a source-level check on those exact object fields, not a fuzzy scan
661
+ * for adapter names. Mirrors {@link viteConfigHasCloudflarePlugin}'s leniency:
662
+ * an unreadable or absent config is treated as configured so a deploy is never
663
+ * blocked on a false negative.
664
+ */
665
+ function viteConfigHasCacheAdapter(root) {
666
+ const candidates = [
667
+ path.join(root, "vite.config.ts"),
668
+ path.join(root, "vite.config.js"),
669
+ path.join(root, "vite.config.mjs")
670
+ ];
671
+ for (const candidate of candidates) {
672
+ if (!fs.existsSync(candidate)) continue;
673
+ let content;
674
+ try {
675
+ content = fs.readFileSync(candidate, "utf-8");
676
+ } catch {
677
+ return true;
678
+ }
679
+ const block = extractCacheBlock(content);
680
+ if (!block) return false;
681
+ return cacheFieldAssigned(block, "cdn") || cacheFieldAssigned(block, "data");
682
+ }
683
+ return true;
684
+ }
685
+ /**
686
+ * Detect whether an existing user-authored Worker entry wires up a cache
687
+ * backend imperatively via one of the `setCacheHandler` / `setDataCacheHandler`
688
+ * / `setCdnCacheAdapter` setters. These setters are deprecated in favour of the
689
+ * declarative `vinext({ cache })` option, but older apps that scaffolded a KV
690
+ * cache handler into their Worker entry must keep working — so a deploy should
691
+ * not be blocked when the Worker entry already configures a backend.
692
+ *
693
+ * This is a heuristic text scan (it doesn't execute the entry), mirroring
694
+ * {@link viteConfigHasCacheAdapter}'s leniency: an unreadable Worker entry is
695
+ * treated as configured so a deploy is never blocked on a false negative. A
696
+ * missing Worker entry returns false (nothing to inspect — defer to other
697
+ * checks).
698
+ */
699
+ function workerEntryHasCacheHandler(root) {
700
+ const candidates = [path.join(root, "worker", "index.ts"), path.join(root, "worker", "index.js")];
701
+ for (const candidate of candidates) {
702
+ if (!fs.existsSync(candidate)) continue;
703
+ let content;
704
+ try {
705
+ content = fs.readFileSync(candidate, "utf-8");
706
+ } catch {
707
+ return true;
708
+ }
709
+ return /\b(?:setCacheHandler|setDataCacheHandler|setCdnCacheAdapter)\s*\(/.test(content);
710
+ }
711
+ return false;
712
+ }
713
+ /**
714
+ * Build the error thrown when an ISR/cached app is deployed without a cache
715
+ * adapter configured in the Vite config. Production deployments need a
716
+ * persistent cache backend; vinext no longer scaffolds one into the Worker
717
+ * entry, so it must be declared via `vinext({ cache })`.
718
+ */
719
+ function formatMissingCacheAdapterError(options) {
720
+ const configRef = options.configFile ? options.configFile : "your Vite config";
721
+ return `[vinext] This app uses ISR / caching but no cache adapter is configured in ${configRef}.\n\n Production deployments need a persistent cache backend. Declare one on the\n vinext() plugin in ${configRef}:\n\n import { kvDataAdapter } from "@vinext/cloudflare/cache/kv-data-adapter";\n\n export default defineConfig({\n plugins: [\n vinext({\n cache: {\n data: kvDataAdapter(), // KV-backed data cache (binding: VINEXT_KV_CACHE)\n },\n }),\n cloudflare(),\n ],\n });\n\n The VINEXT_KV_CACHE namespace binding is added to wrangler.jsonc for you.\n Create the namespace with:\n\n npx wrangler kv namespace create VINEXT_KV_CACHE`;
722
+ }
983
723
  function getFilesToGenerate(info) {
984
724
  const files = [];
985
725
  if (!info.hasWranglerConfig) files.push({
@@ -988,7 +728,7 @@ function getFilesToGenerate(info) {
988
728
  description: "wrangler.jsonc"
989
729
  });
990
730
  if (!info.hasWorkerEntry) {
991
- const workerContent = info.isAppRouter ? generateAppRouterWorkerEntry(info.hasISR) : generatePagesRouterWorkerEntry();
731
+ const workerContent = info.isAppRouter ? generateAppRouterWorkerEntry() : generatePagesRouterWorkerEntry();
992
732
  files.push({
993
733
  path: path.join(info.root, "worker", "index.ts"),
994
734
  content: workerContent,
@@ -1013,7 +753,31 @@ function writeGeneratedFiles(files) {
1013
753
  console.log(` Created ${file.description}`);
1014
754
  }
1015
755
  }
1016
- async function runBuild(info) {
756
+ /**
757
+ * Run a function with `process.env.CLOUDFLARE_ENV` set to the given value,
758
+ * restoring the previous state (whether set or absent) after the function
759
+ * resolves or throws.
760
+ *
761
+ * The `@cloudflare/vite-plugin` reads `CLOUDFLARE_ENV` from `process.env` to
762
+ * drive the multi-environment merge applied to the emitted `wrangler.json`.
763
+ * Without this propagation the `--env <name>` CLI flag is silently ignored at
764
+ * build time and the top-level config is emitted regardless. See issue #1210.
765
+ *
766
+ * Passing `undefined` is a no-op; the callback runs with `process.env` untouched.
767
+ */
768
+ async function withCloudflareEnv(env, fn) {
769
+ if (env === void 0 || env === "") return fn();
770
+ const hadPrev = "CLOUDFLARE_ENV" in process.env;
771
+ const prev = process.env.CLOUDFLARE_ENV;
772
+ process.env.CLOUDFLARE_ENV = env;
773
+ try {
774
+ return await fn();
775
+ } finally {
776
+ if (hadPrev) process.env.CLOUDFLARE_ENV = prev;
777
+ else delete process.env.CLOUDFLARE_ENV;
778
+ }
779
+ }
780
+ async function runBuild(info, env) {
1017
781
  console.log("\n Building for Cloudflare Workers...\n");
1018
782
  let vitePath;
1019
783
  try {
@@ -1022,7 +786,9 @@ async function runBuild(info) {
1022
786
  vitePath = "vite";
1023
787
  }
1024
788
  const { createBuilder } = await (vitePath === "vite" ? import(vitePath) : import(pathToFileURL(vitePath).href));
1025
- await (await createBuilder({ root: info.root })).buildApp();
789
+ await withCloudflareEnv(env, async () => {
790
+ await (await createBuilder({ root: info.root })).buildApp();
791
+ });
1026
792
  }
1027
793
  function buildWranglerDeployArgs(options) {
1028
794
  const args = ["deploy"];
@@ -1127,11 +893,12 @@ async function deploy(options) {
1127
893
  writeGeneratedFiles(filesToGenerate);
1128
894
  }
1129
895
  if (info.hasViteConfig && !viteConfigHasCloudflarePlugin(root)) throw new Error(formatMissingCloudflarePluginError({ isAppRouter: info.isAppRouter }));
896
+ if (info.hasISR && !viteConfigHasCacheAdapter(root) && !workerEntryHasCacheHandler(root)) throw new Error(formatMissingCacheAdapterError({}));
1130
897
  if (options.dryRun) {
1131
898
  console.log("\n Dry run complete. Files generated but no build or deploy performed.\n");
1132
899
  return;
1133
900
  }
1134
- if (!options.skipBuild) await runBuild(info);
901
+ if (!options.skipBuild) await runBuild(info, options.env || (options.preview ? "preview" : void 0));
1135
902
  else console.log("\n Skipping build (--skip-build)");
1136
903
  {
1137
904
  const nextConfig = await resolveNextConfig(await loadNextConfig(info.root), info.root);
@@ -1168,6 +935,4 @@ async function deploy(options) {
1168
935
  console.log(" ─────────────────────────────────────────\n");
1169
936
  }
1170
937
  //#endregion
1171
- export { buildWranglerDeployArgs, deploy, detectProject, ensureESModule, formatMissingCloudflarePluginError, generateAppRouterViteConfig, generateAppRouterWorkerEntry, generatePagesRouterViteConfig, generatePagesRouterWorkerEntry, generateWranglerConfig, getFilesToGenerate, getMissingDeps, hasWranglerConfig, isPackageResolvable, parseDeployArgs, renameCJSConfigs, resolveWranglerBin, viteConfigHasCloudflarePlugin };
1172
-
1173
- //# sourceMappingURL=deploy.js.map
938
+ export { buildWranglerDeployArgs, deploy, detectProject, ensureESModule, formatMissingCacheAdapterError, formatMissingCloudflarePluginError, generateAppRouterViteConfig, generateAppRouterWorkerEntry, generatePagesRouterViteConfig, generatePagesRouterWorkerEntry, generateWranglerConfig, getFilesToGenerate, getMissingDeps, hasWranglerConfig, isPackageResolvable, parseDeployArgs, renameCJSConfigs, resolveWranglerBin, viteConfigHasCacheAdapter, viteConfigHasCloudflarePlugin, withCloudflareEnv, workerEntryHasCacheHandler };