vinext 1.0.0-beta.4 → 1.0.0-beta.5

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 (412) hide show
  1. package/README.md +44 -3
  2. package/dist/build/client-build-config.d.ts +0 -1
  3. package/dist/build/css-url-assets.d.ts +0 -1
  4. package/dist/build/google-fonts/build-url.d.ts +5 -2
  5. package/dist/build/google-fonts/font-metadata.d.ts +7 -3
  6. package/dist/build/google-fonts/get-axes.d.ts +0 -1
  7. package/dist/build/layout-classification.d.ts +7 -4
  8. package/dist/build/next-client-runtime-manifests.d.ts +0 -1
  9. package/dist/build/next-client-runtime-manifests.js +2 -19
  10. package/dist/build/nitro-route-rules.d.ts +0 -1
  11. package/dist/build/pages-client-assets-module.d.ts +0 -1
  12. package/dist/build/precompress.d.ts +7 -2
  13. package/dist/build/precompress.js +41 -7
  14. package/dist/build/prerender-paths.d.ts +2 -2
  15. package/dist/build/prerender-server-entry.d.ts +1 -1
  16. package/dist/build/prerender-server-pool.d.ts +4 -2
  17. package/dist/build/prerender.d.ts +36 -33
  18. package/dist/build/prerender.js +6 -1
  19. package/dist/build/public-dir-conflict.d.ts +14 -0
  20. package/dist/build/public-dir-conflict.js +25 -0
  21. package/dist/build/report.d.ts +2 -2
  22. package/dist/build/route-classification-injector.d.ts +0 -1
  23. package/dist/build/route-classification-manifest.d.ts +5 -3
  24. package/dist/build/run-prerender.d.ts +3 -2
  25. package/dist/build/static-export.d.ts +23 -12
  26. package/dist/cache/cache-adapters-virtual.d.ts +5 -2
  27. package/dist/check.js +4 -4
  28. package/dist/cli-dev-config.d.ts +0 -1
  29. package/dist/cli.d.ts +1 -1
  30. package/dist/client/client-rewrite-matcher.d.ts +12 -0
  31. package/dist/client/client-rewrite-matcher.js +20 -0
  32. package/dist/client/client-rewrites.d.ts +31 -0
  33. package/dist/client/client-rewrites.js +41 -0
  34. package/dist/client/dev-error-overlay.d.ts +0 -1
  35. package/dist/client/empty-module.d.ts +1 -1
  36. package/dist/client/index.d.ts +2 -0
  37. package/dist/client/index.js +2 -0
  38. package/dist/client/instrumentation-client-state.d.ts +0 -1
  39. package/dist/client/navigation-runtime.d.ts +6 -1
  40. package/dist/client/navigation-runtime.js +5 -1
  41. package/dist/client/pages-router-link-navigation.d.ts +3 -21
  42. package/dist/client/react-instance-bootstrap.d.ts +1 -0
  43. package/dist/client/react-instance-bootstrap.js +7 -0
  44. package/dist/client/react-instance.d.ts +13 -0
  45. package/dist/client/react-instance.js +20 -0
  46. package/dist/client/vinext-next-data.d.ts +11 -6
  47. package/dist/client/window-next.d.ts +5 -2
  48. package/dist/config/config-matchers.d.ts +3 -5
  49. package/dist/config/config-matchers.js +7 -6
  50. package/dist/config/dotenv.d.ts +1 -5
  51. package/dist/config/next-config.d.ts +113 -54
  52. package/dist/config/next-config.js +3 -0
  53. package/dist/config/prerender.d.ts +0 -1
  54. package/dist/entries/app-browser-entry.d.ts +0 -1
  55. package/dist/entries/app-browser-entry.js +6 -2
  56. package/dist/entries/app-rsc-entry.d.ts +30 -16
  57. package/dist/entries/app-rsc-entry.js +23 -10
  58. package/dist/entries/app-rsc-manifest.d.ts +0 -1
  59. package/dist/entries/app-rsc-manifest.js +1 -0
  60. package/dist/entries/pages-client-entry.d.ts +0 -1
  61. package/dist/entries/pages-client-entry.js +7 -2
  62. package/dist/entries/pages-server-entry.d.ts +1 -2
  63. package/dist/entries/pages-server-entry.js +21 -5
  64. package/dist/image/image-adapters-virtual.d.ts +4 -2
  65. package/dist/index.d.ts +0 -1
  66. package/dist/index.js +246 -68
  67. package/dist/init-cloudflare.d.ts +0 -1
  68. package/dist/init-platform.d.ts +0 -1
  69. package/dist/init.d.ts +40 -20
  70. package/dist/plugins/ast-scope.d.ts +0 -1
  71. package/dist/plugins/async-hooks-stub.d.ts +0 -1
  72. package/dist/plugins/client-reference-dedup.d.ts +0 -1
  73. package/dist/plugins/css-data-url.d.ts +0 -1
  74. package/dist/plugins/css-module-imports.d.ts +0 -1
  75. package/dist/plugins/dynamic-preload-metadata.d.ts +0 -1
  76. package/dist/plugins/extensionless-dynamic-import.d.ts +0 -1
  77. package/dist/plugins/extensionless-dynamic-import.js +352 -13
  78. package/dist/plugins/fonts.d.ts +0 -1
  79. package/dist/plugins/ignore-dynamic-requests.d.ts +0 -1
  80. package/dist/plugins/ignore-dynamic-requests.js +28 -4
  81. package/dist/plugins/import-meta-url.d.ts +0 -1
  82. package/dist/plugins/instrumentation-client.d.ts +0 -1
  83. package/dist/plugins/middleware-server-only.d.ts +0 -1
  84. package/dist/plugins/og-asset-ownership.d.ts +0 -1
  85. package/dist/plugins/og-assets.d.ts +0 -1
  86. package/dist/plugins/optimize-imports.d.ts +0 -1
  87. package/dist/plugins/remove-console.d.ts +0 -1
  88. package/dist/plugins/require-context.d.ts +0 -1
  89. package/dist/plugins/require-context.js +143 -26
  90. package/dist/plugins/rsc-client-reference-loaders.d.ts +0 -1
  91. package/dist/plugins/rsc-reference-validation-normalizer.d.ts +0 -1
  92. package/dist/plugins/sass.d.ts +30 -2
  93. package/dist/plugins/sass.js +64 -1
  94. package/dist/plugins/server-externals-manifest.d.ts +0 -1
  95. package/dist/plugins/strip-server-exports.d.ts +0 -1
  96. package/dist/plugins/styled-jsx.d.ts +0 -1
  97. package/dist/plugins/wasm-module-import.d.ts +0 -1
  98. package/dist/routing/app-route-graph.d.ts +115 -56
  99. package/dist/routing/app-route-graph.js +2 -1
  100. package/dist/routing/app-router.d.ts +0 -1
  101. package/dist/routing/pages-router.d.ts +9 -5
  102. package/dist/routing/route-matching.d.ts +0 -1
  103. package/dist/routing/utils.d.ts +1 -23
  104. package/dist/routing/utils.js +1 -30
  105. package/dist/server/accept-encoding.d.ts +0 -1
  106. package/dist/server/api-handler.d.ts +0 -1
  107. package/dist/server/app-bfcache-identity.d.ts +9 -10
  108. package/dist/server/app-bfcache-identity.js +27 -128
  109. package/dist/server/app-browser-action-result.d.ts +0 -1
  110. package/dist/server/app-browser-client-reuse-manifest.d.ts +0 -1
  111. package/dist/server/app-browser-entry.d.ts +1 -1
  112. package/dist/server/app-browser-entry.js +41 -29
  113. package/dist/server/app-browser-history-controller.d.ts +8 -5
  114. package/dist/server/app-browser-hydration.d.ts +0 -1
  115. package/dist/server/app-browser-interception-context.d.ts +0 -1
  116. package/dist/server/app-browser-mpa-navigation.d.ts +0 -1
  117. package/dist/server/app-browser-navigation-controller.d.ts +2 -5
  118. package/dist/server/app-browser-popstate.d.ts +0 -1
  119. package/dist/server/app-browser-prefetch-response.d.ts +17 -1
  120. package/dist/server/app-browser-prefetch-response.js +23 -1
  121. package/dist/server/app-browser-server-action-client.d.ts +1 -1
  122. package/dist/server/app-browser-server-action-client.js +3 -2
  123. package/dist/server/app-browser-server-action-navigation.d.ts +0 -1
  124. package/dist/server/app-browser-state.d.ts +4 -3
  125. package/dist/server/app-browser-state.js +2 -4
  126. package/dist/server/app-browser-stream.d.ts +0 -1
  127. package/dist/server/app-browser-visible-commit.d.ts +1 -1
  128. package/dist/server/app-browser-visible-commit.js +6 -2
  129. package/dist/server/app-elements-wire.d.ts +16 -13
  130. package/dist/server/app-elements-wire.js +37 -10
  131. package/dist/server/app-elements.d.ts +2 -3
  132. package/dist/server/app-elements.js +2 -2
  133. package/dist/server/app-fallback-renderer.d.ts +8 -4
  134. package/dist/server/app-fallback-renderer.js +2 -1
  135. package/dist/server/app-history-state.d.ts +2 -2
  136. package/dist/server/app-history-state.js +1 -1
  137. package/dist/server/app-hook-warning-suppression.d.ts +0 -1
  138. package/dist/server/app-layout-param-observation.d.ts +0 -1
  139. package/dist/server/app-layout-param-observation.js +1 -1
  140. package/dist/server/app-middleware.d.ts +5 -1
  141. package/dist/server/app-middleware.js +96 -31
  142. package/dist/server/app-optimistic-routing.d.ts +1 -0
  143. package/dist/server/app-page-boundary-render.d.ts +8 -4
  144. package/dist/server/app-page-cache-finalizer.d.ts +2 -3
  145. package/dist/server/app-page-cache-finalizer.js +47 -17
  146. package/dist/server/app-page-cache-render.d.ts +2 -2
  147. package/dist/server/app-page-cache-render.js +2 -1
  148. package/dist/server/app-page-cache.d.ts +1 -3
  149. package/dist/server/app-page-cache.js +22 -11
  150. package/dist/server/app-page-dispatch.d.ts +11 -5
  151. package/dist/server/app-page-dispatch.js +8 -4
  152. package/dist/server/app-page-element-builder.d.ts +61 -19
  153. package/dist/server/app-page-element-builder.js +113 -43
  154. package/dist/server/app-page-execution.d.ts +12 -5
  155. package/dist/server/app-page-execution.js +1 -1
  156. package/dist/server/app-page-head.d.ts +2 -2
  157. package/dist/server/app-page-http-access-fallback-metadata.d.ts +2 -2
  158. package/dist/server/app-page-params.d.ts +0 -1
  159. package/dist/server/app-page-ppr-runtime.d.ts +0 -1
  160. package/dist/server/app-page-probe.d.ts +4 -3
  161. package/dist/server/app-page-probe.js +1 -1
  162. package/dist/server/app-page-render-identity.d.ts +1 -0
  163. package/dist/server/app-page-render-observation.d.ts +0 -1
  164. package/dist/server/app-page-render.d.ts +6 -4
  165. package/dist/server/app-page-render.js +49 -24
  166. package/dist/server/app-page-request.d.ts +3 -1
  167. package/dist/server/app-page-request.js +3 -34
  168. package/dist/server/app-page-response.d.ts +13 -3
  169. package/dist/server/app-page-response.js +16 -3
  170. package/dist/server/app-page-route-wiring.d.ts +27 -5
  171. package/dist/server/app-page-route-wiring.js +110 -58
  172. package/dist/server/app-page-search-params-observation.d.ts +0 -1
  173. package/dist/server/app-page-segment-plan.d.ts +56 -0
  174. package/dist/server/app-page-segment-plan.js +177 -0
  175. package/dist/server/app-page-segment-state.d.ts +18 -2
  176. package/dist/server/app-page-segment-state.js +23 -4
  177. package/dist/server/app-page-stream.d.ts +19 -10
  178. package/dist/server/app-pages-bridge.d.ts +0 -1
  179. package/dist/server/app-pages-bridge.js +12 -1
  180. package/dist/server/app-post-middleware-context.d.ts +0 -1
  181. package/dist/server/app-ppr-fallback-shell-render.d.ts +0 -1
  182. package/dist/server/app-prerender-endpoints.d.ts +0 -1
  183. package/dist/server/app-prerender-static-params.d.ts +0 -1
  184. package/dist/server/app-render-dependency.d.ts +11 -4
  185. package/dist/server/app-render-dependency.js +59 -9
  186. package/dist/server/app-request-context.d.ts +1 -0
  187. package/dist/server/app-route-handler-cache.d.ts +2 -2
  188. package/dist/server/app-route-handler-cache.js +5 -1
  189. package/dist/server/app-route-handler-dispatch.d.ts +0 -1
  190. package/dist/server/app-route-handler-execution.d.ts +2 -2
  191. package/dist/server/app-route-handler-execution.js +5 -1
  192. package/dist/server/app-route-handler-policy.d.ts +0 -1
  193. package/dist/server/app-route-handler-response.d.ts +0 -1
  194. package/dist/server/app-route-handler-runtime.d.ts +0 -1
  195. package/dist/server/app-route-handler-runtime.js +1 -2
  196. package/dist/server/app-route-module-loader.d.ts +32 -6
  197. package/dist/server/app-route-module-loader.js +73 -3
  198. package/dist/server/app-router-entry.d.ts +0 -1
  199. package/dist/server/app-router-entry.js +2 -2
  200. package/dist/server/app-rsc-cache-busting.d.ts +0 -1
  201. package/dist/server/app-rsc-handler.d.ts +7 -2
  202. package/dist/server/app-rsc-handler.js +165 -38
  203. package/dist/server/app-rsc-redirect-flight.d.ts +0 -1
  204. package/dist/server/app-rsc-request-normalization.d.ts +19 -10
  205. package/dist/server/app-rsc-response-finalizer.d.ts +5 -2
  206. package/dist/server/app-rsc-response-finalizer.js +31 -18
  207. package/dist/server/app-rsc-route-matching.d.ts +6 -1
  208. package/dist/server/app-rsc-route-matching.js +47 -2
  209. package/dist/server/app-segment-config.d.ts +0 -1
  210. package/dist/server/app-server-action-execution.d.ts +41 -8
  211. package/dist/server/app-server-action-execution.js +189 -111
  212. package/dist/server/app-ssr-entry.d.ts +5 -3
  213. package/dist/server/app-ssr-entry.js +4 -5
  214. package/dist/server/app-ssr-router-instance.d.ts +0 -1
  215. package/dist/server/app-ssr-stream.d.ts +7 -1
  216. package/dist/server/app-ssr-stream.js +2 -1
  217. package/dist/server/app-static-generation.d.ts +0 -1
  218. package/dist/server/app-visited-response-cache.d.ts +1 -1
  219. package/dist/server/before-interactive-head.d.ts +0 -1
  220. package/dist/server/before-interactive-head.js +2 -0
  221. package/dist/server/bfcache-identity.d.ts +45 -0
  222. package/dist/server/bfcache-identity.js +52 -0
  223. package/dist/server/cache-control.d.ts +3 -3
  224. package/dist/server/cache-control.js +3 -2
  225. package/dist/server/cache-proof.d.ts +0 -1
  226. package/dist/server/client-reuse-manifest.d.ts +0 -1
  227. package/dist/server/config-headers.d.ts +2 -2
  228. package/dist/server/csp.d.ts +0 -1
  229. package/dist/server/default-global-error-module.d.ts +0 -1
  230. package/dist/server/default-global-not-found-module.d.ts +0 -1
  231. package/dist/server/default-not-found-module.d.ts +0 -1
  232. package/dist/server/dev-lockfile.d.ts +21 -9
  233. package/dist/server/dev-module-runner.d.ts +0 -1
  234. package/dist/server/dev-route-files.d.ts +0 -1
  235. package/dist/server/dev-server.d.ts +4 -8
  236. package/dist/server/dev-server.js +28 -96
  237. package/dist/server/dev-stack-sourcemap.d.ts +0 -1
  238. package/dist/server/document-initial-head.d.ts +12 -2
  239. package/dist/server/document-initial-head.js +17 -2
  240. package/dist/server/file-based-metadata.d.ts +0 -1
  241. package/dist/server/headers.d.ts +15 -2
  242. package/dist/server/headers.js +15 -1
  243. package/dist/server/http-conditional.d.ts +22 -0
  244. package/dist/server/http-conditional.js +117 -0
  245. package/dist/server/http-date.d.ts +5 -0
  246. package/dist/server/http-date.js +73 -0
  247. package/dist/server/http-error-responses.d.ts +2 -1
  248. package/dist/server/http-error-responses.js +14 -2
  249. package/dist/server/http-range.d.ts +25 -0
  250. package/dist/server/http-range.js +67 -0
  251. package/dist/server/image-optimization.d.ts +14 -6
  252. package/dist/server/image-optimization.js +0 -1
  253. package/dist/server/instrumentation.d.ts +7 -4
  254. package/dist/server/isr-cache.d.ts +28 -6
  255. package/dist/server/isr-cache.js +19 -13
  256. package/dist/server/isr-decision.d.ts +6 -4
  257. package/dist/server/metadata-route-build-data.d.ts +0 -1
  258. package/dist/server/metadata-route-response.d.ts +0 -1
  259. package/dist/server/metadata-route-response.js +7 -6
  260. package/dist/server/metadata-routes.d.ts +34 -16
  261. package/dist/server/middleware-matcher-pattern.d.ts +0 -1
  262. package/dist/server/middleware-matcher.d.ts +8 -3
  263. package/dist/server/middleware-matcher.js +23 -18
  264. package/dist/server/middleware-runtime.d.ts +6 -1
  265. package/dist/server/middleware-runtime.js +91 -28
  266. package/dist/server/middleware.d.ts +0 -1
  267. package/dist/server/navigation-planner.d.ts +1 -1
  268. package/dist/server/next-error-digest.d.ts +0 -1
  269. package/dist/server/pages-api-route.d.ts +0 -1
  270. package/dist/server/pages-api-route.js +30 -5
  271. package/dist/server/pages-asset-tags.d.ts +2 -1
  272. package/dist/server/pages-data-route.d.ts +14 -6
  273. package/dist/server/pages-data-route.js +19 -10
  274. package/dist/server/pages-dev-hydration.js +3 -0
  275. package/dist/server/pages-dev-stylesheets.d.ts +10 -0
  276. package/dist/server/pages-dev-stylesheets.js +150 -0
  277. package/dist/server/pages-document-initial-props.d.ts +10 -6
  278. package/dist/server/pages-get-initial-props.d.ts +2 -2
  279. package/dist/server/pages-i18n.d.ts +1 -7
  280. package/dist/server/pages-node-compat.d.ts +11 -2
  281. package/dist/server/pages-node-compat.js +49 -2
  282. package/dist/server/pages-page-data.d.ts +21 -9
  283. package/dist/server/pages-page-data.js +109 -30
  284. package/dist/server/pages-page-handler.d.ts +69 -32
  285. package/dist/server/pages-page-handler.js +21 -5
  286. package/dist/server/pages-page-response.d.ts +7 -13
  287. package/dist/server/pages-page-response.js +6 -18
  288. package/dist/server/pages-readiness.d.ts +0 -1
  289. package/dist/server/pages-request-pipeline.d.ts +20 -6
  290. package/dist/server/pages-request-pipeline.js +40 -20
  291. package/dist/server/pages-revalidate.d.ts +0 -1
  292. package/dist/server/pages-revalidate.js +1 -1
  293. package/dist/server/pages-router-entry.js +13 -9
  294. package/dist/server/prerender-manifest.d.ts +6 -0
  295. package/dist/server/prod-server.d.ts +13 -7
  296. package/dist/server/prod-server.js +274 -82
  297. package/dist/server/proxy-trust.d.ts +0 -1
  298. package/dist/server/request-log.d.ts +7 -11
  299. package/dist/server/request-pipeline.d.ts +13 -4
  300. package/dist/server/request-pipeline.js +28 -20
  301. package/dist/server/revalidation-host.d.ts +0 -1
  302. package/dist/server/revalidation-host.js +1 -1
  303. package/dist/server/rsc-completion-metadata.d.ts +15 -0
  304. package/dist/server/rsc-completion-metadata.js +183 -0
  305. package/dist/server/seed-cache.d.ts +2 -1
  306. package/dist/server/seed-cache.js +7 -4
  307. package/dist/server/skip-cache-proof.d.ts +0 -1
  308. package/dist/server/static-file-cache.d.ts +23 -9
  309. package/dist/server/static-file-cache.js +47 -23
  310. package/dist/server/static-layout-client-reuse-proof.d.ts +0 -1
  311. package/dist/server/worker-revalidation-context.d.ts +0 -1
  312. package/dist/server/worker-utils.d.ts +3 -1
  313. package/dist/server/worker-utils.js +11 -2
  314. package/dist/shims/app-router-scroll.d.ts +2 -8
  315. package/dist/shims/app.d.ts +1 -5
  316. package/dist/shims/before-interactive-context.d.ts +5 -3
  317. package/dist/shims/cache-handler.d.ts +6 -1
  318. package/dist/shims/cache-handler.js +4 -2
  319. package/dist/shims/cache-request-state.d.ts +12 -1
  320. package/dist/shims/cache-request-state.js +22 -1
  321. package/dist/shims/cache-runtime.d.ts +9 -5
  322. package/dist/shims/cache-runtime.js +16 -6
  323. package/dist/shims/cache.d.ts +2 -3
  324. package/dist/shims/cache.js +2 -2
  325. package/dist/shims/cdn-cache.d.ts +0 -1
  326. package/dist/shims/client-locale.d.ts +1 -6
  327. package/dist/shims/client-only.d.ts +1 -1
  328. package/dist/shims/compat-router.d.ts +0 -1
  329. package/dist/shims/constants.d.ts +1 -1
  330. package/dist/shims/default-global-error.d.ts +1 -4
  331. package/dist/shims/default-not-found.d.ts +0 -1
  332. package/dist/shims/document.d.ts +0 -1
  333. package/dist/shims/document.js +2 -1
  334. package/dist/shims/dynamic-preload-chunks.d.ts +0 -1
  335. package/dist/shims/dynamic.d.ts +0 -1
  336. package/dist/shims/error-boundary-navigation.d.ts +0 -1
  337. package/dist/shims/error-boundary.d.ts +7 -32
  338. package/dist/shims/error.d.ts +1 -6
  339. package/dist/shims/fetch-cache.js +112 -63
  340. package/dist/shims/font-google-base.d.ts +0 -1
  341. package/dist/shims/font-local.d.ts +0 -1
  342. package/dist/shims/form.d.ts +5 -3
  343. package/dist/shims/head-state.d.ts +0 -1
  344. package/dist/shims/head.d.ts +1 -4
  345. package/dist/shims/headers.d.ts +2 -2
  346. package/dist/shims/headers.js +1 -1
  347. package/dist/shims/i18n-context.d.ts +0 -1
  348. package/dist/shims/i18n-state.d.ts +0 -1
  349. package/dist/shims/image.d.ts +0 -1
  350. package/dist/shims/image.js +1 -2
  351. package/dist/shims/internal/als-registry.d.ts +31 -2
  352. package/dist/shims/internal/als-registry.js +50 -2
  353. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +17 -2
  354. package/dist/shims/internal/app-prefetch-fetch-queue.js +69 -7
  355. package/dist/shims/internal/app-route-detection.d.ts +0 -1
  356. package/dist/shims/internal/app-route-prefetch-policy.d.ts +31 -0
  357. package/dist/shims/internal/app-route-prefetch-policy.js +57 -0
  358. package/dist/shims/internal/app-router-context.d.ts +0 -1
  359. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +1 -5
  360. package/dist/shims/internal/hybrid-client-route-owner.d.ts +0 -1
  361. package/dist/shims/internal/hybrid-client-route-owner.js +6 -8
  362. package/dist/shims/internal/interpolate-as.d.ts +3 -2
  363. package/dist/shims/internal/pages-data-target.d.ts +21 -10
  364. package/dist/shims/internal/pages-data-target.js +1 -1
  365. package/dist/shims/internal/pages-data-url.d.ts +3 -1
  366. package/dist/shims/internal/router-context.d.ts +0 -1
  367. package/dist/shims/internal/work-unit-async-storage.d.ts +4 -3
  368. package/dist/shims/internal/work-unit-async-storage.js +2 -0
  369. package/dist/shims/layout-segment-context.d.ts +2 -6
  370. package/dist/shims/legacy-image.d.ts +0 -1
  371. package/dist/shims/link.d.ts +29 -23
  372. package/dist/shims/link.js +14 -100
  373. package/dist/shims/metadata.d.ts +2 -10
  374. package/dist/shims/navigation-context-state.d.ts +0 -1
  375. package/dist/shims/navigation-state.d.ts +1 -0
  376. package/dist/shims/navigation.d.ts +38 -6
  377. package/dist/shims/navigation.js +272 -69
  378. package/dist/shims/navigation.react-server.d.ts +1 -0
  379. package/dist/shims/og.d.ts +0 -1
  380. package/dist/shims/request-context.d.ts +8 -4
  381. package/dist/shims/request-state-types.d.ts +1 -0
  382. package/dist/shims/router.d.ts +44 -23
  383. package/dist/shims/router.js +8 -7
  384. package/dist/shims/script-nonce-context.d.ts +0 -1
  385. package/dist/shims/script.d.ts +25 -13
  386. package/dist/shims/server-only.d.ts +1 -1
  387. package/dist/shims/server.d.ts +1 -3
  388. package/dist/shims/server.js +5 -6
  389. package/dist/shims/slot.d.ts +22 -11
  390. package/dist/shims/slot.js +99 -19
  391. package/dist/shims/streamed-icons.d.ts +1 -3
  392. package/dist/shims/unified-request-context.d.ts +44 -4
  393. package/dist/shims/unified-request-context.js +56 -2
  394. package/dist/shims/use-merged-ref.d.ts +0 -1
  395. package/dist/shims/web-vitals.d.ts +0 -1
  396. package/dist/typegen.d.ts +1 -2
  397. package/dist/typegen.js +1 -1
  398. package/dist/utils/cache-control-metadata.d.ts +13 -1
  399. package/dist/utils/cache-control-metadata.js +17 -1
  400. package/dist/utils/client-build-manifest.d.ts +0 -1
  401. package/dist/utils/domain-locale.d.ts +1 -5
  402. package/dist/utils/html-limited-bots.js +1 -1
  403. package/dist/utils/middleware-request-headers.d.ts +17 -5
  404. package/dist/utils/middleware-request-headers.js +32 -23
  405. package/dist/utils/precompressed-variant.d.ts +9 -0
  406. package/dist/utils/precompressed-variant.js +15 -0
  407. package/dist/utils/project.d.ts +12 -7
  408. package/dist/utils/public-file-path.d.ts +5 -0
  409. package/dist/utils/public-file-path.js +12 -0
  410. package/dist/utils/public-routes.d.ts +1 -1
  411. package/dist/utils/public-routes.js +6 -5
  412. package/package.json +7 -3
@@ -1,24 +1,32 @@
1
1
  import { ResolvedNextConfig } from "../config/next-config.js";
2
2
  import { Route } from "../routing/pages-router.js";
3
3
  import { AppRoute } from "../routing/app-route-graph.js";
4
-
5
4
  //#region src/build/static-export.d.ts
6
5
  type StaticExportOptions = {
7
6
  /**
8
7
  * Absolute path to the pre-built Pages Router server bundle
9
8
  * (e.g. `dist/server/entry.js`).
10
9
  */
11
- pagesBundlePath: string; /** Discovered page routes (excludes API routes) */
12
- routes: Route[]; /** Discovered API routes */
13
- apiRoutes: Route[]; /** Pages directory path */
14
- pagesDir: string; /** Output directory for static files */
15
- outDir: string; /** Resolved next.config.js */
10
+ pagesBundlePath: string;
11
+ /** Discovered page routes (excludes API routes) */
12
+ routes: Route[];
13
+ /** Discovered API routes */
14
+ apiRoutes: Route[];
15
+ /** Pages directory path */
16
+ pagesDir: string;
17
+ /** Output directory for static files */
18
+ outDir: string;
19
+ /** Resolved next.config.js */
16
20
  config: ResolvedNextConfig;
17
21
  };
18
22
  type StaticExportResult = {
19
- /** Number of HTML files generated */pageCount: number; /** Generated file paths (relative to outDir) */
20
- files: string[]; /** Warnings encountered */
21
- warnings: string[]; /** Errors encountered (non-fatal, specific pages) */
23
+ /** Number of HTML files generated */
24
+ pageCount: number;
25
+ /** Generated file paths (relative to outDir) */
26
+ files: string[];
27
+ /** Warnings encountered */
28
+ warnings: string[];
29
+ /** Errors encountered (non-fatal, specific pages) */
22
30
  errors: Array<{
23
31
  route: string;
24
32
  error: string;
@@ -31,7 +39,8 @@ type StaticExportResult = {
31
39
  */
32
40
  declare function staticExportPages(options: StaticExportOptions): Promise<StaticExportResult>;
33
41
  type AppStaticExportOptions = {
34
- /** Discovered app routes */routes: AppRoute[];
42
+ /** Discovered app routes */
43
+ routes: AppRoute[];
35
44
  /**
36
45
  * App directory path. When provided, static export scans it for file-based
37
46
  * metadata assets such as icon.png and sitemap.xml.
@@ -41,8 +50,10 @@ type AppStaticExportOptions = {
41
50
  * Absolute path to the pre-built RSC handler bundle
42
51
  * (e.g. `dist/server/index.js`).
43
52
  */
44
- rscBundlePath: string; /** Output directory */
45
- outDir: string; /** Resolved next.config.js */
53
+ rscBundlePath: string;
54
+ /** Output directory */
55
+ outDir: string;
56
+ /** Resolved next.config.js */
46
57
  config: ResolvedNextConfig;
47
58
  };
48
59
  /**
@@ -11,7 +11,8 @@ type CacheAdapterDescriptor<O extends Record<string, unknown> = Record<string, u
11
11
  * Module specifier (or absolute path, e.g. from `require.resolve(...)`) whose
12
12
  * default export is a cache adapter factory.
13
13
  */
14
- adapter: string; /** JSON-serializable options forwarded to the factory at runtime. */
14
+ adapter: string;
15
+ /** JSON-serializable options forwarded to the factory at runtime. */
15
16
  options?: O;
16
17
  };
17
18
  /**
@@ -20,7 +21,9 @@ type CacheAdapterDescriptor<O extends Record<string, unknown> = Record<string, u
20
21
  * from a worker entry.
21
22
  */
22
23
  type VinextCacheConfig = {
23
- /** Page-level ISR serving strategy (CDN cache adapter). */cdn?: CacheAdapterDescriptor; /** Data cache (fetch / `"use cache"` / `unstable_cache`) handler. */
24
+ /** Page-level ISR serving strategy (CDN cache adapter). */
25
+ cdn?: CacheAdapterDescriptor;
26
+ /** Data cache (fetch / `"use cache"` / `unstable_cache`) handler. */
24
27
  data?: CacheAdapterDescriptor;
25
28
  };
26
29
  /** Public virtual module id imported by the server entries. */
package/dist/check.js CHANGED
@@ -295,12 +295,12 @@ const CONFIG_SUPPORT = {
295
295
  detail: "not recognized; instrumentation files are enabled automatically"
296
296
  },
297
297
  skipMiddlewareUrlNormalize: {
298
- status: "unsupported",
299
- detail: "not recognized; use of this option is ignored"
298
+ status: "partial",
299
+ detail: "preserves raw Pages Router _next/data URLs passed to middleware"
300
300
  },
301
301
  skipProxyUrlNormalize: {
302
- status: "unsupported",
303
- detail: "not recognized; use of this option is ignored"
302
+ status: "partial",
303
+ detail: "preserves raw Pages Router _next/data URLs passed to proxy"
304
304
  },
305
305
  "i18n.domains": {
306
306
  status: "partial",
@@ -1,5 +1,4 @@
1
1
  import { Plugin, ServerOptions } from "vite";
2
-
3
2
  //#region src/cli-dev-config.d.ts
4
3
  type DevServerCliOptions = {
5
4
  port?: number;
package/dist/cli.d.ts CHANGED
@@ -1 +1 @@
1
- export { };
1
+ export {}
@@ -0,0 +1,12 @@
1
+ import { RequestContext } from "../config/request-context.js";
2
+ import { BasePathMatchState } from "../config/config-matchers.js";
3
+ import { ClientRewrite } from "./client-rewrites.js";
4
+ //#region src/client/client-rewrite-matcher.d.ts
5
+ declare function matchClientRewrite(pathname: string, rewrite: ClientRewrite, context: RequestContext, basePathState: BasePathMatchState): {
6
+ kind: "rewrite";
7
+ destination: string;
8
+ } | {
9
+ kind: "server";
10
+ } | null;
11
+ //#endregion
12
+ export { matchClientRewrite };
@@ -0,0 +1,20 @@
1
+ import { isExternalUrl } from "../utils/external-url.js";
2
+ import { matchRewrite } from "../config/config-matchers.js";
3
+ //#region src/client/client-rewrite-matcher.ts
4
+ function matchClientRewrite(pathname, rewrite, context, basePathState) {
5
+ const destination = matchRewrite(pathname, [{
6
+ source: rewrite.source,
7
+ destination: rewrite.destination ?? "/",
8
+ has: rewrite.has,
9
+ locale: rewrite.locale,
10
+ basePath: rewrite.basePath
11
+ }], context, basePathState);
12
+ if (destination === null) return null;
13
+ if (rewrite.requiresServerEvaluation || isExternalUrl(destination)) return { kind: "server" };
14
+ return {
15
+ kind: "rewrite",
16
+ destination
17
+ };
18
+ }
19
+ //#endregion
20
+ export { matchClientRewrite };
@@ -0,0 +1,31 @@
1
+ import { HasCondition, NextRewrite, ResolvedNextConfig } from "../config/next-config.js";
2
+ //#region src/client/client-rewrites.d.ts
3
+ type ClientHasCondition = Omit<HasCondition, "type"> & {
4
+ type: "host" | "query";
5
+ };
6
+ type ClientRewriteFields = Pick<NextRewrite, "basePath" | "locale" | "source"> & {
7
+ has?: ClientHasCondition[];
8
+ };
9
+ /**
10
+ * Rewrite data that is safe to publish in a browser bundle.
11
+ *
12
+ * Rules that require server-only data deliberately omit both the destination
13
+ * and the data that made server evaluation necessary. The client can still
14
+ * use browser-authoritative conditions as a prefilter before handing the
15
+ * navigation to the server.
16
+ */
17
+ type ClientRewrite = (ClientRewriteFields & {
18
+ destination: string;
19
+ requiresServerEvaluation?: never;
20
+ }) | (ClientRewriteFields & {
21
+ destination?: never;
22
+ requiresServerEvaluation: true;
23
+ });
24
+ type ClientRewrites = {
25
+ afterFiles: ClientRewrite[];
26
+ beforeFiles: ClientRewrite[];
27
+ fallback: ClientRewrite[];
28
+ };
29
+ declare function toClientRewrites(rewrites: ResolvedNextConfig["rewrites"]): ClientRewrites;
30
+ //#endregion
31
+ export { ClientRewrite, ClientRewrites, toClientRewrites };
@@ -0,0 +1,41 @@
1
+ import { isExternalUrl } from "../utils/external-url.js";
2
+ //#region src/client/client-rewrites.ts
3
+ function isClientHasCondition(condition) {
4
+ switch (condition.type) {
5
+ case "host":
6
+ case "query": return true;
7
+ case "cookie":
8
+ case "header": return false;
9
+ default: return false;
10
+ }
11
+ }
12
+ function toClientRewrite(rewrite) {
13
+ const clientHas = rewrite.has?.filter(isClientHasCondition);
14
+ const hasServerOnlyCondition = rewrite.has?.some((condition) => !isClientHasCondition(condition)) ?? false;
15
+ const common = {
16
+ source: rewrite.source,
17
+ has: clientHas?.length ? clientHas : void 0,
18
+ locale: rewrite.locale,
19
+ basePath: rewrite.basePath
20
+ };
21
+ if (isExternalUrl(rewrite.destination) || (rewrite.missing?.length ?? 0) > 0 || hasServerOnlyCondition) return {
22
+ ...common,
23
+ requiresServerEvaluation: true
24
+ };
25
+ return {
26
+ source: rewrite.source,
27
+ destination: rewrite.destination,
28
+ has: common.has,
29
+ locale: rewrite.locale,
30
+ basePath: rewrite.basePath
31
+ };
32
+ }
33
+ function toClientRewrites(rewrites) {
34
+ return {
35
+ beforeFiles: rewrites.beforeFiles.map(toClientRewrite),
36
+ afterFiles: rewrites.afterFiles.map(toClientRewrite),
37
+ fallback: rewrites.fallback.map(toClientRewrite)
38
+ };
39
+ }
40
+ //#endregion
41
+ export { toClientRewrites };
@@ -1,5 +1,4 @@
1
1
  import { ReportedError, dismissOverlay } from "./dev-error-overlay-store.js";
2
-
3
2
  //#region src/client/dev-error-overlay.d.ts
4
3
  declare const DEV_ERROR_OVERLAY_HOST_ID = "__vinext_dev_error_overlay_root";
5
4
  declare const DEV_ERROR_OVERLAY_MOUNT_ID = "__vinext_dev_error_overlay_mount";
@@ -1 +1 @@
1
- export { };
1
+ export {}
@@ -0,0 +1,2 @@
1
+ import { getVinextReact } from "./react-instance.js";
2
+ export { getVinextReact };
@@ -0,0 +1,2 @@
1
+ import { getVinextReact } from "./react-instance.js";
2
+ export { getVinextReact };
@@ -1,5 +1,4 @@
1
1
  import { ClientInstrumentationHooks } from "./instrumentation-client.js";
2
-
3
2
  //#region src/client/instrumentation-client-state.d.ts
4
3
  declare function normalizeClientInstrumentationHooks(hooks: ClientInstrumentationHooks): ClientInstrumentationHooks | null;
5
4
  declare function setClientInstrumentationHooks(hooks: ClientInstrumentationHooks | null): ClientInstrumentationHooks | null;
@@ -1,6 +1,5 @@
1
1
  import { RouteManifest } from "../routing/app-route-graph.js";
2
2
  import { AppRouterScrollIntent } from "../shims/app-router-scroll-state.js";
3
-
4
3
  //#region src/client/navigation-runtime.d.ts
5
4
  type NavigationRuntimeSnapshot = {
6
5
  pathname: string;
@@ -14,6 +13,12 @@ type NavigationRuntimeRscBootstrap = {
14
13
  nav?: NavigationRuntimeSnapshot;
15
14
  params?: Record<string, string | string[]>;
16
15
  rsc: NavigationRuntimeRscChunk[];
16
+ /**
17
+ * Client reuse bound in seconds resolved from the initial render's completed
18
+ * `cacheLife` — the done-script sibling of `dynamicStaleTimeSeconds`, which
19
+ * carries the `experimental.staleTimes` config value instead.
20
+ */
21
+ staleTimeSeconds?: number;
17
22
  };
18
23
  type NavigationRuntimeKind = "navigate" | "traverse" | "refresh";
19
24
  type NavigationRuntimeHistoryUpdateMode = "push" | "replace";
@@ -55,7 +55,11 @@ function isNavigationRuntimeRscBootstrap(value) {
55
55
  const nav = Reflect.get(value, "nav");
56
56
  const params = Reflect.get(value, "params");
57
57
  const rsc = Reflect.get(value, "rsc");
58
- return (done === void 0 || typeof done === "boolean") && (dynamicStaleTimeSeconds === void 0 || typeof dynamicStaleTimeSeconds === "number" && Number.isFinite(dynamicStaleTimeSeconds) && dynamicStaleTimeSeconds >= 0) && (initialCacheKind === void 0 || initialCacheKind === "dynamic" || initialCacheKind === "static") && (nav === void 0 || isNavigationRuntimeSnapshot(nav)) && (params === void 0 || isNavigationRuntimeParams(params)) && Array.isArray(rsc) && rsc.every(isNavigationRuntimeRscChunk);
58
+ const staleTimeSeconds = Reflect.get(value, "staleTimeSeconds");
59
+ return (done === void 0 || typeof done === "boolean") && isOptionalStaleTimeSeconds(dynamicStaleTimeSeconds) && (initialCacheKind === void 0 || initialCacheKind === "dynamic" || initialCacheKind === "static") && (nav === void 0 || isNavigationRuntimeSnapshot(nav)) && (params === void 0 || isNavigationRuntimeParams(params)) && Array.isArray(rsc) && rsc.every(isNavigationRuntimeRscChunk) && isOptionalStaleTimeSeconds(staleTimeSeconds);
60
+ }
61
+ function isOptionalStaleTimeSeconds(value) {
62
+ return value === void 0 || typeof value === "number" && Number.isFinite(value) && value >= 0;
59
63
  }
60
64
  function isReadonlyStringArray(value) {
61
65
  return Array.isArray(value) && value.every((entry) => typeof entry === "string");
@@ -26,32 +26,14 @@ type PagesRouterLinkNavigation = {
26
26
  locale?: string | false;
27
27
  interpolateDynamicRoute?: boolean;
28
28
  };
29
- declare function resolvePagesRouterQueryOnlyHref(href: string, {
30
- asPath,
31
- basePath,
32
- fallbackHref,
33
- locales
34
- }: {
29
+ declare function resolvePagesRouterQueryOnlyHref(href: string, { asPath, basePath, fallbackHref, locales }: {
35
30
  asPath?: string;
36
31
  basePath: string;
37
32
  fallbackHref: string;
38
33
  locales?: readonly string[];
39
34
  }): string;
40
- declare function navigatePagesRouterLink(router: PagesRouterLinkRuntime, {
41
- href,
42
- as,
43
- replace,
44
- scroll,
45
- shallow,
46
- locale,
47
- interpolateDynamicRoute
48
- }: PagesRouterLinkNavigation): Promise<void>;
49
- declare function navigatePagesRouterLinkWithFallback({
50
- router,
51
- loadRouter,
52
- navigation,
53
- fallback
54
- }: {
35
+ declare function navigatePagesRouterLink(router: PagesRouterLinkRuntime, { href, as, replace, scroll, shallow, locale, interpolateDynamicRoute }: PagesRouterLinkNavigation): Promise<void>;
36
+ declare function navigatePagesRouterLinkWithFallback({ router, loadRouter, navigation, fallback }: {
55
37
  router?: PagesRouterLinkRuntime;
56
38
  loadRouter: () => Promise<PagesRouterLinkRuntime | undefined>;
57
39
  navigation: PagesRouterLinkNavigation;
@@ -0,0 +1 @@
1
+ export {}
@@ -0,0 +1,7 @@
1
+ "use client";
2
+ import { getVinextReact } from "./react-instance.js";
3
+ import * as React$1 from "react";
4
+ //#region src/client/react-instance-bootstrap.ts
5
+ getVinextReact(React$1);
6
+ //#endregion
7
+ export {};
@@ -0,0 +1,13 @@
1
+ //#region src/client/react-instance.d.ts
2
+ /**
3
+ * Return the React instance registered by the vinext browser entry.
4
+ *
5
+ * Module Federation remotes can call this with their local React namespace to
6
+ * reuse the host instance. The first browser registration wins so evaluating
7
+ * another copy of this module (for example after HMR) cannot replace it.
8
+ * Server and RSC environments always keep their condition-specific React
9
+ * instance local.
10
+ */
11
+ declare function getVinextReact(reactInstance: typeof import("react")): typeof import("react");
12
+ //#endregion
13
+ export { getVinextReact };
@@ -0,0 +1,20 @@
1
+ //#region src/client/react-instance.ts
2
+ const VINEXT_CLIENT_REACT = Symbol.for("vinext.client.react");
3
+ /**
4
+ * Return the React instance registered by the vinext browser entry.
5
+ *
6
+ * Module Federation remotes can call this with their local React namespace to
7
+ * reuse the host instance. The first browser registration wins so evaluating
8
+ * another copy of this module (for example after HMR) cannot replace it.
9
+ * Server and RSC environments always keep their condition-specific React
10
+ * instance local.
11
+ */
12
+ function getVinextReact(reactInstance) {
13
+ if (typeof window === "undefined") return reactInstance;
14
+ const registeredReact = Reflect.get(globalThis, VINEXT_CLIENT_REACT);
15
+ if (registeredReact !== void 0) return registeredReact;
16
+ Reflect.set(globalThis, VINEXT_CLIENT_REACT, reactInstance);
17
+ return reactInstance;
18
+ }
19
+ //#endregion
20
+ export { getVinextReact };
@@ -1,5 +1,4 @@
1
1
  import { NEXT_DATA } from "../shims/internal/utils.js";
2
-
3
2
  //#region src/client/vinext-next-data.d.ts
4
3
  type VinextLinkPrefetchRoute = {
5
4
  canPrefetchLoadingShell: boolean;
@@ -26,11 +25,17 @@ type VinextPagesLinkPrefetchRoute = {
26
25
  requiresDynamicNavigationRequest?: boolean;
27
26
  };
28
27
  type VinextNextData = {
29
- /** vinext-specific additions (not part of Next.js upstream). */__vinext?: {
30
- /** Absolute URL of the page module for dynamic import. */pageModuleUrl?: string; /** Absolute URL of the `_app` module for dynamic import. */
31
- appModuleUrl?: string; /** True when the Pages Router server has middleware/proxy configured. */
32
- hasMiddleware?: boolean; /** True when build-time rewrites can affect the initial Pages Router ready state. */
33
- hasRewrites?: boolean; /** Server-resolved Pages route URL used to hydrate fallback shells behind rewrites. */
28
+ /** vinext-specific additions (not part of Next.js upstream). */
29
+ __vinext?: {
30
+ /** Absolute URL of the page module for dynamic import. */
31
+ pageModuleUrl?: string;
32
+ /** Absolute URL of the `_app` module for dynamic import. */
33
+ appModuleUrl?: string;
34
+ /** True when the Pages Router server has middleware/proxy configured. */
35
+ hasMiddleware?: boolean;
36
+ /** True when build-time rewrites can affect the initial Pages Router ready state. */
37
+ hasRewrites?: boolean;
38
+ /** Server-resolved Pages route URL used to hydrate fallback shells behind rewrites. */
34
39
  routeUrl?: string;
35
40
  };
36
41
  } & NEXT_DATA;
@@ -55,11 +55,13 @@ type AppRouterPublicInstance = {
55
55
  forward: () => void;
56
56
  refresh: () => void;
57
57
  prefetch: (href: string, options?: {
58
+ kind?: "auto" | "full";
58
59
  onInvalidate?: () => void;
59
60
  }) => void;
60
61
  experimental_gesturePush?: (href: string, options?: {
61
62
  scroll?: boolean;
62
- }) => void; /** Default placeholder, matches Next.js. */
63
+ }) => void;
64
+ /** Default placeholder, matches Next.js. */
63
65
  bfcacheId?: string;
64
66
  };
65
67
  /**
@@ -97,7 +99,8 @@ type PagesRouterPublicInstance = {
97
99
  * prefetch — App Router targets land here as `{ __appRouter: true }`.
98
100
  * See: `packages/next/src/shared/lib/router/router.ts:2525`.
99
101
  */
100
- components: Record<string, unknown>; /** Persistent Pages Router static-data cache, matching Next.js `Router.sdc`. */
102
+ components: Record<string, unknown>;
103
+ /** Persistent Pages Router static-data cache, matching Next.js `Router.sdc`. */
101
104
  sdc: Record<string, Promise<Response>>;
102
105
  };
103
106
  declare global {
@@ -1,7 +1,6 @@
1
1
  import { HasCondition, NextHeader, NextI18nConfig, NextRedirect, NextRewrite } from "./next-config.js";
2
2
  import { RequestContext, normalizeHost, parseCookies, requestContextFromRequest } from "./request-context.js";
3
3
  import { isExternalUrl } from "../utils/external-url.js";
4
-
5
4
  //#region src/config/config-matchers.d.ts
6
5
  /**
7
6
  * Detect regex patterns vulnerable to catastrophic backtracking (ReDoS).
@@ -44,7 +43,8 @@ declare function escapeHeaderSource(source: string): string;
44
43
  * @see .nextjs-ref/packages/next/src/lib/load-custom-routes.ts:198-220
45
44
  */
46
45
  type BasePathMatchState = {
47
- /** Configured `basePath` (without trailing slash) or "" when unset. */basePath: string;
46
+ /** Configured `basePath` (without trailing slash) or "" when unset. */
47
+ basePath: string;
48
48
  /**
49
49
  * True when the inbound request was originally under `basePath` (i.e.
50
50
  * the prod-server/handler stripped the prefix before the matcher runs).
@@ -69,9 +69,7 @@ type BasePathMatchState = {
69
69
  * individual header values), so the wider `string | string[]` type of
70
70
  * `middlewareHeaders` is safe to cast here.
71
71
  */
72
- declare function applyMiddlewareRequestHeaders(middlewareHeaders: Record<string, string | string[]>, request: Request, options?: {
73
- preserveCredentialHeaders?: boolean;
74
- }): {
72
+ declare function applyMiddlewareRequestHeaders(middlewareHeaders: Record<string, string | string[]>, request: Request): {
75
73
  request: Request;
76
74
  postMwReqCtx: RequestContext;
77
75
  };
@@ -1,7 +1,7 @@
1
+ import { normalizeHost, parseCookies, requestContextFromRequest } from "./request-context.js";
1
2
  import { PRERENDER_REVALIDATE_HEADER, PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER, VINEXT_MW_CTX_HEADER, VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, VINEXT_PRERENDER_SECRET_HEADER, VINEXT_REVALIDATE_HOST_HEADER } from "../utils/protocol-headers.js";
2
- import { buildRequestHeadersFromMiddlewareResponse } from "../utils/middleware-request-headers.js";
3
+ import { buildRequestHeadersFromMiddlewareResponse, getUnconsumedMiddlewareRequestHeaders } from "../utils/middleware-request-headers.js";
3
4
  import { analyzeRegexSafety } from "../utils/regex-safety.js";
4
- import { normalizeHost, parseCookies, requestContextFromRequest } from "./request-context.js";
5
5
  import { isExternalUrl } from "../utils/external-url.js";
6
6
  //#region src/config/config-matchers.ts
7
7
  /**
@@ -301,9 +301,10 @@ function shouldEvaluateRule(ruleBasePath, state) {
301
301
  * individual header values), so the wider `string | string[]` type of
302
302
  * `middlewareHeaders` is safe to cast here.
303
303
  */
304
- function applyMiddlewareRequestHeaders(middlewareHeaders, request, options = {}) {
305
- const nextHeaders = buildRequestHeadersFromMiddlewareResponse(request.headers, middlewareHeaders, options);
306
- for (const key of Object.keys(middlewareHeaders)) if (key.startsWith("x-middleware-") && key !== "x-middleware-cache") delete middlewareHeaders[key];
304
+ function applyMiddlewareRequestHeaders(middlewareHeaders, request) {
305
+ const nextHeaders = buildRequestHeadersFromMiddlewareResponse(request.headers, middlewareHeaders);
306
+ const unconsumedRequestHeaders = getUnconsumedMiddlewareRequestHeaders(middlewareHeaders);
307
+ for (const key of Object.keys(middlewareHeaders)) if (key.startsWith("x-middleware-") && key !== "x-middleware-cache" && !unconsumedRequestHeaders.has(key)) delete middlewareHeaders[key];
307
308
  if (nextHeaders) request = new Request(request.url, {
308
309
  method: request.method,
309
310
  headers: nextHeaders,
@@ -831,7 +832,7 @@ async function proxyExternalRequest(request, externalUrl) {
831
832
  headers.set("host", targetUrl.host);
832
833
  stripHopByHopRequestHeaders(headers);
833
834
  const keysToDelete = [];
834
- for (const key of headers.keys()) if (key.startsWith("x-middleware-")) keysToDelete.push(key);
835
+ for (const key of headers.keys()) if (key.startsWith("x-middleware-") && !key.startsWith("x-middleware-request-")) keysToDelete.push(key);
835
836
  for (const key of keysToDelete) headers.delete(key);
836
837
  headers.delete(VINEXT_PRERENDER_SECRET_HEADER);
837
838
  headers.delete(VINEXT_PRERENDER_ROUTE_PARAMS_HEADER);
@@ -46,10 +46,6 @@ declare function getDotenvFiles(mode: string): string[];
46
46
  * pass is effectively a no-op for overlapping keys. For `start` and `deploy`
47
47
  * commands (which don't go through Vite at all), this is the only loading.
48
48
  */
49
- declare function loadDotenv({
50
- root,
51
- mode,
52
- processEnv
53
- }: LoadDotenvOptions): LoadDotenvResult;
49
+ declare function loadDotenv({ root, mode, processEnv }: LoadDotenvOptions): LoadDotenvResult;
54
50
  //#endregion
55
51
  export { getDotenvFiles, loadDotenv };