vinext 1.0.0-beta.9 → 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 (800) hide show
  1. package/README.md +150 -92
  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 +36 -11
  37. package/dist/build/prerender-paths.js +273 -97
  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 +65 -15
  43. package/dist/build/prerender.js +139 -43
  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 +24 -20
  49. package/dist/build/report.js +10 -2
  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 +6 -7
  62. package/dist/cache/cache-adapters-virtual.d.ts +60 -20
  63. package/dist/cache/cache-adapters-virtual.js +50 -7
  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 -442
  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 -10
  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 +2 -4
  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 +4 -5
  102. package/dist/entries/app-browser-entry.js +1 -3
  103. package/dist/entries/app-rsc-entry.d.ts +10 -3
  104. package/dist/entries/app-rsc-entry.js +502 -51
  105. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  106. package/dist/entries/app-rsc-manifest.js +26 -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 +234 -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 +711 -189
  117. package/dist/init-cloudflare.d.ts +26 -17
  118. package/dist/init-cloudflare.js +710 -102
  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 +19 -6
  191. package/dist/routing/app-router.js +24 -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 +87 -34
  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 +8 -4
  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 +6 -2
  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-client-reference-preloader.d.ts +2 -3
  237. package/dist/server/app-elements-wire-key.d.ts +25 -0
  238. package/dist/server/app-elements-wire-key.js +69 -0
  239. package/dist/server/app-elements-wire.d.ts +34 -53
  240. package/dist/server/app-elements-wire.js +4 -75
  241. package/dist/server/app-elements.d.ts +5 -5
  242. package/dist/server/app-elements.js +1 -1
  243. package/dist/server/app-fallback-renderer.d.ts +4 -4
  244. package/dist/server/app-fallback-renderer.js +6 -6
  245. package/dist/server/app-fetch-tracing.d.ts +15 -0
  246. package/dist/server/app-fetch-tracing.js +38 -0
  247. package/dist/server/app-history-state.d.ts +26 -27
  248. package/dist/server/app-history-state.js +19 -11
  249. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  250. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  251. package/dist/server/app-inline-css-client.d.ts +3 -4
  252. package/dist/server/app-interception-context-header.d.ts +2 -3
  253. package/dist/server/app-layout-param-observation.d.ts +7 -8
  254. package/dist/server/app-metadata-tracing.d.ts +12 -0
  255. package/dist/server/app-metadata-tracing.js +17 -0
  256. package/dist/server/app-middleware.d.ts +7 -7
  257. package/dist/server/app-middleware.js +2 -3
  258. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  259. package/dist/server/app-mounted-slots-header.js +2 -2
  260. package/dist/server/app-optimistic-routing.d.ts +10 -11
  261. package/dist/server/app-optimistic-routing.js +3 -2
  262. package/dist/server/app-page-boundary-render.d.ts +6 -6
  263. package/dist/server/app-page-boundary-render.js +10 -4
  264. package/dist/server/app-page-boundary.d.ts +9 -10
  265. package/dist/server/app-page-boundary.js +1 -1
  266. package/dist/server/app-page-cache-finalizer.d.ts +18 -9
  267. package/dist/server/app-page-cache-finalizer.js +51 -16
  268. package/dist/server/app-page-cache-render.d.ts +8 -5
  269. package/dist/server/app-page-cache-render.js +22 -5
  270. package/dist/server/app-page-cache.d.ts +28 -9
  271. package/dist/server/app-page-cache.js +95 -24
  272. package/dist/server/app-page-dispatch.d.ts +34 -12
  273. package/dist/server/app-page-dispatch.js +181 -64
  274. package/dist/server/app-page-element-builder.d.ts +13 -11
  275. package/dist/server/app-page-element-builder.js +104 -61
  276. package/dist/server/app-page-execution.d.ts +14 -14
  277. package/dist/server/app-page-execution.js +11 -7
  278. package/dist/server/app-page-head.d.ts +19 -16
  279. package/dist/server/app-page-head.js +25 -25
  280. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  281. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  282. package/dist/server/app-page-method.d.ts +5 -11
  283. package/dist/server/app-page-method.js +2 -9
  284. package/dist/server/app-page-params.d.ts +5 -6
  285. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  286. package/dist/server/app-page-probe.d.ts +5 -6
  287. package/dist/server/app-page-probe.js +5 -4
  288. package/dist/server/app-page-render-identity.d.ts +4 -5
  289. package/dist/server/app-page-render-observation.d.ts +8 -9
  290. package/dist/server/app-page-render-observation.js +1 -1
  291. package/dist/server/app-page-render.d.ts +41 -6
  292. package/dist/server/app-page-render.js +171 -25
  293. package/dist/server/app-page-request.d.ts +10 -9
  294. package/dist/server/app-page-request.js +16 -12
  295. package/dist/server/app-page-response.d.ts +20 -9
  296. package/dist/server/app-page-response.js +30 -12
  297. package/dist/server/app-page-route-wiring.d.ts +15 -15
  298. package/dist/server/app-page-route-wiring.js +31 -24
  299. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  300. package/dist/server/app-page-search-params-observation.js +42 -6
  301. package/dist/server/app-page-segment-plan.d.ts +2 -3
  302. package/dist/server/app-page-segment-state.d.ts +11 -12
  303. package/dist/server/app-page-stream.d.ts +27 -11
  304. package/dist/server/app-page-stream.js +34 -6
  305. package/dist/server/app-page-tracing.d.ts +33 -0
  306. package/dist/server/app-page-tracing.js +49 -0
  307. package/dist/server/app-pages-bridge.d.ts +6 -6
  308. package/dist/server/app-pages-bridge.js +17 -4
  309. package/dist/server/app-post-middleware-context.d.ts +2 -3
  310. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  311. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  312. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  313. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  314. package/dist/server/app-prerender-endpoints.js +3 -1
  315. package/dist/server/app-prerender-static-params.d.ts +15 -7
  316. package/dist/server/app-prerender-static-params.js +24 -9
  317. package/dist/server/app-render-dependency.d.ts +14 -13
  318. package/dist/server/app-render-dependency.js +5 -1
  319. package/dist/server/app-request-context.d.ts +3 -4
  320. package/dist/server/app-request-stage-context.d.ts +5 -0
  321. package/dist/server/app-request-stage-context.js +11 -0
  322. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  323. package/dist/server/app-request-stage-dispatch.js +54 -0
  324. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  325. package/dist/server/app-request-stage-independent-entry.js +115 -0
  326. package/dist/server/app-response-header-provenance.d.ts +13 -7
  327. package/dist/server/app-response-header-provenance.js +34 -1
  328. package/dist/server/app-response-stage-entry.d.ts +9 -0
  329. package/dist/server/app-response-stage-entry.js +87 -0
  330. package/dist/server/app-route-handler-cache.d.ts +2 -3
  331. package/dist/server/app-route-handler-cache.js +46 -34
  332. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  333. package/dist/server/app-route-handler-dispatch.js +68 -54
  334. package/dist/server/app-route-handler-execution.d.ts +17 -13
  335. package/dist/server/app-route-handler-execution.js +69 -18
  336. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  337. package/dist/server/app-route-handler-middleware-context.js +15 -0
  338. package/dist/server/app-route-handler-policy.d.ts +11 -11
  339. package/dist/server/app-route-handler-response.d.ts +9 -10
  340. package/dist/server/app-route-handler-response.js +2 -0
  341. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  342. package/dist/server/app-route-handler-runtime.js +20 -16
  343. package/dist/server/app-route-module-loader.d.ts +6 -7
  344. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  345. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  346. package/dist/server/app-route-tree-prefetch.js +2 -1
  347. package/dist/server/app-router-entry.d.ts +2 -0
  348. package/dist/server/app-router-entry.js +28 -8
  349. package/dist/server/app-rsc-cache-busting.d.ts +34 -27
  350. package/dist/server/app-rsc-cache-busting.js +14 -2
  351. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  352. package/dist/server/app-rsc-combined-handler.js +11 -0
  353. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  354. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  355. package/dist/server/app-rsc-error-handler.js +15 -6
  356. package/dist/server/app-rsc-errors.d.ts +12 -9
  357. package/dist/server/app-rsc-errors.js +15 -13
  358. package/dist/server/app-rsc-handler.d.ts +31 -6
  359. package/dist/server/app-rsc-handler.js +411 -61
  360. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  361. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  362. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  363. package/dist/server/app-rsc-request-normalization.js +2 -1
  364. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  365. package/dist/server/app-rsc-response-finalizer.js +6 -6
  366. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  367. package/dist/server/app-rsc-response-stage.js +251 -0
  368. package/dist/server/app-rsc-route-matching.d.ts +3 -4
  369. package/dist/server/app-rsc-route-matching.js +3 -2
  370. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  371. package/dist/server/app-rsc-vary.d.ts +16 -0
  372. package/dist/server/app-rsc-vary.js +31 -0
  373. package/dist/server/app-segment-config.d.ts +119 -7
  374. package/dist/server/app-segment-config.js +242 -2
  375. package/dist/server/app-server-action-execution.d.ts +16 -12
  376. package/dist/server/app-server-action-execution.js +86 -33
  377. package/dist/server/app-ssr-entry.d.ts +14 -4
  378. package/dist/server/app-ssr-entry.js +61 -14
  379. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  380. package/dist/server/app-ssr-error-meta.js +2 -1
  381. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  382. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  383. package/dist/server/app-ssr-search-params-gate.js +54 -0
  384. package/dist/server/app-ssr-stream.d.ts +13 -9
  385. package/dist/server/app-ssr-stream.js +33 -7
  386. package/dist/server/app-static-generation.d.ts +4 -5
  387. package/dist/server/app-visited-response-cache.d.ts +11 -12
  388. package/dist/server/app-visited-response-cache.js +2 -2
  389. package/dist/server/app-worker-stages.d.ts +112 -0
  390. package/dist/server/app-worker-stages.js +105 -0
  391. package/dist/server/artifact-compatibility.d.ts +11 -12
  392. package/dist/server/before-interactive-head.d.ts +2 -3
  393. package/dist/server/bfcache-identity.d.ts +7 -8
  394. package/dist/server/cache-control.d.ts +35 -13
  395. package/dist/server/cache-control.js +71 -5
  396. package/dist/server/cache-headers.d.ts +3 -4
  397. package/dist/server/cache-proof.d.ts +75 -70
  398. package/dist/server/cache-proof.js +9 -1
  399. package/dist/server/cacheability-limits.d.ts +4 -5
  400. package/dist/server/cacheability-limits.js +2 -2
  401. package/dist/server/cacheability-manifest.d.ts +42 -16
  402. package/dist/server/cacheability-manifest.js +60 -10
  403. package/dist/server/cacheability-request.d.ts +37 -8
  404. package/dist/server/cacheability-request.js +159 -57
  405. package/dist/server/client-reuse-manifest.d.ts +17 -18
  406. package/dist/server/client-reuse-manifest.js +2 -2
  407. package/dist/server/client-trace-metadata.d.ts +9 -6
  408. package/dist/server/client-trace-metadata.js +27 -15
  409. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  410. package/dist/server/cloudflare-workers-tracing.js +8 -0
  411. package/dist/server/config-headers.d.ts +19 -5
  412. package/dist/server/config-headers.js +25 -11
  413. package/dist/server/cookie-utils.d.ts +2 -3
  414. package/dist/server/csp.d.ts +5 -6
  415. package/dist/server/default-global-error-module.d.ts +2 -3
  416. package/dist/server/default-global-not-found-module.d.ts +2 -3
  417. package/dist/server/default-not-found-module.d.ts +2 -3
  418. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  419. package/dist/server/defer-until-stream-consumed.js +2 -1
  420. package/dist/server/dev-initial-server-error.d.ts +3 -4
  421. package/dist/server/dev-initial-server-error.js +2 -1
  422. package/dist/server/dev-lockfile.d.ts +7 -8
  423. package/dist/server/dev-lockfile.js +4 -1
  424. package/dist/server/dev-module-runner.d.ts +2 -3
  425. package/dist/server/dev-origin-check.d.ts +5 -6
  426. package/dist/server/dev-route-files.d.ts +2 -3
  427. package/dist/server/dev-server.d.ts +4 -5
  428. package/dist/server/dev-server.js +130 -61
  429. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  430. package/dist/server/dev-stack-sourcemap.js +1 -1
  431. package/dist/server/document-initial-head.d.ts +3 -4
  432. package/dist/server/edge-api-runtime.d.ts +4 -5
  433. package/dist/server/fetch-handler.d.ts +3 -2
  434. package/dist/server/fetch-handler.js +3 -18
  435. package/dist/server/file-based-metadata.d.ts +2 -3
  436. package/dist/server/framework-tracer.d.ts +46 -0
  437. package/dist/server/framework-tracer.js +125 -0
  438. package/dist/server/fully-buffered-response.d.ts +11 -0
  439. package/dist/server/fully-buffered-response.js +19 -0
  440. package/dist/server/headers.d.ts +54 -61
  441. package/dist/server/headers.js +18 -31
  442. package/dist/server/html.d.ts +6 -27
  443. package/dist/server/html.js +16 -1
  444. package/dist/server/http-conditional.d.ts +5 -6
  445. package/dist/server/http-date.d.ts +2 -3
  446. package/dist/server/http-error-responses.d.ts +9 -10
  447. package/dist/server/http-range.d.ts +4 -5
  448. package/dist/server/hybrid-route-priority.d.ts +4 -5
  449. package/dist/server/image-optimization.d.ts +20 -21
  450. package/dist/server/implicit-tags.d.ts +3 -4
  451. package/dist/server/instrumentation-runtime.d.ts +17 -21
  452. package/dist/server/instrumentation-runtime.js +26 -8
  453. package/dist/server/instrumentation.d.ts +26 -30
  454. package/dist/server/instrumentation.js +18 -23
  455. package/dist/server/isr-cache.d.ts +28 -27
  456. package/dist/server/isr-cache.js +18 -70
  457. package/dist/server/isr-decision.d.ts +4 -4
  458. package/dist/server/metadata-route-build-data.d.ts +4 -5
  459. package/dist/server/metadata-route-cache-policy.d.ts +2 -3
  460. package/dist/server/metadata-route-response.d.ts +7 -7
  461. package/dist/server/metadata-route-response.js +68 -2
  462. package/dist/server/metadata-routes.d.ts +18 -19
  463. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  464. package/dist/server/middleware-matcher.d.ts +6 -7
  465. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  466. package/dist/server/middleware-path-to-regexp.js +11 -9
  467. package/dist/server/middleware-response-headers.d.ts +3 -4
  468. package/dist/server/middleware-runtime.d.ts +7 -8
  469. package/dist/server/middleware-runtime.js +36 -7
  470. package/dist/server/middleware.d.ts +5 -5
  471. package/dist/server/multi-stage.d.ts +141 -0
  472. package/dist/server/multi-stage.js +8 -0
  473. package/dist/server/navigation-planner.d.ts +26 -26
  474. package/dist/server/navigation-trace.d.ts +11 -12
  475. package/dist/server/next-error-digest.d.ts +4 -5
  476. package/dist/server/normalize-path.d.ts +5 -6
  477. package/dist/server/open-redirect.d.ts +2 -3
  478. package/dist/server/opentelemetry-api.d.ts +59 -0
  479. package/dist/server/opentelemetry-api.js +53 -0
  480. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  481. package/dist/server/opentelemetry-tracing.js +83 -0
  482. package/dist/server/operation-token.d.ts +11 -12
  483. package/dist/server/otel-tracer-extension.d.ts +7 -9
  484. package/dist/server/otel-tracer-extension.js +37 -36
  485. package/dist/server/pages-api-route.d.ts +5 -4
  486. package/dist/server/pages-api-route.js +20 -7
  487. package/dist/server/pages-asset-tags.d.ts +6 -6
  488. package/dist/server/pages-asset-tags.js +37 -2
  489. package/dist/server/pages-body-parser-config.d.ts +4 -5
  490. package/dist/server/pages-body-parser-config.js +4 -4
  491. package/dist/server/pages-client-assets.d.ts +11 -5
  492. package/dist/server/pages-data-route.d.ts +11 -12
  493. package/dist/server/pages-data-route.js +1 -1
  494. package/dist/server/pages-default-404.d.ts +3 -4
  495. package/dist/server/pages-dev-hydration.d.ts +9 -4
  496. package/dist/server/pages-dev-hydration.js +19 -7
  497. package/dist/server/pages-dev-module-url.d.ts +3 -4
  498. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  499. package/dist/server/pages-document-asset-props.d.ts +6 -7
  500. package/dist/server/pages-document-initial-props.d.ts +5 -5
  501. package/dist/server/pages-document-initial-props.js +4 -2
  502. package/dist/server/pages-execution-tracing.d.ts +40 -0
  503. package/dist/server/pages-execution-tracing.js +80 -0
  504. package/dist/server/pages-get-initial-props.d.ts +9 -10
  505. package/dist/server/pages-i18n.d.ts +8 -8
  506. package/dist/server/pages-media-type.d.ts +4 -5
  507. package/dist/server/pages-node-compat.d.ts +11 -10
  508. package/dist/server/pages-node-compat.js +12 -4
  509. package/dist/server/pages-page-data.d.ts +18 -19
  510. package/dist/server/pages-page-data.js +11 -10
  511. package/dist/server/pages-page-handler.d.ts +7 -6
  512. package/dist/server/pages-page-handler.js +77 -39
  513. package/dist/server/pages-page-method.d.ts +2 -3
  514. package/dist/server/pages-page-response.d.ts +14 -10
  515. package/dist/server/pages-page-response.js +49 -31
  516. package/dist/server/pages-preview.d.ts +10 -11
  517. package/dist/server/pages-readiness.d.ts +2 -3
  518. package/dist/server/pages-request-pipeline.d.ts +14 -12
  519. package/dist/server/pages-request-pipeline.js +60 -30
  520. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  521. package/dist/server/pages-request-stage-entry.js +314 -0
  522. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  523. package/dist/server/pages-response-stage-entry.js +106 -0
  524. package/dist/server/pages-response-stage.d.ts +31 -0
  525. package/dist/server/pages-response-stage.js +49 -0
  526. package/dist/server/pages-revalidate.d.ts +3 -4
  527. package/dist/server/pages-revalidate.js +9 -4
  528. package/dist/server/pages-route-data-kind.d.ts +18 -0
  529. package/dist/server/pages-route-data-kind.js +11 -0
  530. package/dist/server/pages-router-entry.d.ts +1 -25
  531. package/dist/server/pages-router-entry.js +35 -148
  532. package/dist/server/pages-serializable-props.d.ts +3 -4
  533. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  534. package/dist/server/pregenerated-concrete-paths.js +12 -6
  535. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  536. package/dist/server/prerender-manifest.d.ts +11 -11
  537. package/dist/server/prerender-manifest.js +6 -3
  538. package/dist/server/prerender-route-params.d.ts +16 -9
  539. package/dist/server/prerender-route-params.js +18 -3
  540. package/dist/server/prerender-work-unit-setup.d.ts +2 -3
  541. package/dist/server/prerender-work-unit-setup.js +5 -5
  542. package/dist/server/prod-server.d.ts +12 -9
  543. package/dist/server/prod-server.js +124 -31
  544. package/dist/server/proxy-trust.d.ts +5 -6
  545. package/dist/server/request-log.d.ts +3 -4
  546. package/dist/server/request-pipeline.d.ts +16 -16
  547. package/dist/server/request-pipeline.js +7 -2
  548. package/dist/server/request-stage.d.ts +5 -0
  549. package/dist/server/request-stage.js +7 -0
  550. package/dist/server/request-tracing.d.ts +22 -0
  551. package/dist/server/request-tracing.js +180 -0
  552. package/dist/server/response-stage-cacheability.d.ts +37 -0
  553. package/dist/server/response-stage-cacheability.js +55 -0
  554. package/dist/server/response-stage-policy.d.ts +23 -0
  555. package/dist/server/response-stage-policy.js +89 -0
  556. package/dist/server/response-stage.d.ts +5 -0
  557. package/dist/server/response-stage.js +7 -0
  558. package/dist/server/response-start-tracing.d.ts +14 -0
  559. package/dist/server/response-start-tracing.js +80 -0
  560. package/dist/server/revalidation-host.d.ts +2 -3
  561. package/dist/server/revalidation-host.js +1 -1
  562. package/dist/server/revalidation-request.d.ts +8 -0
  563. package/dist/server/revalidation-request.js +37 -0
  564. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  565. package/dist/server/rsc-stream-hints.d.ts +18 -7
  566. package/dist/server/rsc-stream-hints.js +70 -35
  567. package/dist/server/seed-cache.d.ts +2 -3
  568. package/dist/server/seed-cache.js +8 -7
  569. package/dist/server/server-action-not-found.d.ts +5 -6
  570. package/dist/server/server-globals.d.ts +2 -3
  571. package/dist/server/skip-cache-proof.d.ts +4 -4
  572. package/dist/server/socket-error-backstop.d.ts +5 -6
  573. package/dist/server/socket-error-backstop.js +1 -1
  574. package/dist/server/static-file-cache.d.ts +5 -6
  575. package/dist/server/static-file-cache.js +9 -7
  576. package/dist/server/static-file-signal.d.ts +9 -6
  577. package/dist/server/static-file-signal.js +51 -2
  578. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  579. package/dist/server/streaming-metadata.d.ts +2 -3
  580. package/dist/server/tracer.d.ts +5 -0
  581. package/dist/server/tracer.js +13 -0
  582. package/dist/server/worker-prerender-discovery.d.ts +5 -6
  583. package/dist/server/worker-revalidation-context.d.ts +2 -3
  584. package/dist/server/worker-revalidation-context.js +5 -5
  585. package/dist/server/worker-stages.d.ts +43 -0
  586. package/dist/server/worker-stages.js +25 -0
  587. package/dist/server/worker-utils.d.ts +5 -6
  588. package/dist/server/worker-utils.js +2 -1
  589. package/dist/server/workers-tracing.d.ts +17 -0
  590. package/dist/server/workers-tracing.js +27 -0
  591. package/dist/shims/amp.d.ts +3 -4
  592. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  593. package/dist/shims/app-router-scroll.d.ts +4 -5
  594. package/dist/shims/app-router-scroll.js +2 -1
  595. package/dist/shims/app.d.ts +5 -6
  596. package/dist/shims/before-interactive-context.d.ts +5 -6
  597. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  598. package/dist/shims/cache-callable-runtime.js +168 -8
  599. package/dist/shims/cache-for-request.d.ts +2 -3
  600. package/dist/shims/cache-handler.d.ts +33 -20
  601. package/dist/shims/cache-handler.js +61 -2
  602. package/dist/shims/cache-request-state.d.ts +28 -29
  603. package/dist/shims/cache-runtime.d.ts +23 -21
  604. package/dist/shims/cache-runtime.js +107 -27
  605. package/dist/shims/cache.d.ts +15 -15
  606. package/dist/shims/cache.js +15 -13
  607. package/dist/shims/cacheability-classification.d.ts +49 -28
  608. package/dist/shims/cacheability-classification.js +27 -12
  609. package/dist/shims/cdn-cache-state.d.ts +13 -0
  610. package/dist/shims/cdn-cache-state.js +23 -0
  611. package/dist/shims/cdn-cache.d.ts +50 -21
  612. package/dist/shims/cdn-cache.js +15 -38
  613. package/dist/shims/client-hook-error.d.ts +3 -4
  614. package/dist/shims/client-locale.d.ts +2 -3
  615. package/dist/shims/client-page-root.d.ts +24 -0
  616. package/dist/shims/client-page-root.js +121 -0
  617. package/dist/shims/compat-router.d.ts +2 -3
  618. package/dist/shims/config.d.ts +3 -4
  619. package/dist/shims/constants.d.ts +73 -74
  620. package/dist/shims/constants.js +1 -1
  621. package/dist/shims/default-not-found.d.ts +2 -3
  622. package/dist/shims/document.d.ts +9 -9
  623. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  624. package/dist/shims/dynamic-preload-chunks.js +17 -13
  625. package/dist/shims/dynamic.d.ts +3 -3
  626. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  627. package/dist/shims/error-boundary.d.ts +17 -18
  628. package/dist/shims/error-boundary.js +17 -11
  629. package/dist/shims/error.d.ts +4 -4
  630. package/dist/shims/error.react-server.d.ts +3 -4
  631. package/dist/shims/fetch-cache.d.ts +22 -22
  632. package/dist/shims/fetch-cache.js +42 -17
  633. package/dist/shims/font-google-base.d.ts +9 -9
  634. package/dist/shims/font-google-base.js +2 -1
  635. package/dist/shims/font-local.d.ts +3 -3
  636. package/dist/shims/font-local.js +1 -1
  637. package/dist/shims/font-utils.d.ts +14 -15
  638. package/dist/shims/form.d.ts +2 -2
  639. package/dist/shims/form.js +10 -7
  640. package/dist/shims/hash-scroll.d.ts +5 -6
  641. package/dist/shims/head-state.d.ts +4 -5
  642. package/dist/shims/head.d.ts +16 -16
  643. package/dist/shims/head.js +5 -4
  644. package/dist/shims/headers.d.ts +67 -33
  645. package/dist/shims/headers.js +93 -6
  646. package/dist/shims/i18n-context.d.ts +5 -6
  647. package/dist/shims/i18n-state.d.ts +4 -5
  648. package/dist/shims/image-config.d.ts +5 -6
  649. package/dist/shims/image-config.js +2 -0
  650. package/dist/shims/image.d.ts +5 -5
  651. package/dist/shims/image.js +12 -8
  652. package/dist/shims/internal/als-registry.d.ts +4 -5
  653. package/dist/shims/internal/api-utils.d.ts +3 -4
  654. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  655. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  656. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  657. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
  658. package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
  659. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  660. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
  661. package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
  662. package/dist/shims/internal/app-router-context.d.ts +9 -10
  663. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  664. package/dist/shims/internal/format-url-object.d.ts +7 -0
  665. package/dist/shims/internal/format-url-object.js +53 -0
  666. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  667. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  668. package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
  669. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  670. package/dist/shims/internal/interpolate-as.js +4 -2
  671. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  672. package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
  673. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  674. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  675. package/dist/shims/internal/normalize-router-href.js +41 -0
  676. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  677. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  678. package/dist/shims/internal/pages-data-target.js +32 -36
  679. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  680. package/dist/shims/internal/pages-data-url.js +2 -1
  681. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  682. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  683. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  684. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  685. package/dist/shims/internal/router-context.d.ts +2 -3
  686. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  687. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  688. package/dist/shims/internal/utils.d.ts +7 -8
  689. package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
  690. package/dist/shims/layout-segment-context.d.ts +3 -4
  691. package/dist/shims/link-prefetch.d.ts +9 -10
  692. package/dist/shims/link.d.ts +4 -4
  693. package/dist/shims/link.js +56 -116
  694. package/dist/shims/metadata.d.ts +15 -16
  695. package/dist/shims/metadata.js +40 -36
  696. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  697. package/dist/shims/navigation-context-accessors.js +19 -0
  698. package/dist/shims/navigation-context-state.d.ts +27 -18
  699. package/dist/shims/navigation-errors.d.ts +18 -19
  700. package/dist/shims/navigation-state.d.ts +6 -7
  701. package/dist/shims/navigation.d.ts +80 -68
  702. package/dist/shims/navigation.js +24 -16
  703. package/dist/shims/navigation.react-server.d.ts +9 -9
  704. package/dist/shims/offline.d.ts +2 -3
  705. package/dist/shims/og.d.ts +2 -2
  706. package/dist/shims/pages-router-runtime.d.ts +4 -5
  707. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  708. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  709. package/dist/shims/request-context.d.ts +5 -6
  710. package/dist/shims/root-params.d.ts +14 -15
  711. package/dist/shims/router-state.d.ts +5 -6
  712. package/dist/shims/router-state.js +1 -1
  713. package/dist/shims/router.d.ts +22 -21
  714. package/dist/shims/router.js +339 -164
  715. package/dist/shims/script-nonce-context.d.ts +8 -6
  716. package/dist/shims/script-nonce-context.js +15 -6
  717. package/dist/shims/script.d.ts +4 -4
  718. package/dist/shims/script.js +9 -7
  719. package/dist/shims/search-params-gate.d.ts +35 -0
  720. package/dist/shims/search-params-gate.js +32 -0
  721. package/dist/shims/server.d.ts +19 -51
  722. package/dist/shims/server.js +14 -28
  723. package/dist/shims/slot.d.ts +33 -15
  724. package/dist/shims/slot.js +41 -9
  725. package/dist/shims/streamed-icons.d.ts +3 -4
  726. package/dist/shims/thenable-params.d.ts +5 -7
  727. package/dist/shims/thenable-params.js +3 -24
  728. package/dist/shims/unified-request-context.d.ts +34 -31
  729. package/dist/shims/unified-request-context.js +34 -24
  730. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  731. package/dist/shims/url-safety.d.ts +5 -6
  732. package/dist/shims/url-utils.d.ts +12 -13
  733. package/dist/shims/use-merged-ref.d.ts +2 -3
  734. package/dist/shims/user-agent.d.ts +31 -0
  735. package/dist/shims/user-agent.js +16 -0
  736. package/dist/shims/web-vitals.d.ts +2 -2
  737. package/dist/typegen.d.ts +3 -4
  738. package/dist/utils/asset-prefix.d.ts +7 -8
  739. package/dist/utils/base-path.d.ts +5 -6
  740. package/dist/utils/built-asset-url.d.ts +2 -3
  741. package/dist/utils/built-asset-url.js +1 -1
  742. package/dist/utils/cache-control-metadata.d.ts +4 -5
  743. package/dist/utils/client-build-manifest.d.ts +6 -7
  744. package/dist/utils/client-build-manifest.js +2 -1
  745. package/dist/utils/client-entry-manifest.d.ts +6 -7
  746. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  747. package/dist/utils/client-runtime-metadata.js +18 -1
  748. package/dist/utils/commonjs-loader.d.ts +4 -5
  749. package/dist/utils/compare.d.ts +2 -3
  750. package/dist/utils/deployment-id.d.ts +6 -7
  751. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  752. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  753. package/dist/utils/domain-locale.d.ts +7 -8
  754. package/dist/utils/encode-cache-tag.d.ts +3 -4
  755. package/dist/utils/error-cause.d.ts +2 -3
  756. package/dist/utils/external-url.d.ts +2 -3
  757. package/dist/utils/has-trailing-comma.d.ts +3 -4
  758. package/dist/utils/hash.d.ts +3 -4
  759. package/dist/utils/html-limited-bots.d.ts +3 -4
  760. package/dist/utils/lazy-chunks.d.ts +8 -9
  761. package/dist/utils/lazy-chunks.js +4 -4
  762. package/dist/utils/manifest-paths.d.ts +5 -6
  763. package/dist/utils/mdx-scan.d.ts +11 -4
  764. package/dist/utils/mdx-scan.js +27 -1
  765. package/dist/utils/middleware-request-headers.d.ts +7 -6
  766. package/dist/utils/middleware-request-headers.js +6 -1
  767. package/dist/utils/navigation-signal.d.ts +3 -3
  768. package/dist/utils/navigation-signal.js +16 -1
  769. package/dist/utils/number.d.ts +2 -3
  770. package/dist/utils/package-name.d.ts +3 -4
  771. package/dist/utils/parse-cookie.d.ts +4 -5
  772. package/dist/utils/path.d.ts +8 -9
  773. package/dist/utils/plugin-options.d.ts +2 -3
  774. package/dist/utils/precompressed-variant.d.ts +3 -4
  775. package/dist/utils/prerender-output-paths.d.ts +4 -5
  776. package/dist/utils/project.d.ts +19 -30
  777. package/dist/utils/project.js +20 -29
  778. package/dist/utils/promise.d.ts +2 -3
  779. package/dist/utils/protocol-headers.d.ts +14 -15
  780. package/dist/utils/public-file-path.d.ts +2 -3
  781. package/dist/utils/public-routes.d.ts +2 -3
  782. package/dist/utils/query.d.ts +14 -9
  783. package/dist/utils/query.js +22 -1
  784. package/dist/utils/react-compiler-support.d.ts +6 -7
  785. package/dist/utils/react-version.d.ts +4 -3
  786. package/dist/utils/react-version.js +19 -1
  787. package/dist/utils/record.d.ts +2 -3
  788. package/dist/utils/redirect-digest.d.ts +3 -4
  789. package/dist/utils/regex-safety.d.ts +4 -5
  790. package/dist/utils/regex.d.ts +2 -3
  791. package/dist/utils/safe-json-file.d.ts +2 -3
  792. package/dist/utils/sorted-array.d.ts +2 -3
  793. package/dist/utils/text-stream.d.ts +3 -4
  794. package/dist/utils/vinext-root.d.ts +2 -3
  795. package/dist/utils/virtual-module.d.ts +3 -4
  796. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  797. package/dist/utils/vite-cli-invocation.js +144 -0
  798. package/dist/utils/vite-version.d.ts +5 -6
  799. package/next-package.json +4 -0
  800. package/package.json +47 -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,22 +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)} }`);
299
315
  if (!route.pagePath && route.routePath) appendStaticParamSource(sourcesByPattern, route.pattern, `{ load: ${imports.getLazyLoaderVar(route.routePath)} }`);
300
316
  }
301
- return Array.from(sourcesByPattern.entries()).map(([pattern, sources]) => {
317
+ const entry = (key, pattern, sources) => {
302
318
  const rootParamNames = namesByPattern.get(pattern) ?? [];
303
- return ` ${JSON.stringify(pattern)}: __createAppPrerenderStaticParamsResolver([${sources.join(", ")}], ${JSON.stringify(rootParamNames)}),`;
304
- });
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))];
305
322
  }
306
323
  function buildRootParamNameEntries(namesByPattern) {
307
324
  return Array.from(namesByPattern.entries()).map(([pattern, names]) => ` ${JSON.stringify(pattern)}: ${JSON.stringify(names)},`);
308
325
  }
309
326
  function buildAppRscManifestCode(options) {
310
- const imports = createImportAllocator();
327
+ const imports = createImportAllocator(options.deferEagerImports === true);
311
328
  const metadataRoutes = options.metadataRoutes ?? [];
312
329
  registerRouteModules(options.routes, imports);
313
330
  const routeEntries = buildRouteEntries(options.routes, imports);
@@ -326,6 +343,7 @@ function buildAppRscManifestCode(options) {
326
343
  const namesByPattern = buildRootParamNamesByPattern(options.routes);
327
344
  return {
328
345
  imports: imports.imports,
346
+ importInitializers: imports.importInitializers,
329
347
  routeEntries,
330
348
  metaRouteEntries: createMetadataRouteEntriesSource(metadataRoutes, imports.importMap),
331
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[], prerenderSecret?: 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 = [], prerenderSecret) {
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
@@ -252,7 +436,7 @@ const _errorPageRoute = {
252
436
  patternParts: ["_error"],
253
437
  isDynamic: false,
254
438
  params: [],
255
- module: ErrorPageModule,
439
+ module: ${instrumentationPath ? "null" : "ErrorPageModule"},
256
440
  filePath: ${errorAssetPathJson},
257
441
  };
258
442
 
@@ -285,6 +469,12 @@ export function matchPageRoute(url, request) {
285
469
  return matchRoute(routeUrl, pageRoutes);
286
470
  }
287
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
+
288
478
  export function matchApiRoute(url, request) {
289
479
  const routeUrl = i18nConfig && request
290
480
  ? resolvePagesI18nRequest(
@@ -305,7 +495,8 @@ export function matchApiRoute(url, request) {
305
495
  // stays importable in test environments (the root vite.config.ts only
306
496
  // aliases vinext/shims/*, not next/*).
307
497
  __setPagesClientAssets(__pagesClientAssets);
308
- const _renderPage = __createPagesPageHandler({
498
+ function __createRenderPage() {
499
+ return __createPagesPageHandler({
309
500
  pageRoutes,
310
501
  errorPageRoute: _errorPageRoute,
311
502
  matchRoute: (url) => matchRoute(url, pageRoutes),
@@ -396,22 +587,27 @@ const _renderPage = __createPagesPageHandler({
396
587
  },
397
588
  AppComponent,
398
589
  DocumentComponent,
399
- });
590
+ });
591
+ }
592
+ ${instrumentationPath ? "let _renderPage;" : "const _renderPage = __createRenderPage();"}
400
593
 
401
- 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();" : ""}
402
596
  __registerConfiguredCacheAdapters();
403
- if (ctx) return _runWithExecutionContext(ctx, () => _renderPage(request, url, manifest, middlewareHeaders, options));
404
- 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);
405
599
  }
406
600
 
407
601
 
408
602
 
409
- 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();" : ""}
410
605
  __registerConfiguredCacheAdapters();
411
606
  const match = matchRoute(url, apiRoutes);
412
607
  return __handlePagesApiRoute({
413
608
  ctx,
414
609
  edgeRuntime,
610
+ initialResponseHeaders,
415
611
  match,
416
612
  nextConfig: vinextConfig,
417
613
  request,
@@ -419,10 +615,15 @@ export async function handleApiRoute(request, url, ctx, trustedRevalidateOrigin,
419
615
  url,
420
616
  reportRequestError(error, routePattern) {
421
617
  console.error("[vinext] API error:", error);
422
- void _reportRequestError(
618
+ return _reportRequestError(
423
619
  error,
424
620
  { path: url, method: request.method, headers: Object.fromEntries(request.headers.entries()) },
425
- { routerKind: "Pages Router", routePath: routePattern, routeType: "route" },
621
+ {
622
+ routerKind: "Pages Router",
623
+ routePath: routePattern,
624
+ routeType: "route",
625
+ revalidateReason: undefined,
626
+ },
426
627
  );
427
628
  },
428
629
  });
@@ -432,4 +633,4 @@ ${middlewareExportCode}
432
633
  `;
433
634
  }
434
635
  //#endregion
435
- 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