@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,16 @@
1
+ import { Plugin } from "vite";
2
+ import MagicString from "magic-string";
3
+
4
+ //#region src/plugins/import-meta-url.d.ts
5
+ type ImportMetaUrlEnvironment = "client" | "server";
6
+ type RewriteResult = {
7
+ code: string;
8
+ map: ReturnType<MagicString["generateMap"]>;
9
+ };
10
+ declare function createImportMetaUrlPlugin(options: {
11
+ getRoot: () => string | undefined;
12
+ }): Plugin;
13
+ declare function rewriteImportMetaUrl(code: string, id: string, root: string, environment: ImportMetaUrlEnvironment): RewriteResult | null;
14
+ declare function rewriteServerCjsGlobals(code: string, id: string, root: string): RewriteResult | null;
15
+ //#endregion
16
+ export { createImportMetaUrlPlugin, rewriteImportMetaUrl, rewriteServerCjsGlobals };
@@ -0,0 +1,353 @@
1
+ import { VIRTUAL_MODULE_ID_RE } from "../utils/virtual-module.js";
2
+ import { collectBindingNames, forEachAstChild, hasRange, isAstRecord, isIdentifierNamed, nodeArray } from "./ast-utils.js";
3
+ import { tryRealpathSync } from "../build/ssr-manifest.js";
4
+ import path from "node:path";
5
+ import { normalizePath, parseAst } from "vite";
6
+ import { pathToFileURL } from "node:url";
7
+ import MagicString from "magic-string";
8
+ //#region src/plugins/import-meta-url.ts
9
+ const TRANSFORMABLE_SCRIPT_EXTENSIONS = new Set([
10
+ ".cjs",
11
+ ".cts",
12
+ ".js",
13
+ ".jsx",
14
+ ".mjs",
15
+ ".mts",
16
+ ".ts",
17
+ ".tsx"
18
+ ]);
19
+ function createImportMetaUrlPlugin(options) {
20
+ let rootPaths;
21
+ let outputDirs = [];
22
+ function getRootPaths() {
23
+ const root = options.getRoot();
24
+ if (!root) return rootPaths;
25
+ if (!rootPaths || rootPaths.root !== root) rootPaths = createRootPaths(root, { outputDirs });
26
+ return rootPaths;
27
+ }
28
+ return {
29
+ name: "vinext:import-meta-url",
30
+ enforce: "post",
31
+ configResolved(config) {
32
+ const root = options.getRoot() ?? config.root;
33
+ outputDirs = [config.build.outDir];
34
+ rootPaths = createRootPaths(root, { outputDirs });
35
+ },
36
+ transform: {
37
+ filter: {
38
+ id: {
39
+ include: /\.(?:[cm]?[jt]s|[jt]sx)(?:\?.*)?$/,
40
+ exclude: [/[\\/]node_modules[\\/]/, VIRTUAL_MODULE_ID_RE]
41
+ },
42
+ code: /import\.meta(?:\.|\?\.)url|__filename|__dirname/
43
+ },
44
+ handler(code, id) {
45
+ const paths = getRootPaths();
46
+ if (!paths) return null;
47
+ const canonicalId = transformableModuleCanonicalId(cleanModuleId(id), paths);
48
+ if (!canonicalId) return null;
49
+ const rewritten = rewriteCanonicalSourceIdentity(code, canonicalId, paths, this.environment?.name === "client" ? "client" : "server");
50
+ if (!rewritten) return null;
51
+ return {
52
+ code: rewritten.code,
53
+ map: rewritten.map
54
+ };
55
+ }
56
+ }
57
+ };
58
+ }
59
+ function rewriteImportMetaUrl(code, id, root, environment) {
60
+ if (!mayContainImportMetaUrl(code)) return null;
61
+ return rewriteCanonicalSourceIdentity(code, canonicalizePath(id), createRootPaths(root), environment);
62
+ }
63
+ function rewriteServerCjsGlobals(code, id, root) {
64
+ if (!mayContainServerCjsGlobal(code)) return null;
65
+ const rootPaths = createRootPaths(root);
66
+ const canonicalId = transformableModuleCanonicalId(id, rootPaths);
67
+ if (!canonicalId) return null;
68
+ return rewriteCanonicalSourceIdentity(code, canonicalId, rootPaths, "server");
69
+ }
70
+ function rewriteCanonicalSourceIdentity(code, canonicalId, rootPaths, environment) {
71
+ let ast;
72
+ try {
73
+ ast = parseAst(code);
74
+ } catch {
75
+ return null;
76
+ }
77
+ const output = new MagicString(code);
78
+ let changed = false;
79
+ if (mayContainImportMetaUrl(code)) {
80
+ const importMetaRanges = collectImportMetaUrlRanges(ast);
81
+ if (importMetaRanges.length > 0) {
82
+ const replacement = JSON.stringify(importMetaUrlValue(canonicalId, rootPaths, environment));
83
+ for (const range of importMetaRanges) {
84
+ output.overwrite(range.start, range.end, replacement);
85
+ changed = true;
86
+ }
87
+ }
88
+ }
89
+ if (environment === "server" && mayContainServerCjsGlobal(code)) {
90
+ const injected = injectServerCjsGlobals(ast, canonicalId);
91
+ if (injected) {
92
+ output.appendLeft(findDirectivePrologueEnd(ast), `\n${injected}`);
93
+ changed = true;
94
+ }
95
+ }
96
+ if (!changed) return null;
97
+ return {
98
+ code: output.toString(),
99
+ map: output.generateMap({ hires: "boundary" })
100
+ };
101
+ }
102
+ function cleanModuleId(id) {
103
+ return id.split("?", 1)[0];
104
+ }
105
+ function createRootPaths(root, options = {}) {
106
+ const canonicalRoot = canonicalizePath(root);
107
+ const normalizedRoot = normalizePath(canonicalRoot);
108
+ return {
109
+ root,
110
+ canonicalRoot,
111
+ normalizedRoot,
112
+ excludedRelativePrefixes: excludedRelativePrefixes(canonicalRoot, normalizedRoot, options)
113
+ };
114
+ }
115
+ function transformableModuleCanonicalId(id, rootPaths) {
116
+ if (!id || id.startsWith("\0")) return null;
117
+ if (!path.isAbsolute(id)) return null;
118
+ const normalizedInputId = normalizePath(id);
119
+ if (normalizedInputId.includes("/node_modules/")) return null;
120
+ if (!TRANSFORMABLE_SCRIPT_EXTENSIONS.has(path.extname(normalizedInputId))) return null;
121
+ const canonicalId = canonicalizePath(id);
122
+ if (!isPathWithin(normalizePath(canonicalId), rootPaths.normalizedRoot)) return null;
123
+ if (isExcludedRelativePath(normalizePath(path.relative(rootPaths.canonicalRoot, canonicalId)), rootPaths.excludedRelativePrefixes)) return null;
124
+ return canonicalId;
125
+ }
126
+ function mayContainImportMetaUrl(code) {
127
+ return code.includes("import.meta.url") || code.includes("import.meta?.url");
128
+ }
129
+ function mayContainServerCjsGlobal(code) {
130
+ return code.includes("__filename") || code.includes("__dirname");
131
+ }
132
+ function excludedRelativePrefixes(canonicalRoot, normalizedRoot, options) {
133
+ const prefixes = new Set([
134
+ ".next",
135
+ ".vinext",
136
+ ".vinext-local-package",
137
+ "dist",
138
+ "out"
139
+ ]);
140
+ for (const outputDir of options.outputDirs ?? []) {
141
+ const canonicalOutputDir = canonicalizePath(path.isAbsolute(outputDir) ? outputDir : path.resolve(canonicalRoot, outputDir));
142
+ if (!isPathWithin(normalizePath(canonicalOutputDir), normalizedRoot)) continue;
143
+ const relativePath = normalizePath(path.relative(canonicalRoot, canonicalOutputDir));
144
+ if (relativePath && relativePath !== ".") prefixes.add(relativePath);
145
+ }
146
+ return [...prefixes];
147
+ }
148
+ function isExcludedRelativePath(relativePath, prefixes) {
149
+ return prefixes.some((prefix) => relativePath === prefix || relativePath.startsWith(`${prefix}/`));
150
+ }
151
+ function isPathWithin(candidate, root) {
152
+ return candidate === root || candidate.startsWith(root.endsWith("/") ? root : `${root}/`);
153
+ }
154
+ function importMetaUrlValue(canonicalId, rootPaths, environment) {
155
+ if (environment === "client") return `file:///ROOT/${normalizePath(path.relative(rootPaths.canonicalRoot, canonicalId))}`;
156
+ return pathToFileURL(canonicalId).href;
157
+ }
158
+ function canonicalizePath(value) {
159
+ return tryRealpathSync(value) ?? path.resolve(value);
160
+ }
161
+ function collectImportMetaUrlRanges(ast) {
162
+ const ranges = [];
163
+ function visit(value) {
164
+ if (!isAstRecord(value)) return;
165
+ if (isImportMetaUrlNode(value)) {
166
+ ranges.push({
167
+ start: value.start,
168
+ end: value.end
169
+ });
170
+ return;
171
+ }
172
+ if (isChainExpressionWrappingImportMetaUrl(value)) {
173
+ ranges.push({
174
+ start: value.start,
175
+ end: value.end
176
+ });
177
+ return;
178
+ }
179
+ if (isNewUrlExpression(value)) {
180
+ const args = nodeArray(value.arguments);
181
+ for (let index = 0; index < args.length; index += 1) {
182
+ if (index === 1 && isImportMetaUrlOrChainedNode(args[index])) continue;
183
+ visit(args[index]);
184
+ }
185
+ return;
186
+ }
187
+ forEachAstChild(value, visit);
188
+ }
189
+ visit(ast);
190
+ return ranges;
191
+ }
192
+ const CJS_GLOBALS = ["__filename", "__dirname"];
193
+ function isCjsGlobalName(name) {
194
+ return name === "__filename" || name === "__dirname";
195
+ }
196
+ function injectServerCjsGlobals(ast, canonicalId) {
197
+ const analysis = analyzeServerCjsGlobals(ast);
198
+ const values = {
199
+ __filename: canonicalId,
200
+ __dirname: path.dirname(canonicalId)
201
+ };
202
+ const parts = CJS_GLOBALS.filter((name) => analysis.reads.has(name) && !analysis.moduleBindings.has(name)).map((name) => `var ${name} = ${JSON.stringify(values[name])};`);
203
+ return parts.length ? parts.join("") : null;
204
+ }
205
+ function analyzeServerCjsGlobals(ast) {
206
+ const reads = /* @__PURE__ */ new Set();
207
+ const moduleBindings = /* @__PURE__ */ new Set();
208
+ function recordBinding(pattern) {
209
+ const names = /* @__PURE__ */ new Set();
210
+ collectBindingNames(pattern, names);
211
+ for (const name of names) if (isCjsGlobalName(name)) moduleBindings.add(name);
212
+ }
213
+ function recordDirectTopLevelBindings(statement) {
214
+ switch (statement.type) {
215
+ case "ImportDeclaration":
216
+ for (const specifier of nodeArray(statement.specifiers)) {
217
+ if (!isAstRecord(specifier)) continue;
218
+ recordBinding(specifier.local);
219
+ }
220
+ return;
221
+ case "VariableDeclaration":
222
+ if (statement.kind === "var") return;
223
+ for (const declarator of nodeArray(statement.declarations)) {
224
+ if (!isAstRecord(declarator) || declarator.type !== "VariableDeclarator") continue;
225
+ recordBinding(declarator.id);
226
+ }
227
+ return;
228
+ case "FunctionDeclaration":
229
+ case "ClassDeclaration":
230
+ recordBinding(statement.id);
231
+ return;
232
+ case "ExportNamedDeclaration":
233
+ case "ExportDefaultDeclaration":
234
+ if (isAstRecord(statement.declaration)) recordDirectTopLevelBindings(statement.declaration);
235
+ return;
236
+ }
237
+ }
238
+ function recordModuleScopedVarBindings(node) {
239
+ if (!isAstRecord(node)) return;
240
+ switch (node.type) {
241
+ case "Program":
242
+ for (const statement of nodeArray(node.body)) {
243
+ if (!isAstRecord(statement)) continue;
244
+ recordDirectTopLevelBindings(statement);
245
+ recordModuleScopedVarBindings(statement);
246
+ }
247
+ return;
248
+ case "VariableDeclaration":
249
+ if (node.kind !== "var") return;
250
+ for (const declarator of nodeArray(node.declarations)) {
251
+ if (!isAstRecord(declarator) || declarator.type !== "VariableDeclarator") continue;
252
+ recordBinding(declarator.id);
253
+ }
254
+ return;
255
+ case "FunctionDeclaration":
256
+ case "FunctionExpression":
257
+ case "ArrowFunctionExpression":
258
+ case "ClassDeclaration":
259
+ case "ClassExpression": return;
260
+ default: for (const child of moduleScopeChildren(node)) recordModuleScopedVarBindings(child);
261
+ }
262
+ }
263
+ function moduleScopeChildren(node) {
264
+ switch (node.type) {
265
+ case "BlockStatement": return nodeArray(node.body);
266
+ case "IfStatement": return [node.consequent, node.alternate];
267
+ case "SwitchStatement": return nodeArray(node.cases);
268
+ case "SwitchCase": return nodeArray(node.consequent);
269
+ case "TryStatement": return [
270
+ node.block,
271
+ node.handler,
272
+ node.finalizer
273
+ ];
274
+ case "CatchClause": return [node.body];
275
+ case "LabeledStatement": return [node.body];
276
+ case "ForStatement": return [node.init, node.body];
277
+ case "ForInStatement":
278
+ case "ForOfStatement": return [node.left, node.body];
279
+ case "WhileStatement":
280
+ case "DoWhileStatement":
281
+ case "WithStatement": return [node.body];
282
+ case "ExportNamedDeclaration":
283
+ case "ExportDefaultDeclaration": return [node.declaration];
284
+ default: return [];
285
+ }
286
+ }
287
+ function recordReads(value) {
288
+ if (!isAstRecord(value)) return;
289
+ switch (value.type) {
290
+ case "Identifier":
291
+ if (isCjsGlobalName(value.name)) reads.add(value.name);
292
+ return;
293
+ case "MemberExpression":
294
+ recordReads(value.object);
295
+ if (value.computed) recordReads(value.property);
296
+ return;
297
+ case "Property":
298
+ if (value.computed) recordReads(value.key);
299
+ recordReads(value.value);
300
+ return;
301
+ case "MethodDefinition":
302
+ case "PropertyDefinition":
303
+ if (value.computed) recordReads(value.key);
304
+ recordReads(value.value);
305
+ return;
306
+ case "ImportDeclaration": return;
307
+ case "ExportAllDeclaration": return;
308
+ case "ExportNamedDeclaration":
309
+ if (isAstRecord(value.declaration)) recordReads(value.declaration);
310
+ else if (!value.source) {
311
+ for (const specifier of nodeArray(value.specifiers)) if (isAstRecord(specifier)) recordReads(specifier.local);
312
+ }
313
+ return;
314
+ default: forEachAstChild(value, recordReads);
315
+ }
316
+ }
317
+ if (isAstRecord(ast) && ast.type === "Program") recordModuleScopedVarBindings(ast);
318
+ recordReads(ast);
319
+ return {
320
+ reads,
321
+ moduleBindings
322
+ };
323
+ }
324
+ function isImportMetaNode(value) {
325
+ return isAstRecord(value) && value.type === "MetaProperty" && isIdentifierNamed(value.meta, "import") && isIdentifierNamed(value.property, "meta");
326
+ }
327
+ function isImportMetaUrlNode(value) {
328
+ return isAstRecord(value) && value.type === "MemberExpression" && hasRange(value) && isImportMetaNode(value.object) && isIdentifierNamed(value.property, "url");
329
+ }
330
+ function isImportMetaUrlOrChainedNode(value) {
331
+ if (isImportMetaUrlNode(value)) return true;
332
+ return isAstRecord(value) && value.type === "ChainExpression" && isImportMetaUrlNode(value.expression);
333
+ }
334
+ function isChainExpressionWrappingImportMetaUrl(value) {
335
+ return isAstRecord(value) && value.type === "ChainExpression" && hasRange(value) && isImportMetaUrlNode(value.expression);
336
+ }
337
+ function isNewUrlExpression(value) {
338
+ return value.type === "NewExpression" && isIdentifierNamed(value.callee, "URL");
339
+ }
340
+ function findDirectivePrologueEnd(ast) {
341
+ if (!isAstRecord(ast) || ast.type !== "Program") return 0;
342
+ let end = 0;
343
+ const hashbang = ast.hashbang;
344
+ const hashbangEnd = typeof hashbang === "object" && hashbang !== null ? Reflect.get(hashbang, "end") : null;
345
+ if (typeof hashbangEnd === "number") end = hashbangEnd;
346
+ for (const statement of nodeArray(ast.body)) {
347
+ if (!isAstRecord(statement) || statement.type !== "ExpressionStatement" || !isAstRecord(statement.expression) || statement.expression.type !== "Literal" || typeof statement.expression.value !== "string" || typeof statement.end !== "number") break;
348
+ end = statement.end;
349
+ }
350
+ return end;
351
+ }
352
+ //#endregion
353
+ export { createImportMetaUrlPlugin, rewriteImportMetaUrl, rewriteServerCjsGlobals };
@@ -0,0 +1,6 @@
1
+ import { Plugin } from "vite";
2
+
3
+ //#region src/plugins/instrumentation-client.d.ts
4
+ declare function createInstrumentationClientTransformPlugin(getInstrumentationClientPath: () => string | null): Plugin;
5
+ //#endregion
6
+ export { createInstrumentationClientTransformPlugin };
@@ -0,0 +1,27 @@
1
+ import { normalizePath, parseAst } from "vite";
2
+ import MagicString from "magic-string";
3
+ //#region src/plugins/instrumentation-client.ts
4
+ function createInstrumentationClientTransformPlugin(getInstrumentationClientPath) {
5
+ return {
6
+ name: "vinext:instrumentation-client",
7
+ apply: "serve",
8
+ transform(code, id) {
9
+ const instrumentationClientPath = getInstrumentationClientPath();
10
+ if (!instrumentationClientPath) return null;
11
+ if (normalizePath(id.split("?", 1)[0]) !== instrumentationClientPath) return null;
12
+ if (code.includes("__vinextInstrumentationClientStart")) return null;
13
+ const ast = parseAst(code);
14
+ let insertPos = 0;
15
+ for (const node of ast.body) if (node.type === "ImportDeclaration") insertPos = node.end;
16
+ const s = new MagicString(code);
17
+ s.appendLeft(insertPos, "\nconst __vinextInstrumentationClientStart = performance.now();\n");
18
+ s.append("\nconst __vinextInstrumentationClientEnd = performance.now();\nconst __vinextInstrumentationClientDuration = __vinextInstrumentationClientEnd - __vinextInstrumentationClientStart;\n// Match Next.js: only report slow client instrumentation during dev.\n// Production should execute the hook without additional timing overhead.\nif (__vinextInstrumentationClientDuration > 16) {\n console.log(`[Client Instrumentation Hook] Slow execution detected: ${__vinextInstrumentationClientDuration.toFixed(0)}ms (Note: Code download overhead is not included in this measurement)`);\n}\n");
19
+ return {
20
+ code: s.toString(),
21
+ map: s.generateMap({ hires: true })
22
+ };
23
+ }
24
+ };
25
+ }
26
+ //#endregion
27
+ export { createInstrumentationClientTransformPlugin };
@@ -0,0 +1,5 @@
1
+ //#region src/plugins/middleware-export-validation.d.ts
2
+ declare function hasValidMiddlewareModuleExport(source: string, id: string, isProxy: boolean): boolean;
3
+ declare function validateMiddlewareModuleExports(source: string, id: string, filePath: string, isProxy: boolean): void;
4
+ //#endregion
5
+ export { hasValidMiddlewareModuleExport, validateMiddlewareModuleExports };
@@ -0,0 +1,36 @@
1
+ import { stripViteModuleQuery } from "../utils/path.js";
2
+ import { createMiddlewareMissingExportError } from "../server/middleware-runtime.js";
3
+ import { parseAst } from "vite";
4
+ //#region src/plugins/middleware-export-validation.ts
5
+ function parserLanguage(id) {
6
+ const cleanId = stripViteModuleQuery(id).toLowerCase();
7
+ if (cleanId.endsWith(".tsx")) return "tsx";
8
+ if (cleanId.endsWith(".ts") || cleanId.endsWith(".mts") || cleanId.endsWith(".cts")) return "ts";
9
+ return "jsx";
10
+ }
11
+ function astName(value) {
12
+ if (!value) return null;
13
+ if (typeof value.name === "string") return value.name;
14
+ if (typeof value.value === "string") return value.value;
15
+ return null;
16
+ }
17
+ function hasValidMiddlewareModuleExport(source, id, isProxy) {
18
+ const ast = parseAst(source, { lang: parserLanguage(id) });
19
+ const expectedExport = isProxy ? "proxy" : "middleware";
20
+ for (const statement of ast.body) {
21
+ if (statement.type === "ExportDefaultDeclaration") return true;
22
+ if (statement.type !== "ExportNamedDeclaration") continue;
23
+ const declaration = statement.declaration;
24
+ if (declaration?.type === "FunctionDeclaration" && astName(declaration.id) === expectedExport) return true;
25
+ if (declaration?.type === "VariableDeclaration") {
26
+ for (const declarator of declaration.declarations ?? []) if (astName(declarator.id) === expectedExport) return true;
27
+ }
28
+ for (const specifier of statement.specifiers ?? []) if (astName(specifier.exported ?? specifier.local) === expectedExport) return true;
29
+ }
30
+ return false;
31
+ }
32
+ function validateMiddlewareModuleExports(source, id, filePath, isProxy) {
33
+ if (!hasValidMiddlewareModuleExport(source, id, isProxy)) throw createMiddlewareMissingExportError(filePath, isProxy);
34
+ }
35
+ //#endregion
36
+ export { hasValidMiddlewareModuleExport, validateMiddlewareModuleExports };
@@ -0,0 +1,53 @@
1
+ import { Plugin } from "vite";
2
+
3
+ //#region src/plugins/middleware-server-only.d.ts
4
+ /**
5
+ * Allow `import 'server-only'` from middleware (and any module reachable
6
+ * from middleware) in the SSR environment.
7
+ *
8
+ * Background: middleware runs server-side, so importing `server-only` is
9
+ * semantically correct. However, vinext bundles middleware into the SSR
10
+ * environment (via `virtual:vinext-server-entry`), and @vitejs/plugin-rsc's
11
+ * `rsc:validate-imports` plugin treats any non-RSC environment as a "client"
12
+ * build, rejecting `server-only` imports with:
13
+ *
14
+ * 'server-only' cannot be imported in client build ('ssr' environment)
15
+ *
16
+ * Next.js solves this with webpack `issuerLayer` rules: middleware (and
17
+ * `instrumentation`) sit in the `neutralTarget` layer where `server-only`
18
+ * is aliased to a no-op while `client-only` still errors. See
19
+ * packages/next/src/build/webpack-config.ts ("Alias server-only and
20
+ * client-only to proper exports based on bundling layers")
21
+ *
22
+ * Vite has no per-layer aliasing within a single environment, so we mirror
23
+ * the behavior with import-chain taint tracking:
24
+ *
25
+ * 1. Seed a `tainted` set with the middleware entry path (and its
26
+ * canonical realpath).
27
+ * 2. For every resolveId call from a tainted importer, resolve the import
28
+ * via `this.resolve(..., { skipSelf: true })` and add the resolved id
29
+ * to the tainted set. This propagates the taint along the import graph
30
+ * synchronously, before plugin-rsc's `order: "pre"` validate-imports
31
+ * handler sees the next `server-only` request.
32
+ * 3. When a tainted module imports `server-only` in a non-RSC environment,
33
+ * short-circuit to the no-op shim path so plugin-rsc's filter (which
34
+ * matches the bare `^server-only$` specifier) never fires for that
35
+ * import.
36
+ *
37
+ * The taint set is scoped to the middleware chain only — `server-only`
38
+ * imports from anywhere else (including client component code traversing
39
+ * through the SSR environment for `react-dom/server.edge` rendering) still
40
+ * hit the rsc:validate-imports rejection, preserving the original safety
41
+ * net for accidental client-side `server-only` leakage.
42
+ *
43
+ * Ported from Next.js handling of `WEBPACK_LAYERS.middleware` /
44
+ * `WEBPACK_LAYERS.GROUP.neutralTarget`:
45
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/build/webpack-config.ts
46
+ */
47
+ declare function createMiddlewareServerOnlyPlugin(options: {
48
+ getMiddlewarePath: () => string | null;
49
+ getCanonicalMiddlewarePath: () => string | null;
50
+ serverOnlyShimPath: string;
51
+ }): Plugin;
52
+ //#endregion
53
+ export { createMiddlewareServerOnlyPlugin };
@@ -0,0 +1,90 @@
1
+ import { normalizePathSeparators } from "../utils/path.js";
2
+ //#region src/plugins/middleware-server-only.ts
3
+ /**
4
+ * Allow `import 'server-only'` from middleware (and any module reachable
5
+ * from middleware) in the SSR environment.
6
+ *
7
+ * Background: middleware runs server-side, so importing `server-only` is
8
+ * semantically correct. However, vinext bundles middleware into the SSR
9
+ * environment (via `virtual:vinext-server-entry`), and @vitejs/plugin-rsc's
10
+ * `rsc:validate-imports` plugin treats any non-RSC environment as a "client"
11
+ * build, rejecting `server-only` imports with:
12
+ *
13
+ * 'server-only' cannot be imported in client build ('ssr' environment)
14
+ *
15
+ * Next.js solves this with webpack `issuerLayer` rules: middleware (and
16
+ * `instrumentation`) sit in the `neutralTarget` layer where `server-only`
17
+ * is aliased to a no-op while `client-only` still errors. See
18
+ * packages/next/src/build/webpack-config.ts ("Alias server-only and
19
+ * client-only to proper exports based on bundling layers")
20
+ *
21
+ * Vite has no per-layer aliasing within a single environment, so we mirror
22
+ * the behavior with import-chain taint tracking:
23
+ *
24
+ * 1. Seed a `tainted` set with the middleware entry path (and its
25
+ * canonical realpath).
26
+ * 2. For every resolveId call from a tainted importer, resolve the import
27
+ * via `this.resolve(..., { skipSelf: true })` and add the resolved id
28
+ * to the tainted set. This propagates the taint along the import graph
29
+ * synchronously, before plugin-rsc's `order: "pre"` validate-imports
30
+ * handler sees the next `server-only` request.
31
+ * 3. When a tainted module imports `server-only` in a non-RSC environment,
32
+ * short-circuit to the no-op shim path so plugin-rsc's filter (which
33
+ * matches the bare `^server-only$` specifier) never fires for that
34
+ * import.
35
+ *
36
+ * The taint set is scoped to the middleware chain only — `server-only`
37
+ * imports from anywhere else (including client component code traversing
38
+ * through the SSR environment for `react-dom/server.edge` rendering) still
39
+ * hit the rsc:validate-imports rejection, preserving the original safety
40
+ * net for accidental client-side `server-only` leakage.
41
+ *
42
+ * Ported from Next.js handling of `WEBPACK_LAYERS.middleware` /
43
+ * `WEBPACK_LAYERS.GROUP.neutralTarget`:
44
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/build/webpack-config.ts
45
+ */
46
+ function createMiddlewareServerOnlyPlugin(options) {
47
+ const tainted = /* @__PURE__ */ new Set();
48
+ function canonicalizeId(id) {
49
+ const queryIndex = id.indexOf("?");
50
+ return normalizePathSeparators(queryIndex === -1 ? id : id.slice(0, queryIndex));
51
+ }
52
+ function isTainted(id) {
53
+ if (!id) return false;
54
+ return tainted.has(canonicalizeId(id));
55
+ }
56
+ function addTainted(id) {
57
+ tainted.add(canonicalizeId(id));
58
+ }
59
+ return {
60
+ name: "vinext:middleware-server-only",
61
+ // @vitejs/plugin-rsc's `rsc:validate-imports` (which is a normal-priority
62
+ enforce: "pre",
63
+ buildStart() {
64
+ tainted.clear();
65
+ const middlewarePath = options.getMiddlewarePath();
66
+ if (middlewarePath) addTainted(middlewarePath);
67
+ const canonical = options.getCanonicalMiddlewarePath();
68
+ if (canonical) addTainted(canonical);
69
+ },
70
+ resolveId: {
71
+ order: "pre",
72
+ async handler(id, importer, opts) {
73
+ if (this.environment?.name === "rsc") return;
74
+ if (!importer) return;
75
+ if (!isTainted(importer)) return;
76
+ if (id === "server-only") return {
77
+ id: options.serverOnlyShimPath,
78
+ moduleSideEffects: false
79
+ };
80
+ const resolved = await this.resolve(id, importer, {
81
+ ...opts,
82
+ skipSelf: true
83
+ });
84
+ if (resolved && !resolved.external) addTainted(resolved.id);
85
+ }
86
+ }
87
+ };
88
+ }
89
+ //#endregion
90
+ export { createMiddlewareServerOnlyPlugin };
@@ -0,0 +1,27 @@
1
+ import { Alias } from "vite";
2
+
3
+ //#region src/plugins/og-asset-ownership.d.ts
4
+ type OgAssetModuleBoundary = {
5
+ assetRoot: string;
6
+ moduleDir: string;
7
+ };
8
+ declare class OgAssetOwnership {
9
+ private projectRoot;
10
+ private readonly linkedPackageRoots;
11
+ private readonly dependencyPackageNames;
12
+ private readonly stringAliasesByFirstCharacter;
13
+ private regularExpressionAliases;
14
+ private configuredAliases;
15
+ configure(projectRoot: string, aliases: readonly Alias[]): void;
16
+ reset(): void;
17
+ shouldTrackImport(source: string): boolean;
18
+ recordResolvedImport(source: string, resolvedId: string): Promise<void>;
19
+ resolveModuleBoundary(moduleId: string): Promise<OgAssetModuleBoundary | null>;
20
+ resolveContainedAsset(assetRoot: string, assetPath: string): Promise<string | null>;
21
+ private findAlias;
22
+ private getExpectedPackageName;
23
+ private resolveAliasPackageRoot;
24
+ private resolveConfiguredAliasRoot;
25
+ }
26
+ //#endregion
27
+ export { OgAssetModuleBoundary, OgAssetOwnership };