@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,75 @@
1
+ import { normalizePathnameForRouteMatchStrict } from "../routing/utils.js";
2
+ import { hasBasePath, stripBasePath } from "../utils/base-path.js";
3
+ import { VINEXT_CLIENT_REUSE_MANIFEST_HEADER, VINEXT_INTERCEPTION_CONTEXT_HEADER, VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_RSC_RENDER_MODE_HEADER } from "./headers.js";
4
+ import { normalizePath } from "./normalize-path.js";
5
+ import { badRequestResponse, notFoundResponse } from "./http-error-responses.js";
6
+ import { guardProtocolRelativeUrl } from "./request-pipeline.js";
7
+ import { normalizeMountedSlotsHeader } from "./app-mounted-slots-header.js";
8
+ import { APP_RSC_RENDER_MODE_NAVIGATION, parseAppRscRenderMode } from "./app-rsc-render-mode.js";
9
+ import { stripRscSuffix } from "./app-rsc-cache-busting.js";
10
+ import { parseClientReuseManifestHeader } from "./client-reuse-manifest.js";
11
+ import { normalizeInterceptionContextHeader } from "./app-interception-context-header.js";
12
+ //#region src/server/app-rsc-request-normalization.ts
13
+ /**
14
+ * Normalize an App Router RSC request.
15
+ *
16
+ * Performs all security-sensitive and compatibility-sensitive preprocessing before
17
+ * route matching. The ordering of steps is security-critical — changing it introduces
18
+ * vulnerabilities:
19
+ *
20
+ * 1. Parse URL
21
+ * 2. Protocol-relative URL guard — on the raw pathname, BEFORE normalizePath collapses
22
+ * `//` to `/`. If the guard ran after normalization, `//evil.com` → `/evil.com`
23
+ * would bypass the check and reach the trailing-slash redirector, which echoes the
24
+ * path into a `Location` header that browsers interpret as protocol-relative.
25
+ * 3. Strict percent-decode each segment — throws on malformed sequences (→ 400). Must
26
+ * run before basePath check so %2F-encoded slashes cannot create fake basePath prefixes.
27
+ * 4. Collapse double-slashes, resolve `.` and `..` segments (normalizePath)
28
+ * 5. basePath check + strip — 404 when pathname lacks the basePath prefix.
29
+ * `/__vinext/` bypasses this for internal prerender endpoints.
30
+ * 6. RSC detection: `.rsc` suffix, or Next-style `RSC: 1` plus the internal
31
+ * `_rsc` cache-busting query. The header alone does not select payload
32
+ * rendering at the canonical HTML URL, so caches that ignore Vary cannot
33
+ * store Flight responses under HTML URLs.
34
+ * 7. cleanPathname — pathname with `.rsc` suffix stripped
35
+ * 8. Sanitize X-Vinext-Interception-Context — strip null bytes (header injection)
36
+ * 9. Normalize x-vinext-mounted-slots — dedup and sort for canonical cache keys
37
+ * 10. Read semantic render mode for refresh/action payload rendering
38
+ * 11. Parse ClientReuseManifest hints on canonical RSC payload requests
39
+ *
40
+ * @returns A 400 or 404 Response for invalid or out-of-scope inputs,
41
+ * or a NormalizedRscRequest for valid requests.
42
+ */
43
+ function normalizeRscRequest(request, basePath) {
44
+ const url = new URL(request.url);
45
+ const protoGuard = guardProtocolRelativeUrl(url.pathname);
46
+ if (protoGuard) return protoGuard;
47
+ let decoded;
48
+ try {
49
+ decoded = normalizePathnameForRouteMatchStrict(url.pathname);
50
+ } catch {
51
+ return badRequestResponse();
52
+ }
53
+ let pathname = normalizePath(decoded);
54
+ if (basePath) {
55
+ if (!hasBasePath(pathname, basePath) && !pathname.startsWith("/__vinext/")) return notFoundResponse();
56
+ pathname = stripBasePath(pathname, basePath);
57
+ }
58
+ const isRscRequest = pathname.endsWith(".rsc") || request.headers.get("RSC") === "1" && url.searchParams.has("_rsc");
59
+ const cleanPathname = stripRscSuffix(pathname);
60
+ const interceptionContextHeader = normalizeInterceptionContextHeader(request.headers.get(VINEXT_INTERCEPTION_CONTEXT_HEADER));
61
+ const mountedSlotsHeader = normalizeMountedSlotsHeader(request.headers.get(VINEXT_MOUNTED_SLOTS_HEADER));
62
+ const renderMode = isRscRequest ? parseAppRscRenderMode(request.headers.get(VINEXT_RSC_RENDER_MODE_HEADER)) : APP_RSC_RENDER_MODE_NAVIGATION;
63
+ return {
64
+ clientReuseManifest: isRscRequest ? parseClientReuseManifestHeader(request.headers.get(VINEXT_CLIENT_REUSE_MANIFEST_HEADER)) : { kind: "absent" },
65
+ url,
66
+ pathname,
67
+ cleanPathname,
68
+ isRscRequest,
69
+ interceptionContextHeader,
70
+ mountedSlotsHeader,
71
+ renderMode
72
+ };
73
+ }
74
+ //#endregion
75
+ export { normalizeMountedSlotsHeader, normalizeRscRequest };
@@ -0,0 +1,37 @@
1
+ import { NextHeader, NextI18nConfig } from "../config/next-config.js";
2
+ import { RequestContext } from "../config/config-matchers.js";
3
+
4
+ //#region src/server/app-rsc-response-finalizer.d.ts
5
+ type FinalizeAppRscResponseOptions = {
6
+ basePath: string;
7
+ configHeaders: NextHeader[];
8
+ /**
9
+ * i18n config used to splice the default locale into unprefixed paths
10
+ * before config header matching, so locale-aware `has`/`missing` rules
11
+ * with `:locale` placeholders or `locale: false` overrides still match
12
+ * default-locale URLs (issue #1336, item 4).
13
+ */
14
+ i18nConfig: NextI18nConfig | null;
15
+ /**
16
+ * Original pre-middleware request context.
17
+ * Next.js evaluates config header has/missing conditions against the
18
+ * unmodified incoming request, so callers must pass the snapshot taken
19
+ * before middleware runs.
20
+ */
21
+ requestContext: RequestContext;
22
+ };
23
+ /**
24
+ * Apply App Router response finalization that must happen outside individual
25
+ * route dispatchers.
26
+ *
27
+ * Called once per request in the outer handler() wrapper, after all route
28
+ * handling, so that every response path (page, route handler, server action,
29
+ * metadata, not-found) gets headers applied consistently.
30
+ *
31
+ * Skips 3xx redirect responses. Response.redirect() creates immutable
32
+ * headers that throw on mutation, and Next.js does not apply config headers
33
+ * to redirects regardless.
34
+ */
35
+ declare function finalizeAppRscResponse(response: Response, request: Request, options: FinalizeAppRscResponseOptions): Response;
36
+ //#endregion
37
+ export { finalizeAppRscResponse };
@@ -0,0 +1,54 @@
1
+ import { normalizePathnameForRouteMatch } from "../routing/utils.js";
2
+ import { hasBasePath, stripBasePath } from "../utils/base-path.js";
3
+ import "./headers.js";
4
+ import { normalizePath } from "./normalize-path.js";
5
+ import { applyConfigHeadersToResponse } from "./request-pipeline.js";
6
+ import { applyCdnResponseHeaders } from "./cache-control.js";
7
+ import { normalizeDefaultLocalePathname } from "./pages-i18n.js";
8
+ import { VINEXT_RSC_VARY_HEADER } from "./app-rsc-cache-busting.js";
9
+ import { mergeVaryHeader } from "./middleware-response-headers.js";
10
+ //#region src/server/app-rsc-response-finalizer.ts
11
+ /**
12
+ * Apply App Router response finalization that must happen outside individual
13
+ * route dispatchers.
14
+ *
15
+ * Called once per request in the outer handler() wrapper, after all route
16
+ * handling, so that every response path (page, route handler, server action,
17
+ * metadata, not-found) gets headers applied consistently.
18
+ *
19
+ * Skips 3xx redirect responses. Response.redirect() creates immutable
20
+ * headers that throw on mutation, and Next.js does not apply config headers
21
+ * to redirects regardless.
22
+ */
23
+ function finalizeAppRscResponse(response, request, options) {
24
+ if (response.status >= 300 && response.status < 400) return response;
25
+ if (!response.headers.has("x-vinext-static-file")) {
26
+ const varyHeader = response.headers.get("Vary");
27
+ if (varyHeader === null) response.headers.set("Vary", VINEXT_RSC_VARY_HEADER);
28
+ else if (varyHeader !== VINEXT_RSC_VARY_HEADER) mergeVaryHeader(response.headers, VINEXT_RSC_VARY_HEADER);
29
+ }
30
+ if (!response.headers.has("Cache-Control")) applyCdnResponseHeaders(response.headers, { cacheControl: "" });
31
+ if (!options.configHeaders.length) return response;
32
+ const url = new URL(request.url);
33
+ let pathname;
34
+ try {
35
+ pathname = normalizePath(normalizePathnameForRouteMatch(url.pathname));
36
+ } catch {
37
+ pathname = url.pathname;
38
+ }
39
+ const hadBasePath = !options.basePath || hasBasePath(pathname, options.basePath);
40
+ pathname = stripBasePath(pathname, options.basePath);
41
+ const matchPathname = options.i18nConfig ? normalizeDefaultLocalePathname(pathname, options.i18nConfig, { hostname: url.hostname }) : pathname;
42
+ applyConfigHeadersToResponse(response.headers, {
43
+ configHeaders: options.configHeaders,
44
+ pathname: matchPathname,
45
+ requestContext: options.requestContext,
46
+ basePathState: {
47
+ basePath: options.basePath,
48
+ hadBasePath
49
+ }
50
+ });
51
+ return response;
52
+ }
53
+ //#endregion
54
+ export { finalizeAppRscResponse };
@@ -0,0 +1,93 @@
1
+ import { RoutePatternParams } from "../routing/route-pattern.js";
2
+
3
+ //#region src/server/app-rsc-route-matching.d.ts
4
+ /**
5
+ * Sentinel slot key used for sibling-style interception entries.
6
+ * When a matched intercept carries this key, the render layer replaces the
7
+ * route's main page element instead of a parallel slot.
8
+ */
9
+ declare const SIBLING_PAGE_INTERCEPT_SLOT_KEY = "__vinext_page_intercept";
10
+ type AppRscRouteParams = RoutePatternParams;
11
+ type AppRscInterceptForMatching = {
12
+ targetPattern: string;
13
+ /**
14
+ * URL pattern of the *intercepting route* (the path that owns the slot,
15
+ * with route groups and `@slot` segments stripped). Mirrors Next.js'
16
+ * `interceptingRoute` from `extractInterceptionRouteInformation`.
17
+ *
18
+ * Next.js implements interception as a rewrite that fires only when the
19
+ * `Next-URL` header matches `^<sourceMatchPattern>(?:/.*)?$`. vinext's
20
+ * matcher enforces the same constraint at `findIntercept`: an intercept
21
+ * whose `targetPattern` matches the request URL is only valid when the
22
+ * provided source pathname (X-Vinext-Interception-Context / Next-URL)
23
+ * matches this pattern, with descendants allowed.
24
+ *
25
+ * Optional for backwards compat: when absent or empty, the matcher falls
26
+ * back to the legacy behavior of matching by target alone (still gated on
27
+ * a non-null source pathname).
28
+ *
29
+ * @see https://github.com/vercel/next.js/blob/canary/packages/next/src/lib/generate-interception-routes-rewrites.ts
30
+ */
31
+ sourceMatchPattern?: string;
32
+ sourcePageSegments?: readonly string[];
33
+ interceptLayouts: readonly unknown[];
34
+ __loadInterceptLayouts?: readonly (() => Promise<unknown>)[] | null;
35
+ page: unknown;
36
+ __pageLoader?: (() => Promise<unknown>) | null;
37
+ params: readonly string[];
38
+ };
39
+ type AppRscSlotForMatching = {
40
+ id?: string | null;
41
+ intercepts?: readonly AppRscInterceptForMatching[];
42
+ };
43
+ type AppRscSiblingInterceptForMatching = {
44
+ targetPattern: string;
45
+ sourceMatchPattern: string | null;
46
+ sourcePageSegments?: readonly string[];
47
+ slotId: string | null;
48
+ interceptLayouts: readonly unknown[];
49
+ __loadInterceptLayouts?: readonly (() => Promise<unknown>)[] | null;
50
+ page: unknown;
51
+ __pageLoader?: (() => Promise<unknown>) | null;
52
+ params: readonly string[];
53
+ };
54
+ type AppRscRouteForMatching = {
55
+ pattern: string;
56
+ patternParts: string[];
57
+ slots?: Record<string, AppRscSlotForMatching>;
58
+ siblingIntercepts?: AppRscSiblingInterceptForMatching[];
59
+ };
60
+ type AppRscInterceptMatch = AppRscInterceptLookupEntry & {
61
+ matchedParams: AppRscRouteParams;
62
+ };
63
+ type AppRscInterceptLoadState = {
64
+ page: unknown;
65
+ pageLoading: Promise<unknown> | null;
66
+ interceptLayoutsLoading: Promise<readonly unknown[]> | null;
67
+ };
68
+ type AppRscInterceptLookupEntry = {
69
+ sourceRouteIndex: number;
70
+ slotKey: string;
71
+ targetPattern: string;
72
+ targetPatternParts: string[];
73
+ sourceMatchPattern: string | null;
74
+ sourceMatchPatternParts: string[] | null;
75
+ sourcePageSegments: readonly string[] | null;
76
+ interceptLayouts: readonly unknown[];
77
+ __loadInterceptLayouts?: readonly (() => Promise<unknown>)[] | null;
78
+ page: unknown;
79
+ __pageLoader?: (() => Promise<unknown>) | null;
80
+ __loadState: AppRscInterceptLoadState;
81
+ params: readonly string[];
82
+ slotId: string | null;
83
+ };
84
+ declare function createAppRscRouteMatcher<Route extends AppRscRouteForMatching>(routes: Route[]): {
85
+ matchRoute(url: string): {
86
+ route: Route;
87
+ params: AppRscRouteParams;
88
+ } | null;
89
+ findIntercept(pathname: string, sourcePathname?: string | null): AppRscInterceptMatch | null;
90
+ };
91
+ declare function matchAppRscRoutePattern(urlParts: string[], patternParts: string[]): AppRscRouteParams | null;
92
+ //#endregion
93
+ export { SIBLING_PAGE_INTERCEPT_SLOT_KEY, createAppRscRouteMatcher, matchAppRscRoutePattern };
@@ -0,0 +1,134 @@
1
+ import { splitPathnameForRouteMatch } from "../routing/utils.js";
2
+ import { buildRouteTrie, trieMatch } from "../routing/route-trie.js";
3
+ import { matchRoutePattern, matchRoutePatternPrefix } from "../routing/route-pattern.js";
4
+ //#region src/server/app-rsc-route-matching.ts
5
+ /**
6
+ * Sentinel slot key used for sibling-style interception entries.
7
+ * When a matched intercept carries this key, the render layer replaces the
8
+ * route's main page element instead of a parallel slot.
9
+ */
10
+ const SIBLING_PAGE_INTERCEPT_SLOT_KEY = "__vinext_page_intercept";
11
+ function createRouteParams() {
12
+ return Object.create(null);
13
+ }
14
+ function appRscPathnameParts(pathname) {
15
+ const pathOnly = pathname.split("?")[0];
16
+ return splitPathnameForRouteMatch(pathOnly === "/" ? "/" : pathOnly.replace(/\/$/, ""));
17
+ }
18
+ function createAppRscRouteMatcher(routes) {
19
+ const routeTrie = buildRouteTrie(routes);
20
+ const interceptLookup = createInterceptLookup(routes);
21
+ const routeIndexes = new Map(routes.map((route, index) => [route, index]));
22
+ return {
23
+ matchRoute(url) {
24
+ return trieMatch(routeTrie, appRscPathnameParts(url));
25
+ },
26
+ findIntercept(pathname, sourcePathname = null) {
27
+ if (sourcePathname === null) return null;
28
+ const urlParts = appRscPathnameParts(pathname);
29
+ const sourceParts = appRscPathnameParts(sourcePathname);
30
+ const matchedSourceRoute = trieMatch(routeTrie, sourceParts);
31
+ for (const entry of interceptLookup) {
32
+ if (!matchInterceptSource(sourceParts, entry)) continue;
33
+ const params = matchAppRscRoutePattern(urlParts, entry.targetPatternParts);
34
+ if (params === null) continue;
35
+ const concreteSourceRouteIndex = matchedSourceRoute && entry.sourceMatchPatternParts !== null ? routeIndexes.get(matchedSourceRoute.route) ?? entry.sourceRouteIndex : entry.sourceRouteIndex;
36
+ const sourceRoute = routes[concreteSourceRouteIndex];
37
+ const matchedSourceParams = matchedSourceRoute && entry.sourceMatchPatternParts !== null ? matchedSourceRoute.params : sourceRoute ? matchAppRscRoutePattern(sourceParts, sourceRoute.patternParts) : null;
38
+ if (matchedSourceParams === null && entry.sourceMatchPatternParts === null) continue;
39
+ const sourceParams = matchedSourceParams ?? createRouteParams();
40
+ return {
41
+ ...entry,
42
+ page: entry.__loadState.page,
43
+ sourceRouteIndex: concreteSourceRouteIndex,
44
+ matchedParams: mergeMatchedParams(sourceParams, params)
45
+ };
46
+ }
47
+ return null;
48
+ }
49
+ };
50
+ }
51
+ /**
52
+ * Check whether the request's source pathname (Next-URL / interception
53
+ * context) satisfies the intercept entry's intercepting-route pattern, with
54
+ * descendants allowed. Mirrors the header regex shape Next.js emits for the
55
+ * generated interception rewrite: `^<pattern>(?:/.*)?$`.
56
+ *
57
+ * When the entry has no declared `sourceMatchPatternParts`, fall back to the
58
+ * legacy behavior of accepting any source (we still require the source to be
59
+ * non-null at the caller — see `findIntercept`).
60
+ */
61
+ function matchInterceptSource(sourceParts, entry) {
62
+ const patternParts = entry.sourceMatchPatternParts;
63
+ if (!patternParts) return true;
64
+ if (patternParts.length === 0) return true;
65
+ return matchRoutePatternPrefix(sourceParts, patternParts);
66
+ }
67
+ function createInterceptLookup(routes) {
68
+ const patternToIndex = new Map(routes.map((r, i) => [r.pattern, i]));
69
+ const interceptLookup = [];
70
+ for (let routeIndex = 0; routeIndex < routes.length; routeIndex++) {
71
+ const route = routes[routeIndex];
72
+ if (route.slots) for (const [slotKey, slotModule] of Object.entries(route.slots)) {
73
+ if (!slotModule.intercepts) continue;
74
+ for (const intercept of slotModule.intercepts) {
75
+ const sourceMatchPattern = intercept.sourceMatchPattern ?? null;
76
+ const sourceMatchPatternParts = sourceMatchPattern ? sourceMatchPattern.split("/").filter(Boolean) : null;
77
+ const ownerRouteIndex = sourceMatchPattern !== null ? patternToIndex.get(sourceMatchPattern) ?? routeIndex : routeIndex;
78
+ interceptLookup.push({
79
+ sourceRouteIndex: ownerRouteIndex,
80
+ slotKey,
81
+ slotId: typeof slotModule.id === "string" ? slotModule.id : null,
82
+ targetPattern: intercept.targetPattern,
83
+ targetPatternParts: intercept.targetPattern.split("/").filter(Boolean),
84
+ sourceMatchPattern,
85
+ sourceMatchPatternParts,
86
+ sourcePageSegments: intercept.sourcePageSegments ?? null,
87
+ interceptLayouts: intercept.interceptLayouts,
88
+ __loadInterceptLayouts: intercept.__loadInterceptLayouts,
89
+ page: intercept.page,
90
+ __pageLoader: intercept.__pageLoader,
91
+ __loadState: {
92
+ page: intercept.page,
93
+ pageLoading: null,
94
+ interceptLayoutsLoading: null
95
+ },
96
+ params: intercept.params
97
+ });
98
+ }
99
+ }
100
+ if (route.siblingIntercepts) for (const intercept of route.siblingIntercepts) {
101
+ const sourceMatchPattern = intercept.sourceMatchPattern ?? null;
102
+ const sourceMatchPatternParts = sourceMatchPattern ? sourceMatchPattern.split("/").filter(Boolean) : null;
103
+ interceptLookup.push({
104
+ sourceRouteIndex: routeIndex,
105
+ slotKey: SIBLING_PAGE_INTERCEPT_SLOT_KEY,
106
+ slotId: typeof intercept.slotId === "string" ? intercept.slotId : null,
107
+ targetPattern: intercept.targetPattern,
108
+ targetPatternParts: intercept.targetPattern.split("/").filter(Boolean),
109
+ sourceMatchPattern,
110
+ sourceMatchPatternParts,
111
+ sourcePageSegments: intercept.sourcePageSegments ?? null,
112
+ interceptLayouts: intercept.interceptLayouts,
113
+ __loadInterceptLayouts: intercept.__loadInterceptLayouts,
114
+ page: intercept.page,
115
+ __pageLoader: intercept.__pageLoader,
116
+ __loadState: {
117
+ page: intercept.page,
118
+ pageLoading: null,
119
+ interceptLayoutsLoading: null
120
+ },
121
+ params: intercept.params
122
+ });
123
+ }
124
+ }
125
+ return interceptLookup;
126
+ }
127
+ function matchAppRscRoutePattern(urlParts, patternParts) {
128
+ return matchRoutePattern(urlParts, patternParts);
129
+ }
130
+ function mergeMatchedParams(sourceParams, targetParams) {
131
+ return Object.assign(createRouteParams(), sourceParams, targetParams);
132
+ }
133
+ //#endregion
134
+ export { SIBLING_PAGE_INTERCEPT_SLOT_KEY, createAppRscRouteMatcher, matchAppRscRoutePattern };
@@ -0,0 +1,46 @@
1
+ import { FetchCacheMode } from "../shims/fetch-cache.js";
2
+
3
+ //#region src/server/app-segment-config.d.ts
4
+ type AppRouteSegmentDynamic = "auto" | "error" | "force-dynamic" | "force-static";
5
+ type AppRouteSegmentConfigModule = {
6
+ dynamic?: unknown;
7
+ dynamicParams?: unknown;
8
+ fetchCache?: unknown;
9
+ revalidate?: unknown;
10
+ runtime?: unknown;
11
+ unstable_dynamicStaleTime?: unknown;
12
+ };
13
+ type EffectiveAppPageSegmentConfig = {
14
+ dynamicConfig?: AppRouteSegmentDynamic;
15
+ dynamicParamsConfig?: boolean;
16
+ dynamicStaleTimeSeconds?: number;
17
+ fetchCache?: FetchCacheMode;
18
+ revalidateSeconds: number | null;
19
+ runtime?: "edge" | "experimental-edge" | "nodejs";
20
+ };
21
+ type ResolveAppPageSegmentConfigOptions = {
22
+ layouts?: readonly (AppRouteSegmentConfigModule | null | undefined)[];
23
+ page?: AppRouteSegmentConfigModule | null;
24
+ parallelPages?: readonly (AppRouteSegmentConfigModule | null | undefined)[];
25
+ };
26
+ /**
27
+ * Resolve the route segment config that applies to an App page route.
28
+ *
29
+ * Next.js collects config from every segment in the loader tree and reduces it
30
+ * into the effective route config. The generated vinext entry already knows
31
+ * the concrete layout/page modules for a route, so it should only describe
32
+ * those modules and delegate the behavior to this helper.
33
+ */
34
+ declare function resolveAppPageSegmentConfig(options: ResolveAppPageSegmentConfigOptions): EffectiveAppPageSegmentConfig;
35
+ declare function resolveAppPageFetchCacheMode(options: ResolveAppPageSegmentConfigOptions): FetchCacheMode | null;
36
+ /**
37
+ * Resolve the `fetchCache` segment config exported by a route handler module.
38
+ *
39
+ * Route handlers have no layout chain, so the module's own export applies
40
+ * directly. Mirrors upstream's app-route module, which copies
41
+ * `userland.fetchCache` into the work store before invoking the handler.
42
+ */
43
+ declare function resolveAppRouteHandlerFetchCacheMode(handler: Pick<AppRouteSegmentConfigModule, "fetchCache">): FetchCacheMode | null;
44
+ declare function isEdgeRuntime(runtime: string | undefined): boolean;
45
+ //#endregion
46
+ export { isEdgeRuntime, resolveAppPageFetchCacheMode, resolveAppPageSegmentConfig, resolveAppRouteHandlerFetchCacheMode };
@@ -0,0 +1,113 @@
1
+ import { isEdgeApiRuntime } from "./edge-api-runtime.js";
2
+ //#region src/server/app-segment-config.ts
3
+ const DYNAMIC_VALUES = new Set([
4
+ "auto",
5
+ "error",
6
+ "force-dynamic",
7
+ "force-static"
8
+ ]);
9
+ const FETCH_CACHE_VALUES = new Set([
10
+ "auto",
11
+ "default-cache",
12
+ "default-no-store",
13
+ "force-cache",
14
+ "force-no-store",
15
+ "only-cache",
16
+ "only-no-store"
17
+ ]);
18
+ function isRouteSegmentDynamic(value) {
19
+ return DYNAMIC_VALUES.has(value);
20
+ }
21
+ function isRouteSegmentFetchCache(value) {
22
+ return FETCH_CACHE_VALUES.has(value);
23
+ }
24
+ function isRouteSegmentRuntime(value) {
25
+ return value === "edge" || value === "experimental-edge" || value === "nodejs";
26
+ }
27
+ function resolveRevalidateSeconds(current, value) {
28
+ if (value === false) {
29
+ if (current === null) return Infinity;
30
+ return current === Infinity ? Infinity : current;
31
+ }
32
+ if (typeof value !== "number") return current;
33
+ if (current === null) return value;
34
+ return value < current ? value : current;
35
+ }
36
+ function resolveDynamicStaleTimeSeconds(current, value) {
37
+ if (typeof value !== "number" || !Number.isInteger(value) || value < 0) return current;
38
+ return current === void 0 ? value : Math.min(current, value);
39
+ }
40
+ function isCacheFetchCacheMode(value) {
41
+ return value === "default-cache" || value === "force-cache" || value === "only-cache";
42
+ }
43
+ function describeFetchCacheConflict(value) {
44
+ return `Route segment config has incompatible fetchCache values including "${value}".`;
45
+ }
46
+ /**
47
+ * Resolve the route segment config that applies to an App page route.
48
+ *
49
+ * Next.js collects config from every segment in the loader tree and reduces it
50
+ * into the effective route config. The generated vinext entry already knows
51
+ * the concrete layout/page modules for a route, so it should only describe
52
+ * those modules and delegate the behavior to this helper.
53
+ */
54
+ function resolveAppPageSegmentConfig(options) {
55
+ const segments = [...options.layouts ?? [], options.page];
56
+ const config = { revalidateSeconds: null };
57
+ let hasForceCache = false;
58
+ let hasForceNoStore = false;
59
+ let hasOnlyCache = false;
60
+ let hasOnlyNoStore = false;
61
+ let hasParentDefaultNoStore = false;
62
+ for (const segment of segments) {
63
+ if (!segment) continue;
64
+ if (isRouteSegmentDynamic(segment.dynamic)) config.dynamicConfig = segment.dynamic;
65
+ if (isRouteSegmentRuntime(segment.runtime)) config.runtime = segment.runtime;
66
+ if (segment.dynamicParams === false) config.dynamicParamsConfig = false;
67
+ else if (segment.dynamicParams === true && config.dynamicParamsConfig !== false) config.dynamicParamsConfig = true;
68
+ if (isRouteSegmentFetchCache(segment.fetchCache)) {
69
+ const fetchCache = segment.fetchCache;
70
+ if (hasParentDefaultNoStore && (fetchCache === "auto" || isCacheFetchCacheMode(fetchCache))) throw new Error(describeFetchCacheConflict(fetchCache));
71
+ if (fetchCache === "force-cache") hasForceCache = true;
72
+ if (fetchCache === "force-no-store") hasForceNoStore = true;
73
+ if (fetchCache === "only-cache") hasOnlyCache = true;
74
+ if (fetchCache === "only-no-store") hasOnlyNoStore = true;
75
+ if ((hasForceCache || hasOnlyCache) && (hasForceNoStore || hasOnlyNoStore)) throw new Error(describeFetchCacheConflict(fetchCache));
76
+ if (fetchCache === "default-no-store") hasParentDefaultNoStore = true;
77
+ if (hasForceCache) config.fetchCache = "force-cache";
78
+ else if (hasForceNoStore) config.fetchCache = "force-no-store";
79
+ else if (hasOnlyCache) config.fetchCache = "only-cache";
80
+ else if (hasOnlyNoStore) config.fetchCache = "only-no-store";
81
+ else config.fetchCache = fetchCache;
82
+ }
83
+ config.revalidateSeconds = resolveRevalidateSeconds(config.revalidateSeconds, segment.revalidate);
84
+ }
85
+ for (const segment of [options.page, ...options.parallelPages ?? []]) {
86
+ if (!segment) continue;
87
+ config.dynamicStaleTimeSeconds = resolveDynamicStaleTimeSeconds(config.dynamicStaleTimeSeconds, segment.unstable_dynamicStaleTime);
88
+ }
89
+ if (config.dynamicConfig === "force-dynamic") config.revalidateSeconds = 0;
90
+ if (config.fetchCache === void 0) {
91
+ if (config.dynamicConfig === "error") config.fetchCache = "only-cache";
92
+ }
93
+ if (config.dynamicParamsConfig === void 0 && (config.dynamicConfig === "error" || config.dynamicConfig === "force-static")) config.dynamicParamsConfig = false;
94
+ return config;
95
+ }
96
+ function resolveAppPageFetchCacheMode(options) {
97
+ return resolveAppPageSegmentConfig(options).fetchCache ?? null;
98
+ }
99
+ /**
100
+ * Resolve the `fetchCache` segment config exported by a route handler module.
101
+ *
102
+ * Route handlers have no layout chain, so the module's own export applies
103
+ * directly. Mirrors upstream's app-route module, which copies
104
+ * `userland.fetchCache` into the work store before invoking the handler.
105
+ */
106
+ function resolveAppRouteHandlerFetchCacheMode(handler) {
107
+ return isRouteSegmentFetchCache(handler.fetchCache) ? handler.fetchCache : null;
108
+ }
109
+ function isEdgeRuntime(runtime) {
110
+ return isEdgeApiRuntime(runtime);
111
+ }
112
+ //#endregion
113
+ export { isEdgeRuntime, resolveAppPageFetchCacheMode, resolveAppPageSegmentConfig, resolveAppRouteHandlerFetchCacheMode };