@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,247 @@
1
+ import { badRequestResponse } from "./http-error-responses.js";
2
+ //#region src/server/image-optimization.ts
3
+ /**
4
+ * Image optimization request handler.
5
+ *
6
+ * Handles `/_next/image?url=...&w=...&q=...` requests. In production
7
+ * on Cloudflare Workers, uses the Images binding (`env.IMAGES`) to
8
+ * resize and transcode on the fly. On other runtimes (Node.js dev/prod
9
+ * server), serves the original file as a passthrough with appropriate
10
+ * Cache-Control headers.
11
+ *
12
+ * Format negotiation: inspects the `Accept` header and serves AVIF, WebP,
13
+ * or JPEG depending on client support.
14
+ *
15
+ * Security: All image responses include Content-Security-Policy and
16
+ * X-Content-Type-Options headers to prevent XSS via SVG or Content-Type
17
+ * spoofing. SVG content is blocked by default (following Next.js behavior).
18
+ * When `dangerouslyAllowSVG` is enabled in next.config.js, SVGs are served
19
+ * as-is (no transformation) with security headers applied.
20
+ */
21
+ /** The pathname that triggers image optimization (matches Next.js). */
22
+ const IMAGE_OPTIMIZATION_PATH = "/_next/image";
23
+ /**
24
+ * Vinext-prefixed alias for the image optimization endpoint. Accepted
25
+ * alongside IMAGE_OPTIMIZATION_PATH so apps that wire image URLs to the
26
+ * vinext-prefixed path continue to work; emit IMAGE_OPTIMIZATION_PATH
27
+ * for any newly generated URLs.
28
+ */
29
+ const VINEXT_IMAGE_OPTIMIZATION_PATH = "/_vinext/image";
30
+ /** Returns true when `pathname` is either supported image optimization endpoint. */
31
+ function isImageOptimizationPath(pathname) {
32
+ return pathname === "/_next/image" || pathname === "/_vinext/image";
33
+ }
34
+ /**
35
+ * Next.js default device sizes and image sizes.
36
+ * These are the allowed widths for image optimization when no custom
37
+ * config is provided. Matches Next.js defaults exactly.
38
+ */
39
+ const DEFAULT_DEVICE_SIZES = [
40
+ 640,
41
+ 750,
42
+ 828,
43
+ 1080,
44
+ 1200,
45
+ 1920,
46
+ 2048,
47
+ 3840
48
+ ];
49
+ const DEFAULT_IMAGE_SIZES = [
50
+ 16,
51
+ 32,
52
+ 48,
53
+ 64,
54
+ 96,
55
+ 128,
56
+ 256,
57
+ 384
58
+ ];
59
+ const DEV_BLUR_MAX_WIDTH = 8;
60
+ const DEV_BLUR_QUALITY = 70;
61
+ /**
62
+ * Pick the allowed width numerically closest to the requested value.
63
+ * On a tie, prefer the larger width so the served image is not undersized.
64
+ */
65
+ function snapToNearestAllowedWidth(requestedWidth, allowedWidths) {
66
+ if (allowedWidths.length === 0) return requestedWidth;
67
+ let closest = allowedWidths[0];
68
+ let minDiff = Math.abs(requestedWidth - closest);
69
+ for (const candidate of allowedWidths) {
70
+ const diff = Math.abs(requestedWidth - candidate);
71
+ if (diff < minDiff || diff === minDiff && candidate > closest) {
72
+ minDiff = diff;
73
+ closest = candidate;
74
+ }
75
+ }
76
+ return closest;
77
+ }
78
+ function resolveDevImageRedirect(requestUrl, allowedWidths = [...DEFAULT_DEVICE_SIZES, ...DEFAULT_IMAGE_SIZES], allowedQualities, options = { isDev: true }) {
79
+ const params = parseImageParams(requestUrl, allowedWidths, allowedQualities, options);
80
+ if (!params) return null;
81
+ if (params.imageUrl.startsWith("/@") || params.imageUrl.startsWith("/__vite") || params.imageUrl.startsWith("/node_modules")) return null;
82
+ const resolved = new URL(params.imageUrl, requestUrl.origin);
83
+ if (resolved.origin !== requestUrl.origin) return null;
84
+ return resolved.pathname + resolved.search;
85
+ }
86
+ /**
87
+ * Parse and validate image optimization query parameters.
88
+ * Returns null if the request is malformed.
89
+ *
90
+ * Ported from Next.js:
91
+ * test/integration/image-optimizer/test/index.test.ts
92
+ * https://github.com/vercel/next.js/blob/canary/test/integration/image-optimizer/test/index.test.ts
93
+ */
94
+ function parseImageParams(url, allowedWidths = [...DEFAULT_DEVICE_SIZES, ...DEFAULT_IMAGE_SIZES], allowedQualities, options = {}) {
95
+ const allowedParamNames = new Set([
96
+ "url",
97
+ "w",
98
+ "q"
99
+ ]);
100
+ for (const name of url.searchParams.keys()) if (!allowedParamNames.has(name) || url.searchParams.getAll(name).length !== 1) return null;
101
+ const imageUrl = url.searchParams.get("url");
102
+ if (!imageUrl) return null;
103
+ if (imageUrl.length > 3072) return null;
104
+ const widthParam = url.searchParams.get("w");
105
+ const qualityParam = url.searchParams.get("q");
106
+ if (!widthParam || !/^[0-9]+$/.test(widthParam)) return null;
107
+ if (!qualityParam || !/^[0-9]+$/.test(qualityParam)) return null;
108
+ const width = Number.parseInt(widthParam, 10);
109
+ const quality = Number.parseInt(qualityParam, 10);
110
+ if (String(width) !== widthParam || String(quality) !== qualityParam) return null;
111
+ const isDevBlurWidth = options.isDev && width <= DEV_BLUR_MAX_WIDTH;
112
+ const isDevBlurQuality = options.isDev && quality === DEV_BLUR_QUALITY;
113
+ if (width <= 0) return null;
114
+ const resolvedWidth = isDevBlurWidth || allowedWidths.includes(width) ? width : snapToNearestAllowedWidth(width, allowedWidths);
115
+ if (quality < 1 || quality > 100) return null;
116
+ if (allowedQualities && !allowedQualities.includes(quality) && !isDevBlurQuality) return null;
117
+ const normalizedUrl = imageUrl.replaceAll("\\", "/");
118
+ if (!normalizedUrl.startsWith("/") || normalizedUrl.startsWith("//")) return null;
119
+ try {
120
+ const base = "https://localhost";
121
+ if (new URL(normalizedUrl, base).origin !== base) return null;
122
+ } catch {
123
+ return null;
124
+ }
125
+ return {
126
+ imageUrl: normalizedUrl,
127
+ width: resolvedWidth,
128
+ quality
129
+ };
130
+ }
131
+ /**
132
+ * Negotiate the best output format based on the Accept header.
133
+ * Returns an IANA media type.
134
+ */
135
+ function negotiateImageFormat(acceptHeader) {
136
+ if (!acceptHeader) return "image/jpeg";
137
+ if (acceptHeader.includes("image/avif")) return "image/avif";
138
+ if (acceptHeader.includes("image/webp")) return "image/webp";
139
+ return "image/jpeg";
140
+ }
141
+ /**
142
+ * Standard Cache-Control header for optimized images.
143
+ * Optimized images are immutable because the URL encodes the transform params.
144
+ */
145
+ const IMAGE_CACHE_CONTROL = "public, max-age=31536000, immutable";
146
+ /**
147
+ * Content-Security-Policy for image optimization responses.
148
+ * Blocks script execution and framing to prevent XSS via SVG or other
149
+ * active content that might be served through the image endpoint.
150
+ * Matches Next.js default: script-src 'none'; frame-src 'none'; sandbox;
151
+ */
152
+ const IMAGE_CONTENT_SECURITY_POLICY = "script-src 'none'; frame-src 'none'; sandbox;";
153
+ /**
154
+ * Allowlist of Content-Types that are safe to serve from the image endpoint.
155
+ * SVG is intentionally excluded — it can contain embedded JavaScript and is
156
+ * essentially an XML document, not a safe raster image format.
157
+ */
158
+ const SAFE_IMAGE_CONTENT_TYPES = new Set([
159
+ "image/jpeg",
160
+ "image/png",
161
+ "image/gif",
162
+ "image/webp",
163
+ "image/avif",
164
+ "image/x-icon",
165
+ "image/vnd.microsoft.icon",
166
+ "image/bmp",
167
+ "image/tiff"
168
+ ]);
169
+ /**
170
+ * Check if a Content-Type header value is a safe image type.
171
+ * Returns false for SVG (unless dangerouslyAllowSVG is true), HTML, or any non-image type.
172
+ */
173
+ function isSafeImageContentType(contentType, dangerouslyAllowSVG = false) {
174
+ if (!contentType) return false;
175
+ const mediaType = contentType.split(";")[0].trim().toLowerCase();
176
+ if (SAFE_IMAGE_CONTENT_TYPES.has(mediaType)) return true;
177
+ if (dangerouslyAllowSVG && mediaType === "image/svg+xml") return true;
178
+ return false;
179
+ }
180
+ /**
181
+ * Apply security headers to an image optimization response.
182
+ * These headers are set on every response from the image endpoint,
183
+ * regardless of whether the image was transformed or served as-is.
184
+ * When an ImageConfig is provided, uses its values for CSP and Content-Disposition.
185
+ */
186
+ function setImageSecurityHeaders(headers, config) {
187
+ headers.set("Content-Security-Policy", config?.contentSecurityPolicy ?? "script-src 'none'; frame-src 'none'; sandbox;");
188
+ headers.set("X-Content-Type-Options", "nosniff");
189
+ headers.set("Content-Disposition", config?.contentDispositionType === "attachment" ? "attachment" : "inline");
190
+ }
191
+ function createPassthroughImageResponse(source, config) {
192
+ const headers = new Headers(source.headers);
193
+ headers.set("Cache-Control", IMAGE_CACHE_CONTROL);
194
+ headers.set("Vary", "Accept");
195
+ setImageSecurityHeaders(headers, config);
196
+ return new Response(source.body, {
197
+ status: 200,
198
+ headers
199
+ });
200
+ }
201
+ /**
202
+ * Handle image optimization requests.
203
+ *
204
+ * Parses and validates the request, fetches the source image via the provided
205
+ * handlers, optionally transforms it, and returns the response with appropriate
206
+ * cache headers.
207
+ */
208
+ async function handleImageOptimization(request, handlers, allowedWidths, imageConfig) {
209
+ const params = parseImageParams(new URL(request.url), allowedWidths, imageConfig?.qualities);
210
+ if (!params) return badRequestResponse();
211
+ const { imageUrl, width, quality } = params;
212
+ const source = await handlers.fetchAsset(imageUrl, request);
213
+ if (!source.ok || !source.body) return new Response("Image not found", { status: 404 });
214
+ const format = negotiateImageFormat(request.headers.get("Accept"));
215
+ const sourceContentType = source.headers.get("Content-Type");
216
+ if (!isSafeImageContentType(sourceContentType, imageConfig?.dangerouslyAllowSVG)) return new Response("The requested resource is not an allowed image type", { status: 400 });
217
+ if (sourceContentType?.split(";")[0].trim().toLowerCase() === "image/svg+xml") return createPassthroughImageResponse(source, imageConfig);
218
+ if (handlers.transformImage) try {
219
+ const transformed = await handlers.transformImage(source.body, {
220
+ width,
221
+ format,
222
+ quality
223
+ });
224
+ const headers = new Headers(transformed.headers);
225
+ headers.set("Cache-Control", IMAGE_CACHE_CONTROL);
226
+ headers.set("Vary", "Accept");
227
+ setImageSecurityHeaders(headers, imageConfig);
228
+ if (!isSafeImageContentType(headers.get("Content-Type"), imageConfig?.dangerouslyAllowSVG)) headers.set("Content-Type", format);
229
+ return new Response(transformed.body, {
230
+ status: 200,
231
+ headers
232
+ });
233
+ } catch (e) {
234
+ console.error("[vinext] Image optimization error:", e);
235
+ }
236
+ try {
237
+ return createPassthroughImageResponse(source, imageConfig);
238
+ } catch (e) {
239
+ console.error("[vinext] Image fallback error, refetching source image:", e);
240
+ const refetchedSource = await handlers.fetchAsset(imageUrl, request);
241
+ if (!refetchedSource.ok || !refetchedSource.body) return new Response("Image not found", { status: 404 });
242
+ if (!isSafeImageContentType(refetchedSource.headers.get("Content-Type"), imageConfig?.dangerouslyAllowSVG)) return new Response("The requested resource is not an allowed image type", { status: 400 });
243
+ return createPassthroughImageResponse(refetchedSource, imageConfig);
244
+ }
245
+ }
246
+ //#endregion
247
+ export { DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, IMAGE_CACHE_CONTROL, IMAGE_CONTENT_SECURITY_POLICY, IMAGE_OPTIMIZATION_PATH, VINEXT_IMAGE_OPTIMIZATION_PATH, handleImageOptimization, isImageOptimizationPath, isSafeImageContentType, negotiateImageFormat, parseImageParams, resolveDevImageRedirect, snapToNearestAllowedWidth };
@@ -0,0 +1,6 @@
1
+ //#region src/server/implicit-tags.d.ts
2
+ type AppCacheLeafKind = "page" | "route";
3
+ declare function buildAppPageTags(cleanPathname: string, extraTags: string[], routeSegments: readonly string[]): string[];
4
+ declare function buildPageCacheTags(pathname: string, extraTags: string[], routeSegments: string[], leafKind: AppCacheLeafKind): string[];
5
+ //#endregion
6
+ export { buildAppPageTags, buildPageCacheTags };
@@ -0,0 +1,44 @@
1
+ import { encodeCacheTag } from "../utils/encode-cache-tag.js";
2
+ //#region src/server/implicit-tags.ts
3
+ const NEXT_CACHE_IMPLICIT_TAG_ID = "_N_T_";
4
+ function appendUnique(tags, tag) {
5
+ if (!tags.includes(tag)) tags.push(tag);
6
+ }
7
+ function normalizeRouteSegment(segment) {
8
+ if (!segment || segment === "." || segment.startsWith("@")) return null;
9
+ return segment;
10
+ }
11
+ function buildRouteCachePath(routeSegments, leafKind) {
12
+ const parts = [];
13
+ for (const segment of routeSegments) {
14
+ const normalized = normalizeRouteSegment(segment);
15
+ if (normalized) parts.push(normalized);
16
+ }
17
+ parts.push(leafKind);
18
+ return `/${parts.join("/")}`;
19
+ }
20
+ function appendDerivedTags(tags, routePath) {
21
+ appendUnique(tags, `${NEXT_CACHE_IMPLICIT_TAG_ID}/layout`);
22
+ if (!routePath.startsWith("/")) return;
23
+ const routeParts = routePath.split("/");
24
+ const leafIndex = routeParts.length - 1;
25
+ for (let i = 1; i <= routeParts.length; i++) {
26
+ let currentPathname = routeParts.slice(0, i).join("/");
27
+ if (!currentPathname) continue;
28
+ if (!(i - 1 === leafIndex)) currentPathname = `${currentPathname}/layout`;
29
+ appendUnique(tags, `${NEXT_CACHE_IMPLICIT_TAG_ID}${currentPathname}`);
30
+ }
31
+ }
32
+ function buildAppPageTags(cleanPathname, extraTags, routeSegments) {
33
+ return buildPageCacheTags(cleanPathname, extraTags, [...routeSegments], "page");
34
+ }
35
+ function buildPageCacheTags(pathname, extraTags, routeSegments, leafKind) {
36
+ const tags = [pathname, `${NEXT_CACHE_IMPLICIT_TAG_ID}${pathname}`];
37
+ if (pathname === "/") appendUnique(tags, `${NEXT_CACHE_IMPLICIT_TAG_ID}/index`);
38
+ if (pathname === "/index") appendUnique(tags, `${NEXT_CACHE_IMPLICIT_TAG_ID}/`);
39
+ appendDerivedTags(tags, buildRouteCachePath(routeSegments, leafKind));
40
+ for (const tag of extraTags) appendUnique(tags, tag);
41
+ return tags.map(encodeCacheTag);
42
+ }
43
+ //#endregion
44
+ export { buildAppPageTags, buildPageCacheTags };
@@ -0,0 +1,49 @@
1
+ //#region src/server/instrumentation-runtime.d.ts
2
+ /**
3
+ * Lazy, idempotent instrumentation initialisation.
4
+ *
5
+ * The generated App Router RSC entry calls this on the first request instead
6
+ * of embedding the bookkeeping directly in codegen. This keeps the entry
7
+ * module thin (it only describes the app shape) while the actual runtime
8
+ * behaviour lives in a normal typed module that can be unit-tested.
9
+ *
10
+ * ## Why lazy?
11
+ *
12
+ * A top-level `await` at module evaluation time blocks the entire V8 isolate
13
+ * startup phase. On Cloudflare Workers that latency is added to every cold
14
+ * start. Moving the `register()` call into the first request handler keeps
15
+ * module evaluation synchronous while still guaranteeing that instrumentation
16
+ * runs before any request is handled.
17
+ *
18
+ * ## Why idempotent?
19
+ *
20
+ * The same handler may be invoked concurrently (e.g. on a warm Worker).
21
+ * A module-level `initialized` flag + a shared promise ensure that
22
+ * `register()` is called exactly once even when multiple requests race.
23
+ *
24
+ * ## Next.js semantics
25
+ *
26
+ * Next.js calls `register()` once when the server process starts, before any
27
+ * request handling. Our lazy init preserves that guarantee because the first
28
+ * request cannot proceed past this call until `register()` has resolved.
29
+ *
30
+ * References:
31
+ * - https://nextjs.org/docs/app/building-your-application/optimizing/instrumentation
32
+ */
33
+ /**
34
+ * Ensure the instrumentation module's `register()` and `onRequestError`
35
+ * hooks have been applied exactly once.
36
+ *
37
+ * After `register()` runs, we extend the OTel tracer provider so that spans
38
+ * created inside Cache Component renders (warmup / fallback-resume phases) use
39
+ * a fresh OTel context rather than inheriting the prerender work unit store.
40
+ * This mirrors Next.js's `afterRegistration()` call in
41
+ * `instrumentation-node-extensions.ts`.
42
+ *
43
+ * @param instrumentationModule - The imported `instrumentation.ts` module.
44
+ * Passed as an argument so the generated entry can import it normally
45
+ * without this helper needing to know the module path.
46
+ */
47
+ declare function ensureInstrumentationRegistered(instrumentationModule: Record<string, unknown>): Promise<void>;
48
+ //#endregion
49
+ export { ensureInstrumentationRegistered };
@@ -0,0 +1,35 @@
1
+ import { extendTracerProviderForCacheComponents } from "./otel-tracer-extension.js";
2
+ //#region src/server/instrumentation-runtime.ts
3
+ let initialized = false;
4
+ let initPromise = null;
5
+ function isOnRequestErrorHandler(value) {
6
+ return typeof value === "function";
7
+ }
8
+ /**
9
+ * Ensure the instrumentation module's `register()` and `onRequestError`
10
+ * hooks have been applied exactly once.
11
+ *
12
+ * After `register()` runs, we extend the OTel tracer provider so that spans
13
+ * created inside Cache Component renders (warmup / fallback-resume phases) use
14
+ * a fresh OTel context rather than inheriting the prerender work unit store.
15
+ * This mirrors Next.js's `afterRegistration()` call in
16
+ * `instrumentation-node-extensions.ts`.
17
+ *
18
+ * @param instrumentationModule - The imported `instrumentation.ts` module.
19
+ * Passed as an argument so the generated entry can import it normally
20
+ * without this helper needing to know the module path.
21
+ */
22
+ async function ensureInstrumentationRegistered(instrumentationModule) {
23
+ if (process.env.VINEXT_PRERENDER === "1") return;
24
+ if (initialized) return;
25
+ if (initPromise) return initPromise;
26
+ initPromise = (async () => {
27
+ if (typeof instrumentationModule.register === "function") await instrumentationModule.register();
28
+ extendTracerProviderForCacheComponents();
29
+ if (isOnRequestErrorHandler(instrumentationModule.onRequestError)) globalThis.__VINEXT_onRequestErrorHandler__ = instrumentationModule.onRequestError;
30
+ initialized = true;
31
+ })();
32
+ return initPromise;
33
+ }
34
+ //#endregion
35
+ export { ensureInstrumentationRegistered };
@@ -0,0 +1,85 @@
1
+ import { ValidFileMatcher } from "../routing/file-matcher.js";
2
+
3
+ //#region src/server/instrumentation.d.ts
4
+ /**
5
+ * Minimal duck-typed interface for the module runner passed to
6
+ * `runInstrumentation`. Only `.import()` is used — this avoids requiring
7
+ * callers (including tests) to provide a full `ModuleRunner` instance.
8
+ */
9
+ type ModuleImporter = {
10
+ import(id: string): Promise<unknown>;
11
+ };
12
+ /**
13
+ * Import a module via the runner and cast the result to `Record<string, any>`.
14
+ *
15
+ * Centralises the `as Record<string, any>` cast so callers don't need
16
+ * per-call oxlint-disable comments.
17
+ */
18
+ declare function importModule(runner: ModuleImporter, id: string): Promise<Record<string, any>>;
19
+ /**
20
+ * Find the instrumentation file in the project root.
21
+ */
22
+ declare function findInstrumentationFile(root: string, fileMatcher: ValidFileMatcher): string | null;
23
+ /**
24
+ * Find the instrumentation-client file in the project root.
25
+ */
26
+ declare function findInstrumentationClientFile(root: string, fileMatcher: ValidFileMatcher): string | null;
27
+ /**
28
+ * The onRequestError handler type from Next.js instrumentation.
29
+ *
30
+ * Called when an unhandled error occurs during request handling.
31
+ * Provides the error, the request info, and an error context.
32
+ */
33
+ type OnRequestErrorContext = {
34
+ /** The route path (e.g., '/blog/[slug]') */routerKind: "Pages Router" | "App Router"; /** The matched route pattern */
35
+ routePath: string; /** The route type */
36
+ routeType: "render" | "route" | "action" | "middleware"; /** HTTP status code that will be sent */
37
+ revalidateReason?: "on-demand" | "stale" | undefined;
38
+ };
39
+ type OnRequestErrorHandler = (error: Error, request: {
40
+ path: string;
41
+ method: string;
42
+ headers: Record<string, string>;
43
+ }, context: OnRequestErrorContext) => void | Promise<void>;
44
+ /**
45
+ * Get the registered onRequestError handler (if any).
46
+ *
47
+ * Reads from globalThis so it works across Vite environment boundaries.
48
+ */
49
+ declare function getOnRequestErrorHandler(): OnRequestErrorHandler | null;
50
+ /**
51
+ * Load and execute the instrumentation file via a ModuleRunner.
52
+ *
53
+ * Called once during Pages Router server startup (`configureServer`). It:
54
+ * 1. Loads the instrumentation module via `runner.import()`.
55
+ * 2. Calls the `register()` function if exported.
56
+ * 3. Stores the `onRequestError()` handler on `globalThis` so it is visible
57
+ * to all Vite environment module graphs (SSR and the host process share
58
+ * the same Node.js `globalThis`).
59
+ *
60
+ * **App Router** does not use this function. For App Router, `register()` is
61
+ * emitted as a top-level `await` inside the generated RSC entry module so it
62
+ * runs in the same Worker/environment as request handling.
63
+ *
64
+ * @param runner - A ModuleRunner created via `createDirectRunner()`. Must be
65
+ * the same long-lived runner used for middleware and SSR so the module graph
66
+ * is shared. Safe with all Vite plugin combinations, including
67
+ * `@cloudflare/vite-plugin`, because it never touches the hot channel.
68
+ * @param instrumentationPath - Absolute path to the instrumentation file
69
+ */
70
+ declare function runInstrumentation(runner: ModuleImporter, instrumentationPath: string): Promise<void>;
71
+ /**
72
+ * Report a request error via the instrumentation handler.
73
+ *
74
+ * No-op if no onRequestError handler is registered.
75
+ *
76
+ * Reads the handler from globalThis so this function works correctly regardless
77
+ * of which environment it is called from.
78
+ */
79
+ declare function reportRequestError(error: Error, request: {
80
+ path: string;
81
+ method: string;
82
+ headers: Record<string, string>;
83
+ }, context: OnRequestErrorContext): Promise<void>;
84
+ //#endregion
85
+ export { ModuleImporter, OnRequestErrorContext, OnRequestErrorHandler, findInstrumentationClientFile, findInstrumentationFile, getOnRequestErrorHandler, importModule, reportRequestError, runInstrumentation };
@@ -0,0 +1,130 @@
1
+ import { getRequestExecutionContext } from "../shims/request-context.js";
2
+ import fs from "node:fs";
3
+ import path from "node:path";
4
+ //#region src/server/instrumentation.ts
5
+ /**
6
+ * instrumentation.ts support
7
+ *
8
+ * Next.js supports an `instrumentation.ts` file at the project root that
9
+ * exports a `register()` function. This function is called once when the
10
+ * server starts, before any request handling. It's the recommended way to
11
+ * set up observability tools (Sentry, Datadog, OpenTelemetry, etc.).
12
+ *
13
+ * Optionally, it can also export `onRequestError()` which is called when
14
+ * an unhandled error occurs during request handling.
15
+ *
16
+ * References:
17
+ * - https://nextjs.org/docs/app/building-your-application/optimizing/instrumentation
18
+ *
19
+ * ## App Router
20
+ *
21
+ * For App Router, `register()` is baked directly into the generated RSC entry
22
+ * as a top-level `await` at module evaluation time (see `entries/app-rsc-entry.ts`
23
+ * `generateRscEntry`). This means it runs inside the Worker process (or RSC
24
+ * Vite environment) — the same process that handles requests — before any
25
+ * request is served. `runInstrumentation()` is NOT called from `configureServer`
26
+ * for App Router.
27
+ *
28
+ * The `onRequestError` handler is stored on `globalThis` so it is visible across
29
+ * the RSC and SSR Vite environments (separate module graphs, same Node.js process).
30
+ * With `@cloudflare/vite-plugin` it runs entirely inside the Worker, so
31
+ * `globalThis` is the Worker's global — also correct.
32
+ *
33
+ * ## Pages Router
34
+ *
35
+ * Pages Router has no RSC entry, so `configureServer()` is the right place to
36
+ * call `register()`. `runInstrumentation()` accepts a `ModuleRunner` (created
37
+ * via `createDirectRunner()`) rather than `server.ssrLoadModule()` so it is
38
+ * safe when `@cloudflare/vite-plugin` is present — that plugin replaces the
39
+ * SSR environment's hot channel, causing `ssrLoadModule()` to crash with
40
+ * `TypeError: Cannot read properties of undefined (reading 'outsideEmitter')`.
41
+ */
42
+ /**
43
+ * Import a module via the runner and cast the result to `Record<string, any>`.
44
+ *
45
+ * Centralises the `as Record<string, any>` cast so callers don't need
46
+ * per-call oxlint-disable comments.
47
+ */
48
+ async function importModule(runner, id) {
49
+ return await runner.import(id);
50
+ }
51
+ const INSTRUMENTATION_LOCATIONS = ["", "src/"];
52
+ function findInstrumentationHookFile(root, basename, fileMatcher) {
53
+ for (const dir of INSTRUMENTATION_LOCATIONS) for (const ext of fileMatcher.dottedExtensions) {
54
+ const fullPath = path.posix.join(root, dir, `${basename}${ext}`);
55
+ if (fs.existsSync(fullPath)) return fullPath;
56
+ }
57
+ return null;
58
+ }
59
+ /**
60
+ * Find the instrumentation file in the project root.
61
+ */
62
+ function findInstrumentationFile(root, fileMatcher) {
63
+ return findInstrumentationHookFile(root, "instrumentation", fileMatcher);
64
+ }
65
+ /**
66
+ * Find the instrumentation-client file in the project root.
67
+ */
68
+ function findInstrumentationClientFile(root, fileMatcher) {
69
+ return findInstrumentationHookFile(root, "instrumentation-client", fileMatcher);
70
+ }
71
+ /**
72
+ * Get the registered onRequestError handler (if any).
73
+ *
74
+ * Reads from globalThis so it works across Vite environment boundaries.
75
+ */
76
+ function getOnRequestErrorHandler() {
77
+ return globalThis.__VINEXT_onRequestErrorHandler__ ?? null;
78
+ }
79
+ /**
80
+ * Load and execute the instrumentation file via a ModuleRunner.
81
+ *
82
+ * Called once during Pages Router server startup (`configureServer`). It:
83
+ * 1. Loads the instrumentation module via `runner.import()`.
84
+ * 2. Calls the `register()` function if exported.
85
+ * 3. Stores the `onRequestError()` handler on `globalThis` so it is visible
86
+ * to all Vite environment module graphs (SSR and the host process share
87
+ * the same Node.js `globalThis`).
88
+ *
89
+ * **App Router** does not use this function. For App Router, `register()` is
90
+ * emitted as a top-level `await` inside the generated RSC entry module so it
91
+ * runs in the same Worker/environment as request handling.
92
+ *
93
+ * @param runner - A ModuleRunner created via `createDirectRunner()`. Must be
94
+ * the same long-lived runner used for middleware and SSR so the module graph
95
+ * is shared. Safe with all Vite plugin combinations, including
96
+ * `@cloudflare/vite-plugin`, because it never touches the hot channel.
97
+ * @param instrumentationPath - Absolute path to the instrumentation file
98
+ */
99
+ async function runInstrumentation(runner, instrumentationPath) {
100
+ try {
101
+ const mod = await runner.import(instrumentationPath);
102
+ if (typeof mod.register === "function") await mod.register();
103
+ if (typeof mod.onRequestError === "function") globalThis.__VINEXT_onRequestErrorHandler__ = mod.onRequestError;
104
+ } catch (err) {
105
+ console.error("[vinext] Failed to load instrumentation:", err instanceof Error ? err.message : String(err));
106
+ }
107
+ }
108
+ /**
109
+ * Report a request error via the instrumentation handler.
110
+ *
111
+ * No-op if no onRequestError handler is registered.
112
+ *
113
+ * Reads the handler from globalThis so this function works correctly regardless
114
+ * of which environment it is called from.
115
+ */
116
+ function reportRequestError(error, request, context) {
117
+ const handler = getOnRequestErrorHandler();
118
+ if (!handler) return Promise.resolve();
119
+ const promise = (async () => {
120
+ try {
121
+ await handler(error, request, context);
122
+ } catch (reportErr) {
123
+ console.error("[vinext] onRequestError handler threw:", reportErr instanceof Error ? reportErr.message : String(reportErr));
124
+ }
125
+ })();
126
+ getRequestExecutionContext()?.waitUntil(promise);
127
+ return promise;
128
+ }
129
+ //#endregion
130
+ export { findInstrumentationClientFile, findInstrumentationFile, getOnRequestErrorHandler, importModule, reportRequestError, runInstrumentation };