vinext 0.0.55 → 0.1.0

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 (985) hide show
  1. package/README.md +51 -15
  2. package/dist/build/clean-output.d.ts +1 -2
  3. package/dist/build/clean-output.js +0 -2
  4. package/dist/build/client-build-config.d.ts +16 -3
  5. package/dist/build/client-build-config.js +29 -4
  6. package/dist/build/css-url-assets.d.ts +29 -0
  7. package/dist/build/css-url-assets.js +211 -0
  8. package/dist/build/google-fonts/build-url.d.ts +1 -2
  9. package/dist/build/google-fonts/build-url.js +0 -2
  10. package/dist/build/google-fonts/fallback-metrics-data.js +0 -2
  11. package/dist/build/google-fonts/fallback-metrics.d.ts +1 -2
  12. package/dist/build/google-fonts/fallback-metrics.js +0 -2
  13. package/dist/build/google-fonts/font-data.js +0 -2
  14. package/dist/build/google-fonts/font-metadata.d.ts +1 -2
  15. package/dist/build/google-fonts/font-metadata.js +0 -2
  16. package/dist/build/google-fonts/get-axes.d.ts +1 -2
  17. package/dist/build/google-fonts/get-axes.js +0 -2
  18. package/dist/build/google-fonts/sort-variants.d.ts +1 -2
  19. package/dist/build/google-fonts/sort-variants.js +0 -2
  20. package/dist/build/google-fonts/validate.d.ts +1 -2
  21. package/dist/build/google-fonts/validate.js +0 -2
  22. package/dist/build/inline-css.d.ts +1 -2
  23. package/dist/build/inline-css.js +0 -2
  24. package/dist/build/layout-classification-types.d.ts +1 -2
  25. package/dist/build/layout-classification.d.ts +2 -3
  26. package/dist/build/layout-classification.js +1 -3
  27. package/dist/build/next-client-runtime-manifests.d.ts +14 -0
  28. package/dist/build/next-client-runtime-manifests.js +39 -0
  29. package/dist/build/nitro-route-rules.d.ts +1 -2
  30. package/dist/build/nitro-route-rules.js +0 -2
  31. package/dist/build/precompress.d.ts +1 -2
  32. package/dist/build/precompress.js +0 -2
  33. package/dist/build/prerender.d.ts +2 -3
  34. package/dist/build/prerender.js +14 -2
  35. package/dist/build/report.d.ts +1 -2
  36. package/dist/build/report.js +0 -2
  37. package/dist/build/route-classification-injector.d.ts +1 -2
  38. package/dist/build/route-classification-injector.js +4 -6
  39. package/dist/build/route-classification-manifest.d.ts +5 -6
  40. package/dist/build/route-classification-manifest.js +5 -7
  41. package/dist/build/run-prerender.d.ts +1 -2
  42. package/dist/build/run-prerender.js +15 -7
  43. package/dist/build/server-manifest.d.ts +1 -2
  44. package/dist/build/server-manifest.js +0 -2
  45. package/dist/build/ssr-manifest.d.ts +1 -2
  46. package/dist/build/ssr-manifest.js +2 -4
  47. package/dist/build/standalone.d.ts +1 -2
  48. package/dist/build/standalone.js +0 -2
  49. package/dist/build/static-export.d.ts +2 -3
  50. package/dist/build/static-export.js +0 -2
  51. package/dist/cache/cache-adapters-virtual.d.ts +50 -0
  52. package/dist/cache/cache-adapters-virtual.js +45 -0
  53. package/dist/check.d.ts +33 -2
  54. package/dist/check.js +306 -24
  55. package/dist/cli-args.d.ts +1 -2
  56. package/dist/cli-args.js +0 -2
  57. package/dist/cli.js +7 -13
  58. package/dist/client/instrumentation-client-inject.d.ts +1 -2
  59. package/dist/client/instrumentation-client-inject.js +0 -2
  60. package/dist/client/instrumentation-client-state.d.ts +1 -2
  61. package/dist/client/instrumentation-client-state.js +0 -2
  62. package/dist/client/instrumentation-client.d.ts +1 -2
  63. package/dist/client/instrumentation-client.js +0 -2
  64. package/dist/client/navigation-runtime.d.ts +1 -2
  65. package/dist/client/navigation-runtime.js +0 -2
  66. package/dist/client/pages-router-link-navigation.d.ts +1 -2
  67. package/dist/client/pages-router-link-navigation.js +0 -2
  68. package/dist/client/validate-module-path.d.ts +1 -2
  69. package/dist/client/validate-module-path.js +0 -2
  70. package/dist/client/vinext-next-data.d.ts +1 -2
  71. package/dist/client/vinext-next-data.js +0 -2
  72. package/dist/client/window-next.d.ts +1 -2
  73. package/dist/client/window-next.js +0 -2
  74. package/dist/cloudflare/index.d.ts +1 -1
  75. package/dist/cloudflare/index.js +1 -1
  76. package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +97 -0
  77. package/dist/cloudflare/{kv-cache-handler.d.ts → src/cache/kv-data-adapter.runtime.d.ts} +25 -6
  78. package/dist/cloudflare/{kv-cache-handler.js → src/cache/kv-data-adapter.runtime.js} +36 -28
  79. package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
  80. package/dist/cloudflare/tpr.d.ts +2 -3
  81. package/dist/cloudflare/tpr.js +8 -8
  82. package/dist/config/config-matchers.d.ts +1 -2
  83. package/dist/config/config-matchers.js +0 -2
  84. package/dist/config/dotenv.d.ts +1 -2
  85. package/dist/config/dotenv.js +0 -2
  86. package/dist/config/next-config.d.ts +16 -2
  87. package/dist/config/next-config.js +23 -4
  88. package/dist/config/tsconfig-paths.d.ts +1 -2
  89. package/dist/config/tsconfig-paths.js +3 -7
  90. package/dist/deploy.d.ts +48 -3
  91. package/dist/deploy.js +141 -112
  92. package/dist/entries/app-browser-entry.d.ts +1 -2
  93. package/dist/entries/app-browser-entry.js +0 -2
  94. package/dist/entries/app-rsc-entry.d.ts +4 -4
  95. package/dist/entries/app-rsc-entry.js +50 -61
  96. package/dist/entries/app-rsc-manifest.d.ts +1 -2
  97. package/dist/entries/app-rsc-manifest.js +20 -7
  98. package/dist/entries/app-ssr-entry.d.ts +1 -2
  99. package/dist/entries/app-ssr-entry.js +0 -2
  100. package/dist/entries/pages-client-entry.d.ts +3 -3
  101. package/dist/entries/pages-client-entry.js +16 -5
  102. package/dist/entries/pages-entry-helpers.d.ts +2 -11
  103. package/dist/entries/pages-entry-helpers.js +1 -20
  104. package/dist/entries/pages-server-entry.d.ts +2 -3
  105. package/dist/entries/pages-server-entry.js +89 -702
  106. package/dist/entries/runtime-entry-module.d.ts +1 -2
  107. package/dist/entries/runtime-entry-module.js +0 -2
  108. package/dist/index.d.ts +22 -2
  109. package/dist/index.js +216 -101
  110. package/dist/init.d.ts +1 -2
  111. package/dist/init.js +1 -3
  112. package/dist/plugins/ast-utils.d.ts +20 -0
  113. package/dist/plugins/ast-utils.js +78 -0
  114. package/dist/plugins/async-hooks-stub.d.ts +1 -2
  115. package/dist/plugins/async-hooks-stub.js +0 -2
  116. package/dist/plugins/client-reference-dedup.d.ts +1 -2
  117. package/dist/plugins/client-reference-dedup.js +4 -8
  118. package/dist/plugins/css-data-url.d.ts +1 -2
  119. package/dist/plugins/css-data-url.js +0 -2
  120. package/dist/plugins/fonts.d.ts +13 -3
  121. package/dist/plugins/fonts.js +19 -13
  122. package/dist/plugins/import-meta-url.d.ts +2 -2
  123. package/dist/plugins/import-meta-url.js +187 -33
  124. package/dist/plugins/instrumentation-client.d.ts +1 -2
  125. package/dist/plugins/instrumentation-client.js +0 -2
  126. package/dist/plugins/middleware-server-only.d.ts +1 -2
  127. package/dist/plugins/middleware-server-only.js +0 -2
  128. package/dist/plugins/og-assets.d.ts +32 -8
  129. package/dist/plugins/og-assets.js +126 -34
  130. package/dist/plugins/optimize-imports.d.ts +1 -2
  131. package/dist/plugins/optimize-imports.js +9 -17
  132. package/dist/plugins/postcss.d.ts +1 -2
  133. package/dist/plugins/postcss.js +0 -2
  134. package/dist/plugins/remove-console.d.ts +1 -2
  135. package/dist/plugins/remove-console.js +0 -2
  136. package/dist/plugins/rsc-client-reference-loaders.d.ts +1 -2
  137. package/dist/plugins/rsc-client-reference-loaders.js +0 -2
  138. package/dist/plugins/rsc-client-shim-excludes.d.ts +1 -2
  139. package/dist/plugins/rsc-client-shim-excludes.js +0 -2
  140. package/dist/plugins/sass.d.ts +1 -2
  141. package/dist/plugins/sass.js +0 -2
  142. package/dist/plugins/server-externals-manifest.d.ts +1 -2
  143. package/dist/plugins/server-externals-manifest.js +0 -2
  144. package/dist/plugins/strip-server-exports.d.ts +1 -2
  145. package/dist/plugins/strip-server-exports.js +0 -2
  146. package/dist/routing/app-route-graph.d.ts +2 -9
  147. package/dist/routing/app-route-graph.js +9 -30
  148. package/dist/routing/app-router.d.ts +1 -2
  149. package/dist/routing/app-router.js +0 -2
  150. package/dist/routing/file-matcher.d.ts +6 -2
  151. package/dist/routing/file-matcher.js +15 -7
  152. package/dist/routing/pages-router.d.ts +1 -2
  153. package/dist/routing/pages-router.js +0 -2
  154. package/dist/routing/route-matching.d.ts +1 -2
  155. package/dist/routing/route-matching.js +0 -2
  156. package/dist/routing/route-pattern.d.ts +1 -2
  157. package/dist/routing/route-pattern.js +0 -2
  158. package/dist/routing/route-trie.d.ts +1 -2
  159. package/dist/routing/route-trie.js +0 -2
  160. package/dist/routing/route-validation.d.ts +1 -2
  161. package/dist/routing/route-validation.js +0 -2
  162. package/dist/routing/utils.d.ts +44 -2
  163. package/dist/routing/utils.js +62 -3
  164. package/dist/server/api-handler.d.ts +1 -2
  165. package/dist/server/api-handler.js +0 -2
  166. package/dist/server/app-bfcache-id.d.ts +5 -0
  167. package/dist/server/app-bfcache-id.js +5 -0
  168. package/dist/server/app-browser-action-result.d.ts +1 -2
  169. package/dist/server/app-browser-action-result.js +0 -2
  170. package/dist/server/app-browser-client-reuse-manifest.d.ts +12 -0
  171. package/dist/server/app-browser-client-reuse-manifest.js +101 -0
  172. package/dist/server/app-browser-entry.js +186 -75
  173. package/dist/server/app-browser-error.d.ts +1 -2
  174. package/dist/server/app-browser-error.js +0 -2
  175. package/dist/server/app-browser-hydration.d.ts +1 -2
  176. package/dist/server/app-browser-hydration.js +0 -2
  177. package/dist/server/app-browser-interception-context.d.ts +1 -2
  178. package/dist/server/app-browser-interception-context.js +0 -2
  179. package/dist/server/app-browser-mpa-navigation.d.ts +2 -2
  180. package/dist/server/app-browser-mpa-navigation.js +9 -3
  181. package/dist/server/app-browser-navigation-controller.d.ts +5 -4
  182. package/dist/server/app-browser-navigation-controller.js +3 -3
  183. package/dist/server/app-browser-popstate.d.ts +1 -2
  184. package/dist/server/app-browser-popstate.js +0 -2
  185. package/dist/server/app-browser-rsc-redirect.d.ts +1 -2
  186. package/dist/server/app-browser-rsc-redirect.js +0 -2
  187. package/dist/server/app-browser-state.d.ts +28 -4
  188. package/dist/server/app-browser-state.js +193 -10
  189. package/dist/server/app-browser-stream.d.ts +1 -2
  190. package/dist/server/app-browser-stream.js +0 -2
  191. package/dist/server/app-browser-visible-commit.d.ts +2 -3
  192. package/dist/server/app-browser-visible-commit.js +24 -17
  193. package/dist/server/app-client-reference-preloader.d.ts +1 -2
  194. package/dist/server/app-client-reference-preloader.js +0 -2
  195. package/dist/server/app-elements-wire.d.ts +14 -8
  196. package/dist/server/app-elements-wire.js +45 -24
  197. package/dist/server/app-elements.d.ts +2 -3
  198. package/dist/server/app-elements.js +2 -4
  199. package/dist/server/app-fallback-renderer.d.ts +5 -5
  200. package/dist/server/app-fallback-renderer.js +4 -3
  201. package/dist/server/app-history-state.d.ts +18 -2
  202. package/dist/server/app-history-state.js +68 -10
  203. package/dist/server/app-hook-warning-suppression.d.ts +1 -2
  204. package/dist/server/app-hook-warning-suppression.js +0 -2
  205. package/dist/server/app-inline-css-client.d.ts +1 -2
  206. package/dist/server/app-inline-css-client.js +0 -2
  207. package/dist/server/app-interception-context-header.d.ts +1 -2
  208. package/dist/server/app-interception-context-header.js +0 -2
  209. package/dist/server/app-layout-param-observation.d.ts +15 -2
  210. package/dist/server/app-layout-param-observation.js +46 -8
  211. package/dist/server/app-middleware.d.ts +1 -2
  212. package/dist/server/app-middleware.js +0 -2
  213. package/dist/server/app-mounted-slots-header.d.ts +1 -2
  214. package/dist/server/app-mounted-slots-header.js +0 -2
  215. package/dist/server/app-optimistic-routing.d.ts +1 -2
  216. package/dist/server/app-optimistic-routing.js +0 -2
  217. package/dist/server/app-page-boundary-render.d.ts +4 -3
  218. package/dist/server/app-page-boundary-render.js +18 -9
  219. package/dist/server/app-page-boundary.d.ts +11 -2
  220. package/dist/server/app-page-boundary.js +13 -4
  221. package/dist/server/app-page-cache.d.ts +3 -3
  222. package/dist/server/app-page-cache.js +36 -11
  223. package/dist/server/app-page-dispatch.d.ts +19 -5
  224. package/dist/server/app-page-dispatch.js +119 -24
  225. package/dist/server/app-page-element-builder.d.ts +3 -2
  226. package/dist/server/app-page-element-builder.js +9 -11
  227. package/dist/server/app-page-execution.d.ts +8 -3
  228. package/dist/server/app-page-execution.js +55 -24
  229. package/dist/server/app-page-head.d.ts +1 -2
  230. package/dist/server/app-page-head.js +6 -6
  231. package/dist/server/app-page-method.d.ts +1 -2
  232. package/dist/server/app-page-method.js +0 -2
  233. package/dist/server/app-page-params.d.ts +1 -2
  234. package/dist/server/app-page-params.js +0 -2
  235. package/dist/server/app-page-probe.d.ts +79 -2
  236. package/dist/server/app-page-probe.js +89 -9
  237. package/dist/server/app-page-render-identity.d.ts +1 -2
  238. package/dist/server/app-page-render-identity.js +0 -2
  239. package/dist/server/app-page-render-observation.d.ts +1 -2
  240. package/dist/server/app-page-render-observation.js +0 -2
  241. package/dist/server/app-page-render.d.ts +9 -3
  242. package/dist/server/app-page-render.js +167 -10
  243. package/dist/server/app-page-request.d.ts +4 -3
  244. package/dist/server/app-page-request.js +1 -3
  245. package/dist/server/app-page-response.d.ts +2 -2
  246. package/dist/server/app-page-response.js +5 -3
  247. package/dist/server/app-page-route-wiring.d.ts +14 -3
  248. package/dist/server/app-page-route-wiring.js +63 -11
  249. package/dist/server/app-page-search-params-observation.d.ts +10 -0
  250. package/dist/server/app-page-search-params-observation.js +20 -0
  251. package/dist/server/app-page-segment-state.d.ts +1 -2
  252. package/dist/server/app-page-segment-state.js +1 -8
  253. package/dist/server/app-page-stream.d.ts +19 -9
  254. package/dist/server/app-page-stream.js +28 -10
  255. package/dist/server/app-pages-bridge.d.ts +25 -0
  256. package/dist/server/app-pages-bridge.js +34 -0
  257. package/dist/server/app-post-middleware-context.d.ts +1 -2
  258. package/dist/server/app-post-middleware-context.js +0 -2
  259. package/dist/server/app-ppr-fallback-shell.d.ts +21 -0
  260. package/dist/server/app-ppr-fallback-shell.js +82 -0
  261. package/dist/server/app-prerender-endpoints.d.ts +1 -2
  262. package/dist/server/app-prerender-endpoints.js +0 -2
  263. package/dist/server/app-prerender-static-params.d.ts +15 -2
  264. package/dist/server/app-prerender-static-params.js +44 -13
  265. package/dist/server/app-render-dependency.d.ts +3 -2
  266. package/dist/server/app-render-dependency.js +9 -3
  267. package/dist/server/app-request-context.d.ts +1 -2
  268. package/dist/server/app-request-context.js +0 -2
  269. package/dist/server/app-route-handler-cache.d.ts +1 -2
  270. package/dist/server/app-route-handler-cache.js +0 -2
  271. package/dist/server/app-route-handler-dispatch.d.ts +1 -2
  272. package/dist/server/app-route-handler-dispatch.js +0 -2
  273. package/dist/server/app-route-handler-execution.d.ts +1 -2
  274. package/dist/server/app-route-handler-execution.js +2 -4
  275. package/dist/server/app-route-handler-policy.d.ts +1 -2
  276. package/dist/server/app-route-handler-policy.js +0 -2
  277. package/dist/server/app-route-handler-response.d.ts +2 -3
  278. package/dist/server/app-route-handler-response.js +7 -6
  279. package/dist/server/app-route-handler-runtime.d.ts +1 -2
  280. package/dist/server/app-route-handler-runtime.js +0 -2
  281. package/dist/server/app-route-module-loader.d.ts +43 -0
  282. package/dist/server/app-route-module-loader.js +32 -0
  283. package/dist/server/app-router-entry.d.ts +1 -2
  284. package/dist/server/app-router-entry.js +2 -2
  285. package/dist/server/app-rsc-cache-busting.d.ts +10 -2
  286. package/dist/server/app-rsc-cache-busting.js +13 -4
  287. package/dist/server/app-rsc-embedded-chunks.d.ts +1 -2
  288. package/dist/server/app-rsc-embedded-chunks.js +0 -2
  289. package/dist/server/app-rsc-error-handler.d.ts +1 -2
  290. package/dist/server/app-rsc-error-handler.js +0 -2
  291. package/dist/server/app-rsc-errors.d.ts +1 -2
  292. package/dist/server/app-rsc-errors.js +0 -2
  293. package/dist/server/app-rsc-handler.d.ts +16 -2
  294. package/dist/server/app-rsc-handler.js +21 -13
  295. package/dist/server/app-rsc-render-mode.d.ts +1 -2
  296. package/dist/server/app-rsc-render-mode.js +0 -2
  297. package/dist/server/app-rsc-request-normalization.d.ts +4 -5
  298. package/dist/server/app-rsc-request-normalization.js +2 -4
  299. package/dist/server/app-rsc-response-finalizer.d.ts +1 -2
  300. package/dist/server/app-rsc-response-finalizer.js +2 -2
  301. package/dist/server/app-rsc-route-matching.d.ts +1 -2
  302. package/dist/server/app-rsc-route-matching.js +0 -2
  303. package/dist/server/app-segment-config.d.ts +4 -2
  304. package/dist/server/app-segment-config.js +8 -2
  305. package/dist/server/app-server-action-execution.d.ts +7 -2
  306. package/dist/server/app-server-action-execution.js +7 -8
  307. package/dist/server/app-ssr-entry.d.ts +5 -4
  308. package/dist/server/app-ssr-entry.js +31 -15
  309. package/dist/server/app-ssr-error-meta.d.ts +1 -2
  310. package/dist/server/app-ssr-error-meta.js +0 -2
  311. package/dist/server/app-ssr-stream.d.ts +1 -2
  312. package/dist/server/app-ssr-stream.js +31 -3
  313. package/dist/server/app-static-generation.d.ts +1 -2
  314. package/dist/server/app-static-generation.js +0 -2
  315. package/dist/server/app-visited-response-cache.d.ts +23 -0
  316. package/dist/server/app-visited-response-cache.js +19 -0
  317. package/dist/server/artifact-compatibility.d.ts +1 -2
  318. package/dist/server/artifact-compatibility.js +2 -6
  319. package/dist/server/cache-control.d.ts +15 -2
  320. package/dist/server/cache-control.js +21 -3
  321. package/dist/server/cache-headers.d.ts +1 -2
  322. package/dist/server/cache-headers.js +0 -2
  323. package/dist/server/cache-proof.d.ts +1 -2
  324. package/dist/server/cache-proof.js +0 -2
  325. package/dist/server/client-reuse-manifest.d.ts +3 -3
  326. package/dist/server/client-reuse-manifest.js +6 -10
  327. package/dist/server/client-trace-metadata.d.ts +1 -2
  328. package/dist/server/client-trace-metadata.js +0 -2
  329. package/dist/server/cookie-utils.d.ts +1 -2
  330. package/dist/server/cookie-utils.js +0 -2
  331. package/dist/server/csp.d.ts +1 -2
  332. package/dist/server/csp.js +0 -2
  333. package/dist/server/default-global-error-module.d.ts +1 -2
  334. package/dist/server/default-global-error-module.js +0 -2
  335. package/dist/server/default-not-found-module.d.ts +1 -2
  336. package/dist/server/default-not-found-module.js +0 -2
  337. package/dist/server/dev-error-overlay-store.d.ts +20 -4
  338. package/dist/server/dev-error-overlay-store.js +23 -4
  339. package/dist/server/dev-error-overlay.d.ts +39 -3
  340. package/dist/server/dev-error-overlay.js +952 -164
  341. package/dist/server/dev-initial-server-error.d.ts +9 -0
  342. package/dist/server/dev-initial-server-error.js +26 -0
  343. package/dist/server/dev-lockfile.d.ts +1 -2
  344. package/dist/server/dev-lockfile.js +0 -2
  345. package/dist/server/dev-module-runner.d.ts +1 -2
  346. package/dist/server/dev-module-runner.js +0 -2
  347. package/dist/server/dev-origin-check.d.ts +1 -2
  348. package/dist/server/dev-origin-check.js +0 -2
  349. package/dist/server/dev-route-files.d.ts +1 -2
  350. package/dist/server/dev-route-files.js +0 -2
  351. package/dist/server/dev-server.d.ts +2 -3
  352. package/dist/server/dev-server.js +75 -18
  353. package/dist/server/dev-stack-sourcemap-endpoint.d.ts +4 -0
  354. package/dist/server/dev-stack-sourcemap-endpoint.js +4 -0
  355. package/dist/server/dev-stack-sourcemap.d.ts +43 -0
  356. package/dist/server/dev-stack-sourcemap.js +443 -0
  357. package/dist/server/document-initial-head.d.ts +1 -2
  358. package/dist/server/document-initial-head.js +0 -2
  359. package/dist/server/edge-api-runtime.d.ts +1 -2
  360. package/dist/server/edge-api-runtime.js +0 -2
  361. package/dist/server/file-based-metadata.d.ts +1 -2
  362. package/dist/server/file-based-metadata.js +0 -2
  363. package/dist/server/headers.d.ts +3 -2
  364. package/dist/server/headers.js +3 -3
  365. package/dist/server/html.d.ts +1 -2
  366. package/dist/server/html.js +0 -2
  367. package/dist/server/http-error-responses.d.ts +1 -2
  368. package/dist/server/http-error-responses.js +0 -2
  369. package/dist/server/image-optimization.d.ts +1 -2
  370. package/dist/server/image-optimization.js +0 -2
  371. package/dist/server/implicit-tags.d.ts +1 -2
  372. package/dist/server/implicit-tags.js +0 -2
  373. package/dist/server/instrumentation-runtime.d.ts +1 -2
  374. package/dist/server/instrumentation-runtime.js +0 -2
  375. package/dist/server/instrumentation.d.ts +1 -2
  376. package/dist/server/instrumentation.js +0 -2
  377. package/dist/server/isr-cache.d.ts +10 -3
  378. package/dist/server/isr-cache.js +13 -28
  379. package/dist/server/metadata-route-build-data.d.ts +1 -2
  380. package/dist/server/metadata-route-build-data.js +0 -2
  381. package/dist/server/metadata-route-response.d.ts +1 -2
  382. package/dist/server/metadata-route-response.js +0 -2
  383. package/dist/server/metadata-routes.d.ts +1 -2
  384. package/dist/server/metadata-routes.js +0 -2
  385. package/dist/server/middleware-matcher.d.ts +1 -2
  386. package/dist/server/middleware-matcher.js +0 -2
  387. package/dist/server/middleware-request-headers.d.ts +1 -2
  388. package/dist/server/middleware-request-headers.js +0 -2
  389. package/dist/server/middleware-response-headers.d.ts +1 -2
  390. package/dist/server/middleware-response-headers.js +0 -2
  391. package/dist/server/middleware-runtime.d.ts +1 -2
  392. package/dist/server/middleware-runtime.js +14 -5
  393. package/dist/server/middleware.d.ts +2 -3
  394. package/dist/server/middleware.js +0 -2
  395. package/dist/server/navigation-planner.d.ts +16 -2
  396. package/dist/server/navigation-planner.js +1 -3
  397. package/dist/server/navigation-trace.d.ts +1 -2
  398. package/dist/server/navigation-trace.js +0 -2
  399. package/dist/server/next-error-digest.d.ts +1 -2
  400. package/dist/server/next-error-digest.js +0 -2
  401. package/dist/server/normalize-path.d.ts +1 -2
  402. package/dist/server/normalize-path.js +0 -2
  403. package/dist/server/pages-api-route.d.ts +1 -2
  404. package/dist/server/pages-api-route.js +1 -3
  405. package/dist/server/pages-asset-tags.d.ts +66 -0
  406. package/dist/server/pages-asset-tags.js +116 -0
  407. package/dist/server/pages-body-parser-config.d.ts +1 -2
  408. package/dist/server/pages-body-parser-config.js +0 -2
  409. package/dist/server/pages-data-route.d.ts +39 -2
  410. package/dist/server/pages-data-route.js +46 -3
  411. package/dist/server/pages-default-404.d.ts +1 -2
  412. package/dist/server/pages-default-404.js +0 -2
  413. package/dist/server/pages-document-initial-props.d.ts +1 -2
  414. package/dist/server/pages-document-initial-props.js +0 -2
  415. package/dist/server/pages-get-initial-props.d.ts +17 -0
  416. package/dist/server/pages-get-initial-props.js +50 -0
  417. package/dist/server/pages-i18n.d.ts +1 -2
  418. package/dist/server/pages-i18n.js +0 -2
  419. package/dist/server/pages-media-type.d.ts +1 -2
  420. package/dist/server/pages-media-type.js +1 -2
  421. package/dist/server/pages-node-compat.d.ts +9 -2
  422. package/dist/server/pages-node-compat.js +34 -3
  423. package/dist/server/pages-page-data.d.ts +7 -3
  424. package/dist/server/pages-page-data.js +75 -33
  425. package/dist/server/pages-page-handler.d.ts +90 -0
  426. package/dist/server/pages-page-handler.js +335 -0
  427. package/dist/server/pages-page-method.d.ts +1 -2
  428. package/dist/server/pages-page-method.js +0 -2
  429. package/dist/server/pages-page-response.d.ts +1 -2
  430. package/dist/server/pages-page-response.js +8 -4
  431. package/dist/server/pages-serializable-props.d.ts +1 -2
  432. package/dist/server/pages-serializable-props.js +0 -2
  433. package/dist/server/pregenerated-concrete-paths.d.ts +32 -0
  434. package/dist/server/pregenerated-concrete-paths.js +78 -0
  435. package/dist/server/prerender-route-params.d.ts +13 -3
  436. package/dist/server/prerender-route-params.js +30 -11
  437. package/dist/server/prerender-work-unit-setup.d.ts +1 -2
  438. package/dist/server/prerender-work-unit-setup.js +0 -2
  439. package/dist/server/prod-server.d.ts +2 -4
  440. package/dist/server/prod-server.js +0 -2
  441. package/dist/server/proxy-trust.d.ts +1 -2
  442. package/dist/server/proxy-trust.js +0 -2
  443. package/dist/server/request-log.d.ts +1 -2
  444. package/dist/server/request-log.js +0 -2
  445. package/dist/server/request-pipeline.d.ts +14 -2
  446. package/dist/server/request-pipeline.js +42 -3
  447. package/dist/server/rsc-stream-hints.d.ts +1 -2
  448. package/dist/server/rsc-stream-hints.js +0 -2
  449. package/dist/server/seed-cache.d.ts +6 -2
  450. package/dist/server/seed-cache.js +10 -8
  451. package/dist/server/server-action-not-found.d.ts +1 -2
  452. package/dist/server/server-action-not-found.js +0 -2
  453. package/dist/server/server-globals.d.ts +1 -2
  454. package/dist/server/server-globals.js +0 -2
  455. package/dist/server/skip-cache-proof.d.ts +1 -2
  456. package/dist/server/skip-cache-proof.js +0 -2
  457. package/dist/server/socket-error-backstop.d.ts +1 -2
  458. package/dist/server/socket-error-backstop.js +0 -2
  459. package/dist/server/static-file-cache.d.ts +1 -2
  460. package/dist/server/static-file-cache.js +0 -2
  461. package/dist/server/static-layout-client-reuse-proof.d.ts +1 -2
  462. package/dist/server/static-layout-client-reuse-proof.js +0 -2
  463. package/dist/server/streaming-metadata.d.ts +1 -2
  464. package/dist/server/streaming-metadata.js +0 -2
  465. package/dist/server/worker-utils.d.ts +1 -2
  466. package/dist/server/worker-utils.js +3 -6
  467. package/dist/shims/amp.d.ts +1 -2
  468. package/dist/shims/amp.js +0 -2
  469. package/dist/shims/app-router-scroll-state.d.ts +1 -2
  470. package/dist/shims/app-router-scroll-state.js +0 -2
  471. package/dist/shims/app-router-scroll.d.ts +3 -5
  472. package/dist/shims/app-router-scroll.js +0 -2
  473. package/dist/shims/app.d.ts +1 -2
  474. package/dist/shims/app.js +0 -2
  475. package/dist/shims/before-interactive-context.d.ts +1 -2
  476. package/dist/shims/before-interactive-context.js +0 -2
  477. package/dist/shims/cache-for-request.d.ts +1 -2
  478. package/dist/shims/cache-for-request.js +0 -2
  479. package/dist/shims/cache-runtime.d.ts +20 -5
  480. package/dist/shims/cache-runtime.js +35 -30
  481. package/dist/shims/cache.d.ts +48 -7
  482. package/dist/shims/cache.js +79 -20
  483. package/dist/shims/cdn-cache.d.ts +125 -0
  484. package/dist/shims/cdn-cache.js +100 -0
  485. package/dist/shims/client-hook-error.d.ts +1 -2
  486. package/dist/shims/client-hook-error.js +0 -2
  487. package/dist/shims/client-locale.d.ts +1 -2
  488. package/dist/shims/client-locale.js +1 -3
  489. package/dist/shims/compat-router.d.ts +1 -2
  490. package/dist/shims/compat-router.js +0 -2
  491. package/dist/shims/config.d.ts +1 -2
  492. package/dist/shims/config.js +0 -2
  493. package/dist/shims/constants.d.ts +1 -2
  494. package/dist/shims/constants.js +0 -2
  495. package/dist/shims/default-global-error.d.ts +3 -4
  496. package/dist/shims/default-global-error.js +0 -2
  497. package/dist/shims/default-not-found.d.ts +1 -2
  498. package/dist/shims/default-not-found.js +0 -2
  499. package/dist/shims/document.d.ts +5 -7
  500. package/dist/shims/document.js +0 -2
  501. package/dist/shims/dynamic.d.ts +1 -2
  502. package/dist/shims/dynamic.js +0 -2
  503. package/dist/shims/error-boundary.d.ts +16 -12
  504. package/dist/shims/error-boundary.js +35 -2
  505. package/dist/shims/error.d.ts +1 -2
  506. package/dist/shims/error.js +0 -2
  507. package/dist/shims/fetch-cache.d.ts +1 -2
  508. package/dist/shims/fetch-cache.js +2 -4
  509. package/dist/shims/font-google-base.d.ts +1 -2
  510. package/dist/shims/font-google-base.js +1 -13
  511. package/dist/shims/font-local.d.ts +1 -2
  512. package/dist/shims/font-local.js +1 -15
  513. package/dist/shims/font-utils.d.ts +7 -2
  514. package/dist/shims/font-utils.js +13 -3
  515. package/dist/shims/form.d.ts +12 -5
  516. package/dist/shims/form.js +98 -21
  517. package/dist/shims/hash-scroll.d.ts +1 -2
  518. package/dist/shims/hash-scroll.js +0 -2
  519. package/dist/shims/head-state.d.ts +1 -2
  520. package/dist/shims/head-state.js +0 -2
  521. package/dist/shims/head.d.ts +1 -2
  522. package/dist/shims/head.js +0 -2
  523. package/dist/shims/headers.d.ts +9 -2
  524. package/dist/shims/headers.js +13 -3
  525. package/dist/shims/i18n-context.d.ts +1 -2
  526. package/dist/shims/i18n-context.js +0 -2
  527. package/dist/shims/i18n-state.d.ts +1 -2
  528. package/dist/shims/i18n-state.js +0 -2
  529. package/dist/shims/image-config.d.ts +1 -2
  530. package/dist/shims/image-config.js +0 -2
  531. package/dist/shims/image.d.ts +1 -2
  532. package/dist/shims/image.js +1 -3
  533. package/dist/shims/internal/als-registry.d.ts +1 -2
  534. package/dist/shims/internal/als-registry.js +0 -2
  535. package/dist/shims/internal/api-utils.d.ts +1 -2
  536. package/dist/shims/internal/app-route-detection.d.ts +1 -2
  537. package/dist/shims/internal/app-route-detection.js +0 -2
  538. package/dist/shims/internal/app-router-context.d.ts +1 -2
  539. package/dist/shims/internal/app-router-context.js +0 -2
  540. package/dist/shims/internal/cookie-serialize.d.ts +1 -2
  541. package/dist/shims/internal/cookie-serialize.js +0 -2
  542. package/dist/shims/internal/make-hanging-promise.d.ts +1 -2
  543. package/dist/shims/internal/make-hanging-promise.js +0 -2
  544. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +1 -2
  545. package/dist/shims/internal/pages-data-fetch-dedup.js +0 -2
  546. package/dist/shims/internal/pages-data-target.d.ts +1 -2
  547. package/dist/shims/internal/pages-data-target.js +0 -2
  548. package/dist/shims/internal/pages-data-url.d.ts +1 -2
  549. package/dist/shims/internal/pages-data-url.js +0 -2
  550. package/dist/shims/internal/parse-cookie-header.d.ts +1 -2
  551. package/dist/shims/internal/parse-cookie-header.js +0 -2
  552. package/dist/shims/internal/router-context.d.ts +2 -4
  553. package/dist/shims/internal/router-context.js +0 -2
  554. package/dist/shims/internal/utils.d.ts +1 -2
  555. package/dist/shims/internal/utils.js +0 -2
  556. package/dist/shims/internal/work-unit-async-storage.d.ts +1 -2
  557. package/dist/shims/internal/work-unit-async-storage.js +0 -2
  558. package/dist/shims/layout-segment-context.d.ts +2 -4
  559. package/dist/shims/layout-segment-context.js +0 -2
  560. package/dist/shims/legacy-image.d.ts +1 -2
  561. package/dist/shims/legacy-image.js +0 -2
  562. package/dist/shims/link-prefetch.d.ts +1 -2
  563. package/dist/shims/link-prefetch.js +0 -2
  564. package/dist/shims/link.d.ts +2 -2
  565. package/dist/shims/link.js +20 -14
  566. package/dist/shims/metadata.d.ts +4 -5
  567. package/dist/shims/metadata.js +1 -3
  568. package/dist/shims/navigation-state.d.ts +1 -2
  569. package/dist/shims/navigation-state.js +0 -2
  570. package/dist/shims/navigation.d.ts +23 -7
  571. package/dist/shims/navigation.js +188 -39
  572. package/dist/shims/navigation.react-server.d.ts +1 -2
  573. package/dist/shims/navigation.react-server.js +0 -2
  574. package/dist/shims/offline.d.ts +1 -2
  575. package/dist/shims/offline.js +0 -2
  576. package/dist/shims/og.d.ts +1 -2
  577. package/dist/shims/og.js +2 -4
  578. package/dist/shims/pages-router-runtime.d.ts +7 -2
  579. package/dist/shims/pages-router-runtime.js +11 -3
  580. package/dist/shims/ppr-fallback-shell.d.ts +29 -0
  581. package/dist/shims/ppr-fallback-shell.js +149 -0
  582. package/dist/shims/readonly-url-search-params.d.ts +1 -2
  583. package/dist/shims/readonly-url-search-params.js +0 -2
  584. package/dist/shims/request-context.d.ts +9 -5
  585. package/dist/shims/request-context.js +0 -2
  586. package/dist/shims/request-state-types.d.ts +1 -1
  587. package/dist/shims/root-params.d.ts +1 -2
  588. package/dist/shims/root-params.js +0 -2
  589. package/dist/shims/router-state.d.ts +1 -2
  590. package/dist/shims/router-state.js +0 -2
  591. package/dist/shims/router.d.ts +1 -2
  592. package/dist/shims/router.js +135 -20
  593. package/dist/shims/script-nonce-context.d.ts +1 -2
  594. package/dist/shims/script-nonce-context.js +0 -2
  595. package/dist/shims/script.d.ts +1 -2
  596. package/dist/shims/script.js +0 -2
  597. package/dist/shims/server.d.ts +1 -2
  598. package/dist/shims/server.js +0 -2
  599. package/dist/shims/slot.d.ts +11 -4
  600. package/dist/shims/slot.js +121 -9
  601. package/dist/shims/thenable-params.d.ts +2 -2
  602. package/dist/shims/thenable-params.js +107 -12
  603. package/dist/shims/unified-request-context.d.ts +1 -2
  604. package/dist/shims/unified-request-context.js +0 -2
  605. package/dist/shims/unrecognized-action-error.d.ts +1 -2
  606. package/dist/shims/unrecognized-action-error.js +0 -2
  607. package/dist/shims/url-safety.d.ts +1 -2
  608. package/dist/shims/url-safety.js +0 -2
  609. package/dist/shims/url-utils.d.ts +1 -2
  610. package/dist/shims/url-utils.js +0 -2
  611. package/dist/shims/use-merged-ref.d.ts +1 -2
  612. package/dist/shims/use-merged-ref.js +0 -2
  613. package/dist/shims/web-vitals.d.ts +1 -2
  614. package/dist/shims/web-vitals.js +0 -2
  615. package/dist/typegen.d.ts +1 -2
  616. package/dist/typegen.js +2 -9
  617. package/dist/utils/asset-prefix.d.ts +1 -2
  618. package/dist/utils/asset-prefix.js +0 -2
  619. package/dist/utils/base-path.d.ts +1 -2
  620. package/dist/utils/base-path.js +0 -2
  621. package/dist/utils/cache-control-metadata.d.ts +1 -4
  622. package/dist/utils/cache-control-metadata.js +1 -3
  623. package/dist/utils/client-build-manifest.d.ts +1 -2
  624. package/dist/utils/client-build-manifest.js +0 -2
  625. package/dist/utils/compare.d.ts +4 -0
  626. package/dist/utils/compare.js +8 -0
  627. package/dist/utils/dev-error-recovery-event.d.ts +4 -0
  628. package/dist/utils/dev-error-recovery-event.js +4 -0
  629. package/dist/utils/domain-locale.d.ts +1 -2
  630. package/dist/utils/domain-locale.js +2 -4
  631. package/dist/utils/encode-cache-tag.d.ts +1 -2
  632. package/dist/utils/encode-cache-tag.js +0 -2
  633. package/dist/utils/error-cause.d.ts +1 -2
  634. package/dist/utils/error-cause.js +0 -2
  635. package/dist/utils/hash.d.ts +1 -2
  636. package/dist/utils/hash.js +0 -2
  637. package/dist/utils/html-limited-bots.d.ts +1 -2
  638. package/dist/utils/html-limited-bots.js +0 -2
  639. package/dist/utils/lazy-chunks.d.ts +1 -2
  640. package/dist/utils/lazy-chunks.js +0 -2
  641. package/dist/utils/manifest-paths.d.ts +8 -3
  642. package/dist/utils/manifest-paths.js +15 -3
  643. package/dist/utils/mdx-scan.d.ts +1 -2
  644. package/dist/utils/mdx-scan.js +0 -2
  645. package/dist/utils/navigation-signal.d.ts +1 -2
  646. package/dist/utils/navigation-signal.js +0 -2
  647. package/dist/utils/number.d.ts +4 -0
  648. package/dist/utils/number.js +6 -0
  649. package/dist/utils/path.d.ts +4 -2
  650. package/dist/utils/path.js +5 -3
  651. package/dist/utils/prerender-output-paths.d.ts +1 -2
  652. package/dist/utils/prerender-output-paths.js +0 -2
  653. package/dist/utils/project.d.ts +1 -2
  654. package/dist/utils/project.js +0 -2
  655. package/dist/utils/promise.d.ts +4 -0
  656. package/dist/utils/promise.js +6 -0
  657. package/dist/utils/public-routes.d.ts +1 -2
  658. package/dist/utils/public-routes.js +0 -2
  659. package/dist/utils/query.d.ts +1 -2
  660. package/dist/utils/query.js +0 -2
  661. package/dist/utils/record.d.ts +1 -2
  662. package/dist/utils/record.js +0 -2
  663. package/dist/utils/regex.d.ts +4 -0
  664. package/dist/utils/regex.js +6 -0
  665. package/dist/utils/safe-json-file.d.ts +1 -2
  666. package/dist/utils/safe-json-file.js +0 -2
  667. package/dist/utils/sorted-array.d.ts +1 -2
  668. package/dist/utils/sorted-array.js +0 -2
  669. package/dist/utils/text-stream.d.ts +1 -2
  670. package/dist/utils/text-stream.js +0 -2
  671. package/dist/utils/vinext-root.d.ts +1 -2
  672. package/dist/utils/vinext-root.js +0 -2
  673. package/dist/utils/vite-version.d.ts +1 -2
  674. package/dist/utils/vite-version.js +0 -2
  675. package/package.json +19 -6
  676. package/dist/build/clean-output.js.map +0 -1
  677. package/dist/build/client-build-config.js.map +0 -1
  678. package/dist/build/google-fonts/build-url.js.map +0 -1
  679. package/dist/build/google-fonts/fallback-metrics-data.js.map +0 -1
  680. package/dist/build/google-fonts/fallback-metrics.js.map +0 -1
  681. package/dist/build/google-fonts/font-data.js.map +0 -1
  682. package/dist/build/google-fonts/font-metadata.js.map +0 -1
  683. package/dist/build/google-fonts/get-axes.js.map +0 -1
  684. package/dist/build/google-fonts/sort-variants.js.map +0 -1
  685. package/dist/build/google-fonts/validate.js.map +0 -1
  686. package/dist/build/inline-css.js.map +0 -1
  687. package/dist/build/layout-classification.js.map +0 -1
  688. package/dist/build/nitro-route-rules.js.map +0 -1
  689. package/dist/build/precompress.js.map +0 -1
  690. package/dist/build/prerender.js.map +0 -1
  691. package/dist/build/report.js.map +0 -1
  692. package/dist/build/route-classification-injector.js.map +0 -1
  693. package/dist/build/route-classification-manifest.js.map +0 -1
  694. package/dist/build/run-prerender.js.map +0 -1
  695. package/dist/build/server-manifest.js.map +0 -1
  696. package/dist/build/ssr-manifest.js.map +0 -1
  697. package/dist/build/standalone.js.map +0 -1
  698. package/dist/build/static-export.js.map +0 -1
  699. package/dist/check.js.map +0 -1
  700. package/dist/cli-args.js.map +0 -1
  701. package/dist/cli.js.map +0 -1
  702. package/dist/client/instrumentation-client-inject.js.map +0 -1
  703. package/dist/client/instrumentation-client-state.js.map +0 -1
  704. package/dist/client/instrumentation-client.js.map +0 -1
  705. package/dist/client/navigation-runtime.js.map +0 -1
  706. package/dist/client/pages-router-link-navigation.js.map +0 -1
  707. package/dist/client/validate-module-path.js.map +0 -1
  708. package/dist/client/vinext-next-data.js.map +0 -1
  709. package/dist/client/window-next.js.map +0 -1
  710. package/dist/cloudflare/kv-cache-handler.js.map +0 -1
  711. package/dist/cloudflare/tpr.js.map +0 -1
  712. package/dist/config/config-matchers.js.map +0 -1
  713. package/dist/config/dotenv.js.map +0 -1
  714. package/dist/config/next-config.js.map +0 -1
  715. package/dist/config/tsconfig-paths.js.map +0 -1
  716. package/dist/deploy.js.map +0 -1
  717. package/dist/entries/app-browser-entry.js.map +0 -1
  718. package/dist/entries/app-rsc-entry.js.map +0 -1
  719. package/dist/entries/app-rsc-manifest.js.map +0 -1
  720. package/dist/entries/app-ssr-entry.js.map +0 -1
  721. package/dist/entries/pages-client-entry.js.map +0 -1
  722. package/dist/entries/pages-entry-helpers.js.map +0 -1
  723. package/dist/entries/pages-server-entry.js.map +0 -1
  724. package/dist/entries/runtime-entry-module.js.map +0 -1
  725. package/dist/index.js.map +0 -1
  726. package/dist/init.js.map +0 -1
  727. package/dist/plugins/async-hooks-stub.js.map +0 -1
  728. package/dist/plugins/client-reference-dedup.js.map +0 -1
  729. package/dist/plugins/css-data-url.js.map +0 -1
  730. package/dist/plugins/fonts.js.map +0 -1
  731. package/dist/plugins/import-meta-url.js.map +0 -1
  732. package/dist/plugins/instrumentation-client.js.map +0 -1
  733. package/dist/plugins/middleware-server-only.js.map +0 -1
  734. package/dist/plugins/og-assets.js.map +0 -1
  735. package/dist/plugins/optimize-imports.js.map +0 -1
  736. package/dist/plugins/postcss.js.map +0 -1
  737. package/dist/plugins/remove-console.js.map +0 -1
  738. package/dist/plugins/rsc-client-reference-loaders.js.map +0 -1
  739. package/dist/plugins/rsc-client-shim-excludes.js.map +0 -1
  740. package/dist/plugins/sass.js.map +0 -1
  741. package/dist/plugins/server-externals-manifest.js.map +0 -1
  742. package/dist/plugins/strip-server-exports.js.map +0 -1
  743. package/dist/routing/app-route-graph.js.map +0 -1
  744. package/dist/routing/app-router.js.map +0 -1
  745. package/dist/routing/file-matcher.js.map +0 -1
  746. package/dist/routing/pages-router.js.map +0 -1
  747. package/dist/routing/route-matching.js.map +0 -1
  748. package/dist/routing/route-pattern.js.map +0 -1
  749. package/dist/routing/route-trie.js.map +0 -1
  750. package/dist/routing/route-validation.js.map +0 -1
  751. package/dist/routing/utils.js.map +0 -1
  752. package/dist/server/api-handler.js.map +0 -1
  753. package/dist/server/app-browser-action-result.js.map +0 -1
  754. package/dist/server/app-browser-entry.js.map +0 -1
  755. package/dist/server/app-browser-error.js.map +0 -1
  756. package/dist/server/app-browser-hydration.js.map +0 -1
  757. package/dist/server/app-browser-interception-context.js.map +0 -1
  758. package/dist/server/app-browser-mpa-navigation.js.map +0 -1
  759. package/dist/server/app-browser-navigation-controller.js.map +0 -1
  760. package/dist/server/app-browser-popstate.js.map +0 -1
  761. package/dist/server/app-browser-rsc-redirect.js.map +0 -1
  762. package/dist/server/app-browser-state.js.map +0 -1
  763. package/dist/server/app-browser-stream.js.map +0 -1
  764. package/dist/server/app-browser-visible-commit.js.map +0 -1
  765. package/dist/server/app-client-reference-preloader.js.map +0 -1
  766. package/dist/server/app-elements-wire.js.map +0 -1
  767. package/dist/server/app-elements.js.map +0 -1
  768. package/dist/server/app-fallback-renderer.js.map +0 -1
  769. package/dist/server/app-history-state.js.map +0 -1
  770. package/dist/server/app-hook-warning-suppression.js.map +0 -1
  771. package/dist/server/app-inline-css-client.js.map +0 -1
  772. package/dist/server/app-interception-context-header.js.map +0 -1
  773. package/dist/server/app-layout-param-observation.js.map +0 -1
  774. package/dist/server/app-middleware.js.map +0 -1
  775. package/dist/server/app-mounted-slots-header.js.map +0 -1
  776. package/dist/server/app-optimistic-routing.js.map +0 -1
  777. package/dist/server/app-page-boundary-render.js.map +0 -1
  778. package/dist/server/app-page-boundary.js.map +0 -1
  779. package/dist/server/app-page-cache.js.map +0 -1
  780. package/dist/server/app-page-dispatch.js.map +0 -1
  781. package/dist/server/app-page-element-builder.js.map +0 -1
  782. package/dist/server/app-page-execution.js.map +0 -1
  783. package/dist/server/app-page-head.js.map +0 -1
  784. package/dist/server/app-page-method.js.map +0 -1
  785. package/dist/server/app-page-params.js.map +0 -1
  786. package/dist/server/app-page-probe.js.map +0 -1
  787. package/dist/server/app-page-render-identity.js.map +0 -1
  788. package/dist/server/app-page-render-observation.js.map +0 -1
  789. package/dist/server/app-page-render.js.map +0 -1
  790. package/dist/server/app-page-request.js.map +0 -1
  791. package/dist/server/app-page-response.js.map +0 -1
  792. package/dist/server/app-page-route-wiring.js.map +0 -1
  793. package/dist/server/app-page-segment-state.js.map +0 -1
  794. package/dist/server/app-page-stream.js.map +0 -1
  795. package/dist/server/app-post-middleware-context.js.map +0 -1
  796. package/dist/server/app-prerender-endpoints.js.map +0 -1
  797. package/dist/server/app-prerender-static-params.js.map +0 -1
  798. package/dist/server/app-render-dependency.js.map +0 -1
  799. package/dist/server/app-request-context.js.map +0 -1
  800. package/dist/server/app-route-handler-cache.js.map +0 -1
  801. package/dist/server/app-route-handler-dispatch.js.map +0 -1
  802. package/dist/server/app-route-handler-execution.js.map +0 -1
  803. package/dist/server/app-route-handler-policy.js.map +0 -1
  804. package/dist/server/app-route-handler-response.js.map +0 -1
  805. package/dist/server/app-route-handler-runtime.js.map +0 -1
  806. package/dist/server/app-router-entry.js.map +0 -1
  807. package/dist/server/app-rsc-cache-busting.js.map +0 -1
  808. package/dist/server/app-rsc-embedded-chunks.js.map +0 -1
  809. package/dist/server/app-rsc-error-handler.js.map +0 -1
  810. package/dist/server/app-rsc-errors.js.map +0 -1
  811. package/dist/server/app-rsc-handler.js.map +0 -1
  812. package/dist/server/app-rsc-render-mode.js.map +0 -1
  813. package/dist/server/app-rsc-request-normalization.js.map +0 -1
  814. package/dist/server/app-rsc-response-finalizer.js.map +0 -1
  815. package/dist/server/app-rsc-route-matching.js.map +0 -1
  816. package/dist/server/app-segment-config.js.map +0 -1
  817. package/dist/server/app-server-action-execution.js.map +0 -1
  818. package/dist/server/app-ssr-entry.js.map +0 -1
  819. package/dist/server/app-ssr-error-meta.js.map +0 -1
  820. package/dist/server/app-ssr-stream.js.map +0 -1
  821. package/dist/server/app-static-generation.js.map +0 -1
  822. package/dist/server/artifact-compatibility.js.map +0 -1
  823. package/dist/server/cache-control.js.map +0 -1
  824. package/dist/server/cache-headers.js.map +0 -1
  825. package/dist/server/cache-proof.js.map +0 -1
  826. package/dist/server/client-reuse-manifest.js.map +0 -1
  827. package/dist/server/client-trace-metadata.js.map +0 -1
  828. package/dist/server/cookie-utils.js.map +0 -1
  829. package/dist/server/csp.js.map +0 -1
  830. package/dist/server/default-global-error-module.js.map +0 -1
  831. package/dist/server/default-not-found-module.js.map +0 -1
  832. package/dist/server/dev-error-overlay-store.js.map +0 -1
  833. package/dist/server/dev-error-overlay.js.map +0 -1
  834. package/dist/server/dev-lockfile.js.map +0 -1
  835. package/dist/server/dev-module-runner.js.map +0 -1
  836. package/dist/server/dev-origin-check.js.map +0 -1
  837. package/dist/server/dev-route-files.js.map +0 -1
  838. package/dist/server/dev-server.js.map +0 -1
  839. package/dist/server/document-initial-head.js.map +0 -1
  840. package/dist/server/edge-api-runtime.js.map +0 -1
  841. package/dist/server/file-based-metadata.js.map +0 -1
  842. package/dist/server/headers.js.map +0 -1
  843. package/dist/server/html.js.map +0 -1
  844. package/dist/server/http-error-responses.js.map +0 -1
  845. package/dist/server/image-optimization.js.map +0 -1
  846. package/dist/server/implicit-tags.js.map +0 -1
  847. package/dist/server/instrumentation-runtime.js.map +0 -1
  848. package/dist/server/instrumentation.js.map +0 -1
  849. package/dist/server/isr-cache.js.map +0 -1
  850. package/dist/server/metadata-route-build-data.js.map +0 -1
  851. package/dist/server/metadata-route-response.js.map +0 -1
  852. package/dist/server/metadata-routes.js.map +0 -1
  853. package/dist/server/middleware-matcher.js.map +0 -1
  854. package/dist/server/middleware-request-headers.js.map +0 -1
  855. package/dist/server/middleware-response-headers.js.map +0 -1
  856. package/dist/server/middleware-runtime.js.map +0 -1
  857. package/dist/server/middleware.js.map +0 -1
  858. package/dist/server/navigation-planner.js.map +0 -1
  859. package/dist/server/navigation-trace.js.map +0 -1
  860. package/dist/server/next-error-digest.js.map +0 -1
  861. package/dist/server/normalize-path.js.map +0 -1
  862. package/dist/server/pages-api-route.js.map +0 -1
  863. package/dist/server/pages-body-parser-config.js.map +0 -1
  864. package/dist/server/pages-data-route.js.map +0 -1
  865. package/dist/server/pages-default-404.js.map +0 -1
  866. package/dist/server/pages-document-initial-props.js.map +0 -1
  867. package/dist/server/pages-i18n.js.map +0 -1
  868. package/dist/server/pages-media-type.js.map +0 -1
  869. package/dist/server/pages-node-compat.js.map +0 -1
  870. package/dist/server/pages-page-data.js.map +0 -1
  871. package/dist/server/pages-page-method.js.map +0 -1
  872. package/dist/server/pages-page-response.js.map +0 -1
  873. package/dist/server/pages-serializable-props.js.map +0 -1
  874. package/dist/server/prerender-route-params.js.map +0 -1
  875. package/dist/server/prerender-work-unit-setup.js.map +0 -1
  876. package/dist/server/prod-server.js.map +0 -1
  877. package/dist/server/proxy-trust.js.map +0 -1
  878. package/dist/server/request-log.js.map +0 -1
  879. package/dist/server/request-pipeline.js.map +0 -1
  880. package/dist/server/rsc-stream-hints.js.map +0 -1
  881. package/dist/server/seed-cache.js.map +0 -1
  882. package/dist/server/server-action-not-found.js.map +0 -1
  883. package/dist/server/server-globals.js.map +0 -1
  884. package/dist/server/skip-cache-proof.js.map +0 -1
  885. package/dist/server/socket-error-backstop.js.map +0 -1
  886. package/dist/server/static-file-cache.js.map +0 -1
  887. package/dist/server/static-layout-client-reuse-proof.js.map +0 -1
  888. package/dist/server/streaming-metadata.js.map +0 -1
  889. package/dist/server/worker-utils.js.map +0 -1
  890. package/dist/shims/amp.js.map +0 -1
  891. package/dist/shims/app-router-scroll-state.js.map +0 -1
  892. package/dist/shims/app-router-scroll.js.map +0 -1
  893. package/dist/shims/app.js.map +0 -1
  894. package/dist/shims/before-interactive-context.js.map +0 -1
  895. package/dist/shims/cache-for-request.js.map +0 -1
  896. package/dist/shims/cache-runtime.js.map +0 -1
  897. package/dist/shims/cache.js.map +0 -1
  898. package/dist/shims/client-hook-error.js.map +0 -1
  899. package/dist/shims/client-locale.js.map +0 -1
  900. package/dist/shims/compat-router.js.map +0 -1
  901. package/dist/shims/config.js.map +0 -1
  902. package/dist/shims/constants.js.map +0 -1
  903. package/dist/shims/default-global-error.js.map +0 -1
  904. package/dist/shims/default-not-found.js.map +0 -1
  905. package/dist/shims/document.js.map +0 -1
  906. package/dist/shims/dynamic.js.map +0 -1
  907. package/dist/shims/error-boundary.js.map +0 -1
  908. package/dist/shims/error.js.map +0 -1
  909. package/dist/shims/fetch-cache.js.map +0 -1
  910. package/dist/shims/font-google-base.js.map +0 -1
  911. package/dist/shims/font-local.js.map +0 -1
  912. package/dist/shims/font-utils.js.map +0 -1
  913. package/dist/shims/form.js.map +0 -1
  914. package/dist/shims/hash-scroll.js.map +0 -1
  915. package/dist/shims/head-state.js.map +0 -1
  916. package/dist/shims/head.js.map +0 -1
  917. package/dist/shims/headers.js.map +0 -1
  918. package/dist/shims/i18n-context.js.map +0 -1
  919. package/dist/shims/i18n-state.js.map +0 -1
  920. package/dist/shims/image-config.js.map +0 -1
  921. package/dist/shims/image.js.map +0 -1
  922. package/dist/shims/internal/als-registry.js.map +0 -1
  923. package/dist/shims/internal/app-route-detection.js.map +0 -1
  924. package/dist/shims/internal/app-router-context.js.map +0 -1
  925. package/dist/shims/internal/cookie-serialize.js.map +0 -1
  926. package/dist/shims/internal/make-hanging-promise.js.map +0 -1
  927. package/dist/shims/internal/pages-data-fetch-dedup.js.map +0 -1
  928. package/dist/shims/internal/pages-data-target.js.map +0 -1
  929. package/dist/shims/internal/pages-data-url.js.map +0 -1
  930. package/dist/shims/internal/parse-cookie-header.js.map +0 -1
  931. package/dist/shims/internal/router-context.js.map +0 -1
  932. package/dist/shims/internal/utils.js.map +0 -1
  933. package/dist/shims/internal/work-unit-async-storage.js.map +0 -1
  934. package/dist/shims/layout-segment-context.js.map +0 -1
  935. package/dist/shims/legacy-image.js.map +0 -1
  936. package/dist/shims/link-prefetch.js.map +0 -1
  937. package/dist/shims/link.js.map +0 -1
  938. package/dist/shims/metadata.js.map +0 -1
  939. package/dist/shims/navigation-state.js.map +0 -1
  940. package/dist/shims/navigation.js.map +0 -1
  941. package/dist/shims/navigation.react-server.js.map +0 -1
  942. package/dist/shims/offline.js.map +0 -1
  943. package/dist/shims/og.js.map +0 -1
  944. package/dist/shims/pages-router-runtime.js.map +0 -1
  945. package/dist/shims/readonly-url-search-params.js.map +0 -1
  946. package/dist/shims/request-context.js.map +0 -1
  947. package/dist/shims/root-params.js.map +0 -1
  948. package/dist/shims/router-state.js.map +0 -1
  949. package/dist/shims/router.js.map +0 -1
  950. package/dist/shims/script-nonce-context.js.map +0 -1
  951. package/dist/shims/script.js.map +0 -1
  952. package/dist/shims/server.js.map +0 -1
  953. package/dist/shims/slot.js.map +0 -1
  954. package/dist/shims/thenable-params.js.map +0 -1
  955. package/dist/shims/unified-request-context.js.map +0 -1
  956. package/dist/shims/unrecognized-action-error.js.map +0 -1
  957. package/dist/shims/url-safety.js.map +0 -1
  958. package/dist/shims/url-utils.js.map +0 -1
  959. package/dist/shims/use-merged-ref.js.map +0 -1
  960. package/dist/shims/web-vitals.js.map +0 -1
  961. package/dist/typegen.js.map +0 -1
  962. package/dist/utils/asset-prefix.js.map +0 -1
  963. package/dist/utils/base-path.js.map +0 -1
  964. package/dist/utils/cache-control-metadata.js.map +0 -1
  965. package/dist/utils/client-build-manifest.js.map +0 -1
  966. package/dist/utils/domain-locale.js.map +0 -1
  967. package/dist/utils/encode-cache-tag.js.map +0 -1
  968. package/dist/utils/error-cause.js.map +0 -1
  969. package/dist/utils/hash.js.map +0 -1
  970. package/dist/utils/html-limited-bots.js.map +0 -1
  971. package/dist/utils/lazy-chunks.js.map +0 -1
  972. package/dist/utils/manifest-paths.js.map +0 -1
  973. package/dist/utils/mdx-scan.js.map +0 -1
  974. package/dist/utils/navigation-signal.js.map +0 -1
  975. package/dist/utils/path.js.map +0 -1
  976. package/dist/utils/prerender-output-paths.js.map +0 -1
  977. package/dist/utils/project.js.map +0 -1
  978. package/dist/utils/public-routes.js.map +0 -1
  979. package/dist/utils/query.js.map +0 -1
  980. package/dist/utils/record.js.map +0 -1
  981. package/dist/utils/safe-json-file.js.map +0 -1
  982. package/dist/utils/sorted-array.js.map +0 -1
  983. package/dist/utils/text-stream.js.map +0 -1
  984. package/dist/utils/vinext-root.js.map +0 -1
  985. package/dist/utils/vite-version.js.map +0 -1
@@ -22,5 +22,4 @@ declare function resolveEntryPath(rel: string, base: string): string;
22
22
  declare function resolveRuntimeEntryModule(name: string): string;
23
23
  declare function resolveClientRuntimeModule(name: string): string;
24
24
  //#endregion
25
- export { resolveClientRuntimeModule, resolveEntryPath, resolveRuntimeEntryModule };
26
- //# sourceMappingURL=runtime-entry-module.d.ts.map
25
+ export { resolveClientRuntimeModule, resolveEntryPath, resolveRuntimeEntryModule };
@@ -44,5 +44,3 @@ function resolveRuntimeModulePath(directory, name) {
44
44
  }
45
45
  //#endregion
46
46
  export { resolveClientRuntimeModule, resolveEntryPath, resolveRuntimeEntryModule };
47
-
48
- //# sourceMappingURL=runtime-entry-module.js.map
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { NextConfig, NextConfigInput } from "./config/next-config.js";
2
2
  import { AppStaticExportOptions, StaticExportOptions, StaticExportResult, staticExportApp, staticExportPages } from "./build/static-export.js";
3
+ import { VinextCacheConfig } from "./cache/cache-adapters-virtual.js";
3
4
  import { PluginOption } from "vite";
4
5
  import { Options } from "@vitejs/plugin-react";
5
6
 
@@ -78,6 +79,26 @@ type VinextOptions = {
78
79
  * @default false
79
80
  */
80
81
  precompress?: boolean;
82
+ /**
83
+ * Configure cache handlers declaratively, so you don't need a custom worker
84
+ * entry that calls `setDataCacheHandler()` / `setCdnCacheAdapter()`. Each slot
85
+ * is a `{ adapter, options }` descriptor pointing at an adapter module whose
86
+ * default export is a factory; the plugin registers them automatically on the
87
+ * first request, passing the host `env` (Worker bindings) so adapters that
88
+ * need a binding — e.g. a KV namespace — can read it.
89
+ *
90
+ * @example
91
+ * import { cdnAdapter } from "@vinext/cloudflare/cache/cdn-adapter";
92
+ * import { kvDataAdapter } from "@vinext/cloudflare/cache/kv-data-adapter";
93
+ *
94
+ * vinext({
95
+ * cache: {
96
+ * cdn: cdnAdapter(),
97
+ * data: kvDataAdapter({ binding: "MY_KV" }),
98
+ * },
99
+ * })
100
+ */
101
+ cache?: VinextCacheConfig;
81
102
  /**
82
103
  * Experimental vinext-only feature flags.
83
104
  */
@@ -93,5 +114,4 @@ type VinextOptions = {
93
114
  };
94
115
  declare function vinext(options?: VinextOptions): PluginOption[];
95
116
  //#endregion
96
- export { type AppStaticExportOptions, type NextConfig, type StaticExportOptions, type StaticExportResult, VinextOptions, vinext as default, staticExportApp, staticExportPages };
97
- //# sourceMappingURL=index.d.ts.map
117
+ export { type AppStaticExportOptions, type NextConfig, type StaticExportOptions, type StaticExportResult, VinextOptions, vinext as default, staticExportApp, staticExportPages };
package/dist/index.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import { detectPackageManager } from "./utils/project.js";
2
2
  import { normalizePathnameForRouteMatchStrict } from "./routing/utils.js";
3
- import { buildViteResolveExtensions, createValidFileMatcher } from "./routing/file-matcher.js";
3
+ import { buildViteResolveExtensions, createValidFileMatcher, findFileWithExts } from "./routing/file-matcher.js";
4
4
  import { hasBasePath } from "./utils/base-path.js";
5
5
  import { apiRouter, invalidateRouteCache, matchRoute, pagesRouter } from "./routing/pages-router.js";
6
+ import { normalizePathSeparators } from "./utils/path.js";
6
7
  import { INTERNAL_HEADERS, VINEXT_INTERNAL_HEADERS, VINEXT_MW_CTX_HEADER, VINEXT_TIMING_HEADER } from "./server/headers.js";
7
8
  import { buildRequestHeadersFromMiddlewareResponse } from "./server/middleware-request-headers.js";
8
9
  import { normalizePath as normalizePath$1 } from "./server/normalize-path.js";
@@ -13,6 +14,7 @@ import { generateServerEntry } from "./entries/pages-server-entry.js";
13
14
  import { generateClientEntry } from "./entries/pages-client-entry.js";
14
15
  import { appRouteGraph, appRouter, invalidateAppRouteCache } from "./routing/app-router.js";
15
16
  import { findInstrumentationClientFile, findInstrumentationFile, runInstrumentation } from "./server/instrumentation.js";
17
+ import { isUnknownRecord } from "./utils/record.js";
16
18
  import { mergeRewriteQuery } from "./utils/query.js";
17
19
  import { logRequest, now } from "./server/request-log.js";
18
20
  import { normalizeDefaultLocalePathname, stripI18nLocaleForApiRoute } from "./server/pages-i18n.js";
@@ -26,6 +28,7 @@ import { createDirectRunner } from "./server/dev-module-runner.js";
26
28
  import { validateDevRequest } from "./server/dev-origin-check.js";
27
29
  import { generateRscEntry } from "./entries/app-rsc-entry.js";
28
30
  import { generateSsrEntry } from "./entries/app-ssr-entry.js";
31
+ import { VIRTUAL_CACHE_ADAPTERS, generateCacheAdaptersModule } from "./cache/cache-adapters-virtual.js";
29
32
  import { generateBrowserEntry, isLinkPrefetchRoute, toLinkPrefetchRoute } from "./entries/app-browser-entry.js";
30
33
  import { collectRouteClassificationManifest } from "./build/route-classification-manifest.js";
31
34
  import { planRouteClassificationInjection } from "./build/route-classification-injector.js";
@@ -33,10 +36,12 @@ import { PHASE_DEVELOPMENT_SERVER, PHASE_PRODUCTION_BUILD } from "./shims/consta
33
36
  import { ASSET_PREFIX_URL_DIR, resolveAssetUrlPrefix, resolveAssetsDir } from "./utils/asset-prefix.js";
34
37
  import { RESOLVED_VIRTUAL_GOOGLE_FONTS, VIRTUAL_GOOGLE_FONTS, createGoogleFontsPlugin, createLocalFontsPlugin, generateGoogleFontsVirtualModule, parseStaticObjectLiteral } from "./plugins/fonts.js";
35
38
  import { getViteMajorVersion } from "./utils/vite-version.js";
36
- import { findNextConfigPath, loadNextConfig, resolveNextConfig, resolveNextConfigInput } from "./config/next-config.js";
39
+ import { createRscCompatibilityId, findNextConfigPath, loadNextConfig, resolveNextConfig, resolveNextConfigInput } from "./config/next-config.js";
37
40
  import { isNextDataPathname, parseNextDataPathname } from "./server/pages-data-route.js";
38
41
  import { precompressAssets } from "./build/precompress.js";
42
+ import { emitNextClientRuntimeManifests } from "./build/next-client-runtime-manifests.js";
39
43
  import { collectInlineCssManifest, injectInlineCssManifestGlobal } from "./build/inline-css.js";
44
+ import { installDevStackSourcemapMiddleware } from "./server/dev-stack-sourcemap.js";
40
45
  import { manifestFilesWithBase } from "./utils/manifest-paths.js";
41
46
  import { asyncHooksStubPlugin } from "./plugins/async-hooks-stub.js";
42
47
  import { clientReferenceDedupPlugin } from "./plugins/client-reference-dedup.js";
@@ -46,7 +51,7 @@ import { createInstrumentationClientTransformPlugin } from "./plugins/instrument
46
51
  import { INSTRUMENTATION_CLIENT_EMPTY_MODULE, generateInstrumentationClientInjectModule } from "./client/instrumentation-client-inject.js";
47
52
  import { createMiddlewareServerOnlyPlugin } from "./plugins/middleware-server-only.js";
48
53
  import { createOptimizeImportsPlugin } from "./plugins/optimize-imports.js";
49
- import { createOgInlineFetchAssetsPlugin, ogAssetsPlugin } from "./plugins/og-assets.js";
54
+ import { createOgAssetsPlugin, createOgInlineFetchAssetsPlugin } from "./plugins/og-assets.js";
50
55
  import { generateRouteTypes } from "./typegen.js";
51
56
  import { SSR_EXTERNAL_REACT_ENTRIES, VINEXT_OPTIMIZE_DEPS_EXCLUDE, mergeOptimizeDepsExclude } from "./plugins/rsc-client-shim-excludes.js";
52
57
  import { createServerExternalsManifestPlugin } from "./plugins/server-externals-manifest.js";
@@ -55,7 +60,8 @@ import { findClientEntryFile, readClientBuildManifest } from "./utils/client-bui
55
60
  import { formatMissingCloudflarePluginError, hasWranglerConfig } from "./deploy.js";
56
61
  import { resolvePostcssStringPlugins } from "./plugins/postcss.js";
57
62
  import { buildSassPreprocessorOptions } from "./plugins/sass.js";
58
- import { createClientCodeSplittingConfig, createClientManualChunks, createClientOutputConfig, getBuildBundlerOptions, getClientTreeshakeConfigForVite, withBuildBundlerOptions } from "./build/client-build-config.js";
63
+ import { createClientAssetFileNames, createClientCodeSplittingConfig, createClientManualChunks, createClientOutputConfig, getBuildBundlerOptions, getClientTreeshakeConfigForVite, withBuildBundlerOptions } from "./build/client-build-config.js";
64
+ import { markCssUrlAssetReferences, restoreDedupedCssAssetReferences } from "./build/css-url-assets.js";
59
65
  import { augmentSsrManifestFromBundle, relativeWithinRoot, tryRealpathSync } from "./build/ssr-manifest.js";
60
66
  import { stripServerExports } from "./plugins/strip-server-exports.js";
61
67
  import { removeConsoleCalls } from "./plugins/remove-console.js";
@@ -74,9 +80,13 @@ import MagicString from "magic-string";
74
80
  import tsconfigPaths from "vite-tsconfig-paths";
75
81
  //#region src/index.ts
76
82
  installSocketErrorBackstop();
77
- function createRscCompatibilityId(nextConfig) {
78
- if (nextConfig.deploymentId) return nextConfig.deploymentId;
79
- return randomUUID();
83
+ function stripViteModuleQuery(id) {
84
+ const queryIndex = id.search(/[?#]/);
85
+ return queryIndex === -1 ? id : id.slice(0, queryIndex);
86
+ }
87
+ function isInsideDirectory(dir, filePath) {
88
+ const relativePath = path.relative(dir, filePath);
89
+ return relativePath !== "" && !relativePath.startsWith("..") && !path.isAbsolute(relativePath);
80
90
  }
81
91
  function hasModuleLevelUseServerDirective(body) {
82
92
  for (const node of body) {
@@ -154,9 +164,6 @@ function isVinextOgShimImporter(importer) {
154
164
  function toRelativeFileEntry(root, absPath) {
155
165
  return path.relative(root, absPath).split(path.sep).join("/");
156
166
  }
157
- function isRecord(value) {
158
- return !!value && typeof value === "object" && !Array.isArray(value);
159
- }
160
167
  const TSCONFIG_FILES = ["tsconfig.json", "jsconfig.json"];
161
168
  function resolveTsconfigPathCandidate(candidate) {
162
169
  const candidates = candidate.endsWith(".json") ? [candidate] : [
@@ -230,8 +237,8 @@ function loadTsconfigPathAliases(configPath, projectRoot, seen = /* @__PURE__ */
230
237
  const extendedPath = resolveTsconfigExtends(normalizedPath, parsed.extends);
231
238
  if (extendedPath) aliases = loadTsconfigPathAliases(extendedPath, projectRoot, seen);
232
239
  }
233
- const compilerOptions = isRecord(parsed.compilerOptions) ? parsed.compilerOptions : null;
234
- const pathsConfig = compilerOptions && isRecord(compilerOptions.paths) ? compilerOptions.paths : null;
240
+ const compilerOptions = isUnknownRecord(parsed.compilerOptions) ? parsed.compilerOptions : null;
241
+ const pathsConfig = compilerOptions && isUnknownRecord(compilerOptions.paths) ? compilerOptions.paths : null;
235
242
  if (!pathsConfig) return aliases;
236
243
  const baseUrl = compilerOptions && typeof compilerOptions.baseUrl === "string" ? compilerOptions.baseUrl : ".";
237
244
  const resolvedBaseUrl = path.resolve(path.dirname(normalizedPath), baseUrl);
@@ -275,16 +282,18 @@ function resolveTsconfigAliases(projectRoot) {
275
282
  return aliases;
276
283
  }
277
284
  const VIRTUAL_SERVER_ENTRY = "virtual:vinext-server-entry";
278
- const RESOLVED_SERVER_ENTRY = "\0" + VIRTUAL_SERVER_ENTRY;
285
+ const RESOLVED_SERVER_ENTRY = "\0virtual:vinext-server-entry";
279
286
  const VIRTUAL_CLIENT_ENTRY = "virtual:vinext-client-entry";
280
- const RESOLVED_CLIENT_ENTRY = "\0" + VIRTUAL_CLIENT_ENTRY;
287
+ const RESOLVED_CLIENT_ENTRY = "\0virtual:vinext-client-entry";
281
288
  const VIRTUAL_RSC_ENTRY = "virtual:vinext-rsc-entry";
282
- const RESOLVED_RSC_ENTRY = "\0" + VIRTUAL_RSC_ENTRY;
289
+ const RESOLVED_RSC_ENTRY = "\0virtual:vinext-rsc-entry";
283
290
  const VIRTUAL_APP_SSR_ENTRY = "virtual:vinext-app-ssr-entry";
284
- const RESOLVED_APP_SSR_ENTRY = "\0" + VIRTUAL_APP_SSR_ENTRY;
291
+ const RESOLVED_APP_SSR_ENTRY = "\0virtual:vinext-app-ssr-entry";
285
292
  const VIRTUAL_APP_BROWSER_ENTRY = "virtual:vinext-app-browser-entry";
286
- const RESOLVED_APP_BROWSER_ENTRY = "\0" + VIRTUAL_APP_BROWSER_ENTRY;
293
+ const RESOLVED_APP_BROWSER_ENTRY = "\0virtual:vinext-app-browser-entry";
287
294
  const RESOLVED_ROOT_PARAMS = "\0virtual:vinext-root-params";
295
+ /** Virtual module that registers config-driven cache adapters (see VinextOptions.cache). */
296
+ const RESOLVED_CACHE_ADAPTERS = "\0" + VIRTUAL_CACHE_ADAPTERS;
288
297
  /** Virtual module for composed instrumentation-client bootstrap. */
289
298
  const VIRTUAL_INSTRUMENTATION_CLIENT = "private-next-instrumentation-client";
290
299
  const RESOLVED_INSTRUMENTATION_CLIENT = `\0${VIRTUAL_INSTRUMENTATION_CLIENT}.mjs`;
@@ -369,10 +378,12 @@ const _reactServerShims = new Map([
369
378
  ["next/dist/client/components/navigation", "navigation"]
370
379
  ]);
371
380
  const clientManualChunks = createClientManualChunks(_shimsDir);
372
- const clientOutputConfig = createClientOutputConfig(clientManualChunks);
373
381
  const clientCodeSplittingConfig = createClientCodeSplittingConfig(clientManualChunks);
374
- function getClientOutputConfigForVite(viteMajorVersion) {
375
- return viteMajorVersion >= 8 ? { codeSplitting: clientCodeSplittingConfig } : clientOutputConfig;
382
+ function getClientOutputConfigForVite(viteMajorVersion, assetsDir) {
383
+ return viteMajorVersion >= 8 ? {
384
+ assetFileNames: createClientAssetFileNames(assetsDir),
385
+ codeSplitting: clientCodeSplittingConfig
386
+ } : createClientOutputConfig(clientManualChunks, assetsDir);
376
387
  }
377
388
  function vinext(options = {}) {
378
389
  const viteMajorVersion = getViteMajorVersion();
@@ -387,6 +398,7 @@ function vinext(options = {}) {
387
398
  let instrumentationPath = null;
388
399
  let instrumentationClientPath = null;
389
400
  let clientInjectModule = null;
401
+ let clientAssetsInlineLimit = 0;
390
402
  let hasCloudflarePlugin = false;
391
403
  let warnedInlineNextConfigOverride = false;
392
404
  let hasNitroPlugin = false;
@@ -418,7 +430,10 @@ function vinext(options = {}) {
418
430
  */
419
431
  async function generateClientEntry$1() {
420
432
  const appPrefetchRoutes = hasAppDir ? (await appRouter(appDir, nextConfig?.pageExtensions, fileMatcher)).filter(isLinkPrefetchRoute).map(toLinkPrefetchRoute) : [];
421
- return generateClientEntry(pagesDir, nextConfig, fileMatcher, { appPrefetchRoutes });
433
+ return generateClientEntry(pagesDir, nextConfig, fileMatcher, {
434
+ appPrefetchRoutes,
435
+ instrumentationClientPath
436
+ });
422
437
  }
423
438
  async function writeRouteTypes() {
424
439
  if (!hasAppDir) return;
@@ -566,8 +581,16 @@ function vinext(options = {}) {
566
581
  rawConfig = await resolveNextConfigInput(options.nextConfig, phase);
567
582
  } else rawConfig = await loadNextConfig(root, phase);
568
583
  nextConfig = await resolveNextConfig(rawConfig, root);
584
+ const sharedBuildId = process.env.__VINEXT_SHARED_BUILD_ID;
585
+ if (sharedBuildId && sharedBuildId.length > 0) nextConfig = {
586
+ ...nextConfig,
587
+ buildId: sharedBuildId
588
+ };
589
+ }
590
+ if (rscCompatibilityId === void 0) {
591
+ const sharedRscCompatibilityId = process.env.__VINEXT_SHARED_RSC_COMPATIBILITY_ID;
592
+ rscCompatibilityId = sharedRscCompatibilityId && sharedRscCompatibilityId.length > 0 ? sharedRscCompatibilityId : createRscCompatibilityId(nextConfig);
569
593
  }
570
- rscCompatibilityId ??= createRscCompatibilityId(nextConfig);
571
594
  fileMatcher = createValidFileMatcher(nextConfig.pageExtensions);
572
595
  instrumentationPath = findInstrumentationFile(root, fileMatcher);
573
596
  instrumentationClientPath = findInstrumentationClientFile(root, fileMatcher);
@@ -619,6 +642,7 @@ function vinext(options = {}) {
619
642
  defines["process.env.NEXT_DEPLOYMENT_ID"] = nextConfig.deploymentId ? JSON.stringify(nextConfig.deploymentId) : "false";
620
643
  defines["process.env.__NEXT_VERSION"] = JSON.stringify(getVinextVersion());
621
644
  defines["process.env.__NEXT_APP_SHELLS"] = JSON.stringify(nextConfig.appShells);
645
+ defines["process.env.__NEXT_CACHE_COMPONENTS"] = JSON.stringify(String(nextConfig.cacheComponents ?? false));
622
646
  for (const [key, value] of Object.entries(nextConfig.compilerDefine)) {
623
647
  if (key in defines) throw new Error(`The \`compiler.define\` option is configured to replace the \`${key}\` variable. This variable is either part of a built-in or is already configured.`);
624
648
  defines[key] = value;
@@ -678,6 +702,7 @@ function vinext(options = {}) {
678
702
  "vinext/cache": path.resolve(__dirname, "cache"),
679
703
  "vinext/instrumentation": path.resolve(__dirname, "server", "instrumentation"),
680
704
  "vinext/instrumentation-client": path.resolve(__dirname, "client", "instrumentation-client"),
705
+ "vinext/dev-error-overlay": path.resolve(__dirname, "server", "dev-error-overlay"),
681
706
  "vinext/html": path.resolve(__dirname, "server", "html"),
682
707
  ...clientInjectModule === null ? { "private-next-instrumentation-client": instrumentationClientPath ?? INSTRUMENTATION_CLIENT_EMPTY_MODULE } : {}
683
708
  }).flatMap(([k, v]) => k.startsWith("next/") ? [[k, v], [`${k}.js`, v]] : [[k, v]]));
@@ -696,6 +721,15 @@ function vinext(options = {}) {
696
721
  if (!hasUserMdxPlugin && hasMdxFiles(root, hasAppDir ? appDir : null, hasPagesDir ? pagesDir : null)) await ensureMdxDelegate("detected");
697
722
  const isSSR = !!config.build?.ssr;
698
723
  const isMultiEnv = hasAppDir || hasCloudflarePlugin || hasNitroPlugin;
724
+ const hasBuildInput = getBuildBundlerOptions(config.build)?.input !== void 0;
725
+ const shouldInjectPlainPagesEnvironments = !hasAppDir && !hasCloudflarePlugin && !isSSR && !hasBuildInput;
726
+ const hasClientBuildEnvironment = hasAppDir || hasCloudflarePlugin || hasNitroPlugin || shouldInjectPlainPagesEnvironments;
727
+ const clientAssetsDir = resolveAssetsDir(nextConfig.assetPrefix ?? "");
728
+ clientAssetsInlineLimit = config.build?.assetsInlineLimit ?? 0;
729
+ const devHmrConfig = config.server?.hmr === false ? false : {
730
+ ...typeof config.server?.hmr === "object" ? config.server.hmr : {},
731
+ overlay: false
732
+ };
699
733
  const viteConfig = {
700
734
  appType: "custom",
701
735
  build: {
@@ -706,7 +740,8 @@ function vinext(options = {}) {
706
740
  "firefox114",
707
741
  "safari15"
708
742
  ],
709
- assetsDir: resolveAssetsDir(nextConfig.assetPrefix ?? ""),
743
+ assetsDir: clientAssetsDir,
744
+ ...!isSSR && !hasClientBuildEnvironment ? { assetsInlineLimit: clientAssetsInlineLimit } : {},
710
745
  ...withBuildBundlerOptions(viteMajorVersion, {
711
746
  onwarn: (() => {
712
747
  const userOnwarn = getBuildBundlerOptions(config.build)?.onwarn;
@@ -719,13 +754,16 @@ function vinext(options = {}) {
719
754
  };
720
755
  })(),
721
756
  ...!isSSR && !isMultiEnv ? { treeshake: getClientTreeshakeConfigForVite(viteMajorVersion) } : {},
722
- ...!isSSR && !isMultiEnv ? { output: getClientOutputConfigForVite(viteMajorVersion) } : {}
757
+ ...!isSSR && !isMultiEnv ? { output: getClientOutputConfigForVite(viteMajorVersion, clientAssetsDir) } : {}
723
758
  })
724
759
  },
725
- server: { cors: {
726
- preflightContinue: true,
727
- origin: /^https?:\/\/(?:(?:[^:]+\.)?localhost|127\.0\.0\.1|\[::1\])(?::\d+)?$/
728
- } },
760
+ server: {
761
+ cors: {
762
+ preflightContinue: true,
763
+ origin: /^https?:\/\/(?:(?:[^:]+\.)?localhost|127\.0\.0\.1|\[::1\])(?::\d+)?$/
764
+ },
765
+ hmr: devHmrConfig
766
+ },
729
767
  ...hasCloudflarePlugin || hasNitroPlugin ? {} : config.ssr?.external === true ? { ssr: { external: true } } : { ssr: {
730
768
  external: [
731
769
  "react",
@@ -837,9 +875,10 @@ function vinext(options = {}) {
837
875
  },
838
876
  build: {
839
877
  ...hasCloudflarePlugin ? { manifest: true } : {},
878
+ assetsInlineLimit: clientAssetsInlineLimit,
840
879
  ...withBuildBundlerOptions(viteMajorVersion, {
841
880
  input: { index: VIRTUAL_APP_BROWSER_ENTRY },
842
- output: getClientOutputConfigForVite(viteMajorVersion),
881
+ output: getClientOutputConfigForVite(viteMajorVersion, clientAssetsDir),
843
882
  treeshake: getClientTreeshakeConfigForVite(viteMajorVersion)
844
883
  })
845
884
  }
@@ -851,14 +890,15 @@ function vinext(options = {}) {
851
890
  build: {
852
891
  manifest: true,
853
892
  ssrManifest: true,
893
+ assetsInlineLimit: clientAssetsInlineLimit,
854
894
  ...withBuildBundlerOptions(viteMajorVersion, {
855
895
  input: { index: VIRTUAL_CLIENT_ENTRY },
856
- output: getClientOutputConfigForVite(viteMajorVersion),
896
+ output: getClientOutputConfigForVite(viteMajorVersion, clientAssetsDir),
857
897
  treeshake: getClientTreeshakeConfigForVite(viteMajorVersion)
858
898
  })
859
899
  }
860
900
  } };
861
- else if (!isSSR && !getBuildBundlerOptions(config.build)?.input) viteConfig.environments = {
901
+ else if (shouldInjectPlainPagesEnvironments) viteConfig.environments = {
862
902
  client: {
863
903
  consumer: "client",
864
904
  optimizeDeps: pagesOptimizeEntries.length > 0 ? { entries: pagesOptimizeEntries } : void 0,
@@ -866,9 +906,10 @@ function vinext(options = {}) {
866
906
  outDir: "dist/client",
867
907
  manifest: true,
868
908
  ssrManifest: true,
909
+ assetsInlineLimit: clientAssetsInlineLimit,
869
910
  ...withBuildBundlerOptions(viteMajorVersion, {
870
911
  input: { index: VIRTUAL_CLIENT_ENTRY },
871
- output: getClientOutputConfigForVite(viteMajorVersion),
912
+ output: getClientOutputConfigForVite(viteMajorVersion, clientAssetsDir),
872
913
  treeshake: getClientTreeshakeConfigForVite(viteMajorVersion)
873
914
  })
874
915
  }
@@ -927,16 +968,17 @@ function vinext(options = {}) {
927
968
  if (isVercelOgImport(cleanId) && !isVinextOgShimImporter(importer)) return resolveShimModulePath(_shimsDir, "og");
928
969
  if (cleanId === VIRTUAL_SERVER_ENTRY) return RESOLVED_SERVER_ENTRY;
929
970
  if (cleanId === VIRTUAL_CLIENT_ENTRY) return RESOLVED_CLIENT_ENTRY;
930
- if (cleanId.endsWith("/" + VIRTUAL_SERVER_ENTRY) || cleanId.endsWith("\\" + VIRTUAL_SERVER_ENTRY)) return RESOLVED_SERVER_ENTRY;
931
- if (cleanId.endsWith("/" + VIRTUAL_CLIENT_ENTRY) || cleanId.endsWith("\\" + VIRTUAL_CLIENT_ENTRY)) return RESOLVED_CLIENT_ENTRY;
971
+ if (cleanId.endsWith("/virtual:vinext-server-entry") || cleanId.endsWith("\\virtual:vinext-server-entry")) return RESOLVED_SERVER_ENTRY;
972
+ if (cleanId.endsWith("/virtual:vinext-client-entry") || cleanId.endsWith("\\virtual:vinext-client-entry")) return RESOLVED_CLIENT_ENTRY;
932
973
  if (cleanId === VIRTUAL_RSC_ENTRY) return RESOLVED_RSC_ENTRY;
933
974
  if (cleanId === VIRTUAL_APP_SSR_ENTRY) return RESOLVED_APP_SSR_ENTRY;
934
975
  if (cleanId === VIRTUAL_APP_BROWSER_ENTRY) return RESOLVED_APP_BROWSER_ENTRY;
935
976
  if (cleanId === "next/root-params" || cleanId === "next/root-params.js") return RESOLVED_ROOT_PARAMS;
977
+ if (cleanId === "virtual:vinext-cache-adapters" || cleanId.endsWith("/virtual:vinext-cache-adapters") || cleanId.endsWith("\\virtual:vinext-cache-adapters")) return RESOLVED_CACHE_ADAPTERS;
936
978
  if (cleanId.startsWith("virtual:vinext-google-fonts?")) return RESOLVED_VIRTUAL_GOOGLE_FONTS + cleanId.slice(VIRTUAL_GOOGLE_FONTS.length);
937
- if (cleanId.endsWith("/" + VIRTUAL_RSC_ENTRY) || cleanId.endsWith("\\" + VIRTUAL_RSC_ENTRY)) return RESOLVED_RSC_ENTRY;
938
- if (cleanId.endsWith("/" + VIRTUAL_APP_SSR_ENTRY) || cleanId.endsWith("\\" + VIRTUAL_APP_SSR_ENTRY)) return RESOLVED_APP_SSR_ENTRY;
939
- if (cleanId.endsWith("/" + VIRTUAL_APP_BROWSER_ENTRY) || cleanId.endsWith("\\" + VIRTUAL_APP_BROWSER_ENTRY)) return RESOLVED_APP_BROWSER_ENTRY;
979
+ if (cleanId.endsWith("/virtual:vinext-rsc-entry") || cleanId.endsWith("\\virtual:vinext-rsc-entry")) return RESOLVED_RSC_ENTRY;
980
+ if (cleanId.endsWith("/virtual:vinext-app-ssr-entry") || cleanId.endsWith("\\virtual:vinext-app-ssr-entry")) return RESOLVED_APP_SSR_ENTRY;
981
+ if (cleanId.endsWith("/virtual:vinext-app-browser-entry") || cleanId.endsWith("\\virtual:vinext-app-browser-entry")) return RESOLVED_APP_BROWSER_ENTRY;
940
982
  if (cleanId.includes("/virtual:vinext-google-fonts?") || cleanId.includes("\\virtual:vinext-google-fonts?")) {
941
983
  const queryIndex = cleanId.indexOf(VIRTUAL_GOOGLE_FONTS + "?");
942
984
  return RESOLVED_VIRTUAL_GOOGLE_FONTS + cleanId.slice(queryIndex + VIRTUAL_GOOGLE_FONTS.length);
@@ -975,6 +1017,7 @@ function vinext(options = {}) {
975
1017
  }, instrumentationPath);
976
1018
  }
977
1019
  if (id === RESOLVED_ROOT_PARAMS) return generateRootParamsModule((hasAppDir ? await appRouter(appDir, nextConfig?.pageExtensions, fileMatcher) : []).flatMap((route) => route.rootParamNames ?? []));
1020
+ if (id === RESOLVED_CACHE_ADAPTERS) return generateCacheAdaptersModule(options.cache);
978
1021
  if (id === RESOLVED_APP_SSR_ENTRY && hasAppDir) return generateSsrEntry(hasPagesDir);
979
1022
  if (id === RESOLVED_APP_BROWSER_ENTRY && hasAppDir) {
980
1023
  const graph = await appRouteGraph(appDir, nextConfig?.pageExtensions, fileMatcher);
@@ -983,41 +1026,84 @@ function vinext(options = {}) {
983
1026
  if (id.startsWith("\0virtual:vinext-google-fonts?")) return generateGoogleFontsVirtualModule(id, _fontGoogleShimPath);
984
1027
  },
985
1028
  // @vitejs/plugin-rsc runs the RSC environment build in two phases:
986
- generateBundle(_options, bundle) {
987
- if (this.environment?.name !== "rsc") return;
988
- if (!rscClassificationManifest) return;
989
- const enableClassificationDebug = Boolean(process.env.VINEXT_DEBUG_CLASSIFICATION);
990
- const chunks = [];
991
- const chunksByFileName = /* @__PURE__ */ new Map();
992
- for (const chunk of Object.values(bundle)) {
993
- if (chunk.type !== "chunk") continue;
994
- chunks.push({
995
- code: chunk.code,
996
- fileName: chunk.fileName
1029
+ renderChunk: {
1030
+ order: "pre",
1031
+ handler(code, chunk) {
1032
+ if (this.environment?.name !== "rsc") return null;
1033
+ if (!rscClassificationManifest) return null;
1034
+ if (!code.includes("__VINEXT_CLASS")) return null;
1035
+ const enableClassificationDebug = Boolean(process.env.VINEXT_DEBUG_CLASSIFICATION);
1036
+ const patchPlan = planRouteClassificationInjection({
1037
+ canonicalizeLayoutPath: canonicalize,
1038
+ chunks: [{
1039
+ code,
1040
+ fileName: chunk.fileName
1041
+ }],
1042
+ dynamicShimPaths,
1043
+ enableDebugReasons: enableClassificationDebug,
1044
+ manifest: rscClassificationManifest,
1045
+ moduleInfo: { getModuleInfo: (moduleId) => {
1046
+ const info = this.getModuleInfo(moduleId);
1047
+ if (!info) return null;
1048
+ return {
1049
+ importedIds: info.importedIds ?? [],
1050
+ dynamicImportedIds: info.dynamicallyImportedIds ?? []
1051
+ };
1052
+ } }
997
1053
  });
998
- chunksByFileName.set(chunk.fileName, chunk);
1054
+ if (patchPlan.kind === "skip") return null;
1055
+ rscClassificationManifest = null;
1056
+ return {
1057
+ code: patchPlan.code,
1058
+ map: patchPlan.map
1059
+ };
999
1060
  }
1000
- const patchPlan = planRouteClassificationInjection({
1001
- canonicalizeLayoutPath: canonicalize,
1002
- chunks,
1003
- dynamicShimPaths,
1004
- enableDebugReasons: enableClassificationDebug,
1005
- manifest: rscClassificationManifest,
1006
- moduleInfo: { getModuleInfo: (moduleId) => {
1007
- const info = this.getModuleInfo(moduleId);
1008
- if (!info) return null;
1009
- return {
1010
- importedIds: info.importedIds ?? [],
1011
- dynamicImportedIds: info.dynamicallyImportedIds ?? []
1012
- };
1013
- } }
1061
+ }
1062
+ },
1063
+ {
1064
+ name: "vinext:css-url-assets-mark",
1065
+ enforce: "pre",
1066
+ apply: "build",
1067
+ transform(code, id) {
1068
+ if (this.environment?.name !== "client") return null;
1069
+ const marked = markCssUrlAssetReferences(code, id);
1070
+ if (marked === null) return null;
1071
+ return {
1072
+ code: marked,
1073
+ map: null
1074
+ };
1075
+ }
1076
+ },
1077
+ {
1078
+ name: "vinext:client-css-url-assets-defaults",
1079
+ apply: "build",
1080
+ configEnvironment(name) {
1081
+ if (name !== "client") return null;
1082
+ return { build: { assetsInlineLimit: clientAssetsInlineLimit } };
1083
+ }
1084
+ },
1085
+ {
1086
+ name: "vinext:server-minify-defaults",
1087
+ apply: "build",
1088
+ configEnvironment(name, config) {
1089
+ if (name === "client") return null;
1090
+ if (config.build?.minify !== void 0) return null;
1091
+ return { build: { minify: true } };
1092
+ }
1093
+ },
1094
+ {
1095
+ name: "vinext:css-url-assets-restore",
1096
+ enforce: "post",
1097
+ apply: "build",
1098
+ generateBundle(_options, bundle) {
1099
+ if (this.environment?.name !== "client") return;
1100
+ restoreDedupedCssAssetReferences(bundle, (asset) => {
1101
+ this.emitFile({
1102
+ type: "asset",
1103
+ fileName: asset.fileName,
1104
+ source: asset.source
1105
+ });
1014
1106
  });
1015
- if (patchPlan.kind === "skip") return;
1016
- const target = chunksByFileName.get(patchPlan.fileName);
1017
- if (!target) throw new Error(`vinext: build-time classification — patch target ${patchPlan.fileName} disappeared from the RSC bundle`);
1018
- target.code = patchPlan.code;
1019
- target.map = patchPlan.map;
1020
- rscClassificationManifest = null;
1021
1107
  }
1022
1108
  },
1023
1109
  asyncHooksStubPlugin,
@@ -1185,6 +1271,7 @@ function vinext(options = {}) {
1185
1271
  }
1186
1272
  next();
1187
1273
  });
1274
+ installDevStackSourcemapMiddleware(server);
1188
1275
  return () => {
1189
1276
  if (instrumentationPath && !hasAppDir) runInstrumentation(getPagesRunner(), instrumentationPath).catch((err) => {
1190
1277
  console.error("[vinext] Instrumentation error:", err);
@@ -1597,23 +1684,35 @@ function vinext(options = {}) {
1597
1684
  if (id.includes("node_modules")) return null;
1598
1685
  if (id.startsWith("\0")) return null;
1599
1686
  if (!id.match(/\.(tsx?|jsx?|mjs)$/)) return null;
1600
- const imageImportRe = new RegExp(`import\\s+(\\w+)\\s+from\\s+['"]([^'"]+\\.(${IMAGE_EXTS}))['"];?`, "g");
1601
- if (!imageImportRe.test(code)) return null;
1602
- imageImportRe.lastIndex = 0;
1687
+ const imageExtRe = new RegExp(`\\.(${IMAGE_EXTS})$`);
1688
+ const lang = id.endsWith(".ts") ? "ts" : "tsx";
1689
+ let ast;
1690
+ try {
1691
+ ast = parseAst(code, { lang });
1692
+ } catch {
1693
+ return null;
1694
+ }
1603
1695
  const s = new MagicString(code);
1604
1696
  let hasChanges = false;
1605
- let match;
1606
- while ((match = imageImportRe.exec(code)) !== null) {
1607
- const [fullMatch, varName, importPath] = match;
1608
- const matchStart = match.index;
1609
- const matchEnd = matchStart + fullMatch.length;
1697
+ for (const node of ast.body) {
1698
+ if (node.type !== "ImportDeclaration") continue;
1699
+ const importNode = node;
1700
+ const importPath = importNode.source?.value;
1701
+ if (typeof importPath !== "string") continue;
1702
+ if (!imageExtRe.test(importPath)) continue;
1703
+ const specifiers = importNode.specifiers ?? [];
1704
+ if (specifiers.length !== 1) continue;
1705
+ const specifier = specifiers[0];
1706
+ if (specifier.type !== "ImportDefaultSpecifier") continue;
1707
+ const varName = specifier.local?.name;
1708
+ if (!varName) continue;
1610
1709
  const dir = path.dirname(id);
1611
- const absImagePath = path.resolve(dir, importPath);
1710
+ const absImagePath = normalizePathSeparators(path.resolve(dir, importPath));
1612
1711
  if (!fs.existsSync(absImagePath)) continue;
1613
1712
  const urlVar = `__vinext_img_url_${varName}`;
1614
1713
  const metaVar = `__vinext_img_meta_${varName}`;
1615
1714
  const replacement = `import ${urlVar} from ${JSON.stringify(importPath)};\nimport ${metaVar} from ${JSON.stringify(absImagePath + "?vinext-meta")};\nconst ${varName} = { src: ${urlVar}, width: ${metaVar}.width, height: ${metaVar}.height };`;
1616
- s.overwrite(matchStart, matchEnd, replacement);
1715
+ s.overwrite(importNode.start, importNode.end, replacement);
1617
1716
  hasChanges = true;
1618
1717
  }
1619
1718
  if (!hasChanges) return null;
@@ -1625,7 +1724,7 @@ function vinext(options = {}) {
1625
1724
  }
1626
1725
  },
1627
1726
  createGoogleFontsPlugin(_fontGoogleShimPath, _shimsDir),
1628
- createLocalFontsPlugin(),
1727
+ createLocalFontsPlugin(_shimsDir),
1629
1728
  createOptimizeImportsPlugin(() => nextConfig, () => root),
1630
1729
  {
1631
1730
  name: "vinext:use-cache",
@@ -1677,9 +1776,15 @@ function vinext(options = {}) {
1677
1776
  const directiveValue = cacheDirective.expression.value;
1678
1777
  const variant = directiveValue === "use cache" ? "" : directiveValue.replace("use cache:", "").replace("use cache: ", "").trim();
1679
1778
  const isLayoutOrTemplate = /\/(layout|template)\.(tsx?|jsx?|mjs)$/.test(id);
1779
+ const modulePath = stripViteModuleQuery(id);
1780
+ const moduleFileName = path.basename(modulePath);
1781
+ const isAppPageModule = hasAppDir && isInsideDirectory(appDir, modulePath) && path.parse(moduleFileName).name === "page" && fileMatcher.extensionRegex.test(moduleFileName);
1680
1782
  const runtimeModuleUrl = pathToFileURL(resolveShimModulePath(shimsDir, "cache-runtime")).href;
1681
1783
  const result = transformWrapExport(code, ast, {
1682
- runtime: (value, name) => `(await import(${JSON.stringify(runtimeModuleUrl)})).registerCachedFunction(${value}, ${JSON.stringify(id + ":" + name)}, ${JSON.stringify(variant)})`,
1784
+ runtime: (value, name) => {
1785
+ const pageOptions = name === "default" && isAppPageModule ? `, { appPageDefaultExport: true }` : "";
1786
+ return `(await import(${JSON.stringify(runtimeModuleUrl)})).registerCachedFunction(${value}, ${JSON.stringify(id + ":" + name)}, ${JSON.stringify(variant)}${pageOptions})`;
1787
+ },
1683
1788
  rejectNonAsyncFunction: false,
1684
1789
  filter: (name, meta) => {
1685
1790
  if (meta.isFunction === false) return false;
@@ -1726,7 +1831,7 @@ function vinext(options = {}) {
1726
1831
  },
1727
1832
  createImportMetaUrlPlugin({ getRoot: () => root }),
1728
1833
  createOgInlineFetchAssetsPlugin(),
1729
- ogAssetsPlugin,
1834
+ createOgAssetsPlugin(),
1730
1835
  createServerExternalsManifestPlugin(),
1731
1836
  {
1732
1837
  name: "vinext:image-config",
@@ -1754,7 +1859,7 @@ function vinext(options = {}) {
1754
1859
  name: "vinext:build-id",
1755
1860
  apply: "build",
1756
1861
  enforce: "post",
1757
- closeBundle: {
1862
+ writeBundle: {
1758
1863
  sequential: true,
1759
1864
  order: "post",
1760
1865
  handler() {
@@ -1836,6 +1941,26 @@ function vinext(options = {}) {
1836
1941
  }
1837
1942
  }
1838
1943
  },
1944
+ {
1945
+ name: "vinext:next-client-runtime-manifests",
1946
+ apply: "build",
1947
+ enforce: "post",
1948
+ writeBundle: {
1949
+ sequential: true,
1950
+ order: "post",
1951
+ handler(outputOptions) {
1952
+ const clientDir = outputOptions.dir;
1953
+ if (!clientDir) return;
1954
+ if (!(this.environment?.name === "client")) return;
1955
+ emitNextClientRuntimeManifests({
1956
+ clientDir,
1957
+ assetsSubdir: resolveAssetsDir(nextConfig.assetPrefix),
1958
+ buildId: nextConfig.buildId,
1959
+ rewrites: nextConfig.rewrites
1960
+ });
1961
+ }
1962
+ }
1963
+ },
1839
1964
  (() => {
1840
1965
  let pendingPrecompress = null;
1841
1966
  let pendingPrecompressError = null;
@@ -1864,8 +1989,7 @@ function vinext(options = {}) {
1864
1989
  if (!isTTY) return;
1865
1990
  const pct = total > 0 ? Math.floor(completed / total * 100) : 0;
1866
1991
  const bar = `[${"█".repeat(Math.floor(pct / 5))}${" ".repeat(20 - Math.floor(pct / 5))}]`;
1867
- const maxFile = 30;
1868
- const fileLabel = file.length > maxFile ? "…" + file.slice(-(maxFile - 1)) : file;
1992
+ const fileLabel = file.length > 30 ? "…" + file.slice(-29) : file;
1869
1993
  const line = `Compressing assets... ${bar} ${String(completed).padStart(String(total).length)}/${total} ${fileLabel}`;
1870
1994
  const padded = line.padEnd(lastLineLen);
1871
1995
  lastLineLen = line.length;
@@ -2028,15 +2152,19 @@ function vinext(options = {}) {
2028
2152
  ` if (mod) {`,
2029
2153
  ` WebAssembly.instantiate(mod, imports).then(function(inst) { callback(inst); });`,
2030
2154
  ` } else {`,
2031
- ` var b = Buffer.from(__vi_yoga_b64, "base64");`,
2032
- ` WebAssembly.instantiate(b, imports).then(function(r) { callback(r.instance); });`,
2155
+ ` Promise.all([import("node:fs"), import("node:url")]).then(function(mods) {`,
2156
+ ` var p = mods[1].fileURLToPath(new URL("./yoga.wasm", import.meta.url));`,
2157
+ ` return mods[0].promises.readFile(p).then(function(bytes) {`,
2158
+ ` return WebAssembly.instantiate(bytes, imports).then(function(r) { callback(r.instance); });`,
2159
+ ` });`,
2160
+ ` });`,
2033
2161
  ` }`,
2034
2162
  ` });`,
2035
2163
  ` return {};`,
2036
2164
  `} })`
2037
2165
  ].join("\n");
2038
2166
  result = result.replace(YOGA_CALL, YOGA_CALL_PATCHED);
2039
- result = [`var __vi_yoga_b64 = ${JSON.stringify(yogaBase64)};`, `var __vi_yoga_mod = import("./yoga.wasm?module").then(function(m) { return m.default; }).catch(function() { return null; });`].join("\n") + "\n" + result;
2167
+ result = [`var __vi_yoga_mod = import("./yoga.wasm?module").then(function(m) { return m.default; }).catch(function() { return null; });`].join("\n") + "\n" + result;
2040
2168
  }
2041
2169
  const resvgMatch = /import\s+resvg_wasm\s+from\s+["']\.\/resvg\.wasm\?module["']\s*;?/.exec(result);
2042
2170
  if (resvgMatch) {
@@ -2160,18 +2288,5 @@ function applyHeaders(pathname, res, headers, ctx, basePath = "") {
2160
2288
  } else if (!res.getHeader(lk)) res.setHeader(header.key, header.value);
2161
2289
  }
2162
2290
  }
2163
- /**
2164
- * Find a file by name (without extension) in a directory.
2165
- * Checks the configured page extensions.
2166
- */
2167
- function findFileWithExts(dir, name, matcher) {
2168
- for (const ext of matcher.dottedExtensions) {
2169
- const filePath = path.join(dir, name + ext);
2170
- if (fs.existsSync(filePath)) return filePath;
2171
- }
2172
- return null;
2173
- }
2174
2291
  //#endregion
2175
2292
  export { vinext as default, staticExportApp, staticExportPages };
2176
-
2177
- //# sourceMappingURL=index.js.map