vinext 1.0.0-beta.8 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (813) hide show
  1. package/README.md +158 -84
  2. package/THIRD_PARTY_LICENSES.md +25 -0
  3. package/dist/_virtual/_rolldown/runtime.js +25 -0
  4. package/dist/build/action-owner-manifest.d.ts +8 -9
  5. package/dist/build/action-owner-manifest.js +23 -5
  6. package/dist/build/assets-ignore.d.ts +3 -4
  7. package/dist/build/clean-output.d.ts +2 -3
  8. package/dist/build/client-build-config.d.ts +40 -12
  9. package/dist/build/client-build-config.js +76 -6
  10. package/dist/build/css-url-assets.d.ts +4 -5
  11. package/dist/build/css-url-assets.js +5 -2
  12. package/dist/build/google-fonts/build-url.d.ts +3 -4
  13. package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
  14. package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
  15. package/dist/build/google-fonts/font-metadata.d.ts +2 -3
  16. package/dist/build/google-fonts/get-axes.d.ts +2 -3
  17. package/dist/build/google-fonts/sort-variants.d.ts +2 -3
  18. package/dist/build/google-fonts/validate.d.ts +2 -3
  19. package/dist/build/google-fonts/validate.js +8 -4
  20. package/dist/build/inject-pregenerated-paths.d.ts +2 -3
  21. package/dist/build/inject-pregenerated-paths.js +16 -14
  22. package/dist/build/inline-css.d.ts +3 -4
  23. package/dist/build/layout-classification-types.d.ts +4 -5
  24. package/dist/build/layout-classification.d.ts +7 -8
  25. package/dist/build/lifecycle.d.ts +42 -0
  26. package/dist/build/lifecycle.js +253 -0
  27. package/dist/build/module-dependency-cache.d.ts +2 -3
  28. package/dist/build/next-client-runtime-manifests.d.ts +4 -5
  29. package/dist/build/nitro-route-rules.d.ts +6 -7
  30. package/dist/build/nitro-route-rules.js +1 -1
  31. package/dist/build/pages-client-assets-module.d.ts +4 -8
  32. package/dist/build/pages-client-assets-module.js +1 -13
  33. package/dist/build/precompress.d.ts +2 -3
  34. package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
  35. package/dist/build/prerender-cloudflare-loader.js +49 -0
  36. package/dist/build/prerender-paths.d.ts +82 -8
  37. package/dist/build/prerender-paths.js +814 -99
  38. package/dist/build/prerender-phase.d.ts +2 -3
  39. package/dist/build/prerender-server-entry.js +11 -3
  40. package/dist/build/prerender-server-pool.d.ts +9 -6
  41. package/dist/build/prerender-server-pool.js +8 -5
  42. package/dist/build/prerender.d.ts +67 -15
  43. package/dist/build/prerender.js +177 -64
  44. package/dist/build/preview-credentials.d.ts +5 -6
  45. package/dist/build/preview-credentials.js +2 -2
  46. package/dist/build/public-dir-conflict.d.ts +5 -6
  47. package/dist/build/public-dir-conflict.js +2 -1
  48. package/dist/build/report.d.ts +38 -19
  49. package/dist/build/report.js +73 -4
  50. package/dist/build/route-classification-injector.d.ts +2 -3
  51. package/dist/build/route-classification-manifest.d.ts +5 -6
  52. package/dist/build/run-prerender.d.ts +11 -9
  53. package/dist/build/run-prerender.js +25 -16
  54. package/dist/build/server-entry.d.ts +4 -0
  55. package/dist/build/server-entry.js +28 -0
  56. package/dist/build/server-manifest.d.ts +8 -3
  57. package/dist/build/server-manifest.js +14 -2
  58. package/dist/build/ssr-manifest.d.ts +5 -6
  59. package/dist/build/standalone.d.ts +2 -3
  60. package/dist/build/standalone.js +2 -2
  61. package/dist/build/static-export.d.ts +7 -8
  62. package/dist/cache/cache-adapters-virtual.d.ts +95 -9
  63. package/dist/cache/cache-adapters-virtual.js +58 -6
  64. package/dist/check.d.ts +11 -10
  65. package/dist/check.js +467 -176
  66. package/dist/cli-args.d.ts +7 -16
  67. package/dist/cli-args.js +2 -45
  68. package/dist/cli-dev-config.d.ts +10 -7
  69. package/dist/cli-dev-config.js +160 -3
  70. package/dist/cli.js +124 -435
  71. package/dist/client/app-nav-failure-handler.d.ts +6 -7
  72. package/dist/client/client-rewrite-matcher.d.ts +2 -3
  73. package/dist/client/client-rewrites.d.ts +4 -5
  74. package/dist/client/dev-error-overlay-store.d.ts +13 -14
  75. package/dist/client/dev-error-overlay.d.ts +15 -15
  76. package/dist/client/dev-error-overlay.js +8 -5
  77. package/dist/client/instrumentation-client-inject.d.ts +3 -4
  78. package/dist/client/instrumentation-client-state.d.ts +5 -6
  79. package/dist/client/instrumentation-client.d.ts +3 -4
  80. package/dist/client/navigation-runtime.d.ts +21 -17
  81. package/dist/client/navigation-runtime.js +2 -1
  82. package/dist/client/pages-router-link-navigation.d.ts +4 -5
  83. package/dist/client/react-instance.d.ts +2 -3
  84. package/dist/client/validate-module-path.d.ts +2 -3
  85. package/dist/client/vinext-next-data.d.ts +7 -8
  86. package/dist/client/window-next.d.ts +4 -5
  87. package/dist/config/config-matchers.d.ts +16 -16
  88. package/dist/config/config-matchers.js +10 -7
  89. package/dist/config/dotenv.d.ts +3 -4
  90. package/dist/config/dotenv.js +2 -1
  91. package/dist/config/next-config.d.ts +31 -27
  92. package/dist/config/next-config.js +163 -16
  93. package/dist/config/prerender.d.ts +20 -16
  94. package/dist/config/prerender.js +10 -4
  95. package/dist/config/request-context.d.ts +5 -6
  96. package/dist/config/server-external-packages.d.ts +14 -3
  97. package/dist/config/server-external-packages.js +37 -3
  98. package/dist/config/tsconfig-paths.d.ts +3 -4
  99. package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
  100. package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
  101. package/dist/entries/app-browser-entry.d.ts +5 -6
  102. package/dist/entries/app-browser-entry.js +3 -2
  103. package/dist/entries/app-rsc-entry.d.ts +12 -3
  104. package/dist/entries/app-rsc-entry.js +530 -55
  105. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  106. package/dist/entries/app-rsc-manifest.js +27 -8
  107. package/dist/entries/app-ssr-entry.d.ts +2 -3
  108. package/dist/entries/app-ssr-entry.js +8 -1
  109. package/dist/entries/pages-client-entry.d.ts +3 -3
  110. package/dist/entries/pages-client-entry.js +17 -2
  111. package/dist/entries/pages-server-entry.d.ts +13 -3
  112. package/dist/entries/pages-server-entry.js +237 -33
  113. package/dist/entries/runtime-entry-module.d.ts +4 -5
  114. package/dist/image/image-adapters-virtual.d.ts +4 -5
  115. package/dist/index.d.ts +10 -11
  116. package/dist/index.js +832 -199
  117. package/dist/init-cloudflare.d.ts +27 -16
  118. package/dist/init-cloudflare.js +754 -113
  119. package/dist/init-platform.d.ts +26 -22
  120. package/dist/init-platform.js +85 -29
  121. package/dist/init.d.ts +19 -13
  122. package/dist/init.js +123 -41
  123. package/dist/plugins/action-owner-manifest.d.ts +3 -4
  124. package/dist/plugins/action-owner-manifest.js +10 -3
  125. package/dist/plugins/ast-scope.d.ts +10 -11
  126. package/dist/plugins/ast-scope.js +10 -22
  127. package/dist/plugins/ast-utils.d.ts +16 -29
  128. package/dist/plugins/ast-utils.js +27 -71
  129. package/dist/plugins/async-hooks-stub.d.ts +2 -3
  130. package/dist/plugins/client-reference-dedup.d.ts +4 -5
  131. package/dist/plugins/css-data-url.d.ts +2 -3
  132. package/dist/plugins/css-module-imports.d.ts +3 -4
  133. package/dist/plugins/css-module-imports.js +1 -1
  134. package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
  135. package/dist/plugins/dynamic-preload-metadata.js +55 -154
  136. package/dist/plugins/environment.d.ts +2 -3
  137. package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
  138. package/dist/plugins/extensionless-dynamic-import.js +6 -10
  139. package/dist/plugins/fonts.d.ts +10 -11
  140. package/dist/plugins/fonts.js +4 -3
  141. package/dist/plugins/ignore-dynamic-requests.d.ts +3 -4
  142. package/dist/plugins/ignore-dynamic-requests.js +60 -89
  143. package/dist/plugins/import-meta-url.d.ts +6 -7
  144. package/dist/plugins/import-meta-url.js +31 -43
  145. package/dist/plugins/instrumentation-client.d.ts +3 -3
  146. package/dist/plugins/instrumentation-client.js +46 -10
  147. package/dist/plugins/middleware-export-validation.d.ts +3 -4
  148. package/dist/plugins/middleware-export-validation.js +3 -3
  149. package/dist/plugins/middleware-server-only.d.ts +2 -3
  150. package/dist/plugins/og-asset-ownership.d.ts +3 -4
  151. package/dist/plugins/og-assets.d.ts +4 -5
  152. package/dist/plugins/og-assets.js +32 -13
  153. package/dist/plugins/og-harfbuzz.d.ts +24 -0
  154. package/dist/plugins/og-harfbuzz.js +260 -0
  155. package/dist/plugins/optimize-imports.d.ts +7 -7
  156. package/dist/plugins/optimize-imports.js +32 -44
  157. package/dist/plugins/pages-node-externals.d.ts +2 -3
  158. package/dist/plugins/pages-node-externals.js +6 -11
  159. package/dist/plugins/postcss.d.ts +8 -4
  160. package/dist/plugins/postcss.js +1 -1
  161. package/dist/plugins/remove-console.d.ts +2 -3
  162. package/dist/plugins/remove-console.js +0 -1
  163. package/dist/plugins/require-condition-resolution.d.ts +3 -4
  164. package/dist/plugins/require-condition-resolution.js +17 -18
  165. package/dist/plugins/require-context.d.ts +2 -3
  166. package/dist/plugins/require-context.js +13 -21
  167. package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
  168. package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
  169. package/dist/plugins/rsc-client-shim-excludes.js +1 -0
  170. package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
  171. package/dist/plugins/sass.d.ts +7 -8
  172. package/dist/plugins/sass.js +7 -4
  173. package/dist/plugins/server-externals-manifest.d.ts +2 -3
  174. package/dist/plugins/strip-server-exports.d.ts +5 -6
  175. package/dist/plugins/strip-server-exports.js +1 -1
  176. package/dist/plugins/styled-jsx.d.ts +2 -3
  177. package/dist/plugins/styled-jsx.js +7 -7
  178. package/dist/plugins/transform-cache.d.ts +2 -3
  179. package/dist/plugins/transform-result.d.ts +3 -4
  180. package/dist/plugins/transitive-externals.d.ts +2 -3
  181. package/dist/plugins/typeof-window.d.ts +6 -7
  182. package/dist/plugins/typeof-window.js +30 -31
  183. package/dist/plugins/use-cache-callable.d.ts +2 -5
  184. package/dist/plugins/use-cache-callable.js +43 -22
  185. package/dist/plugins/wasm-module-import.d.ts +2 -3
  186. package/dist/plugins/worker-image-imports.d.ts +2 -3
  187. package/dist/plugins/worker-image-imports.js +6 -8
  188. package/dist/routing/app-route-graph.d.ts +19 -19
  189. package/dist/routing/app-route-graph.js +3 -2
  190. package/dist/routing/app-router.d.ts +20 -5
  191. package/dist/routing/app-router.js +28 -2
  192. package/dist/routing/file-matcher.d.ts +9 -10
  193. package/dist/routing/pages-router.d.ts +6 -6
  194. package/dist/routing/pages-router.js +1 -1
  195. package/dist/routing/route-matching.d.ts +4 -5
  196. package/dist/routing/route-matching.js +4 -2
  197. package/dist/routing/route-pattern.d.ts +13 -14
  198. package/dist/routing/route-trie.d.ts +5 -6
  199. package/dist/routing/route-validation.d.ts +3 -4
  200. package/dist/routing/route-validation.js +12 -11
  201. package/dist/routing/utils.d.ts +13 -14
  202. package/dist/server/accept-encoding.d.ts +9 -10
  203. package/dist/server/api-handler.d.ts +2 -3
  204. package/dist/server/api-handler.js +9 -6
  205. package/dist/server/app-action-forwarding.d.ts +3 -4
  206. package/dist/server/app-action-forwarding.js +1 -1
  207. package/dist/server/app-action-request.d.ts +2 -3
  208. package/dist/server/app-bfcache-id.d.ts +3 -4
  209. package/dist/server/app-bfcache-identity.d.ts +8 -9
  210. package/dist/server/app-browser-action-result.d.ts +15 -16
  211. package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
  212. package/dist/server/app-browser-entry.js +121 -40
  213. package/dist/server/app-browser-error.d.ts +5 -6
  214. package/dist/server/app-browser-error.js +9 -3
  215. package/dist/server/app-browser-history-controller.d.ts +4 -5
  216. package/dist/server/app-browser-hydration.d.ts +16 -6
  217. package/dist/server/app-browser-hydration.js +14 -1
  218. package/dist/server/app-browser-interception-context.d.ts +3 -4
  219. package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
  220. package/dist/server/app-browser-navigation-abort.d.ts +3 -4
  221. package/dist/server/app-browser-navigation-controller.d.ts +8 -8
  222. package/dist/server/app-browser-navigation-controller.js +9 -5
  223. package/dist/server/app-browser-navigation-response.d.ts +2 -3
  224. package/dist/server/app-browser-popstate.d.ts +4 -5
  225. package/dist/server/app-browser-prefetch-response.d.ts +5 -6
  226. package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
  227. package/dist/server/app-browser-server-action-client.d.ts +7 -6
  228. package/dist/server/app-browser-server-action-client.js +9 -5
  229. package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
  230. package/dist/server/app-browser-state.d.ts +17 -17
  231. package/dist/server/app-browser-state.js +7 -3
  232. package/dist/server/app-browser-stream.d.ts +4 -5
  233. package/dist/server/app-browser-stream.js +8 -6
  234. package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
  235. package/dist/server/app-browser-visible-commit.d.ts +6 -7
  236. package/dist/server/app-browser-visible-commit.js +1 -1
  237. package/dist/server/app-client-reference-preloader.d.ts +2 -3
  238. package/dist/server/app-elements-wire-key.d.ts +25 -0
  239. package/dist/server/app-elements-wire-key.js +69 -0
  240. package/dist/server/app-elements-wire.d.ts +34 -53
  241. package/dist/server/app-elements-wire.js +4 -75
  242. package/dist/server/app-elements.d.ts +5 -5
  243. package/dist/server/app-elements.js +1 -1
  244. package/dist/server/app-fallback-renderer.d.ts +4 -4
  245. package/dist/server/app-fallback-renderer.js +6 -6
  246. package/dist/server/app-fetch-tracing.d.ts +15 -0
  247. package/dist/server/app-fetch-tracing.js +38 -0
  248. package/dist/server/app-history-state.d.ts +26 -27
  249. package/dist/server/app-history-state.js +19 -11
  250. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  251. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  252. package/dist/server/app-inline-css-client.d.ts +3 -4
  253. package/dist/server/app-interception-context-header.d.ts +2 -3
  254. package/dist/server/app-layout-param-observation.d.ts +7 -8
  255. package/dist/server/app-metadata-tracing.d.ts +12 -0
  256. package/dist/server/app-metadata-tracing.js +17 -0
  257. package/dist/server/app-middleware.d.ts +15 -7
  258. package/dist/server/app-middleware.js +30 -5
  259. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  260. package/dist/server/app-mounted-slots-header.js +2 -2
  261. package/dist/server/app-optimistic-routing.d.ts +14 -10
  262. package/dist/server/app-optimistic-routing.js +16 -3
  263. package/dist/server/app-page-boundary-render.d.ts +6 -6
  264. package/dist/server/app-page-boundary-render.js +10 -4
  265. package/dist/server/app-page-boundary.d.ts +9 -10
  266. package/dist/server/app-page-boundary.js +2 -1
  267. package/dist/server/app-page-cache-finalizer.d.ts +32 -8
  268. package/dist/server/app-page-cache-finalizer.js +118 -14
  269. package/dist/server/app-page-cache-render.d.ts +8 -5
  270. package/dist/server/app-page-cache-render.js +22 -5
  271. package/dist/server/app-page-cache.d.ts +28 -9
  272. package/dist/server/app-page-cache.js +96 -25
  273. package/dist/server/app-page-dispatch.d.ts +36 -12
  274. package/dist/server/app-page-dispatch.js +188 -63
  275. package/dist/server/app-page-element-builder.d.ts +13 -11
  276. package/dist/server/app-page-element-builder.js +104 -61
  277. package/dist/server/app-page-execution.d.ts +14 -14
  278. package/dist/server/app-page-execution.js +12 -8
  279. package/dist/server/app-page-head.d.ts +19 -16
  280. package/dist/server/app-page-head.js +25 -25
  281. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  282. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  283. package/dist/server/app-page-method.d.ts +5 -11
  284. package/dist/server/app-page-method.js +2 -9
  285. package/dist/server/app-page-params.d.ts +5 -6
  286. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  287. package/dist/server/app-page-probe.d.ts +5 -6
  288. package/dist/server/app-page-probe.js +5 -4
  289. package/dist/server/app-page-render-identity.d.ts +4 -5
  290. package/dist/server/app-page-render-observation.d.ts +8 -9
  291. package/dist/server/app-page-render-observation.js +1 -1
  292. package/dist/server/app-page-render.d.ts +42 -6
  293. package/dist/server/app-page-render.js +192 -28
  294. package/dist/server/app-page-request.d.ts +10 -9
  295. package/dist/server/app-page-request.js +16 -12
  296. package/dist/server/app-page-response.d.ts +20 -9
  297. package/dist/server/app-page-response.js +31 -13
  298. package/dist/server/app-page-route-wiring.d.ts +15 -15
  299. package/dist/server/app-page-route-wiring.js +31 -24
  300. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  301. package/dist/server/app-page-search-params-observation.js +42 -6
  302. package/dist/server/app-page-segment-plan.d.ts +2 -3
  303. package/dist/server/app-page-segment-state.d.ts +11 -12
  304. package/dist/server/app-page-stream.d.ts +27 -11
  305. package/dist/server/app-page-stream.js +35 -6
  306. package/dist/server/app-page-tracing.d.ts +33 -0
  307. package/dist/server/app-page-tracing.js +49 -0
  308. package/dist/server/app-pages-bridge.d.ts +6 -6
  309. package/dist/server/app-pages-bridge.js +19 -4
  310. package/dist/server/app-post-middleware-context.d.ts +2 -3
  311. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  312. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  313. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  314. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  315. package/dist/server/app-prerender-endpoints.js +26 -12
  316. package/dist/server/app-prerender-static-params.d.ts +15 -7
  317. package/dist/server/app-prerender-static-params.js +33 -11
  318. package/dist/server/app-render-dependency.d.ts +14 -13
  319. package/dist/server/app-render-dependency.js +5 -1
  320. package/dist/server/app-request-context.d.ts +3 -4
  321. package/dist/server/app-request-stage-context.d.ts +5 -0
  322. package/dist/server/app-request-stage-context.js +11 -0
  323. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  324. package/dist/server/app-request-stage-dispatch.js +54 -0
  325. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  326. package/dist/server/app-request-stage-independent-entry.js +115 -0
  327. package/dist/server/app-response-header-provenance.d.ts +13 -7
  328. package/dist/server/app-response-header-provenance.js +34 -1
  329. package/dist/server/app-response-stage-entry.d.ts +9 -0
  330. package/dist/server/app-response-stage-entry.js +87 -0
  331. package/dist/server/app-route-handler-cache.d.ts +2 -3
  332. package/dist/server/app-route-handler-cache.js +46 -34
  333. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  334. package/dist/server/app-route-handler-dispatch.js +75 -57
  335. package/dist/server/app-route-handler-execution.d.ts +18 -13
  336. package/dist/server/app-route-handler-execution.js +189 -25
  337. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  338. package/dist/server/app-route-handler-middleware-context.js +15 -0
  339. package/dist/server/app-route-handler-policy.d.ts +22 -10
  340. package/dist/server/app-route-handler-policy.js +19 -4
  341. package/dist/server/app-route-handler-response.d.ts +9 -10
  342. package/dist/server/app-route-handler-response.js +2 -0
  343. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  344. package/dist/server/app-route-handler-runtime.js +20 -16
  345. package/dist/server/app-route-module-loader.d.ts +6 -7
  346. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  347. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  348. package/dist/server/app-route-tree-prefetch.js +2 -1
  349. package/dist/server/app-router-entry.d.ts +2 -0
  350. package/dist/server/app-router-entry.js +76 -12
  351. package/dist/server/app-rsc-cache-busting.d.ts +47 -22
  352. package/dist/server/app-rsc-cache-busting.js +80 -18
  353. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  354. package/dist/server/app-rsc-combined-handler.js +11 -0
  355. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  356. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  357. package/dist/server/app-rsc-error-handler.js +15 -6
  358. package/dist/server/app-rsc-errors.d.ts +12 -9
  359. package/dist/server/app-rsc-errors.js +15 -13
  360. package/dist/server/app-rsc-handler.d.ts +33 -6
  361. package/dist/server/app-rsc-handler.js +498 -83
  362. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  363. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  364. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  365. package/dist/server/app-rsc-request-normalization.js +2 -1
  366. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  367. package/dist/server/app-rsc-response-finalizer.js +24 -7
  368. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  369. package/dist/server/app-rsc-response-stage.js +251 -0
  370. package/dist/server/app-rsc-route-matching.d.ts +4 -4
  371. package/dist/server/app-rsc-route-matching.js +4 -2
  372. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  373. package/dist/server/app-rsc-vary.d.ts +16 -0
  374. package/dist/server/app-rsc-vary.js +31 -0
  375. package/dist/server/app-segment-config.d.ts +120 -6
  376. package/dist/server/app-segment-config.js +264 -12
  377. package/dist/server/app-server-action-execution.d.ts +16 -12
  378. package/dist/server/app-server-action-execution.js +88 -35
  379. package/dist/server/app-ssr-entry.d.ts +14 -4
  380. package/dist/server/app-ssr-entry.js +64 -17
  381. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  382. package/dist/server/app-ssr-error-meta.js +2 -1
  383. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  384. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  385. package/dist/server/app-ssr-search-params-gate.js +54 -0
  386. package/dist/server/app-ssr-stream.d.ts +13 -9
  387. package/dist/server/app-ssr-stream.js +33 -7
  388. package/dist/server/app-static-generation.d.ts +4 -5
  389. package/dist/server/app-visited-response-cache.d.ts +11 -12
  390. package/dist/server/app-visited-response-cache.js +2 -2
  391. package/dist/server/app-worker-stages.d.ts +112 -0
  392. package/dist/server/app-worker-stages.js +105 -0
  393. package/dist/server/artifact-compatibility.d.ts +11 -12
  394. package/dist/server/before-interactive-head.d.ts +2 -3
  395. package/dist/server/bfcache-identity.d.ts +7 -8
  396. package/dist/server/cache-control.d.ts +39 -11
  397. package/dist/server/cache-control.js +104 -7
  398. package/dist/server/cache-headers.d.ts +3 -4
  399. package/dist/server/cache-proof.d.ts +75 -70
  400. package/dist/server/cache-proof.js +9 -1
  401. package/dist/server/cacheability-limits.d.ts +8 -0
  402. package/dist/server/cacheability-limits.js +9 -0
  403. package/dist/server/cacheability-manifest.d.ts +68 -0
  404. package/dist/server/cacheability-manifest.js +241 -0
  405. package/dist/server/cacheability-request.d.ts +49 -0
  406. package/dist/server/cacheability-request.js +559 -0
  407. package/dist/server/client-reuse-manifest.d.ts +17 -18
  408. package/dist/server/client-reuse-manifest.js +2 -2
  409. package/dist/server/client-trace-metadata.d.ts +9 -6
  410. package/dist/server/client-trace-metadata.js +27 -15
  411. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  412. package/dist/server/cloudflare-workers-tracing.js +8 -0
  413. package/dist/server/config-headers.d.ts +19 -5
  414. package/dist/server/config-headers.js +39 -5
  415. package/dist/server/cookie-utils.d.ts +2 -3
  416. package/dist/server/csp.d.ts +5 -6
  417. package/dist/server/default-global-error-module.d.ts +2 -3
  418. package/dist/server/default-global-not-found-module.d.ts +2 -3
  419. package/dist/server/default-not-found-module.d.ts +2 -3
  420. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  421. package/dist/server/defer-until-stream-consumed.js +2 -1
  422. package/dist/server/dev-initial-server-error.d.ts +3 -4
  423. package/dist/server/dev-initial-server-error.js +2 -1
  424. package/dist/server/dev-lockfile.d.ts +7 -8
  425. package/dist/server/dev-lockfile.js +4 -1
  426. package/dist/server/dev-module-runner.d.ts +2 -3
  427. package/dist/server/dev-origin-check.d.ts +5 -6
  428. package/dist/server/dev-route-files.d.ts +2 -3
  429. package/dist/server/dev-server.d.ts +4 -5
  430. package/dist/server/dev-server.js +130 -61
  431. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  432. package/dist/server/dev-stack-sourcemap.js +1 -1
  433. package/dist/server/document-initial-head.d.ts +3 -4
  434. package/dist/server/edge-api-runtime.d.ts +4 -5
  435. package/dist/server/fetch-handler.d.ts +3 -2
  436. package/dist/server/fetch-handler.js +3 -18
  437. package/dist/server/file-based-metadata.d.ts +2 -3
  438. package/dist/server/framework-tracer.d.ts +46 -0
  439. package/dist/server/framework-tracer.js +125 -0
  440. package/dist/server/fully-buffered-response.d.ts +11 -0
  441. package/dist/server/fully-buffered-response.js +19 -0
  442. package/dist/server/headers.d.ts +62 -56
  443. package/dist/server/headers.js +33 -20
  444. package/dist/server/html.d.ts +6 -27
  445. package/dist/server/html.js +16 -1
  446. package/dist/server/http-conditional.d.ts +5 -6
  447. package/dist/server/http-date.d.ts +2 -3
  448. package/dist/server/http-error-responses.d.ts +9 -10
  449. package/dist/server/http-range.d.ts +4 -5
  450. package/dist/server/hybrid-route-priority.d.ts +4 -5
  451. package/dist/server/image-optimization.d.ts +20 -21
  452. package/dist/server/implicit-tags.d.ts +3 -4
  453. package/dist/server/instrumentation-runtime.d.ts +17 -21
  454. package/dist/server/instrumentation-runtime.js +26 -8
  455. package/dist/server/instrumentation.d.ts +26 -30
  456. package/dist/server/instrumentation.js +18 -23
  457. package/dist/server/isr-cache.d.ts +28 -27
  458. package/dist/server/isr-cache.js +18 -70
  459. package/dist/server/isr-decision.d.ts +4 -4
  460. package/dist/server/metadata-route-build-data.d.ts +4 -5
  461. package/dist/server/metadata-route-cache-policy.d.ts +2 -3
  462. package/dist/server/metadata-route-response.d.ts +7 -7
  463. package/dist/server/metadata-route-response.js +68 -2
  464. package/dist/server/metadata-routes.d.ts +18 -19
  465. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  466. package/dist/server/middleware-matcher.d.ts +13 -6
  467. package/dist/server/middleware-matcher.js +22 -1
  468. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  469. package/dist/server/middleware-path-to-regexp.js +11 -9
  470. package/dist/server/middleware-response-headers.d.ts +3 -4
  471. package/dist/server/middleware-runtime.d.ts +13 -8
  472. package/dist/server/middleware-runtime.js +54 -10
  473. package/dist/server/middleware.d.ts +5 -5
  474. package/dist/server/multi-stage.d.ts +141 -0
  475. package/dist/server/multi-stage.js +8 -0
  476. package/dist/server/navigation-planner.d.ts +26 -26
  477. package/dist/server/navigation-trace.d.ts +11 -12
  478. package/dist/server/next-error-digest.d.ts +4 -5
  479. package/dist/server/normalize-path.d.ts +5 -6
  480. package/dist/server/normalize-path.js +1 -1
  481. package/dist/server/open-redirect.d.ts +2 -3
  482. package/dist/server/opentelemetry-api.d.ts +59 -0
  483. package/dist/server/opentelemetry-api.js +53 -0
  484. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  485. package/dist/server/opentelemetry-tracing.js +83 -0
  486. package/dist/server/operation-token.d.ts +11 -12
  487. package/dist/server/otel-tracer-extension.d.ts +7 -9
  488. package/dist/server/otel-tracer-extension.js +37 -36
  489. package/dist/server/pages-api-route.d.ts +5 -4
  490. package/dist/server/pages-api-route.js +21 -8
  491. package/dist/server/pages-asset-tags.d.ts +6 -6
  492. package/dist/server/pages-asset-tags.js +37 -2
  493. package/dist/server/pages-body-parser-config.d.ts +4 -5
  494. package/dist/server/pages-body-parser-config.js +4 -4
  495. package/dist/server/pages-client-assets.d.ts +11 -5
  496. package/dist/server/pages-data-route.d.ts +11 -12
  497. package/dist/server/pages-data-route.js +1 -1
  498. package/dist/server/pages-default-404.d.ts +3 -4
  499. package/dist/server/pages-dev-hydration.d.ts +9 -4
  500. package/dist/server/pages-dev-hydration.js +19 -7
  501. package/dist/server/pages-dev-module-url.d.ts +3 -4
  502. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  503. package/dist/server/pages-document-asset-props.d.ts +6 -7
  504. package/dist/server/pages-document-initial-props.d.ts +5 -5
  505. package/dist/server/pages-document-initial-props.js +4 -2
  506. package/dist/server/pages-execution-tracing.d.ts +40 -0
  507. package/dist/server/pages-execution-tracing.js +80 -0
  508. package/dist/server/pages-get-initial-props.d.ts +9 -10
  509. package/dist/server/pages-i18n.d.ts +8 -8
  510. package/dist/server/pages-i18n.js +3 -2
  511. package/dist/server/pages-media-type.d.ts +4 -5
  512. package/dist/server/pages-node-compat.d.ts +11 -10
  513. package/dist/server/pages-node-compat.js +12 -4
  514. package/dist/server/pages-page-data.d.ts +18 -19
  515. package/dist/server/pages-page-data.js +11 -10
  516. package/dist/server/pages-page-handler.d.ts +7 -6
  517. package/dist/server/pages-page-handler.js +98 -47
  518. package/dist/server/pages-page-method.d.ts +2 -3
  519. package/dist/server/pages-page-response.d.ts +14 -10
  520. package/dist/server/pages-page-response.js +49 -31
  521. package/dist/server/pages-preview.d.ts +10 -11
  522. package/dist/server/pages-readiness.d.ts +2 -3
  523. package/dist/server/pages-request-pipeline.d.ts +16 -12
  524. package/dist/server/pages-request-pipeline.js +69 -28
  525. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  526. package/dist/server/pages-request-stage-entry.js +314 -0
  527. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  528. package/dist/server/pages-response-stage-entry.js +106 -0
  529. package/dist/server/pages-response-stage.d.ts +31 -0
  530. package/dist/server/pages-response-stage.js +49 -0
  531. package/dist/server/pages-revalidate.d.ts +3 -4
  532. package/dist/server/pages-revalidate.js +9 -4
  533. package/dist/server/pages-route-data-kind.d.ts +18 -0
  534. package/dist/server/pages-route-data-kind.js +11 -0
  535. package/dist/server/pages-router-entry.d.ts +1 -25
  536. package/dist/server/pages-router-entry.js +48 -114
  537. package/dist/server/pages-serializable-props.d.ts +3 -4
  538. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  539. package/dist/server/pregenerated-concrete-paths.js +12 -6
  540. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  541. package/dist/server/prerender-manifest.d.ts +11 -11
  542. package/dist/server/prerender-manifest.js +6 -3
  543. package/dist/server/prerender-route-params.d.ts +16 -9
  544. package/dist/server/prerender-route-params.js +18 -2
  545. package/dist/server/prerender-work-unit-setup.d.ts +4 -4
  546. package/dist/server/prerender-work-unit-setup.js +37 -14
  547. package/dist/server/prod-server.d.ts +12 -9
  548. package/dist/server/prod-server.js +129 -36
  549. package/dist/server/proxy-trust.d.ts +5 -6
  550. package/dist/server/request-log.d.ts +3 -4
  551. package/dist/server/request-pipeline.d.ts +17 -21
  552. package/dist/server/request-pipeline.js +8 -10
  553. package/dist/server/request-stage.d.ts +5 -0
  554. package/dist/server/request-stage.js +7 -0
  555. package/dist/server/request-tracing.d.ts +22 -0
  556. package/dist/server/request-tracing.js +180 -0
  557. package/dist/server/response-stage-cacheability.d.ts +37 -0
  558. package/dist/server/response-stage-cacheability.js +55 -0
  559. package/dist/server/response-stage-policy.d.ts +23 -0
  560. package/dist/server/response-stage-policy.js +89 -0
  561. package/dist/server/response-stage.d.ts +5 -0
  562. package/dist/server/response-stage.js +7 -0
  563. package/dist/server/response-start-tracing.d.ts +14 -0
  564. package/dist/server/response-start-tracing.js +80 -0
  565. package/dist/server/revalidation-host.d.ts +2 -3
  566. package/dist/server/revalidation-host.js +2 -1
  567. package/dist/server/revalidation-request.d.ts +8 -0
  568. package/dist/server/revalidation-request.js +37 -0
  569. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  570. package/dist/server/rsc-stream-hints.d.ts +18 -7
  571. package/dist/server/rsc-stream-hints.js +70 -35
  572. package/dist/server/seed-cache.d.ts +2 -3
  573. package/dist/server/seed-cache.js +8 -7
  574. package/dist/server/server-action-not-found.d.ts +5 -6
  575. package/dist/server/server-globals.d.ts +2 -3
  576. package/dist/server/server-globals.js +13 -0
  577. package/dist/server/skip-cache-proof.d.ts +4 -4
  578. package/dist/server/socket-error-backstop.d.ts +5 -6
  579. package/dist/server/socket-error-backstop.js +1 -1
  580. package/dist/server/static-file-cache.d.ts +5 -6
  581. package/dist/server/static-file-cache.js +9 -7
  582. package/dist/server/static-file-signal.d.ts +16 -0
  583. package/dist/server/static-file-signal.js +82 -0
  584. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  585. package/dist/server/streaming-metadata.d.ts +2 -3
  586. package/dist/server/tracer.d.ts +5 -0
  587. package/dist/server/tracer.js +13 -0
  588. package/dist/server/worker-prerender-discovery.d.ts +18 -0
  589. package/dist/server/worker-prerender-discovery.js +55 -0
  590. package/dist/server/worker-revalidation-context.d.ts +2 -3
  591. package/dist/server/worker-revalidation-context.js +5 -5
  592. package/dist/server/worker-stages.d.ts +43 -0
  593. package/dist/server/worker-stages.js +25 -0
  594. package/dist/server/worker-utils.d.ts +5 -6
  595. package/dist/server/worker-utils.js +4 -4
  596. package/dist/server/workers-tracing.d.ts +17 -0
  597. package/dist/server/workers-tracing.js +27 -0
  598. package/dist/shims/amp.d.ts +3 -4
  599. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  600. package/dist/shims/app-router-scroll.d.ts +4 -5
  601. package/dist/shims/app-router-scroll.js +2 -1
  602. package/dist/shims/app.d.ts +5 -6
  603. package/dist/shims/before-interactive-context.d.ts +5 -6
  604. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  605. package/dist/shims/cache-callable-runtime.js +168 -8
  606. package/dist/shims/cache-for-request.d.ts +2 -3
  607. package/dist/shims/cache-handler.d.ts +33 -20
  608. package/dist/shims/cache-handler.js +61 -2
  609. package/dist/shims/cache-request-state.d.ts +28 -29
  610. package/dist/shims/cache-runtime.d.ts +23 -21
  611. package/dist/shims/cache-runtime.js +239 -121
  612. package/dist/shims/cache.d.ts +15 -15
  613. package/dist/shims/cache.js +25 -13
  614. package/dist/shims/cacheability-classification.d.ts +106 -0
  615. package/dist/shims/cacheability-classification.js +161 -0
  616. package/dist/shims/cdn-cache-state.d.ts +13 -0
  617. package/dist/shims/cdn-cache-state.js +23 -0
  618. package/dist/shims/cdn-cache.d.ts +76 -18
  619. package/dist/shims/cdn-cache.js +40 -39
  620. package/dist/shims/client-hook-error.d.ts +3 -4
  621. package/dist/shims/client-locale.d.ts +2 -3
  622. package/dist/shims/client-page-root.d.ts +24 -0
  623. package/dist/shims/client-page-root.js +121 -0
  624. package/dist/shims/compat-router.d.ts +2 -3
  625. package/dist/shims/config.d.ts +3 -4
  626. package/dist/shims/constants.d.ts +73 -74
  627. package/dist/shims/constants.js +1 -1
  628. package/dist/shims/default-not-found.d.ts +2 -3
  629. package/dist/shims/document.d.ts +9 -9
  630. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  631. package/dist/shims/dynamic-preload-chunks.js +17 -13
  632. package/dist/shims/dynamic.d.ts +3 -3
  633. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  634. package/dist/shims/error-boundary.d.ts +17 -18
  635. package/dist/shims/error-boundary.js +17 -11
  636. package/dist/shims/error.d.ts +4 -4
  637. package/dist/shims/error.js +1 -1
  638. package/dist/shims/error.react-server.d.ts +3 -4
  639. package/dist/shims/fetch-cache.d.ts +22 -22
  640. package/dist/shims/fetch-cache.js +50 -20
  641. package/dist/shims/font-google-base.d.ts +9 -9
  642. package/dist/shims/font-google-base.js +2 -1
  643. package/dist/shims/font-local.d.ts +3 -3
  644. package/dist/shims/font-local.js +1 -1
  645. package/dist/shims/font-utils.d.ts +14 -15
  646. package/dist/shims/form.d.ts +2 -2
  647. package/dist/shims/form.js +10 -7
  648. package/dist/shims/hash-scroll.d.ts +5 -6
  649. package/dist/shims/head-state.d.ts +4 -5
  650. package/dist/shims/head.d.ts +16 -16
  651. package/dist/shims/head.js +5 -4
  652. package/dist/shims/headers.d.ts +68 -32
  653. package/dist/shims/headers.js +101 -10
  654. package/dist/shims/i18n-context.d.ts +5 -6
  655. package/dist/shims/i18n-state.d.ts +4 -5
  656. package/dist/shims/image-config.d.ts +5 -6
  657. package/dist/shims/image-config.js +2 -0
  658. package/dist/shims/image.d.ts +5 -5
  659. package/dist/shims/image.js +12 -8
  660. package/dist/shims/internal/als-registry.d.ts +4 -5
  661. package/dist/shims/internal/api-utils.d.ts +3 -4
  662. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  663. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  664. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  665. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +13 -0
  666. package/dist/shims/internal/app-prefetch-rsc-request.js +12 -0
  667. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  668. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -6
  669. package/dist/shims/internal/app-route-prefetch-policy.js +1 -0
  670. package/dist/shims/internal/app-router-context.d.ts +9 -10
  671. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  672. package/dist/shims/internal/format-url-object.d.ts +7 -0
  673. package/dist/shims/internal/format-url-object.js +53 -0
  674. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  675. package/dist/shims/internal/hybrid-client-route-owner-direct.js +29 -11
  676. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  677. package/dist/shims/internal/hybrid-client-route-owner.js +5 -4
  678. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  679. package/dist/shims/internal/interpolate-as.js +4 -2
  680. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  681. package/dist/shims/internal/make-hanging-promise.d.ts +8 -3
  682. package/dist/shims/internal/make-hanging-promise.js +13 -2
  683. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  684. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  685. package/dist/shims/internal/normalize-router-href.js +41 -0
  686. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  687. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  688. package/dist/shims/internal/pages-data-target.js +32 -36
  689. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  690. package/dist/shims/internal/pages-data-url.js +2 -1
  691. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  692. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  693. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  694. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  695. package/dist/shims/internal/router-context.d.ts +2 -3
  696. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  697. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  698. package/dist/shims/internal/utils.d.ts +7 -8
  699. package/dist/shims/internal/work-unit-async-storage.d.ts +12 -11
  700. package/dist/shims/layout-segment-context.d.ts +3 -4
  701. package/dist/shims/link-prefetch.d.ts +9 -10
  702. package/dist/shims/link.d.ts +4 -4
  703. package/dist/shims/link.js +67 -116
  704. package/dist/shims/metadata.d.ts +15 -16
  705. package/dist/shims/metadata.js +40 -36
  706. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  707. package/dist/shims/navigation-context-accessors.js +19 -0
  708. package/dist/shims/navigation-context-state.d.ts +27 -18
  709. package/dist/shims/navigation-errors.d.ts +18 -19
  710. package/dist/shims/navigation-state.d.ts +6 -7
  711. package/dist/shims/navigation.d.ts +80 -68
  712. package/dist/shims/navigation.js +45 -17
  713. package/dist/shims/navigation.react-server.d.ts +9 -9
  714. package/dist/shims/navigation.react-server.js +1 -1
  715. package/dist/shims/offline.d.ts +2 -3
  716. package/dist/shims/og.d.ts +2 -2
  717. package/dist/shims/pages-router-runtime.d.ts +4 -5
  718. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  719. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  720. package/dist/shims/request-context.d.ts +7 -6
  721. package/dist/shims/root-params.d.ts +14 -15
  722. package/dist/shims/router-state.d.ts +5 -6
  723. package/dist/shims/router-state.js +1 -1
  724. package/dist/shims/router.d.ts +22 -21
  725. package/dist/shims/router.js +339 -164
  726. package/dist/shims/script-nonce-context.d.ts +8 -6
  727. package/dist/shims/script-nonce-context.js +15 -6
  728. package/dist/shims/script.d.ts +4 -4
  729. package/dist/shims/script.js +9 -7
  730. package/dist/shims/search-params-gate.d.ts +35 -0
  731. package/dist/shims/search-params-gate.js +32 -0
  732. package/dist/shims/server.d.ts +19 -51
  733. package/dist/shims/server.js +14 -28
  734. package/dist/shims/slot.d.ts +33 -15
  735. package/dist/shims/slot.js +41 -9
  736. package/dist/shims/streamed-icons.d.ts +3 -4
  737. package/dist/shims/thenable-params.d.ts +5 -7
  738. package/dist/shims/thenable-params.js +3 -24
  739. package/dist/shims/unified-request-context.d.ts +34 -31
  740. package/dist/shims/unified-request-context.js +34 -24
  741. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  742. package/dist/shims/url-safety.d.ts +5 -6
  743. package/dist/shims/url-utils.d.ts +18 -12
  744. package/dist/shims/url-utils.js +10 -1
  745. package/dist/shims/use-merged-ref.d.ts +2 -3
  746. package/dist/shims/user-agent.d.ts +31 -0
  747. package/dist/shims/user-agent.js +16 -0
  748. package/dist/shims/web-vitals.d.ts +2 -2
  749. package/dist/typegen.d.ts +3 -4
  750. package/dist/utils/asset-prefix.d.ts +7 -8
  751. package/dist/utils/base-path.d.ts +5 -6
  752. package/dist/utils/built-asset-url.d.ts +2 -3
  753. package/dist/utils/built-asset-url.js +1 -1
  754. package/dist/utils/cache-control-metadata.d.ts +4 -5
  755. package/dist/utils/client-build-manifest.d.ts +6 -7
  756. package/dist/utils/client-build-manifest.js +2 -1
  757. package/dist/utils/client-entry-manifest.d.ts +6 -7
  758. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  759. package/dist/utils/client-runtime-metadata.js +18 -1
  760. package/dist/utils/commonjs-loader.d.ts +4 -5
  761. package/dist/utils/compare.d.ts +2 -3
  762. package/dist/utils/deployment-id.d.ts +6 -7
  763. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  764. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  765. package/dist/utils/domain-locale.d.ts +7 -8
  766. package/dist/utils/encode-cache-tag.d.ts +3 -4
  767. package/dist/utils/error-cause.d.ts +2 -3
  768. package/dist/utils/external-url.d.ts +2 -3
  769. package/dist/utils/has-trailing-comma.d.ts +3 -4
  770. package/dist/utils/hash.d.ts +3 -4
  771. package/dist/utils/html-limited-bots.d.ts +3 -4
  772. package/dist/utils/lazy-chunks.d.ts +8 -9
  773. package/dist/utils/lazy-chunks.js +4 -4
  774. package/dist/utils/manifest-paths.d.ts +5 -6
  775. package/dist/utils/mdx-scan.d.ts +11 -4
  776. package/dist/utils/mdx-scan.js +27 -1
  777. package/dist/utils/middleware-request-headers.d.ts +7 -6
  778. package/dist/utils/middleware-request-headers.js +6 -1
  779. package/dist/utils/navigation-signal.d.ts +3 -3
  780. package/dist/utils/navigation-signal.js +16 -1
  781. package/dist/utils/number.d.ts +2 -3
  782. package/dist/utils/package-name.d.ts +3 -4
  783. package/dist/utils/parse-cookie.d.ts +4 -5
  784. package/dist/utils/path.d.ts +8 -9
  785. package/dist/utils/plugin-options.d.ts +2 -3
  786. package/dist/utils/precompressed-variant.d.ts +3 -4
  787. package/dist/utils/prerender-output-paths.d.ts +9 -10
  788. package/dist/utils/prerender-output-paths.js +16 -9
  789. package/dist/utils/project.d.ts +19 -30
  790. package/dist/utils/project.js +20 -29
  791. package/dist/utils/promise.d.ts +2 -3
  792. package/dist/utils/protocol-headers.d.ts +14 -15
  793. package/dist/utils/public-file-path.d.ts +2 -3
  794. package/dist/utils/public-routes.d.ts +2 -3
  795. package/dist/utils/query.d.ts +14 -9
  796. package/dist/utils/query.js +22 -1
  797. package/dist/utils/react-compiler-support.d.ts +6 -7
  798. package/dist/utils/react-version.d.ts +4 -3
  799. package/dist/utils/react-version.js +19 -1
  800. package/dist/utils/record.d.ts +2 -3
  801. package/dist/utils/redirect-digest.d.ts +3 -4
  802. package/dist/utils/regex-safety.d.ts +4 -5
  803. package/dist/utils/regex.d.ts +2 -3
  804. package/dist/utils/safe-json-file.d.ts +2 -3
  805. package/dist/utils/sorted-array.d.ts +2 -3
  806. package/dist/utils/text-stream.d.ts +3 -4
  807. package/dist/utils/vinext-root.d.ts +2 -3
  808. package/dist/utils/virtual-module.d.ts +3 -4
  809. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  810. package/dist/utils/vite-cli-invocation.js +144 -0
  811. package/dist/utils/vite-version.d.ts +5 -6
  812. package/next-package.json +4 -0
  813. package/package.json +55 -6
@@ -3,6 +3,7 @@ import { MetadataFileRoute } from "../server/metadata-routes.js";
3
3
  //#region src/entries/app-rsc-manifest.d.ts
4
4
  type AppRscManifestCode = {
5
5
  imports: string[];
6
+ importInitializers: string[];
6
7
  routeEntries: string[];
7
8
  metaRouteEntries: string[];
8
9
  generateStaticParamsEntries: string[];
@@ -35,6 +36,7 @@ type AppRscManifestCode = {
35
36
  globalNotFoundImportSpecifier: string | null;
36
37
  };
37
38
  type BuildAppRscManifestCodeOptions = {
39
+ deferEagerImports?: boolean;
38
40
  routes: AppRoute[];
39
41
  metadataRoutes?: MetadataFileRoute[];
40
42
  globalErrorPath?: string | null;
@@ -47,6 +49,5 @@ type BuildAppRscManifestCodeOptions = {
47
49
  */
48
50
  globalNotFoundPath?: string | null;
49
51
  };
50
- declare function buildAppRscManifestCode(options: BuildAppRscManifestCodeOptions): AppRscManifestCode;
51
- //#endregion
52
- export { buildAppRscManifestCode };
52
+ export declare function buildAppRscManifestCode(options: BuildAppRscManifestCodeOptions): AppRscManifestCode;
53
+ //#endregion
@@ -1,6 +1,6 @@
1
1
  import { toSlash } from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
2
2
  import { computeAppRouteStaticSiblings, convertSegmentsToRouteParts } from "../routing/app-route-graph.js";
3
- import "../routing/app-router.js";
3
+ import { appRouteHasMainTreeLoadingBoundary, appRouteLayoutStaticParamsGroups } from "../routing/app-router.js";
4
4
  import { createMetadataRouteEntriesSource } from "../server/metadata-route-build-data.js";
5
5
  //#region src/entries/app-rsc-manifest.ts
6
6
  function findRootBoundaryRoute(routes) {
@@ -17,8 +17,9 @@ function rootRouteBoundaryPath(route, boundaryPaths, fallbackPath) {
17
17
  if (route.pattern === "/") return fallbackPath ?? null;
18
18
  return boundaryPaths?.[0] ?? fallbackPath ?? null;
19
19
  }
20
- function createImportAllocator() {
20
+ function createImportAllocator(deferEagerImports) {
21
21
  const imports = [];
22
+ const importInitializers = [];
22
23
  const importMap = /* @__PURE__ */ new Map();
23
24
  const lazyMap = /* @__PURE__ */ new Map();
24
25
  let importIdx = 0;
@@ -26,12 +27,16 @@ function createImportAllocator() {
26
27
  return {
27
28
  importMap,
28
29
  imports,
30
+ importInitializers,
29
31
  getImportVar(filePath) {
30
32
  const existing = importMap.get(filePath);
31
33
  if (existing) return existing;
32
34
  const varName = `mod_${importIdx++}`;
33
35
  const absPath = toSlash(filePath);
34
- imports.push(`import * as ${varName} from ${JSON.stringify(absPath)};`);
36
+ if (deferEagerImports) {
37
+ imports.push(`let ${varName};`);
38
+ importInitializers.push(`${varName} = await import(${JSON.stringify(absPath)});`);
39
+ } else imports.push(`import * as ${varName} from ${JSON.stringify(absPath)};`);
35
40
  importMap.set(filePath, varName);
36
41
  return varName;
37
42
  },
@@ -198,6 +203,7 @@ ${interceptEntries.join(",\n")}
198
203
  return ` {
199
204
  __buildTimeClassifications: __VINEXT_CLASS(${routeIdx}), // evaluated once at module load
200
205
  __buildTimeReasons: __classDebug ? __VINEXT_CLASS_REASONS(${routeIdx}) : null,
206
+ canUseCanonicalLoadingShell: ${appRouteHasMainTreeLoadingBoundary(route)},
201
207
  ids: ${JSON.stringify(route.ids ?? null)},
202
208
  pattern: ${JSON.stringify(route.pattern)},
203
209
  patternParts: ${JSON.stringify(route.patternParts)},
@@ -292,21 +298,33 @@ function buildRootParamNamesByPattern(routes) {
292
298
  }
293
299
  function buildGenerateStaticParamsEntries(routes, imports, namesByPattern) {
294
300
  const sourcesByPattern = /* @__PURE__ */ new Map();
301
+ const layoutGroupsByKey = /* @__PURE__ */ new Map();
302
+ const layoutSource = (layoutPath) => `{ load: ${imports.getLazyLoaderVar(layoutPath)} }`;
295
303
  for (const route of routes) {
296
304
  if (!route.isDynamic) continue;
297
- for (const [index, layoutPath] of route.layouts.entries()) appendStaticParamSource(sourcesByPattern, createRoutePatternPrefix(route.routeSegments, route.layoutTreePositions[index] ?? 0)?.pattern ?? null, `{ load: ${imports.getLazyLoaderVar(layoutPath)} }`);
305
+ const layoutGroups = appRouteLayoutStaticParamsGroups(route);
306
+ for (const group of layoutGroups) {
307
+ if (group.pattern === route.pattern) appendStaticParamSource(sourcesByPattern, route.pattern, layoutSource(group.layoutPath));
308
+ if (layoutGroupsByKey.has(group.key)) continue;
309
+ layoutGroupsByKey.set(group.key, {
310
+ pattern: group.pattern,
311
+ sources: [layoutSource(group.layoutPath)]
312
+ });
313
+ }
298
314
  if (route.pagePath) appendStaticParamSource(sourcesByPattern, route.pattern, `{ load: ${imports.getLazyLoaderVar(route.pagePath)} }`);
315
+ if (!route.pagePath && route.routePath) appendStaticParamSource(sourcesByPattern, route.pattern, `{ load: ${imports.getLazyLoaderVar(route.routePath)} }`);
299
316
  }
300
- return Array.from(sourcesByPattern.entries()).map(([pattern, sources]) => {
317
+ const entry = (key, pattern, sources) => {
301
318
  const rootParamNames = namesByPattern.get(pattern) ?? [];
302
- return ` ${JSON.stringify(pattern)}: __createAppPrerenderStaticParamsResolver([${sources.join(", ")}], ${JSON.stringify(rootParamNames)}),`;
303
- });
319
+ return ` ${JSON.stringify(key)}: __createAppPrerenderStaticParamsResolver([${sources.join(", ")}], ${JSON.stringify(rootParamNames)}),`;
320
+ };
321
+ return [...Array.from(sourcesByPattern, ([pattern, sources]) => entry(pattern, pattern, sources)), ...Array.from(layoutGroupsByKey, ([key, group]) => entry(key, group.pattern, group.sources))];
304
322
  }
305
323
  function buildRootParamNameEntries(namesByPattern) {
306
324
  return Array.from(namesByPattern.entries()).map(([pattern, names]) => ` ${JSON.stringify(pattern)}: ${JSON.stringify(names)},`);
307
325
  }
308
326
  function buildAppRscManifestCode(options) {
309
- const imports = createImportAllocator();
327
+ const imports = createImportAllocator(options.deferEagerImports === true);
310
328
  const metadataRoutes = options.metadataRoutes ?? [];
311
329
  registerRouteModules(options.routes, imports);
312
330
  const routeEntries = buildRouteEntries(options.routes, imports);
@@ -325,6 +343,7 @@ function buildAppRscManifestCode(options) {
325
343
  const namesByPattern = buildRootParamNamesByPattern(options.routes);
326
344
  return {
327
345
  imports: imports.imports,
346
+ importInitializers: imports.importInitializers,
328
347
  routeEntries,
329
348
  metaRouteEntries: createMetadataRouteEntriesSource(metadataRoutes, imports.importMap),
330
349
  generateStaticParamsEntries: buildGenerateStaticParamsEntries(options.routes, imports, namesByPattern),
@@ -10,6 +10,5 @@
10
10
  * `virtual:vinext-server-entry` so the RSC bundle can access Pages Router
11
11
  * route metadata and fallback dispatchers via `import("./ssr/index.js")`.
12
12
  */
13
- declare function generateSsrEntry(hasPagesDir?: boolean): string;
14
- //#endregion
15
- export { generateSsrEntry };
13
+ export declare function generateSsrEntry(hasPagesDir?: boolean): string;
14
+ //#endregion
@@ -17,7 +17,14 @@ function generateSsrEntry(hasPagesDir = false) {
17
17
  export * from ${JSON.stringify(entryPath)};
18
18
  export { default } from ${JSON.stringify(entryPath)};
19
19
  ${hasPagesDir ? `
20
- export { handleApiRoute, matchApiRoute, matchPageRoute, pageRoutes, renderPage } from "virtual:vinext-server-entry";
20
+ export {
21
+ __ensureInstrumentation,
22
+ handleApiRoute,
23
+ matchApiRoute,
24
+ matchPageRoute,
25
+ pageRoutes,
26
+ renderPage,
27
+ } from "virtual:vinext-server-entry";
21
28
  ` : ""}`;
22
29
  }
23
30
  //#endregion
@@ -3,11 +3,11 @@ import { ResolvedNextConfig } from "../config/next-config.js";
3
3
  import { StaticMiddlewareMatcher } from "../build/report.js";
4
4
  import { VinextLinkPrefetchRoute } from "../client/vinext-next-data.js";
5
5
  //#region src/entries/pages-client-entry.d.ts
6
- declare function generateClientEntry(pagesDir: string, nextConfig: ResolvedNextConfig, fileMatcher: ReturnType<typeof createValidFileMatcher>, options?: {
6
+ export declare function compileClientMiddlewareMatchers(matcher: StaticMiddlewareMatcher | undefined): unknown[] | undefined;
7
+ export declare function generateClientEntry(pagesDir: string, nextConfig: ResolvedNextConfig, fileMatcher: ReturnType<typeof createValidFileMatcher>, options?: {
7
8
  appPrefetchRoutes?: readonly VinextLinkPrefetchRoute[];
8
9
  instrumentationClientPath?: string | null;
9
10
  middlewareMatcher?: StaticMiddlewareMatcher | undefined;
10
11
  reactPreamble?: boolean;
11
12
  }): Promise<string>;
12
- //#endregion
13
- export { generateClientEntry };
13
+ //#endregion
@@ -3,6 +3,7 @@ import { findFileWithExts } from "../routing/file-matcher.js";
3
3
  import { patternToNextFormat } from "../routing/route-validation.js";
4
4
  import { apiRouter, pagesRouter } from "../routing/pages-router.js";
5
5
  import { resolveClientRuntimeModule } from "./runtime-entry-module.js";
6
+ import { compileMiddlewareMatcherPattern } from "../server/middleware-matcher-pattern.js";
6
7
  import { hasExportedName } from "../build/report.js";
7
8
  import { toClientRewrites } from "../client/client-rewrites.js";
8
9
  import { readFile } from "node:fs/promises";
@@ -18,6 +19,19 @@ import { readFile } from "node:fs/promises";
18
19
  *
19
20
  * Extracted from index.ts.
20
21
  */
22
+ function compileClientMiddlewareMatchers(matcher) {
23
+ if (matcher === void 0) return void 0;
24
+ return (typeof matcher === "string" ? [matcher] : matcher).map((entry) => {
25
+ const source = typeof entry === "string" ? entry : entry.source;
26
+ const compiled = compileMiddlewareMatcherPattern(source);
27
+ if (!compiled.regexp) return entry;
28
+ return {
29
+ ...typeof entry === "string" ? { source } : entry,
30
+ regexp: compiled.regexp.source,
31
+ flags: compiled.regexp.flags
32
+ };
33
+ });
34
+ }
21
35
  /**
22
36
  * Project a Pages `Route` down to the public `VinextPagesLinkPrefetchRoute`
23
37
  * shape used for client-side hybrid ownership decisions. Mirrors
@@ -54,6 +68,7 @@ async function generateClientEntry(pagesDir, nextConfig, fileMatcher, options =
54
68
  const pagesSspPatterns = (await Promise.all(pageRoutes.map(async (route) => await hasGetServerSidePropsExport(route.filePath) ? patternToNextFormat(route.pattern) : null))).filter((pattern) => pattern !== null);
55
69
  const instrumentationClientPath = options.instrumentationClientPath ?? null;
56
70
  const clientRewrites = toClientRewrites(nextConfig.rewrites);
71
+ const clientMiddlewareMatchers = compileClientMiddlewareMatchers(options.middlewareMatcher);
57
72
  const reactInstanceBootstrapPath = resolveClientRuntimeModule("react-instance-bootstrap");
58
73
  const loaderEntries = pageRoutes.map((r) => {
59
74
  const absPath = r.filePath;
@@ -103,7 +118,7 @@ window.__VINEXT_PAGE_PATTERNS__ = Object.keys(pageLoaders);
103
118
  window.__VINEXT_REACT_STRICT_MODE__ = ${JSON.stringify(reactStrictModeEnabled)};
104
119
  window.__VINEXT_PAGES_SSG_PATTERNS__ = ${JSON.stringify(pagesSsgPatterns)};
105
120
  window.__VINEXT_PAGES_SSP_PATTERNS__ = ${JSON.stringify(pagesSspPatterns)};
106
- window.__VINEXT_MIDDLEWARE_MATCHER__ = ${JSON.stringify(options.middlewareMatcher)};
121
+ window.__VINEXT_MIDDLEWARE_MATCHER__ = ${JSON.stringify(clientMiddlewareMatchers)};
107
122
  window.__VINEXT_APP_LOADER__ = appLoader;
108
123
  // Expose the App Router prefetch manifest so Pages Router \`<Link>\`s and
109
124
  // \`Router.prefetch\` can detect when a prefetch target is actually an App
@@ -237,4 +252,4 @@ hydrate();
237
252
  `;
238
253
  }
239
254
  //#endregion
240
- export { generateClientEntry };
255
+ export { compileClientMiddlewareMatchers, generateClientEntry };
@@ -1,10 +1,20 @@
1
1
  import { createValidFileMatcher } from "../routing/file-matcher.js";
2
2
  import { ResolvedNextConfig } from "../config/next-config.js";
3
3
  //#region src/entries/pages-server-entry.d.ts
4
+ type GeneratePagesServerEntryOptions = {
5
+ includeMiddlewareRuntime?: boolean;
6
+ nodeOpenTelemetryLoader?: boolean;
7
+ prerenderSecret?: string;
8
+ };
9
+ /**
10
+ * Generate the request-only Pages Worker entry used by a multi-stage output.
11
+ * It intentionally contains no page/API module imports or render runtime.
12
+ */
13
+ export declare function generatePagesRequestEntry(pagesDir: string, nextConfig: ResolvedNextConfig, fileMatcher: ReturnType<typeof createValidFileMatcher>, middlewarePath: string | null, instrumentationPath: string | null, publicFiles?: string[], prerenderSecret?: string): Promise<string>;
4
14
  /**
5
15
  * Generate the virtual SSR server entry module.
6
16
  * This is the entry point for `vite build --ssr`.
7
17
  */
8
- declare function generateServerEntry(pagesDir: string, nextConfig: ResolvedNextConfig, fileMatcher: ReturnType<typeof createValidFileMatcher>, middlewarePath: string | null, instrumentationPath: string | null, publicFiles?: string[]): Promise<string>;
9
- //#endregion
10
- export { generateServerEntry };
18
+ export declare function generatePagesResponseEntry(pagesDir: string, nextConfig: ResolvedNextConfig, fileMatcher: ReturnType<typeof createValidFileMatcher>, middlewarePath: string | null, instrumentationPath: string | null, prerenderSecret?: string): Promise<string>;
19
+ export declare function generateServerEntry(pagesDir: string, nextConfig: ResolvedNextConfig, fileMatcher: ReturnType<typeof createValidFileMatcher>, middlewarePath: string | null, instrumentationPath: string | null, publicFiles?: string[], options?: GeneratePagesServerEntryOptions): Promise<string>;
20
+ //#endregion
@@ -24,7 +24,10 @@ const _pagesApiRoutePath = resolveEntryPath("../server/pages-api-route.js", impo
24
24
  const _serverGlobalsPath = resolveEntryPath("../server/server-globals.js", import.meta.url);
25
25
  const _queryUtilsPath = resolveEntryPath("../utils/query.js", import.meta.url);
26
26
  const _pagesPageHandlerPath = resolveEntryPath("../server/pages-page-handler.js", import.meta.url);
27
+ const _pagesRouteDataKindPath = resolveEntryPath("../server/pages-route-data-kind.js", import.meta.url);
27
28
  const _isrCachePath = resolveEntryPath("../server/isr-cache.js", import.meta.url);
29
+ const _revalidationRequestPath = resolveEntryPath("../server/revalidation-request.js", import.meta.url);
30
+ const _instrumentationRuntimePath = resolveEntryPath("../server/instrumentation-runtime.js", import.meta.url);
28
31
  async function getPagesDataKind(filePath) {
29
32
  const source = await readFile(filePath, "utf8");
30
33
  if (hasExportedName(source, "getStaticProps")) return "static";
@@ -32,27 +35,187 @@ async function getPagesDataKind(filePath) {
32
35
  return "none";
33
36
  }
34
37
  /**
38
+ * Generate the request-only Pages Worker entry used by a multi-stage output.
39
+ * It intentionally contains no page/API module imports or render runtime.
40
+ */
41
+ async function generatePagesRequestEntry(pagesDir, nextConfig, fileMatcher, middlewarePath, instrumentationPath, publicFiles = [], prerenderSecret) {
42
+ const pageRoutes = await pagesRouter(pagesDir, nextConfig?.pageExtensions, fileMatcher);
43
+ const apiRoutes = await apiRouter(pagesDir, nextConfig?.pageExtensions, fileMatcher);
44
+ const hasRequestAwareDocument = findFileWithExts(pagesDir, "_document", fileMatcher) !== null;
45
+ const pageRouteEntries = await Promise.all(pageRoutes.map(async (route) => {
46
+ const dataKind = await getPagesDataKind(route.filePath);
47
+ return ` { pattern: ${JSON.stringify(route.pattern)}, patternParts: ${JSON.stringify(route.patternParts)}, isDynamic: ${route.isDynamic}, params: ${JSON.stringify(route.params)}, dataKind: ${JSON.stringify(dataKind)} }`;
48
+ }));
49
+ const apiRouteEntries = apiRoutes.map((route) => ` { pattern: ${JSON.stringify(route.pattern)}, patternParts: ${JSON.stringify(route.patternParts)}, isDynamic: ${route.isDynamic}, params: ${JSON.stringify(route.params)} }`);
50
+ const i18nConfigJson = nextConfig?.i18n ? JSON.stringify({
51
+ locales: nextConfig.i18n.locales,
52
+ defaultLocale: nextConfig.i18n.defaultLocale,
53
+ localeDetection: nextConfig.i18n.localeDetection,
54
+ domains: nextConfig.i18n.domains
55
+ }) : "null";
56
+ const vinextConfigJson = JSON.stringify({
57
+ basePath: nextConfig?.basePath ?? "",
58
+ assetPrefix: nextConfig?.assetPrefix ?? "",
59
+ trailingSlash: nextConfig?.trailingSlash ?? false,
60
+ skipProxyUrlNormalize: nextConfig?.skipProxyUrlNormalize ?? false,
61
+ redirects: nextConfig?.redirects ?? [],
62
+ rewrites: nextConfig?.rewrites ?? {
63
+ beforeFiles: [],
64
+ afterFiles: [],
65
+ fallback: []
66
+ },
67
+ headers: nextConfig?.headers ?? [],
68
+ expireTime: nextConfig?.expireTime,
69
+ allowedRevalidateHeaderKeys: nextConfig?.allowedRevalidateHeaderKeys ?? [],
70
+ cacheMaxMemorySize: nextConfig?.cacheMaxMemorySize,
71
+ htmlLimitedBots: nextConfig?.htmlLimitedBots,
72
+ i18n: nextConfig?.i18n ?? null,
73
+ disableOptimizedLoading: nextConfig?.disableOptimizedLoading === true,
74
+ crossOrigin: nextConfig?.crossOrigin,
75
+ clientTraceMetadata: nextConfig?.clientTraceMetadata,
76
+ images: {
77
+ deviceSizes: nextConfig?.images?.deviceSizes,
78
+ imageSizes: nextConfig?.images?.imageSizes,
79
+ qualities: nextConfig?.images?.qualities,
80
+ dangerouslyAllowSVG: nextConfig?.images?.dangerouslyAllowSVG,
81
+ dangerouslyAllowLocalIP: nextConfig?.images?.dangerouslyAllowLocalIP,
82
+ contentDispositionType: nextConfig?.images?.contentDispositionType,
83
+ contentSecurityPolicy: nextConfig?.images?.contentSecurityPolicy
84
+ }
85
+ });
86
+ const instrumentationImportCode = instrumentationPath ? `import * as _instrumentation from ${JSON.stringify(instrumentationPath)};
87
+ import { ensureInstrumentationRegistered as __ensureInstrumentationRegistered } from ${JSON.stringify(_instrumentationRuntimePath)};` : "";
88
+ const instrumentationInitCode = instrumentationPath ? `let __applicationInitialization;
89
+ async function __initializeApplication() {
90
+ await __ensureInstrumentationRegistered(_instrumentation, ${JSON.stringify(instrumentationPath)});
91
+ ${middlewarePath ? `middlewareModule = await import(${JSON.stringify(middlewarePath)});` : ""}
92
+ }
93
+ export function __ensureInstrumentation() {
94
+ return __applicationInitialization ??= __initializeApplication();
95
+ }` : "export function __ensureInstrumentation() {}";
96
+ const middlewareImportCode = middlewarePath ? instrumentationPath ? "let middlewareModule;" : `import * as middlewareModule from ${JSON.stringify(middlewarePath)};` : "";
97
+ const middlewareExportCode = middlewarePath ? `export async function runMiddleware(request, ctx, options) {
98
+ ${instrumentationPath ? "await __ensureInstrumentation();" : ""}
99
+ return __runGeneratedMiddleware({
100
+ basePath: vinextConfig.basePath,
101
+ ctx,
102
+ filePath: ${JSON.stringify(middlewarePath)},
103
+ i18nConfig,
104
+ isDataRequest: options?.isDataRequest === true,
105
+ isProxy: ${JSON.stringify(isProxyFile(middlewarePath))},
106
+ module: middlewareModule,
107
+ request,
108
+ trailingSlash: vinextConfig.trailingSlash,
109
+ });
110
+ }` : `export async function runMiddleware() {
111
+ ${instrumentationPath ? "await __ensureInstrumentation();" : ""}
112
+ return { continue: true };
113
+ }`;
114
+ return `
115
+ import ${JSON.stringify(_serverGlobalsPath)};
116
+ import { runGeneratedMiddleware as __runGeneratedMiddleware } from ${JSON.stringify(_middlewareRuntimePath)};
117
+ import { buildRouteTrie as _buildRouteTrie, trieMatch as _trieMatch } from ${JSON.stringify(_routeTriePath)};
118
+ import { resolvePagesI18nRequest } from ${JSON.stringify(_pagesI18nPath)};
119
+ import { normalizePagesDataRequest as __normalizePagesDataRequest, shouldAddTrailingSlashToPagesDataPath as __shouldAddTrailingSlashToPagesDataPath } from ${JSON.stringify(_pagesDataRoutePath)};
120
+ import { isOnDemandRevalidateRequest as __isOnDemandRevalidateRequest } from ${JSON.stringify(_revalidationRequestPath)};
121
+ ${instrumentationImportCode}
122
+
123
+ ${instrumentationInitCode}
124
+ ${middlewareImportCode}
125
+
126
+ export const authorizeOnDemandRevalidate = __isOnDemandRevalidateRequest;
127
+ export const buildId = ${JSON.stringify(nextConfig?.buildId ?? null)};
128
+ export const prerenderSecret = ${JSON.stringify(prerenderSecret ?? null)};
129
+ const i18nConfig = ${i18nConfigJson};
130
+ export const hasMiddleware = ${JSON.stringify(Boolean(middlewarePath))};
131
+ export const hasRequestAwareDocument = ${JSON.stringify(hasRequestAwareDocument)};
132
+ export const vinextConfig = ${vinextConfigJson};
133
+ export const publicFiles = new Set(${JSON.stringify(publicFiles)});
134
+
135
+ export function normalizeDataRequest(request) {
136
+ return __normalizePagesDataRequest(
137
+ request,
138
+ buildId,
139
+ vinextConfig.basePath,
140
+ __shouldAddTrailingSlashToPagesDataPath(
141
+ hasMiddleware,
142
+ vinextConfig.trailingSlash,
143
+ vinextConfig.skipProxyUrlNormalize,
144
+ ),
145
+ );
146
+ }
147
+
148
+ const pageRoutes = [
149
+ ${pageRouteEntries.join(",\n")}
150
+ ];
151
+ const pageRouteTrie = _buildRouteTrie(pageRoutes);
152
+ const apiRoutes = [
153
+ ${apiRouteEntries.join(",\n")}
154
+ ];
155
+ const apiRouteTrie = _buildRouteTrie(apiRoutes);
156
+
157
+ function matchRoute(url, trie) {
158
+ const pathname = url.split("?")[0];
159
+ const normalizedUrl = pathname === "/" ? "/" : pathname.replace(/\\/$/, "");
160
+ return _trieMatch(trie, normalizedUrl.split("/").filter(Boolean));
161
+ }
162
+
163
+ function resolveI18nRouteUrl(url, request) {
164
+ return i18nConfig && request
165
+ ? resolvePagesI18nRequest(
166
+ url,
167
+ i18nConfig,
168
+ request.headers,
169
+ new URL(request.url).hostname,
170
+ vinextConfig.basePath,
171
+ vinextConfig.trailingSlash,
172
+ ).url
173
+ : url;
174
+ }
175
+
176
+ export function matchPageRoute(url, request) {
177
+ return matchRoute(resolveI18nRouteUrl(url, request), pageRouteTrie);
178
+ }
179
+
180
+ export function matchApiRoute(url, request) {
181
+ return matchRoute(resolveI18nRouteUrl(url, request), apiRouteTrie);
182
+ }
183
+
184
+ ${middlewareExportCode}
185
+ `;
186
+ }
187
+ /**
35
188
  * Generate the virtual SSR server entry module.
36
189
  * This is the entry point for `vite build --ssr`.
37
190
  */
38
- async function generateServerEntry(pagesDir, nextConfig, fileMatcher, middlewarePath, instrumentationPath, publicFiles = []) {
191
+ function generatePagesResponseEntry(pagesDir, nextConfig, fileMatcher, middlewarePath, instrumentationPath, prerenderSecret) {
192
+ return generateServerEntry(pagesDir, nextConfig, fileMatcher, middlewarePath, instrumentationPath, [], {
193
+ includeMiddlewareRuntime: false,
194
+ prerenderSecret
195
+ });
196
+ }
197
+ async function generateServerEntry(pagesDir, nextConfig, fileMatcher, middlewarePath, instrumentationPath, publicFiles = [], options = {}) {
198
+ const includeMiddlewareRuntime = options.includeMiddlewareRuntime !== false;
199
+ const prerenderSecret = options.prerenderSecret;
39
200
  const pageRoutes = await pagesRouter(pagesDir, nextConfig?.pageExtensions, fileMatcher);
40
201
  const apiRoutes = await apiRouter(pagesDir, nextConfig?.pageExtensions, fileMatcher);
41
- const pageImports = pageRoutes.map((r, i) => `import * as page_${i} from ${JSON.stringify(r.filePath)};`);
42
- const apiImports = apiRoutes.map((r, i) => `import * as api_${i} from ${JSON.stringify(r.filePath)};`);
202
+ const pageImports = pageRoutes.map((r, i) => instrumentationPath ? `let page_${i};` : `import * as page_${i} from ${JSON.stringify(r.filePath)};`);
203
+ const pageImportInitializers = pageRoutes.map((r, i) => `page_${i} = await import(${JSON.stringify(r.filePath)});`);
204
+ const apiImports = apiRoutes.map((r, i) => instrumentationPath ? `let api_${i};` : `import * as api_${i} from ${JSON.stringify(r.filePath)};`);
205
+ const apiImportInitializers = apiRoutes.map((r, i) => `api_${i} = await import(${JSON.stringify(r.filePath)});`);
43
206
  const pageRouteEntries = await Promise.all(pageRoutes.map(async (r, i) => {
44
207
  const dataKind = await getPagesDataKind(r.filePath);
45
- return ` { pattern: ${JSON.stringify(r.pattern)}, patternParts: ${JSON.stringify(r.patternParts)}, isDynamic: ${r.isDynamic}, params: ${JSON.stringify(r.params)}, module: page_${i}, filePath: ${JSON.stringify(r.filePath)}, dataKind: ${JSON.stringify(dataKind)} }`;
208
+ return ` { pattern: ${JSON.stringify(r.pattern)}, patternParts: ${JSON.stringify(r.patternParts)}, isDynamic: ${r.isDynamic}, params: ${JSON.stringify(r.params)}, module: ${instrumentationPath ? "null" : `page_${i}`}, filePath: ${JSON.stringify(r.filePath)}, dataKind: ${JSON.stringify(dataKind)} }`;
46
209
  }));
47
- const apiRouteEntries = apiRoutes.map((r, i) => ` { pattern: ${JSON.stringify(r.pattern)}, patternParts: ${JSON.stringify(r.patternParts)}, isDynamic: ${r.isDynamic}, params: ${JSON.stringify(r.params)}, module: api_${i} }`);
210
+ const apiRouteEntries = apiRoutes.map((r, i) => ` { pattern: ${JSON.stringify(r.pattern)}, patternParts: ${JSON.stringify(r.patternParts)}, isDynamic: ${r.isDynamic}, params: ${JSON.stringify(r.params)}, module: ${instrumentationPath ? "null" : `api_${i}`} }`);
48
211
  const appFilePath = findFileWithExts(pagesDir, "_app", fileMatcher);
49
212
  const docFilePath = findFileWithExts(pagesDir, "_document", fileMatcher);
50
213
  const errorFilePath = findFileWithExts(pagesDir, "_error", fileMatcher);
51
214
  const appAssetPathJson = appFilePath !== null ? JSON.stringify(appFilePath) : "null";
52
- const appImportCode = appFilePath !== null ? `import { default as AppComponent } from ${JSON.stringify(appFilePath)};` : `const AppComponent = null;`;
53
- const docImportCode = docFilePath !== null ? `import { default as DocumentComponent } from ${JSON.stringify(docFilePath)};` : `const DocumentComponent = null;`;
215
+ const appImportCode = appFilePath !== null ? instrumentationPath ? "let AppComponent;" : `import { default as AppComponent } from ${JSON.stringify(appFilePath)};` : `const AppComponent = null;`;
216
+ const docImportCode = docFilePath !== null ? instrumentationPath ? "let DocumentComponent;" : `import { default as DocumentComponent } from ${JSON.stringify(docFilePath)};` : `const DocumentComponent = null;`;
54
217
  const errorAssetPathJson = errorFilePath !== null ? JSON.stringify(errorFilePath) : "null";
55
- const errorImportCode = errorFilePath !== null ? `import * as ErrorPageModule from ${JSON.stringify(errorFilePath)};` : `import * as ErrorPageModule from "next/error";`;
218
+ const errorImportCode = errorFilePath !== null ? instrumentationPath ? "let ErrorPageModule;" : `import * as ErrorPageModule from ${JSON.stringify(errorFilePath)};` : instrumentationPath ? "let ErrorPageModule;" : `import * as ErrorPageModule from "next/error";`;
56
219
  const i18nConfigJson = nextConfig?.i18n ? JSON.stringify({
57
220
  locales: nextConfig.i18n.locales,
58
221
  defaultLocale: nextConfig.i18n.defaultLocale,
@@ -90,21 +253,39 @@ async function generateServerEntry(pagesDir, nextConfig, fileMatcher, middleware
90
253
  contentSecurityPolicy: nextConfig?.images?.contentSecurityPolicy
91
254
  }
92
255
  });
93
- const instrumentationImportCode = instrumentationPath ? `import * as _instrumentation from ${JSON.stringify(instrumentationPath)};` : "";
94
- const instrumentationInitCode = instrumentationPath ? `// Run instrumentation register() once at module evaluation time — before any
95
- // requests are handled. Matches Next.js semantics: register() is called once
96
- // on startup in the process that handles requests.
97
- if (typeof _instrumentation.register === "function") {
98
- await _instrumentation.register();
256
+ const instrumentationImportCode = instrumentationPath ? `import * as _instrumentation from ${JSON.stringify(instrumentationPath)};
257
+ import { ensureInstrumentationRegistered as __ensureInstrumentationRegistered } from ${JSON.stringify(_instrumentationRuntimePath)};` : "";
258
+ const specialModuleInitializers = instrumentationPath ? [
259
+ appFilePath ? `({ default: AppComponent } = await import(${JSON.stringify(appFilePath)}));` : "",
260
+ docFilePath ? `({ default: DocumentComponent } = await import(${JSON.stringify(docFilePath)}));` : "",
261
+ `ErrorPageModule = await import(${JSON.stringify(errorFilePath ?? "next/error")});`
262
+ ].filter(Boolean) : [];
263
+ const instrumentationInitCode = instrumentationPath ? `let __applicationInitialization;
264
+ async function __initializeApplication() {
265
+ await __ensureInstrumentationRegistered(_instrumentation, ${JSON.stringify(instrumentationPath)});
266
+ ${includeMiddlewareRuntime && middlewarePath ? `middlewareModule = await import(${JSON.stringify(middlewarePath)});` : ""}
267
+ ${pageImportInitializers.join("\n ")}
268
+ ${apiImportInitializers.join("\n ")}
269
+ ${specialModuleInitializers.join("\n ")}
270
+ ${pageRoutes.map((_, index) => `pageRoutes[${index}].module = page_${index};`).join("\n ")}
271
+ ${apiRoutes.map((_, index) => `apiRoutes[${index}].module = api_${index};`).join("\n ")}
272
+ _errorPageRoute.module = ErrorPageModule;
273
+ _renderPage = __createRenderPage();
99
274
  }
100
- // Store the onRequestError handler on globalThis so it is visible to all
101
- // code within the Worker (same global scope).
102
- if (typeof _instrumentation.onRequestError === "function") {
103
- globalThis.__VINEXT_onRequestErrorHandler__ = _instrumentation.onRequestError;
275
+ export function __ensureInstrumentation() {
276
+ return __applicationInitialization ??= __initializeApplication();
277
+ }` : "export function __ensureInstrumentation() {}";
278
+ const openTelemetryLoaderCode = options.nodeOpenTelemetryLoader ? `import { register as __registerOpenTelemetryLoader } from "node:module";
279
+ const __openTelemetryLoaderKey = Symbol.for("vinext.openTelemetryLoader");
280
+ if (process.env.VINEXT_PRERENDER !== "1" && !globalThis[__openTelemetryLoaderKey]) {
281
+ globalThis[__openTelemetryLoaderKey] = true;
282
+ __registerOpenTelemetryLoader("@opentelemetry/instrumentation/hook.mjs", import.meta.url);
104
283
  }` : "";
105
- const middlewareImportCode = middlewarePath ? `import * as middlewareModule from ${JSON.stringify(middlewarePath)};` : "";
106
- const middlewareExportCode = middlewarePath ? `
284
+ const middlewareImportCode = includeMiddlewareRuntime && middlewarePath ? instrumentationPath ? "let middlewareModule;" : `import * as middlewareModule from ${JSON.stringify(middlewarePath)};` : "";
285
+ const middlewareRuntimeImportCode = includeMiddlewareRuntime ? `import { runGeneratedMiddleware as __runGeneratedMiddleware } from ${JSON.stringify(_middlewareRuntimePath)};` : "";
286
+ const middlewareExportCode = includeMiddlewareRuntime ? middlewarePath ? `
107
287
  export async function runMiddleware(request, ctx, options) {
288
+ ${instrumentationPath ? "await __ensureInstrumentation();" : ""}
108
289
  return __runGeneratedMiddleware({
109
290
  basePath: vinextConfig.basePath,
110
291
  ctx,
@@ -119,9 +300,10 @@ export async function runMiddleware(request, ctx, options) {
119
300
  }
120
301
  ` : `
121
302
  export async function runMiddleware(request) {
303
+ ${instrumentationPath ? "await __ensureInstrumentation();" : ""}
122
304
  return { continue: true };
123
305
  }
124
- `;
306
+ ` : "";
125
307
  return `
126
308
  import ${JSON.stringify(_serverGlobalsPath)};
127
309
  import React from "react";
@@ -147,7 +329,7 @@ import { getSSRFontLinks as _getSSRFontLinks, getSSRFontStyles as _getSSRFontSty
147
329
  import { getSSRFontStyles as _getSSRFontStylesLocal, getSSRFontPreloads as _getSSRFontPreloadsLocal } from "next/font/local";
148
330
  import { sanitizeDestination as sanitizeDestinationLocal } from ${JSON.stringify(resolveEntryPath("../config/config-matchers.js", import.meta.url))};
149
331
  import { runWithExecutionContext as _runWithExecutionContext } from ${JSON.stringify(_requestContextShimPath)};
150
- import { runGeneratedMiddleware as __runGeneratedMiddleware } from ${JSON.stringify(_middlewareRuntimePath)};
332
+ ${middlewareRuntimeImportCode}
151
333
  import { buildRouteTrie as _buildRouteTrie, trieMatch as _trieMatch } from ${JSON.stringify(_routeTriePath)};
152
334
  import { reportRequestError as _reportRequestError } from "vinext/instrumentation";
153
335
  import { resolvePagesI18nRequest } from ${JSON.stringify(_pagesI18nPath)};
@@ -155,11 +337,13 @@ import { handlePagesApiRoute as __handlePagesApiRoute } from ${JSON.stringify(_p
155
337
  import { normalizePagesDataRequest as __normalizePagesDataRequest, shouldAddTrailingSlashToPagesDataPath as __shouldAddTrailingSlashToPagesDataPath, buildNextDataNotFoundResponse as __buildNextDataNotFoundResponse } from ${JSON.stringify(_pagesDataRoutePath)};
156
338
  import { buildDefaultPagesNotFoundResponse as __buildDefaultPagesNotFoundResponse } from ${JSON.stringify(_pagesDefault404Path)};
157
339
  import { createPagesPageHandler as __createPagesPageHandler } from ${JSON.stringify(_pagesPageHandlerPath)};
340
+ import { getRuntimePagesDataKind as __getRuntimePagesDataKind } from ${JSON.stringify(_pagesRouteDataKindPath)};
158
341
  import { isOnDemandRevalidateRequest as __isOnDemandRevalidateRequest } from ${JSON.stringify(_isrCachePath)};
342
+ ${openTelemetryLoaderCode}
159
343
  ${instrumentationImportCode}
160
- ${middlewareImportCode}
161
344
 
162
345
  ${instrumentationInitCode}
346
+ ${middlewareImportCode}
163
347
 
164
348
  // The outer Node production pipeline runs outside this generated bundle, so
165
349
  // it cannot safely validate against its own development fallback secret. Give
@@ -173,6 +357,9 @@ const i18nConfig = ${i18nConfigJson};
173
357
  // match _next/data requests against the embedded buildId without needing
174
358
  // to load next.config.js at runtime.
175
359
  export const buildId = ${buildIdJson};
360
+ // Per-build capability used by Worker entries to authorize remote path
361
+ // discovery. It is never included in responses or exposed to user modules.
362
+ export const prerenderSecret = ${JSON.stringify(prerenderSecret ?? null)};
176
363
  export function normalizeDataRequest(request) {
177
364
  return __normalizePagesDataRequest(
178
365
  request,
@@ -249,7 +436,7 @@ const _errorPageRoute = {
249
436
  patternParts: ["_error"],
250
437
  isDynamic: false,
251
438
  params: [],
252
- module: ErrorPageModule,
439
+ module: ${instrumentationPath ? "null" : "ErrorPageModule"},
253
440
  filePath: ${errorAssetPathJson},
254
441
  };
255
442
 
@@ -282,6 +469,12 @@ export function matchPageRoute(url, request) {
282
469
  return matchRoute(routeUrl, pageRoutes);
283
470
  }
284
471
 
472
+ export function getRuntimePageDataKind(url, request) {
473
+ const match = matchPageRoute(url, request);
474
+ if (!match) return "none";
475
+ return __getRuntimePagesDataKind(match.route.module, AppComponent);
476
+ }
477
+
285
478
  export function matchApiRoute(url, request) {
286
479
  const routeUrl = i18nConfig && request
287
480
  ? resolvePagesI18nRequest(
@@ -302,7 +495,8 @@ export function matchApiRoute(url, request) {
302
495
  // stays importable in test environments (the root vite.config.ts only
303
496
  // aliases vinext/shims/*, not next/*).
304
497
  __setPagesClientAssets(__pagesClientAssets);
305
- const _renderPage = __createPagesPageHandler({
498
+ function __createRenderPage() {
499
+ return __createPagesPageHandler({
306
500
  pageRoutes,
307
501
  errorPageRoute: _errorPageRoute,
308
502
  matchRoute: (url) => matchRoute(url, pageRoutes),
@@ -393,22 +587,27 @@ const _renderPage = __createPagesPageHandler({
393
587
  },
394
588
  AppComponent,
395
589
  DocumentComponent,
396
- });
590
+ });
591
+ }
592
+ ${instrumentationPath ? "let _renderPage;" : "const _renderPage = __createRenderPage();"}
397
593
 
398
- export async function renderPage(request, url, manifest, ctx, middlewareHeaders, options) {
594
+ export async function renderPage(request, url, manifest, ctx, middlewareHeaders, options, initialResponseHeaders) {
595
+ ${instrumentationPath ? "await __ensureInstrumentation();" : ""}
399
596
  __registerConfiguredCacheAdapters();
400
- if (ctx) return _runWithExecutionContext(ctx, () => _renderPage(request, url, manifest, middlewareHeaders, options));
401
- return _renderPage(request, url, manifest, middlewareHeaders, options);
597
+ if (ctx) return _runWithExecutionContext(ctx, () => _renderPage(request, url, manifest, middlewareHeaders, options, initialResponseHeaders));
598
+ return _renderPage(request, url, manifest, middlewareHeaders, options, initialResponseHeaders);
402
599
  }
403
600
 
404
601
 
405
602
 
406
- export async function handleApiRoute(request, url, ctx, trustedRevalidateOrigin, edgeRuntime = "worker") {
603
+ export async function handleApiRoute(request, url, ctx, trustedRevalidateOrigin, edgeRuntime = "worker", initialResponseHeaders) {
604
+ ${instrumentationPath ? "await __ensureInstrumentation();" : ""}
407
605
  __registerConfiguredCacheAdapters();
408
606
  const match = matchRoute(url, apiRoutes);
409
607
  return __handlePagesApiRoute({
410
608
  ctx,
411
609
  edgeRuntime,
610
+ initialResponseHeaders,
412
611
  match,
413
612
  nextConfig: vinextConfig,
414
613
  request,
@@ -416,10 +615,15 @@ export async function handleApiRoute(request, url, ctx, trustedRevalidateOrigin,
416
615
  url,
417
616
  reportRequestError(error, routePattern) {
418
617
  console.error("[vinext] API error:", error);
419
- void _reportRequestError(
618
+ return _reportRequestError(
420
619
  error,
421
620
  { path: url, method: request.method, headers: Object.fromEntries(request.headers.entries()) },
422
- { routerKind: "Pages Router", routePath: routePattern, routeType: "route" },
621
+ {
622
+ routerKind: "Pages Router",
623
+ routePath: routePattern,
624
+ routeType: "route",
625
+ revalidateReason: undefined,
626
+ },
423
627
  );
424
628
  },
425
629
  });
@@ -429,4 +633,4 @@ ${middlewareExportCode}
429
633
  `;
430
634
  }
431
635
  //#endregion
432
- export { generateServerEntry };
636
+ export { generatePagesRequestEntry, generatePagesResponseEntry, generateServerEntry };
@@ -10,7 +10,7 @@
10
10
  * @param rel - Relative path to the target module (e.g. `"../server/foo.js"`)
11
11
  * @param base - The caller's `import.meta.url`
12
12
  */
13
- declare function resolveEntryPath(rel: string, base: string): string;
13
+ export declare function resolveEntryPath(rel: string, base: string): string;
14
14
  /**
15
15
  * Resolve a real runtime module for a virtual entry generator.
16
16
  *
@@ -19,7 +19,6 @@ declare function resolveEntryPath(rel: string, base: string): string;
19
19
  * common source/build extensions and fall back to the `.js` path that exists in
20
20
  * published packages.
21
21
  */
22
- declare function resolveRuntimeEntryModule(name: string): string;
23
- declare function resolveClientRuntimeModule(name: string): string;
24
- //#endregion
25
- export { resolveClientRuntimeModule, resolveEntryPath, resolveRuntimeEntryModule };
22
+ export declare function resolveRuntimeEntryModule(name: string): string;
23
+ export declare function resolveClientRuntimeModule(name: string): string;
24
+ //#endregion