@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,132 @@
1
+ import { LayoutBuildClassification } from "./layout-classification-types.js";
2
+ import { Route } from "../routing/pages-router.js";
3
+ import { AppRoute } from "../routing/app-route-graph.js";
4
+ import { PrerenderResult } from "./prerender.js";
5
+
6
+ //#region src/build/report.d.ts
7
+ type RouteType = "static" | "isr" | "ssr" | "unknown" | "api";
8
+ type RouteRow = {
9
+ pattern: string;
10
+ type: RouteType; /** Only set for `isr` routes. */
11
+ revalidate?: number;
12
+ /**
13
+ * True when the route was classified as `static` by speculative prerender
14
+ * (i.e. was `unknown` from static analysis but rendered successfully).
15
+ * Used by `formatBuildReport` to add a note in the legend.
16
+ */
17
+ prerendered?: boolean;
18
+ };
19
+ type AppRouteRenderEntry = Pick<AppRoute, "pagePath" | "routePath" | "parallelSlots">;
20
+ declare function getAppRouteRenderEntryPath(route: AppRouteRenderEntry): string | null;
21
+ /**
22
+ * Returns true if the source code contains an export declaration with the given name.
23
+ * For re-export specifiers, this intentionally follows Next.js' static analyzer
24
+ * and checks the local/original binding name.
25
+ * Handles all three common export forms:
26
+ * export function foo() {}
27
+ * export const foo = ...
28
+ * export { foo }
29
+ */
30
+ declare function hasNamedExport(code: string, name: string): boolean;
31
+ /**
32
+ * Extracts the string value of `export const <name> = "value"`.
33
+ * Handles TypeScript annotations/assertions and no-substitution template literals.
34
+ * Returns null if the export is absent or not a string literal.
35
+ */
36
+ declare function extractExportConstString(code: string, name: string): string | null;
37
+ /**
38
+ * Extracts the numeric value of `export const <name> = <number|false>`.
39
+ * Supports integers, decimals, negative values, `Infinity`, and `false`.
40
+ * `false` is returned as `Infinity` because `export const revalidate = false`
41
+ * means "cache indefinitely" in Next.js segment config.
42
+ * Handles TypeScript annotations/assertions and JavaScript numeric separators.
43
+ * Returns null if the export is absent or not a number/`false`.
44
+ */
45
+ declare function extractExportConstNumber(code: string, name: string): number | null;
46
+ /**
47
+ * Extracts the `revalidate` value from inside a `getStaticProps` return object.
48
+ * Looks for: revalidate: <number> or revalidate: false or revalidate: Infinity
49
+ *
50
+ * Returns:
51
+ * number — a positive revalidation interval (enables ISR)
52
+ * 0 — treat as SSR (revalidate every request)
53
+ * false — fully static (no revalidation)
54
+ * Infinity — fully static (treated same as false by Next.js)
55
+ * null — no `revalidate` key found (fully static)
56
+ */
57
+ declare function extractGetStaticPropsRevalidate(code: string): number | false | null;
58
+ /**
59
+ * Classifies a layout file by its segment config exports (`dynamic`, `revalidate`).
60
+ *
61
+ * Returns a tagged `LayoutBuildClassification` carrying both the decision and
62
+ * the specific segment-config field that produced it. `{ kind: "absent" }`
63
+ * means no segment config is present and the caller should defer to the next
64
+ * layer (module graph analysis).
65
+ *
66
+ * Unlike page classification, positive `revalidate` values are not meaningful
67
+ * for layout skip decisions — ISR is a page-level concept. Only the extremes
68
+ * (`revalidate = 0` → dynamic, `revalidate = Infinity` → static) are decisive.
69
+ */
70
+ declare function classifyLayoutSegmentConfig(code: string): LayoutBuildClassification;
71
+ /**
72
+ * Classifies a Pages Router page file by reading its source and examining
73
+ * which data-fetching exports it contains.
74
+ *
75
+ * API routes (files under pages/api/) are always `api`.
76
+ */
77
+ declare function classifyPagesRoute(filePath: string): {
78
+ type: RouteType;
79
+ revalidate?: number;
80
+ };
81
+ /**
82
+ * Classifies an App Router route.
83
+ *
84
+ * @param pagePath Absolute path to the page.tsx (null for API-only routes)
85
+ * @param routePath Absolute path to the route.ts handler (null for page routes)
86
+ * @param isDynamic Whether the URL pattern contains dynamic segments
87
+ */
88
+ declare function classifyAppRoute(pagePath: string | null, routePath: string | null, isDynamic: boolean): {
89
+ type: RouteType;
90
+ revalidate?: number;
91
+ };
92
+ /**
93
+ * Builds a sorted list of RouteRow objects from the discovered routes.
94
+ * Routes are sorted alphabetically by path, matching filesystem order.
95
+ *
96
+ * When `prerenderResult` is provided, routes that were classified as `unknown`
97
+ * by static analysis but were successfully rendered speculatively are upgraded
98
+ * to `static` (confirmed by execution). The `prerendered` flag is set on those
99
+ * rows so the formatter can add a legend note.
100
+ */
101
+ declare function buildReportRows(options: {
102
+ pageRoutes?: Route[];
103
+ apiRoutes?: Route[];
104
+ appRoutes?: AppRoute[];
105
+ prerenderResult?: PrerenderResult;
106
+ }): RouteRow[];
107
+ /**
108
+ * Formats a list of RouteRows into a Next.js-style build report string.
109
+ *
110
+ * Example output:
111
+ * Route (pages)
112
+ * ┌ ○ /
113
+ * ├ ◐ /blog/:slug (60s)
114
+ * ├ ƒ /dashboard
115
+ * └ λ /api/posts
116
+ *
117
+ * ○ Static ◐ ISR ƒ Dynamic λ API
118
+ */
119
+ declare function formatBuildReport(rows: RouteRow[], routerLabel?: string): string;
120
+ /**
121
+ * Scans the project at `root`, classifies all routes, and prints the
122
+ * Next.js-style build report to stdout.
123
+ *
124
+ * Called at the end of `vinext build` in cli.ts.
125
+ */
126
+ declare function printBuildReport(options: {
127
+ root: string;
128
+ pageExtensions: string[];
129
+ prerenderResult?: PrerenderResult;
130
+ }): Promise<void>;
131
+ //#endregion
132
+ export { RouteRow, RouteType, buildReportRows, classifyAppRoute, classifyLayoutSegmentConfig, classifyPagesRoute, extractExportConstNumber, extractExportConstString, extractGetStaticPropsRevalidate, formatBuildReport, getAppRouteRenderEntryPath, hasNamedExport, printBuildReport };
@@ -0,0 +1,504 @@
1
+ import { findDir } from "../utils/project.js";
2
+ import fs from "node:fs";
3
+ import { parseSync } from "vite";
4
+ //#region src/build/report.ts
5
+ /**
6
+ * Build report — prints a Next.js-style route table after `vinext build`.
7
+ *
8
+ * Classifies every discovered route as:
9
+ * ○ Static — confirmed static: force-static or revalidate=Infinity
10
+ * ◐ ISR — statically rendered, revalidated on a timer (revalidate=N)
11
+ * ƒ Dynamic — confirmed dynamic: force-dynamic, revalidate=0, or getServerSideProps
12
+ * ? Unknown — no explicit config; likely dynamic but not confirmed
13
+ * λ API — API route handler
14
+ *
15
+ * Classification uses AST-based static source analysis (no module execution).
16
+ * Runtime/prerender results are still treated as stronger evidence where
17
+ * available; AST analysis only reads top-level static exports.
18
+ *
19
+ * Limitation: without running the build, we cannot detect dynamic API usage
20
+ * (headers(), cookies(), connection(), etc.) that implicitly forces a route
21
+ * dynamic. Routes without explicit `export const dynamic` or
22
+ * `export const revalidate` are classified as "unknown" rather than "static"
23
+ * to avoid false confidence.
24
+ */
25
+ function getAppRouteRenderEntryPath(route) {
26
+ if (route.pagePath) return route.pagePath;
27
+ if (route.routePath) return null;
28
+ for (const slot of route.parallelSlots) if (slot.pagePath) return slot.pagePath;
29
+ for (const slot of route.parallelSlots) if (slot.defaultPath) return slot.defaultPath;
30
+ return null;
31
+ }
32
+ function parseRouteModuleWithLang(code, lang) {
33
+ try {
34
+ const result = parseSync(`vinext-route.${lang}`, code, {
35
+ astType: "ts",
36
+ lang,
37
+ sourceType: "module"
38
+ });
39
+ return result.errors.some((error) => error.severity === "Error") ? null : result.program;
40
+ } catch {
41
+ return null;
42
+ }
43
+ }
44
+ function parseRouteModule(code) {
45
+ return parseRouteModuleWithLang(code, "tsx") ?? parseRouteModuleWithLang(code, "ts");
46
+ }
47
+ function moduleExportNameValue(name) {
48
+ if (name.type === "Identifier") return name.name;
49
+ if (name.type === "Literal" && typeof name.value === "string") return name.value;
50
+ return null;
51
+ }
52
+ function bindingName(pattern) {
53
+ return pattern.type === "Identifier" ? pattern.name : null;
54
+ }
55
+ function declarationHasBindingName(declaration, name) {
56
+ if (declaration === null) return false;
57
+ if (declaration.type === "FunctionDeclaration") return declaration.id?.name === name;
58
+ if (declaration.type !== "VariableDeclaration") return false;
59
+ return declaration.declarations.some((declaration) => bindingName(declaration.id) === name);
60
+ }
61
+ /**
62
+ * Returns true if the source code contains an export declaration with the given name.
63
+ * For re-export specifiers, this intentionally follows Next.js' static analyzer
64
+ * and checks the local/original binding name.
65
+ * Handles all three common export forms:
66
+ * export function foo() {}
67
+ * export const foo = ...
68
+ * export { foo }
69
+ */
70
+ function hasNamedExport(code, name) {
71
+ const program = parseRouteModule(code);
72
+ if (!program) return false;
73
+ return hasNamedExportInProgram(program, name);
74
+ }
75
+ function hasNamedExportInProgram(program, name) {
76
+ for (const node of program.body) {
77
+ if (node.type !== "ExportNamedDeclaration") continue;
78
+ if (declarationHasBindingName(node.declaration, name)) return true;
79
+ for (const specifier of node.specifiers) if (moduleExportNameValue(specifier.local) === name) return true;
80
+ }
81
+ return false;
82
+ }
83
+ function unwrapStaticExpression(expression) {
84
+ let current = expression;
85
+ while (current.type === "ParenthesizedExpression" || current.type === "TSAsExpression" || current.type === "TSSatisfiesExpression" || current.type === "TSTypeAssertion" || current.type === "TSNonNullExpression") current = current.expression;
86
+ return current;
87
+ }
88
+ function findExportedConstInitializer(code, name) {
89
+ const program = parseRouteModule(code);
90
+ if (!program) return null;
91
+ return findExportedConstInitializerInProgram(program, name);
92
+ }
93
+ function findExportedConstInitializerInProgram(program, name) {
94
+ for (const node of program.body) {
95
+ if (node.type !== "ExportNamedDeclaration") continue;
96
+ const declaration = node.declaration;
97
+ if (declaration?.type !== "VariableDeclaration" || declaration.kind !== "const") continue;
98
+ for (const declarator of declaration.declarations) if (bindingName(declarator.id) === name) return declarator.init;
99
+ }
100
+ return null;
101
+ }
102
+ /**
103
+ * Extracts the string value of `export const <name> = "value"`.
104
+ * Handles TypeScript annotations/assertions and no-substitution template literals.
105
+ * Returns null if the export is absent or not a string literal.
106
+ */
107
+ function extractExportConstString(code, name) {
108
+ return extractStringFromConstInitializer(findExportedConstInitializer(code, name));
109
+ }
110
+ function extractExportConstStringFromProgram(program, name) {
111
+ return extractStringFromConstInitializer(findExportedConstInitializerInProgram(program, name));
112
+ }
113
+ function extractStringFromConstInitializer(initializer) {
114
+ if (initializer === null) return null;
115
+ const expression = unwrapStaticExpression(initializer);
116
+ if (expression.type === "Literal" && typeof expression.value === "string") return expression.value;
117
+ if (expression.type === "TemplateLiteral" && expression.expressions.length === 0) return expression.quasis[0]?.value.cooked ?? expression.quasis[0]?.value.raw ?? null;
118
+ return null;
119
+ }
120
+ /**
121
+ * Extracts the numeric value of `export const <name> = <number|false>`.
122
+ * Supports integers, decimals, negative values, `Infinity`, and `false`.
123
+ * `false` is returned as `Infinity` because `export const revalidate = false`
124
+ * means "cache indefinitely" in Next.js segment config.
125
+ * Handles TypeScript annotations/assertions and JavaScript numeric separators.
126
+ * Returns null if the export is absent or not a number/`false`.
127
+ */
128
+ function extractExportConstNumber(code, name) {
129
+ return extractNumberFromConstInitializer(findExportedConstInitializer(code, name));
130
+ }
131
+ function extractExportConstNumberFromProgram(program, name) {
132
+ return extractNumberFromConstInitializer(findExportedConstInitializerInProgram(program, name));
133
+ }
134
+ function extractNumberFromConstInitializer(initializer) {
135
+ if (initializer === null) return null;
136
+ const value = extractStaticNumberValue(initializer);
137
+ if (value === null) return null;
138
+ return value === false ? Infinity : value;
139
+ }
140
+ /**
141
+ * Extracts the `revalidate` value from inside a `getStaticProps` return object.
142
+ * Looks for: revalidate: <number> or revalidate: false or revalidate: Infinity
143
+ *
144
+ * Returns:
145
+ * number — a positive revalidation interval (enables ISR)
146
+ * 0 — treat as SSR (revalidate every request)
147
+ * false — fully static (no revalidation)
148
+ * Infinity — fully static (treated same as false by Next.js)
149
+ * null — no `revalidate` key found (fully static)
150
+ */
151
+ function extractGetStaticPropsRevalidate(code) {
152
+ const program = parseRouteModule(code);
153
+ if (!program) return extractWrappedGetStaticPropsRevalidate(code);
154
+ return extractGetStaticPropsRevalidateFromProgram(program, code);
155
+ }
156
+ function extractGetStaticPropsRevalidateFromProgram(program, fallbackCode) {
157
+ const getStaticProps = findExportedGetStaticProps(program);
158
+ if (getStaticProps === "external") return null;
159
+ if (getStaticProps === null) return extractWrappedGetStaticPropsRevalidate(fallbackCode);
160
+ return extractFunctionRevalidate(getStaticProps);
161
+ }
162
+ function extractStaticNumberValue(expression) {
163
+ const unwrapped = unwrapStaticExpression(expression);
164
+ if (unwrapped.type === "Literal") {
165
+ if (typeof unwrapped.value === "number") return unwrapped.value;
166
+ if (unwrapped.value === false) return false;
167
+ return null;
168
+ }
169
+ if (unwrapped.type === "Identifier" && unwrapped.name === "Infinity") return Infinity;
170
+ if (unwrapped.type === "UnaryExpression") {
171
+ const argument = extractStaticNumberValue(unwrapped.argument);
172
+ if (typeof argument !== "number") return null;
173
+ if (unwrapped.operator === "-") return -argument;
174
+ if (unwrapped.operator === "+") return argument;
175
+ return null;
176
+ }
177
+ return null;
178
+ }
179
+ function findExportedGetStaticProps(program) {
180
+ let hasLocalGetStaticPropsExport = false;
181
+ for (const node of program.body) {
182
+ if (node.type !== "ExportNamedDeclaration") continue;
183
+ const declaration = node.declaration;
184
+ if (declaration?.type === "FunctionDeclaration" && declaration.id?.name === "getStaticProps") return declaration;
185
+ if (declaration?.type === "VariableDeclaration") {
186
+ const direct = findFunctionLikeVariable(declaration.declarations, "getStaticProps");
187
+ if (direct) return direct;
188
+ }
189
+ for (const specifier of node.specifiers) {
190
+ if (moduleExportNameValue(specifier.local) !== "getStaticProps") continue;
191
+ if (node.source !== null) return "external";
192
+ hasLocalGetStaticPropsExport = true;
193
+ }
194
+ }
195
+ if (!hasLocalGetStaticPropsExport) return null;
196
+ for (const node of program.body) {
197
+ if (node.type === "FunctionDeclaration" && node.id?.name === "getStaticProps") return node;
198
+ if (node.type === "VariableDeclaration") {
199
+ const local = findFunctionLikeVariable(node.declarations, "getStaticProps");
200
+ if (local) return local;
201
+ }
202
+ }
203
+ return null;
204
+ }
205
+ function findFunctionLikeVariable(declarations, name) {
206
+ for (const declaration of declarations) {
207
+ if (bindingName(declaration.id) !== name || declaration.init === null) continue;
208
+ const initializer = unwrapStaticExpression(declaration.init);
209
+ if (initializer.type === "FunctionExpression" || initializer.type === "ArrowFunctionExpression") return initializer;
210
+ }
211
+ return null;
212
+ }
213
+ function extractWrappedGetStaticPropsRevalidate(code) {
214
+ const program = parseRouteModule(`function __vinextGetStaticProps() {\n${code}\n}`);
215
+ if (!program) return null;
216
+ for (const node of program.body) if (node.type === "FunctionDeclaration" && node.id?.name === "__vinextGetStaticProps") return extractFunctionRevalidate(node);
217
+ return null;
218
+ }
219
+ function extractFunctionRevalidate(fn) {
220
+ if (fn.type === "ArrowFunctionExpression" && fn.body.type !== "BlockStatement") {
221
+ const expression = unwrapStaticExpression(fn.body);
222
+ return expression.type === "ObjectExpression" ? extractObjectRevalidate(expression) : null;
223
+ }
224
+ if (!fn.body || fn.body.type !== "BlockStatement") return null;
225
+ return extractBlockRevalidate(fn.body);
226
+ }
227
+ function extractBlockRevalidate(block) {
228
+ for (const statement of block.body) {
229
+ const result = extractStatementRevalidate(statement);
230
+ if (result !== null) return result;
231
+ }
232
+ return null;
233
+ }
234
+ function extractStatementRevalidate(statement) {
235
+ if (statement.type === "ReturnStatement") {
236
+ if (!statement.argument) return null;
237
+ const argument = unwrapStaticExpression(statement.argument);
238
+ return argument.type === "ObjectExpression" ? extractObjectRevalidate(argument) : null;
239
+ }
240
+ if (statement.type === "BlockStatement") return extractBlockRevalidate(statement);
241
+ if (statement.type === "IfStatement") return extractStatementRevalidate(statement.consequent) ?? (statement.alternate ? extractStatementRevalidate(statement.alternate) : null);
242
+ if (statement.type === "ForStatement" || statement.type === "ForInStatement" || statement.type === "ForOfStatement" || statement.type === "WhileStatement" || statement.type === "DoWhileStatement" || statement.type === "WithStatement" || statement.type === "LabeledStatement") return extractStatementRevalidate(statement.body);
243
+ if (statement.type === "SwitchStatement") {
244
+ for (const switchCase of statement.cases) for (const consequent of switchCase.consequent) {
245
+ const result = extractStatementRevalidate(consequent);
246
+ if (result !== null) return result;
247
+ }
248
+ return null;
249
+ }
250
+ if (statement.type === "TryStatement") return extractBlockRevalidate(statement.block) ?? (statement.handler ? extractBlockRevalidate(statement.handler.body) : null) ?? (statement.finalizer ? extractBlockRevalidate(statement.finalizer) : null);
251
+ return null;
252
+ }
253
+ function extractObjectRevalidate(object) {
254
+ for (const property of object.properties) {
255
+ if (property.type !== "Property" || property.computed || propertyName(property.key) !== "revalidate") continue;
256
+ return extractStaticNumberValue(property.value);
257
+ }
258
+ return null;
259
+ }
260
+ function propertyName(key) {
261
+ if (key.type === "Identifier") return key.name;
262
+ if (key.type === "Literal" && typeof key.value === "string") return key.value;
263
+ return null;
264
+ }
265
+ /**
266
+ * Classifies a layout file by its segment config exports (`dynamic`, `revalidate`).
267
+ *
268
+ * Returns a tagged `LayoutBuildClassification` carrying both the decision and
269
+ * the specific segment-config field that produced it. `{ kind: "absent" }`
270
+ * means no segment config is present and the caller should defer to the next
271
+ * layer (module graph analysis).
272
+ *
273
+ * Unlike page classification, positive `revalidate` values are not meaningful
274
+ * for layout skip decisions — ISR is a page-level concept. Only the extremes
275
+ * (`revalidate = 0` → dynamic, `revalidate = Infinity` → static) are decisive.
276
+ */
277
+ function classifyLayoutSegmentConfig(code) {
278
+ const program = parseRouteModule(code);
279
+ const dynamicValue = program ? extractExportConstStringFromProgram(program, "dynamic") : null;
280
+ if (dynamicValue === "force-dynamic") return {
281
+ kind: "dynamic",
282
+ reason: {
283
+ layer: "segment-config",
284
+ key: "dynamic",
285
+ value: "force-dynamic"
286
+ }
287
+ };
288
+ if (dynamicValue === "force-static" || dynamicValue === "error") return {
289
+ kind: "static",
290
+ reason: {
291
+ layer: "segment-config",
292
+ key: "dynamic",
293
+ value: dynamicValue
294
+ }
295
+ };
296
+ const revalidateValue = program ? extractExportConstNumberFromProgram(program, "revalidate") : null;
297
+ if (revalidateValue === Infinity) return {
298
+ kind: "static",
299
+ reason: {
300
+ layer: "segment-config",
301
+ key: "revalidate",
302
+ value: Infinity
303
+ }
304
+ };
305
+ if (revalidateValue === 0) return {
306
+ kind: "dynamic",
307
+ reason: {
308
+ layer: "segment-config",
309
+ key: "revalidate",
310
+ value: 0
311
+ }
312
+ };
313
+ return { kind: "absent" };
314
+ }
315
+ /**
316
+ * Classifies a Pages Router page file by reading its source and examining
317
+ * which data-fetching exports it contains.
318
+ *
319
+ * API routes (files under pages/api/) are always `api`.
320
+ */
321
+ function classifyPagesRoute(filePath) {
322
+ if (filePath.replace(/\\/g, "/").includes("/pages/api/")) return { type: "api" };
323
+ let code;
324
+ try {
325
+ code = fs.readFileSync(filePath, "utf8");
326
+ } catch {
327
+ return { type: "unknown" };
328
+ }
329
+ const program = parseRouteModule(code);
330
+ if (program && hasNamedExportInProgram(program, "getServerSideProps")) return { type: "ssr" };
331
+ if (program && hasNamedExportInProgram(program, "getStaticProps")) {
332
+ const revalidate = extractGetStaticPropsRevalidateFromProgram(program, code);
333
+ if (revalidate === null || revalidate === false || revalidate === Infinity) return { type: "static" };
334
+ if (revalidate === 0) return { type: "ssr" };
335
+ return {
336
+ type: "isr",
337
+ revalidate
338
+ };
339
+ }
340
+ return { type: "static" };
341
+ }
342
+ /**
343
+ * Classifies an App Router route.
344
+ *
345
+ * @param pagePath Absolute path to the page.tsx (null for API-only routes)
346
+ * @param routePath Absolute path to the route.ts handler (null for page routes)
347
+ * @param isDynamic Whether the URL pattern contains dynamic segments
348
+ */
349
+ function classifyAppRoute(pagePath, routePath, isDynamic) {
350
+ if (routePath !== null && pagePath === null) return { type: "api" };
351
+ const filePath = pagePath ?? routePath;
352
+ if (!filePath) return { type: "unknown" };
353
+ let code;
354
+ try {
355
+ code = fs.readFileSync(filePath, "utf8");
356
+ } catch {
357
+ return { type: "unknown" };
358
+ }
359
+ const program = parseRouteModule(code);
360
+ const dynamicValue = program ? extractExportConstStringFromProgram(program, "dynamic") : null;
361
+ if (dynamicValue === "force-dynamic") return { type: "ssr" };
362
+ if (dynamicValue === "force-static" || dynamicValue === "error") return { type: "static" };
363
+ const revalidateValue = program ? extractExportConstNumberFromProgram(program, "revalidate") : null;
364
+ if (revalidateValue !== null) {
365
+ if (revalidateValue === Infinity) return { type: "static" };
366
+ if (revalidateValue === 0) return { type: "ssr" };
367
+ if (revalidateValue > 0) return {
368
+ type: "isr",
369
+ revalidate: revalidateValue
370
+ };
371
+ }
372
+ if (isDynamic) return { type: "ssr" };
373
+ return { type: "unknown" };
374
+ }
375
+ /**
376
+ * Builds a sorted list of RouteRow objects from the discovered routes.
377
+ * Routes are sorted alphabetically by path, matching filesystem order.
378
+ *
379
+ * When `prerenderResult` is provided, routes that were classified as `unknown`
380
+ * by static analysis but were successfully rendered speculatively are upgraded
381
+ * to `static` (confirmed by execution). The `prerendered` flag is set on those
382
+ * rows so the formatter can add a legend note.
383
+ */
384
+ function buildReportRows(options) {
385
+ const rows = [];
386
+ const renderedRoutes = /* @__PURE__ */ new Set();
387
+ if (options.prerenderResult) {
388
+ for (const r of options.prerenderResult.routes) if (r.status === "rendered") renderedRoutes.add(r.route);
389
+ }
390
+ for (const route of options.pageRoutes ?? []) {
391
+ const { type, revalidate } = classifyPagesRoute(route.filePath);
392
+ rows.push({
393
+ pattern: route.pattern,
394
+ type,
395
+ revalidate
396
+ });
397
+ }
398
+ for (const route of options.apiRoutes ?? []) rows.push({
399
+ pattern: route.pattern,
400
+ type: "api"
401
+ });
402
+ for (const route of options.appRoutes ?? []) {
403
+ const { type, revalidate } = classifyAppRoute(getAppRouteRenderEntryPath(route), route.routePath, route.isDynamic);
404
+ if (type === "unknown" && renderedRoutes.has(route.pattern)) rows.push({
405
+ pattern: route.pattern,
406
+ type: "static",
407
+ prerendered: true
408
+ });
409
+ else rows.push({
410
+ pattern: route.pattern,
411
+ type,
412
+ revalidate
413
+ });
414
+ }
415
+ rows.sort((a, b) => a.pattern.localeCompare(b.pattern));
416
+ return rows;
417
+ }
418
+ const SYMBOLS = {
419
+ static: "○",
420
+ isr: "◐",
421
+ ssr: "ƒ",
422
+ unknown: "?",
423
+ api: "λ"
424
+ };
425
+ const LABELS = {
426
+ static: "Static",
427
+ isr: "ISR",
428
+ ssr: "Dynamic",
429
+ unknown: "Unknown",
430
+ api: "API"
431
+ };
432
+ /**
433
+ * Formats a list of RouteRows into a Next.js-style build report string.
434
+ *
435
+ * Example output:
436
+ * Route (pages)
437
+ * ┌ ○ /
438
+ * ├ ◐ /blog/:slug (60s)
439
+ * ├ ƒ /dashboard
440
+ * └ λ /api/posts
441
+ *
442
+ * ○ Static ◐ ISR ƒ Dynamic λ API
443
+ */
444
+ function formatBuildReport(rows, routerLabel = "app") {
445
+ if (rows.length === 0) return "";
446
+ const lines = [];
447
+ lines.push(` Route (${routerLabel})`);
448
+ const maxPatternLen = Math.max(...rows.map((r) => r.pattern.length));
449
+ rows.forEach((row, i) => {
450
+ const isLast = i === rows.length - 1;
451
+ const corner = rows.length === 1 ? "─" : i === 0 ? "┌" : isLast ? "└" : "├";
452
+ const sym = SYMBOLS[row.type];
453
+ const suffix = row.type === "isr" && row.revalidate !== void 0 ? ` (${row.revalidate}s)` : "";
454
+ const padding = " ".repeat(maxPatternLen - row.pattern.length);
455
+ lines.push(` ${corner} ${sym} ${row.pattern}${padding}${suffix}`);
456
+ });
457
+ lines.push("");
458
+ const usedTypes = [...new Set(rows.map((r) => r.type))].sort((a, b) => LABELS[a].localeCompare(LABELS[b]));
459
+ lines.push(" " + usedTypes.map((t) => `${SYMBOLS[t]} ${LABELS[t]}`).join(" "));
460
+ if (usedTypes.includes("unknown")) {
461
+ lines.push("");
462
+ lines.push(" ? Some routes could not be classified. vinext currently uses static analysis");
463
+ lines.push(" and cannot detect dynamic API usage (headers(), cookies(), etc.) at build time.");
464
+ lines.push(" Automatic classification will be improved in a future release.");
465
+ }
466
+ if (rows.some((r) => r.prerendered)) {
467
+ lines.push("");
468
+ lines.push(" ○ Routes marked static were confirmed by speculative prerender (attempted render");
469
+ lines.push(" succeeded without dynamic API usage).");
470
+ }
471
+ return lines.join("\n");
472
+ }
473
+ /**
474
+ * Scans the project at `root`, classifies all routes, and prints the
475
+ * Next.js-style build report to stdout.
476
+ *
477
+ * Called at the end of `vinext build` in cli.ts.
478
+ */
479
+ async function printBuildReport(options) {
480
+ const { root } = options;
481
+ const appDir = findDir(root, "app", "src/app");
482
+ const pagesDir = findDir(root, "pages", "src/pages");
483
+ if (!appDir && !pagesDir) return;
484
+ if (appDir) {
485
+ const { appRouter } = await import("../routing/app-router.js");
486
+ const rows = buildReportRows({
487
+ appRoutes: await appRouter(appDir, options.pageExtensions),
488
+ prerenderResult: options.prerenderResult
489
+ });
490
+ if (rows.length > 0) console.log("\n" + formatBuildReport(rows, "app"));
491
+ }
492
+ if (pagesDir) {
493
+ const { pagesRouter, apiRouter } = await import("../routing/pages-router.js");
494
+ const [pageRoutes, apiRoutes] = await Promise.all([pagesRouter(pagesDir, options.pageExtensions), apiRouter(pagesDir, options.pageExtensions)]);
495
+ const rows = buildReportRows({
496
+ pageRoutes,
497
+ apiRoutes,
498
+ prerenderResult: options.prerenderResult
499
+ });
500
+ if (rows.length > 0) console.log("\n" + formatBuildReport(rows, "pages"));
501
+ }
502
+ }
503
+ //#endregion
504
+ export { buildReportRows, classifyAppRoute, classifyLayoutSegmentConfig, classifyPagesRoute, extractExportConstNumber, extractExportConstString, extractGetStaticPropsRevalidate, formatBuildReport, getAppRouteRenderEntryPath, hasNamedExport, printBuildReport };
@@ -0,0 +1,34 @@
1
+ import { ModuleInfoProvider } from "./layout-classification.js";
2
+ import { RouteClassificationManifest } from "./route-classification-manifest.js";
3
+
4
+ //#region src/build/route-classification-injector.d.ts
5
+ /**
6
+ * Build-time route classification injection.
7
+ *
8
+ * Codegen describes route shape by emitting stable `__VINEXT_CLASS` stubs and
9
+ * per-route call sites. This module owns the behavioral side of replacing
10
+ * those stubs with build-time decisions once the final RSC module graph exists.
11
+ */
12
+ type RouteClassificationChunk = {
13
+ code: string;
14
+ fileName: string;
15
+ };
16
+ type RouteClassificationInjectionPlan = {
17
+ kind: "skip";
18
+ } | {
19
+ code: string;
20
+ fileName: string;
21
+ kind: "patch";
22
+ map: null;
23
+ };
24
+ type PlanRouteClassificationInjectionOptions = {
25
+ canonicalizeLayoutPath?: (path: string) => string;
26
+ chunks: readonly RouteClassificationChunk[];
27
+ dynamicShimPaths: ReadonlySet<string>;
28
+ enableDebugReasons: boolean;
29
+ manifest: RouteClassificationManifest;
30
+ moduleInfo: ModuleInfoProvider;
31
+ };
32
+ declare function planRouteClassificationInjection(options: PlanRouteClassificationInjectionOptions): RouteClassificationInjectionPlan;
33
+ //#endregion
34
+ export { planRouteClassificationInjection };