vinext 0.0.44 → 0.0.46

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 (323) hide show
  1. package/dist/build/google-fonts/build-url.d.ts +10 -0
  2. package/dist/build/google-fonts/build-url.js +30 -0
  3. package/dist/build/google-fonts/build-url.js.map +1 -0
  4. package/dist/build/google-fonts/font-data.js +24985 -0
  5. package/dist/build/google-fonts/font-data.js.map +1 -0
  6. package/dist/build/google-fonts/font-metadata.d.ts +17 -0
  7. package/dist/build/google-fonts/font-metadata.js +7 -0
  8. package/dist/build/google-fonts/font-metadata.js.map +1 -0
  9. package/dist/build/google-fonts/get-axes.d.ts +7 -0
  10. package/dist/build/google-fonts/get-axes.js +39 -0
  11. package/dist/build/google-fonts/get-axes.js.map +1 -0
  12. package/dist/build/google-fonts/sort-variants.d.ts +5 -0
  13. package/dist/build/google-fonts/sort-variants.js +14 -0
  14. package/dist/build/google-fonts/sort-variants.js.map +1 -0
  15. package/dist/build/google-fonts/validate.d.ts +28 -0
  16. package/dist/build/google-fonts/validate.js +56 -0
  17. package/dist/build/google-fonts/validate.js.map +1 -0
  18. package/dist/build/layout-classification.d.ts +1 -1
  19. package/dist/build/layout-classification.js.map +1 -1
  20. package/dist/build/nitro-route-rules.d.ts +1 -1
  21. package/dist/build/nitro-route-rules.js.map +1 -1
  22. package/dist/build/precompress.d.ts +1 -1
  23. package/dist/build/precompress.js.map +1 -1
  24. package/dist/build/prerender.d.ts +1 -7
  25. package/dist/build/prerender.js +17 -6
  26. package/dist/build/prerender.js.map +1 -1
  27. package/dist/build/run-prerender.d.ts +1 -13
  28. package/dist/build/run-prerender.js +5 -1
  29. package/dist/build/run-prerender.js.map +1 -1
  30. package/dist/build/standalone.d.ts +1 -1
  31. package/dist/build/standalone.js +4 -3
  32. package/dist/build/standalone.js.map +1 -1
  33. package/dist/check.js +30 -18
  34. package/dist/check.js.map +1 -1
  35. package/dist/cli.js +4 -0
  36. package/dist/cli.js.map +1 -1
  37. package/dist/cloudflare/kv-cache-handler.d.ts +5 -0
  38. package/dist/cloudflare/kv-cache-handler.js +56 -35
  39. package/dist/cloudflare/kv-cache-handler.js.map +1 -1
  40. package/dist/cloudflare/tpr.d.ts +1 -16
  41. package/dist/cloudflare/tpr.js +1 -1
  42. package/dist/cloudflare/tpr.js.map +1 -1
  43. package/dist/config/config-matchers.js +1 -0
  44. package/dist/config/config-matchers.js.map +1 -1
  45. package/dist/config/dotenv.d.ts +1 -1
  46. package/dist/config/dotenv.js.map +1 -1
  47. package/dist/config/next-config.d.ts +38 -2
  48. package/dist/config/next-config.js +24 -0
  49. package/dist/config/next-config.js.map +1 -1
  50. package/dist/deploy.d.ts +1 -1
  51. package/dist/deploy.js +18 -23
  52. package/dist/deploy.js.map +1 -1
  53. package/dist/entries/app-rsc-entry.js +387 -1718
  54. package/dist/entries/app-rsc-entry.js.map +1 -1
  55. package/dist/entries/app-rsc-manifest.d.ts +24 -0
  56. package/dist/entries/app-rsc-manifest.js +153 -0
  57. package/dist/entries/app-rsc-manifest.js.map +1 -0
  58. package/dist/entries/pages-server-entry.js +13 -103
  59. package/dist/entries/pages-server-entry.js.map +1 -1
  60. package/dist/index.js +59 -34
  61. package/dist/index.js.map +1 -1
  62. package/dist/init.d.ts +1 -1
  63. package/dist/init.js.map +1 -1
  64. package/dist/plugins/async-hooks-stub.d.ts +1 -2
  65. package/dist/plugins/async-hooks-stub.js +2 -2
  66. package/dist/plugins/async-hooks-stub.js.map +1 -1
  67. package/dist/plugins/fonts.d.ts +1 -20
  68. package/dist/plugins/fonts.js +42 -21
  69. package/dist/plugins/fonts.js.map +1 -1
  70. package/dist/plugins/rsc-client-shim-excludes.d.ts +6 -0
  71. package/dist/plugins/rsc-client-shim-excludes.js +27 -0
  72. package/dist/plugins/rsc-client-shim-excludes.js.map +1 -0
  73. package/dist/plugins/server-externals-manifest.d.ts +1 -11
  74. package/dist/plugins/server-externals-manifest.js +1 -1
  75. package/dist/plugins/server-externals-manifest.js.map +1 -1
  76. package/dist/routing/app-router.d.ts +14 -5
  77. package/dist/routing/app-router.js +82 -5
  78. package/dist/routing/app-router.js.map +1 -1
  79. package/dist/routing/file-matcher.d.ts +1 -3
  80. package/dist/routing/file-matcher.js +1 -1
  81. package/dist/routing/file-matcher.js.map +1 -1
  82. package/dist/routing/route-pattern.d.ts +9 -0
  83. package/dist/routing/route-pattern.js +90 -0
  84. package/dist/routing/route-pattern.js.map +1 -0
  85. package/dist/routing/route-trie.js +10 -11
  86. package/dist/routing/route-trie.js.map +1 -1
  87. package/dist/routing/utils.d.ts +1 -29
  88. package/dist/routing/utils.js +1 -1
  89. package/dist/routing/utils.js.map +1 -1
  90. package/dist/server/app-browser-entry.js +63 -5
  91. package/dist/server/app-browser-entry.js.map +1 -1
  92. package/dist/server/app-browser-state.d.ts +1 -1
  93. package/dist/server/app-browser-state.js.map +1 -1
  94. package/dist/server/app-browser-stream.d.ts +1 -1
  95. package/dist/server/app-browser-stream.js.map +1 -1
  96. package/dist/server/app-elements.d.ts +1 -2
  97. package/dist/server/app-elements.js +1 -1
  98. package/dist/server/app-elements.js.map +1 -1
  99. package/dist/server/app-middleware.d.ts +32 -0
  100. package/dist/server/app-middleware.js +147 -0
  101. package/dist/server/app-middleware.js.map +1 -0
  102. package/dist/server/app-page-boundary-render.d.ts +5 -1
  103. package/dist/server/app-page-boundary-render.js +52 -30
  104. package/dist/server/app-page-boundary-render.js.map +1 -1
  105. package/dist/server/app-page-boundary.d.ts +13 -1
  106. package/dist/server/app-page-boundary.js +37 -17
  107. package/dist/server/app-page-boundary.js.map +1 -1
  108. package/dist/server/app-page-cache.d.ts +4 -1
  109. package/dist/server/app-page-cache.js +38 -2
  110. package/dist/server/app-page-cache.js.map +1 -1
  111. package/dist/server/app-page-dispatch.d.ts +120 -0
  112. package/dist/server/app-page-dispatch.js +332 -0
  113. package/dist/server/app-page-dispatch.js.map +1 -0
  114. package/dist/server/app-page-execution.d.ts +6 -3
  115. package/dist/server/app-page-execution.js +22 -10
  116. package/dist/server/app-page-execution.js.map +1 -1
  117. package/dist/server/app-page-head.d.ts +55 -0
  118. package/dist/server/app-page-head.js +196 -0
  119. package/dist/server/app-page-head.js.map +1 -0
  120. package/dist/server/app-page-method.d.ts +16 -0
  121. package/dist/server/app-page-method.js +30 -0
  122. package/dist/server/app-page-method.js.map +1 -0
  123. package/dist/server/app-page-params.d.ts +7 -0
  124. package/dist/server/app-page-params.js +28 -0
  125. package/dist/server/app-page-params.js.map +1 -0
  126. package/dist/server/app-page-probe.d.ts +1 -1
  127. package/dist/server/app-page-probe.js.map +1 -1
  128. package/dist/server/app-page-render.d.ts +4 -3
  129. package/dist/server/app-page-render.js +54 -8
  130. package/dist/server/app-page-render.js.map +1 -1
  131. package/dist/server/app-page-request.d.ts +5 -5
  132. package/dist/server/app-page-request.js.map +1 -1
  133. package/dist/server/app-page-response.d.ts +1 -1
  134. package/dist/server/app-page-response.js.map +1 -1
  135. package/dist/server/app-page-route-wiring.d.ts +15 -11
  136. package/dist/server/app-page-route-wiring.js +31 -9
  137. package/dist/server/app-page-route-wiring.js.map +1 -1
  138. package/dist/server/app-page-stream.d.ts +12 -1
  139. package/dist/server/app-page-stream.js +10 -4
  140. package/dist/server/app-page-stream.js.map +1 -1
  141. package/dist/server/app-prerender-endpoints.d.ts +19 -0
  142. package/dist/server/app-prerender-endpoints.js +96 -0
  143. package/dist/server/app-prerender-endpoints.js.map +1 -0
  144. package/dist/server/app-prerender-static-params.d.ts +16 -0
  145. package/dist/server/app-prerender-static-params.js +14 -0
  146. package/dist/server/app-prerender-static-params.js.map +1 -0
  147. package/dist/server/app-route-handler-cache.d.ts +4 -1
  148. package/dist/server/app-route-handler-cache.js +6 -2
  149. package/dist/server/app-route-handler-cache.js.map +1 -1
  150. package/dist/server/app-route-handler-dispatch.d.ts +42 -0
  151. package/dist/server/app-route-handler-dispatch.js +147 -0
  152. package/dist/server/app-route-handler-dispatch.js.map +1 -0
  153. package/dist/server/app-route-handler-execution.d.ts +7 -3
  154. package/dist/server/app-route-handler-execution.js +32 -6
  155. package/dist/server/app-route-handler-execution.js.map +1 -1
  156. package/dist/server/app-route-handler-policy.d.ts +6 -2
  157. package/dist/server/app-route-handler-policy.js +8 -3
  158. package/dist/server/app-route-handler-policy.js.map +1 -1
  159. package/dist/server/app-route-handler-response.d.ts +2 -1
  160. package/dist/server/app-route-handler-response.js +44 -4
  161. package/dist/server/app-route-handler-response.js.map +1 -1
  162. package/dist/server/app-route-handler-runtime.d.ts +5 -2
  163. package/dist/server/app-route-handler-runtime.js +108 -2
  164. package/dist/server/app-route-handler-runtime.js.map +1 -1
  165. package/dist/server/app-router-entry.js.map +1 -1
  166. package/dist/server/app-rsc-errors.d.ts +27 -0
  167. package/dist/server/app-rsc-errors.js +42 -0
  168. package/dist/server/app-rsc-errors.js.map +1 -0
  169. package/dist/server/app-rsc-route-matching.d.ts +40 -0
  170. package/dist/server/app-rsc-route-matching.js +66 -0
  171. package/dist/server/app-rsc-route-matching.js.map +1 -0
  172. package/dist/server/app-server-action-execution.d.ts +120 -0
  173. package/dist/server/app-server-action-execution.js +355 -0
  174. package/dist/server/app-server-action-execution.js.map +1 -0
  175. package/dist/server/app-ssr-entry.d.ts +7 -0
  176. package/dist/server/app-ssr-entry.js +30 -9
  177. package/dist/server/app-ssr-entry.js.map +1 -1
  178. package/dist/server/app-ssr-stream.d.ts +5 -3
  179. package/dist/server/app-ssr-stream.js +29 -2
  180. package/dist/server/app-ssr-stream.js.map +1 -1
  181. package/dist/server/app-static-generation.d.ts +15 -0
  182. package/dist/server/app-static-generation.js +20 -0
  183. package/dist/server/app-static-generation.js.map +1 -0
  184. package/dist/server/csp.d.ts +1 -2
  185. package/dist/server/csp.js +1 -1
  186. package/dist/server/csp.js.map +1 -1
  187. package/dist/server/dev-module-runner.d.ts +1 -1
  188. package/dist/server/dev-module-runner.js.map +1 -1
  189. package/dist/server/dev-route-files.d.ts +7 -0
  190. package/dist/server/dev-route-files.js +73 -0
  191. package/dist/server/dev-route-files.js.map +1 -0
  192. package/dist/server/dev-server.js +4 -0
  193. package/dist/server/dev-server.js.map +1 -1
  194. package/dist/server/file-based-metadata.d.ts +17 -0
  195. package/dist/server/file-based-metadata.js +356 -0
  196. package/dist/server/file-based-metadata.js.map +1 -0
  197. package/dist/server/implicit-tags.d.ts +6 -0
  198. package/dist/server/implicit-tags.js +42 -0
  199. package/dist/server/implicit-tags.js.map +1 -0
  200. package/dist/server/instrumentation.js.map +1 -1
  201. package/dist/server/isr-cache.d.ts +20 -2
  202. package/dist/server/isr-cache.js +58 -7
  203. package/dist/server/isr-cache.js.map +1 -1
  204. package/dist/server/metadata-route-build-data.d.ts +25 -0
  205. package/dist/server/metadata-route-build-data.js +150 -0
  206. package/dist/server/metadata-route-build-data.js.map +1 -0
  207. package/dist/server/metadata-route-response.d.ts +17 -0
  208. package/dist/server/metadata-route-response.js +187 -0
  209. package/dist/server/metadata-route-response.js.map +1 -0
  210. package/dist/server/metadata-routes.d.ts +42 -4
  211. package/dist/server/metadata-routes.js +127 -11
  212. package/dist/server/metadata-routes.js.map +1 -1
  213. package/dist/server/middleware-matcher.d.ts +15 -0
  214. package/dist/server/middleware-matcher.js +102 -0
  215. package/dist/server/middleware-matcher.js.map +1 -0
  216. package/dist/server/middleware-request-headers.d.ts +1 -3
  217. package/dist/server/middleware-request-headers.js +5 -4
  218. package/dist/server/middleware-request-headers.js.map +1 -1
  219. package/dist/server/middleware-runtime.d.ts +39 -0
  220. package/dist/server/middleware-runtime.js +159 -0
  221. package/dist/server/middleware-runtime.js.map +1 -0
  222. package/dist/server/middleware.d.ts +5 -37
  223. package/dist/server/middleware.js +18 -228
  224. package/dist/server/middleware.js.map +1 -1
  225. package/dist/server/pages-api-route.d.ts +1 -1
  226. package/dist/server/pages-api-route.js.map +1 -1
  227. package/dist/server/pages-i18n.d.ts +2 -3
  228. package/dist/server/pages-i18n.js +1 -1
  229. package/dist/server/pages-i18n.js.map +1 -1
  230. package/dist/server/pages-node-compat.d.ts +1 -2
  231. package/dist/server/pages-node-compat.js +1 -1
  232. package/dist/server/pages-node-compat.js.map +1 -1
  233. package/dist/server/pages-page-data.d.ts +6 -2
  234. package/dist/server/pages-page-data.js +4 -0
  235. package/dist/server/pages-page-data.js.map +1 -1
  236. package/dist/server/pages-page-response.d.ts +1 -1
  237. package/dist/server/pages-page-response.js +2 -1
  238. package/dist/server/pages-page-response.js.map +1 -1
  239. package/dist/server/prerender-work-unit-setup.d.ts +7 -0
  240. package/dist/server/prerender-work-unit-setup.js +30 -0
  241. package/dist/server/prerender-work-unit-setup.js.map +1 -0
  242. package/dist/server/prod-server.js +12 -14
  243. package/dist/server/prod-server.js.map +1 -1
  244. package/dist/server/request-pipeline.d.ts +46 -5
  245. package/dist/server/request-pipeline.js +84 -5
  246. package/dist/server/request-pipeline.js.map +1 -1
  247. package/dist/server/rsc-stream-hints.d.ts +5 -0
  248. package/dist/server/rsc-stream-hints.js +35 -0
  249. package/dist/server/rsc-stream-hints.js.map +1 -0
  250. package/dist/server/seed-cache.js.map +1 -1
  251. package/dist/server/server-action-not-found.d.ts +9 -0
  252. package/dist/server/server-action-not-found.js +40 -0
  253. package/dist/server/server-action-not-found.js.map +1 -0
  254. package/dist/server/socket-error-backstop.d.ts +17 -0
  255. package/dist/server/socket-error-backstop.js +129 -0
  256. package/dist/server/socket-error-backstop.js.map +1 -0
  257. package/dist/server/static-file-cache.d.ts +1 -1
  258. package/dist/server/static-file-cache.js.map +1 -1
  259. package/dist/shims/cache-runtime.js +16 -3
  260. package/dist/shims/cache-runtime.js.map +1 -1
  261. package/dist/shims/cache.d.ts +27 -2
  262. package/dist/shims/cache.js +135 -24
  263. package/dist/shims/cache.js.map +1 -1
  264. package/dist/shims/error-boundary.d.ts +49 -4
  265. package/dist/shims/error-boundary.js +76 -4
  266. package/dist/shims/error-boundary.js.map +1 -1
  267. package/dist/shims/fetch-cache.d.ts +10 -1
  268. package/dist/shims/fetch-cache.js +24 -4
  269. package/dist/shims/fetch-cache.js.map +1 -1
  270. package/dist/shims/font-google-base.d.ts +21 -22
  271. package/dist/shims/font-google-base.js +86 -29
  272. package/dist/shims/font-google-base.js.map +1 -1
  273. package/dist/shims/form.js +1 -1
  274. package/dist/shims/headers.d.ts +14 -2
  275. package/dist/shims/headers.js +127 -17
  276. package/dist/shims/headers.js.map +1 -1
  277. package/dist/shims/image.js +26 -8
  278. package/dist/shims/image.js.map +1 -1
  279. package/dist/shims/internal/make-hanging-promise.d.ts +16 -0
  280. package/dist/shims/internal/make-hanging-promise.js +46 -0
  281. package/dist/shims/internal/make-hanging-promise.js.map +1 -0
  282. package/dist/shims/internal/work-unit-async-storage.d.ts +26 -3
  283. package/dist/shims/internal/work-unit-async-storage.js +6 -3
  284. package/dist/shims/internal/work-unit-async-storage.js.map +1 -1
  285. package/dist/shims/link.js +1 -1
  286. package/dist/shims/metadata.d.ts +38 -26
  287. package/dist/shims/metadata.js +75 -45
  288. package/dist/shims/metadata.js.map +1 -1
  289. package/dist/shims/navigation.d.ts +17 -4
  290. package/dist/shims/navigation.js +29 -6
  291. package/dist/shims/navigation.js.map +1 -1
  292. package/dist/shims/navigation.react-server.d.ts +2 -2
  293. package/dist/shims/navigation.react-server.js +2 -2
  294. package/dist/shims/navigation.react-server.js.map +1 -1
  295. package/dist/shims/offline.d.ts +5 -0
  296. package/dist/shims/offline.js +17 -0
  297. package/dist/shims/offline.js.map +1 -0
  298. package/dist/shims/request-state-types.d.ts +2 -1
  299. package/dist/shims/root-params.d.ts +11 -0
  300. package/dist/shims/root-params.js +24 -0
  301. package/dist/shims/root-params.js.map +1 -0
  302. package/dist/shims/router.js +1 -1
  303. package/dist/shims/server.d.ts +5 -1
  304. package/dist/shims/server.js +101 -10
  305. package/dist/shims/server.js.map +1 -1
  306. package/dist/shims/thenable-params.d.ts +5 -0
  307. package/dist/shims/thenable-params.js +37 -0
  308. package/dist/shims/thenable-params.js.map +1 -0
  309. package/dist/shims/unified-request-context.d.ts +2 -1
  310. package/dist/shims/unified-request-context.js +4 -0
  311. package/dist/shims/unified-request-context.js.map +1 -1
  312. package/dist/shims/url-safety.d.ts +3 -1
  313. package/dist/shims/url-safety.js +5 -1
  314. package/dist/shims/url-safety.js.map +1 -1
  315. package/dist/utils/error-cause.d.ts +5 -0
  316. package/dist/utils/error-cause.js +97 -0
  317. package/dist/utils/error-cause.js.map +1 -0
  318. package/dist/utils/lazy-chunks.d.ts +1 -1
  319. package/dist/utils/lazy-chunks.js.map +1 -1
  320. package/package.json +6 -1
  321. package/dist/server/middleware-codegen.d.ts +0 -54
  322. package/dist/server/middleware-codegen.js +0 -414
  323. package/dist/server/middleware-codegen.js.map +0 -1
package/dist/index.js CHANGED
@@ -3,17 +3,21 @@ import { normalizePathnameForRouteMatchStrict } from "./routing/utils.js";
3
3
  import { createValidFileMatcher } from "./routing/file-matcher.js";
4
4
  import { apiRouter, invalidateRouteCache, matchRoute, pagesRouter } from "./routing/pages-router.js";
5
5
  import { buildRequestHeadersFromMiddlewareResponse } from "./server/middleware-request-headers.js";
6
- import { isExternalUrl, matchHeaders, matchRedirect, matchRewrite, proxyExternalRequest, requestContextFromRequest, sanitizeDestination } from "./config/config-matchers.js";
7
6
  import { normalizePath as normalizePath$1 } from "./server/normalize-path.js";
7
+ import { isExternalUrl, matchHeaders, matchRedirect, matchRewrite, proxyExternalRequest, requestContextFromRequest, sanitizeDestination } from "./config/config-matchers.js";
8
+ import { hasBasePath } from "./utils/base-path.js";
9
+ import { isOpenRedirectShaped } from "./server/request-pipeline.js";
8
10
  import { findMiddlewareFile, runMiddleware } from "./server/middleware.js";
9
11
  import { generateServerEntry } from "./entries/pages-server-entry.js";
10
12
  import { generateClientEntry } from "./entries/pages-client-entry.js";
11
13
  import { appRouter, invalidateAppRouteCache } from "./routing/app-router.js";
12
14
  import { findInstrumentationClientFile, findInstrumentationFile, runInstrumentation } from "./server/instrumentation.js";
13
- import { hasBasePath } from "./utils/base-path.js";
14
15
  import { logRequest, now } from "./server/request-log.js";
15
16
  import { createSSRHandler } from "./server/dev-server.js";
16
17
  import { handleApiRoute } from "./server/api-handler.js";
18
+ import { installSocketErrorBackstop } from "./server/socket-error-backstop.js";
19
+ import { scanMetadataFiles } from "./server/metadata-routes.js";
20
+ import { shouldInvalidateAppRouteFile } from "./server/dev-route-files.js";
17
21
  import { createDirectRunner } from "./server/dev-module-runner.js";
18
22
  import { validateDevRequest } from "./server/dev-origin-check.js";
19
23
  import { generateRscEntry } from "./entries/app-rsc-entry.js";
@@ -23,15 +27,14 @@ import { buildGenerateBundleReplacement, buildReasonsReplacement, collectRouteCl
23
27
  import { classifyLayoutByModuleGraph, isStaticModuleGraphResult, moduleGraphReason } from "./build/layout-classification.js";
24
28
  import { PHASE_DEVELOPMENT_SERVER, PHASE_PRODUCTION_BUILD } from "./shims/constants.js";
25
29
  import { findNextConfigPath, loadNextConfig, resolveNextConfig, resolveNextConfigInput } from "./config/next-config.js";
26
- import { isOpenRedirectShaped } from "./server/request-pipeline.js";
27
30
  import { precompressAssets } from "./build/precompress.js";
28
- import { scanMetadataFiles } from "./server/metadata-routes.js";
29
31
  import { manifestFileWithBase, manifestFilesWithBase } from "./utils/manifest-paths.js";
30
32
  import { asyncHooksStubPlugin } from "./plugins/async-hooks-stub.js";
31
33
  import { clientReferenceDedupPlugin } from "./plugins/client-reference-dedup.js";
32
34
  import { createInstrumentationClientTransformPlugin } from "./plugins/instrumentation-client.js";
33
35
  import { createOptimizeImportsPlugin } from "./plugins/optimize-imports.js";
34
36
  import { createOgInlineFetchAssetsPlugin, ogAssetsPlugin } from "./plugins/og-assets.js";
37
+ import { VINEXT_OPTIMIZE_DEPS_EXCLUDE, mergeOptimizeDepsExclude } from "./plugins/rsc-client-shim-excludes.js";
35
38
  import { createServerExternalsManifestPlugin } from "./plugins/server-externals-manifest.js";
36
39
  import { RESOLVED_VIRTUAL_GOOGLE_FONTS, VIRTUAL_GOOGLE_FONTS, createGoogleFontsPlugin, createLocalFontsPlugin, generateGoogleFontsVirtualModule, parseStaticObjectLiteral } from "./plugins/fonts.js";
37
40
  import { computeLazyChunks } from "./utils/lazy-chunks.js";
@@ -53,6 +56,7 @@ import MagicString from "magic-string";
53
56
  import tsconfigPaths from "vite-tsconfig-paths";
54
57
  import commonjs from "vite-plugin-commonjs";
55
58
  //#region src/index.ts
59
+ installSocketErrorBackstop();
56
60
  const __dirname = import.meta.dirname;
57
61
  function resolveOptionalDependency(projectRoot, specifier) {
58
62
  try {
@@ -203,12 +207,23 @@ const VIRTUAL_APP_SSR_ENTRY = "virtual:vinext-app-ssr-entry";
203
207
  const RESOLVED_APP_SSR_ENTRY = "\0" + VIRTUAL_APP_SSR_ENTRY;
204
208
  const VIRTUAL_APP_BROWSER_ENTRY = "virtual:vinext-app-browser-entry";
205
209
  const RESOLVED_APP_BROWSER_ENTRY = "\0" + VIRTUAL_APP_BROWSER_ENTRY;
210
+ const RESOLVED_ROOT_PARAMS = "\0virtual:vinext-root-params";
206
211
  /** Image file extensions handled by the vinext:image-imports plugin.
207
212
  * Shared between the Rolldown hook filter and the transform handler regex. */
208
213
  const IMAGE_EXTS = "png|jpe?g|gif|webp|avif|svg|ico|bmp|tiff?";
209
214
  /** Absolute path to vinext's shims directory, used by clientManualChunks. */
210
215
  const _shimsDir = path.resolve(__dirname, "shims") + "/";
211
216
  const _fontGoogleShimPath = resolveShimModulePath(_shimsDir, "font-google");
217
+ function isValidExportIdentifier(name) {
218
+ return /^[$A-Z_a-z][$\w]*$/.test(name);
219
+ }
220
+ function generateRootParamsModule(rootParamNames) {
221
+ const names = Array.from(new Set(rootParamNames)).filter(isValidExportIdentifier).sort();
222
+ if (names.length === 0) return "export {};\n";
223
+ const rootParamsShimPath = resolveShimModulePath(_shimsDir, "root-params");
224
+ const exports = names.map((name) => `export function ${name}() { return getRootParam(${JSON.stringify(name)}); }`).join("\n");
225
+ return `import { getRootParam } from ${JSON.stringify(rootParamsShimPath)};\n${exports}\n`;
226
+ }
212
227
  /**
213
228
  * Shims with a `.react-server.ts` variant for the RSC environment.
214
229
  * Maps import specifier → base shim name. In the RSC env, resolveId
@@ -449,6 +464,7 @@ function vinext(options = {}) {
449
464
  "next/og": path.join(shimsDir, "og"),
450
465
  "next/web-vitals": path.join(shimsDir, "web-vitals"),
451
466
  "next/amp": path.join(shimsDir, "amp"),
467
+ "next/offline": path.join(shimsDir, "offline"),
452
468
  "next/error": path.join(shimsDir, "error"),
453
469
  "next/constants": path.join(shimsDir, "constants"),
454
470
  "next/dist/shared/lib/app-router-context.shared-runtime": path.join(shimsDir, "internal", "app-router-context"),
@@ -462,6 +478,7 @@ function vinext(options = {}) {
462
478
  "next/dist/client/components/work-unit-async-storage.external": path.join(shimsDir, "internal", "work-unit-async-storage"),
463
479
  "next/dist/client/components/request-async-storage.external": path.join(shimsDir, "internal", "work-unit-async-storage"),
464
480
  "next/dist/client/components/request-async-storage": path.join(shimsDir, "internal", "work-unit-async-storage"),
481
+ "next/dist/server/request/root-params": path.join(shimsDir, "root-params"),
465
482
  "next/dist/server/config-shared": path.join(shimsDir, "internal", "utils"),
466
483
  "server-only": path.join(shimsDir, "server-only"),
467
484
  "client-only": path.join(shimsDir, "client-only"),
@@ -555,12 +572,7 @@ function vinext(options = {}) {
555
572
  }
556
573
  };
557
574
  viteConfig.optimizeDeps = {
558
- exclude: [...new Set([
559
- ...incomingExclude,
560
- "vinext",
561
- "@vercel/og",
562
- "@tailwindcss/oxide"
563
- ])],
575
+ exclude: mergeOptimizeDepsExclude(incomingExclude, VINEXT_OPTIMIZE_DEPS_EXCLUDE, ["@tailwindcss/oxide"]),
564
576
  ...incomingInclude.length > 0 ? { include: incomingInclude } : {},
565
577
  rolldownOptions: { plugins: [depOptimizeAliasPlugin] }
566
578
  };
@@ -581,11 +593,7 @@ function vinext(options = {}) {
581
593
  ...userSsrExternal === true ? {} : { noExternal: true }
582
594
  } },
583
595
  optimizeDeps: {
584
- exclude: [...new Set([
585
- ...incomingExclude,
586
- "vinext",
587
- "@vercel/og"
588
- ])],
596
+ exclude: mergeOptimizeDepsExclude(incomingExclude, VINEXT_OPTIMIZE_DEPS_EXCLUDE),
589
597
  entries: optimizeEntries
590
598
  },
591
599
  build: {
@@ -599,11 +607,7 @@ function vinext(options = {}) {
599
607
  ...userSsrExternal === true ? {} : { noExternal: true }
600
608
  } },
601
609
  optimizeDeps: {
602
- exclude: [...new Set([
603
- ...incomingExclude,
604
- "vinext",
605
- "@vercel/og"
606
- ])],
610
+ exclude: mergeOptimizeDepsExclude(incomingExclude, VINEXT_OPTIMIZE_DEPS_EXCLUDE),
607
611
  entries: optimizeEntries
608
612
  },
609
613
  build: {
@@ -614,12 +618,7 @@ function vinext(options = {}) {
614
618
  client: {
615
619
  consumer: "client",
616
620
  optimizeDeps: {
617
- exclude: [...new Set([
618
- ...incomingExclude,
619
- "vinext",
620
- "@vercel/og",
621
- ...nextServerExternal
622
- ])],
621
+ exclude: mergeOptimizeDepsExclude(incomingExclude, VINEXT_OPTIMIZE_DEPS_EXCLUDE, nextServerExternal),
623
622
  entries: optimizeEntries,
624
623
  include: [...new Set([
625
624
  ...incomingInclude,
@@ -720,6 +719,7 @@ function vinext(options = {}) {
720
719
  if (cleanId === VIRTUAL_RSC_ENTRY) return RESOLVED_RSC_ENTRY;
721
720
  if (cleanId === VIRTUAL_APP_SSR_ENTRY) return RESOLVED_APP_SSR_ENTRY;
722
721
  if (cleanId === VIRTUAL_APP_BROWSER_ENTRY) return RESOLVED_APP_BROWSER_ENTRY;
722
+ if (cleanId === "next/root-params" || cleanId === "next/root-params.js") return RESOLVED_ROOT_PARAMS;
723
723
  if (cleanId.startsWith("virtual:vinext-google-fonts?")) return RESOLVED_VIRTUAL_GOOGLE_FONTS + cleanId.slice(VIRTUAL_GOOGLE_FONTS.length);
724
724
  if (cleanId.endsWith("/" + VIRTUAL_RSC_ENTRY) || cleanId.endsWith("\\" + VIRTUAL_RSC_ENTRY)) return RESOLVED_RSC_ENTRY;
725
725
  if (cleanId.endsWith("/" + VIRTUAL_APP_SSR_ENTRY) || cleanId.endsWith("\\" + VIRTUAL_APP_SSR_ENTRY)) return RESOLVED_APP_SSR_ENTRY;
@@ -752,6 +752,7 @@ function vinext(options = {}) {
752
752
  publicFiles: scanPublicFileRoutes(root)
753
753
  }, instrumentationPath);
754
754
  }
755
+ if (id === RESOLVED_ROOT_PARAMS) return generateRootParamsModule((hasAppDir ? await appRouter(appDir, nextConfig?.pageExtensions, fileMatcher) : []).flatMap((route) => route.rootParamNames ?? []));
755
756
  if (id === RESOLVED_APP_SSR_ENTRY && hasAppDir) return generateSsrEntry(hasPagesDir);
756
757
  if (id === RESOLVED_APP_BROWSER_ENTRY && hasAppDir) return generateBrowserEntry();
757
758
  if (id.startsWith("\0virtual:vinext-google-fonts?")) return generateGoogleFontsVirtualModule(id, _fontGoogleShimPath);
@@ -902,19 +903,27 @@ function vinext(options = {}) {
902
903
  rscEnv.hot.send({ type: "full-reload" });
903
904
  }
904
905
  }
906
+ function invalidateRootParamsModule() {
907
+ for (const env of Object.values(server.environments)) {
908
+ const mod = env.moduleGraph.getModuleById(RESOLVED_ROOT_PARAMS);
909
+ if (mod) env.moduleGraph.invalidateModule(mod);
910
+ }
911
+ }
912
+ function invalidateAppRoutingModules() {
913
+ invalidateAppRouteCache();
914
+ invalidateRscEntryModule();
915
+ invalidateRootParamsModule();
916
+ }
917
+ server.httpServer?.on("connection", (socket) => {
918
+ socket.on("error", () => {});
919
+ });
905
920
  server.watcher.on("add", (filePath) => {
906
921
  if (hasPagesDir && filePath.startsWith(pagesDir) && pageExtensions.test(filePath)) invalidateRouteCache(pagesDir);
907
- if (hasAppDir && filePath.startsWith(appDir) && pageExtensions.test(filePath)) {
908
- invalidateAppRouteCache();
909
- invalidateRscEntryModule();
910
- }
922
+ if (hasAppDir && shouldInvalidateAppRouteFile(appDir, filePath, fileMatcher)) invalidateAppRoutingModules();
911
923
  });
912
924
  server.watcher.on("unlink", (filePath) => {
913
925
  if (hasPagesDir && filePath.startsWith(pagesDir) && pageExtensions.test(filePath)) invalidateRouteCache(pagesDir);
914
- if (hasAppDir && filePath.startsWith(appDir) && pageExtensions.test(filePath)) {
915
- invalidateAppRouteCache();
916
- invalidateRscEntryModule();
917
- }
926
+ if (hasAppDir && shouldInvalidateAppRouteFile(appDir, filePath, fileMatcher)) invalidateAppRoutingModules();
918
927
  });
919
928
  server.middlewares.use((req, res, next) => {
920
929
  const blockReason = validateDevRequest({
@@ -1081,6 +1090,10 @@ function vinext(options = {}) {
1081
1090
  const applyDeferredMwHeaders = () => {
1082
1091
  if (deferredMwResponseHeaders) for (const [key, value] of deferredMwResponseHeaders) res.appendHeader(key, value);
1083
1092
  };
1093
+ const applyMwRequestHeadersForExternalProxy = () => {
1094
+ if (middlewareRequestHeaders) applyRequestHeadersToNodeRequest(middlewareRequestHeaders);
1095
+ else delete req.headers["x-vinext-mw-ctx"];
1096
+ };
1084
1097
  if (middlewarePath) {
1085
1098
  const rawProto = process.env.VINEXT_TRUST_PROXY === "1" || (process.env.VINEXT_TRUSTED_HOSTS ?? "").split(",").some((h) => h.trim()) ? String(req.headers["x-forwarded-proto"] || "").split(",")[0].trim() : "";
1086
1099
  const origin = `${rawProto === "https" || rawProto === "http" ? rawProto : "http"}://${req.headers.host || "localhost"}`;
@@ -1146,6 +1159,7 @@ function vinext(options = {}) {
1146
1159
  if (nextConfig?.rewrites.beforeFiles.length) resolvedUrl = applyRewrites(pathname, nextConfig.rewrites.beforeFiles, reqCtx) ?? url;
1147
1160
  if (isExternalUrl(resolvedUrl)) {
1148
1161
  applyDeferredMwHeaders();
1162
+ applyMwRequestHeadersForExternalProxy();
1149
1163
  await proxyExternalRewriteNode(req, res, resolvedUrl);
1150
1164
  return;
1151
1165
  }
@@ -1169,6 +1183,7 @@ function vinext(options = {}) {
1169
1183
  }
1170
1184
  if (isExternalUrl(resolvedUrl)) {
1171
1185
  applyDeferredMwHeaders();
1186
+ applyMwRequestHeadersForExternalProxy();
1172
1187
  await proxyExternalRewriteNode(req, res, resolvedUrl);
1173
1188
  return;
1174
1189
  }
@@ -1185,6 +1200,7 @@ function vinext(options = {}) {
1185
1200
  if (fallbackRewrite) {
1186
1201
  if (isExternalUrl(fallbackRewrite)) {
1187
1202
  applyDeferredMwHeaders();
1203
+ applyMwRequestHeadersForExternalProxy();
1188
1204
  await proxyExternalRewriteNode(req, res, fallbackRewrite);
1189
1205
  return;
1190
1206
  }
@@ -1437,6 +1453,15 @@ function vinext(options = {}) {
1437
1453
  }
1438
1454
  };
1439
1455
  })(),
1456
+ {
1457
+ name: "vinext:hash-salt",
1458
+ apply: "build",
1459
+ augmentChunkHash() {
1460
+ if (this.environment?.name !== "client") return;
1461
+ const salt = nextConfig?.hashSalt;
1462
+ if (salt) return salt;
1463
+ }
1464
+ },
1440
1465
  (() => {
1441
1466
  const prerenderSecret = randomBytes(32).toString("hex");
1442
1467
  return {