vinext 1.3.0 → 1.3.1

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 (391) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +1 -1
  2. package/dist/build/action-owner-manifest.d.ts +3 -2
  3. package/dist/build/action-owner-manifest.js +18 -2
  4. package/dist/build/app-page-static-eligibility.d.ts +17 -1
  5. package/dist/build/app-page-static-eligibility.js +80 -13
  6. package/dist/build/clean-output.d.ts +2 -1
  7. package/dist/build/client-build-config.d.ts +13 -3
  8. package/dist/build/client-build-config.js +46 -9
  9. package/dist/build/client-reference-async.d.ts +48 -0
  10. package/dist/build/client-reference-async.js +123 -0
  11. package/dist/build/client-reference-chunks.d.ts +32 -0
  12. package/dist/build/client-reference-chunks.js +111 -0
  13. package/dist/build/client-reference-groups.d.ts +9 -1
  14. package/dist/build/client-reference-groups.js +40 -2
  15. package/dist/build/css-url-assets.d.ts +2 -1
  16. package/dist/build/google-fonts/fallback-metrics.d.ts +2 -1
  17. package/dist/build/google-fonts/find-font-files-in-css.d.ts +1 -0
  18. package/dist/build/google-fonts/find-font-files-in-css.js +17 -4
  19. package/dist/build/google-fonts/font-metadata.d.ts +2 -1
  20. package/dist/build/google-fonts/validate.d.ts +2 -1
  21. package/dist/build/inline-css.d.ts +2 -1
  22. package/dist/build/layout-classification.d.ts +2 -1
  23. package/dist/build/module-dependency-cache.d.ts +2 -1
  24. package/dist/build/next-client-runtime-manifests.d.ts +2 -1
  25. package/dist/build/precompress.d.ts +2 -1
  26. package/dist/build/precompress.js +1 -1
  27. package/dist/build/prerender-paths.d.ts +2 -1
  28. package/dist/build/prerender-phase.d.ts +2 -1
  29. package/dist/build/prerender-server-pool.js +1 -1
  30. package/dist/build/prerender.d.ts +3 -2
  31. package/dist/build/prerender.js +5 -4
  32. package/dist/build/report.d.ts +2 -1
  33. package/dist/build/route-classification-injector.d.ts +2 -1
  34. package/dist/build/route-classification-manifest.d.ts +2 -1
  35. package/dist/build/run-prerender.d.ts +2 -1
  36. package/dist/build/server-actions-encryption-key.d.ts +2 -1
  37. package/dist/build/ssr-manifest.js +25 -2
  38. package/dist/build/standalone.d.ts +2 -1
  39. package/dist/cache/cache-adapters-virtual.d.ts +2 -1
  40. package/dist/cache.js +1 -2
  41. package/dist/check.d.ts +2 -1
  42. package/dist/check.js +4 -0
  43. package/dist/cli-args.d.ts +2 -1
  44. package/dist/cli.js +2 -0
  45. package/dist/client/client-redirect-matcher.js +2 -1
  46. package/dist/client/client-redirects.d.ts +4 -3
  47. package/dist/client/client-redirects.js +2 -1
  48. package/dist/client/client-rewrites.d.ts +2 -1
  49. package/dist/client/dev-error-overlay-store.d.ts +2 -1
  50. package/dist/client/index.js +1 -2
  51. package/dist/client/instrumentation-client-state.js +5 -5
  52. package/dist/client/navigation-runtime.d.ts +3 -1
  53. package/dist/client/navigation-runtime.js +1 -1
  54. package/dist/client/pages-router-link-navigation.d.ts +2 -1
  55. package/dist/client/vinext-next-data.d.ts +25 -1
  56. package/dist/client/window-next.d.ts +2 -1
  57. package/dist/config/config-matchers.d.ts +12 -1
  58. package/dist/config/config-matchers.js +111 -16
  59. package/dist/config/dotenv.d.ts +2 -1
  60. package/dist/config/next-config.d.ts +13 -1
  61. package/dist/config/next-config.js +29 -4
  62. package/dist/config/tsconfig-paths.d.ts +2 -1
  63. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/detector.js +23 -0
  64. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/index.js +2 -0
  65. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/lookup.js +25 -0
  66. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/bmp.js +11 -0
  67. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/cur.js +15 -0
  68. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/dds.js +11 -0
  69. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/gif.js +12 -0
  70. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/heif.js +55 -0
  71. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/icns.js +76 -0
  72. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/ico.js +39 -0
  73. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/index.js +46 -0
  74. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/j2c.js +11 -0
  75. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jp2.js +21 -0
  76. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jpg.js +71 -0
  77. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jxl-stream.js +42 -0
  78. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jxl.js +46 -0
  79. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/ktx.js +19 -0
  80. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/png.js +28 -0
  81. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/pnm.js +54 -0
  82. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/psd.js +11 -0
  83. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/svg.js +79 -0
  84. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/tga.js +15 -0
  85. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/tiff.js +96 -0
  86. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/utils.js +53 -0
  87. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/webp.js +45 -0
  88. package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/utils/bit-reader.js +38 -0
  89. package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +2 -2
  90. package/dist/entries/app-browser-entry.d.ts +20 -5
  91. package/dist/entries/app-browser-entry.js +79 -6
  92. package/dist/entries/app-rsc-entry.d.ts +2 -1
  93. package/dist/entries/app-rsc-entry.js +42 -12
  94. package/dist/entries/app-rsc-manifest.d.ts +2 -1
  95. package/dist/entries/app-rsc-manifest.js +53 -0
  96. package/dist/entries/pages-entry-helpers.js +1 -2
  97. package/dist/entries/pages-server-entry.d.ts +2 -1
  98. package/dist/entries/pages-server-entry.js +1 -1
  99. package/dist/entries/runtime-entry-module.d.ts +1 -0
  100. package/dist/entries/runtime-entry-module.js +4 -1
  101. package/dist/image/image-adapters-virtual.d.ts +2 -1
  102. package/dist/index.js +102 -34
  103. package/dist/plugins/client-compile-hints.d.ts +30 -0
  104. package/dist/plugins/client-compile-hints.js +88 -0
  105. package/dist/plugins/client-reference-dedup.d.ts +2 -1
  106. package/dist/plugins/cloudflare-dev-module-urls.d.ts +2 -1
  107. package/dist/plugins/dynamic-preload-metadata.d.ts +3 -1
  108. package/dist/plugins/dynamic-preload-metadata.js +1 -1
  109. package/dist/plugins/environment.d.ts +2 -1
  110. package/dist/plugins/fonts.js +9 -12
  111. package/dist/plugins/ignore-dynamic-requests.d.ts +2 -1
  112. package/dist/plugins/import-meta-url.d.ts +2 -1
  113. package/dist/plugins/og-assets.d.ts +2 -1
  114. package/dist/plugins/og-assets.js +2 -3
  115. package/dist/plugins/optimize-imports.d.ts +2 -1
  116. package/dist/plugins/pages-node-externals.d.ts +2 -1
  117. package/dist/plugins/remove-console.d.ts +2 -1
  118. package/dist/plugins/require-condition-resolution.d.ts +2 -1
  119. package/dist/plugins/rsc-client-reference-loaders.d.ts +8 -0
  120. package/dist/plugins/rsc-client-reference-loaders.js +170 -68
  121. package/dist/plugins/rsc-client-shim-excludes.js +2 -0
  122. package/dist/plugins/sass.d.ts +2 -1
  123. package/dist/plugins/strip-server-exports.d.ts +2 -1
  124. package/dist/plugins/styled-jsx.d.ts +2 -1
  125. package/dist/plugins/transform-result.d.ts +2 -1
  126. package/dist/plugins/typeof-window.d.ts +2 -1
  127. package/dist/plugins/worker-image-imports.js +1 -1
  128. package/dist/plugins/worker-use-server.d.ts +2 -1
  129. package/dist/routing/app-route-graph.d.ts +40 -0
  130. package/dist/routing/app-route-graph.js +122 -50
  131. package/dist/routing/browser-route-manifest.d.ts +2 -1
  132. package/dist/routing/optimistic-route-trie.d.ts +2 -1
  133. package/dist/routing/route-matching.d.ts +2 -1
  134. package/dist/routing/route-pattern.d.ts +2 -1
  135. package/dist/server/accept-encoding.d.ts +2 -1
  136. package/dist/server/app-action-forwarding.d.ts +2 -1
  137. package/dist/server/app-bfcache-identity.d.ts +2 -1
  138. package/dist/server/app-browser-action-result.d.ts +2 -1
  139. package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -1
  140. package/dist/server/app-browser-entry.js +30 -6
  141. package/dist/server/app-browser-error.d.ts +2 -1
  142. package/dist/server/app-browser-history-controller.d.ts +2 -1
  143. package/dist/server/app-browser-hydration.d.ts +2 -1
  144. package/dist/server/app-browser-interception-context.d.ts +2 -1
  145. package/dist/server/app-browser-navigation-controller.js +15 -10
  146. package/dist/server/app-browser-popstate.d.ts +2 -1
  147. package/dist/server/app-browser-rsc-redirect.d.ts +2 -1
  148. package/dist/server/app-browser-server-action-client.d.ts +2 -1
  149. package/dist/server/app-browser-state.js +1 -1
  150. package/dist/server/app-browser-stream.d.ts +2 -1
  151. package/dist/server/app-browser-visible-commit.d.ts +2 -1
  152. package/dist/server/app-client-reference-manifest.d.ts +31 -0
  153. package/dist/server/app-client-reference-manifest.js +46 -0
  154. package/dist/server/app-client-reference-preloader.d.ts +25 -5
  155. package/dist/server/app-client-reference-preloader.js +22 -7
  156. package/dist/server/app-elements-wire.d.ts +2 -1
  157. package/dist/server/app-elements.d.ts +2 -0
  158. package/dist/server/app-elements.js +3 -1
  159. package/dist/server/app-fallback-renderer.d.ts +9 -2
  160. package/dist/server/app-fallback-renderer.js +4 -1
  161. package/dist/server/app-history-state.d.ts +2 -1
  162. package/dist/server/app-inline-css-client.d.ts +2 -1
  163. package/dist/server/app-layout-param-observation.d.ts +2 -1
  164. package/dist/server/app-metadata-tracing.d.ts +2 -1
  165. package/dist/server/app-optimistic-routing.d.ts +18 -1
  166. package/dist/server/app-optimistic-routing.js +34 -1
  167. package/dist/server/app-page-boundary-render.d.ts +20 -2
  168. package/dist/server/app-page-boundary-render.js +221 -38
  169. package/dist/server/app-page-boundary.d.ts +34 -5
  170. package/dist/server/app-page-boundary.js +40 -7
  171. package/dist/server/app-page-cache-finalizer.d.ts +2 -1
  172. package/dist/server/app-page-cache-finalizer.js +1 -1
  173. package/dist/server/app-page-cache-render.d.ts +10 -2
  174. package/dist/server/app-page-cache-render.js +14 -2
  175. package/dist/server/app-page-cache.js +2 -2
  176. package/dist/server/app-page-dispatch.d.ts +34 -1
  177. package/dist/server/app-page-dispatch.js +163 -34
  178. package/dist/server/app-page-element-builder.d.ts +17 -1
  179. package/dist/server/app-page-element-builder.js +187 -66
  180. package/dist/server/app-page-execution.d.ts +28 -1
  181. package/dist/server/app-page-execution.js +114 -5
  182. package/dist/server/app-page-head.d.ts +95 -3
  183. package/dist/server/app-page-head.js +307 -152
  184. package/dist/server/app-page-http-access-fallback-metadata.d.ts +48 -2
  185. package/dist/server/app-page-http-access-fallback-metadata.js +76 -1
  186. package/dist/server/app-page-method.d.ts +2 -1
  187. package/dist/server/app-page-probe.d.ts +2 -1
  188. package/dist/server/app-page-render-identity.d.ts +2 -1
  189. package/dist/server/app-page-render.d.ts +7 -1
  190. package/dist/server/app-page-render.js +35 -10
  191. package/dist/server/app-page-request.d.ts +14 -1
  192. package/dist/server/app-page-request.js +1 -1
  193. package/dist/server/app-page-route-wiring.d.ts +52 -2
  194. package/dist/server/app-page-route-wiring.js +197 -47
  195. package/dist/server/app-page-rsc-render-status.d.ts +2 -1
  196. package/dist/server/app-page-search-params-observation.d.ts +7 -2
  197. package/dist/server/app-page-search-params-observation.js +8 -1
  198. package/dist/server/app-page-segment-plan.d.ts +2 -1
  199. package/dist/server/app-page-stream.d.ts +31 -1
  200. package/dist/server/app-page-stream.js +23 -4
  201. package/dist/server/app-pages-bridge.d.ts +2 -1
  202. package/dist/server/app-ppr-fallback-shell-render.d.ts +2 -1
  203. package/dist/server/app-ppr-fallback-shell.d.ts +2 -1
  204. package/dist/server/app-prerender-endpoints.d.ts +2 -1
  205. package/dist/server/app-prerender-static-params.d.ts +2 -1
  206. package/dist/server/app-render-dependency.d.ts +11 -1
  207. package/dist/server/app-render-dependency.js +26 -7
  208. package/dist/server/app-request-stage-independent-entry.d.ts +2 -1
  209. package/dist/server/app-response-stage-entry.d.ts +2 -1
  210. package/dist/server/app-route-handler-cache.d.ts +2 -1
  211. package/dist/server/app-route-handler-dispatch.d.ts +2 -1
  212. package/dist/server/app-route-handler-dispatch.js +1 -1
  213. package/dist/server/app-route-handler-execution.d.ts +2 -1
  214. package/dist/server/app-route-handler-response.d.ts +2 -1
  215. package/dist/server/app-route-handler-runtime.d.ts +2 -1
  216. package/dist/server/app-route-module-loader.d.ts +18 -1
  217. package/dist/server/app-route-module-loader.js +8 -0
  218. package/dist/server/app-route-tree-prefetch.d.ts +2 -1
  219. package/dist/server/app-rsc-error-handler.d.ts +2 -1
  220. package/dist/server/app-rsc-errors.d.ts +2 -1
  221. package/dist/server/app-rsc-handler.d.ts +2 -1
  222. package/dist/server/app-rsc-handler.js +6 -10
  223. package/dist/server/app-rsc-response-finalizer.d.ts +2 -1
  224. package/dist/server/app-rsc-route-matching.d.ts +38 -1
  225. package/dist/server/app-rsc-route-matching.js +24 -0
  226. package/dist/server/app-segment-config.d.ts +2 -1
  227. package/dist/server/app-segment-config.js +1 -14
  228. package/dist/server/app-server-action-execution.d.ts +2 -1
  229. package/dist/server/app-server-action-execution.js +3 -3
  230. package/dist/server/app-ssr-entry.d.ts +6 -0
  231. package/dist/server/app-ssr-entry.js +91 -44
  232. package/dist/server/app-ssr-error-meta.d.ts +2 -1
  233. package/dist/server/app-ssr-search-params-gate.d.ts +2 -1
  234. package/dist/server/app-ssr-stream.d.ts +22 -10
  235. package/dist/server/app-ssr-stream.js +299 -67
  236. package/dist/server/app-static-generation.d.ts +2 -1
  237. package/dist/server/app-streamed-client-references.d.ts +39 -0
  238. package/dist/server/app-streamed-client-references.js +156 -0
  239. package/dist/server/app-visited-response-cache.d.ts +2 -1
  240. package/dist/server/app-worker-stages.d.ts +2 -1
  241. package/dist/server/artifact-compatibility.d.ts +2 -1
  242. package/dist/server/bfcache-identity.d.ts +2 -1
  243. package/dist/server/cache-headers.d.ts +2 -1
  244. package/dist/server/cacheability-request.d.ts +2 -1
  245. package/dist/server/client-reuse-manifest.d.ts +2 -1
  246. package/dist/server/config-headers.d.ts +2 -1
  247. package/dist/server/csp.d.ts +2 -1
  248. package/dist/server/default-global-not-found-module.d.ts +2 -1
  249. package/dist/server/default-http-access-fallback-modules.d.ts +33 -0
  250. package/dist/server/default-http-access-fallback-modules.js +31 -0
  251. package/dist/server/defer-until-stream-consumed.d.ts +34 -0
  252. package/dist/server/defer-until-stream-consumed.js +154 -21
  253. package/dist/server/dev-lockfile.d.ts +32 -2
  254. package/dist/server/dev-lockfile.js +46 -2
  255. package/dist/server/dev-module-runner.d.ts +2 -1
  256. package/dist/server/dev-server.js +10 -3
  257. package/dist/server/fetch-handler.js +1 -2
  258. package/dist/server/file-based-metadata.d.ts +2 -1
  259. package/dist/server/framework-tracer.d.ts +2 -1
  260. package/dist/server/html.d.ts +1 -0
  261. package/dist/server/html.js +19 -1
  262. package/dist/server/http-conditional.d.ts +2 -1
  263. package/dist/server/http-error-responses.d.ts +2 -1
  264. package/dist/server/implicit-tags.d.ts +2 -1
  265. package/dist/server/metadata-route-build-data.d.ts +2 -1
  266. package/dist/server/metadata-route-build-data.js +1 -1
  267. package/dist/server/metadata-route-response.d.ts +2 -1
  268. package/dist/server/metadata-route-response.js +1 -1
  269. package/dist/server/metadata-routes.d.ts +2 -1
  270. package/dist/server/middleware-runtime.d.ts +2 -1
  271. package/dist/server/navigation-trace.d.ts +2 -1
  272. package/dist/server/next-error-digest.d.ts +2 -1
  273. package/dist/server/nitro-public-files-plugin.d.ts +2 -1
  274. package/dist/server/nitro-public-files.d.ts +2 -1
  275. package/dist/server/opentelemetry-api.d.ts +2 -1
  276. package/dist/server/operation-token.d.ts +2 -1
  277. package/dist/server/pages-api-route.d.ts +2 -1
  278. package/dist/server/pages-asset-tags.d.ts +2 -1
  279. package/dist/server/pages-body-parser-config.d.ts +2 -1
  280. package/dist/server/pages-client-assets.d.ts +4 -0
  281. package/dist/server/pages-data-route.d.ts +2 -1
  282. package/dist/server/pages-document-asset-props.d.ts +2 -1
  283. package/dist/server/pages-document-initial-props.d.ts +2 -1
  284. package/dist/server/pages-execution-tracing.d.ts +2 -1
  285. package/dist/server/pages-execution-tracing.js +1 -1
  286. package/dist/server/pages-get-initial-props.d.ts +2 -1
  287. package/dist/server/pages-page-data.d.ts +7 -1
  288. package/dist/server/pages-page-data.js +35 -12
  289. package/dist/server/pages-page-handler.d.ts +3 -2
  290. package/dist/server/pages-page-handler.js +16 -7
  291. package/dist/server/pages-page-method.d.ts +2 -1
  292. package/dist/server/pages-page-response.d.ts +2 -1
  293. package/dist/server/pages-preview.d.ts +2 -1
  294. package/dist/server/pages-readiness.d.ts +2 -1
  295. package/dist/server/pages-request-pipeline.d.ts +2 -1
  296. package/dist/server/pages-request-pipeline.js +4 -5
  297. package/dist/server/pages-request-stage-entry.d.ts +2 -1
  298. package/dist/server/pages-response-stage-entry.d.ts +2 -1
  299. package/dist/server/pages-route-data-kind.d.ts +2 -1
  300. package/dist/server/prerender-cache-life-header.d.ts +2 -1
  301. package/dist/server/prerender-route-params.d.ts +2 -1
  302. package/dist/server/prod-server.js +9 -3
  303. package/dist/server/request-log.d.ts +2 -1
  304. package/dist/server/request-tracing.d.ts +2 -1
  305. package/dist/server/request-tracing.js +1 -1
  306. package/dist/server/response-start-tracing.js +7 -29
  307. package/dist/server/rsc-render-stream.d.ts +4 -0
  308. package/dist/server/rsc-render-stream.js +25 -0
  309. package/dist/server/seed-cache.d.ts +2 -1
  310. package/dist/server/seed-cache.js +1 -1
  311. package/dist/server/static-file-cache.d.ts +2 -1
  312. package/dist/server/static-file-cache.js +1 -0
  313. package/dist/server/static-layout-client-reuse-proof.d.ts +2 -1
  314. package/dist/server/worker-revalidation-context.d.ts +2 -1
  315. package/dist/server/worker-stages.d.ts +2 -1
  316. package/dist/shims/app.d.ts +2 -1
  317. package/dist/shims/cache-callable-runtime.d.ts +2 -1
  318. package/dist/shims/cache-handler.d.ts +8 -3
  319. package/dist/shims/cache-handler.js +29 -9
  320. package/dist/shims/caught-not-found-boundaries.d.ts +15 -0
  321. package/dist/shims/caught-not-found-boundaries.js +48 -0
  322. package/dist/shims/cdn-purge-routes.d.ts +2 -1
  323. package/dist/shims/client-locale.js +2 -1
  324. package/dist/shims/client-page-root.d.ts +2 -1
  325. package/dist/shims/config.d.ts +2 -1
  326. package/dist/shims/default-forbidden.d.ts +4 -0
  327. package/dist/shims/default-forbidden.js +18 -0
  328. package/dist/shims/default-not-found.d.ts +0 -5
  329. package/dist/shims/default-not-found.js +5 -41
  330. package/dist/shims/default-unauthorized.d.ts +4 -0
  331. package/dist/shims/default-unauthorized.js +18 -0
  332. package/dist/shims/error-boundary.d.ts +39 -3
  333. package/dist/shims/error-boundary.js +31 -16
  334. package/dist/shims/font-google.js +1 -2
  335. package/dist/shims/font-utils.d.ts +3 -2
  336. package/dist/shims/font-utils.js +5 -3
  337. package/dist/shims/form.js +1 -1
  338. package/dist/shims/http-access-error-fallback.d.ts +7 -0
  339. package/dist/shims/http-access-error-fallback.js +47 -0
  340. package/dist/shims/image.d.ts +1 -22
  341. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +22 -2
  342. package/dist/shims/internal/app-prefetch-fetch-queue.js +71 -18
  343. package/dist/shims/internal/app-route-prefetch-policy.d.ts +14 -3
  344. package/dist/shims/internal/app-route-prefetch-policy.js +29 -4
  345. package/dist/shims/internal/cache-context-accessor.d.ts +2 -1
  346. package/dist/shims/internal/client-reference-loader.d.ts +7 -0
  347. package/dist/shims/internal/client-reference-loader.js +91 -0
  348. package/dist/shims/internal/cookie-serialize.d.ts +2 -1
  349. package/dist/shims/internal/cookies.js +1 -2
  350. package/dist/shims/internal/headers-state.d.ts +2 -0
  351. package/dist/shims/internal/headers-state.js +6 -1
  352. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +2 -1
  353. package/dist/shims/internal/interpolate-as.d.ts +2 -1
  354. package/dist/shims/internal/pages-data-target.d.ts +2 -1
  355. package/dist/shims/internal/pages-data-url.d.ts +2 -1
  356. package/dist/shims/internal/thenable-well-known-properties.d.ts +2 -1
  357. package/dist/shims/link.js +195 -52
  358. package/dist/shims/metadata.d.ts +32 -11
  359. package/dist/shims/metadata.js +88 -26
  360. package/dist/shims/navigation-errors.d.ts +2 -1
  361. package/dist/shims/navigation.d.ts +22 -2
  362. package/dist/shims/navigation.js +74 -20
  363. package/dist/shims/pages-router-runtime.d.ts +2 -1
  364. package/dist/shims/ppr-fallback-shell.d.ts +2 -1
  365. package/dist/shims/router.js +14 -3
  366. package/dist/shims/unified-request-context.js +3 -3
  367. package/dist/typegen.d.ts +2 -1
  368. package/dist/utils/client-build-manifest.d.ts +4 -1
  369. package/dist/utils/client-build-manifest.js +9 -2
  370. package/dist/utils/client-entry-manifest.d.ts +13 -0
  371. package/dist/utils/client-entry-manifest.js +20 -1
  372. package/dist/utils/client-reference-chunks.d.ts +45 -0
  373. package/dist/utils/client-reference-chunks.js +30 -0
  374. package/dist/utils/client-runtime-metadata.d.ts +9 -1
  375. package/dist/utils/client-runtime-metadata.js +40 -9
  376. package/dist/utils/compare.d.ts +9 -0
  377. package/dist/utils/compare.js +15 -1
  378. package/dist/utils/lazy-chunks.d.ts +14 -0
  379. package/dist/utils/lazy-chunks.js +27 -1
  380. package/dist/utils/middleware-request-headers.d.ts +2 -1
  381. package/dist/utils/project.d.ts +2 -1
  382. package/dist/utils/project.js +9 -1
  383. package/dist/utils/query.d.ts +2 -1
  384. package/dist/utils/sorted-array.d.ts +2 -1
  385. package/dist/utils/vite-cli-invocation.d.ts +2 -1
  386. package/package.json +5 -5
  387. package/dist/deps/.pnpm/image-size@2.0.2/deps/image-size/dist/index.js +0 -808
  388. package/dist/server/default-not-found-module.d.ts +0 -19
  389. package/dist/server/default-not-found-module.js +0 -18
  390. package/dist/server/rsc-stream-hints.d.ts +0 -21
  391. package/dist/server/rsc-stream-hints.js +0 -227
@@ -1,15 +1,25 @@
1
1
  import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
2
+ import { magicStringTransformResult, omitUnusedBuildSourcemap } from "./transform-result.js";
3
+ import { resolveShimRuntimeModule } from "../entries/runtime-entry-module.js";
2
4
  import { CLIENT_REFERENCE_GROUP_MAX_COST_BYTES, collectClientReferencePreloadPlan, collectClientReferenceRouteSignatures, measureClientReferenceGroupCosts, planClientReferenceGroups, readClientModuleBindings } from "../build/client-reference-groups.js";
3
- import { hasUserClientChunkGroups } from "../build/client-build-config.js";
5
+ import { collectAsyncModules, createSideEffectsDeclarationCheck } from "../build/client-reference-async.js";
6
+ import { RESOLVED_EAGER_CLIENT_REFERENCES_ID, hasUserClientChunkGroups } from "../build/client-build-config.js";
4
7
  import fs from "node:fs";
5
8
  import { isCSSRequest } from "vite";
9
+ import { randomBytes } from "node:crypto";
10
+ import MagicString from "magic-string";
6
11
  //#region src/plugins/rsc-client-reference-loaders.ts
7
12
  const CLIENT_REFERENCES_ID = "\0virtual:vite-rsc/client-references";
8
13
  const RESOLVED_ID_PROXY_PREFIX = "virtual:vite-rsc/resolved-id/";
9
14
  const RESOLVED_CLIENT_REFERENCE_GROUP_PREFIX = `\0virtual:vinext-client-reference-group-`;
15
+ /** Prefixes the module that registers one client reference outside every group. */
16
+ const RESOLVED_CLIENT_REFERENCE_MODULE_PREFIX = `\0virtual:vinext-client-reference-module/`;
10
17
  const CLIENT_REFERENCES_ID_RE = /^\0virtual:vite-rsc\/client-references$/;
11
- const CLIENT_REFERENCE_GROUP_RE = /^virtual:vinext-client-reference-group-/;
12
- const RESOLVED_CLIENT_REFERENCE_GROUP_RE = /^\0virtual:vinext-client-reference-group-/;
18
+ const CLIENT_REFERENCE_MODULE_RE = /^virtual:vinext-client-reference-(?:group-|module\/)|^virtual:vinext-client-reference-(?:chunks|eager)$/;
19
+ const RESOLVED_CLIENT_REFERENCE_MODULE_RE = /^\0virtual:vinext-client-reference-(?:group-|module\/)|^\0virtual:vinext-client-reference-(?:chunks|eager)$/;
20
+ const CLIENT_REFERENCE_CHUNKS_ID = "virtual:vinext-client-reference-chunks";
21
+ const RESOLVED_CLIENT_REFERENCE_CHUNKS_ID = `\0${CLIENT_REFERENCE_CHUNKS_ID}`;
22
+ const NO_ROUTE_CLIENT_REFERENCES_EXPORT = "export const routeClientReferences = null;\n";
13
23
  /**
14
24
  * Whether the cost estimate loads a module. Rolldown keeps externals and
15
25
  * unresolved `require()`s in `importedIds` under their specifier (a bare name
@@ -47,50 +57,73 @@ function withResolvedIdProxy(resolvedId) {
47
57
  function sortedRenderedExports(meta) {
48
58
  return meta.renderedExports.slice().sort();
49
59
  }
50
- function groupExportName(slotIndex, exportIndex) {
51
- return `r${slotIndex}_${exportIndex}`;
60
+ /**
61
+ * The exports of a client reference, read from the module namespace `binding`.
62
+ * Keep them lazy. In async or cyclic client module evaluation, eagerly copying
63
+ * module namespace values can observe an uninitialized binding.
64
+ */
65
+ function generateClientReferenceObject(meta, binding) {
66
+ const exports = sortedRenderedExports(meta).map((name) => ` get ${JSON.stringify(name)}() { return ${binding}[${JSON.stringify(name)}]; },`).join("\n");
67
+ return exports ? `{\n${exports}\n}` : "{}";
52
68
  }
53
- function generateClientReferenceObject(meta, slot) {
54
- const exports = sortedRenderedExports(meta).map((name, exportIndex) => {
55
- const value = slot ? `m.${groupExportName(slot.index, exportIndex)}` : `m[${JSON.stringify(name)}]`;
56
- return ` get ${JSON.stringify(name)}() { return ${value}; },`;
57
- }).join("\n");
58
- return exports ? `{\n${exports}\n }` : "{}";
69
+ function generateClientReferenceLoaders(metas) {
70
+ return `export default {\n${metas.slice().sort((a, b) => a.referenceKey.localeCompare(b.referenceKey)).map((meta) => [
71
+ `${JSON.stringify(meta.referenceKey)}: async () => {`,
72
+ ` const m = await import(${JSON.stringify(withResolvedIdProxy(meta.importId))});`,
73
+ ` return ${generateClientReferenceObject(meta, "m")};`,
74
+ `},`
75
+ ].join("\n")).join("\n")}\n};\n`;
59
76
  }
60
- function generateClientReferenceLoaders(metas, slots = /* @__PURE__ */ new Map()) {
61
- return `export default {\n${metas.slice().sort((a, b) => a.referenceKey.localeCompare(b.referenceKey)).map((meta) => {
62
- const slot = slots.get(meta);
63
- const source = slot ? slot.groupId : withResolvedIdProxy(meta.importId);
64
- return [
65
- ` ${JSON.stringify(meta.referenceKey)}: async () => {`,
66
- ` const m = await import(${JSON.stringify(source)});`,
67
- ` return ${generateClientReferenceObject(meta, slot)};`,
68
- ` },`
69
- ].join("\n");
70
- }).join("\n")}\n};\n`;
77
+ /**
78
+ * The client build's client-references module, which the App browser entry
79
+ * imports. It names no client reference chunk, so the entry neither grows nor
80
+ * changes its hash with the app's client references: each reference's Flight
81
+ * row names the chunks it loads (see shims/internal/client-reference-loader.ts).
82
+ */
83
+ function generateBrowserClientReferencesModule(loaderPath, eager) {
84
+ return `${eager ? `import ${JSON.stringify(RESOLVED_EAGER_CLIENT_REFERENCES_ID.slice(1))};\n` : ""}export { clientReferences as default } from ${JSON.stringify(loaderPath)};\n`;
71
85
  }
72
86
  /**
73
- * Re-export only each member's rendered exports, as live bindings, so unused
74
- * exports and their dependencies still tree-shake as they do with direct
75
- * loaders. A member without rendered exports is imported for its side effects.
87
+ * A client build module that registers client references as it evaluates:
88
+ * a route group's members, the references in chunks every page loads, or one
89
+ * other reference outside every group. It imports
90
+ * only each member's rendered exports, so unused exports and their
91
+ * dependencies still tree-shake as they do with direct loaders. A member
92
+ * without rendered exports is imported for its side effects. The last member
93
+ * is imported last (see build/client-reference-chunks.ts).
76
94
  */
77
- function generateClientReferenceGroupModule(metas) {
78
- return `${metas.map((meta, slotIndex) => {
95
+ function generateClientReferenceModule(metas, loaderPath) {
96
+ const imports = metas.map((meta, index) => {
79
97
  const source = JSON.stringify(withResolvedIdProxy(meta.importId));
80
- const specifiers = sortedRenderedExports(meta).map((name, exportIndex) => {
81
- return `${/^[A-Za-z_$][\w$]*$/.test(name) ? name : JSON.stringify(name)} as ${groupExportName(slotIndex, exportIndex)}`;
82
- });
83
- return specifiers.length > 0 ? `export { ${specifiers.join(", ")} } from ${source};` : `import ${source};`;
84
- }).join("\n")}\n`;
98
+ return meta.renderedExports.length > 0 ? `import * as m${index} from ${source};` : `import ${source};`;
99
+ });
100
+ const registrations = metas.map((meta, index) => `registerClientReference(${JSON.stringify(meta.referenceKey)}, ${generateClientReferenceObject(meta, `m${index}`)});`);
101
+ return [
102
+ `import { registerClientReference } from ${JSON.stringify(loaderPath)};`,
103
+ ...imports,
104
+ ...registrations,
105
+ ""
106
+ ].join("\n");
107
+ }
108
+ /**
109
+ * The browser never loads this module. Its dynamic imports make each client
110
+ * reference module a chunk of its own that only a Flight row names.
111
+ */
112
+ function generateClientReferenceChunksModule(moduleIds) {
113
+ return `export default [\n${moduleIds.map((id) => ` () => import(${JSON.stringify(id.slice(1))}),`).join("\n")}\n];\n`;
85
114
  }
86
115
  /**
87
116
  * The SSR build's `routeClientReferences` export: the reference keys each route
88
117
  * preloads before it renders (see server/app-client-reference-preloader.ts),
89
118
  * stored as indices into `references`. Client references the plan doesn't know
90
- * join `always`.
119
+ * join `always`. `async` holds `asyncPlaceholder`, which renderChunk replaces
120
+ * with the candidates whose SSR modules evaluate asynchronously.
91
121
  */
92
- function generateRouteClientReferencesExport(plan, metaEntries) {
93
- if (!plan) return "export const routeClientReferences = null;\n";
122
+ function generateRouteClientReferencesExport(plan, metaEntries, asyncPlaceholder) {
123
+ if (!plan) return {
124
+ code: NO_ROUTE_CLIENT_REFERENCES_EXPORT,
125
+ asyncCandidates: []
126
+ };
94
127
  const metaById = new Map(metaEntries);
95
128
  const references = [];
96
129
  const indices = /* @__PURE__ */ new Map();
@@ -105,14 +138,28 @@ function generateRouteClientReferencesExport(plan, metaEntries) {
105
138
  }
106
139
  return [index];
107
140
  });
141
+ const always = toIndices([...plan.preloads.always, ...metaEntries.map(([referenceId]) => referenceId).filter((referenceId) => !plan.referenceIds.has(referenceId))]);
142
+ const files = plan.preloads.files.map(toIndices);
143
+ const asyncCandidates = plan.preloads.staticOnly.flatMap((referenceId) => {
144
+ const index = indices.get(referenceId);
145
+ const meta = metaById.get(referenceId);
146
+ return index === void 0 || !meta ? [] : [{
147
+ index,
148
+ importId: meta.importId
149
+ }];
150
+ });
108
151
  const manifest = {
109
152
  references,
110
- always: toIndices([...plan.preloads.always, ...metaEntries.map(([referenceId]) => referenceId).filter((referenceId) => !plan.referenceIds.has(referenceId))]),
111
- files: plan.preloads.files.map(toIndices),
153
+ always,
154
+ files,
112
155
  routes: Object.fromEntries(plan.preloads.routes),
113
- routeless: plan.preloads.routeless
156
+ routeless: plan.preloads.routeless,
157
+ async: asyncPlaceholder
158
+ };
159
+ return {
160
+ code: `export const routeClientReferences = ${JSON.stringify(manifest)};\n`,
161
+ asyncCandidates
114
162
  };
115
- return `export const routeClientReferences = ${JSON.stringify(manifest)};\n`;
116
163
  }
117
164
  /**
118
165
  * Replaces @vitejs/plugin-rsc's client-reference facades with per-reference
@@ -126,13 +173,17 @@ function generateRouteClientReferencesExport(plan, metaEntries) {
126
173
  function createRscClientReferenceLoadersPlugin(options = {}) {
127
174
  const { routes: routeOptions } = options;
128
175
  const grouping = routeOptions && options.grouping;
176
+ const loaderPath = resolveShimRuntimeModule("internal/client-reference-loader");
129
177
  let rscApi;
130
178
  let root = "";
131
179
  let groupingEnabled = false;
132
180
  let routeSignatures = /* @__PURE__ */ new Map();
133
181
  // @vitejs/plugin-rsc also builds before the SSR environment.
134
182
  let preloadPlan = null;
135
- const groupModules = /* @__PURE__ */ new Map();
183
+ const referenceModules = /* @__PURE__ */ new Map();
184
+ let asyncCandidates = [];
185
+ const asyncPlaceholder = `__vinext_async_client_references_${randomBytes(8).toString("hex")}__`;
186
+ const asyncPlaceholderRe = new RegExp(`(["'])${asyncPlaceholder}\\1`, "g");
136
187
  return {
137
188
  name: "vinext:rsc-client-reference-loaders",
138
189
  enforce: "post",
@@ -152,7 +203,10 @@ function createRscClientReferenceLoadersPlugin(options = {}) {
152
203
  routeSignatures = /* @__PURE__ */ new Map();
153
204
  preloadPlan = null;
154
205
  }
155
- if (this.environment.name === "client") groupModules.clear();
206
+ if (this.environment.name === "client") {
207
+ referenceModules.clear();
208
+ options.onClientReferenceModules?.(/* @__PURE__ */ new Map());
209
+ }
156
210
  },
157
211
  buildEnd(error) {
158
212
  if (error || !routeOptions) return;
@@ -185,15 +239,15 @@ function createRscClientReferenceLoadersPlugin(options = {}) {
185
239
  });
186
240
  },
187
241
  resolveId: {
188
- filter: { id: CLIENT_REFERENCE_GROUP_RE },
242
+ filter: { id: CLIENT_REFERENCE_MODULE_RE },
189
243
  handler(source) {
190
- return groupModules.has(`\0${source}`) ? `\0${source}` : null;
244
+ return referenceModules.has(`\0${source}`) ? `\0${source}` : null;
191
245
  }
192
246
  },
193
247
  load: {
194
- filter: { id: RESOLVED_CLIENT_REFERENCE_GROUP_RE },
248
+ filter: { id: RESOLVED_CLIENT_REFERENCE_MODULE_RE },
195
249
  handler(id) {
196
- return groupModules.get(id) ?? null;
250
+ return referenceModules.get(id) ?? null;
197
251
  }
198
252
  },
199
253
  transform: {
@@ -204,16 +258,23 @@ function createRscClientReferenceLoadersPlugin(options = {}) {
204
258
  const isServer = this.environment.config.consumer === "server";
205
259
  const metaEntries = Object.entries(manager.clientReferenceMetaMap).filter(([, meta]) => meta.serverChunk);
206
260
  const metas = metaEntries.map(([, meta]) => meta);
207
- const routeClientReferencesExport = isServer ? generateRouteClientReferencesExport(preloadPlan, metaEntries) : "";
261
+ let routeClientReferencesExport = "";
262
+ if (isServer) {
263
+ const generated = generateRouteClientReferencesExport(preloadPlan, metaEntries, asyncPlaceholder);
264
+ routeClientReferencesExport = generated.code;
265
+ asyncCandidates = generated.asyncCandidates;
266
+ }
208
267
  if (metas.length === 0) return isServer ? {
209
268
  code: `${code}\n${routeClientReferencesExport}`,
210
269
  map: null
211
270
  } : null;
212
271
  for (const [id, meta] of metaEntries) meta.groupChunkId = id;
213
- const slots = /* @__PURE__ */ new Map();
272
+ const isClientBuild = this.environment.name === "client" && this.environment.mode === "build";
273
+ const moduleKeys = /* @__PURE__ */ new Map();
274
+ const grouped = /* @__PURE__ */ new Set();
214
275
  const referenceIds = new Set(metaEntries.map(([referenceId]) => referenceId));
215
276
  const referenceKeys = new Map(metaEntries.map(([referenceId, meta]) => [referenceId, meta.referenceKey]));
216
- if (grouping && groupingEnabled && this.environment.name === "client" && this.environment.mode === "build" && planClientReferenceGroups({
277
+ if (grouping && groupingEnabled && isClientBuild && planClientReferenceGroups({
217
278
  referenceIds,
218
279
  referenceKeys,
219
280
  signatures: routeSignatures,
@@ -241,7 +302,6 @@ function createRscClientReferenceLoadersPlugin(options = {}) {
241
302
  addResolution(resolved);
242
303
  }));
243
304
  const { external } = this.environment.config.build.rolldownOptions;
244
- const moduleInfos = /* @__PURE__ */ new Map();
245
305
  const excludedById = /* @__PURE__ */ new Map();
246
306
  const isExcludedById = (moduleId) => {
247
307
  let excluded = excludedById.get(moduleId);
@@ -261,9 +321,7 @@ function createRscClientReferenceLoadersPlugin(options = {}) {
261
321
  importedIds: []
262
322
  };
263
323
  }
264
- const info = await this.load(resolutions.get(moduleId) ?? { id: moduleId });
265
- moduleInfos.set(moduleId, info);
266
- const { code, importedIds } = info;
324
+ const { code, importedIds } = await this.load(resolutions.get(moduleId) ?? { id: moduleId });
267
325
  if (code === null) return {
268
326
  code,
269
327
  importedIds
@@ -303,12 +361,6 @@ function createRscClientReferenceLoadersPlugin(options = {}) {
303
361
  isSideEffectFree: (moduleId) => packages.get(moduleId)?.moduleSideEffects === false,
304
362
  isExcluded: (moduleId) => externalIds.has(moduleId) || isExcludedById(moduleId)
305
363
  });
306
- for (const [referenceId, meta] of metaEntries) {
307
- const moduleId = references.get(referenceId);
308
- const info = moduleId === void 0 ? void 0 : moduleInfos.get(moduleId);
309
- if (!info || info.inputFormat === "cjs") continue;
310
- if (meta.renderedExports.some((name) => !info.exports.includes(name))) costs.set(referenceId, null);
311
- }
312
364
  const groups = planClientReferenceGroups({
313
365
  referenceIds,
314
366
  referenceKeys,
@@ -320,21 +372,71 @@ function createRscClientReferenceLoadersPlugin(options = {}) {
320
372
  for (const group of groups) {
321
373
  const groupMetas = group.referenceIds.map((referenceId) => metaById.get(referenceId));
322
374
  const resolvedGroupId = `${RESOLVED_CLIENT_REFERENCE_GROUP_PREFIX}${group.key}`;
323
- groupModules.set(resolvedGroupId, generateClientReferenceGroupModule(groupMetas));
324
- groupMetas.forEach((meta, index) => {
375
+ referenceModules.set(resolvedGroupId, generateClientReferenceModule(groupMetas, loaderPath));
376
+ moduleKeys.set(resolvedGroupId, groupMetas.map((meta) => meta.referenceKey));
377
+ for (const meta of groupMetas) {
325
378
  meta.groupChunkId = resolvedGroupId;
326
- slots.set(meta, {
327
- groupId: resolvedGroupId.slice(1),
328
- index
329
- });
330
- });
379
+ grouped.add(meta);
380
+ }
331
381
  }
332
382
  }
383
+ if (isClientBuild) {
384
+ const eager = [];
385
+ for (const [referenceId, meta] of metaEntries) {
386
+ if (grouped.has(meta)) continue;
387
+ if (grouping && groupingEnabled && grouping.isAlwaysLoadedClientModule(referenceId)) {
388
+ eager.push(meta);
389
+ continue;
390
+ }
391
+ const fileName = path.basename(meta.importId).replace(/\.[^.]*$/, "");
392
+ const moduleId = `${RESOLVED_CLIENT_REFERENCE_MODULE_PREFIX}${meta.referenceKey}/${fileName}`;
393
+ referenceModules.set(moduleId, generateClientReferenceModule([meta], loaderPath));
394
+ moduleKeys.set(moduleId, [meta.referenceKey]);
395
+ meta.groupChunkId = moduleId;
396
+ }
397
+ if (eager.length > 0) referenceModules.set(RESOLVED_EAGER_CLIENT_REFERENCES_ID, generateClientReferenceModule(eager, loaderPath));
398
+ referenceModules.set(RESOLVED_CLIENT_REFERENCE_CHUNKS_ID, generateClientReferenceChunksModule([...moduleKeys.keys()].sort()));
399
+ this.emitFile({
400
+ type: "chunk",
401
+ id: CLIENT_REFERENCE_CHUNKS_ID,
402
+ preserveSignature: "strict"
403
+ });
404
+ options.onClientReferenceModules?.(moduleKeys);
405
+ return {
406
+ code: generateBrowserClientReferencesModule(loaderPath, eager.length > 0),
407
+ map: null
408
+ };
409
+ }
333
410
  return {
334
- code: generateClientReferenceLoaders(metas, slots) + routeClientReferencesExport,
411
+ code: generateClientReferenceLoaders(metas) + routeClientReferencesExport,
335
412
  map: null
336
413
  };
337
414
  }
415
+ },
416
+ async renderChunk(code, _chunk, _outputOptions, meta) {
417
+ if (this.environment.config.consumer !== "server") return null;
418
+ if (!code.includes(asyncPlaceholder)) return null;
419
+ const roots = /* @__PURE__ */ new Map();
420
+ await Promise.all(asyncCandidates.map(async ({ index, importId }) => {
421
+ let id = importId;
422
+ if (!importId.startsWith("\0") && !path.isAbsolute(importId)) {
423
+ const resolved = await this.resolve(importId);
424
+ id = resolved && !resolved.external ? resolved.id : void 0;
425
+ }
426
+ if (id === void 0) return;
427
+ let list = roots.get(id);
428
+ if (!list) roots.set(id, list = []);
429
+ list.push(index);
430
+ }));
431
+ const asyncIndices = [...collectAsyncModules({
432
+ roots: [...roots.keys()],
433
+ getModuleInfo: (id) => this.getModuleInfo(id),
434
+ chunks: Object.values(meta.chunks),
435
+ declaresSideEffects: createSideEffectsDeclarationCheck()
436
+ })].flatMap((id) => roots.get(id)).sort((a, b) => a - b);
437
+ const output = new MagicString(code);
438
+ for (const match of code.matchAll(asyncPlaceholderRe)) output.overwrite(match.index, match.index + match[0].length, JSON.stringify(asyncIndices));
439
+ return omitUnusedBuildSourcemap(this.environment, magicStringTransformResult(output));
338
440
  }
339
441
  };
340
442
  }
@@ -353,7 +455,7 @@ function createRouteClientReferencesFallbackPlugin() {
353
455
  handler(code) {
354
456
  if (this.environment.config.consumer !== "server") return null;
355
457
  return {
356
- code: `${code}\n${generateRouteClientReferencesExport(null, [])}`,
458
+ code: `${code}\n${NO_ROUTE_CLIENT_REFERENCES_EXPORT}`,
357
459
  map: null
358
460
  };
359
461
  }
@@ -361,4 +463,4 @@ function createRouteClientReferencesFallbackPlugin() {
361
463
  };
362
464
  }
363
465
  //#endregion
364
- export { createRouteClientReferencesFallbackPlugin, createRscClientReferenceLoadersPlugin };
466
+ export { RESOLVED_CLIENT_REFERENCE_CHUNKS_ID, RESOLVED_CLIENT_REFERENCE_MODULE_PREFIX, createRouteClientReferencesFallbackPlugin, createRscClientReferenceLoadersPlugin };
@@ -18,7 +18,9 @@ const VINEXT_OPTIMIZE_DEPS_EXCLUDE = Object.freeze([
18
18
  const SSR_EXTERNAL_REACT_ENTRIES = Object.freeze([
19
19
  "react",
20
20
  "react-dom",
21
+ "react-dom/server",
21
22
  "react-dom/server.edge",
23
+ "react-dom/static",
22
24
  "react-dom/static.edge",
23
25
  "react/jsx-runtime",
24
26
  "react/jsx-dev-runtime",
@@ -102,4 +102,5 @@ export declare function createSassAwareFileSystemLoader(): {
102
102
  };
103
103
  setResolvedConfig: (config: ResolvedConfig) => void;
104
104
  };
105
- //#endregion
105
+ //#endregion
106
+ export {};
@@ -18,4 +18,5 @@ type StripServerExportsResult = {
18
18
  * - crates/next-custom-transforms/src/transforms/strip_page_exports.rs
19
19
  */
20
20
  export declare function stripServerExports(code: string): StripServerExportsResult | null;
21
- //#endregion
21
+ //#endregion
22
+ export {};
@@ -11,4 +11,5 @@ type StyledJsxPluginOptions = {
11
11
  importModule?: (url: string) => Promise<NextSwcModule>;
12
12
  };
13
13
  export declare function createStyledJsxPlugin(initialProjectRoot: string, options?: StyledJsxPluginOptions): Plugin;
14
- //#endregion
14
+ //#endregion
15
+ export {};
@@ -28,4 +28,5 @@ export declare function omitUnusedBuildSourcemap<TMap = ReturnType<MagicString["
28
28
  code: string;
29
29
  map: TMap | null;
30
30
  } | null;
31
- //#endregion
31
+ //#endregion
32
+ export {};
@@ -25,4 +25,5 @@ export declare function getTypeofWindowReplacement(environment: EnvironmentLike)
25
25
  export declare function mayFoldChangeScannedImports(code: string): boolean;
26
26
  export declare function replaceTypeofWindow(code: string, replacement: WindowType, id?: string): MagicStringTransformResult<import("magic-string").SourceMap> | null;
27
27
  export declare function replaceConsumerEnvironmentConditions(code: string, replacements: ConsumerEnvironmentReplacements, id?: string): MagicStringTransformResult<import("magic-string").SourceMap> | null;
28
- //#endregion
28
+ //#endregion
29
+ export {};
@@ -42,7 +42,7 @@ function createWorkerImageImportsPlugin(options = {}) {
42
42
  let dimensions = dimensionCache.get(imagePath);
43
43
  if (!dimensions) {
44
44
  try {
45
- const { imageSize } = await import("../deps/.pnpm/image-size@2.0.2/deps/image-size/dist/index.js");
45
+ const { imageSize } = await import("../deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/index.js");
46
46
  const result = imageSize(fs.readFileSync(imagePath));
47
47
  dimensions = {
48
48
  width: result.width ?? 0,
@@ -22,4 +22,5 @@ export declare function createWorkerUseServerPlugins(options: {
22
22
  rscPluginModule: Promise<RscPluginModule>;
23
23
  rscPluginPath: string;
24
24
  }): Promise<Plugin[]>;
25
- //#endregion
25
+ //#endregion
26
+ export {};
@@ -44,6 +44,30 @@ type InterceptingRoute = {
44
44
  notFoundBranchSegments?: string[];
45
45
  /** Tree position relative to the normalized interception branch. */
46
46
  notFoundTreePosition?: number | null;
47
+ /** Nearest forbidden convention inside the interception branch. */
48
+ forbiddenPath?: string | null;
49
+ /** Tree position relative to the normalized interception branch. */
50
+ forbiddenTreePosition?: number | null;
51
+ /** Nearest unauthorized convention inside the interception branch. */
52
+ unauthorizedPath?: string | null;
53
+ /** Tree position relative to the normalized interception branch. */
54
+ unauthorizedTreePosition?: number | null;
55
+ /** Every not-found convention inside the interception branch, outermost first. */
56
+ notFoundPaths?: string[];
57
+ /** Tree positions for notFoundPaths in the normalized interception branch. */
58
+ notFoundTreePositions?: number[];
59
+ /** Every forbidden convention inside the interception branch, outermost first. */
60
+ forbiddenPaths?: string[];
61
+ /** Tree positions for forbiddenPaths in the normalized interception branch. */
62
+ forbiddenTreePositions?: number[];
63
+ /** Every unauthorized convention inside the interception branch, outermost first. */
64
+ unauthorizedPaths?: string[];
65
+ /** Tree positions for unauthorizedPaths in the normalized interception branch. */
66
+ unauthorizedTreePositions?: number[];
67
+ /** Every error convention inside the interception branch, outermost first. */
68
+ errorPaths?: string[];
69
+ /** Tree positions for errorPaths in the normalized interception branch. */
70
+ errorTreePositions?: number[];
47
71
  /** Parameter names for dynamic segments */
48
72
  params: string[];
49
73
  /**
@@ -89,6 +113,10 @@ type ParallelSlot = {
89
113
  notFoundPath?: string | null;
90
114
  /** Tree position of that convention relative to the slot root. */
91
115
  notFoundTreePosition?: number | null;
116
+ /** Every not-found convention from the slot root to its active page, outermost first. */
117
+ notFoundPaths?: string[];
118
+ /** Slot-root-relative tree positions aligned with notFoundPaths. */
119
+ notFoundTreePositions?: number[];
92
120
  /** Intercepting routes within this slot */
93
121
  interceptingRoutes: InterceptingRoute[];
94
122
  /**
@@ -191,6 +219,18 @@ export type AppRoute = {
191
219
  unauthorizedTreePosition?: number | null;
192
220
  /** Unauthorized component paths per layout level (aligned with layouts array). */
193
221
  unauthorizedPaths: (string | null)[];
222
+ /**
223
+ * Not-found, forbidden and unauthorized component paths for every segment
224
+ * from app/ to the route's directory, including segments without a layout,
225
+ * aligned with the matching tree positions. A layout's notFound() is caught
226
+ * by the deepest of these above the layout's own segment.
227
+ */
228
+ segmentNotFoundPaths?: string[];
229
+ segmentNotFoundTreePositions?: number[];
230
+ segmentForbiddenPaths?: string[];
231
+ segmentForbiddenTreePositions?: number[];
232
+ segmentUnauthorizedPaths?: string[];
233
+ segmentUnauthorizedTreePositions?: number[];
194
234
  /**
195
235
  * Filesystem segments from app/ root to the route's directory.
196
236
  * Includes route groups and dynamic segments (as template strings like "[id]").