@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,39 @@
1
+ //#region src/shims/unrecognized-action-error.ts
2
+ /**
3
+ * Unrecognized server-action errors.
4
+ *
5
+ * When a server action call fails because the server did not recognize the
6
+ * action id, the client bundle and the server are typically from different
7
+ * deployments and a hard reload is required.
8
+ *
9
+ * This module is intentionally dependency-free: both the `next/navigation`
10
+ * shim (which re-exports these for user code) and vinext's client
11
+ * server-action dispatcher import `UnrecognizedActionError` from here, so the
12
+ * `instanceof` check inside `unstable_isUnrecognizedActionError` resolves
13
+ * against a single shared class.
14
+ *
15
+ * Ported 1:1 from Next.js:
16
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/client/components/unrecognized-action-error.ts
17
+ */
18
+ /**
19
+ * Error class for unrecognized server-action calls. Thrown by vinext's client
20
+ * server-action dispatcher when the server reports the requested action id as
21
+ * unknown (the `x-nextjs-action-not-found` response header).
22
+ */
23
+ var UnrecognizedActionError = class extends Error {
24
+ constructor(...args) {
25
+ super(...args);
26
+ this.name = "UnrecognizedActionError";
27
+ }
28
+ };
29
+ /**
30
+ * Returns true if the error came from a server action whose id was not
31
+ * recognized by the server. Useful inside `catch` blocks that surround
32
+ * `await myAction(...)` calls; reloading the page generally fixes the
33
+ * underlying client/server deployment mismatch.
34
+ */
35
+ function unstable_isUnrecognizedActionError(error) {
36
+ return !!(error && typeof error === "object" && error instanceof UnrecognizedActionError);
37
+ }
38
+ //#endregion
39
+ export { UnrecognizedActionError, unstable_isUnrecognizedActionError };
@@ -0,0 +1,34 @@
1
+ //#region src/shims/url-safety.d.ts
2
+ /**
3
+ * Shared URL safety utilities for Link, Form, and navigation shims.
4
+ *
5
+ * Centralizes dangerous URI scheme detection so all components and
6
+ * navigation functions use the same validation logic.
7
+ */
8
+ declare const DANGEROUS_URL_BLOCK_MESSAGE = "Next.js has blocked a javascript: URL as a security precaution.";
9
+ declare function isDangerousScheme(url: string): boolean;
10
+ /**
11
+ * Emit a `console.error` matching Next.js's blocked-navigation message.
12
+ *
13
+ * Next.js's `router.push` / `router.replace` / `router.prefetch` (and the
14
+ * Pages Router equivalents) throw an `Error` when the URL has a dangerous
15
+ * scheme. In the browser, React's event-handler runtime catches that throw
16
+ * and reports it through `console.error`, which is what the Next.js E2E
17
+ * `test/e2e/app-dir/javascript-urls` suite asserts on.
18
+ *
19
+ * Vinext's navigation guards run synchronously inside async event handlers
20
+ * (e.g. Link's `void handleClick(event)`), so a raw throw is dropped on the
21
+ * floor instead of bubbling up to React. Emitting the same `console.error`
22
+ * explicitly keeps observable behaviour aligned with Next.js — the test
23
+ * matcher uses `.includes("has blocked a javascript: URL as a security
24
+ * precaution.")` so any message containing that phrase satisfies it.
25
+ *
26
+ * Source reference (Next.js):
27
+ * packages/next/src/client/components/segment-cache/navigation.ts:537
28
+ * packages/next/src/client/components/app-router-instance.ts:345,402,442,460
29
+ * packages/next/src/shared/lib/router/router.ts:1025,1057
30
+ */
31
+ declare function reportBlockedDangerousNavigation(): void;
32
+ declare function assertSafeNavigationUrl(url: string): void;
33
+ //#endregion
34
+ export { DANGEROUS_URL_BLOCK_MESSAGE, assertSafeNavigationUrl, isDangerousScheme, reportBlockedDangerousNavigation };
@@ -0,0 +1,70 @@
1
+ //#region src/shims/url-safety.ts
2
+ /**
3
+ * Shared URL safety utilities for Link, Form, and navigation shims.
4
+ *
5
+ * Centralizes dangerous URI scheme detection so all components and
6
+ * navigation functions use the same validation logic.
7
+ */
8
+ /**
9
+ * Detect dangerous URI schemes that should never be navigated to.
10
+ *
11
+ * Adapted from Next.js's javascript URL detector:
12
+ * packages/next/src/client/lib/javascript-url.ts
13
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/client/lib/javascript-url.ts
14
+ *
15
+ * URL parsing ignores leading C0 control characters / spaces, and treats
16
+ * embedded tab/newline characters in the scheme as insignificant. We mirror
17
+ * that behavior here so obfuscated values like `java\nscript:` and
18
+ * `\x00javascript:` are still blocked.
19
+ *
20
+ * Vinext intentionally extends this handling to `data:` and `vbscript:` too,
21
+ * since both are also dangerous navigation targets.
22
+ */
23
+ const LEADING_IGNORED = "[\\u0000-\\u001F \\u200B\\uFEFF]*";
24
+ const SCHEME_IGNORED = "[\\r\\n\\t]*";
25
+ function buildDangerousSchemeRegex(scheme) {
26
+ const chars = scheme.split("").join(SCHEME_IGNORED);
27
+ return new RegExp(`^${LEADING_IGNORED}${chars}${SCHEME_IGNORED}:`, "i");
28
+ }
29
+ const DANGEROUS_SCHEME_RES = [
30
+ buildDangerousSchemeRegex("javascript"),
31
+ buildDangerousSchemeRegex("data"),
32
+ buildDangerousSchemeRegex("vbscript")
33
+ ];
34
+ const DANGEROUS_URL_BLOCK_MESSAGE = "Next.js has blocked a javascript: URL as a security precaution.";
35
+ function isDangerousScheme(url) {
36
+ const str = "" + url;
37
+ return DANGEROUS_SCHEME_RES.some((re) => re.test(str));
38
+ }
39
+ /**
40
+ * Emit a `console.error` matching Next.js's blocked-navigation message.
41
+ *
42
+ * Next.js's `router.push` / `router.replace` / `router.prefetch` (and the
43
+ * Pages Router equivalents) throw an `Error` when the URL has a dangerous
44
+ * scheme. In the browser, React's event-handler runtime catches that throw
45
+ * and reports it through `console.error`, which is what the Next.js E2E
46
+ * `test/e2e/app-dir/javascript-urls` suite asserts on.
47
+ *
48
+ * Vinext's navigation guards run synchronously inside async event handlers
49
+ * (e.g. Link's `void handleClick(event)`), so a raw throw is dropped on the
50
+ * floor instead of bubbling up to React. Emitting the same `console.error`
51
+ * explicitly keeps observable behaviour aligned with Next.js — the test
52
+ * matcher uses `.includes("has blocked a javascript: URL as a security
53
+ * precaution.")` so any message containing that phrase satisfies it.
54
+ *
55
+ * Source reference (Next.js):
56
+ * packages/next/src/client/components/segment-cache/navigation.ts:537
57
+ * packages/next/src/client/components/app-router-instance.ts:345,402,442,460
58
+ * packages/next/src/shared/lib/router/router.ts:1025,1057
59
+ */
60
+ function reportBlockedDangerousNavigation() {
61
+ console.error(DANGEROUS_URL_BLOCK_MESSAGE);
62
+ }
63
+ function assertSafeNavigationUrl(url) {
64
+ if (isDangerousScheme(url)) {
65
+ reportBlockedDangerousNavigation();
66
+ throw new Error(DANGEROUS_URL_BLOCK_MESSAGE);
67
+ }
68
+ }
69
+ //#endregion
70
+ export { DANGEROUS_URL_BLOCK_MESSAGE, assertSafeNavigationUrl, isDangerousScheme, reportBlockedDangerousNavigation };
@@ -0,0 +1,51 @@
1
+ //#region src/shims/url-utils.d.ts
2
+ declare function isAbsoluteUrl(url: string): boolean;
3
+ declare function isAbsoluteOrProtocolRelativeUrl(url: string): boolean;
4
+ declare function getWindowOrigin(): string | null;
5
+ /**
6
+ * If `url` is an absolute same-origin URL, return the local path
7
+ * (pathname + search + hash). Returns null for truly external URLs
8
+ * or on the server (where origin is unknown).
9
+ */
10
+ declare function toSameOriginPath(url: string): string | null;
11
+ /**
12
+ * If `url` is an absolute same-origin URL, return the app-relative path
13
+ * (basePath stripped from the pathname, if configured). Returns null for
14
+ * truly external URLs or on the server.
15
+ */
16
+ declare function toSameOriginAppPath(url: string, basePath: string): string | null;
17
+ /**
18
+ * Normalise the trailing slash of a local URL according to the
19
+ * `trailingSlash` config option in `next.config.js`. Used by the `<Link>`
20
+ * shim so that rendered `href` attributes match the canonical URL form
21
+ * (which is what the server-side redirect would otherwise enforce).
22
+ *
23
+ * Behaviour matches Next.js's client-side `normalizePathTrailingSlash`:
24
+ * packages/next/src/client/normalize-trailing-slash.ts
25
+ *
26
+ * - Absolute URLs (`http://`, `https://`, `//`) and non-local strings are
27
+ * returned unchanged.
28
+ * - Paths whose final segment looks like a filename (`...\.ext`) have any
29
+ * trailing slash stripped even when `trailingSlash: true`, mirroring the
30
+ * `.well-known`-aware redirect rule shipped in `routes-manifest.json`.
31
+ * - Query strings and hash fragments are preserved verbatim.
32
+ * - Idempotent: already-canonical paths round-trip unchanged.
33
+ */
34
+ declare function normalizePathTrailingSlash(path: string, trailingSlash: boolean): string;
35
+ /**
36
+ * Prepend basePath to a local path for browser URLs / fetches.
37
+ */
38
+ declare function withBasePath(path: string, basePath: string): string;
39
+ /**
40
+ * Resolve a potentially relative href against the current URL.
41
+ * Handles: "#hash", "?query", "?query#hash", and relative paths.
42
+ */
43
+ declare function resolveRelativeHref(href: string, currentUrl?: string, basePath?: string): string;
44
+ /**
45
+ * Convert a local navigation target into the browser URL that should be used
46
+ * for history entries, fetches, and onNavigate callbacks.
47
+ */
48
+ declare function toBrowserNavigationHref(href: string, currentUrl?: string, basePath?: string): string;
49
+ declare function isHashOnlyBrowserUrlChange(href: string, currentHref: string, basePath?: string): boolean;
50
+ //#endregion
51
+ export { getWindowOrigin, isAbsoluteOrProtocolRelativeUrl, isAbsoluteUrl, isHashOnlyBrowserUrlChange, normalizePathTrailingSlash, resolveRelativeHref, toBrowserNavigationHref, toSameOriginAppPath, toSameOriginPath, withBasePath };
@@ -0,0 +1,156 @@
1
+ import { hasBasePath, stripBasePath } from "../utils/base-path.js";
2
+ //#region src/shims/url-utils.ts
3
+ /**
4
+ * Shared URL utilities for same-origin detection.
5
+ *
6
+ * Used by link.tsx, navigation.ts, and router.ts to normalize
7
+ * same-origin absolute URLs to local paths for client-side navigation.
8
+ */
9
+ const ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\d+\-.]*?:/;
10
+ function isAbsoluteUrl(url) {
11
+ const firstChar = url.charCodeAt(0);
12
+ return (firstChar >= 65 && firstChar <= 90 || firstChar >= 97 && firstChar <= 122) && ABSOLUTE_URL_REGEX.test(url);
13
+ }
14
+ function isAbsoluteOrProtocolRelativeUrl(url) {
15
+ return isAbsoluteUrl(url) || url.startsWith("//");
16
+ }
17
+ function getWindowOrigin() {
18
+ if (typeof window === "undefined") return null;
19
+ const { origin, href } = window.location;
20
+ if (origin) return origin;
21
+ try {
22
+ return new URL(href).origin;
23
+ } catch {
24
+ return null;
25
+ }
26
+ }
27
+ /**
28
+ * If `url` is an absolute same-origin URL, return the local path
29
+ * (pathname + search + hash). Returns null for truly external URLs
30
+ * or on the server (where origin is unknown).
31
+ */
32
+ function toSameOriginPath(url) {
33
+ const origin = getWindowOrigin();
34
+ if (!origin) return null;
35
+ try {
36
+ const parsed = url.startsWith("//") ? new URL(url, origin) : new URL(url);
37
+ if (parsed.origin === origin) return parsed.pathname + parsed.search + parsed.hash;
38
+ } catch {}
39
+ return null;
40
+ }
41
+ /**
42
+ * If `url` is an absolute same-origin URL, return the app-relative path
43
+ * (basePath stripped from the pathname, if configured). Returns null for
44
+ * truly external URLs or on the server.
45
+ */
46
+ function toSameOriginAppPath(url, basePath) {
47
+ const localPath = toSameOriginPath(url);
48
+ if (localPath == null || !basePath) return localPath;
49
+ try {
50
+ const parsed = new URL(localPath, "http://vinext.local");
51
+ if (!hasBasePath(parsed.pathname, basePath)) return null;
52
+ return stripBasePath(parsed.pathname, basePath) + parsed.search + parsed.hash;
53
+ } catch {
54
+ return localPath;
55
+ }
56
+ }
57
+ /**
58
+ * Split a path string into pathname, query, and hash without depending on
59
+ * the URL constructor (which would resolve relative paths against an origin).
60
+ *
61
+ * Ported from Next.js: packages/next/src/shared/lib/router/utils/parse-path.ts
62
+ */
63
+ function parsePath(path) {
64
+ const hashIndex = path.indexOf("#");
65
+ const queryIndex = path.indexOf("?");
66
+ const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex);
67
+ if (hasQuery || hashIndex > -1) return {
68
+ pathname: path.substring(0, hasQuery ? queryIndex : hashIndex),
69
+ query: hasQuery ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : void 0) : "",
70
+ hash: hashIndex > -1 ? path.slice(hashIndex) : ""
71
+ };
72
+ return {
73
+ pathname: path,
74
+ query: "",
75
+ hash: ""
76
+ };
77
+ }
78
+ /**
79
+ * Drop trailing slashes from a route while preserving the bare root.
80
+ *
81
+ * Ported from Next.js: packages/next/src/shared/lib/router/utils/remove-trailing-slash.ts
82
+ */
83
+ function removeRouteTrailingSlash(route) {
84
+ return route.replace(/\/$/, "") || "/";
85
+ }
86
+ /**
87
+ * Normalise the trailing slash of a local URL according to the
88
+ * `trailingSlash` config option in `next.config.js`. Used by the `<Link>`
89
+ * shim so that rendered `href` attributes match the canonical URL form
90
+ * (which is what the server-side redirect would otherwise enforce).
91
+ *
92
+ * Behaviour matches Next.js's client-side `normalizePathTrailingSlash`:
93
+ * packages/next/src/client/normalize-trailing-slash.ts
94
+ *
95
+ * - Absolute URLs (`http://`, `https://`, `//`) and non-local strings are
96
+ * returned unchanged.
97
+ * - Paths whose final segment looks like a filename (`...\.ext`) have any
98
+ * trailing slash stripped even when `trailingSlash: true`, mirroring the
99
+ * `.well-known`-aware redirect rule shipped in `routes-manifest.json`.
100
+ * - Query strings and hash fragments are preserved verbatim.
101
+ * - Idempotent: already-canonical paths round-trip unchanged.
102
+ */
103
+ function normalizePathTrailingSlash(path, trailingSlash) {
104
+ if (!path.startsWith("/") || path.startsWith("//")) return path;
105
+ const { pathname, query, hash } = parsePath(path);
106
+ if (trailingSlash) {
107
+ if (/\.[^/]+\/?$/.test(pathname)) return `${removeRouteTrailingSlash(pathname)}${query}${hash}`;
108
+ if (pathname.endsWith("/")) return `${pathname}${query}${hash}`;
109
+ return `${pathname}/${query}${hash}`;
110
+ }
111
+ return `${removeRouteTrailingSlash(pathname)}${query}${hash}`;
112
+ }
113
+ /**
114
+ * Prepend basePath to a local path for browser URLs / fetches.
115
+ */
116
+ function withBasePath(path, basePath) {
117
+ if (!basePath || !path.startsWith("/") || isAbsoluteOrProtocolRelativeUrl(path)) return path;
118
+ return basePath + path;
119
+ }
120
+ /**
121
+ * Resolve a potentially relative href against the current URL.
122
+ * Handles: "#hash", "?query", "?query#hash", and relative paths.
123
+ */
124
+ function resolveRelativeHref(href, currentUrl, basePath = "") {
125
+ const base = currentUrl ?? (typeof window !== "undefined" ? window.location.href : void 0);
126
+ if (!base) return href;
127
+ if (href.startsWith("/") || isAbsoluteOrProtocolRelativeUrl(href)) return href;
128
+ try {
129
+ const resolved = new URL(href, base);
130
+ return (basePath && resolved.pathname === basePath ? "" : basePath ? stripBasePath(resolved.pathname, basePath) : resolved.pathname) + resolved.search + resolved.hash;
131
+ } catch {
132
+ return href;
133
+ }
134
+ }
135
+ /**
136
+ * Convert a local navigation target into the browser URL that should be used
137
+ * for history entries, fetches, and onNavigate callbacks.
138
+ */
139
+ function toBrowserNavigationHref(href, currentUrl, basePath = "") {
140
+ const resolved = resolveRelativeHref(href, currentUrl, basePath);
141
+ if (!basePath) return withBasePath(resolved, basePath);
142
+ if (resolved === "") return basePath;
143
+ if (resolved.startsWith("?") || resolved.startsWith("#")) return basePath + resolved;
144
+ return withBasePath(resolved, basePath);
145
+ }
146
+ function isHashOnlyBrowserUrlChange(href, currentHref, basePath = "") {
147
+ try {
148
+ const current = new URL(currentHref);
149
+ const next = new URL(href, currentHref);
150
+ return stripBasePath(current.pathname, basePath) === stripBasePath(next.pathname, basePath) && current.search === next.search && next.hash !== "";
151
+ } catch {
152
+ return false;
153
+ }
154
+ }
155
+ //#endregion
156
+ export { getWindowOrigin, isAbsoluteOrProtocolRelativeUrl, isAbsoluteUrl, isHashOnlyBrowserUrlChange, normalizePathTrailingSlash, resolveRelativeHref, toBrowserNavigationHref, toSameOriginAppPath, toSameOriginPath, withBasePath };
@@ -0,0 +1,6 @@
1
+ import { Ref } from "react";
2
+
3
+ //#region src/shims/use-merged-ref.d.ts
4
+ declare function useMergedRef<TElement>(refA: Ref<TElement>, refB: Ref<TElement>): Ref<TElement>;
5
+ //#endregion
6
+ export { useMergedRef };
@@ -0,0 +1,38 @@
1
+ "use client";
2
+ import { useCallback, useRef } from "react";
3
+ //#region src/shims/use-merged-ref.ts
4
+ function useMergedRef(refA, refB) {
5
+ const cleanupA = useRef(null);
6
+ const cleanupB = useRef(null);
7
+ return useCallback((current) => {
8
+ if (current === null) {
9
+ const cleanupFnA = cleanupA.current;
10
+ if (cleanupFnA) {
11
+ cleanupA.current = null;
12
+ cleanupFnA();
13
+ }
14
+ const cleanupFnB = cleanupB.current;
15
+ if (cleanupFnB) {
16
+ cleanupB.current = null;
17
+ cleanupFnB();
18
+ }
19
+ } else {
20
+ if (refA) cleanupA.current = applyRef(refA, current);
21
+ if (refB) cleanupB.current = applyRef(refB, current);
22
+ }
23
+ }, [refA, refB]);
24
+ }
25
+ function applyRef(refA, current) {
26
+ if (typeof refA === "function") {
27
+ const cleanup = refA(current);
28
+ if (typeof cleanup === "function") return cleanup;
29
+ else return () => refA(null);
30
+ } else {
31
+ refA.current = current;
32
+ return () => {
33
+ refA.current = null;
34
+ };
35
+ }
36
+ }
37
+ //#endregion
38
+ export { useMergedRef };
@@ -0,0 +1,8 @@
1
+ import { MetricType } from "web-vitals";
2
+
3
+ //#region src/shims/web-vitals.d.ts
4
+ type WebVitalsMetric = MetricType;
5
+ type ReportWebVitalsCallback = (metric: WebVitalsMetric) => void;
6
+ declare function useReportWebVitals(callback: ReportWebVitalsCallback): void;
7
+ //#endregion
8
+ export { type ReportWebVitalsCallback, type WebVitalsMetric, useReportWebVitals };
@@ -0,0 +1,22 @@
1
+ import { useEffect, useRef } from "react";
2
+ import { onCLS, onFCP, onFID, onINP, onLCP, onTTFB } from "web-vitals";
3
+ //#region src/shims/web-vitals.ts
4
+ function useReportWebVitals(callback) {
5
+ const callbackRef = useRef(callback);
6
+ useEffect(() => {
7
+ callbackRef.current = callback;
8
+ }, [callback]);
9
+ useEffect(() => {
10
+ const reportWebVitals = (metric) => {
11
+ callbackRef.current(metric);
12
+ };
13
+ onCLS(reportWebVitals);
14
+ onFID(reportWebVitals);
15
+ onLCP(reportWebVitals);
16
+ onINP(reportWebVitals);
17
+ onFCP(reportWebVitals);
18
+ onTTFB(reportWebVitals);
19
+ }, []);
20
+ }
21
+ //#endregion
22
+ export { useReportWebVitals };
@@ -0,0 +1,9 @@
1
+ //#region src/typegen.d.ts
2
+ type GenerateRouteTypesOptions = {
3
+ root: string;
4
+ appDir?: string | null;
5
+ pageExtensions?: readonly string[];
6
+ };
7
+ declare function generateRouteTypes(options: GenerateRouteTypesOptions): Promise<string>;
8
+ //#endregion
9
+ export { generateRouteTypes };
@@ -0,0 +1,228 @@
1
+ import { findDir } from "./utils/project.js";
2
+ import { decodeRouteSegment, isInvisibleSegment } from "./routing/utils.js";
3
+ import { patternToNextFormat } from "./routing/route-validation.js";
4
+ import { compareStrings } from "./utils/compare.js";
5
+ import "./routing/app-route-graph.js";
6
+ import { appRouteGraph } from "./routing/app-router.js";
7
+ import path from "node:path";
8
+ import fs from "node:fs/promises";
9
+ //#region src/typegen.ts
10
+ const NEXT_ENV_FILE_CONTENT = `/// <reference types="next" />
11
+ /// <reference types="next/image-types/global" />
12
+ import "./.next/types/routes.d.ts";
13
+
14
+ // NOTE: This file should not be edited
15
+ // see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
16
+ `;
17
+ async function generateRouteTypes(options) {
18
+ const root = path.resolve(options.root);
19
+ const appDir = options.appDir ? path.resolve(options.appDir) : findDir(root, "app", path.join("src", "app"));
20
+ const outPath = path.join(root, ".next", "types", "routes.d.ts");
21
+ const content = appDir ? renderRouteTypes(await collectRouteTypeModel(appDir, options.pageExtensions)) : renderRouteTypes(emptyRouteTypeModel());
22
+ await fs.mkdir(path.dirname(outPath), { recursive: true });
23
+ await fs.writeFile(outPath, content, "utf-8");
24
+ await ensureNextEnvFile(root);
25
+ return outPath;
26
+ }
27
+ async function ensureNextEnvFile(root) {
28
+ const envPath = path.join(root, "next-env.d.ts");
29
+ try {
30
+ await fs.writeFile(envPath, NEXT_ENV_FILE_CONTENT, {
31
+ encoding: "utf-8",
32
+ flag: "wx"
33
+ });
34
+ } catch (error) {
35
+ if (error.code !== "EEXIST") throw error;
36
+ }
37
+ }
38
+ function emptyRouteTypeModel() {
39
+ return {
40
+ pageRoutes: [],
41
+ layoutRoutes: [],
42
+ routeHandlerRoutes: [],
43
+ params: /* @__PURE__ */ new Map(),
44
+ layoutSlots: /* @__PURE__ */ new Map()
45
+ };
46
+ }
47
+ async function collectRouteTypeModel(appDir, pageExtensions) {
48
+ const graph = await appRouteGraph(appDir, pageExtensions);
49
+ const model = emptyRouteTypeModel();
50
+ const segmentGraph = graph.routeManifest.segmentGraph;
51
+ const layoutRouteKeys = createLayoutRouteKeyMap(segmentGraph.layouts.values());
52
+ const pageRouteSet = /* @__PURE__ */ new Set();
53
+ const layoutRouteSet = /* @__PURE__ */ new Set();
54
+ const routeHandlerRouteSet = /* @__PURE__ */ new Set();
55
+ for (const route of segmentGraph.pages.values()) {
56
+ const routeEntry = segmentGraph.routes.get(route.routeId);
57
+ addRoute(model.pageRoutes, pageRouteSet, model.params, patternToNextFormat(route.pattern), paramsForPatternParts(routeEntry?.patternParts ?? []));
58
+ }
59
+ for (const route of segmentGraph.routeHandlers.values()) {
60
+ const routeEntry = segmentGraph.routes.get(route.routeId);
61
+ addRoute(model.routeHandlerRoutes, routeHandlerRouteSet, model.params, patternToNextFormat(route.pattern), paramsForPatternParts(routeEntry?.patternParts ?? []));
62
+ }
63
+ for (const layout of segmentGraph.layouts.values()) {
64
+ const route = layoutRouteKeys.get(layout.treePath) ?? treePathToRouteLiteral(layout.treePath);
65
+ addRoute(model.layoutRoutes, layoutRouteSet, model.params, route, paramsForPatternParts(layout.patternParts));
66
+ }
67
+ const layoutSlotSets = /* @__PURE__ */ new Map();
68
+ for (const slot of segmentGraph.slots.values()) {
69
+ const layoutRoute = layoutRouteKeyForSlot(slot, segmentGraph.layouts, layoutRouteKeys);
70
+ if (!layoutRoute) continue;
71
+ let slotNames = layoutSlotSets.get(layoutRoute);
72
+ if (!slotNames) {
73
+ slotNames = /* @__PURE__ */ new Set();
74
+ layoutSlotSets.set(layoutRoute, slotNames);
75
+ model.layoutSlots.set(layoutRoute, []);
76
+ }
77
+ if (!slotNames.has(slot.name)) {
78
+ slotNames.add(slot.name);
79
+ model.layoutSlots.get(layoutRoute)?.push(slot.name);
80
+ }
81
+ }
82
+ model.pageRoutes.sort(compareStrings);
83
+ model.layoutRoutes.sort(compareStrings);
84
+ model.routeHandlerRoutes.sort(compareStrings);
85
+ for (const slotNames of model.layoutSlots.values()) slotNames.sort(compareStrings);
86
+ return model;
87
+ }
88
+ function renderRouteTypes(model) {
89
+ const allRoutes = uniqueSorted([
90
+ ...model.pageRoutes,
91
+ ...model.layoutRoutes,
92
+ ...model.routeHandlerRoutes
93
+ ]);
94
+ return `// This file is generated by vinext. Do not edit.
95
+ import type * as React from "react";
96
+
97
+ declare global {
98
+ type PageProps<Route extends VinextRouteTypes.PageRoute = VinextRouteTypes.PageRoute> = {
99
+ params: Promise<VinextRouteTypes.ParamMap[Route]>;
100
+ searchParams: Promise<Record<string, string | string[] | undefined>>;
101
+ };
102
+
103
+ type LayoutProps<Route extends VinextRouteTypes.LayoutRoute> = {
104
+ params: Promise<VinextRouteTypes.ParamMap[Route]>;
105
+ children: React.ReactNode;
106
+ } & {
107
+ [K in VinextRouteTypes.LayoutSlotMap[Route]]: React.ReactNode;
108
+ };
109
+
110
+ type RouteContext<Route extends VinextRouteTypes.RouteHandlerRoute = VinextRouteTypes.RouteHandlerRoute> = {
111
+ params: Promise<VinextRouteTypes.ParamMap[Route]>;
112
+ };
113
+ }
114
+
115
+ declare namespace VinextRouteTypes {
116
+ type PageRoute = ${routeUnion(model.pageRoutes)};
117
+ type LayoutRoute = ${routeUnion(model.layoutRoutes)};
118
+ type RouteHandlerRoute = ${routeUnion(model.routeHandlerRoutes)};
119
+ type AppRoute = ${routeUnion(allRoutes)};
120
+
121
+ interface ParamMap {
122
+ ${renderParamMap(allRoutes, model.params)}
123
+ }
124
+
125
+ interface LayoutSlotMap {
126
+ ${renderLayoutSlotMap(model.layoutRoutes, model.layoutSlots)}
127
+ }
128
+ }
129
+
130
+ export {};
131
+ `;
132
+ }
133
+ function renderParamMap(routes, params) {
134
+ if (routes.length === 0) return " [route: string]: {};\n";
135
+ return routes.map((route) => ` ${quote(route)}: ${renderParamShape(params.get(route) ?? /* @__PURE__ */ new Map())};`).join("\n");
136
+ }
137
+ function renderParamShape(params) {
138
+ if (params.size === 0) return "{}";
139
+ return `{ ${Array.from(params.entries()).sort(([left], [right]) => compareStrings(left, right)).map(([name, kind]) => {
140
+ const optional = kind === "string[]?";
141
+ const valueType = optional ? "string[]" : kind;
142
+ return `${propertyName(name)}${optional ? "?" : ""}: ${valueType};`;
143
+ }).join(" ")} }`;
144
+ }
145
+ function renderLayoutSlotMap(layoutRoutes, layoutSlots) {
146
+ if (layoutRoutes.length === 0) return " [route: string]: never;\n";
147
+ return layoutRoutes.map((route) => {
148
+ const slots = layoutSlots.get(route) ?? [];
149
+ return ` ${quote(route)}: ${routeUnion(slots)};`;
150
+ }).join("\n");
151
+ }
152
+ function paramsForPatternParts(patternParts) {
153
+ const params = /* @__PURE__ */ new Map();
154
+ for (const part of patternParts) {
155
+ if (!part.startsWith(":")) continue;
156
+ if (part.endsWith("+")) params.set(part.slice(1, -1), "string[]");
157
+ else if (part.endsWith("*")) params.set(part.slice(1, -1), "string[]?");
158
+ else params.set(part.slice(1), "string");
159
+ }
160
+ return params;
161
+ }
162
+ function createLayoutRouteKeyMap(layouts) {
163
+ const treePathsByRoute = /* @__PURE__ */ new Map();
164
+ for (const { treePath } of layouts) {
165
+ const route = treePathToRouteLiteral(treePath);
166
+ const treePaths = treePathsByRoute.get(route) ?? [];
167
+ treePaths.push(treePath);
168
+ treePathsByRoute.set(route, treePaths);
169
+ }
170
+ const keys = /* @__PURE__ */ new Map();
171
+ for (const [route, treePaths] of treePathsByRoute) for (const treePath of treePaths) keys.set(treePath, treePaths.length === 1 ? route : treePathToScopedLayoutRouteLiteral(treePath));
172
+ return keys;
173
+ }
174
+ function layoutRouteKeyForSlot(slot, layouts, layoutRouteKeys) {
175
+ if (!slot.ownerLayoutId) return null;
176
+ const layout = layouts.get(slot.ownerLayoutId);
177
+ if (!layout) throw new Error(`[vinext] App route graph invariant violated: slot ${slot.id} references missing owner layout ${slot.ownerLayoutId}`);
178
+ return layoutRouteKeys.get(layout.treePath) ?? treePathToRouteLiteral(layout.treePath);
179
+ }
180
+ /** Convert a layout tree path to its URL route literal, stripping invisible segments. */
181
+ function treePathToRouteLiteral(treePath) {
182
+ if (treePath === "/") return "/";
183
+ const segments = treePath.split("/").filter(Boolean).filter((segment) => !isInvisibleSegment(segment)).map((segment) => decodeRouteSegment(segment));
184
+ return segments.length === 0 ? "/" : `/${segments.join("/")}`;
185
+ }
186
+ /**
187
+ * Convert a layout tree path to a scoped route literal that preserves
188
+ * route-group and `@slot` segments. Used only as a fallback key when multiple
189
+ * layouts collapse to the same URL route literal, so consumers can keep their
190
+ * slot/params typings distinct.
191
+ */
192
+ function treePathToScopedLayoutRouteLiteral(treePath) {
193
+ if (treePath === "/") return "/";
194
+ const segments = treePath.split("/").filter(Boolean).filter((segment) => segment !== ".").map((segment) => decodeRouteSegment(segment));
195
+ return segments.length === 0 ? "/" : `/${segments.join("/")}`;
196
+ }
197
+ function addRoute(routes, seen, params, route, paramShape) {
198
+ if (!seen.has(route)) {
199
+ seen.add(route);
200
+ routes.push(route);
201
+ }
202
+ const existingParamShape = params.get(route);
203
+ if (existingParamShape) {
204
+ if (!paramShapesEqual(existingParamShape, paramShape)) throw new Error(`[vinext] Conflicting route param shapes generated for ${route}`);
205
+ return;
206
+ }
207
+ params.set(route, paramShape);
208
+ }
209
+ function paramShapesEqual(left, right) {
210
+ if (left.size !== right.size) return false;
211
+ for (const [name, kind] of left) if (right.get(name) !== kind) return false;
212
+ return true;
213
+ }
214
+ function uniqueSorted(values) {
215
+ return Array.from(new Set(values)).sort(compareStrings);
216
+ }
217
+ function routeUnion(routes) {
218
+ if (routes.length === 0) return "never";
219
+ return routes.map(quote).join(" | ");
220
+ }
221
+ function propertyName(name) {
222
+ return /^[A-Za-z_$][\w$]*$/.test(name) ? name : quote(name);
223
+ }
224
+ function quote(value) {
225
+ return JSON.stringify(value);
226
+ }
227
+ //#endregion
228
+ export { generateRouteTypes };