@qzsy/vinext 0.1.7

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 (803) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +773 -0
  3. package/dist/build/assets-ignore.d.ts +32 -0
  4. package/dist/build/assets-ignore.js +48 -0
  5. package/dist/build/clean-output.d.ts +13 -0
  6. package/dist/build/clean-output.js +34 -0
  7. package/dist/build/client-build-config.d.ts +171 -0
  8. package/dist/build/client-build-config.js +270 -0
  9. package/dist/build/css-url-assets.d.ts +29 -0
  10. package/dist/build/css-url-assets.js +213 -0
  11. package/dist/build/google-fonts/build-url.d.ts +9 -0
  12. package/dist/build/google-fonts/build-url.js +28 -0
  13. package/dist/build/google-fonts/fallback-metrics-data.js +14029 -0
  14. package/dist/build/google-fonts/fallback-metrics.d.ts +12 -0
  15. package/dist/build/google-fonts/fallback-metrics.js +44 -0
  16. package/dist/build/google-fonts/find-font-files-in-css.d.ts +16 -0
  17. package/dist/build/google-fonts/find-font-files-in-css.js +28 -0
  18. package/dist/build/google-fonts/font-data.js +24983 -0
  19. package/dist/build/google-fonts/font-metadata.d.ts +16 -0
  20. package/dist/build/google-fonts/font-metadata.js +5 -0
  21. package/dist/build/google-fonts/get-axes.d.ts +6 -0
  22. package/dist/build/google-fonts/get-axes.js +37 -0
  23. package/dist/build/google-fonts/sort-variants.d.ts +4 -0
  24. package/dist/build/google-fonts/sort-variants.js +12 -0
  25. package/dist/build/google-fonts/validate.d.ts +27 -0
  26. package/dist/build/google-fonts/validate.js +54 -0
  27. package/dist/build/inline-css.d.ts +6 -0
  28. package/dist/build/inline-css.js +48 -0
  29. package/dist/build/layout-classification-types.d.ts +61 -0
  30. package/dist/build/layout-classification-types.js +1 -0
  31. package/dist/build/layout-classification.d.ts +59 -0
  32. package/dist/build/layout-classification.js +98 -0
  33. package/dist/build/next-client-runtime-manifests.d.ts +14 -0
  34. package/dist/build/next-client-runtime-manifests.js +39 -0
  35. package/dist/build/nitro-route-rules.d.ts +49 -0
  36. package/dist/build/nitro-route-rules.js +79 -0
  37. package/dist/build/precompress.d.ts +27 -0
  38. package/dist/build/precompress.js +110 -0
  39. package/dist/build/prerender.d.ts +209 -0
  40. package/dist/build/prerender.js +932 -0
  41. package/dist/build/report.d.ts +132 -0
  42. package/dist/build/report.js +504 -0
  43. package/dist/build/route-classification-injector.d.ts +34 -0
  44. package/dist/build/route-classification-injector.js +59 -0
  45. package/dist/build/route-classification-manifest.d.ts +52 -0
  46. package/dist/build/route-classification-manifest.js +143 -0
  47. package/dist/build/run-prerender.d.ts +61 -0
  48. package/dist/build/run-prerender.js +224 -0
  49. package/dist/build/server-manifest.d.ts +18 -0
  50. package/dist/build/server-manifest.js +22 -0
  51. package/dist/build/ssr-manifest.d.ts +18 -0
  52. package/dist/build/ssr-manifest.js +69 -0
  53. package/dist/build/standalone.d.ts +31 -0
  54. package/dist/build/standalone.js +203 -0
  55. package/dist/build/static-export.d.ts +55 -0
  56. package/dist/build/static-export.js +60 -0
  57. package/dist/cache/cache-adapters-virtual.d.ts +50 -0
  58. package/dist/cache/cache-adapters-virtual.js +45 -0
  59. package/dist/cache.d.ts +2 -0
  60. package/dist/cache.js +2 -0
  61. package/dist/check.d.ts +87 -0
  62. package/dist/check.js +1037 -0
  63. package/dist/cli-args.d.ts +33 -0
  64. package/dist/cli-args.js +124 -0
  65. package/dist/cli.d.ts +1 -0
  66. package/dist/cli.js +744 -0
  67. package/dist/client/app-nav-failure-handler.d.ts +8 -0
  68. package/dist/client/app-nav-failure-handler.js +44 -0
  69. package/dist/client/empty-module.d.ts +1 -0
  70. package/dist/client/empty-module.js +1 -0
  71. package/dist/client/instrumentation-client-inject.d.ts +33 -0
  72. package/dist/client/instrumentation-client-inject.js +55 -0
  73. package/dist/client/instrumentation-client-state.d.ts +9 -0
  74. package/dist/client/instrumentation-client-state.js +17 -0
  75. package/dist/client/instrumentation-client.d.ts +7 -0
  76. package/dist/client/instrumentation-client.js +6 -0
  77. package/dist/client/navigation-runtime.d.ts +70 -0
  78. package/dist/client/navigation-runtime.js +169 -0
  79. package/dist/client/pages-router-link-navigation.d.ts +61 -0
  80. package/dist/client/pages-router-link-navigation.js +42 -0
  81. package/dist/client/validate-module-path.d.ts +17 -0
  82. package/dist/client/validate-module-path.js +24 -0
  83. package/dist/client/vinext-next-data.d.ts +44 -0
  84. package/dist/client/vinext-next-data.js +50 -0
  85. package/dist/client/window-next.d.ts +168 -0
  86. package/dist/client/window-next.js +57 -0
  87. package/dist/cloudflare/index.d.ts +3 -0
  88. package/dist/cloudflare/index.js +3 -0
  89. package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +102 -0
  90. package/dist/cloudflare/src/cache/kv-data-adapter.runtime.d.ts +126 -0
  91. package/dist/cloudflare/src/cache/kv-data-adapter.runtime.js +435 -0
  92. package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
  93. package/dist/cloudflare/tpr.d.ts +82 -0
  94. package/dist/cloudflare/tpr.js +558 -0
  95. package/dist/config/config-matchers.d.ts +257 -0
  96. package/dist/config/config-matchers.js +1046 -0
  97. package/dist/config/dotenv.d.ts +56 -0
  98. package/dist/config/dotenv.js +88 -0
  99. package/dist/config/next-config.d.ts +540 -0
  100. package/dist/config/next-config.js +1050 -0
  101. package/dist/config/tsconfig-paths.d.ts +21 -0
  102. package/dist/config/tsconfig-paths.js +157 -0
  103. package/dist/deploy.d.ts +190 -0
  104. package/dist/deploy.js +1033 -0
  105. package/dist/entries/app-browser-entry.d.ts +29 -0
  106. package/dist/entries/app-browser-entry.js +83 -0
  107. package/dist/entries/app-rsc-entry.d.ts +81 -0
  108. package/dist/entries/app-rsc-entry.js +943 -0
  109. package/dist/entries/app-rsc-manifest.d.ts +53 -0
  110. package/dist/entries/app-rsc-manifest.js +294 -0
  111. package/dist/entries/app-ssr-entry.d.ts +15 -0
  112. package/dist/entries/app-ssr-entry.js +24 -0
  113. package/dist/entries/pages-client-entry.d.ts +11 -0
  114. package/dist/entries/pages-client-entry.js +204 -0
  115. package/dist/entries/pages-entry-helpers.d.ts +2 -0
  116. package/dist/entries/pages-entry-helpers.js +2 -0
  117. package/dist/entries/pages-server-entry.d.ts +11 -0
  118. package/dist/entries/pages-server-entry.js +398 -0
  119. package/dist/entries/runtime-entry-module.d.ts +25 -0
  120. package/dist/entries/runtime-entry-module.js +46 -0
  121. package/dist/index.d.ts +115 -0
  122. package/dist/index.js +2661 -0
  123. package/dist/init.d.ts +69 -0
  124. package/dist/init.js +253 -0
  125. package/dist/plugins/ast-utils.d.ts +20 -0
  126. package/dist/plugins/ast-utils.js +78 -0
  127. package/dist/plugins/async-hooks-stub.d.ts +18 -0
  128. package/dist/plugins/async-hooks-stub.js +40 -0
  129. package/dist/plugins/client-reference-dedup.d.ts +35 -0
  130. package/dist/plugins/client-reference-dedup.js +189 -0
  131. package/dist/plugins/css-data-url.d.ts +6 -0
  132. package/dist/plugins/css-data-url.js +83 -0
  133. package/dist/plugins/dynamic-preload-metadata.d.ts +13 -0
  134. package/dist/plugins/dynamic-preload-metadata.js +413 -0
  135. package/dist/plugins/extensionless-dynamic-import.d.ts +6 -0
  136. package/dist/plugins/extensionless-dynamic-import.js +155 -0
  137. package/dist/plugins/fonts.d.ts +95 -0
  138. package/dist/plugins/fonts.js +711 -0
  139. package/dist/plugins/import-meta-url.d.ts +16 -0
  140. package/dist/plugins/import-meta-url.js +353 -0
  141. package/dist/plugins/instrumentation-client.d.ts +6 -0
  142. package/dist/plugins/instrumentation-client.js +27 -0
  143. package/dist/plugins/middleware-export-validation.d.ts +5 -0
  144. package/dist/plugins/middleware-export-validation.js +36 -0
  145. package/dist/plugins/middleware-server-only.d.ts +53 -0
  146. package/dist/plugins/middleware-server-only.js +90 -0
  147. package/dist/plugins/og-asset-ownership.d.ts +27 -0
  148. package/dist/plugins/og-asset-ownership.js +285 -0
  149. package/dist/plugins/og-assets.d.ts +50 -0
  150. package/dist/plugins/og-assets.js +229 -0
  151. package/dist/plugins/optimize-imports.d.ts +42 -0
  152. package/dist/plugins/optimize-imports.js +587 -0
  153. package/dist/plugins/postcss.d.ts +26 -0
  154. package/dist/plugins/postcss.js +96 -0
  155. package/dist/plugins/remove-console.d.ts +21 -0
  156. package/dist/plugins/remove-console.js +177 -0
  157. package/dist/plugins/require-context.d.ts +6 -0
  158. package/dist/plugins/require-context.js +185 -0
  159. package/dist/plugins/rsc-client-reference-loaders.d.ts +6 -0
  160. package/dist/plugins/rsc-client-reference-loaders.js +46 -0
  161. package/dist/plugins/rsc-client-shim-excludes.d.ts +6 -0
  162. package/dist/plugins/rsc-client-shim-excludes.js +35 -0
  163. package/dist/plugins/sass.d.ts +62 -0
  164. package/dist/plugins/sass.js +268 -0
  165. package/dist/plugins/server-externals-manifest.d.ts +26 -0
  166. package/dist/plugins/server-externals-manifest.js +81 -0
  167. package/dist/plugins/strip-server-exports.d.ts +21 -0
  168. package/dist/plugins/strip-server-exports.js +519 -0
  169. package/dist/plugins/typeof-window.d.ts +14 -0
  170. package/dist/plugins/typeof-window.js +150 -0
  171. package/dist/plugins/wasm-module-import.d.ts +15 -0
  172. package/dist/plugins/wasm-module-import.js +50 -0
  173. package/dist/routing/app-route-graph.d.ts +336 -0
  174. package/dist/routing/app-route-graph.js +1518 -0
  175. package/dist/routing/app-router.d.ts +30 -0
  176. package/dist/routing/app-router.js +59 -0
  177. package/dist/routing/file-matcher.d.ts +60 -0
  178. package/dist/routing/file-matcher.js +147 -0
  179. package/dist/routing/pages-router.d.ts +48 -0
  180. package/dist/routing/pages-router.js +163 -0
  181. package/dist/routing/route-matching.d.ts +27 -0
  182. package/dist/routing/route-matching.js +42 -0
  183. package/dist/routing/route-pattern.d.ts +64 -0
  184. package/dist/routing/route-pattern.js +165 -0
  185. package/dist/routing/route-trie.d.ts +67 -0
  186. package/dist/routing/route-trie.js +143 -0
  187. package/dist/routing/route-validation.d.ts +10 -0
  188. package/dist/routing/route-validation.js +101 -0
  189. package/dist/routing/utils.d.ts +117 -0
  190. package/dist/routing/utils.js +242 -0
  191. package/dist/server/accept-encoding.d.ts +29 -0
  192. package/dist/server/accept-encoding.js +95 -0
  193. package/dist/server/api-handler.d.ts +17 -0
  194. package/dist/server/api-handler.js +276 -0
  195. package/dist/server/app-action-request.d.ts +4 -0
  196. package/dist/server/app-action-request.js +9 -0
  197. package/dist/server/app-bfcache-id.d.ts +5 -0
  198. package/dist/server/app-bfcache-id.js +5 -0
  199. package/dist/server/app-bfcache-identity.d.ts +36 -0
  200. package/dist/server/app-bfcache-identity.js +156 -0
  201. package/dist/server/app-browser-action-result.d.ts +64 -0
  202. package/dist/server/app-browser-action-result.js +111 -0
  203. package/dist/server/app-browser-client-reuse-manifest.d.ts +12 -0
  204. package/dist/server/app-browser-client-reuse-manifest.js +101 -0
  205. package/dist/server/app-browser-entry.d.ts +1 -0
  206. package/dist/server/app-browser-entry.js +1087 -0
  207. package/dist/server/app-browser-error.d.ts +13 -0
  208. package/dist/server/app-browser-error.js +52 -0
  209. package/dist/server/app-browser-history-controller.d.ts +104 -0
  210. package/dist/server/app-browser-history-controller.js +210 -0
  211. package/dist/server/app-browser-hydration.d.ts +32 -0
  212. package/dist/server/app-browser-hydration.js +29 -0
  213. package/dist/server/app-browser-interception-context.d.ts +24 -0
  214. package/dist/server/app-browser-interception-context.js +43 -0
  215. package/dist/server/app-browser-mpa-navigation.d.ts +16 -0
  216. package/dist/server/app-browser-mpa-navigation.js +42 -0
  217. package/dist/server/app-browser-navigation-controller.d.ts +109 -0
  218. package/dist/server/app-browser-navigation-controller.js +465 -0
  219. package/dist/server/app-browser-popstate.d.ts +26 -0
  220. package/dist/server/app-browser-popstate.js +44 -0
  221. package/dist/server/app-browser-rsc-redirect.d.ts +38 -0
  222. package/dist/server/app-browser-rsc-redirect.js +64 -0
  223. package/dist/server/app-browser-server-action-client.d.ts +32 -0
  224. package/dist/server/app-browser-server-action-client.js +128 -0
  225. package/dist/server/app-browser-server-action-navigation.d.ts +6 -0
  226. package/dist/server/app-browser-server-action-navigation.js +9 -0
  227. package/dist/server/app-browser-state.d.ts +140 -0
  228. package/dist/server/app-browser-state.js +315 -0
  229. package/dist/server/app-browser-stream.d.ts +28 -0
  230. package/dist/server/app-browser-stream.js +122 -0
  231. package/dist/server/app-browser-visible-commit.d.ts +78 -0
  232. package/dist/server/app-browser-visible-commit.js +241 -0
  233. package/dist/server/app-client-reference-preloader.d.ts +14 -0
  234. package/dist/server/app-client-reference-preloader.js +44 -0
  235. package/dist/server/app-elements-wire.d.ts +192 -0
  236. package/dist/server/app-elements-wire.js +443 -0
  237. package/dist/server/app-elements.d.ts +9 -0
  238. package/dist/server/app-elements.js +18 -0
  239. package/dist/server/app-fallback-renderer.d.ts +89 -0
  240. package/dist/server/app-fallback-renderer.js +136 -0
  241. package/dist/server/app-history-state.d.ts +85 -0
  242. package/dist/server/app-history-state.js +223 -0
  243. package/dist/server/app-hook-warning-suppression.d.ts +6 -0
  244. package/dist/server/app-hook-warning-suppression.js +10 -0
  245. package/dist/server/app-inline-css-client.d.ts +6 -0
  246. package/dist/server/app-inline-css-client.js +35 -0
  247. package/dist/server/app-interception-context-header.d.ts +32 -0
  248. package/dist/server/app-interception-context-header.js +42 -0
  249. package/dist/server/app-layout-param-observation.d.ts +43 -0
  250. package/dist/server/app-layout-param-observation.js +168 -0
  251. package/dist/server/app-middleware.d.ts +46 -0
  252. package/dist/server/app-middleware.js +168 -0
  253. package/dist/server/app-mounted-slots-header.d.ts +35 -0
  254. package/dist/server/app-mounted-slots-header.js +58 -0
  255. package/dist/server/app-optimistic-routing.d.ts +53 -0
  256. package/dist/server/app-optimistic-routing.js +227 -0
  257. package/dist/server/app-page-boundary-render.d.ts +85 -0
  258. package/dist/server/app-page-boundary-render.js +305 -0
  259. package/dist/server/app-page-boundary.d.ts +102 -0
  260. package/dist/server/app-page-boundary.js +120 -0
  261. package/dist/server/app-page-cache-finalizer.d.ts +62 -0
  262. package/dist/server/app-page-cache-finalizer.js +122 -0
  263. package/dist/server/app-page-cache-render.d.ts +53 -0
  264. package/dist/server/app-page-cache-render.js +91 -0
  265. package/dist/server/app-page-cache.d.ts +83 -0
  266. package/dist/server/app-page-cache.js +272 -0
  267. package/dist/server/app-page-dispatch.d.ts +223 -0
  268. package/dist/server/app-page-dispatch.js +610 -0
  269. package/dist/server/app-page-element-builder.d.ts +96 -0
  270. package/dist/server/app-page-element-builder.js +205 -0
  271. package/dist/server/app-page-execution.d.ts +138 -0
  272. package/dist/server/app-page-execution.js +328 -0
  273. package/dist/server/app-page-head.d.ts +65 -0
  274. package/dist/server/app-page-head.js +228 -0
  275. package/dist/server/app-page-method.d.ts +15 -0
  276. package/dist/server/app-page-method.js +25 -0
  277. package/dist/server/app-page-params.d.ts +8 -0
  278. package/dist/server/app-page-params.js +39 -0
  279. package/dist/server/app-page-ppr-runtime.d.ts +7 -0
  280. package/dist/server/app-page-ppr-runtime.js +70 -0
  281. package/dist/server/app-page-probe.d.ts +134 -0
  282. package/dist/server/app-page-probe.js +276 -0
  283. package/dist/server/app-page-render-identity.d.ts +21 -0
  284. package/dist/server/app-page-render-identity.js +40 -0
  285. package/dist/server/app-page-render-observation.d.ts +36 -0
  286. package/dist/server/app-page-render-observation.js +82 -0
  287. package/dist/server/app-page-render.d.ts +111 -0
  288. package/dist/server/app-page-render.js +602 -0
  289. package/dist/server/app-page-request.d.ts +137 -0
  290. package/dist/server/app-page-request.js +216 -0
  291. package/dist/server/app-page-response.d.ts +68 -0
  292. package/dist/server/app-page-response.js +120 -0
  293. package/dist/server/app-page-route-wiring.d.ts +151 -0
  294. package/dist/server/app-page-route-wiring.js +452 -0
  295. package/dist/server/app-page-search-params-observation.d.ts +10 -0
  296. package/dist/server/app-page-search-params-observation.js +20 -0
  297. package/dist/server/app-page-segment-state.d.ts +9 -0
  298. package/dist/server/app-page-segment-state.js +80 -0
  299. package/dist/server/app-page-stream.d.ts +151 -0
  300. package/dist/server/app-page-stream.js +143 -0
  301. package/dist/server/app-pages-bridge.d.ts +63 -0
  302. package/dist/server/app-pages-bridge.js +63 -0
  303. package/dist/server/app-post-middleware-context.d.ts +15 -0
  304. package/dist/server/app-post-middleware-context.js +26 -0
  305. package/dist/server/app-ppr-fallback-shell-render.d.ts +18 -0
  306. package/dist/server/app-ppr-fallback-shell-render.js +26 -0
  307. package/dist/server/app-ppr-fallback-shell.d.ts +33 -0
  308. package/dist/server/app-ppr-fallback-shell.js +89 -0
  309. package/dist/server/app-prerender-endpoints.d.ts +18 -0
  310. package/dist/server/app-prerender-endpoints.js +94 -0
  311. package/dist/server/app-prerender-static-params.d.ts +30 -0
  312. package/dist/server/app-prerender-static-params.js +81 -0
  313. package/dist/server/app-render-dependency.d.ts +14 -0
  314. package/dist/server/app-render-dependency.js +41 -0
  315. package/dist/server/app-request-context.d.ts +20 -0
  316. package/dist/server/app-request-context.js +29 -0
  317. package/dist/server/app-route-handler-cache.d.ts +46 -0
  318. package/dist/server/app-route-handler-cache.js +78 -0
  319. package/dist/server/app-route-handler-dispatch.d.ts +49 -0
  320. package/dist/server/app-route-handler-dispatch.js +163 -0
  321. package/dist/server/app-route-handler-execution.d.ts +86 -0
  322. package/dist/server/app-route-handler-execution.js +128 -0
  323. package/dist/server/app-route-handler-policy.d.ts +55 -0
  324. package/dist/server/app-route-handler-policy.js +58 -0
  325. package/dist/server/app-route-handler-response.d.ts +28 -0
  326. package/dist/server/app-route-handler-response.js +145 -0
  327. package/dist/server/app-route-handler-runtime.d.ts +39 -0
  328. package/dist/server/app-route-handler-runtime.js +250 -0
  329. package/dist/server/app-route-module-loader.d.ts +91 -0
  330. package/dist/server/app-route-module-loader.js +83 -0
  331. package/dist/server/app-router-entry.d.ts +13 -0
  332. package/dist/server/app-router-entry.js +49 -0
  333. package/dist/server/app-rsc-cache-busting.d.ts +64 -0
  334. package/dist/server/app-rsc-cache-busting.js +206 -0
  335. package/dist/server/app-rsc-embedded-chunks.d.ts +8 -0
  336. package/dist/server/app-rsc-embedded-chunks.js +32 -0
  337. package/dist/server/app-rsc-error-handler.d.ts +20 -0
  338. package/dist/server/app-rsc-error-handler.js +28 -0
  339. package/dist/server/app-rsc-errors.d.ts +40 -0
  340. package/dist/server/app-rsc-errors.js +60 -0
  341. package/dist/server/app-rsc-handler.d.ts +201 -0
  342. package/dist/server/app-rsc-handler.js +538 -0
  343. package/dist/server/app-rsc-render-mode.d.ts +11 -0
  344. package/dist/server/app-rsc-render-mode.js +25 -0
  345. package/dist/server/app-rsc-request-normalization.d.ts +48 -0
  346. package/dist/server/app-rsc-request-normalization.js +75 -0
  347. package/dist/server/app-rsc-response-finalizer.d.ts +37 -0
  348. package/dist/server/app-rsc-response-finalizer.js +54 -0
  349. package/dist/server/app-rsc-route-matching.d.ts +93 -0
  350. package/dist/server/app-rsc-route-matching.js +134 -0
  351. package/dist/server/app-segment-config.d.ts +46 -0
  352. package/dist/server/app-segment-config.js +113 -0
  353. package/dist/server/app-server-action-execution.d.ts +219 -0
  354. package/dist/server/app-server-action-execution.js +767 -0
  355. package/dist/server/app-ssr-entry.d.ts +52 -0
  356. package/dist/server/app-ssr-entry.js +295 -0
  357. package/dist/server/app-ssr-error-meta.d.ts +13 -0
  358. package/dist/server/app-ssr-error-meta.js +48 -0
  359. package/dist/server/app-ssr-router-instance.d.ts +6 -0
  360. package/dist/server/app-ssr-router-instance.js +24 -0
  361. package/dist/server/app-ssr-stream.d.ts +60 -0
  362. package/dist/server/app-ssr-stream.js +408 -0
  363. package/dist/server/app-static-generation.d.ts +15 -0
  364. package/dist/server/app-static-generation.js +19 -0
  365. package/dist/server/app-visited-response-cache.d.ts +23 -0
  366. package/dist/server/app-visited-response-cache.js +19 -0
  367. package/dist/server/artifact-compatibility.d.ts +54 -0
  368. package/dist/server/artifact-compatibility.js +91 -0
  369. package/dist/server/before-interactive-head.d.ts +17 -0
  370. package/dist/server/before-interactive-head.js +35 -0
  371. package/dist/server/cache-control.d.ts +37 -0
  372. package/dist/server/cache-control.js +56 -0
  373. package/dist/server/cache-headers.d.ts +6 -0
  374. package/dist/server/cache-headers.js +17 -0
  375. package/dist/server/cache-proof.d.ts +364 -0
  376. package/dist/server/cache-proof.js +794 -0
  377. package/dist/server/client-reuse-manifest.d.ts +104 -0
  378. package/dist/server/client-reuse-manifest.js +209 -0
  379. package/dist/server/client-trace-metadata.d.ts +30 -0
  380. package/dist/server/client-trace-metadata.js +81 -0
  381. package/dist/server/cookie-utils.d.ts +12 -0
  382. package/dist/server/cookie-utils.js +18 -0
  383. package/dist/server/csp.d.ts +10 -0
  384. package/dist/server/csp.js +41 -0
  385. package/dist/server/default-global-error-module.d.ts +19 -0
  386. package/dist/server/default-global-error-module.js +18 -0
  387. package/dist/server/default-not-found-module.d.ts +19 -0
  388. package/dist/server/default-not-found-module.js +18 -0
  389. package/dist/server/defer-until-stream-consumed.d.ts +7 -0
  390. package/dist/server/defer-until-stream-consumed.js +34 -0
  391. package/dist/server/dev-error-overlay-store.d.ts +39 -0
  392. package/dist/server/dev-error-overlay-store.js +86 -0
  393. package/dist/server/dev-error-overlay.d.ts +51 -0
  394. package/dist/server/dev-error-overlay.js +1341 -0
  395. package/dist/server/dev-initial-server-error.d.ts +9 -0
  396. package/dist/server/dev-initial-server-error.js +26 -0
  397. package/dist/server/dev-lockfile.d.ts +109 -0
  398. package/dist/server/dev-lockfile.js +179 -0
  399. package/dist/server/dev-module-runner.d.ts +30 -0
  400. package/dist/server/dev-module-runner.js +91 -0
  401. package/dist/server/dev-origin-check.d.ts +62 -0
  402. package/dist/server/dev-origin-check.js +156 -0
  403. package/dist/server/dev-route-files.d.ts +6 -0
  404. package/dist/server/dev-route-files.js +71 -0
  405. package/dist/server/dev-server.d.ts +58 -0
  406. package/dist/server/dev-server.js +1114 -0
  407. package/dist/server/dev-stack-sourcemap-endpoint.d.ts +4 -0
  408. package/dist/server/dev-stack-sourcemap-endpoint.js +4 -0
  409. package/dist/server/dev-stack-sourcemap.d.ts +43 -0
  410. package/dist/server/dev-stack-sourcemap.js +443 -0
  411. package/dist/server/document-initial-head.d.ts +6 -0
  412. package/dist/server/document-initial-head.js +33 -0
  413. package/dist/server/edge-api-runtime.d.ts +4 -0
  414. package/dist/server/edge-api-runtime.js +6 -0
  415. package/dist/server/file-based-metadata.d.ts +29 -0
  416. package/dist/server/file-based-metadata.js +401 -0
  417. package/dist/server/headers.d.ts +114 -0
  418. package/dist/server/headers.js +136 -0
  419. package/dist/server/html.d.ts +28 -0
  420. package/dist/server/html.js +41 -0
  421. package/dist/server/http-error-responses.d.ts +91 -0
  422. package/dist/server/http-error-responses.js +105 -0
  423. package/dist/server/hybrid-route-priority.d.ts +22 -0
  424. package/dist/server/hybrid-route-priority.js +33 -0
  425. package/dist/server/image-optimization.d.ts +130 -0
  426. package/dist/server/image-optimization.js +247 -0
  427. package/dist/server/implicit-tags.d.ts +6 -0
  428. package/dist/server/implicit-tags.js +44 -0
  429. package/dist/server/instrumentation-runtime.d.ts +49 -0
  430. package/dist/server/instrumentation-runtime.js +35 -0
  431. package/dist/server/instrumentation.d.ts +85 -0
  432. package/dist/server/instrumentation.js +130 -0
  433. package/dist/server/isr-cache.d.ts +127 -0
  434. package/dist/server/isr-cache.js +282 -0
  435. package/dist/server/isr-decision.d.ts +79 -0
  436. package/dist/server/isr-decision.js +70 -0
  437. package/dist/server/metadata-route-build-data.d.ts +24 -0
  438. package/dist/server/metadata-route-build-data.js +148 -0
  439. package/dist/server/metadata-route-response.d.ts +16 -0
  440. package/dist/server/metadata-route-response.js +205 -0
  441. package/dist/server/metadata-routes.d.ts +139 -0
  442. package/dist/server/metadata-routes.js +433 -0
  443. package/dist/server/middleware-matcher.d.ts +14 -0
  444. package/dist/server/middleware-matcher.js +111 -0
  445. package/dist/server/middleware-request-headers.d.ts +11 -0
  446. package/dist/server/middleware-request-headers.js +65 -0
  447. package/dist/server/middleware-response-headers.d.ts +12 -0
  448. package/dist/server/middleware-response-headers.js +42 -0
  449. package/dist/server/middleware-runtime.d.ts +67 -0
  450. package/dist/server/middleware-runtime.js +240 -0
  451. package/dist/server/middleware.d.ts +62 -0
  452. package/dist/server/middleware.js +114 -0
  453. package/dist/server/navigation-planner.d.ts +308 -0
  454. package/dist/server/navigation-planner.js +831 -0
  455. package/dist/server/navigation-trace.d.ts +68 -0
  456. package/dist/server/navigation-trace.js +71 -0
  457. package/dist/server/next-error-digest.d.ts +44 -0
  458. package/dist/server/next-error-digest.js +40 -0
  459. package/dist/server/normalize-path.d.ts +38 -0
  460. package/dist/server/normalize-path.js +70 -0
  461. package/dist/server/open-redirect.d.ts +12 -0
  462. package/dist/server/open-redirect.js +21 -0
  463. package/dist/server/operation-token.d.ts +40 -0
  464. package/dist/server/operation-token.js +85 -0
  465. package/dist/server/otel-tracer-extension.d.ts +45 -0
  466. package/dist/server/otel-tracer-extension.js +89 -0
  467. package/dist/server/pages-api-route.d.ts +83 -0
  468. package/dist/server/pages-api-route.js +75 -0
  469. package/dist/server/pages-asset-tags.d.ts +78 -0
  470. package/dist/server/pages-asset-tags.js +126 -0
  471. package/dist/server/pages-body-parser-config.d.ts +59 -0
  472. package/dist/server/pages-body-parser-config.js +77 -0
  473. package/dist/server/pages-data-route.d.ts +121 -0
  474. package/dist/server/pages-data-route.js +157 -0
  475. package/dist/server/pages-default-404.d.ts +30 -0
  476. package/dist/server/pages-default-404.js +38 -0
  477. package/dist/server/pages-dev-module-url.d.ts +4 -0
  478. package/dist/server/pages-dev-module-url.js +15 -0
  479. package/dist/server/pages-document-initial-props.d.ts +77 -0
  480. package/dist/server/pages-document-initial-props.js +109 -0
  481. package/dist/server/pages-get-initial-props.d.ts +67 -0
  482. package/dist/server/pages-get-initial-props.js +92 -0
  483. package/dist/server/pages-i18n.d.ts +106 -0
  484. package/dist/server/pages-i18n.js +183 -0
  485. package/dist/server/pages-media-type.d.ts +15 -0
  486. package/dist/server/pages-media-type.js +24 -0
  487. package/dist/server/pages-node-compat.d.ts +55 -0
  488. package/dist/server/pages-node-compat.js +235 -0
  489. package/dist/server/pages-page-data.d.ts +223 -0
  490. package/dist/server/pages-page-data.js +484 -0
  491. package/dist/server/pages-page-handler.d.ts +100 -0
  492. package/dist/server/pages-page-handler.js +403 -0
  493. package/dist/server/pages-page-method.d.ts +47 -0
  494. package/dist/server/pages-page-method.js +17 -0
  495. package/dist/server/pages-page-response.d.ts +138 -0
  496. package/dist/server/pages-page-response.js +285 -0
  497. package/dist/server/pages-readiness.d.ts +36 -0
  498. package/dist/server/pages-readiness.js +21 -0
  499. package/dist/server/pages-request-pipeline.d.ts +116 -0
  500. package/dist/server/pages-request-pipeline.js +311 -0
  501. package/dist/server/pages-revalidate.d.ts +15 -0
  502. package/dist/server/pages-revalidate.js +19 -0
  503. package/dist/server/pages-serializable-props.d.ts +24 -0
  504. package/dist/server/pages-serializable-props.js +67 -0
  505. package/dist/server/pregenerated-concrete-paths.d.ts +16 -0
  506. package/dist/server/pregenerated-concrete-paths.js +61 -0
  507. package/dist/server/prerender-manifest.d.ts +33 -0
  508. package/dist/server/prerender-manifest.js +54 -0
  509. package/dist/server/prerender-route-params.d.ts +23 -0
  510. package/dist/server/prerender-route-params.js +113 -0
  511. package/dist/server/prerender-work-unit-setup.d.ts +6 -0
  512. package/dist/server/prerender-work-unit-setup.js +28 -0
  513. package/dist/server/prod-server.d.ts +148 -0
  514. package/dist/server/prod-server.js +1136 -0
  515. package/dist/server/proxy-trust.d.ts +40 -0
  516. package/dist/server/proxy-trust.js +68 -0
  517. package/dist/server/request-log.d.ts +39 -0
  518. package/dist/server/request-log.js +56 -0
  519. package/dist/server/request-pipeline.d.ts +187 -0
  520. package/dist/server/request-pipeline.js +447 -0
  521. package/dist/server/rsc-stream-hints.d.ts +10 -0
  522. package/dist/server/rsc-stream-hints.js +41 -0
  523. package/dist/server/seed-cache.d.ts +29 -0
  524. package/dist/server/seed-cache.js +125 -0
  525. package/dist/server/server-action-not-found.d.ts +21 -0
  526. package/dist/server/server-action-not-found.js +62 -0
  527. package/dist/server/server-globals.d.ts +4 -0
  528. package/dist/server/server-globals.js +35 -0
  529. package/dist/server/skip-cache-proof.d.ts +61 -0
  530. package/dist/server/skip-cache-proof.js +168 -0
  531. package/dist/server/socket-error-backstop.d.ts +34 -0
  532. package/dist/server/socket-error-backstop.js +200 -0
  533. package/dist/server/static-file-cache.d.ts +56 -0
  534. package/dist/server/static-file-cache.js +231 -0
  535. package/dist/server/static-layout-client-reuse-proof.d.ts +15 -0
  536. package/dist/server/static-layout-client-reuse-proof.js +33 -0
  537. package/dist/server/streaming-metadata.d.ts +4 -0
  538. package/dist/server/streaming-metadata.js +8 -0
  539. package/dist/server/worker-utils.d.ts +7 -0
  540. package/dist/server/worker-utils.js +99 -0
  541. package/dist/shims/amp.d.ts +19 -0
  542. package/dist/shims/amp.js +23 -0
  543. package/dist/shims/app-router-scroll-state.d.ts +15 -0
  544. package/dist/shims/app-router-scroll-state.js +61 -0
  545. package/dist/shims/app-router-scroll.d.ts +29 -0
  546. package/dist/shims/app-router-scroll.js +141 -0
  547. package/dist/shims/app.d.ts +42 -0
  548. package/dist/shims/app.js +48 -0
  549. package/dist/shims/before-interactive-context.d.ts +40 -0
  550. package/dist/shims/before-interactive-context.js +8 -0
  551. package/dist/shims/cache-for-request.d.ts +57 -0
  552. package/dist/shims/cache-for-request.js +72 -0
  553. package/dist/shims/cache-handler.d.ts +106 -0
  554. package/dist/shims/cache-handler.js +176 -0
  555. package/dist/shims/cache-request-state.d.ts +47 -0
  556. package/dist/shims/cache-request-state.js +126 -0
  557. package/dist/shims/cache-runtime.d.ts +83 -0
  558. package/dist/shims/cache-runtime.js +452 -0
  559. package/dist/shims/cache.d.ts +145 -0
  560. package/dist/shims/cache.js +401 -0
  561. package/dist/shims/cdn-cache.d.ts +125 -0
  562. package/dist/shims/cdn-cache.js +100 -0
  563. package/dist/shims/client-hook-error.d.ts +13 -0
  564. package/dist/shims/client-hook-error.js +17 -0
  565. package/dist/shims/client-locale.d.ts +14 -0
  566. package/dist/shims/client-locale.js +11 -0
  567. package/dist/shims/client-only.d.ts +1 -0
  568. package/dist/shims/client-only.js +1 -0
  569. package/dist/shims/compat-router.d.ts +16 -0
  570. package/dist/shims/compat-router.js +25 -0
  571. package/dist/shims/config.d.ts +28 -0
  572. package/dist/shims/config.js +21 -0
  573. package/dist/shims/constants.d.ts +130 -0
  574. package/dist/shims/constants.js +167 -0
  575. package/dist/shims/default-global-error.d.ts +31 -0
  576. package/dist/shims/default-global-error.js +179 -0
  577. package/dist/shims/default-not-found.d.ts +11 -0
  578. package/dist/shims/default-not-found.js +59 -0
  579. package/dist/shims/document.d.ts +92 -0
  580. package/dist/shims/document.js +76 -0
  581. package/dist/shims/dynamic-preload-chunks.d.ts +8 -0
  582. package/dist/shims/dynamic-preload-chunks.js +79 -0
  583. package/dist/shims/dynamic.d.ts +35 -0
  584. package/dist/shims/dynamic.js +204 -0
  585. package/dist/shims/error-boundary-navigation.d.ts +7 -0
  586. package/dist/shims/error-boundary-navigation.js +44 -0
  587. package/dist/shims/error-boundary.d.ts +155 -0
  588. package/dist/shims/error-boundary.js +342 -0
  589. package/dist/shims/error.d.ts +31 -0
  590. package/dist/shims/error.js +123 -0
  591. package/dist/shims/error.react-server.d.ts +9 -0
  592. package/dist/shims/error.react-server.js +6 -0
  593. package/dist/shims/fetch-cache.d.ts +136 -0
  594. package/dist/shims/fetch-cache.js +766 -0
  595. package/dist/shims/font-google-base.d.ts +83 -0
  596. package/dist/shims/font-google-base.js +290 -0
  597. package/dist/shims/font-google.d.ts +2 -0
  598. package/dist/shims/font-google.js +2 -0
  599. package/dist/shims/font-local.d.ts +50 -0
  600. package/dist/shims/font-local.js +195 -0
  601. package/dist/shims/font-utils.d.ts +56 -0
  602. package/dist/shims/font-utils.js +107 -0
  603. package/dist/shims/form.d.ts +19 -0
  604. package/dist/shims/form.js +236 -0
  605. package/dist/shims/hash-scroll.d.ts +10 -0
  606. package/dist/shims/hash-scroll.js +47 -0
  607. package/dist/shims/head-state.d.ts +16 -0
  608. package/dist/shims/head-state.js +43 -0
  609. package/dist/shims/head.d.ts +73 -0
  610. package/dist/shims/head.js +340 -0
  611. package/dist/shims/headers.d.ts +253 -0
  612. package/dist/shims/headers.js +754 -0
  613. package/dist/shims/i18n-context.d.ts +22 -0
  614. package/dist/shims/i18n-context.js +42 -0
  615. package/dist/shims/i18n-state.d.ts +14 -0
  616. package/dist/shims/i18n-state.js +38 -0
  617. package/dist/shims/image-config.d.ts +45 -0
  618. package/dist/shims/image-config.js +85 -0
  619. package/dist/shims/image.d.ts +55 -0
  620. package/dist/shims/image.js +582 -0
  621. package/dist/shims/internal/als-registry.d.ts +14 -0
  622. package/dist/shims/internal/als-registry.js +80 -0
  623. package/dist/shims/internal/api-utils.d.ts +14 -0
  624. package/dist/shims/internal/api-utils.js +1 -0
  625. package/dist/shims/internal/app-page-props-cache-key.d.ts +5 -0
  626. package/dist/shims/internal/app-page-props-cache-key.js +16 -0
  627. package/dist/shims/internal/app-route-detection.d.ts +39 -0
  628. package/dist/shims/internal/app-route-detection.js +62 -0
  629. package/dist/shims/internal/app-router-context.d.ts +31 -0
  630. package/dist/shims/internal/app-router-context.js +28 -0
  631. package/dist/shims/internal/cookie-serialize.d.ts +45 -0
  632. package/dist/shims/internal/cookie-serialize.js +49 -0
  633. package/dist/shims/internal/cookies.d.ts +2 -0
  634. package/dist/shims/internal/cookies.js +2 -0
  635. package/dist/shims/internal/hybrid-client-route-owner.d.ts +31 -0
  636. package/dist/shims/internal/hybrid-client-route-owner.js +143 -0
  637. package/dist/shims/internal/interpolate-as.d.ts +25 -0
  638. package/dist/shims/internal/interpolate-as.js +196 -0
  639. package/dist/shims/internal/link-status-registry.d.ts +43 -0
  640. package/dist/shims/internal/link-status-registry.js +42 -0
  641. package/dist/shims/internal/make-hanging-promise.d.ts +15 -0
  642. package/dist/shims/internal/make-hanging-promise.js +44 -0
  643. package/dist/shims/internal/navigation-untracked.d.ts +35 -0
  644. package/dist/shims/internal/navigation-untracked.js +56 -0
  645. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +54 -0
  646. package/dist/shims/internal/pages-data-fetch-dedup.js +121 -0
  647. package/dist/shims/internal/pages-data-target.d.ts +62 -0
  648. package/dist/shims/internal/pages-data-target.js +98 -0
  649. package/dist/shims/internal/pages-data-url.d.ts +41 -0
  650. package/dist/shims/internal/pages-data-url.js +71 -0
  651. package/dist/shims/internal/pages-router-accessor.d.ts +19 -0
  652. package/dist/shims/internal/pages-router-accessor.js +13 -0
  653. package/dist/shims/internal/route-pattern-for-warning.d.ts +27 -0
  654. package/dist/shims/internal/route-pattern-for-warning.js +40 -0
  655. package/dist/shims/internal/router-context.d.ts +7 -0
  656. package/dist/shims/internal/router-context.js +13 -0
  657. package/dist/shims/internal/utils.d.ts +52 -0
  658. package/dist/shims/internal/utils.js +27 -0
  659. package/dist/shims/internal/work-unit-async-storage.d.ts +30 -0
  660. package/dist/shims/internal/work-unit-async-storage.js +17 -0
  661. package/dist/shims/layout-segment-context.d.ts +24 -0
  662. package/dist/shims/layout-segment-context.js +39 -0
  663. package/dist/shims/legacy-image.d.ts +41 -0
  664. package/dist/shims/legacy-image.js +49 -0
  665. package/dist/shims/link-prefetch.d.ts +41 -0
  666. package/dist/shims/link-prefetch.js +43 -0
  667. package/dist/shims/link.d.ts +102 -0
  668. package/dist/shims/link.js +687 -0
  669. package/dist/shims/metadata.d.ts +285 -0
  670. package/dist/shims/metadata.js +820 -0
  671. package/dist/shims/navigation-context-state.d.ts +40 -0
  672. package/dist/shims/navigation-context-state.js +116 -0
  673. package/dist/shims/navigation-errors.d.ts +55 -0
  674. package/dist/shims/navigation-errors.js +110 -0
  675. package/dist/shims/navigation-server.d.ts +3 -0
  676. package/dist/shims/navigation-server.js +3 -0
  677. package/dist/shims/navigation-state.d.ts +25 -0
  678. package/dist/shims/navigation-state.js +66 -0
  679. package/dist/shims/navigation.d.ts +286 -0
  680. package/dist/shims/navigation.js +1206 -0
  681. package/dist/shims/navigation.react-server.d.ts +14 -0
  682. package/dist/shims/navigation.react-server.js +32 -0
  683. package/dist/shims/offline.d.ts +4 -0
  684. package/dist/shims/offline.js +15 -0
  685. package/dist/shims/og.d.ts +17 -0
  686. package/dist/shims/og.js +48 -0
  687. package/dist/shims/pages-router-runtime.d.ts +12 -0
  688. package/dist/shims/pages-router-runtime.js +24 -0
  689. package/dist/shims/ppr-fallback-shell.d.ts +33 -0
  690. package/dist/shims/ppr-fallback-shell.js +170 -0
  691. package/dist/shims/readonly-url-search-params.d.ts +13 -0
  692. package/dist/shims/readonly-url-search-params.js +26 -0
  693. package/dist/shims/request-context.d.ts +58 -0
  694. package/dist/shims/request-context.js +45 -0
  695. package/dist/shims/request-state-types.d.ts +12 -0
  696. package/dist/shims/request-state-types.js +1 -0
  697. package/dist/shims/root-params.d.ts +12 -0
  698. package/dist/shims/root-params.js +30 -0
  699. package/dist/shims/router-state.d.ts +32 -0
  700. package/dist/shims/router-state.js +39 -0
  701. package/dist/shims/router.d.ts +192 -0
  702. package/dist/shims/router.js +1786 -0
  703. package/dist/shims/script-nonce-context.d.ts +11 -0
  704. package/dist/shims/script-nonce-context.js +23 -0
  705. package/dist/shims/script.d.ts +43 -0
  706. package/dist/shims/script.js +370 -0
  707. package/dist/shims/server-only.d.ts +1 -0
  708. package/dist/shims/server-only.js +1 -0
  709. package/dist/shims/server.d.ts +323 -0
  710. package/dist/shims/server.js +729 -0
  711. package/dist/shims/slot.d.ts +45 -0
  712. package/dist/shims/slot.js +230 -0
  713. package/dist/shims/thenable-params.d.ts +11 -0
  714. package/dist/shims/thenable-params.js +176 -0
  715. package/dist/shims/unified-request-context.d.ts +68 -0
  716. package/dist/shims/unified-request-context.js +86 -0
  717. package/dist/shims/unrecognized-action-error.d.ts +34 -0
  718. package/dist/shims/unrecognized-action-error.js +39 -0
  719. package/dist/shims/url-safety.d.ts +34 -0
  720. package/dist/shims/url-safety.js +70 -0
  721. package/dist/shims/url-utils.d.ts +51 -0
  722. package/dist/shims/url-utils.js +156 -0
  723. package/dist/shims/use-merged-ref.d.ts +6 -0
  724. package/dist/shims/use-merged-ref.js +38 -0
  725. package/dist/shims/web-vitals.d.ts +8 -0
  726. package/dist/shims/web-vitals.js +22 -0
  727. package/dist/typegen.d.ts +9 -0
  728. package/dist/typegen.js +228 -0
  729. package/dist/utils/asset-prefix.d.ts +96 -0
  730. package/dist/utils/asset-prefix.js +122 -0
  731. package/dist/utils/base-path.d.ts +31 -0
  732. package/dist/utils/base-path.js +45 -0
  733. package/dist/utils/built-asset-url.d.ts +4 -0
  734. package/dist/utils/built-asset-url.js +11 -0
  735. package/dist/utils/cache-control-metadata.d.ts +4 -0
  736. package/dist/utils/cache-control-metadata.js +12 -0
  737. package/dist/utils/client-build-manifest.d.ts +21 -0
  738. package/dist/utils/client-build-manifest.js +87 -0
  739. package/dist/utils/client-entry-manifest.d.ts +11 -0
  740. package/dist/utils/client-entry-manifest.js +29 -0
  741. package/dist/utils/client-runtime-metadata.d.ts +45 -0
  742. package/dist/utils/client-runtime-metadata.js +63 -0
  743. package/dist/utils/commonjs-loader.d.ts +16 -0
  744. package/dist/utils/commonjs-loader.js +100 -0
  745. package/dist/utils/compare.d.ts +4 -0
  746. package/dist/utils/compare.js +8 -0
  747. package/dist/utils/deployment-id.d.ts +8 -0
  748. package/dist/utils/deployment-id.js +22 -0
  749. package/dist/utils/dev-error-recovery-event.d.ts +4 -0
  750. package/dist/utils/dev-error-recovery-event.js +4 -0
  751. package/dist/utils/domain-locale.d.ts +26 -0
  752. package/dist/utils/domain-locale.js +50 -0
  753. package/dist/utils/encode-cache-tag.d.ts +30 -0
  754. package/dist/utils/encode-cache-tag.js +36 -0
  755. package/dist/utils/error-cause.d.ts +4 -0
  756. package/dist/utils/error-cause.js +95 -0
  757. package/dist/utils/has-trailing-comma.d.ts +24 -0
  758. package/dist/utils/has-trailing-comma.js +62 -0
  759. package/dist/utils/hash.d.ts +24 -0
  760. package/dist/utils/hash.js +55 -0
  761. package/dist/utils/html-limited-bots.d.ts +21 -0
  762. package/dist/utils/html-limited-bots.js +35 -0
  763. package/dist/utils/lazy-chunks.d.ts +59 -0
  764. package/dist/utils/lazy-chunks.js +112 -0
  765. package/dist/utils/manifest-paths.d.ts +30 -0
  766. package/dist/utils/manifest-paths.js +66 -0
  767. package/dist/utils/mdx-scan.d.ts +9 -0
  768. package/dist/utils/mdx-scan.js +34 -0
  769. package/dist/utils/navigation-signal.d.ts +4 -0
  770. package/dist/utils/navigation-signal.js +12 -0
  771. package/dist/utils/number.d.ts +4 -0
  772. package/dist/utils/number.js +6 -0
  773. package/dist/utils/parse-cookie.d.ts +13 -0
  774. package/dist/utils/parse-cookie.js +52 -0
  775. package/dist/utils/path.d.ts +22 -0
  776. package/dist/utils/path.js +30 -0
  777. package/dist/utils/prerender-output-paths.d.ts +14 -0
  778. package/dist/utils/prerender-output-paths.js +22 -0
  779. package/dist/utils/project.d.ts +76 -0
  780. package/dist/utils/project.js +213 -0
  781. package/dist/utils/promise.d.ts +4 -0
  782. package/dist/utils/promise.js +6 -0
  783. package/dist/utils/public-routes.d.ts +4 -0
  784. package/dist/utils/public-routes.js +48 -0
  785. package/dist/utils/query.d.ts +49 -0
  786. package/dist/utils/query.js +122 -0
  787. package/dist/utils/record.d.ts +4 -0
  788. package/dist/utils/record.js +6 -0
  789. package/dist/utils/regex.d.ts +4 -0
  790. package/dist/utils/regex.js +6 -0
  791. package/dist/utils/safe-json-file.d.ts +17 -0
  792. package/dist/utils/safe-json-file.js +23 -0
  793. package/dist/utils/sorted-array.d.ts +8 -0
  794. package/dist/utils/sorted-array.js +20 -0
  795. package/dist/utils/text-stream.d.ts +28 -0
  796. package/dist/utils/text-stream.js +64 -0
  797. package/dist/utils/vinext-root.d.ts +23 -0
  798. package/dist/utils/vinext-root.js +29 -0
  799. package/dist/utils/virtual-module.d.ts +5 -0
  800. package/dist/utils/virtual-module.js +0 -0
  801. package/dist/utils/vite-version.d.ts +21 -0
  802. package/dist/utils/vite-version.js +42 -0
  803. package/package.json +145 -0
@@ -0,0 +1,1114 @@
1
+ import { createRequestContext, runWithRequestContext } from "../shims/unified-request-context.js";
2
+ import { createValidFileMatcher, findFileWithExtensions } from "../routing/file-matcher.js";
3
+ import { patternToNextFormat } from "../routing/route-validation.js";
4
+ import { matchRoute } from "../routing/pages-router.js";
5
+ import { NEXTJS_DEPLOYMENT_ID_HEADER } from "./headers.js";
6
+ import { normalizeStaticPathname } from "../routing/route-pattern.js";
7
+ import { importModule, reportRequestError } from "./instrumentation.js";
8
+ import { buildCacheStateHeaders } from "./cache-headers.js";
9
+ import { isUnknownRecord } from "../utils/record.js";
10
+ import { NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL } from "./cache-control.js";
11
+ import { buildMissIsrCacheControl, decideIsr } from "./isr-decision.js";
12
+ import { PRERENDER_REVALIDATE_HEADER, buildPagesCacheValue, getRevalidateDuration, isOnDemandRevalidateRequest, isrCacheKey, isrGet, isrSet, setRevalidateDuration, triggerBackgroundRegeneration } from "./isr-cache.js";
13
+ import { _runWithCacheState } from "../shims/cache-request-state.js";
14
+ import { ensureFetchPatch, runWithFetchCache } from "../shims/fetch-cache.js";
15
+ import { runWithPrivateCache } from "../shims/cache-runtime.js";
16
+ import { mergeRouteParamsIntoQuery, parseQueryString } from "../utils/query.js";
17
+ import "../shims/router-state.js";
18
+ import { runWithHeadState } from "../shims/head-state.js";
19
+ import { runWithServerInsertedHTMLState } from "../shims/navigation-state.js";
20
+ import { withScriptNonce } from "../shims/script-nonce-context.js";
21
+ import { createInlineScriptTag, createNonceAttribute, safeJsonStringify } from "./html.js";
22
+ import { getClientTraceMetadataHTML } from "./client-trace-metadata.js";
23
+ import { getScriptNonceFromNodeHeaderSources } from "./csp.js";
24
+ import { logRequest, now } from "./request-log.js";
25
+ import { detectLocaleFromAcceptLanguage, extractLocaleFromUrl as extractLocaleFromUrl$1, parseCookieLocaleFromHeader, resolvePagesI18nRequest } from "./pages-i18n.js";
26
+ import { buildDefaultPagesNotFoundResponse } from "./pages-default-404.js";
27
+ import { buildPagesReadinessNextData } from "./pages-readiness.js";
28
+ import { resolvePagesPageMethodResponse } from "./pages-page-method.js";
29
+ import { createPagesDevModuleUrl } from "./pages-dev-module-url.js";
30
+ import { isSerializableProps } from "./pages-serializable-props.js";
31
+ import { loadUserDocumentInitialProps, runDocumentRenderPage } from "./pages-document-initial-props.js";
32
+ import { callDocumentGetInitialProps } from "./document-initial-head.js";
33
+ import { hasPagesGetInitialProps, loadDevAppInitialProps, loadPagesGetInitialProps } from "./pages-get-initial-props.js";
34
+ import { isBotUserAgent } from "../utils/html-limited-bots.js";
35
+ import path from "node:path";
36
+ import React from "react";
37
+ import { renderToReadableStream } from "react-dom/server.edge";
38
+ //#region src/server/dev-server.ts
39
+ /**
40
+ * Render a React element to a string using renderToReadableStream.
41
+ *
42
+ * Uses the edge-compatible Web Streams API. Waits for all Suspense
43
+ * boundaries to resolve via stream.allReady before collecting output.
44
+ * Used for _document rendering and error pages (small, non-streaming).
45
+ */
46
+ async function renderToStringAsync(element) {
47
+ const stream = await renderToReadableStream(element);
48
+ await stream.allReady;
49
+ return new Response(stream).text();
50
+ }
51
+ async function renderIsrPassToStringAsync(element) {
52
+ return await runWithServerInsertedHTMLState(() => runWithHeadState(() => _runWithCacheState(() => runWithPrivateCache(() => runWithFetchCache(async () => renderToStringAsync(element))))));
53
+ }
54
+ /**
55
+ * Emit a `getServerSideProps` / `getStaticProps` `{ redirect }` result.
56
+ *
57
+ * For an HTML request we write a real HTTP redirect (`Location`). For a
58
+ * `_next/data` request we instead reply 200 with `__N_REDIRECT` /
59
+ * `__N_REDIRECT_STATUS` in pageProps so the client router re-dispatches a
60
+ * fresh client navigation (which supersedes the in-flight one) rather than
61
+ * the fetch transparently following an HTTP redirect to non-JSON HTML. This
62
+ * mirrors the production path in `pages-page-data.ts`
63
+ * (`buildPagesRedirectResponse`) and Next.js's `render.tsx` `__N_REDIRECT`
64
+ * handling. See AGENTS.md "dev and prod server parity".
65
+ */
66
+ function writeGsspRedirect(res, redirect, isDataReq, props) {
67
+ const status = redirect.statusCode ?? (redirect.permanent ? 308 : 307);
68
+ let dest = redirect.destination;
69
+ if (!dest.startsWith("http://") && !dest.startsWith("https://")) dest = dest.replace(/^[\\/]+/, "/");
70
+ if (isDataReq) {
71
+ const deploymentId = process.env.__VINEXT_DEPLOYMENT_ID || process.env.NEXT_DEPLOYMENT_ID;
72
+ const dataHeaders = { "Content-Type": "application/json" };
73
+ if (deploymentId) dataHeaders[NEXTJS_DEPLOYMENT_ID_HEADER] = deploymentId;
74
+ res.writeHead(200, dataHeaders);
75
+ res.end(JSON.stringify({
76
+ ...props,
77
+ pageProps: {
78
+ ...isUnknownRecord(props.pageProps) ? props.pageProps : {},
79
+ __N_REDIRECT: dest,
80
+ __N_REDIRECT_STATUS: status
81
+ }
82
+ }));
83
+ return;
84
+ }
85
+ res.writeHead(status, { Location: dest });
86
+ res.end();
87
+ }
88
+ /** Body placeholder used to split the document shell for streaming. */
89
+ const STREAM_BODY_MARKER = "<!--VINEXT_STREAM_BODY-->";
90
+ /**
91
+ * Stream a Pages Router page response using progressive SSR.
92
+ *
93
+ * Sends the HTML shell (head, layout, Suspense fallbacks) immediately
94
+ * when the React shell is ready, then streams Suspense content as it
95
+ * resolves. This gives the browser content to render while slow data
96
+ * loads are still in flight.
97
+ *
98
+ * `__NEXT_DATA__` and the hydration script are appended after the body
99
+ * stream completes (the data is known before rendering starts, but
100
+ * deferring them reduces TTFB and lets the browser start parsing the
101
+ * shell sooner).
102
+ */
103
+ async function streamPageToResponse(res, element, options) {
104
+ const { url, server, fontHeadHTML, scripts, DocumentComponent, statusCode = 200, extraHeaders, getHeadHTML, enhancePageElement, scriptNonce, documentContext, setDocumentInitialHead, bufferBodyBeforeHeaders = false } = options;
105
+ const documentRenderPage = await runDocumentRenderPage({
106
+ DocumentComponent,
107
+ enhancePageElement,
108
+ renderToReadableStream,
109
+ renderStylesToString: renderToStringAsync,
110
+ scriptNonce,
111
+ context: documentContext
112
+ });
113
+ let bodyStream;
114
+ if (documentRenderPage.status === "rendered") {
115
+ const synthesised = documentRenderPage.bodyHtml;
116
+ bodyStream = new ReadableStream({ start(controller) {
117
+ controller.enqueue(new TextEncoder().encode(synthesised));
118
+ controller.close();
119
+ } });
120
+ } else bodyStream = await renderToReadableStream(element);
121
+ if (documentRenderPage.status === "skipped") await callDocumentGetInitialProps(DocumentComponent, setDocumentInitialHead);
122
+ else setDocumentInitialHead?.(documentRenderPage.head);
123
+ let headHTML = getHeadHTML();
124
+ if (documentRenderPage.status === "rendered" && documentRenderPage.stylesHTML) headHTML += `\n ${documentRenderPage.stylesHTML}`;
125
+ let shellTemplate;
126
+ if (DocumentComponent) {
127
+ const docProps = documentRenderPage.status === "skipped" ? await loadUserDocumentInitialProps(DocumentComponent) : documentRenderPage.docProps;
128
+ let docHtml = await renderToStringAsync(docProps ? React.createElement(DocumentComponent, docProps) : React.createElement(DocumentComponent));
129
+ docHtml = docHtml.replace("__NEXT_MAIN__", STREAM_BODY_MARKER);
130
+ if (headHTML || fontHeadHTML) docHtml = docHtml.replace("</head>", ` ${fontHeadHTML}${headHTML}\n</head>`);
131
+ docHtml = docHtml.replace("<!-- __NEXT_SCRIPTS__ -->", scripts);
132
+ if (!docHtml.includes("__NEXT_DATA__")) docHtml = docHtml.replace("</body>", ` ${scripts}\n</body>`);
133
+ shellTemplate = docHtml;
134
+ } else shellTemplate = `<!DOCTYPE html>
135
+ <html>
136
+ <head>
137
+ ${fontHeadHTML}${headHTML}
138
+ </head>
139
+ <body>
140
+ <div id="__next">${STREAM_BODY_MARKER}</div>
141
+ ${scripts}
142
+ </body>
143
+ </html>`;
144
+ const transformedShell = await server.transformIndexHtml(url, shellTemplate);
145
+ const markerIdx = transformedShell.indexOf(STREAM_BODY_MARKER);
146
+ const prefix = transformedShell.slice(0, markerIdx);
147
+ const suffix = transformedShell.slice(markerIdx + 25);
148
+ const bufferedBody = bufferBodyBeforeHeaders ? await new Response(bodyStream).text() : null;
149
+ const headers = {
150
+ "Content-Type": "text/html",
151
+ "Transfer-Encoding": "chunked"
152
+ };
153
+ if (extraHeaders) for (const [key, val] of Object.entries(extraHeaders)) if (Array.isArray(val)) res.setHeader(key, val);
154
+ else headers[key] = val;
155
+ res.writeHead(statusCode, headers);
156
+ res.write(prefix);
157
+ if (bufferedBody !== null) {
158
+ res.end(bufferedBody + suffix);
159
+ return;
160
+ }
161
+ const reader = bodyStream.getReader();
162
+ try {
163
+ for (;;) {
164
+ const { done, value } = await reader.read();
165
+ if (done) break;
166
+ res.write(value);
167
+ }
168
+ } finally {
169
+ reader.releaseLock();
170
+ }
171
+ res.end(suffix);
172
+ }
173
+ /**
174
+ * Extract locale prefix from a URL path.
175
+ * e.g. /fr/about -> { locale: "fr", url: "/about", hadPrefix: true }
176
+ * /about -> { locale: "en", url: "/about", hadPrefix: false } (defaultLocale)
177
+ */
178
+ function extractLocaleFromUrl(url, i18nConfig) {
179
+ return extractLocaleFromUrl$1(url, i18nConfig);
180
+ }
181
+ /**
182
+ * Detect the preferred locale from the Accept-Language header.
183
+ * Returns the best matching locale or null.
184
+ */
185
+ function detectLocaleFromHeaders(req, i18nConfig) {
186
+ return detectLocaleFromAcceptLanguage(req.headers["accept-language"], i18nConfig);
187
+ }
188
+ /**
189
+ * Parse the NEXT_LOCALE cookie from a request.
190
+ * Returns the cookie value if it matches a configured locale, otherwise null.
191
+ */
192
+ function parseCookieLocale(req, i18nConfig) {
193
+ return parseCookieLocaleFromHeader(req.headers.cookie, i18nConfig);
194
+ }
195
+ /**
196
+ * Create an SSR request handler for the Pages Router.
197
+ *
198
+ * For each request:
199
+ * 1. Match the URL against discovered routes
200
+ * 2. Load the page module via the ModuleRunner
201
+ * 3. Call getServerSideProps/getStaticProps if present
202
+ * 4. Render the component to HTML
203
+ * 5. Wrap in _document shell and send response
204
+ */
205
+ function createSSRHandler(server, runner, routes, pagesDir, i18nConfig, fileMatcher, basePath = "", trailingSlash = false, hasMiddleware = false, hasRewrites = false, clientTraceMetadata, htmlLimitedBots) {
206
+ const matcher = fileMatcher ?? createValidFileMatcher();
207
+ const pagePatterns = routes.map((r) => patternToNextFormat(r.pattern));
208
+ const _alsRegistration = Promise.all([runner.import("vinext/head-state"), runner.import("vinext/router-state")]);
209
+ _alsRegistration.catch(() => {});
210
+ return async (req, res, url, statusCode, isDataReq = false, originalUrl = url) => {
211
+ const _reqStart = now();
212
+ let _compileEnd;
213
+ let _renderEnd;
214
+ res.on("finish", () => {
215
+ const totalMs = now() - _reqStart;
216
+ const compileMs = _compileEnd !== void 0 ? Math.round(_compileEnd - _reqStart) : void 0;
217
+ const renderMs = _renderEnd !== void 0 && _compileEnd !== void 0 ? Math.round(_renderEnd - _compileEnd) : void 0;
218
+ logRequest({
219
+ method: req.method ?? "GET",
220
+ url,
221
+ status: res.statusCode,
222
+ totalMs,
223
+ compileMs,
224
+ renderMs
225
+ });
226
+ });
227
+ let locale;
228
+ let localeStrippedUrl = url;
229
+ let currentDefaultLocale;
230
+ let currentDomainLocaleDomain;
231
+ const domainLocales = i18nConfig?.domains;
232
+ if (i18nConfig) {
233
+ const resolved = resolvePagesI18nRequest(url, i18nConfig, req.headers, req.headers.host, basePath, trailingSlash);
234
+ locale = resolved.locale;
235
+ localeStrippedUrl = resolved.url;
236
+ currentDefaultLocale = resolved.domainLocale?.defaultLocale ?? i18nConfig.defaultLocale;
237
+ currentDomainLocaleDomain = resolved.domainLocale?.domain;
238
+ if (resolved.redirectUrl) {
239
+ res.writeHead(307, { Location: resolved.redirectUrl });
240
+ res.end();
241
+ return;
242
+ }
243
+ }
244
+ const i18nCacheVariant = i18nConfig ? currentDomainLocaleDomain ? "domain:" + currentDomainLocaleDomain.toLowerCase() : "locale:" + String(locale) : null;
245
+ const pagesIsrCacheKey = i18nCacheVariant ? (pathname) => isrCacheKey("pages", pathname + "::i18n=" + encodeURIComponent(i18nCacheVariant), process.env.__VINEXT_BUILD_ID) : (pathname) => isrCacheKey("pages", pathname, process.env.__VINEXT_BUILD_ID);
246
+ const match = matchRoute(localeStrippedUrl, routes);
247
+ if (!match) {
248
+ if (isDataReq) {
249
+ const deploymentId = process.env.__VINEXT_DEPLOYMENT_ID || process.env.NEXT_DEPLOYMENT_ID;
250
+ const notFoundHeaders = { "Content-Type": "application/json" };
251
+ if (deploymentId) notFoundHeaders[NEXTJS_DEPLOYMENT_ID_HEADER] = deploymentId;
252
+ res.writeHead(404, notFoundHeaders);
253
+ res.end("{}");
254
+ return;
255
+ }
256
+ await renderErrorPage(server, runner, req, res, url, pagesDir, 404, void 0, matcher);
257
+ return;
258
+ }
259
+ const { route, params } = match;
260
+ req.url = originalUrl;
261
+ const parsedResolvedUrl = new URL(localeStrippedUrl, "http://vinext.local");
262
+ const originalRequestSearch = new URL(originalUrl, "http://vinext.local").search;
263
+ const gsspResolvedUrl = parsedResolvedUrl.pathname + originalRequestSearch;
264
+ const requestAsPath = isDataReq ? gsspResolvedUrl : originalUrl;
265
+ const userFacingParams = route.isDynamic ? params : null;
266
+ const query = mergeRouteParamsIntoQuery(parseQueryString(url), params);
267
+ return runWithRequestContext(createRequestContext(), async () => {
268
+ ensureFetchPatch();
269
+ try {
270
+ await _alsRegistration;
271
+ const routerShim = await importModule(runner, "next/router");
272
+ if (i18nConfig) {
273
+ await runner.import("vinext/i18n-state");
274
+ const i18nCtx = await importModule(runner, "vinext/i18n-context");
275
+ if (typeof i18nCtx.setI18nContext === "function") i18nCtx.setI18nContext({
276
+ locale: locale ?? currentDefaultLocale,
277
+ locales: i18nConfig.locales,
278
+ defaultLocale: currentDefaultLocale,
279
+ domainLocales,
280
+ hostname: req.headers.host?.split(":", 1)[0]
281
+ });
282
+ }
283
+ const pageModule = await importModule(runner, route.filePath);
284
+ let AppComponent = null;
285
+ const appPath = path.join(pagesDir, "_app");
286
+ if (findFileWithExtensions(appPath, matcher)) try {
287
+ AppComponent = (await importModule(runner, appPath)).default ?? null;
288
+ } catch {}
289
+ const pagesNextData = buildPagesReadinessNextData({
290
+ pageModule,
291
+ appComponent: AppComponent,
292
+ hasRewrites
293
+ });
294
+ const navigationIsReady = typeof routerShim.getPagesNavigationIsReadyFromSerializedState === "function" ? routerShim.getPagesNavigationIsReadyFromSerializedState(patternToNextFormat(route.pattern), new URL(url, "http://_").search, pagesNextData) : true;
295
+ if (typeof routerShim.setSSRContext === "function") routerShim.setSSRContext({
296
+ pathname: patternToNextFormat(route.pattern),
297
+ query,
298
+ asPath: requestAsPath,
299
+ navigationIsReady,
300
+ nextData: pagesNextData,
301
+ locale: locale ?? currentDefaultLocale,
302
+ locales: i18nConfig?.locales,
303
+ defaultLocale: currentDefaultLocale,
304
+ domainLocales
305
+ });
306
+ _compileEnd = now();
307
+ const PageComponent = pageModule.default;
308
+ if (!PageComponent) {
309
+ console.error(`[vinext] Page ${route.filePath} has no default export`);
310
+ res.statusCode = 500;
311
+ res.end("Page has no default export");
312
+ return;
313
+ }
314
+ {
315
+ const routePattern = patternToNextFormat(route.pattern);
316
+ if (!isDataReq && routePattern !== "/_error" && routePattern !== "/404" && routePattern !== "/500" && statusCode === void 0) {
317
+ const methodResponse = resolvePagesPageMethodResponse({
318
+ hasGetServerSideProps: typeof pageModule.getServerSideProps === "function",
319
+ method: req.method ?? "GET"
320
+ });
321
+ if (methodResponse) {
322
+ res.statusCode = methodResponse.status;
323
+ const allow = methodResponse.headers.get("allow");
324
+ if (allow) res.setHeader("Allow", allow);
325
+ res.setHeader("Content-Type", "text/plain;charset=UTF-8");
326
+ res.end(await methodResponse.text());
327
+ return;
328
+ }
329
+ }
330
+ }
331
+ let pageProps = {};
332
+ let renderProps = { pageProps };
333
+ let isrRevalidateSeconds = null;
334
+ let isFallbackRender = false;
335
+ let shouldPersistFallbackData = false;
336
+ if (typeof pageModule.getStaticPaths === "function" && route.isDynamic) {
337
+ const pathsResult = await pageModule.getStaticPaths({
338
+ locales: i18nConfig?.locales ?? [],
339
+ defaultLocale: currentDefaultLocale ?? ""
340
+ });
341
+ const fallback = pathsResult?.fallback ?? false;
342
+ const paths = pathsResult?.paths ?? [];
343
+ const currentPathname = normalizeStaticPathname(url);
344
+ const isValidPath = paths.some((p) => {
345
+ if (typeof p === "string") return normalizeStaticPathname(p) === currentPathname;
346
+ const entryParams = p.params;
347
+ if (entryParams === void 0 || entryParams === null) return false;
348
+ return Object.entries(entryParams).every(([key, val]) => {
349
+ const actual = params[key];
350
+ if (Array.isArray(val)) return Array.isArray(actual) && val.join("/") === actual.join("/");
351
+ return String(val) === String(actual);
352
+ });
353
+ });
354
+ if (fallback === false && !isValidPath) {
355
+ if (isDataReq) {
356
+ const deploymentId = process.env.__VINEXT_DEPLOYMENT_ID || process.env.NEXT_DEPLOYMENT_ID;
357
+ const notFoundHeaders = { "Content-Type": "application/json" };
358
+ if (deploymentId) notFoundHeaders[NEXTJS_DEPLOYMENT_ID_HEADER] = deploymentId;
359
+ res.writeHead(404, notFoundHeaders);
360
+ res.end("{}");
361
+ return;
362
+ }
363
+ await renderErrorPage(server, runner, req, res, url, pagesDir, 404, routerShim.wrapWithRouterContext, matcher);
364
+ return;
365
+ }
366
+ const userAgentHeader = req.headers["user-agent"];
367
+ const userAgent = Array.isArray(userAgentHeader) ? userAgentHeader[0] : userAgentHeader;
368
+ const isBotRequest = !!userAgent && isBotUserAgent(userAgent, htmlLimitedBots);
369
+ if (fallback === true && !isValidPath && !isDataReq && !isBotRequest) {
370
+ isFallbackRender = (await isrGet(pagesIsrCacheKey(url.split("?")[0])))?.value.value?.kind !== "PAGES";
371
+ if (isFallbackRender && typeof routerShim.setSSRContext === "function") routerShim.setSSRContext({
372
+ pathname: patternToNextFormat(route.pattern),
373
+ query,
374
+ asPath: requestAsPath,
375
+ navigationIsReady: false,
376
+ locale: locale ?? currentDefaultLocale,
377
+ locales: i18nConfig?.locales,
378
+ defaultLocale: currentDefaultLocale,
379
+ domainLocales,
380
+ isFallback: true
381
+ });
382
+ }
383
+ shouldPersistFallbackData = fallback === true && !isValidPath && isDataReq;
384
+ }
385
+ const gsspExtraHeaders = {};
386
+ const hasAppGetInitialProps = hasPagesGetInitialProps(AppComponent);
387
+ async function loadAppInitialProps() {
388
+ if (!hasAppGetInitialProps) return false;
389
+ const appResult = await loadDevAppInitialProps({
390
+ appComponent: AppComponent,
391
+ appTree: (appTreeProps) => {
392
+ const appTree = React.createElement(AppComponent, {
393
+ ...appTreeProps,
394
+ Component: PageComponent,
395
+ pageProps: appTreeProps.pageProps,
396
+ router: routerShim.default
397
+ });
398
+ return typeof routerShim.wrapWithRouterContext === "function" ? routerShim.wrapWithRouterContext(appTree) : appTree;
399
+ },
400
+ component: PageComponent,
401
+ req,
402
+ res,
403
+ pathname: patternToNextFormat(route.pattern),
404
+ query,
405
+ asPath: requestAsPath,
406
+ locale: locale ?? currentDefaultLocale,
407
+ locales: i18nConfig?.locales,
408
+ defaultLocale: currentDefaultLocale
409
+ });
410
+ if (appResult.kind === "response-sent") return true;
411
+ if (appResult.kind === "render") {
412
+ pageProps = appResult.pageProps;
413
+ renderProps = appResult.renderProps;
414
+ }
415
+ return false;
416
+ }
417
+ if (typeof pageModule.getServerSideProps === "function" && !isFallbackRender) {
418
+ if (await loadAppInitialProps()) return;
419
+ renderProps = {
420
+ ...renderProps,
421
+ __N_SSP: true
422
+ };
423
+ const headersBeforeGSSP = new Set(Object.keys(res.getHeaders()));
424
+ const context = {
425
+ params: userFacingParams,
426
+ req,
427
+ res,
428
+ query,
429
+ resolvedUrl: gsspResolvedUrl,
430
+ locale: locale ?? currentDefaultLocale,
431
+ locales: i18nConfig?.locales,
432
+ defaultLocale: currentDefaultLocale
433
+ };
434
+ const result = await pageModule.getServerSideProps(context);
435
+ if (res.writableEnded) return;
436
+ if (result && "props" in result) {
437
+ pageProps = {
438
+ ...pageProps,
439
+ ...await Promise.resolve(result.props)
440
+ };
441
+ renderProps = {
442
+ ...renderProps,
443
+ pageProps
444
+ };
445
+ }
446
+ if (result && "redirect" in result) {
447
+ writeGsspRedirect(res, result.redirect, isDataReq, renderProps);
448
+ return;
449
+ }
450
+ if (result && "notFound" in result && result.notFound) {
451
+ if (isDataReq) {
452
+ const deploymentId = process.env.__VINEXT_DEPLOYMENT_ID || process.env.NEXT_DEPLOYMENT_ID;
453
+ const notFoundHeaders = { "Content-Type": "application/json" };
454
+ if (deploymentId) notFoundHeaders[NEXTJS_DEPLOYMENT_ID_HEADER] = deploymentId;
455
+ res.writeHead(404, notFoundHeaders);
456
+ res.end("{}");
457
+ return;
458
+ }
459
+ await renderErrorPage(server, runner, req, res, url, pagesDir, 404, routerShim.wrapWithRouterContext);
460
+ return;
461
+ }
462
+ if (result && "props" in result) isSerializableProps(patternToNextFormat(route.pattern), "getServerSideProps", pageProps);
463
+ if (!statusCode && res.statusCode !== 200) statusCode = res.statusCode;
464
+ const headersAfterGSSP = res.getHeaders();
465
+ for (const [key, val] of Object.entries(headersAfterGSSP)) {
466
+ if (headersBeforeGSSP.has(key) || val == null) continue;
467
+ res.removeHeader(key);
468
+ if (Array.isArray(val)) gsspExtraHeaders[key] = val.map(String);
469
+ else gsspExtraHeaders[key] = String(val);
470
+ }
471
+ if (!Object.keys(gsspExtraHeaders).some((k) => k.toLowerCase() === "cache-control")) gsspExtraHeaders["Cache-Control"] = NEVER_CACHE_CONTROL;
472
+ }
473
+ const responseHeaders = typeof res.getHeaders === "function" ? res.getHeaders() : void 0;
474
+ const scriptNonce = getScriptNonceFromNodeHeaderSources(req.headers, responseHeaders);
475
+ let earlyFontLinkHeader = "";
476
+ try {
477
+ const earlyPreloads = [];
478
+ const fontGoogleEarly = await importModule(runner, "next/font/google");
479
+ if (typeof fontGoogleEarly.getSSRFontPreloads === "function") earlyPreloads.push(...fontGoogleEarly.getSSRFontPreloads());
480
+ const fontLocalEarly = await importModule(runner, "next/font/local");
481
+ if (typeof fontLocalEarly.getSSRFontPreloads === "function") earlyPreloads.push(...fontLocalEarly.getSSRFontPreloads());
482
+ if (earlyPreloads.length > 0) earlyFontLinkHeader = earlyPreloads.map((p) => `<${p.href}>; rel=preload; as=font; type=${p.type}; crossorigin`).join(", ");
483
+ } catch {}
484
+ if (typeof pageModule.getStaticProps === "function" && !isFallbackRender) {
485
+ const cacheKey = pagesIsrCacheKey(url.split("?")[0]);
486
+ const cached = await isrGet(cacheKey);
487
+ const isOnDemandRevalidate = isOnDemandRevalidateRequest(req.headers[PRERENDER_REVALIDATE_HEADER]);
488
+ if (!isOnDemandRevalidate && cached && !cached.isStale && cached.value.value?.kind === "PAGES" && !cached.value.value.generatedFromDataRequest && !scriptNonce && !isDataReq) {
489
+ const cachedHtml = cached.value.value.html;
490
+ const transformedHtml = await server.transformIndexHtml(url, cachedHtml);
491
+ const { cacheControl: hitCacheControl } = decideIsr({
492
+ cacheState: "HIT",
493
+ kind: "dev",
494
+ revalidateSeconds: getRevalidateDuration(cacheKey) ?? 60
495
+ });
496
+ const hitHeaders = {
497
+ "Content-Type": "text/html",
498
+ ...buildCacheStateHeaders("HIT"),
499
+ "Cache-Control": hitCacheControl
500
+ };
501
+ if (earlyFontLinkHeader) hitHeaders["Link"] = earlyFontLinkHeader;
502
+ res.writeHead(200, hitHeaders);
503
+ res.end(transformedHtml);
504
+ return;
505
+ }
506
+ if (!isOnDemandRevalidate && cached && cached.isStale && cached.value.value?.kind === "PAGES" && !cached.value.value.generatedFromDataRequest && !scriptNonce && !isDataReq) {
507
+ const cachedHtml = cached.value.value.html;
508
+ const transformedHtml = await server.transformIndexHtml(url, cachedHtml);
509
+ triggerBackgroundRegeneration(cacheKey, async () => {
510
+ return runWithRequestContext(createRequestContext({
511
+ executionContext: null,
512
+ ssrContext: {
513
+ pathname: patternToNextFormat(route.pattern),
514
+ query,
515
+ asPath: requestAsPath,
516
+ navigationIsReady,
517
+ locale: locale ?? currentDefaultLocale,
518
+ locales: i18nConfig?.locales,
519
+ defaultLocale: currentDefaultLocale
520
+ },
521
+ i18nContext: i18nConfig ? {
522
+ locale: locale ?? currentDefaultLocale,
523
+ locales: i18nConfig.locales,
524
+ defaultLocale: currentDefaultLocale,
525
+ domainLocales,
526
+ hostname: req.headers.host?.split(":", 1)[0]
527
+ } : null
528
+ }), async () => {
529
+ ensureFetchPatch();
530
+ let freshPageProps = {};
531
+ let freshRenderProps = { pageProps: freshPageProps };
532
+ let RegenApp = null;
533
+ const appPath = path.join(pagesDir, "_app");
534
+ if (findFileWithExtensions(appPath, matcher)) try {
535
+ RegenApp = (await runner.import(appPath)).default ?? null;
536
+ } catch {}
537
+ if (RegenApp && hasPagesGetInitialProps(RegenApp)) {
538
+ const regenReq = {
539
+ url: req.url,
540
+ headers: req.headers,
541
+ method: req.method
542
+ };
543
+ const regenRes = {
544
+ headersSent: false,
545
+ writableEnded: false,
546
+ statusCode: 200,
547
+ getHeaders() {
548
+ return {};
549
+ }
550
+ };
551
+ const initialProps = await loadPagesGetInitialProps(RegenApp, {
552
+ AppTree: (appTreeProps) => {
553
+ const appTree = React.createElement(RegenApp, {
554
+ ...appTreeProps,
555
+ Component: pageModule.default,
556
+ pageProps: appTreeProps.pageProps,
557
+ router: routerShim.default
558
+ });
559
+ return typeof routerShim.wrapWithRouterContext === "function" ? routerShim.wrapWithRouterContext(appTree) : appTree;
560
+ },
561
+ Component: pageModule.default,
562
+ router: {
563
+ pathname: patternToNextFormat(route.pattern),
564
+ query,
565
+ asPath: requestAsPath
566
+ },
567
+ ctx: {
568
+ req: regenReq,
569
+ res: regenRes,
570
+ pathname: patternToNextFormat(route.pattern),
571
+ query,
572
+ asPath: requestAsPath,
573
+ locale: locale ?? currentDefaultLocale,
574
+ locales: i18nConfig?.locales,
575
+ defaultLocale: currentDefaultLocale
576
+ }
577
+ });
578
+ if (regenRes.headersSent || regenRes.writableEnded) return;
579
+ if (initialProps) {
580
+ freshRenderProps = initialProps;
581
+ freshPageProps = isUnknownRecord(initialProps.pageProps) ? initialProps.pageProps : {};
582
+ }
583
+ }
584
+ const freshResult = await pageModule.getStaticProps({
585
+ params: userFacingParams,
586
+ locale: locale ?? currentDefaultLocale,
587
+ locales: i18nConfig?.locales,
588
+ defaultLocale: currentDefaultLocale,
589
+ revalidateReason: "stale"
590
+ });
591
+ if (freshResult && "props" in freshResult) {
592
+ const revalidate = typeof freshResult.revalidate === "number" ? freshResult.revalidate : cached.value.cacheControl?.revalidate ?? 0;
593
+ if (revalidate > 0) {
594
+ freshPageProps = {
595
+ ...freshPageProps,
596
+ ...freshResult.props
597
+ };
598
+ freshRenderProps = {
599
+ ...freshRenderProps,
600
+ pageProps: freshPageProps
601
+ };
602
+ if (typeof routerShim.setSSRContext === "function") routerShim.setSSRContext({
603
+ pathname: patternToNextFormat(route.pattern),
604
+ query,
605
+ asPath: requestAsPath,
606
+ navigationIsReady,
607
+ locale: locale ?? currentDefaultLocale,
608
+ locales: i18nConfig?.locales,
609
+ defaultLocale: currentDefaultLocale,
610
+ domainLocales
611
+ });
612
+ if (i18nConfig) {
613
+ await runner.import("vinext/i18n-state");
614
+ const i18nCtx = await importModule(runner, "vinext/i18n-context");
615
+ if (typeof i18nCtx.setI18nContext === "function") i18nCtx.setI18nContext({
616
+ locale: locale ?? currentDefaultLocale,
617
+ locales: i18nConfig.locales,
618
+ defaultLocale: currentDefaultLocale,
619
+ domainLocales,
620
+ hostname: req.headers.host?.split(":", 1)[0]
621
+ });
622
+ }
623
+ let el = RegenApp ? React.createElement(RegenApp, {
624
+ ...freshRenderProps,
625
+ Component: pageModule.default,
626
+ pageProps: freshRenderProps.pageProps,
627
+ router: routerShim.default
628
+ }) : React.createElement(pageModule.default, freshPageProps);
629
+ if (routerShim.wrapWithRouterContext) el = routerShim.wrapWithRouterContext(el);
630
+ const freshBody = await renderIsrPassToStringAsync(withScriptNonce(el, scriptNonce));
631
+ const viteRoot = server.config.root;
632
+ const viteBase = server.config.base;
633
+ const regenPageUrl = createPagesDevModuleUrl(viteRoot, route.filePath, viteBase);
634
+ const regenAppUrl = RegenApp ? createPagesDevModuleUrl(viteRoot, path.join(pagesDir, "_app"), viteBase) : null;
635
+ const freshPagesNextData = {
636
+ ...pagesNextData,
637
+ __vinext: {
638
+ ...pagesNextData.__vinext,
639
+ pageModuleUrl: regenPageUrl,
640
+ appModuleUrl: regenAppUrl,
641
+ hasMiddleware
642
+ }
643
+ };
644
+ await isrSet(cacheKey, buildPagesCacheValue(`<!DOCTYPE html><html><head></head><body><div id="__next">${freshBody}</div>${`<script id="__NEXT_DATA__" type="application/json">${safeJsonStringify({
645
+ props: freshRenderProps,
646
+ page: patternToNextFormat(route.pattern),
647
+ query: params,
648
+ buildId: process.env.__VINEXT_BUILD_ID,
649
+ isFallback: false,
650
+ locale: locale ?? currentDefaultLocale,
651
+ locales: i18nConfig?.locales,
652
+ defaultLocale: currentDefaultLocale,
653
+ domainLocales,
654
+ ...freshPagesNextData
655
+ })}<\/script>`}\n ${cachedHtml.match(/<script type="module">[\s\S]*?<\/script>/)?.[0] ?? ""}</body></html>`, freshRenderProps), revalidate);
656
+ setRevalidateDuration(cacheKey, revalidate);
657
+ }
658
+ }
659
+ });
660
+ }, {
661
+ routerKind: "Pages Router",
662
+ routePath: route.pattern,
663
+ routeType: "render"
664
+ });
665
+ const { cacheControl: staleCacheControl } = decideIsr({
666
+ cacheState: "STALE",
667
+ kind: "dev",
668
+ revalidateSeconds: getRevalidateDuration(cacheKey) ?? 60
669
+ });
670
+ const staleHeaders = {
671
+ "Content-Type": "text/html",
672
+ ...buildCacheStateHeaders("STALE"),
673
+ "Cache-Control": staleCacheControl
674
+ };
675
+ if (earlyFontLinkHeader) staleHeaders["Link"] = earlyFontLinkHeader;
676
+ res.writeHead(200, staleHeaders);
677
+ res.end(transformedHtml);
678
+ return;
679
+ }
680
+ const context = {
681
+ params: userFacingParams,
682
+ locale: locale ?? currentDefaultLocale,
683
+ locales: i18nConfig?.locales,
684
+ defaultLocale: currentDefaultLocale,
685
+ revalidateReason: isOnDemandRevalidate ? "on-demand" : "stale"
686
+ };
687
+ const generatedPageData = !isOnDemandRevalidate && cached?.isStale === false && cached?.value.value?.kind === "PAGES" && cached.value.value.generatedFromDataRequest && isUnknownRecord(cached.value.value.pageData) ? cached.value.value.pageData : null;
688
+ if (!generatedPageData && await loadAppInitialProps()) return;
689
+ const result = generatedPageData ? null : await pageModule.getStaticProps(context);
690
+ if (generatedPageData) {
691
+ renderProps = generatedPageData;
692
+ pageProps = isUnknownRecord(renderProps.pageProps) ? renderProps.pageProps : {};
693
+ }
694
+ if (result && "props" in result) {
695
+ pageProps = {
696
+ ...pageProps,
697
+ ...await Promise.resolve(result.props)
698
+ };
699
+ renderProps = {
700
+ ...renderProps,
701
+ pageProps
702
+ };
703
+ }
704
+ if (result && "redirect" in result) {
705
+ writeGsspRedirect(res, result.redirect, isDataReq, renderProps);
706
+ return;
707
+ }
708
+ if (result && "notFound" in result && result.notFound) {
709
+ if (isDataReq) {
710
+ const deploymentId = process.env.__VINEXT_DEPLOYMENT_ID || process.env.NEXT_DEPLOYMENT_ID;
711
+ const notFoundHeaders = { "Content-Type": "application/json" };
712
+ if (deploymentId) notFoundHeaders[NEXTJS_DEPLOYMENT_ID_HEADER] = deploymentId;
713
+ res.writeHead(404, notFoundHeaders);
714
+ res.end("{}");
715
+ return;
716
+ }
717
+ await renderErrorPage(server, runner, req, res, url, pagesDir, 404, routerShim.wrapWithRouterContext);
718
+ return;
719
+ }
720
+ if (result && "props" in result) isSerializableProps(patternToNextFormat(route.pattern), "getStaticProps", pageProps);
721
+ if (typeof result?.revalidate === "number" && result.revalidate > 0) isrRevalidateSeconds = result.revalidate;
722
+ else if (cached?.value.value?.kind === "PAGES" && cached.value.value.generatedFromDataRequest) isrRevalidateSeconds = cached.value.cacheControl?.revalidate ?? 31536e3;
723
+ }
724
+ if (typeof pageModule.getServerSideProps !== "function" && typeof pageModule.getStaticProps !== "function" && hasAppGetInitialProps) {
725
+ if (await loadAppInitialProps()) return;
726
+ }
727
+ if (typeof pageModule.getServerSideProps !== "function" && typeof pageModule.getStaticProps !== "function" && !hasAppGetInitialProps) {
728
+ const initialProps = await loadPagesGetInitialProps(PageComponent, {
729
+ req,
730
+ res,
731
+ pathname: patternToNextFormat(route.pattern),
732
+ query,
733
+ asPath: requestAsPath,
734
+ locale: locale ?? currentDefaultLocale,
735
+ locales: i18nConfig?.locales,
736
+ defaultLocale: currentDefaultLocale
737
+ });
738
+ if (res.headersSent || res.writableEnded) return;
739
+ if (initialProps) {
740
+ pageProps = {
741
+ ...pageProps,
742
+ ...initialProps
743
+ };
744
+ renderProps = {
745
+ ...renderProps,
746
+ pageProps
747
+ };
748
+ }
749
+ }
750
+ if (isDataReq) {
751
+ if (shouldPersistFallbackData) {
752
+ const cacheKey = pagesIsrCacheKey(url.split("?")[0]);
753
+ const revalidateSeconds = isrRevalidateSeconds ?? 31536e3;
754
+ await isrSet(cacheKey, {
755
+ kind: "PAGES",
756
+ html: "",
757
+ pageData: renderProps,
758
+ generatedFromDataRequest: true,
759
+ headers: void 0,
760
+ status: void 0
761
+ }, revalidateSeconds);
762
+ setRevalidateDuration(cacheKey, revalidateSeconds);
763
+ }
764
+ const dataHeaders = { "Content-Type": "application/json" };
765
+ if (gsspExtraHeaders) for (const [k, v] of Object.entries(gsspExtraHeaders)) dataHeaders[k] = v;
766
+ const dataRoutePattern = patternToNextFormat(route.pattern);
767
+ if (dataRoutePattern !== "/_error" && dataRoutePattern !== "/500") {
768
+ const deploymentId = process.env.__VINEXT_DEPLOYMENT_ID || process.env.NEXT_DEPLOYMENT_ID;
769
+ if (deploymentId) dataHeaders[NEXTJS_DEPLOYMENT_ID_HEADER] = deploymentId;
770
+ }
771
+ res.writeHead(statusCode ?? 200, dataHeaders);
772
+ res.end(JSON.stringify(renderProps));
773
+ _renderEnd = now();
774
+ return;
775
+ }
776
+ const createElement = React.createElement;
777
+ let element;
778
+ const wrapWithRouterContext = routerShim.wrapWithRouterContext;
779
+ if (AppComponent) element = createElement(AppComponent, {
780
+ ...renderProps,
781
+ Component: PageComponent,
782
+ pageProps: renderProps.pageProps,
783
+ router: routerShim.default
784
+ });
785
+ else element = createElement(PageComponent, pageProps);
786
+ if (wrapWithRouterContext) element = wrapWithRouterContext(element);
787
+ const headShim = await importModule(runner, "next/head");
788
+ if (typeof headShim.resetSSRHead === "function") headShim.resetSSRHead();
789
+ const dynamicShim = await importModule(runner, "next/dynamic");
790
+ if (typeof dynamicShim.flushPreloads === "function") await dynamicShim.flushPreloads();
791
+ const nonceAttr = createNonceAttribute(scriptNonce);
792
+ let fontHeadHTML = "";
793
+ const allFontStyles = [];
794
+ const allFontPreloads = [];
795
+ try {
796
+ const fontGoogle = await importModule(runner, "next/font/google");
797
+ if (typeof fontGoogle.getSSRFontLinks === "function") {
798
+ const fontUrls = fontGoogle.getSSRFontLinks();
799
+ for (const fontUrl of fontUrls) {
800
+ const safeFontUrl = fontUrl.replace(/&/g, "&amp;").replace(/"/g, "&quot;");
801
+ fontHeadHTML += `<link rel="stylesheet"${nonceAttr} href="${safeFontUrl}" />\n `;
802
+ }
803
+ }
804
+ if (typeof fontGoogle.getSSRFontStyles === "function") allFontStyles.push(...fontGoogle.getSSRFontStyles());
805
+ if (typeof fontGoogle.getSSRFontPreloads === "function") allFontPreloads.push(...fontGoogle.getSSRFontPreloads());
806
+ } catch {}
807
+ try {
808
+ const fontLocal = await importModule(runner, "next/font/local");
809
+ if (typeof fontLocal.getSSRFontStyles === "function") allFontStyles.push(...fontLocal.getSSRFontStyles());
810
+ if (typeof fontLocal.getSSRFontPreloads === "function") allFontPreloads.push(...fontLocal.getSSRFontPreloads());
811
+ } catch {}
812
+ for (const { href, type } of allFontPreloads) {
813
+ const safeHref = href.replace(/&/g, "&amp;").replace(/"/g, "&quot;");
814
+ const safeType = type.replace(/&/g, "&amp;").replace(/"/g, "&quot;");
815
+ fontHeadHTML += `<link rel="preload"${nonceAttr} href="${safeHref}" as="font" type="${safeType}" crossorigin />\n `;
816
+ }
817
+ if (allFontStyles.length > 0) fontHeadHTML += `<style data-vinext-fonts${nonceAttr}>${allFontStyles.join("\n")}</style>\n `;
818
+ const viteRoot = server.config.root;
819
+ const viteBase = server.config.base;
820
+ const pageModuleUrl = createPagesDevModuleUrl(viteRoot, route.filePath, viteBase);
821
+ const pageModuleSource = createPagesDevModuleUrl(viteRoot, route.filePath, "/");
822
+ const appModuleUrl = AppComponent ? createPagesDevModuleUrl(viteRoot, path.join(pagesDir, "_app"), viteBase) : null;
823
+ const appModuleSource = AppComponent ? createPagesDevModuleUrl(viteRoot, path.join(pagesDir, "_app"), "/") : null;
824
+ const serializedPagesNextData = {
825
+ ...pagesNextData,
826
+ __vinext: {
827
+ ...pagesNextData.__vinext,
828
+ pageModuleUrl,
829
+ appModuleUrl,
830
+ hasMiddleware
831
+ }
832
+ };
833
+ const hydrationScript = `
834
+ <script type="module"${nonceAttr}>
835
+ import "vinext/instrumentation-client";
836
+ import React from "react";
837
+ import { hydrateRoot } from "react-dom/client";
838
+ import Router, { wrapWithRouterContext, _initializePagesRouterReadyFromNextData } from "next/router";
839
+
840
+ const nextDataElement = document.getElementById("__NEXT_DATA__");
841
+ if (nextDataElement?.textContent) {
842
+ window.__NEXT_DATA__ = JSON.parse(nextDataElement.textContent);
843
+ window.__VINEXT_LOCALE__ = window.__NEXT_DATA__.locale;
844
+ window.__VINEXT_LOCALES__ = window.__NEXT_DATA__.locales;
845
+ window.__VINEXT_DEFAULT_LOCALE__ = window.__NEXT_DATA__.defaultLocale;
846
+ }
847
+ const nextData = window.__NEXT_DATA__;
848
+ _initializePagesRouterReadyFromNextData(nextData);
849
+ const props = nextData.props && typeof nextData.props === "object" ? nextData.props : {};
850
+ const rawPageProps = props.pageProps;
851
+ const pageProps = rawPageProps && typeof rawPageProps === "object" ? rawPageProps : {};
852
+ window.__VINEXT_PAGE_LOADERS__ = { [nextData.page]: () => import("${pageModuleSource}") };
853
+ window.__VINEXT_APP_LOADER__ = ${appModuleSource ? `() => import("${appModuleSource}")` : "undefined"};
854
+
855
+ async function hydrate() {
856
+ let hydrateRootOptions;
857
+ if (import.meta.env.DEV) {
858
+ const overlay = await import("vinext/dev-error-overlay");
859
+ overlay.installDevErrorOverlay();
860
+ overlay.installViteHmrErrorHandler(import.meta.hot);
861
+ overlay.reportInitialDevServerErrors();
862
+ hydrateRootOptions = {
863
+ onCaughtError: overlay.devOnCaughtError,
864
+ onUncaughtError: overlay.devOnUncaughtError,
865
+ };
866
+ }
867
+
868
+ const pageModule = await import("${pageModuleSource}");
869
+ const PageComponent = pageModule.default;
870
+ let element;
871
+ ${appModuleSource ? `
872
+ const appModule = await import("${appModuleSource}");
873
+ const AppComponent = appModule.default;
874
+ window.__VINEXT_APP__ = AppComponent;
875
+ element = React.createElement(AppComponent, {
876
+ ...props,
877
+ Component: PageComponent,
878
+ pageProps: rawPageProps,
879
+ router: Router,
880
+ });
881
+ ` : `
882
+ element = React.createElement(PageComponent, pageProps);
883
+ `}
884
+ let resolveHydrationCommit;
885
+ const hydrationCommitted = new Promise((resolve) => { resolveHydrationCommit = resolve; });
886
+ element = wrapWithRouterContext(element, resolveHydrationCommit);
887
+ const root = hydrateRoot(document.getElementById("__next"), element, hydrateRootOptions);
888
+ window.__VINEXT_ROOT__ = root;
889
+ await hydrationCommitted;
890
+ const hydratedAt = performance.now();
891
+ window.__VINEXT_HYDRATED_AT = hydratedAt;
892
+ window.__NEXT_HYDRATED = true;
893
+ window.__NEXT_HYDRATED_AT = hydratedAt;
894
+ window.__NEXT_HYDRATED_CB?.();
895
+ if (nextData.isFallback) {
896
+ await Router.replace(window.location.pathname + window.location.search + window.location.hash, undefined, { _h: 1, scroll: false });
897
+ }
898
+ }
899
+ hydrate();
900
+ <\/script>`;
901
+ const nextDataScript = `<script id="__NEXT_DATA__" type="application/json"${nonceAttr}>${safeJsonStringify({
902
+ props: renderProps,
903
+ page: patternToNextFormat(route.pattern),
904
+ query: params,
905
+ buildId: process.env.__VINEXT_BUILD_ID,
906
+ isFallback: isFallbackRender,
907
+ locale: locale ?? currentDefaultLocale,
908
+ locales: i18nConfig?.locales,
909
+ defaultLocale: currentDefaultLocale,
910
+ domainLocales,
911
+ ...serializedPagesNextData
912
+ })}<\/script>`;
913
+ const docPath = path.join(pagesDir, "_document");
914
+ let DocumentComponent = null;
915
+ if (findFileWithExtensions(docPath, matcher)) try {
916
+ DocumentComponent = (await runner.import(docPath)).default ?? null;
917
+ } catch {}
918
+ const allScripts = `${nextDataScript}\n ${createInlineScriptTag(`window.__VINEXT_PAGE_PATTERNS__=${safeJsonStringify(pagePatterns)}`, scriptNonce)}\n ${hydrationScript}`;
919
+ const extraHeaders = { ...gsspExtraHeaders };
920
+ if (isrRevalidateSeconds) if (scriptNonce) extraHeaders["Cache-Control"] = NO_STORE_CACHE_CONTROL;
921
+ else {
922
+ extraHeaders["Cache-Control"] = buildMissIsrCacheControl(isrRevalidateSeconds);
923
+ Object.assign(extraHeaders, buildCacheStateHeaders("MISS"));
924
+ }
925
+ if (allFontPreloads.length > 0) extraHeaders["Link"] = allFontPreloads.map((p) => `<${p.href}>; rel=preload; as=font; type=${p.type}; crossorigin`).join(", ");
926
+ await streamPageToResponse(res, withScriptNonce(element, scriptNonce), {
927
+ url,
928
+ server,
929
+ fontHeadHTML,
930
+ scripts: allScripts,
931
+ DocumentComponent,
932
+ statusCode,
933
+ extraHeaders,
934
+ scriptNonce,
935
+ documentContext: {
936
+ pathname: patternToNextFormat(route.pattern),
937
+ query,
938
+ asPath: requestAsPath
939
+ },
940
+ enhancePageElement: (renderPageOpts) => {
941
+ let FinalApp = AppComponent;
942
+ let FinalComp = PageComponent;
943
+ if (renderPageOpts && typeof renderPageOpts.enhanceApp === "function" && FinalApp) FinalApp = renderPageOpts.enhanceApp(FinalApp);
944
+ if (renderPageOpts && typeof renderPageOpts.enhanceComponent === "function") FinalComp = renderPageOpts.enhanceComponent(FinalComp);
945
+ let enhancedElement;
946
+ if (FinalApp) enhancedElement = createElement(FinalApp, {
947
+ ...renderProps,
948
+ Component: FinalComp,
949
+ pageProps
950
+ });
951
+ else enhancedElement = createElement(FinalComp, pageProps);
952
+ if (wrapWithRouterContext) enhancedElement = wrapWithRouterContext(enhancedElement);
953
+ return enhancedElement;
954
+ },
955
+ getHeadHTML: () => {
956
+ const headHTML = typeof headShim.getSSRHeadHTML === "function" ? headShim.getSSRHeadHTML() : "";
957
+ const traceHTML = getClientTraceMetadataHTML(clientTraceMetadata);
958
+ return traceHTML ? `${headHTML}\n ${traceHTML}` : headHTML;
959
+ },
960
+ setDocumentInitialHead: typeof headShim.setDocumentInitialHead === "function" ? headShim.setDocumentInitialHead : void 0,
961
+ bufferBodyBeforeHeaders: true
962
+ });
963
+ _renderEnd = now();
964
+ if (typeof routerShim.setSSRContext === "function") routerShim.setSSRContext(null);
965
+ if (!scriptNonce && isrRevalidateSeconds !== null && isrRevalidateSeconds > 0) {
966
+ let isrElement = AppComponent ? createElement(AppComponent, {
967
+ ...renderProps,
968
+ Component: pageModule.default,
969
+ pageProps
970
+ }) : createElement(pageModule.default, pageProps);
971
+ if (wrapWithRouterContext) isrElement = wrapWithRouterContext(isrElement);
972
+ const isrHtml = `<!DOCTYPE html><html><head></head><body><div id="__next">${await renderIsrPassToStringAsync(withScriptNonce(isrElement, scriptNonce))}</div>${allScripts}</body></html>`;
973
+ const cacheKey = pagesIsrCacheKey(url.split("?")[0]);
974
+ await isrSet(cacheKey, buildPagesCacheValue(isrHtml, pageProps), isrRevalidateSeconds);
975
+ setRevalidateDuration(cacheKey, isrRevalidateSeconds);
976
+ }
977
+ } catch (e) {
978
+ console.error(e);
979
+ reportRequestError(e instanceof Error ? e : new Error(String(e)), {
980
+ path: url,
981
+ method: req.method ?? "GET",
982
+ headers: Object.fromEntries(Object.entries(req.headers).filter(([k]) => !k.startsWith(":")).map(([k, v]) => [k, Array.isArray(v) ? v.join(", ") : String(v ?? "")]))
983
+ }, {
984
+ routerKind: "Pages Router",
985
+ routePath: route.pattern,
986
+ routeType: "render"
987
+ }).catch(() => {});
988
+ try {
989
+ await renderErrorPage(server, runner, req, res, url, pagesDir, 500, void 0, matcher, e instanceof Error ? e : new Error(String(e)));
990
+ } catch (fallbackErr) {
991
+ res.statusCode = 500;
992
+ res.end(`Internal Server Error: ${fallbackErr.message}`);
993
+ }
994
+ }
995
+ });
996
+ };
997
+ }
998
+ /**
999
+ * Render a custom error page (404.tsx, 500.tsx, or _error.tsx).
1000
+ *
1001
+ * Next.js resolution order:
1002
+ * - 404: pages/404.tsx -> pages/_error.tsx -> default
1003
+ * - 500: pages/500.tsx -> pages/_error.tsx -> default
1004
+ * - other: pages/_error.tsx -> default
1005
+ */
1006
+ async function renderErrorPage(server, runner, req, res, url, pagesDir, statusCode, wrapWithRouterContext, fileMatcher, err) {
1007
+ const matcher = fileMatcher ?? createValidFileMatcher();
1008
+ const candidates = statusCode === 404 ? ["404", "_error"] : statusCode === 500 ? ["500", "_error"] : ["_error"];
1009
+ for (const candidate of candidates) try {
1010
+ const candidatePath = path.join(pagesDir, candidate);
1011
+ if (!findFileWithExtensions(candidatePath, matcher)) continue;
1012
+ const ErrorComponent = (await importModule(runner, candidatePath)).default;
1013
+ if (!ErrorComponent) continue;
1014
+ let AppComponent = null;
1015
+ const appPathErr = path.join(pagesDir, "_app");
1016
+ if (findFileWithExtensions(appPathErr, matcher)) try {
1017
+ AppComponent = (await importModule(runner, appPathErr)).default ?? null;
1018
+ } catch {}
1019
+ const createElement = React.createElement;
1020
+ const initialErrorProps = await loadPagesGetInitialProps(ErrorComponent, {
1021
+ req,
1022
+ res,
1023
+ err,
1024
+ pathname: candidate === "_error" ? "/_error" : `/${candidate}`,
1025
+ query: parseQueryString(url),
1026
+ asPath: url
1027
+ });
1028
+ if (res.headersSent || res.writableEnded) return;
1029
+ const errorProps = {
1030
+ ...initialErrorProps,
1031
+ statusCode
1032
+ };
1033
+ let wrapFn = wrapWithRouterContext;
1034
+ if (!wrapFn) try {
1035
+ wrapFn = (await importModule(runner, "next/router")).wrapWithRouterContext;
1036
+ } catch {}
1037
+ let DocumentComponent = null;
1038
+ const docPathErr = path.join(pagesDir, "_document");
1039
+ if (findFileWithExtensions(docPathErr, matcher)) try {
1040
+ DocumentComponent = (await importModule(runner, docPathErr)).default ?? null;
1041
+ } catch {}
1042
+ const createErrorElement = (FinalApp, FinalComponent) => {
1043
+ let errorElement = FinalApp ? createElement(FinalApp, {
1044
+ Component: FinalComponent,
1045
+ pageProps: errorProps
1046
+ }) : createElement(FinalComponent, errorProps);
1047
+ if (wrapFn) errorElement = wrapFn(errorElement);
1048
+ return errorElement;
1049
+ };
1050
+ const element = createErrorElement(AppComponent, ErrorComponent);
1051
+ const headShim = await importModule(runner, "next/head");
1052
+ if (typeof headShim.resetSSRHead === "function") headShim.resetSSRHead();
1053
+ if (DocumentComponent) {
1054
+ const errorPathname = candidate === "_error" ? "/_error" : `/${candidate}`;
1055
+ await streamPageToResponse(res, element, {
1056
+ url,
1057
+ server,
1058
+ fontHeadHTML: "",
1059
+ scripts: "",
1060
+ DocumentComponent,
1061
+ statusCode,
1062
+ documentContext: {
1063
+ err,
1064
+ pathname: errorPathname,
1065
+ query: parseQueryString(url),
1066
+ asPath: url,
1067
+ req,
1068
+ res
1069
+ },
1070
+ enhancePageElement: (renderPageOpts) => {
1071
+ let FinalApp = AppComponent;
1072
+ let FinalComponent = ErrorComponent;
1073
+ if (renderPageOpts.enhanceApp && FinalApp) FinalApp = renderPageOpts.enhanceApp(FinalApp);
1074
+ if (renderPageOpts.enhanceComponent) FinalComponent = renderPageOpts.enhanceComponent(FinalComponent);
1075
+ return createErrorElement(FinalApp, FinalComponent);
1076
+ },
1077
+ getHeadHTML: () => typeof headShim.getSSRHeadHTML === "function" ? headShim.getSSRHeadHTML() : "",
1078
+ setDocumentInitialHead: typeof headShim.setDocumentInitialHead === "function" ? headShim.setDocumentInitialHead : void 0
1079
+ });
1080
+ } else {
1081
+ const html = `<!DOCTYPE html>
1082
+ <html>
1083
+ <head>
1084
+ <meta charset="utf-8" />
1085
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
1086
+ </head>
1087
+ <body>
1088
+ <div id="__next">${await renderToStringAsync(element)}</div>
1089
+ </body>
1090
+ </html>`;
1091
+ const transformedHtml = await server.transformIndexHtml(url, html);
1092
+ res.writeHead(statusCode, { "Content-Type": "text/html" });
1093
+ res.end(transformedHtml);
1094
+ }
1095
+ return;
1096
+ } catch {
1097
+ if (res.headersSent || res.writableEnded) return;
1098
+ continue;
1099
+ }
1100
+ if (statusCode === 404) {
1101
+ const defaultResponse = buildDefaultPagesNotFoundResponse();
1102
+ const headers = {};
1103
+ defaultResponse.headers.forEach((value, key) => {
1104
+ headers[key] = value;
1105
+ });
1106
+ res.writeHead(defaultResponse.status, headers);
1107
+ res.end(await defaultResponse.text());
1108
+ return;
1109
+ }
1110
+ res.writeHead(statusCode, { "Content-Type": "text/plain" });
1111
+ res.end(`${statusCode} - Internal Server Error`);
1112
+ }
1113
+ //#endregion
1114
+ export { createSSRHandler, detectLocaleFromHeaders, extractLocaleFromUrl, parseCookieLocale };