@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,447 @@
1
+ import { hasBasePath, removeTrailingSlash, stripBasePath } from "../utils/base-path.js";
2
+ import { INTERNAL_HEADERS, VINEXT_INTERNAL_HEADERS, VINEXT_STATIC_FILE_HEADER } from "./headers.js";
3
+ import { matchHeaders } from "../config/config-matchers.js";
4
+ import { forbiddenResponse, notFoundResponse } from "./http-error-responses.js";
5
+ import { isOpenRedirectShaped } from "./open-redirect.js";
6
+ //#region src/server/request-pipeline.ts
7
+ /**
8
+ * Shared request pipeline utilities.
9
+ *
10
+ * Extracted from generated entries and server hot paths to keep codegen focused
11
+ * on app shape while normal modules own request behavior. Some dev-server and
12
+ * worker-template setup code still has inline normalization that should be
13
+ * migrated in follow-up work.
14
+ *
15
+ * These utilities handle the common request lifecycle steps: protocol-
16
+ * relative URL guards, basePath stripping, trailing slash normalization,
17
+ * and CSRF origin validation.
18
+ *
19
+ * Plain-text error response builders (forbidden / not-found / etc.) live in
20
+ * `./http-error-responses.ts`.
21
+ */
22
+ /**
23
+ * Guard against protocol-relative URL open redirects.
24
+ *
25
+ * Paths like `//example.com/` would be redirected to `//example.com` by the
26
+ * trailing-slash normalizer, which browsers interpret as `http://example.com`.
27
+ * Backslashes are equivalent to forward slashes in the URL spec
28
+ * (e.g. `/\evil.com` is treated as `//evil.com` by browsers).
29
+ *
30
+ * Next.js returns 404 for these paths. We check the RAW pathname before
31
+ * normalization so the guard fires before normalizePath collapses `//`.
32
+ *
33
+ * Percent-encoded variants are also blocked because:
34
+ * - `%5C` decodes to `\` (browsers treat `/\evil.com` as `//evil.com`).
35
+ * - `%2F` decodes to `/` (so `/%2F/evil.com` effectively becomes `//evil.com`).
36
+ * These forms survive segment-wise decoding that re-encodes path delimiters
37
+ * (e.g. `normalizePathnameForRouteMatchStrict`), so a later trailing-slash
38
+ * redirect would still echo the encoded form in its `Location` header. See
39
+ * `isOpenRedirectShaped` for the full list of rejected leading-segment forms.
40
+ *
41
+ * @param rawPathname - The raw pathname from the URL, before any normalization
42
+ * @returns A 404 Response if the path is protocol-relative, or null to continue
43
+ */
44
+ function guardProtocolRelativeUrl(rawPathname) {
45
+ if (isOpenRedirectShaped(rawPathname)) return notFoundResponse();
46
+ return null;
47
+ }
48
+ const FILE_LIKE_PATHNAME_RE = /\.[^/]+\/?$/;
49
+ function isWellKnownPathname(pathname) {
50
+ return pathname === "/.well-known" || pathname.startsWith("/.well-known/");
51
+ }
52
+ function findHeaderRecordKey(headers, lowerName) {
53
+ for (const key of Object.keys(headers)) if (key.toLowerCase() === lowerName) return key;
54
+ }
55
+ function appendHeaderRecord(headers, lowerName, value) {
56
+ const key = findHeaderRecordKey(headers, lowerName) ?? lowerName;
57
+ const existing = headers[key];
58
+ if (existing === void 0) {
59
+ headers[key] = value;
60
+ return;
61
+ }
62
+ if (Array.isArray(existing)) {
63
+ existing.push(value);
64
+ return;
65
+ }
66
+ headers[key] = [existing, value];
67
+ }
68
+ function appendVaryHeaderRecord(headers, value) {
69
+ const key = findHeaderRecordKey(headers, "vary") ?? "vary";
70
+ const existing = headers[key];
71
+ if (existing === void 0) {
72
+ headers[key] = value;
73
+ return;
74
+ }
75
+ if (Array.isArray(existing)) {
76
+ existing.push(value);
77
+ return;
78
+ }
79
+ headers[key] = existing + ", " + value;
80
+ }
81
+ /**
82
+ * Apply matched next.config.js headers to a Web Headers object.
83
+ *
84
+ * Next.js evaluates config header match conditions against the original
85
+ * request snapshot. Middleware response headers still win for the same
86
+ * response key, while multi-value headers are additive.
87
+ */
88
+ function applyConfigHeadersToResponse(responseHeaders, options) {
89
+ const matched = matchHeaders(options.pathname, options.configHeaders, options.requestContext, options.basePathState);
90
+ for (const header of matched) {
91
+ const lowerName = header.key.toLowerCase();
92
+ if (lowerName === "vary" || lowerName === "set-cookie") responseHeaders.append(header.key, header.value);
93
+ else if (options.overwriteExisting?.has(lowerName) || !responseHeaders.has(lowerName)) responseHeaders.set(header.key, header.value);
94
+ }
95
+ }
96
+ /**
97
+ * Apply matched next.config.js headers to the early response header record used
98
+ * by Node and Worker Pages Router pipelines before a concrete response exists.
99
+ */
100
+ function applyConfigHeadersToHeaderRecord(headers, options) {
101
+ const matched = matchHeaders(options.pathname, options.configHeaders, options.requestContext, options.basePathState);
102
+ for (const header of matched) {
103
+ const lowerName = header.key.toLowerCase();
104
+ if (lowerName === "set-cookie") appendHeaderRecord(headers, lowerName, header.value);
105
+ else if (lowerName === "vary") appendVaryHeaderRecord(headers, header.value);
106
+ else if (findHeaderRecordKey(headers, lowerName) === void 0) headers[lowerName] = header.value;
107
+ }
108
+ }
109
+ function createStaticFileSignal(pathname, context) {
110
+ const headers = new Headers({ [VINEXT_STATIC_FILE_HEADER]: encodeURIComponent(pathname) });
111
+ if (context.headers) for (const [key, value] of context.headers) headers.append(key, value);
112
+ return new Response(null, {
113
+ status: context.status ?? 200,
114
+ headers
115
+ });
116
+ }
117
+ /**
118
+ * Resolve the public/ filesystem-route slot in the Next.js routing order.
119
+ *
120
+ * Public files are checked after middleware and before afterFiles/fallback
121
+ * rewrites. The generated App Router entry provides the public-file set; this
122
+ * helper owns the request-method and RSC exclusions plus static-file signaling.
123
+ */
124
+ function resolvePublicFileRoute(options) {
125
+ if (options.request.method !== "GET" && options.request.method !== "HEAD") return null;
126
+ if (options.pathname.endsWith(".rsc")) return null;
127
+ if (!options.publicFiles.has(options.cleanPathname)) return null;
128
+ return createStaticFileSignal(options.cleanPathname, options.middlewareContext);
129
+ }
130
+ function normalizeTrailingSlashPathname(pathname, trailingSlash) {
131
+ if (pathname === "/" || pathname === "/api" || pathname.startsWith("/api/")) return null;
132
+ const hasTrailing = pathname.endsWith("/");
133
+ if (trailingSlash) {
134
+ if (isWellKnownPathname(pathname)) return null;
135
+ if (FILE_LIKE_PATHNAME_RE.test(pathname)) {
136
+ const normalized = removeTrailingSlash(pathname);
137
+ return normalized === pathname ? null : normalized;
138
+ }
139
+ if (!hasTrailing && !pathname.endsWith(".rsc")) return `${pathname}/`;
140
+ return null;
141
+ }
142
+ if (hasTrailing) return removeTrailingSlash(pathname);
143
+ return null;
144
+ }
145
+ /**
146
+ * Check if the pathname needs a trailing slash redirect, and return the
147
+ * redirect Response if so.
148
+ *
149
+ * Follows Next.js behavior:
150
+ * - `/api` routes are never redirected
151
+ * - The root path `/` is never redirected
152
+ * - If `trailingSlash` is true, redirect `/about` → `/about/`
153
+ * - If `trailingSlash` is true, redirect file-looking `/file.ext/` → `/file.ext`
154
+ * - If `trailingSlash` is true, do not redirect `/.well-known/*`
155
+ * - If `trailingSlash` is false (default), redirect `/about/` → `/about`
156
+ *
157
+ * @param pathname - The basePath-stripped pathname
158
+ * @param basePath - The basePath to prepend to the redirect Location
159
+ * @param trailingSlash - Whether trailing slashes should be enforced
160
+ * @param search - The query string (including `?`) to preserve in the redirect
161
+ * @returns A 308 redirect Response, or null if no redirect is needed
162
+ */
163
+ function normalizeTrailingSlash(pathname, basePath, trailingSlash, search) {
164
+ if (pathname === "/" || pathname === "/api" || pathname.startsWith("/api/")) return null;
165
+ if (isOpenRedirectShaped(pathname)) return notFoundResponse();
166
+ const normalizedPathname = normalizeTrailingSlashPathname(pathname, trailingSlash);
167
+ if (normalizedPathname === null) return null;
168
+ const encodedPathname = normalizedPathname.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@/%]/gu, encodeURIComponent);
169
+ return new Response(null, {
170
+ status: 308,
171
+ headers: { Location: basePath + encodedPathname + search }
172
+ });
173
+ }
174
+ /**
175
+ * Validate CSRF origin for server action requests.
176
+ *
177
+ * Matches Next.js behavior: compares the Origin header against the Host
178
+ * header. If they don't match, the request is rejected with 403 unless
179
+ * the origin is in the allowedOrigins list.
180
+ *
181
+ * @param request - The incoming Request
182
+ * @param allowedOrigins - Origins from experimental.serverActions.allowedOrigins
183
+ * @returns A 403 Response if origin validation fails, or null to continue
184
+ */
185
+ function validateCsrfOrigin(request, allowedOrigins = []) {
186
+ const originHeader = request.headers.get("origin");
187
+ if (!originHeader) return null;
188
+ if (originHeader === "null") {
189
+ if (allowedOrigins.includes("null")) return null;
190
+ console.warn(`[vinext] CSRF origin "null" blocked for server action. To allow requests from sandboxed contexts, add "null" to experimental.serverActions.allowedOrigins.`);
191
+ return forbiddenResponse();
192
+ }
193
+ let originHost;
194
+ try {
195
+ originHost = new URL(originHeader).host.toLowerCase();
196
+ } catch {
197
+ return forbiddenResponse();
198
+ }
199
+ const hostHeader = (request.headers.get("host") || "").split(",")[0].trim().toLowerCase() || new URL(request.url).host.toLowerCase();
200
+ if (originHost === hostHeader) return null;
201
+ if (allowedOrigins.length > 0 && isOriginAllowed(originHost, allowedOrigins)) return null;
202
+ console.warn(`[vinext] CSRF origin mismatch: origin "${originHost}" does not match host "${hostHeader}". Blocking server action request.`);
203
+ return forbiddenResponse();
204
+ }
205
+ /**
206
+ * Reject malformed Flight container reference graphs in server action payloads.
207
+ *
208
+ * `@vitejs/plugin-rsc` vendors its own React Flight decoder. Malicious action
209
+ * payloads can abuse container references (`$Q`, `$W`, `$i`) to trigger very
210
+ * expensive deserialization before the action is even looked up.
211
+ *
212
+ * Legitimate React-encoded container payloads use separate numeric backing
213
+ * fields (e.g. field `1` plus root field `0` containing `"$Q1"`). We reject
214
+ * numeric backing-field graphs that contain missing backing fields or cycles.
215
+ * Regular user form fields are ignored entirely.
216
+ */
217
+ async function validateServerActionPayload(body) {
218
+ const maxNumericFields = 4096;
219
+ const maxContainerReferences = 16384;
220
+ const maxContainerDepth = 1024;
221
+ const containerRefRe = /"\$([QWi])([0-9a-f]+)(?=[:"])/gi;
222
+ const fieldRefs = /* @__PURE__ */ new Map();
223
+ let referenceCount = 0;
224
+ const invalidPayloadResponse = () => new Response("Invalid server action payload", {
225
+ status: 400,
226
+ headers: { "Content-Type": "text/plain" }
227
+ });
228
+ const collectRefs = (fieldKey, text) => {
229
+ if (fieldRefs.has(fieldKey)) return true;
230
+ if (fieldRefs.size >= maxNumericFields) return false;
231
+ const refs = /* @__PURE__ */ new Set();
232
+ let match;
233
+ containerRefRe.lastIndex = 0;
234
+ while ((match = containerRefRe.exec(text)) !== null) {
235
+ const previousSize = refs.size;
236
+ refs.add(String(Number.parseInt(match[2], 16)));
237
+ if (refs.size !== previousSize && ++referenceCount > maxContainerReferences) return false;
238
+ }
239
+ fieldRefs.set(fieldKey, refs);
240
+ return true;
241
+ };
242
+ if (typeof body === "string") {
243
+ if (!collectRefs("0", body)) return invalidPayloadResponse();
244
+ } else for (const [key, value] of body.entries()) {
245
+ if (!/^\d+$/.test(key)) continue;
246
+ if (typeof value === "string") {
247
+ if (!collectRefs(key, value)) return invalidPayloadResponse();
248
+ continue;
249
+ }
250
+ if (typeof value?.text === "function") {
251
+ if (!collectRefs(key, await value.text())) return invalidPayloadResponse();
252
+ }
253
+ }
254
+ if (fieldRefs.size === 0) return null;
255
+ const knownFields = new Set(fieldRefs.keys());
256
+ for (const refs of fieldRefs.values()) for (const ref of refs) if (!knownFields.has(ref)) return invalidPayloadResponse();
257
+ const state = /* @__PURE__ */ new Map();
258
+ for (const root of fieldRefs.keys()) {
259
+ if (state.has(root)) continue;
260
+ const stack = [{
261
+ node: root,
262
+ refs: [...fieldRefs.get(root) ?? []],
263
+ nextRef: 0
264
+ }];
265
+ state.set(root, "visiting");
266
+ while (stack.length > 0) {
267
+ if (stack.length > maxContainerDepth) return invalidPayloadResponse();
268
+ const frame = stack[stack.length - 1];
269
+ const ref = frame.refs[frame.nextRef++];
270
+ if (ref === void 0) {
271
+ state.set(frame.node, "visited");
272
+ stack.pop();
273
+ continue;
274
+ }
275
+ const refState = state.get(ref);
276
+ if (refState === "visiting") return invalidPayloadResponse();
277
+ if (refState === "visited") continue;
278
+ state.set(ref, "visiting");
279
+ stack.push({
280
+ node: ref,
281
+ refs: [...fieldRefs.get(ref) ?? []],
282
+ nextRef: 0
283
+ });
284
+ }
285
+ }
286
+ return null;
287
+ }
288
+ /**
289
+ * Check if an origin matches any pattern in the allowed origins list.
290
+ * Supports wildcard subdomains (e.g. `*.example.com`).
291
+ */
292
+ /**
293
+ * Segment-by-segment domain matching for wildcard origin patterns.
294
+ * `*` matches exactly one DNS label; `**` matches one or more labels.
295
+ *
296
+ * Ported from Next.js: packages/next/src/server/app-render/csrf-protection.ts
297
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/server/app-render/csrf-protection.ts
298
+ */
299
+ function matchWildcardDomain(domain, pattern) {
300
+ const normalizedDomain = domain.replace(/[A-Z]/g, (c) => c.toLowerCase());
301
+ const normalizedPattern = pattern.replace(/[A-Z]/g, (c) => c.toLowerCase());
302
+ const domainParts = normalizedDomain.split(".");
303
+ const patternParts = normalizedPattern.split(".");
304
+ if (patternParts.length < 1) return false;
305
+ if (domainParts.length < patternParts.length) return false;
306
+ if (patternParts.length === 1 && (patternParts[0] === "*" || patternParts[0] === "**")) return false;
307
+ while (patternParts.length) {
308
+ const patternPart = patternParts.pop();
309
+ const domainPart = domainParts.pop();
310
+ if (patternPart === void 0) return false;
311
+ switch (patternPart) {
312
+ case "": return false;
313
+ case "*": if (domainPart) continue;
314
+ else return false;
315
+ case "**":
316
+ if (patternParts.length > 0) return false;
317
+ return domainPart !== void 0;
318
+ default: if (patternPart !== domainPart) return false;
319
+ }
320
+ }
321
+ return domainParts.length === 0;
322
+ }
323
+ function isOriginAllowed(origin, allowed) {
324
+ for (const pattern of allowed) if (pattern.includes("*")) {
325
+ if (matchWildcardDomain(origin, pattern)) return true;
326
+ } else if (origin.toLowerCase() === pattern.toLowerCase()) return true;
327
+ return false;
328
+ }
329
+ /**
330
+ * Strip internal `x-middleware-*` headers from a Headers object.
331
+ *
332
+ * Middleware uses `x-middleware-*` headers as internal signals (e.g.
333
+ * `x-middleware-next`, `x-middleware-rewrite`, `x-middleware-request-*`).
334
+ * These must be removed before sending the response to the client.
335
+ *
336
+ * @param headers - The Headers object to modify in place
337
+ */
338
+ function processMiddlewareHeaders(headers) {
339
+ const keysToDelete = [];
340
+ for (const key of headers.keys()) if (key.startsWith("x-middleware-")) keysToDelete.push(key);
341
+ for (const key of keysToDelete) headers.delete(key);
342
+ }
343
+ const STRIPPED_INTERNAL_HEADERS = new Set([...INTERNAL_HEADERS, ...VINEXT_INTERNAL_HEADERS]);
344
+ /**
345
+ * Strip internal headers from an inbound request so they cannot be forged by
346
+ * an external attacker to influence routing or impersonate internal state.
347
+ *
348
+ * Must be called at every request entry point BEFORE middleware, routing,
349
+ * or any handler logic accesses the request headers.
350
+ *
351
+ * Returns a new Headers object with internal headers removed. The input
352
+ * is never mutated — Request.headers is immutable in Workers/miniflare
353
+ * environments (see applyMiddlewareRequestHeaders in config-matchers.ts
354
+ * for the same cloning pattern).
355
+ *
356
+ * @param headers - The source Headers (never modified)
357
+ * @returns A new Headers with internal framework headers removed
358
+ */
359
+ function filterInternalHeaders(headers) {
360
+ const filtered = new Headers();
361
+ for (const [key, value] of headers) if (!STRIPPED_INTERNAL_HEADERS.has(key.toLowerCase())) filtered.append(key, value);
362
+ return filtered;
363
+ }
364
+ function getRequestCf(request) {
365
+ const cf = Reflect.get(request, "cf");
366
+ return cf === void 0 ? void 0 : cf;
367
+ }
368
+ /**
369
+ * Clone a Request while overriding headers, preserving metadata when possible.
370
+ *
371
+ * Some runtimes (Workers) allow `new Request(request, { headers })` which
372
+ * retains redirect/signal/cf data. Others (Node/undici across realms) can throw
373
+ * when cloning a foreign Request instance. In that case, fall back to building
374
+ * a RequestInit with best-effort metadata.
375
+ */
376
+ function cloneRequestWithHeaders(request, headers) {
377
+ let cloned;
378
+ try {
379
+ cloned = new Request(request, { headers });
380
+ } catch {
381
+ const init = {
382
+ method: request.method,
383
+ headers,
384
+ body: request.body ?? void 0,
385
+ redirect: request.redirect,
386
+ signal: request.signal,
387
+ integrity: request.integrity,
388
+ cache: request.cache,
389
+ mode: request.mode,
390
+ credentials: request.credentials,
391
+ referrer: request.referrer,
392
+ referrerPolicy: request.referrerPolicy
393
+ };
394
+ if (request.body) init.duplex = "half";
395
+ cloned = new Request(request.url, init);
396
+ }
397
+ const cf = getRequestCf(request);
398
+ if (cf !== void 0) Object.defineProperty(cloned, "cf", {
399
+ value: cf,
400
+ enumerable: true,
401
+ configurable: true
402
+ });
403
+ return cloned;
404
+ }
405
+ /**
406
+ * Clone a Request while overriding the URL, preserving headers and metadata
407
+ * when possible.
408
+ *
409
+ * Mirrors `cloneRequestWithHeaders`, but rewrites the URL instead of the
410
+ * headers. Workers support `new Request(url, request)` to copy method/headers/
411
+ * body onto a new URL; Node/undici can throw on a foreign Request instance, so
412
+ * we fall back to a manual RequestInit. `new Request()` does not copy the
413
+ * Workers-specific `cf` property and omits `duplex` for streaming bodies, so
414
+ * both are handled explicitly — the same reasons `cloneRequestWithHeaders`
415
+ * exists.
416
+ */
417
+ function cloneRequestWithUrl(request, url) {
418
+ let cloned;
419
+ try {
420
+ cloned = new Request(url, request);
421
+ } catch {
422
+ const init = {
423
+ method: request.method,
424
+ headers: request.headers,
425
+ body: request.body ?? void 0,
426
+ redirect: request.redirect,
427
+ signal: request.signal,
428
+ integrity: request.integrity,
429
+ cache: request.cache,
430
+ mode: request.mode,
431
+ credentials: request.credentials,
432
+ referrer: request.referrer,
433
+ referrerPolicy: request.referrerPolicy
434
+ };
435
+ if (request.body) init.duplex = "half";
436
+ cloned = new Request(url, init);
437
+ }
438
+ const cf = getRequestCf(request);
439
+ if (cf !== void 0) Object.defineProperty(cloned, "cf", {
440
+ value: cf,
441
+ enumerable: true,
442
+ configurable: true
443
+ });
444
+ return cloned;
445
+ }
446
+ //#endregion
447
+ export { INTERNAL_HEADERS, VINEXT_INTERNAL_HEADERS, applyConfigHeadersToHeaderRecord, applyConfigHeadersToResponse, cloneRequestWithHeaders, cloneRequestWithUrl, createStaticFileSignal, filterInternalHeaders, guardProtocolRelativeUrl, hasBasePath, isOpenRedirectShaped, isOriginAllowed, normalizeTrailingSlash, normalizeTrailingSlashPathname, processMiddlewareHeaders, resolvePublicFileRoute, stripBasePath, validateCsrfOrigin, validateServerActionPayload };
@@ -0,0 +1,10 @@
1
+ //#region src/server/rsc-stream-hints.d.ts
2
+ declare function normalizeReactFlightPreloadHints(stream: ReadableStream<Uint8Array>): ReadableStream<Uint8Array>;
3
+ type RscRawRenderer = (model: unknown, options?: unknown) => ReadableStream<Uint8Array>;
4
+ type RscRawPrerenderer = (model: unknown, options?: unknown) => Promise<{
5
+ prelude: ReadableStream<Uint8Array>;
6
+ }>;
7
+ declare function createRscRenderer(render: RscRawRenderer): RscRawRenderer;
8
+ declare function createRscPrerenderer(prerender: RscRawPrerenderer): RscRawPrerenderer;
9
+ //#endregion
10
+ export { RscRawPrerenderer, RscRawRenderer, createRscPrerenderer, createRscRenderer, normalizeReactFlightPreloadHints };
@@ -0,0 +1,41 @@
1
+ //#region src/server/rsc-stream-hints.ts
2
+ const REACT_FLIGHT_STYLESHEET_PRELOAD_HINT = /(\d*:HL\[.*?),"stylesheet"(\]|,)/g;
3
+ /**
4
+ * React Flight emits HL hints with "stylesheet" for CSS preloads, but the
5
+ * HTML spec requires "style" for <link rel="preload">. Rewrite each complete
6
+ * Flight line so SSR embeds, navigation, and server actions see valid hints.
7
+ */
8
+ function normalizeReactFlightHintLine(line) {
9
+ return line.replace(REACT_FLIGHT_STYLESHEET_PRELOAD_HINT, "$1,\"style\"$2");
10
+ }
11
+ function normalizeReactFlightPreloadHints(stream) {
12
+ const decoder = new TextDecoder();
13
+ const encoder = new TextEncoder();
14
+ let carry = "";
15
+ return stream.pipeThrough(new TransformStream({
16
+ transform(chunk, controller) {
17
+ const text = carry + decoder.decode(chunk, { stream: true });
18
+ const lastNewline = text.lastIndexOf("\n");
19
+ if (lastNewline === -1) {
20
+ carry = text;
21
+ return;
22
+ }
23
+ carry = text.slice(lastNewline + 1);
24
+ controller.enqueue(encoder.encode(normalizeReactFlightHintLine(text.slice(0, lastNewline + 1))));
25
+ },
26
+ flush(controller) {
27
+ const text = carry + decoder.decode();
28
+ if (text) controller.enqueue(encoder.encode(normalizeReactFlightHintLine(text)));
29
+ }
30
+ }));
31
+ }
32
+ function createRscRenderer(render) {
33
+ return (model, options) => normalizeReactFlightPreloadHints(render(model, options));
34
+ }
35
+ function createRscPrerenderer(prerender) {
36
+ return async (model, options) => {
37
+ return { prelude: normalizeReactFlightPreloadHints((await prerender(model, options)).prelude) };
38
+ };
39
+ }
40
+ //#endregion
41
+ export { createRscPrerenderer, createRscRenderer, normalizeReactFlightPreloadHints };
@@ -0,0 +1,29 @@
1
+ import { CachedAppPageValue } from "../shims/cache-handler.js";
2
+
3
+ //#region src/server/seed-cache.d.ts
4
+ type PrerenderCacheSeedMetadata = {
5
+ expireSeconds?: number;
6
+ revalidateSeconds?: number;
7
+ /**
8
+ * Path-derived implicit tags (`/foo`, `_N_T_/foo`, `_N_T_/foo/page`, ...)
9
+ * required for `revalidatePath()` to invalidate the seeded entry. See #1486.
10
+ */
11
+ tags?: string[];
12
+ };
13
+ type PrerenderCacheSeedOptions = {
14
+ buildAppPageHtmlKey?: (pathname: string) => string;
15
+ buildAppPageRscKey?: (pathname: string) => string;
16
+ writeAppPageEntry?: (key: string, data: CachedAppPageValue, metadata: PrerenderCacheSeedMetadata) => Promise<void>;
17
+ };
18
+ /**
19
+ * Read pre-rendered routes from disk and seed the active CacheHandler.
20
+ *
21
+ * Call this during production server startup, before any requests are served.
22
+ * If the manifest doesn't exist (no prerender phase was run), this is a no-op.
23
+ *
24
+ * @param serverDir - Path to `dist/server/` (where vinext-prerender.json lives)
25
+ * @returns The number of routes seeded (0 if no manifest or no renderable routes).
26
+ */
27
+ declare function seedMemoryCacheFromPrerender(serverDir: string, options?: PrerenderCacheSeedOptions): Promise<number>;
28
+ //#endregion
29
+ export { seedMemoryCacheFromPrerender };
@@ -0,0 +1,125 @@
1
+ import { isrCacheKey, isrSetPrerenderedAppPage } from "./isr-cache.js";
2
+ import { buildAppPageCacheTags } from "./app-page-cache.js";
3
+ import { getOutputPath, getRscOutputPath } from "../utils/prerender-output-paths.js";
4
+ import { addPregeneratedConcretePath, clearPregeneratedConcretePaths, normalizePregeneratedPathname } from "./pregenerated-concrete-paths.js";
5
+ import { getRenderedAppRoutes, isFallbackShellArtifactPath, readPrerenderManifest } from "./prerender-manifest.js";
6
+ import fs from "node:fs";
7
+ import path from "node:path";
8
+ //#region src/server/seed-cache.ts
9
+ /**
10
+ * Seed the memory cache from pre-rendered build output.
11
+ *
12
+ * Reads `vinext-prerender.json` and the corresponding HTML/RSC files from
13
+ * `dist/server/prerendered-routes/`, then populates the active CacheHandler
14
+ * so pre-rendered pages are served as cache HITs on the very first request
15
+ * instead of triggering a full re-render.
16
+ *
17
+ * This is only useful for the MemoryCacheHandler (the default for Node.js
18
+ * production). Persistent backends like KV already retain entries across
19
+ * deploys and can be pre-populated via TPR or similar mechanisms.
20
+ *
21
+ * Consistency model:
22
+ * - The manifest is authoritative for which routes were pre-rendered and their
23
+ * revalidation config. The HTML/RSC files on disk are the source of truth
24
+ * for content. Both are produced by the same build and are immutable after
25
+ * the build completes.
26
+ * - Cache keys include the buildId, so entries from a previous build are never
27
+ * matched by a new server process (new build = new buildId = new keys).
28
+ * - Seeded entries are indistinguishable from entries created by the ISR
29
+ * render path: same cache value shape, same revalidate duration tracking,
30
+ * same cache key construction. The serving path does not know or care
31
+ * whether an entry was seeded or rendered.
32
+ *
33
+ * Concurrency model:
34
+ * - This function runs at startup before the HTTP server begins accepting
35
+ * requests, so there are no concurrent readers during seeding. All I/O is
36
+ * synchronous (readFileSync) which is appropriate for a startup-only path
37
+ * that runs once before the event loop serves traffic.
38
+ */
39
+ /**
40
+ * Read pre-rendered routes from disk and seed the active CacheHandler.
41
+ *
42
+ * Call this during production server startup, before any requests are served.
43
+ * If the manifest doesn't exist (no prerender phase was run), this is a no-op.
44
+ *
45
+ * @param serverDir - Path to `dist/server/` (where vinext-prerender.json lives)
46
+ * @returns The number of routes seeded (0 if no manifest or no renderable routes).
47
+ */
48
+ async function seedMemoryCacheFromPrerender(serverDir, options) {
49
+ clearPregeneratedConcretePaths();
50
+ const manifest = readPrerenderManifest(path.join(serverDir, "vinext-prerender.json"));
51
+ if (!manifest) return 0;
52
+ const { buildId, routes } = manifest;
53
+ if (!buildId || !Array.isArray(routes)) return 0;
54
+ const trailingSlash = manifest.trailingSlash ?? false;
55
+ const prerenderDir = path.join(serverDir, "prerendered-routes");
56
+ const writeAppPageEntry = options?.writeAppPageEntry ?? createDefaultAppPageEntryWriter();
57
+ let seeded = 0;
58
+ const appRoutes = getRenderedAppRoutes(routes);
59
+ for (const route of appRoutes) {
60
+ const concretePathname = route.path ?? route.route;
61
+ if (!isFallbackShellArtifactPath(concretePathname, route)) addPregeneratedConcretePath(route.route, concretePathname);
62
+ const artifactPathname = route.path ?? route.route;
63
+ const cachePathname = normalizePregeneratedPathname(artifactPathname);
64
+ const baseKey = isrCacheKey("app", cachePathname, buildId);
65
+ const htmlKey = options?.buildAppPageHtmlKey?.(cachePathname) ?? baseKey + ":html";
66
+ const rscKey = options?.buildAppPageRscKey?.(cachePathname) ?? baseKey + ":rsc";
67
+ const revalidateSeconds = typeof route.revalidate === "number" ? route.revalidate : void 0;
68
+ const expireSeconds = typeof route.expire === "number" ? route.expire : void 0;
69
+ const tags = buildAppPageCacheTags(cachePathname, []);
70
+ if (await seedHtml(writeAppPageEntry, prerenderDir, htmlKey, artifactPathname, trailingSlash, revalidateSeconds, expireSeconds, tags)) {
71
+ await seedRsc(writeAppPageEntry, prerenderDir, rscKey, artifactPathname, revalidateSeconds, expireSeconds, tags);
72
+ seeded++;
73
+ }
74
+ }
75
+ return seeded;
76
+ }
77
+ function createDefaultAppPageEntryWriter() {
78
+ return (key, data, metadata) => isrSetPrerenderedAppPage(key, data, metadata);
79
+ }
80
+ /**
81
+ * Seed the HTML cache entry for a single route.
82
+ * Returns true if the file existed and was seeded.
83
+ */
84
+ async function seedHtml(writeAppPageEntry, prerenderDir, key, pathname, trailingSlash, revalidateSeconds, expireSeconds, tags) {
85
+ const relPath = getOutputPath(pathname, trailingSlash);
86
+ const fullPath = path.join(prerenderDir, relPath);
87
+ if (!fs.existsSync(fullPath)) return false;
88
+ await writeAppPageEntry(key, {
89
+ kind: "APP_PAGE",
90
+ html: fs.readFileSync(fullPath, "utf-8"),
91
+ rscData: void 0,
92
+ headers: void 0,
93
+ postponed: void 0,
94
+ status: void 0
95
+ }, {
96
+ expireSeconds,
97
+ revalidateSeconds,
98
+ tags
99
+ });
100
+ return true;
101
+ }
102
+ /**
103
+ * Seed the RSC cache entry for a single route.
104
+ * No-op if the .rsc file doesn't exist on disk.
105
+ */
106
+ async function seedRsc(writeAppPageEntry, prerenderDir, key, pathname, revalidateSeconds, expireSeconds, tags) {
107
+ const relPath = getRscOutputPath(pathname);
108
+ const fullPath = path.join(prerenderDir, relPath);
109
+ if (!fs.existsSync(fullPath)) return;
110
+ const rscBuffer = fs.readFileSync(fullPath);
111
+ await writeAppPageEntry(key, {
112
+ kind: "APP_PAGE",
113
+ html: "",
114
+ rscData: rscBuffer.buffer.slice(rscBuffer.byteOffset, rscBuffer.byteOffset + rscBuffer.byteLength),
115
+ headers: void 0,
116
+ postponed: void 0,
117
+ status: void 0
118
+ }, {
119
+ expireSeconds,
120
+ revalidateSeconds,
121
+ tags
122
+ });
123
+ }
124
+ //#endregion
125
+ export { seedMemoryCacheFromPrerender };
@@ -0,0 +1,21 @@
1
+ //#region src/server/server-action-not-found.d.ts
2
+ declare function getServerActionNotFoundMessage(actionId: string | null): string;
3
+ declare function isServerActionNotFoundError(error: unknown, actionId: string | null): boolean;
4
+ declare function createServerActionNotFoundResponse(): Response;
5
+ /**
6
+ * Throw an `UnrecognizedActionError` when the server reported the requested
7
+ * server action id as unknown (the `x-nextjs-action-not-found` response
8
+ * header); otherwise return so the caller can keep processing the response.
9
+ *
10
+ * The client-side counterpart of `createServerActionNotFoundResponse`. The
11
+ * typed error lets client `catch` blocks call the public
12
+ * `unstable_isUnrecognizedActionError` predicate to detect client/server
13
+ * deployment skew and recover (typically by reloading the page).
14
+ *
15
+ * Mirrors Next.js, whose server-action reducer throws `UnrecognizedActionError`
16
+ * on this same response header:
17
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/client/components/router-reducer/reducers/server-action-reducer.ts
18
+ */
19
+ declare function throwOnServerActionNotFound(response: Pick<Response, "headers">, actionId: string): void;
20
+ //#endregion
21
+ export { createServerActionNotFoundResponse, getServerActionNotFoundMessage, isServerActionNotFoundError, throwOnServerActionNotFound };