@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,196 @@
1
+ import { removeTrailingSlash } from "../../utils/base-path.js";
2
+ //#region src/shims/internal/interpolate-as.ts
3
+ /**
4
+ * Port of Next.js' Pages Router `interpolateAs` helper, plus the minimal
5
+ * subset of its transitive dependencies (`getRouteRegex` + `getRouteMatcher`
6
+ * and the parameter-pattern parsers they rely on).
7
+ *
8
+ * Upstream sources:
9
+ * - packages/next/src/shared/lib/router/utils/interpolate-as.ts
10
+ * - packages/next/src/shared/lib/router/utils/route-regex.ts
11
+ * - packages/next/src/shared/lib/router/utils/route-matcher.ts
12
+ * - packages/next/src/shared/lib/router/utils/get-dynamic-param.ts
13
+ * - packages/next/src/shared/lib/router/utils/remove-trailing-slash.ts
14
+ * - packages/next/src/shared/lib/escape-regexp.ts
15
+ *
16
+ * Used by the Pages Router shim to project a route pattern + `as` pathname +
17
+ * query back into a fully-interpolated browser URL (the `<Link href as>`
18
+ * masking path). Interception-route markers (`(.)`, `(..)`, `(...)`,
19
+ * `(..)(..)`) are intentionally omitted — they only apply to App Router and
20
+ * never appear in Pages Router patterns.
21
+ */
22
+ function normalizeQuery(query) {
23
+ const normalized = {};
24
+ if (!query) return normalized;
25
+ for (const [key, value] of Object.entries(query)) {
26
+ if (value === void 0) continue;
27
+ normalized[key] = Array.isArray(value) ? value.map(String) : String(value);
28
+ }
29
+ return normalized;
30
+ }
31
+ function parseRouteHrefQuery(routeHref, queryIndex, hashIndex) {
32
+ const query = {};
33
+ if (queryIndex === -1 || hashIndex !== -1 && queryIndex > hashIndex) return query;
34
+ const searchEnd = hashIndex === -1 ? routeHref.length : hashIndex;
35
+ for (const [key, value] of new URLSearchParams(routeHref.slice(queryIndex + 1, searchEnd))) {
36
+ const existing = query[key];
37
+ if (existing === void 0) query[key] = value;
38
+ else if (Array.isArray(existing)) existing.push(value);
39
+ else query[key] = [existing, value];
40
+ }
41
+ return query;
42
+ }
43
+ const reHasRegExp = /[|\\{}()[\]^$+*?.-]/;
44
+ const reReplaceRegExp = /[|\\{}()[\]^$+*?.-]/g;
45
+ function escapeStringRegexp(str) {
46
+ if (reHasRegExp.test(str)) return str.replace(reReplaceRegExp, "\\$&");
47
+ return str;
48
+ }
49
+ /**
50
+ * Regular expression pattern used to match route parameters.
51
+ * Matches both single parameters and parameter groups.
52
+ * Examples:
53
+ * - `[[...slug]]` matches parameter group with key 'slug', repeat: true, optional: true
54
+ * - `[...slug]` matches parameter group with key 'slug', repeat: true, optional: false
55
+ * - `[[foo]]` matches parameter with key 'foo', repeat: false, optional: true
56
+ * - `[bar]` matches parameter with key 'bar', repeat: false, optional: false
57
+ */
58
+ const PARAMETER_PATTERN = /^([^[]*)\[((?:\[[^\]]*\])|[^\]]+)\](.*)$/;
59
+ /**
60
+ * Parses a matched parameter from the PARAMETER_PATTERN regex.
61
+ * Examples:
62
+ * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: true }`
63
+ * - `...slug` -> `{ key: 'slug', repeat: true, optional: false }`
64
+ * - `[foo]` -> `{ key: 'foo', repeat: false, optional: true }`
65
+ * - `bar` -> `{ key: 'bar', repeat: false, optional: false }`
66
+ */
67
+ function parseMatchedParameter(param) {
68
+ const optional = param.startsWith("[") && param.endsWith("]");
69
+ if (optional) param = param.slice(1, -1);
70
+ const repeat = param.startsWith("...");
71
+ if (repeat) param = param.slice(3);
72
+ return {
73
+ key: param,
74
+ repeat,
75
+ optional
76
+ };
77
+ }
78
+ function getParametrizedRoute(route) {
79
+ const groups = {};
80
+ let groupIndex = 1;
81
+ const segments = [];
82
+ for (const segment of removeTrailingSlash(route).slice(1).split("/")) {
83
+ const paramMatches = segment.match(PARAMETER_PATTERN);
84
+ if (paramMatches && paramMatches[2]) {
85
+ const { key, repeat, optional } = parseMatchedParameter(paramMatches[2]);
86
+ groups[key] = {
87
+ pos: groupIndex++,
88
+ repeat,
89
+ optional
90
+ };
91
+ const s = repeat ? optional ? "(?:/(.+?))?" : "/(.+?)" : "/([^/]+?)";
92
+ segments.push(s);
93
+ } else segments.push(`/${escapeStringRegexp(segment)}`);
94
+ }
95
+ return {
96
+ parameterizedRoute: segments.join(""),
97
+ groups
98
+ };
99
+ }
100
+ /**
101
+ * From a normalized route this function generates a regular expression and a
102
+ * corresponding groups object intended to be used to store matching groups
103
+ * from the regular expression.
104
+ */
105
+ function getRouteRegex(normalizedRoute) {
106
+ const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute);
107
+ return {
108
+ re: new RegExp(`^${parameterizedRoute}(?:/)?$`),
109
+ groups
110
+ };
111
+ }
112
+ /**
113
+ * Compile a route regex into a function that extracts decoded params from a
114
+ * pathname. Returns `false` if the pathname does not match the route.
115
+ *
116
+ * The `safeRouteMatcher`/`stripParameterSeparators` wrapper that Next.js
117
+ * applies (for adjacent-parameter normalization) is omitted — Pages Router
118
+ * patterns never contain adjacent parameters, so the wrapper is a no-op for
119
+ * this caller.
120
+ */
121
+ function getRouteMatcher({ re, groups }) {
122
+ return (pathname) => {
123
+ const routeMatch = re.exec(pathname);
124
+ if (!routeMatch) return false;
125
+ const decode = (param) => {
126
+ try {
127
+ return decodeURIComponent(param);
128
+ } catch {
129
+ throw new Error("failed to decode param");
130
+ }
131
+ };
132
+ const params = {};
133
+ for (const [key, group] of Object.entries(groups)) {
134
+ const match = routeMatch[group.pos];
135
+ if (match !== void 0) if (group.repeat) params[key] = match.split("/").map((entry) => decode(entry));
136
+ else params[key] = decode(match);
137
+ }
138
+ return params;
139
+ };
140
+ }
141
+ /**
142
+ * Project a `(route, asPathname, query)` triple back into a fully-interpolated
143
+ * browser URL. Used by the `<Link href as>` masking path in the Pages Router
144
+ * shim: extract param values from the rendered `as` path when it differs from
145
+ * the route pattern, otherwise fall back to reading them from the href query.
146
+ *
147
+ * Returns `{ params, result }`. `result` is the interpolated URL, or the empty
148
+ * string when one or more required params could not be resolved. Callers warn
149
+ * (in dev) on the empty-string case; this helper deliberately stays silent —
150
+ * matching Next.js' behavior, where `<Link>` itself owns the dev warning.
151
+ */
152
+ function interpolateAs(route, asPathname, query) {
153
+ let interpolatedRoute = "";
154
+ const dynamicRegex = getRouteRegex(route);
155
+ const dynamicGroups = dynamicRegex.groups;
156
+ const dynamicMatches = (asPathname !== route ? getRouteMatcher(dynamicRegex)(asPathname) : "") || query;
157
+ interpolatedRoute = route;
158
+ const params = Object.keys(dynamicGroups);
159
+ if (!params.every((param) => {
160
+ let value = dynamicMatches[param] || "";
161
+ const { repeat, optional } = dynamicGroups[param];
162
+ let replaced = `[${repeat ? "..." : ""}${param}]`;
163
+ if (optional) replaced = `${!value ? "/" : ""}[${replaced}]`;
164
+ if (repeat && !Array.isArray(value)) value = [value];
165
+ return (optional || param in dynamicMatches) && (interpolatedRoute = interpolatedRoute.replace(replaced, repeat ? value.map((segment) => encodeURIComponent(segment)).join("/") : encodeURIComponent(value)) || "/");
166
+ })) interpolatedRoute = "";
167
+ return {
168
+ params,
169
+ result: interpolatedRoute
170
+ };
171
+ }
172
+ /**
173
+ * Resolve a bracket-pattern route href against its displayed href. Query
174
+ * values can be supplied directly (object-form hrefs) or parsed from the route
175
+ * href (string-form hrefs). A `?` after `#` is part of the fragment, not a
176
+ * query delimiter.
177
+ */
178
+ function interpolateDynamicRouteHref(routeHref, asHref, queryInput) {
179
+ if (!routeHref.includes("[")) return null;
180
+ const hashIndex = routeHref.indexOf("#");
181
+ const queryIndex = routeHref.indexOf("?");
182
+ const pathEnd = [hashIndex, queryIndex].filter((index) => index !== -1).reduce((earliest, index) => Math.min(earliest, index), routeHref.length);
183
+ const routePathname = routeHref.slice(0, pathEnd);
184
+ const trailing = routeHref.slice(pathEnd);
185
+ const asPathname = asHref.split(/[?#]/, 1)[0];
186
+ const query = queryInput ? normalizeQuery(queryInput) : parseRouteHrefQuery(routeHref, queryIndex, hashIndex);
187
+ const { result, params } = interpolateAs(routePathname, asPathname, query);
188
+ return {
189
+ href: result ? `${result}${trailing}` : "",
190
+ params,
191
+ query,
192
+ routePathname
193
+ };
194
+ }
195
+ //#endregion
196
+ export { interpolateDynamicRouteHref };
@@ -0,0 +1,43 @@
1
+ //#region src/shims/internal/link-status-registry.d.ts
2
+ /**
3
+ * Link-status pending registry.
4
+ *
5
+ * Tracks the single <Link> that started the most recent App Router navigation
6
+ * so its `useLinkStatus()` pending state can be reset when a *different*
7
+ * navigation begins — a different <Link> click, `router.push`/`router.replace`,
8
+ * a form submission, shallow routing via raw `history.pushState`, or browser
9
+ * back/forward. Without this, a Link's pending indicator stays "sticky" after
10
+ * an interrupting navigation, because the Link's own completion handler is the
11
+ * only thing that would otherwise clear it.
12
+ *
13
+ * Mirrors Next.js's `linkForMostRecentNavigation` /
14
+ * `setLinkForCurrentNavigation` in
15
+ * packages/next/src/client/components/links.ts, adapted to vinext's per-<Link>
16
+ * React state model: instead of an optimistic-status dispatcher, we hold the
17
+ * link's `setPending` setter.
18
+ */
19
+ type PendingLinkSetter = (pending: boolean) => void;
20
+ /**
21
+ * Mark `setter` as the link that started the most recent navigation, resetting
22
+ * the previously-tracked link's pending state to idle so only the last-clicked
23
+ * link shows a pending state.
24
+ */
25
+ declare function setLinkForCurrentNavigation(setter: PendingLinkSetter): void;
26
+ /**
27
+ * Stop tracking `setter` if it is the current navigation link. Called when a
28
+ * <Link> finishes its own navigation or unmounts so we never hold a stale
29
+ * reference to an unmounted component's setter.
30
+ */
31
+ declare function clearLinkForCurrentNavigation(setter: PendingLinkSetter): void;
32
+ /**
33
+ * Reset any link that is currently showing a pending state. Invoked at the
34
+ * start of every App Router navigation so that navigations not initiated by the
35
+ * tracked link — `router.push`/`router.replace`, form submissions, shallow
36
+ * routing, and browser back/forward — clear a stale pending indicator. A
37
+ * link-initiated navigation registers itself first via
38
+ * `setLinkForCurrentNavigation`; the matching call here consumes that marker and
39
+ * keeps the link pending.
40
+ */
41
+ declare function notifyLinkNavigationStart(): void;
42
+ //#endregion
43
+ export { PendingLinkSetter, clearLinkForCurrentNavigation, notifyLinkNavigationStart, setLinkForCurrentNavigation };
@@ -0,0 +1,42 @@
1
+ //#region src/shims/internal/link-status-registry.ts
2
+ let linkSetterForMostRecentNavigation = null;
3
+ let currentNavigationIsLinkInitiated = false;
4
+ /**
5
+ * Mark `setter` as the link that started the most recent navigation, resetting
6
+ * the previously-tracked link's pending state to idle so only the last-clicked
7
+ * link shows a pending state.
8
+ */
9
+ function setLinkForCurrentNavigation(setter) {
10
+ if (linkSetterForMostRecentNavigation && linkSetterForMostRecentNavigation !== setter) linkSetterForMostRecentNavigation(false);
11
+ linkSetterForMostRecentNavigation = setter;
12
+ currentNavigationIsLinkInitiated = true;
13
+ }
14
+ /**
15
+ * Stop tracking `setter` if it is the current navigation link. Called when a
16
+ * <Link> finishes its own navigation or unmounts so we never hold a stale
17
+ * reference to an unmounted component's setter.
18
+ */
19
+ function clearLinkForCurrentNavigation(setter) {
20
+ if (linkSetterForMostRecentNavigation === setter) linkSetterForMostRecentNavigation = null;
21
+ }
22
+ /**
23
+ * Reset any link that is currently showing a pending state. Invoked at the
24
+ * start of every App Router navigation so that navigations not initiated by the
25
+ * tracked link — `router.push`/`router.replace`, form submissions, shallow
26
+ * routing, and browser back/forward — clear a stale pending indicator. A
27
+ * link-initiated navigation registers itself first via
28
+ * `setLinkForCurrentNavigation`; the matching call here consumes that marker and
29
+ * keeps the link pending.
30
+ */
31
+ function notifyLinkNavigationStart() {
32
+ if (currentNavigationIsLinkInitiated) {
33
+ currentNavigationIsLinkInitiated = false;
34
+ return;
35
+ }
36
+ if (linkSetterForMostRecentNavigation) {
37
+ linkSetterForMostRecentNavigation(false);
38
+ linkSetterForMostRecentNavigation = null;
39
+ }
40
+ }
41
+ //#endregion
42
+ export { clearLinkForCurrentNavigation, notifyLinkNavigationStart, setLinkForCurrentNavigation };
@@ -0,0 +1,15 @@
1
+ //#region src/shims/internal/make-hanging-promise.d.ts
2
+ /**
3
+ * makeHangingPromise — returns a promise that never resolves during prerendering.
4
+ *
5
+ * When prerendering, `io()` must return a hanging promise to prevent
6
+ * React from executing past the IO boundary. The promise never resolves—it only
7
+ * rejects if the render signal is aborted (e.g., due to a dynamic error or
8
+ * cache-fill completion).
9
+ *
10
+ * Ported from Next.js: packages/next/src/server/dynamic-rendering-utils.ts
11
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/server/dynamic-rendering-utils.ts
12
+ */
13
+ declare function makeHangingPromise<T>(signal: AbortSignal, route: string, expression: string): Promise<T>;
14
+ //#endregion
15
+ export { makeHangingPromise };
@@ -0,0 +1,44 @@
1
+ //#region src/shims/internal/make-hanging-promise.ts
2
+ /**
3
+ * makeHangingPromise — returns a promise that never resolves during prerendering.
4
+ *
5
+ * When prerendering, `io()` must return a hanging promise to prevent
6
+ * React from executing past the IO boundary. The promise never resolves—it only
7
+ * rejects if the render signal is aborted (e.g., due to a dynamic error or
8
+ * cache-fill completion).
9
+ *
10
+ * Ported from Next.js: packages/next/src/server/dynamic-rendering-utils.ts
11
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/server/dynamic-rendering-utils.ts
12
+ */
13
+ var HangingPromiseRejectionError = class extends Error {
14
+ constructor(route, expression) {
15
+ super(`Route ${route} used ${expression} during prerendering but the render was aborted. This is expected when prerendering is cut short (e.g. due to a dynamic access).`);
16
+ this.name = "HangingPromiseRejectionError";
17
+ }
18
+ };
19
+ const abortListenersBySignal = /* @__PURE__ */ new WeakMap();
20
+ function suppressUnhandledRejection() {}
21
+ function makeHangingPromise(signal, route, expression) {
22
+ if (signal.aborted) {
23
+ const rejected = Promise.reject(new HangingPromiseRejectionError(route, expression));
24
+ rejected.catch(suppressUnhandledRejection);
25
+ return rejected;
26
+ }
27
+ const hangingPromise = new Promise((_, reject) => {
28
+ const boundRejection = reject.bind(null, new HangingPromiseRejectionError(route, expression));
29
+ const currentListeners = abortListenersBySignal.get(signal);
30
+ if (currentListeners) currentListeners.push(boundRejection);
31
+ else {
32
+ const listeners = [boundRejection];
33
+ abortListenersBySignal.set(signal, listeners);
34
+ signal.addEventListener("abort", () => {
35
+ for (let i = 0; i < listeners.length; i++) listeners[i]();
36
+ listeners.length = 0;
37
+ }, { once: true });
38
+ }
39
+ });
40
+ hangingPromise.catch(suppressUnhandledRejection);
41
+ return hangingPromise;
42
+ }
43
+ //#endregion
44
+ export { makeHangingPromise };
@@ -0,0 +1,35 @@
1
+ //#region src/shims/internal/navigation-untracked.d.ts
2
+ /**
3
+ * Internal navigation-untracked pathname hook.
4
+ *
5
+ * Used by `unstable_catchError` error boundaries to avoid subscribing to
6
+ * pathname changes. This is NOT part of the public `next/navigation` API.
7
+ *
8
+ * Ported from Next.js:
9
+ * https://github.com/vercel/next.js/blob/v16.2.6/packages/next/src/client/components/navigation-untracked.ts
10
+ */
11
+ /**
12
+ * Returns the current pathname without registering it as a tracked render
13
+ * dependency. Unlike `usePathname()`, this does not use `useSyncExternalStore`
14
+ * and therefore does not cause the component to re-render on navigation.
15
+ *
16
+ * Server: returns the pathname from context, or `"/"` when no navigation context
17
+ * is available (the client will hydrate with the real value). The `"/"` fallback
18
+ * deliberately matches vinext's `usePathname()` behavior rather than Next.js's
19
+ * null context default. Returns `null` only when the render is a missing-params
20
+ * shell — vinext does not yet implement fallback-route-param detection, so this
21
+ * path is not currently reachable.
22
+ *
23
+ * Client: prefers the render snapshot **only during an active navigation**
24
+ * transition (`navigationSnapshotActiveCount > 0`) so the hook returns the
25
+ * pending URL, not the stale committed one. After commit, falls back to the
26
+ * cached pathname so user `pushState`/`replaceState` calls are immediately
27
+ * reflected.
28
+ *
29
+ * Used by `unstable_catchError` error boundaries to avoid unnecessary re-renders.
30
+ *
31
+ * @internal
32
+ */
33
+ declare function useUntrackedPathname(): string | null;
34
+ //#endregion
35
+ export { useUntrackedPathname };
@@ -0,0 +1,56 @@
1
+ import { getNavigationContext } from "../navigation-context-state.js";
2
+ import { getPagesNavigationContext } from "./pages-router-accessor.js";
3
+ import { getClientNavigationState, useClientNavigationRenderSnapshot } from "../navigation.js";
4
+ //#region src/shims/internal/navigation-untracked.ts
5
+ /**
6
+ * Internal navigation-untracked pathname hook.
7
+ *
8
+ * Used by `unstable_catchError` error boundaries to avoid subscribing to
9
+ * pathname changes. This is NOT part of the public `next/navigation` API.
10
+ *
11
+ * Ported from Next.js:
12
+ * https://github.com/vercel/next.js/blob/v16.2.6/packages/next/src/client/components/navigation-untracked.ts
13
+ */
14
+ const isServer = typeof window === "undefined";
15
+ function getPathnameSnapshot() {
16
+ const pagesCtx = getPagesNavigationContext();
17
+ if (pagesCtx) return pagesCtx.pathname;
18
+ return getClientNavigationState()?.cachedPathname ?? "/";
19
+ }
20
+ /**
21
+ * Returns the current pathname without registering it as a tracked render
22
+ * dependency. Unlike `usePathname()`, this does not use `useSyncExternalStore`
23
+ * and therefore does not cause the component to re-render on navigation.
24
+ *
25
+ * Server: returns the pathname from context, or `"/"` when no navigation context
26
+ * is available (the client will hydrate with the real value). The `"/"` fallback
27
+ * deliberately matches vinext's `usePathname()` behavior rather than Next.js's
28
+ * null context default. Returns `null` only when the render is a missing-params
29
+ * shell — vinext does not yet implement fallback-route-param detection, so this
30
+ * path is not currently reachable.
31
+ *
32
+ * Client: prefers the render snapshot **only during an active navigation**
33
+ * transition (`navigationSnapshotActiveCount > 0`) so the hook returns the
34
+ * pending URL, not the stale committed one. After commit, falls back to the
35
+ * cached pathname so user `pushState`/`replaceState` calls are immediately
36
+ * reflected.
37
+ *
38
+ * Used by `unstable_catchError` error boundaries to avoid unnecessary re-renders.
39
+ *
40
+ * @internal
41
+ */
42
+ function useUntrackedPathname() {
43
+ if (isServer) {
44
+ const ctx = getNavigationContext();
45
+ if (ctx) return ctx.pathname;
46
+ const pagesCtx = getPagesNavigationContext();
47
+ return pagesCtx ? pagesCtx.pathname : "/";
48
+ }
49
+ const renderSnapshot = useClientNavigationRenderSnapshot();
50
+ if (renderSnapshot && (getClientNavigationState()?.navigationSnapshotActiveCount ?? 0) > 0) return renderSnapshot.pathname;
51
+ const pagesCtx = getPagesNavigationContext();
52
+ if (pagesCtx) return pagesCtx.pathname;
53
+ return getPathnameSnapshot();
54
+ }
55
+ //#endregion
56
+ export { useUntrackedPathname };
@@ -0,0 +1,54 @@
1
+ //#region src/shims/internal/pages-data-fetch-dedup.d.ts
2
+ /**
3
+ * In-flight request dedup for the Pages Router `/_next/data/<id>/<page>.json`
4
+ * endpoint.
5
+ *
6
+ * Why this exists: when a user (or app code) triggers several near-simultaneous
7
+ * navigations to the same gSSP route — e.g. clicking the same `<Link>` multiple
8
+ * times before the first navigation lands — each call to `Router.push` would
9
+ * otherwise enter its own `navigateClientData()` flow and dispatch its own
10
+ * `fetch()` against the data endpoint. That balloons server load and breaks
11
+ * Next.js' documented "one fetch per unique data URL" guarantee.
12
+ *
13
+ * Ported from Next.js: `fetchNextData()` in
14
+ * `packages/next/src/shared/lib/router/router.ts`. Next.js maintains an
15
+ * `inflightCache` (keyed by the resolved data URL) and reuses the existing
16
+ * Promise when a concurrent caller asks for the same URL. The entry is
17
+ * dropped once the fetch settles (success or rejection) so the next
18
+ * navigation re-fetches fresh.
19
+ *
20
+ * Design notes:
21
+ *
22
+ * - Callers receive a cloned Response, so each can independently consume the
23
+ * body (`.json()`, `.text()`, etc.). The originating Response is never read
24
+ * directly by anyone, which keeps subsequent clones legal even after one
25
+ * caller has consumed its copy.
26
+ *
27
+ * - Each caller owns one waiter. Cancelling a waiter leaves the shared request
28
+ * alive while another waiter remains; cancelling the final waiter aborts the
29
+ * underlying fetch and evicts the entry immediately so a replacement caller
30
+ * can retry without joining a doomed request.
31
+ *
32
+ * - The map is module-scoped (one per realm). The Pages Router runs in the
33
+ * browser only, so a single `Map` is sufficient.
34
+ */
35
+ /**
36
+ * Dedupe a `fetch()` against the `_next/data` endpoint. Multiple concurrent
37
+ * callers for the same resolved URL and deployment ID share one underlying
38
+ * network request.
39
+ *
40
+ * Each call returns a freshly-cloned `Response` so consumers can read the
41
+ * body independently. Once the in-flight Promise settles (resolve or reject)
42
+ * the entry is removed, and the next call will hit the network again.
43
+ *
44
+ * Errors propagate to every concurrent caller — the in-flight entry is
45
+ * dropped on failure so the next navigation can retry.
46
+ */
47
+ declare function dedupedPagesDataFetch(dataHref: string, init?: RequestInit): Promise<Response>;
48
+ /**
49
+ * Drop every cached in-flight entry. Intended for tests; production code
50
+ * does not need to call this because entries self-evict on settle.
51
+ */
52
+ declare function clearPagesDataInflight(): void;
53
+ //#endregion
54
+ export { clearPagesDataInflight, dedupedPagesDataFetch };
@@ -0,0 +1,121 @@
1
+ import "../../utils/deployment-id.js";
2
+ //#region src/shims/internal/pages-data-fetch-dedup.ts
3
+ /**
4
+ * In-flight request dedup for the Pages Router `/_next/data/<id>/<page>.json`
5
+ * endpoint.
6
+ *
7
+ * Why this exists: when a user (or app code) triggers several near-simultaneous
8
+ * navigations to the same gSSP route — e.g. clicking the same `<Link>` multiple
9
+ * times before the first navigation lands — each call to `Router.push` would
10
+ * otherwise enter its own `navigateClientData()` flow and dispatch its own
11
+ * `fetch()` against the data endpoint. That balloons server load and breaks
12
+ * Next.js' documented "one fetch per unique data URL" guarantee.
13
+ *
14
+ * Ported from Next.js: `fetchNextData()` in
15
+ * `packages/next/src/shared/lib/router/router.ts`. Next.js maintains an
16
+ * `inflightCache` (keyed by the resolved data URL) and reuses the existing
17
+ * Promise when a concurrent caller asks for the same URL. The entry is
18
+ * dropped once the fetch settles (success or rejection) so the next
19
+ * navigation re-fetches fresh.
20
+ *
21
+ * Design notes:
22
+ *
23
+ * - Callers receive a cloned Response, so each can independently consume the
24
+ * body (`.json()`, `.text()`, etc.). The originating Response is never read
25
+ * directly by anyone, which keeps subsequent clones legal even after one
26
+ * caller has consumed its copy.
27
+ *
28
+ * - Each caller owns one waiter. Cancelling a waiter leaves the shared request
29
+ * alive while another waiter remains; cancelling the final waiter aborts the
30
+ * underlying fetch and evicts the entry immediately so a replacement caller
31
+ * can retry without joining a doomed request.
32
+ *
33
+ * - The map is module-scoped (one per realm). The Pages Router runs in the
34
+ * browser only, so a single `Map` is sufficient.
35
+ */
36
+ /** Inflight fetch entries keyed by the resolved data request identity. */
37
+ const inflight = /* @__PURE__ */ new Map();
38
+ function getInflightKey(dataHref, init) {
39
+ let resolvedHref = dataHref;
40
+ if (typeof window !== "undefined") try {
41
+ resolvedHref = new URL(dataHref, window.location.href).href;
42
+ } catch {}
43
+ const deploymentId = new Headers(init?.headers).get("x-deployment-id") ?? "";
44
+ return `${resolvedHref}\n${deploymentId}`;
45
+ }
46
+ function cloneSharedResponse(key, entry, signal) {
47
+ entry.waiters += 1;
48
+ return new Promise((resolve, reject) => {
49
+ let released = false;
50
+ const release = (cancelled) => {
51
+ if (released) return;
52
+ released = true;
53
+ entry.waiters -= 1;
54
+ if (cancelled && entry.waiters === 0 && !entry.settled) {
55
+ if (inflight.get(key) === entry) inflight.delete(key);
56
+ entry.controller.abort();
57
+ }
58
+ };
59
+ const abort = () => {
60
+ release(true);
61
+ reject(new DOMException("Aborted", "AbortError"));
62
+ };
63
+ signal?.addEventListener("abort", abort, { once: true });
64
+ entry.promise.then((response) => {
65
+ signal?.removeEventListener("abort", abort);
66
+ release(false);
67
+ resolve(response.clone());
68
+ }, (error) => {
69
+ signal?.removeEventListener("abort", abort);
70
+ release(false);
71
+ reject(error);
72
+ });
73
+ });
74
+ }
75
+ /**
76
+ * Dedupe a `fetch()` against the `_next/data` endpoint. Multiple concurrent
77
+ * callers for the same resolved URL and deployment ID share one underlying
78
+ * network request.
79
+ *
80
+ * Each call returns a freshly-cloned `Response` so consumers can read the
81
+ * body independently. Once the in-flight Promise settles (resolve or reject)
82
+ * the entry is removed, and the next call will hit the network again.
83
+ *
84
+ * Errors propagate to every concurrent caller — the in-flight entry is
85
+ * dropped on failure so the next navigation can retry.
86
+ */
87
+ function dedupedPagesDataFetch(dataHref, init) {
88
+ const key = getInflightKey(dataHref, init);
89
+ const signal = init?.signal ?? void 0;
90
+ if (signal?.aborted) return Promise.reject(new DOMException("Aborted", "AbortError"));
91
+ let entry = inflight.get(key);
92
+ if (!entry) {
93
+ const controller = new AbortController();
94
+ let currentEntry;
95
+ currentEntry = {
96
+ controller,
97
+ promise: fetch(dataHref, {
98
+ ...init,
99
+ signal: controller.signal
100
+ }).finally(() => {
101
+ currentEntry.settled = true;
102
+ if (inflight.get(key) === currentEntry) inflight.delete(key);
103
+ }),
104
+ settled: false,
105
+ waiters: 0
106
+ };
107
+ inflight.set(key, currentEntry);
108
+ entry = currentEntry;
109
+ }
110
+ return cloneSharedResponse(key, entry, signal);
111
+ }
112
+ /**
113
+ * Drop every cached in-flight entry. Intended for tests; production code
114
+ * does not need to call this because entries self-evict on settle.
115
+ */
116
+ function clearPagesDataInflight() {
117
+ for (const entry of inflight.values()) entry.controller.abort();
118
+ inflight.clear();
119
+ }
120
+ //#endregion
121
+ export { clearPagesDataInflight, dedupedPagesDataFetch };
@@ -0,0 +1,62 @@
1
+ //#region src/shims/internal/pages-data-target.d.ts
2
+ type PagesDataTarget = {
3
+ /** Final fetch URL for the data endpoint, including basePath and search. */dataHref: string; /** Matched route pattern (e.g. `/blog/[slug]`). */
4
+ pattern: string; /** Dynamic params extracted from the URL by the pattern matcher. */
5
+ params: Record<string, string | string[]>; /** Code-split loader thunk for the matched route's page module. */
6
+ loader: () => Promise<{
7
+ default?: unknown;
8
+ [key: string]: unknown;
9
+ }>; /** Current buildId snapshot, used by the data URL and consistency checks. */
10
+ buildId: string; /** Locale-prefixed (server-routable) page path. */
11
+ pagePath: string; /** URL search string including the leading `?`. */
12
+ search: string;
13
+ /**
14
+ * Locale prefix detected on the URL, or `undefined` when the URL is
15
+ * unprefixed (default locale, or no i18n configured). Lets the caller refresh
16
+ * locale state on locale transitions, which the data JSON envelope itself
17
+ * does not carry.
18
+ */
19
+ locale: string | undefined;
20
+ };
21
+ /**
22
+ * Decide whether the JSON data-endpoint navigation path is usable for this
23
+ * browser URL. We require:
24
+ * - A registered code-split loader for the matched route pattern. Without
25
+ * this, the client has no chunk URL to import for the new page.
26
+ * - A buildId on the current `__NEXT_DATA__`, since the data URL embeds it.
27
+ * - Same-origin (cross-origin URLs do not hit our data endpoint).
28
+ *
29
+ * Locale handling: route patterns in `__VINEXT_PAGE_PATTERNS__` are
30
+ * locale-unaware (`/about`, not `/fr/about`), but the browser URL for a
31
+ * locale-prefixed page is `/fr/about`. We strip the locale prefix before
32
+ * pattern matching so locale transitions hit the JSON fast path. The data URL
33
+ * itself keeps the locale prefix because the server uses it to pick
34
+ * locale-specific gSSP data.
35
+ *
36
+ * Returns the resolved target, or `null` to signal the caller should fall
37
+ * back to the HTML extraction path (dev server, or a route that exists on the
38
+ * server but is not in the client loader map).
39
+ *
40
+ * Ported from Next.js: `packages/next/src/client/page-loader.ts`
41
+ * (`getDataHref`). vinext's equivalent uses an in-memory loader map instead
42
+ * of Next.js' `_buildManifest.js`.
43
+ */
44
+ declare function resolvePagesDataNavigationTarget(browserUrl: string, basePath: string): PagesDataTarget | null;
45
+ /**
46
+ * Prefetch the data JSON and kick off the code-split loader so the chunk is
47
+ * warm by the time the user clicks.
48
+ *
49
+ * Used by both `Router.prefetch()` and `<Link>` hover/viewport prefetch. The
50
+ * JSON request uses `fetch()` rather than `<link rel="prefetch">` so it can
51
+ * carry Next.js's `x-deployment-id` skew-protection header. The in-flight
52
+ * request is shared with a racing navigation; after it settles, the browser's
53
+ * normal HTTP cache remains responsible for reuse.
54
+ *
55
+ * loader's returned Promise is intentionally discarded — `import()` caches the
56
+ * result, so a subsequent navigation re-invocation hits the cache without
57
+ * paying for a second round trip. Errors are swallowed: prefetch is
58
+ * best-effort and must never break the page.
59
+ */
60
+ declare function prefetchPagesData(target: PagesDataTarget): void;
61
+ //#endregion
62
+ export { PagesDataTarget, prefetchPagesData, resolvePagesDataNavigationTarget };