@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,687 @@
1
+ "use client";
2
+ import { stripBasePath } from "../utils/base-path.js";
3
+ import { createRouteTrieCache, matchRouteWithTrie } from "../routing/route-matching.js";
4
+ import { VINEXT_MOUNTED_SLOTS_HEADER } from "../server/headers.js";
5
+ import { isDangerousScheme, reportBlockedDangerousNavigation } from "./url-safety.js";
6
+ import { AppElementsWire } from "../server/app-elements-wire.js";
7
+ import { APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL } from "../server/app-rsc-render-mode.js";
8
+ import "../server/app-elements.js";
9
+ import { addLocalePrefix, getDomainLocaleUrl } from "../utils/domain-locale.js";
10
+ import { prefetchPagesData, resolvePagesDataNavigationTarget } from "./internal/pages-data-target.js";
11
+ import { appendSearchParamsToUrl, urlQueryToSearchParams } from "../utils/query.js";
12
+ import { resolveHybridClientRouteOwner } from "./internal/hybrid-client-route-owner.js";
13
+ import { markAppRouteDetectedOnPrefetch } from "./internal/app-route-detection.js";
14
+ import { isAbsoluteOrProtocolRelativeUrl, normalizePathTrailingSlash, toBrowserNavigationHref, toSameOriginAppPath, withBasePath } from "./url-utils.js";
15
+ import { interpolateDynamicRouteHref } from "./internal/interpolate-as.js";
16
+ import { getCurrentBrowserLocale } from "./client-locale.js";
17
+ import { getCurrentRoutePathnameForWarning } from "./internal/route-pattern-for-warning.js";
18
+ import { createRscRequestHeaders, createRscRequestUrl, stripRscCacheBustingSearchParam, stripRscSuffix } from "../server/app-rsc-cache-busting.js";
19
+ import { getNavigationRuntime, hasAppNavigationRuntime, registerNavigationRuntimeFunctions } from "../client/navigation-runtime.js";
20
+ import { navigatePagesRouterLinkWithFallback, resolvePagesRouterQueryOnlyHref } from "../client/pages-router-link-navigation.js";
21
+ import { getMountedSlotsHeader, getPrefetchCache, getPrefetchInterceptionContext, getPrefetchedUrls, hasPrefetchCacheEntryForNavigation, navigateClientSide, prefetchRscResponse } from "./navigation.js";
22
+ import { getI18nContext } from "./i18n-context.js";
23
+ import { canLinkIntentPrefetch, canLinkPrefetch, getLinkPrefetchHref } from "./link-prefetch.js";
24
+ import { clearLinkForCurrentNavigation, notifyLinkNavigationStart, setLinkForCurrentNavigation } from "./internal/link-status-registry.js";
25
+ import React, { createContext, forwardRef, useCallback, useContext, useEffect, useRef, useState } from "react";
26
+ import { jsx } from "react/jsx-runtime";
27
+ //#region src/shims/link.tsx
28
+ /**
29
+ * next/link shim
30
+ *
31
+ * Renders an <a> tag with client-side navigation support.
32
+ * On click, prevents full page reload and triggers client-side
33
+ * page swap via the router's navigation system.
34
+ */
35
+ const HAS_PAGES_ROUTER = process.env.__VINEXT_HAS_PAGES_ROUTER !== "false";
36
+ const LinkStatusContext = createContext({ pending: false });
37
+ /**
38
+ * useLinkStatus returns the pending state of the enclosing <Link>.
39
+ * In Next.js, this is used to show loading indicators while a
40
+ * prefetch-triggered navigation is in progress.
41
+ */
42
+ function useLinkStatus() {
43
+ return useContext(LinkStatusContext);
44
+ }
45
+ if (typeof window !== "undefined") registerNavigationRuntimeFunctions({ notifyLinkNavigationStart });
46
+ /** basePath from next.config.js, injected by the plugin at build time */
47
+ const __basePath = process.env.__NEXT_ROUTER_BASEPATH ?? "";
48
+ /** trailingSlash from next.config.js, injected by the plugin at build time */
49
+ const __trailingSlash = process.env.__VINEXT_TRAILING_SLASH === "true";
50
+ const __prefetchInlining = process.env.__VINEXT_PREFETCH_INLINING === "true";
51
+ const linkPrefetchRouteTrieCache = createRouteTrieCache();
52
+ function resolveHref(href) {
53
+ if (typeof href === "string") return href;
54
+ let url = href.pathname ?? "";
55
+ if (href.query) {
56
+ const params = urlQueryToSearchParams(href.query);
57
+ url = appendSearchParamsToUrl(url, params);
58
+ }
59
+ return url;
60
+ }
61
+ function resolvePagesQueryOnlyHref(href) {
62
+ if (!HAS_PAGES_ROUTER) return href;
63
+ if (!href.startsWith("?") || typeof window === "undefined") return href;
64
+ const pagesRouter = window.next?.appDir === true ? void 0 : window.next?.router;
65
+ return resolvePagesRouterQueryOnlyHref(href, {
66
+ asPath: pagesRouter && "reload" in pagesRouter && "asPath" in pagesRouter && typeof pagesRouter.asPath === "string" ? pagesRouter.asPath : void 0,
67
+ basePath: __basePath,
68
+ fallbackHref: window.location.href,
69
+ locales: window.__VINEXT_LOCALES__
70
+ });
71
+ }
72
+ function resolvePagesLinkNavigationHref(href, locale) {
73
+ return normalizePathTrailingSlash(applyLocaleToHref(resolvePagesQueryOnlyHref(href), locale), __trailingSlash);
74
+ }
75
+ function applyPagesNavigationFallback(href, replace) {
76
+ if (replace) window.history.replaceState({}, "", href);
77
+ else window.history.pushState({}, "", href);
78
+ window.dispatchEvent(new PopStateEvent("popstate"));
79
+ }
80
+ /**
81
+ * Collapse repeated forward-slashes (and convert backslashes to forward-slashes)
82
+ * in the path portion of a URL, preserving any query string.
83
+ *
84
+ * Ported from Next.js: packages/next/src/shared/lib/utils/normalize-repeated-slashes.ts
85
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/shared/lib/utils/normalize-repeated-slashes.ts
86
+ */
87
+ function normalizeRepeatedSlashes(url) {
88
+ const urlParts = url.split("?");
89
+ const urlNoQueryString = urlParts.shift() ?? "";
90
+ const queryString = urlParts.join("?");
91
+ return urlNoQueryString.replace(/\\/g, "/").replace(/\/\/+/g, "/") + (queryString ? `?${queryString}` : "");
92
+ }
93
+ /**
94
+ * Emit Next.js's "Invalid href" `console.error` when `href` contains repeated
95
+ * forward slashes or backslashes in its path portion, and return the
96
+ * normalized URL (with `\\` converted to `/` and runs of `/` collapsed). If
97
+ * the href is already well-formed, the original string is returned unchanged.
98
+ *
99
+ * Ported from Next.js: packages/next/src/client/resolve-href.ts
100
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/client/resolve-href.ts
101
+ *
102
+ * Matches the message asserted by:
103
+ * test/e2e/repeated-forward-slashes-error/repeated-forward-slashes-error.test.ts
104
+ *
105
+ * Note: Next.js fires this warning unconditionally on every call to
106
+ * `resolveHref`. We mirror that behaviour (no dedup) for exact parity.
107
+ *
108
+ * Note: Next.js uses `router.pathname` (the route pattern, e.g.
109
+ * `/posts/[id]`) for the "in page" segment of the message. The Next.js
110
+ * compat test asserts this exact text (`in page: '/my/path/[name]'`), so we
111
+ * source it from the current render's route pattern via
112
+ * `getCurrentRoutePathnameForWarning()`: the Pages Router SSR context's route
113
+ * pattern on the server, `window.location.pathname` on the client, falling
114
+ * back to `"/"`.
115
+ */
116
+ function warnAndNormalizeRepeatedSlashesInHref(urlAsString) {
117
+ if (urlAsString.startsWith("//")) return urlAsString;
118
+ const urlProtoMatch = urlAsString.match(/^[a-z][a-z0-9+.-]*:\/\//i);
119
+ const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString;
120
+ if (!(urlAsStringNoProto.split("?", 1)[0] || "").match(/(\/\/|\\)/)) return urlAsString;
121
+ const pathname = getCurrentRoutePathnameForWarning();
122
+ console.error(`Invalid href '${urlAsString}' passed to next/router in page: '${pathname}'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.`);
123
+ const normalizedNoProto = normalizeRepeatedSlashes(urlAsStringNoProto);
124
+ return (urlProtoMatch ? urlProtoMatch[0] : "") + normalizedNoProto;
125
+ }
126
+ function resolveLinkPrefetchMode(prefetchProp, isDangerous) {
127
+ if (isDangerous || prefetchProp === false) return "disabled";
128
+ if (prefetchProp === true) return "full";
129
+ return "auto";
130
+ }
131
+ function toSameOriginRouteHref(href) {
132
+ if (typeof window === "undefined") return null;
133
+ let url;
134
+ try {
135
+ url = new URL(href, window.location.href);
136
+ } catch {
137
+ return null;
138
+ }
139
+ if (url.origin !== window.location.origin) return null;
140
+ return `${stripBasePath(url.pathname, __basePath)}${url.search}`;
141
+ }
142
+ function getLinkPrefetchRouterMode() {
143
+ return hasAppNavigationRuntime() ? "app" : "pages";
144
+ }
145
+ function resolveMatchedAutoAppRoutePrefetch(route) {
146
+ return {
147
+ cacheForNavigation: !route.canPrefetchLoadingShell,
148
+ prefetchShellFirst: !route.isDynamic,
149
+ shouldPrefetch: true
150
+ };
151
+ }
152
+ function canAutoPrefetchFullAppRoute(href) {
153
+ if (typeof window === "undefined") return false;
154
+ const routes = window.__VINEXT_LINK_PREFETCH_ROUTES__;
155
+ if (!routes) return false;
156
+ const routeHref = toSameOriginRouteHref(href);
157
+ if (routeHref === null) return false;
158
+ const match = matchRouteWithTrie(routeHref, routes, linkPrefetchRouteTrieCache);
159
+ if (!match) return false;
160
+ return resolveMatchedAutoAppRoutePrefetch(match.route).cacheForNavigation;
161
+ }
162
+ function resolveAutoAppRoutePrefetch(href) {
163
+ if (typeof window === "undefined") return {
164
+ cacheForNavigation: false,
165
+ prefetchShellFirst: false,
166
+ shouldPrefetch: false
167
+ };
168
+ const routes = window.__VINEXT_LINK_PREFETCH_ROUTES__;
169
+ if (!routes) return {
170
+ cacheForNavigation: false,
171
+ prefetchShellFirst: false,
172
+ shouldPrefetch: false
173
+ };
174
+ const routeHref = toSameOriginRouteHref(href);
175
+ if (routeHref === null) return {
176
+ cacheForNavigation: false,
177
+ prefetchShellFirst: false,
178
+ shouldPrefetch: false
179
+ };
180
+ const match = matchRouteWithTrie(routeHref, routes, linkPrefetchRouteTrieCache);
181
+ if (!match) return {
182
+ cacheForNavigation: false,
183
+ prefetchShellFirst: false,
184
+ shouldPrefetch: false
185
+ };
186
+ return resolveMatchedAutoAppRoutePrefetch(match.route);
187
+ }
188
+ /**
189
+ * Prefetch a URL for faster navigation.
190
+ *
191
+ * For App Router (RSC): fetches the .rsc payload in the background and
192
+ * stores it in an in-memory cache for instant use during navigation.
193
+ * For Pages Router: injects a <link rel="prefetch"> for the page module.
194
+ *
195
+ * Uses `requestIdleCallback` (or `setTimeout` fallback) to avoid blocking
196
+ * the main thread during initial page load.
197
+ */
198
+ function prefetchUrl(href, mode, priority = "low") {
199
+ if (typeof window === "undefined") return;
200
+ const prefetchHref = getLinkPrefetchHref({
201
+ href,
202
+ basePath: __basePath,
203
+ currentOrigin: window.location.origin
204
+ });
205
+ if (prefetchHref == null) return;
206
+ const fullHref = toBrowserNavigationHref(prefetchHref, window.location.href, __basePath);
207
+ const target = new URL(fullHref, window.location.href);
208
+ if (target.origin === window.location.origin && target.pathname === window.location.pathname && target.search === window.location.search) return;
209
+ (priority === "high" ? (fn) => {
210
+ fn();
211
+ } : window.requestIdleCallback ?? ((fn) => setTimeout(fn, 100)))(() => {
212
+ (async () => {
213
+ if (hasAppNavigationRuntime()) {
214
+ const hybridOwner = resolveHybridClientRouteOwner(prefetchHref, __basePath);
215
+ if (hybridOwner === "pages" || hybridOwner === "document") return;
216
+ const autoPrefetch = mode === "auto" ? resolveAutoAppRoutePrefetch(prefetchHref) : {
217
+ cacheForNavigation: true,
218
+ prefetchShellFirst: true,
219
+ shouldPrefetch: true
220
+ };
221
+ if (!autoPrefetch.shouldPrefetch) return;
222
+ const interceptionContext = getPrefetchInterceptionContext(fullHref);
223
+ const mountedSlotsHeader = getMountedSlotsHeader();
224
+ const isOptimisticRouteShellPrefetch = !autoPrefetch.cacheForNavigation;
225
+ if (isOptimisticRouteShellPrefetch && interceptionContext !== null) return;
226
+ const headers = createRscRequestHeaders({
227
+ interceptionContext,
228
+ renderMode: isOptimisticRouteShellPrefetch ? APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL : void 0
229
+ });
230
+ if (mountedSlotsHeader) headers.set(VINEXT_MOUNTED_SLOTS_HEADER, mountedSlotsHeader);
231
+ const rscUrl = await createRscRequestUrl(fullHref, headers);
232
+ const cacheKey = AppElementsWire.encodeCacheKey(rscUrl, interceptionContext);
233
+ const prefetched = getPrefetchedUrls();
234
+ if (prefetched.has(cacheKey)) {
235
+ if (!autoPrefetch.cacheForNavigation) return;
236
+ const existing = getPrefetchCache().get(cacheKey);
237
+ if (existing?.cacheForNavigation === false) existing.cacheForNavigation = true;
238
+ }
239
+ if (autoPrefetch.cacheForNavigation && hasPrefetchCacheEntryForNavigation(rscUrl, interceptionContext, mountedSlotsHeader)) return;
240
+ prefetched.add(cacheKey);
241
+ prefetchRscResponse(rscUrl, __prefetchInlining && autoPrefetch.cacheForNavigation && autoPrefetch.prefetchShellFirst ? (async () => {
242
+ const shellHeaders = createRscRequestHeaders({
243
+ interceptionContext,
244
+ renderMode: APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL
245
+ });
246
+ if (mountedSlotsHeader) shellHeaders.set(VINEXT_MOUNTED_SLOTS_HEADER, mountedSlotsHeader);
247
+ const shellRscUrl = await createRscRequestUrl(fullHref, shellHeaders);
248
+ const shellResponse = await fetch(shellRscUrl, {
249
+ headers: shellHeaders,
250
+ credentials: "include",
251
+ priority,
252
+ purpose: "prefetch"
253
+ });
254
+ if (!shellResponse.ok) return shellResponse;
255
+ await shellResponse.arrayBuffer().catch(() => {});
256
+ return fetch(rscUrl, {
257
+ headers,
258
+ credentials: "include",
259
+ priority,
260
+ purpose: "prefetch"
261
+ });
262
+ })() : fetch(rscUrl, {
263
+ headers,
264
+ credentials: "include",
265
+ priority,
266
+ purpose: "prefetch"
267
+ }), interceptionContext, mountedSlotsHeader, void 0, {
268
+ cacheForNavigation: autoPrefetch.cacheForNavigation,
269
+ optimisticRouteShell: isOptimisticRouteShellPrefetch
270
+ });
271
+ } else if (HAS_PAGES_ROUTER && window.__NEXT_DATA__) {
272
+ const dataTarget = resolvePagesDataNavigationTarget(fullHref, __basePath);
273
+ if (dataTarget) prefetchPagesData(dataTarget);
274
+ else {
275
+ markAppRouteDetectedOnPrefetch(fullHref, __basePath);
276
+ const link = document.createElement("link");
277
+ link.rel = "prefetch";
278
+ link.href = fullHref;
279
+ link.as = "document";
280
+ document.head.appendChild(link);
281
+ }
282
+ }
283
+ })().catch((error) => {
284
+ console.error("[vinext] RSC prefetch setup error:", error);
285
+ });
286
+ });
287
+ }
288
+ function promotePrefetchEntriesForNavigation(href) {
289
+ if (typeof window === "undefined") return;
290
+ let target;
291
+ try {
292
+ target = new URL(toBrowserNavigationHref(href, window.location.href, __basePath), window.location.href);
293
+ } catch {
294
+ return;
295
+ }
296
+ for (const [cacheKey, entry] of getPrefetchCache()) {
297
+ if (entry.optimisticRouteShell === true) continue;
298
+ const [rscUrl] = cacheKey.split("\0", 1);
299
+ let cached;
300
+ try {
301
+ cached = new URL(rscUrl, window.location.href);
302
+ } catch {
303
+ continue;
304
+ }
305
+ stripRscCacheBustingSearchParam(cached);
306
+ if (stripRscSuffix(cached.pathname) === target.pathname && cached.search === target.search) entry.cacheForNavigation = true;
307
+ }
308
+ }
309
+ /**
310
+ * Shared IntersectionObserver for viewport-based prefetching.
311
+ * All Link elements use the same observer to minimize resource usage.
312
+ */
313
+ let sharedObserver = null;
314
+ const observedLinkPrefetches = /* @__PURE__ */ new WeakMap();
315
+ const visibleLinkPrefetches = /* @__PURE__ */ new Set();
316
+ function setVisibleLinkPrefetch(instance, isVisible) {
317
+ instance.isVisible = isVisible;
318
+ if (isVisible) {
319
+ visibleLinkPrefetches.add(instance);
320
+ if (instance.routerMode === "pages" && instance.viewportPrefetched) return;
321
+ prefetchUrl(instance.href, instance.mode, "low");
322
+ instance.viewportPrefetched = true;
323
+ } else visibleLinkPrefetches.delete(instance);
324
+ }
325
+ function registerVisibleLinkPing() {
326
+ if (typeof window === "undefined") return;
327
+ registerNavigationRuntimeFunctions({ pingVisibleLinks: pingVisibleLinkPrefetches });
328
+ }
329
+ function pingVisibleLinkPrefetches() {
330
+ for (const instance of visibleLinkPrefetches) if (instance.isVisible && instance.routerMode === "app") prefetchUrl(instance.href, instance.mode, "low");
331
+ }
332
+ function getSharedObserver() {
333
+ if (typeof window === "undefined" || typeof IntersectionObserver === "undefined") return null;
334
+ if (sharedObserver) return sharedObserver;
335
+ sharedObserver = new IntersectionObserver((entries) => {
336
+ for (const entry of entries) {
337
+ const instance = observedLinkPrefetches.get(entry.target);
338
+ if (!instance) continue;
339
+ setVisibleLinkPrefetch(instance, entry.isIntersecting || entry.intersectionRatio > 0);
340
+ }
341
+ }, { rootMargin: "250px" });
342
+ return sharedObserver;
343
+ }
344
+ function getDefaultLocale() {
345
+ if (typeof window !== "undefined") return window.__VINEXT_DEFAULT_LOCALE__;
346
+ return getI18nContext()?.defaultLocale;
347
+ }
348
+ function getCurrentLocale() {
349
+ if (typeof window !== "undefined") return getCurrentBrowserLocale({
350
+ basePath: __basePath,
351
+ domainLocales: getDomainLocales(),
352
+ hostname: getCurrentHostname()
353
+ });
354
+ return getI18nContext()?.locale;
355
+ }
356
+ function getDomainLocales() {
357
+ if (typeof window !== "undefined") return window.__NEXT_DATA__?.domainLocales;
358
+ return getI18nContext()?.domainLocales;
359
+ }
360
+ function getCurrentHostname() {
361
+ if (typeof window !== "undefined") return window.location.hostname;
362
+ return getI18nContext()?.hostname;
363
+ }
364
+ function getDomainLocaleHref(href, locale) {
365
+ return getDomainLocaleUrl(href, locale, {
366
+ basePath: __basePath,
367
+ currentHostname: getCurrentHostname(),
368
+ domainItems: getDomainLocales()
369
+ });
370
+ }
371
+ function addLocalePrefixForRoot(href, locale) {
372
+ if (href !== "/" && !href.startsWith("/?") && !href.startsWith("/#")) return;
373
+ let parsed;
374
+ try {
375
+ parsed = new URL(href, "http://vinext.local");
376
+ } catch {
377
+ return;
378
+ }
379
+ if (parsed.origin !== "http://vinext.local" || parsed.pathname !== "/") return;
380
+ return `/${locale}${parsed.search}${parsed.hash}`;
381
+ }
382
+ /**
383
+ * Apply locale prefix to a URL path based on the locale prop.
384
+ * - locale="fr" → prepend /fr (unless it already has a locale prefix)
385
+ * - locale={false} → use the href as-is (no locale prefix, link to default)
386
+ * - locale=undefined → use current locale (href as-is in most cases)
387
+ */
388
+ function applyLocaleToHref(href, locale) {
389
+ if (locale === false) return href;
390
+ const resolvedLocale = locale ?? getCurrentLocale();
391
+ if (resolvedLocale === void 0) return href;
392
+ if (isAbsoluteOrProtocolRelativeUrl(href)) return href;
393
+ const domainLocaleHref = getDomainLocaleHref(href, resolvedLocale);
394
+ if (domainLocaleHref) return domainLocaleHref;
395
+ const defaultLocale = getDefaultLocale() ?? "";
396
+ if (resolvedLocale.toLowerCase() === defaultLocale.toLowerCase()) {
397
+ const localeRootHref = addLocalePrefixForRoot(href, resolvedLocale);
398
+ if (localeRootHref) return localeRootHref;
399
+ }
400
+ return addLocalePrefix(href, resolvedLocale, defaultLocale);
401
+ }
402
+ /**
403
+ * For the `<Link href="/blog/[slug]" as="/blog/test-post">` case, project the
404
+ * bracket-pattern href + the resolved `as` back into a concrete route URL the
405
+ * Pages Router can fetch (`/blog/test-post`). Returns null when:
406
+ * - `href` has no bracket params (already concrete; the existing forwarding
407
+ * path works as-is)
408
+ * - interpolation fails because a required param could not be resolved
409
+ * (caller falls back to `as`, matching pre-PR behavior)
410
+ *
411
+ * The query for interpolation is the href's own query — `as` is the matcher
412
+ * input rather than the source of param values. For string hrefs the search
413
+ * portion is parsed into the query record; for object hrefs we take
414
+ * `href.query` directly.
415
+ */
416
+ function resolveConcreteRouteHref(href, as) {
417
+ if (typeof as !== "string") return null;
418
+ return interpolateDynamicRouteHref(typeof href === "string" ? href : resolveHref(href), as, typeof href === "string" ? void 0 : href.query)?.href || null;
419
+ }
420
+ const Link = forwardRef(function Link({ href, as, replace = false, prefetch: prefetchProp, scroll = true, shallow = false, children: childrenProp, onClick, onMouseEnter, onTouchStart, onNavigate, unstable_dynamicOnHover = false, legacyBehavior = false, passHref = false, ...rest }, forwardedRef) {
421
+ const { locale, ...restWithoutLocale } = rest;
422
+ let children = childrenProp;
423
+ if (legacyBehavior && (typeof childrenProp === "string" || typeof childrenProp === "number")) children = React.createElement("a", null, childrenProp);
424
+ const rawResolvedHref = as ?? resolveHref(href);
425
+ const routeHrefRaw = (HAS_PAGES_ROUTER ? resolveConcreteRouteHref(href, as) : null) ?? (typeof href === "string" ? href : resolveHref(href));
426
+ const resolvedHref = typeof rawResolvedHref === "string" ? warnAndNormalizeRepeatedSlashesInHref(rawResolvedHref) : rawResolvedHref;
427
+ const isDangerous = typeof resolvedHref === "string" && isDangerousScheme(resolvedHref);
428
+ const normalizedHref = normalizePathTrailingSlash(applyLocaleToHref(isDangerous ? "/" : resolvedHref, locale), __trailingSlash);
429
+ const fullHref = normalizePathTrailingSlash(withBasePath(normalizedHref, __basePath), __trailingSlash);
430
+ const [pending, setPending] = useState(false);
431
+ const mountedRef = useRef(true);
432
+ const setPendingRef = useRef(null);
433
+ if (setPendingRef.current === null) setPendingRef.current = (next) => {
434
+ if (mountedRef.current) setPending(next);
435
+ };
436
+ useEffect(() => {
437
+ mountedRef.current = true;
438
+ const setter = setPendingRef.current;
439
+ return () => {
440
+ mountedRef.current = false;
441
+ if (setter) clearLinkForCurrentNavigation(setter);
442
+ };
443
+ }, []);
444
+ const internalRef = useRef(null);
445
+ const prefetchMode = resolveLinkPrefetchMode(prefetchProp, isDangerous);
446
+ const shouldViewportPrefetch = canLinkPrefetch({
447
+ nodeEnv: process.env.NODE_ENV,
448
+ prefetch: prefetchProp,
449
+ isDangerous
450
+ });
451
+ const setRefs = useCallback((node) => {
452
+ internalRef.current = node;
453
+ if (typeof forwardedRef === "function") forwardedRef(node);
454
+ else if (forwardedRef) forwardedRef.current = node;
455
+ }, [forwardedRef]);
456
+ useEffect(() => {
457
+ if (!shouldViewportPrefetch || typeof window === "undefined") return;
458
+ const node = internalRef.current;
459
+ if (!node) return;
460
+ const hrefToPrefetch = getLinkPrefetchHref({
461
+ href: normalizedHref,
462
+ basePath: __basePath,
463
+ currentOrigin: window.location.origin
464
+ });
465
+ if (hrefToPrefetch == null) return;
466
+ const observer = getSharedObserver();
467
+ if (!observer) return;
468
+ registerVisibleLinkPing();
469
+ const instance = {
470
+ href: hrefToPrefetch,
471
+ isVisible: false,
472
+ mode: prefetchMode,
473
+ routerMode: getLinkPrefetchRouterMode(),
474
+ viewportPrefetched: false
475
+ };
476
+ observedLinkPrefetches.set(node, instance);
477
+ observer.observe(node);
478
+ return () => {
479
+ observer.unobserve(node);
480
+ observedLinkPrefetches.delete(node);
481
+ visibleLinkPrefetches.delete(instance);
482
+ };
483
+ }, [
484
+ shouldViewportPrefetch,
485
+ prefetchMode,
486
+ normalizedHref
487
+ ]);
488
+ const prefetchOnIntent = useCallback(() => {
489
+ if (!canLinkIntentPrefetch({
490
+ nodeEnv: process.env.NODE_ENV,
491
+ prefetch: prefetchProp,
492
+ isDangerous,
493
+ routerMode: getLinkPrefetchRouterMode()
494
+ })) return;
495
+ const intentMode = unstable_dynamicOnHover ? "full" : prefetchMode;
496
+ if (unstable_dynamicOnHover && internalRef.current) {
497
+ const instance = observedLinkPrefetches.get(internalRef.current);
498
+ if (instance) instance.mode = "full";
499
+ promotePrefetchEntriesForNavigation(normalizedHref);
500
+ }
501
+ prefetchUrl(normalizedHref, intentMode, "high");
502
+ }, [
503
+ prefetchProp,
504
+ isDangerous,
505
+ prefetchMode,
506
+ normalizedHref,
507
+ unstable_dynamicOnHover
508
+ ]);
509
+ const handleMouseEnter = useCallback((e) => {
510
+ onMouseEnter?.(e);
511
+ prefetchOnIntent();
512
+ }, [onMouseEnter, prefetchOnIntent]);
513
+ const handleTouchStart = useCallback((e) => {
514
+ onTouchStart?.(e);
515
+ prefetchOnIntent();
516
+ }, [onTouchStart, prefetchOnIntent]);
517
+ const handleClick = async (e, options = {}) => {
518
+ if (!options.skipLinkOnClick && onClick) onClick(e);
519
+ if (e.defaultPrevented) return;
520
+ if (e.currentTarget.hasAttribute("download")) return;
521
+ if (e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey) return;
522
+ if (e.currentTarget.target && e.currentTarget.target !== "_self") return;
523
+ let navigateHref = normalizedHref;
524
+ if (isAbsoluteOrProtocolRelativeUrl(resolvedHref)) {
525
+ const localPath = toSameOriginAppPath(resolvedHref, __basePath);
526
+ if (localPath == null) {
527
+ if (replace) {
528
+ e.preventDefault();
529
+ window.location.replace(resolvedHref);
530
+ }
531
+ return;
532
+ }
533
+ navigateHref = localPath;
534
+ }
535
+ e.preventDefault();
536
+ const hasAppNavigationRuntime = Boolean(getNavigationRuntime()?.functions.navigate);
537
+ const pagesNavigateHref = HAS_PAGES_ROUTER && resolvedHref.startsWith("?") ? resolvePagesLinkNavigationHref(resolvedHref, locale) : navigateHref;
538
+ const pagesAsForLink = HAS_PAGES_ROUTER && typeof as === "string" && typeof routeHrefRaw === "string" && as !== routeHrefRaw ? pagesNavigateHref : void 0;
539
+ const pagesHrefForLink = pagesAsForLink === void 0 ? pagesNavigateHref : routeHrefRaw;
540
+ const absoluteFullHref = toBrowserNavigationHref(hasAppNavigationRuntime ? navigateHref : pagesNavigateHref, window.location.href, __basePath);
541
+ if (onNavigate) try {
542
+ const navUrl = new URL(absoluteFullHref, window.location.origin);
543
+ let prevented = false;
544
+ const navEvent = {
545
+ url: navUrl,
546
+ preventDefault() {
547
+ prevented = true;
548
+ },
549
+ get defaultPrevented() {
550
+ return prevented;
551
+ }
552
+ };
553
+ onNavigate(navEvent);
554
+ if (navEvent.defaultPrevented) return;
555
+ } catch {}
556
+ if (HAS_PAGES_ROUTER && hasAppNavigationRuntime && ["pages", "document"].includes(resolveHybridClientRouteOwner(navigateHref, __basePath) ?? "")) {
557
+ if (replace) window.location.replace(absoluteFullHref);
558
+ else window.location.assign(absoluteFullHref);
559
+ return;
560
+ }
561
+ if (hasAppNavigationRuntime) {
562
+ const setter = setPendingRef.current;
563
+ if (setter) setLinkForCurrentNavigation(setter);
564
+ setPending(true);
565
+ React.startTransition(() => {
566
+ navigateClientSide(navigateHref, replace ? "replace" : "push", scroll, true).finally(() => {
567
+ if (mountedRef.current) setPending(false);
568
+ if (setter) clearLinkForCurrentNavigation(setter);
569
+ });
570
+ });
571
+ return;
572
+ } else if (HAS_PAGES_ROUTER) {
573
+ const Router = window.next?.appDir === true ? void 0 : window.next?.router;
574
+ await navigatePagesRouterLinkWithFallback({
575
+ router: Router && "reload" in Router ? Router : void 0,
576
+ loadRouter: async () => (await import("next/router.js")).default,
577
+ navigation: {
578
+ href: pagesHrefForLink,
579
+ as: pagesAsForLink,
580
+ replace,
581
+ scroll,
582
+ shallow,
583
+ locale,
584
+ interpolateDynamicRoute: resolvedHref.startsWith("?")
585
+ },
586
+ fallback: () => applyPagesNavigationFallback(absoluteFullHref, replace)
587
+ });
588
+ } else if (replace) window.location.replace(absoluteFullHref);
589
+ else window.location.assign(absoluteFullHref);
590
+ };
591
+ const anchorProps = restWithoutLocale;
592
+ const linkStatusValue = React.useMemo(() => ({ pending }), [pending]);
593
+ if (isDangerous) {
594
+ if (process.env.NODE_ENV !== "production") console.warn(`<Link> blocked dangerous href: ${resolvedHref}`);
595
+ const handleDangerousClick = (event) => {
596
+ if (onClick) onClick(event);
597
+ reportBlockedDangerousNavigation();
598
+ };
599
+ if (legacyBehavior) {
600
+ const child = React.Children.only(children);
601
+ const childOnClick = child.props.onClick;
602
+ const childRef = child.props.ref;
603
+ const setDangerousRefs = (node) => {
604
+ internalRef.current = node;
605
+ if (typeof childRef === "function") childRef(node);
606
+ else if (childRef) childRef.current = node;
607
+ };
608
+ return /* @__PURE__ */ jsx(LinkStatusContext.Provider, {
609
+ value: linkStatusValue,
610
+ children: React.cloneElement(child, {
611
+ ref: setDangerousRefs,
612
+ onClick: (event) => {
613
+ if (childOnClick) childOnClick(event);
614
+ reportBlockedDangerousNavigation();
615
+ }
616
+ })
617
+ });
618
+ }
619
+ return /* @__PURE__ */ jsx(LinkStatusContext.Provider, {
620
+ value: linkStatusValue,
621
+ children: /* @__PURE__ */ jsx("a", {
622
+ ref: setRefs,
623
+ onClick: handleDangerousClick,
624
+ onMouseEnter: handleMouseEnter,
625
+ onTouchStart: handleTouchStart,
626
+ ...anchorProps,
627
+ children
628
+ })
629
+ });
630
+ }
631
+ if (legacyBehavior) {
632
+ const child = React.Children.only(children);
633
+ if (process.env.NODE_ENV !== "production") {
634
+ if (onClick) console.warn(`"onClick" was passed to <Link> with \`href\` of \`${resolveHref(href)}\` but "legacyBehavior" was set. The legacy behavior requires onClick be set on the child of next/link`);
635
+ if (onMouseEnter) console.warn(`"onMouseEnter" was passed to <Link> with \`href\` of \`${resolveHref(href)}\` but "legacyBehavior" was set. The legacy behavior requires onMouseEnter be set on the child of next/link`);
636
+ }
637
+ const childPropsExisting = child.props;
638
+ const childHasOwnHref = child.type === "a" ? "href" in childPropsExisting : false;
639
+ const shouldForwardHref = passHref || child.type === "a" && !childHasOwnHref;
640
+ const childOnClick = childPropsExisting.onClick;
641
+ const childOnMouseEnter = childPropsExisting.onMouseEnter;
642
+ const childOnTouchStart = childPropsExisting.onTouchStart;
643
+ const childRef = childPropsExisting.ref;
644
+ const setLegacyRefs = (node) => {
645
+ internalRef.current = node;
646
+ if (typeof childRef === "function") childRef(node);
647
+ else if (childRef) childRef.current = node;
648
+ };
649
+ const clonedProps = {
650
+ ref: setLegacyRefs,
651
+ onClick: (event) => {
652
+ if (childOnClick) childOnClick(event);
653
+ if (event.defaultPrevented) return;
654
+ handleClick(event, { skipLinkOnClick: true });
655
+ },
656
+ onMouseEnter: (event) => {
657
+ if (childOnMouseEnter) childOnMouseEnter(event);
658
+ prefetchOnIntent();
659
+ },
660
+ onTouchStart: (event) => {
661
+ if (childOnTouchStart) childOnTouchStart(event);
662
+ prefetchOnIntent();
663
+ }
664
+ };
665
+ if (shouldForwardHref) clonedProps.href = fullHref;
666
+ return /* @__PURE__ */ jsx(LinkStatusContext.Provider, {
667
+ value: linkStatusValue,
668
+ children: React.cloneElement(child, clonedProps)
669
+ });
670
+ }
671
+ return /* @__PURE__ */ jsx(LinkStatusContext.Provider, {
672
+ value: linkStatusValue,
673
+ children: /* @__PURE__ */ jsx("a", {
674
+ ref: setRefs,
675
+ href: fullHref,
676
+ onClick: (event) => {
677
+ handleClick(event);
678
+ },
679
+ onMouseEnter: handleMouseEnter,
680
+ onTouchStart: handleTouchStart,
681
+ ...anchorProps,
682
+ children
683
+ })
684
+ });
685
+ });
686
+ //#endregion
687
+ export { canAutoPrefetchFullAppRoute, Link as default, resolveAutoAppRoutePrefetch, resolveLinkPrefetchMode, useLinkStatus };