vinext 0.0.50 → 0.0.52

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 (462) hide show
  1. package/dist/build/google-fonts/fallback-metrics-data.js +14031 -0
  2. package/dist/build/google-fonts/fallback-metrics-data.js.map +1 -0
  3. package/dist/build/google-fonts/fallback-metrics.d.ts +13 -0
  4. package/dist/build/google-fonts/fallback-metrics.js +46 -0
  5. package/dist/build/google-fonts/fallback-metrics.js.map +1 -0
  6. package/dist/build/precompress.d.ts +13 -2
  7. package/dist/build/precompress.js +23 -13
  8. package/dist/build/precompress.js.map +1 -1
  9. package/dist/build/prerender.d.ts +4 -15
  10. package/dist/build/prerender.js +83 -53
  11. package/dist/build/prerender.js.map +1 -1
  12. package/dist/build/report.d.ts +5 -4
  13. package/dist/build/report.js +196 -348
  14. package/dist/build/report.js.map +1 -1
  15. package/dist/check.js +5 -0
  16. package/dist/check.js.map +1 -1
  17. package/dist/cli-args.d.ts +1 -0
  18. package/dist/cli-args.js +5 -0
  19. package/dist/cli-args.js.map +1 -1
  20. package/dist/cli.js +99 -3
  21. package/dist/cli.js.map +1 -1
  22. package/dist/client/navigation-runtime.d.ts +47 -0
  23. package/dist/client/navigation-runtime.js +156 -0
  24. package/dist/client/navigation-runtime.js.map +1 -0
  25. package/dist/client/pages-router-link-navigation.d.ts +26 -0
  26. package/dist/client/pages-router-link-navigation.js +14 -0
  27. package/dist/client/pages-router-link-navigation.js.map +1 -0
  28. package/dist/client/vinext-next-data.d.ts +12 -2
  29. package/dist/client/vinext-next-data.js +50 -1
  30. package/dist/client/vinext-next-data.js.map +1 -0
  31. package/dist/client/window-next.d.ts +3 -1
  32. package/dist/client/window-next.js.map +1 -1
  33. package/dist/cloudflare/kv-cache-handler.js +2 -1
  34. package/dist/cloudflare/kv-cache-handler.js.map +1 -1
  35. package/dist/config/config-matchers.d.ts +63 -16
  36. package/dist/config/config-matchers.js +143 -8
  37. package/dist/config/config-matchers.js.map +1 -1
  38. package/dist/config/dotenv.d.ts +11 -1
  39. package/dist/config/dotenv.js.map +1 -1
  40. package/dist/config/next-config.d.ts +107 -5
  41. package/dist/config/next-config.js +233 -7
  42. package/dist/config/next-config.js.map +1 -1
  43. package/dist/config/tsconfig-paths.d.ts +13 -0
  44. package/dist/config/tsconfig-paths.js +117 -0
  45. package/dist/config/tsconfig-paths.js.map +1 -0
  46. package/dist/deploy.js +104 -41
  47. package/dist/deploy.js.map +1 -1
  48. package/dist/entries/app-browser-entry.d.ts +2 -2
  49. package/dist/entries/app-browser-entry.js +34 -3
  50. package/dist/entries/app-browser-entry.js.map +1 -1
  51. package/dist/entries/app-rsc-entry.d.ts +19 -1
  52. package/dist/entries/app-rsc-entry.js +89 -23
  53. package/dist/entries/app-rsc-entry.js.map +1 -1
  54. package/dist/entries/app-rsc-manifest.d.ts +10 -0
  55. package/dist/entries/app-rsc-manifest.js +57 -7
  56. package/dist/entries/app-rsc-manifest.js.map +1 -1
  57. package/dist/entries/app-ssr-entry.d.ts +3 -3
  58. package/dist/entries/app-ssr-entry.js +4 -4
  59. package/dist/entries/app-ssr-entry.js.map +1 -1
  60. package/dist/entries/pages-client-entry.js +21 -7
  61. package/dist/entries/pages-client-entry.js.map +1 -1
  62. package/dist/entries/pages-server-entry.js +77 -9
  63. package/dist/entries/pages-server-entry.js.map +1 -1
  64. package/dist/entries/runtime-entry-module.d.ts +2 -1
  65. package/dist/entries/runtime-entry-module.js +9 -3
  66. package/dist/entries/runtime-entry-module.js.map +1 -1
  67. package/dist/index.js +260 -75
  68. package/dist/index.js.map +1 -1
  69. package/dist/plugins/client-reference-dedup.d.ts +15 -2
  70. package/dist/plugins/client-reference-dedup.js +138 -16
  71. package/dist/plugins/client-reference-dedup.js.map +1 -1
  72. package/dist/plugins/css-data-url.d.ts +7 -0
  73. package/dist/plugins/css-data-url.js +81 -0
  74. package/dist/plugins/css-data-url.js.map +1 -0
  75. package/dist/plugins/fonts.d.ts +2 -2
  76. package/dist/plugins/fonts.js +20 -9
  77. package/dist/plugins/fonts.js.map +1 -1
  78. package/dist/plugins/middleware-server-only.d.ts +54 -0
  79. package/dist/plugins/middleware-server-only.js +91 -0
  80. package/dist/plugins/middleware-server-only.js.map +1 -0
  81. package/dist/plugins/optimize-imports.js +4 -4
  82. package/dist/plugins/optimize-imports.js.map +1 -1
  83. package/dist/plugins/sass.d.ts +34 -0
  84. package/dist/plugins/sass.js +22 -0
  85. package/dist/plugins/sass.js.map +1 -0
  86. package/dist/plugins/strip-server-exports.js +5 -8
  87. package/dist/plugins/strip-server-exports.js.map +1 -1
  88. package/dist/routing/app-route-graph.d.ts +50 -2
  89. package/dist/routing/app-route-graph.js +140 -16
  90. package/dist/routing/app-route-graph.js.map +1 -1
  91. package/dist/routing/app-router.d.ts +2 -2
  92. package/dist/routing/app-router.js +2 -2
  93. package/dist/routing/app-router.js.map +1 -1
  94. package/dist/routing/route-pattern.d.ts +56 -1
  95. package/dist/routing/route-pattern.js +60 -1
  96. package/dist/routing/route-pattern.js.map +1 -1
  97. package/dist/routing/utils.d.ts +2 -1
  98. package/dist/routing/utils.js +4 -1
  99. package/dist/routing/utils.js.map +1 -1
  100. package/dist/server/api-handler.js +139 -37
  101. package/dist/server/api-handler.js.map +1 -1
  102. package/dist/server/app-browser-action-result.d.ts +27 -2
  103. package/dist/server/app-browser-action-result.js +63 -2
  104. package/dist/server/app-browser-action-result.js.map +1 -1
  105. package/dist/server/app-browser-entry.js +493 -195
  106. package/dist/server/app-browser-entry.js.map +1 -1
  107. package/dist/server/app-browser-hydration.d.ts +13 -1
  108. package/dist/server/app-browser-hydration.js +9 -1
  109. package/dist/server/app-browser-hydration.js.map +1 -1
  110. package/dist/server/app-browser-interception-context.d.ts +24 -0
  111. package/dist/server/app-browser-interception-context.js +32 -0
  112. package/dist/server/app-browser-interception-context.js.map +1 -0
  113. package/dist/server/app-browser-navigation-controller.d.ts +17 -2
  114. package/dist/server/app-browser-navigation-controller.js +33 -10
  115. package/dist/server/app-browser-navigation-controller.js.map +1 -1
  116. package/dist/server/app-browser-popstate.d.ts +16 -0
  117. package/dist/server/app-browser-popstate.js +17 -0
  118. package/dist/server/app-browser-popstate.js.map +1 -0
  119. package/dist/server/app-browser-rsc-redirect.d.ts +29 -0
  120. package/dist/server/app-browser-rsc-redirect.js +37 -0
  121. package/dist/server/app-browser-rsc-redirect.js.map +1 -0
  122. package/dist/server/app-browser-state.d.ts +28 -7
  123. package/dist/server/app-browser-state.js +63 -27
  124. package/dist/server/app-browser-state.js.map +1 -1
  125. package/dist/server/app-browser-stream.d.ts +9 -17
  126. package/dist/server/app-browser-stream.js +18 -13
  127. package/dist/server/app-browser-stream.js.map +1 -1
  128. package/dist/server/app-browser-visible-commit.d.ts +7 -1
  129. package/dist/server/app-browser-visible-commit.js +39 -5
  130. package/dist/server/app-browser-visible-commit.js.map +1 -1
  131. package/dist/server/app-elements-wire.d.ts +43 -6
  132. package/dist/server/app-elements-wire.js +189 -7
  133. package/dist/server/app-elements-wire.js.map +1 -1
  134. package/dist/server/app-elements.d.ts +3 -2
  135. package/dist/server/app-elements.js +3 -2
  136. package/dist/server/app-elements.js.map +1 -1
  137. package/dist/server/app-fallback-renderer.d.ts +10 -1
  138. package/dist/server/app-fallback-renderer.js +41 -3
  139. package/dist/server/app-fallback-renderer.js.map +1 -1
  140. package/dist/server/app-history-state.d.ts +26 -0
  141. package/dist/server/app-history-state.js +53 -0
  142. package/dist/server/app-history-state.js.map +1 -0
  143. package/dist/server/app-middleware.d.ts +13 -0
  144. package/dist/server/app-middleware.js +3 -1
  145. package/dist/server/app-middleware.js.map +1 -1
  146. package/dist/server/app-optimistic-routing.d.ts +54 -0
  147. package/dist/server/app-optimistic-routing.js +200 -0
  148. package/dist/server/app-optimistic-routing.js.map +1 -0
  149. package/dist/server/app-page-boundary-render.d.ts +10 -1
  150. package/dist/server/app-page-boundary-render.js +13 -6
  151. package/dist/server/app-page-boundary-render.js.map +1 -1
  152. package/dist/server/app-page-boundary.js +3 -2
  153. package/dist/server/app-page-boundary.js.map +1 -1
  154. package/dist/server/app-page-cache.d.ts +26 -1
  155. package/dist/server/app-page-cache.js +86 -14
  156. package/dist/server/app-page-cache.js.map +1 -1
  157. package/dist/server/app-page-dispatch.d.ts +7 -0
  158. package/dist/server/app-page-dispatch.js +96 -12
  159. package/dist/server/app-page-dispatch.js.map +1 -1
  160. package/dist/server/app-page-element-builder.d.ts +7 -0
  161. package/dist/server/app-page-element-builder.js +34 -5
  162. package/dist/server/app-page-element-builder.js.map +1 -1
  163. package/dist/server/app-page-execution.d.ts +28 -1
  164. package/dist/server/app-page-execution.js +91 -7
  165. package/dist/server/app-page-execution.js.map +1 -1
  166. package/dist/server/app-page-head.d.ts +7 -0
  167. package/dist/server/app-page-head.js +23 -3
  168. package/dist/server/app-page-head.js.map +1 -1
  169. package/dist/server/app-page-probe.d.ts +23 -1
  170. package/dist/server/app-page-probe.js +29 -1
  171. package/dist/server/app-page-probe.js.map +1 -1
  172. package/dist/server/app-page-render-observation.d.ts +35 -0
  173. package/dist/server/app-page-render-observation.js +68 -0
  174. package/dist/server/app-page-render-observation.js.map +1 -0
  175. package/dist/server/app-page-render.d.ts +7 -1
  176. package/dist/server/app-page-render.js +81 -4
  177. package/dist/server/app-page-render.js.map +1 -1
  178. package/dist/server/app-page-request.d.ts +1 -0
  179. package/dist/server/app-page-request.js.map +1 -1
  180. package/dist/server/app-page-response.js +7 -5
  181. package/dist/server/app-page-response.js.map +1 -1
  182. package/dist/server/app-page-route-wiring.d.ts +3 -1
  183. package/dist/server/app-page-route-wiring.js +59 -24
  184. package/dist/server/app-page-route-wiring.js.map +1 -1
  185. package/dist/server/app-page-stream.d.ts +5 -0
  186. package/dist/server/app-page-stream.js +2 -0
  187. package/dist/server/app-page-stream.js.map +1 -1
  188. package/dist/server/app-prerender-static-params.d.ts +2 -1
  189. package/dist/server/app-prerender-static-params.js +44 -8
  190. package/dist/server/app-prerender-static-params.js.map +1 -1
  191. package/dist/server/app-route-handler-cache.d.ts +2 -2
  192. package/dist/server/app-route-handler-cache.js +3 -2
  193. package/dist/server/app-route-handler-cache.js.map +1 -1
  194. package/dist/server/app-route-handler-dispatch.d.ts +6 -1
  195. package/dist/server/app-route-handler-dispatch.js +1 -1
  196. package/dist/server/app-route-handler-dispatch.js.map +1 -1
  197. package/dist/server/app-route-handler-execution.d.ts +17 -2
  198. package/dist/server/app-route-handler-execution.js.map +1 -1
  199. package/dist/server/app-route-handler-response.js +5 -4
  200. package/dist/server/app-route-handler-response.js.map +1 -1
  201. package/dist/server/app-router-entry.js +7 -15
  202. package/dist/server/app-router-entry.js.map +1 -1
  203. package/dist/server/app-rsc-cache-busting.d.ts +19 -1
  204. package/dist/server/app-rsc-cache-busting.js +36 -1
  205. package/dist/server/app-rsc-cache-busting.js.map +1 -1
  206. package/dist/server/app-rsc-embedded-chunks.d.ts +9 -0
  207. package/dist/server/app-rsc-embedded-chunks.js +34 -0
  208. package/dist/server/app-rsc-embedded-chunks.js.map +1 -0
  209. package/dist/server/app-rsc-errors.d.ts +4 -1
  210. package/dist/server/app-rsc-errors.js +1 -1
  211. package/dist/server/app-rsc-errors.js.map +1 -1
  212. package/dist/server/app-rsc-handler.d.ts +21 -5
  213. package/dist/server/app-rsc-handler.js +38 -15
  214. package/dist/server/app-rsc-handler.js.map +1 -1
  215. package/dist/server/app-rsc-render-mode.d.ts +4 -3
  216. package/dist/server/app-rsc-render-mode.js +7 -1
  217. package/dist/server/app-rsc-render-mode.js.map +1 -1
  218. package/dist/server/app-rsc-request-normalization.d.ts +4 -1
  219. package/dist/server/app-rsc-request-normalization.js +4 -1
  220. package/dist/server/app-rsc-request-normalization.js.map +1 -1
  221. package/dist/server/app-rsc-response-finalizer.d.ts +8 -1
  222. package/dist/server/app-rsc-response-finalizer.js +10 -3
  223. package/dist/server/app-rsc-response-finalizer.js.map +1 -1
  224. package/dist/server/app-rsc-route-matching.d.ts +23 -0
  225. package/dist/server/app-rsc-route-matching.js +47 -25
  226. package/dist/server/app-rsc-route-matching.js.map +1 -1
  227. package/dist/server/app-server-action-execution.d.ts +35 -3
  228. package/dist/server/app-server-action-execution.js +87 -33
  229. package/dist/server/app-server-action-execution.js.map +1 -1
  230. package/dist/server/app-ssr-entry.d.ts +3 -0
  231. package/dist/server/app-ssr-entry.js +83 -58
  232. package/dist/server/app-ssr-entry.js.map +1 -1
  233. package/dist/server/app-ssr-error-meta.d.ts +14 -0
  234. package/dist/server/app-ssr-error-meta.js +50 -0
  235. package/dist/server/app-ssr-error-meta.js.map +1 -0
  236. package/dist/server/app-ssr-stream.d.ts +7 -2
  237. package/dist/server/app-ssr-stream.js +26 -15
  238. package/dist/server/app-ssr-stream.js.map +1 -1
  239. package/dist/server/artifact-compatibility.d.ts +13 -3
  240. package/dist/server/artifact-compatibility.js +12 -8
  241. package/dist/server/artifact-compatibility.js.map +1 -1
  242. package/dist/server/cache-headers.d.ts +7 -0
  243. package/dist/server/cache-headers.js +19 -0
  244. package/dist/server/cache-headers.js.map +1 -0
  245. package/dist/server/cache-proof.d.ts +170 -5
  246. package/dist/server/cache-proof.js +472 -18
  247. package/dist/server/cache-proof.js.map +1 -1
  248. package/dist/server/client-reuse-manifest.d.ts +99 -0
  249. package/dist/server/client-reuse-manifest.js +212 -0
  250. package/dist/server/client-reuse-manifest.js.map +1 -0
  251. package/dist/server/default-global-error-module.d.ts +20 -0
  252. package/dist/server/default-global-error-module.js +20 -0
  253. package/dist/server/default-global-error-module.js.map +1 -0
  254. package/dist/server/dev-lockfile.d.ts +110 -0
  255. package/dist/server/dev-lockfile.js +180 -0
  256. package/dist/server/dev-lockfile.js.map +1 -0
  257. package/dist/server/dev-server.d.ts +9 -1
  258. package/dist/server/dev-server.js +76 -19
  259. package/dist/server/dev-server.js.map +1 -1
  260. package/dist/server/edge-api-runtime.d.ts +5 -0
  261. package/dist/server/edge-api-runtime.js +8 -0
  262. package/dist/server/edge-api-runtime.js.map +1 -0
  263. package/dist/server/file-based-metadata.d.ts +13 -0
  264. package/dist/server/file-based-metadata.js +49 -2
  265. package/dist/server/file-based-metadata.js.map +1 -1
  266. package/dist/server/headers.d.ts +20 -1
  267. package/dist/server/headers.js +22 -2
  268. package/dist/server/headers.js.map +1 -1
  269. package/dist/server/html.js +1 -1
  270. package/dist/server/html.js.map +1 -1
  271. package/dist/server/http-error-responses.d.ts +26 -1
  272. package/dist/server/http-error-responses.js +32 -2
  273. package/dist/server/http-error-responses.js.map +1 -1
  274. package/dist/server/isr-cache.d.ts +8 -3
  275. package/dist/server/isr-cache.js +24 -6
  276. package/dist/server/isr-cache.js.map +1 -1
  277. package/dist/server/metadata-route-response.js +22 -5
  278. package/dist/server/metadata-route-response.js.map +1 -1
  279. package/dist/server/metadata-routes.js +27 -8
  280. package/dist/server/metadata-routes.js.map +1 -1
  281. package/dist/server/middleware-runtime.d.ts +15 -0
  282. package/dist/server/middleware-runtime.js +60 -7
  283. package/dist/server/middleware-runtime.js.map +1 -1
  284. package/dist/server/middleware.d.ts +13 -1
  285. package/dist/server/middleware.js +16 -2
  286. package/dist/server/middleware.js.map +1 -1
  287. package/dist/server/navigation-planner.d.ts +26 -6
  288. package/dist/server/navigation-planner.js +358 -24
  289. package/dist/server/navigation-planner.js.map +1 -1
  290. package/dist/server/navigation-trace.d.ts +9 -1
  291. package/dist/server/navigation-trace.js +8 -0
  292. package/dist/server/navigation-trace.js.map +1 -1
  293. package/dist/server/normalize-path.d.ts +2 -1
  294. package/dist/server/normalize-path.js +4 -1
  295. package/dist/server/normalize-path.js.map +1 -1
  296. package/dist/server/pages-api-route.d.ts +27 -1
  297. package/dist/server/pages-api-route.js +25 -3
  298. package/dist/server/pages-api-route.js.map +1 -1
  299. package/dist/server/pages-data-route.d.ts +77 -0
  300. package/dist/server/pages-data-route.js +97 -0
  301. package/dist/server/pages-data-route.js.map +1 -0
  302. package/dist/server/pages-i18n.d.ts +51 -1
  303. package/dist/server/pages-i18n.js +61 -1
  304. package/dist/server/pages-i18n.js.map +1 -1
  305. package/dist/server/pages-page-data.d.ts +32 -4
  306. package/dist/server/pages-page-data.js +52 -19
  307. package/dist/server/pages-page-data.js.map +1 -1
  308. package/dist/server/pages-page-response.d.ts +11 -1
  309. package/dist/server/pages-page-response.js +6 -4
  310. package/dist/server/pages-page-response.js.map +1 -1
  311. package/dist/server/prod-server.d.ts +26 -1
  312. package/dist/server/prod-server.js +150 -44
  313. package/dist/server/prod-server.js.map +1 -1
  314. package/dist/server/request-pipeline.d.ts +11 -2
  315. package/dist/server/request-pipeline.js +28 -11
  316. package/dist/server/request-pipeline.js.map +1 -1
  317. package/dist/server/seed-cache.d.ts +12 -31
  318. package/dist/server/seed-cache.js +22 -35
  319. package/dist/server/seed-cache.js.map +1 -1
  320. package/dist/server/server-action-not-found.d.ts +16 -3
  321. package/dist/server/server-action-not-found.js +27 -4
  322. package/dist/server/server-action-not-found.js.map +1 -1
  323. package/dist/server/server-globals.d.ts +5 -0
  324. package/dist/server/server-globals.js +37 -0
  325. package/dist/server/server-globals.js.map +1 -0
  326. package/dist/server/skip-cache-proof.d.ts +41 -0
  327. package/dist/server/skip-cache-proof.js +101 -0
  328. package/dist/server/skip-cache-proof.js.map +1 -0
  329. package/dist/server/static-file-cache.d.ts +1 -1
  330. package/dist/server/static-file-cache.js +7 -6
  331. package/dist/server/static-file-cache.js.map +1 -1
  332. package/dist/shims/cache-runtime.d.ts +19 -2
  333. package/dist/shims/cache-runtime.js +67 -11
  334. package/dist/shims/cache-runtime.js.map +1 -1
  335. package/dist/shims/cache.d.ts +5 -18
  336. package/dist/shims/cache.js +2 -0
  337. package/dist/shims/cache.js.map +1 -1
  338. package/dist/shims/client-locale.d.ts +15 -0
  339. package/dist/shims/client-locale.js +13 -0
  340. package/dist/shims/client-locale.js.map +1 -0
  341. package/dist/shims/default-global-error.d.ts +32 -0
  342. package/dist/shims/default-global-error.js +181 -0
  343. package/dist/shims/default-global-error.js.map +1 -0
  344. package/dist/shims/document.d.ts +59 -3
  345. package/dist/shims/document.js +36 -5
  346. package/dist/shims/document.js.map +1 -1
  347. package/dist/shims/error-boundary.d.ts +2 -2
  348. package/dist/shims/error-boundary.js +6 -8
  349. package/dist/shims/error-boundary.js.map +1 -1
  350. package/dist/shims/error.d.ts +18 -1
  351. package/dist/shims/error.js +56 -1
  352. package/dist/shims/error.js.map +1 -1
  353. package/dist/shims/fetch-cache.d.ts +4 -1
  354. package/dist/shims/fetch-cache.js +40 -5
  355. package/dist/shims/fetch-cache.js.map +1 -1
  356. package/dist/shims/font-google-base.d.ts +22 -8
  357. package/dist/shims/font-google-base.js +41 -71
  358. package/dist/shims/font-google-base.js.map +1 -1
  359. package/dist/shims/font-local.d.ts +3 -20
  360. package/dist/shims/font-local.js +23 -75
  361. package/dist/shims/font-local.js.map +1 -1
  362. package/dist/shims/font-utils.d.ts +51 -0
  363. package/dist/shims/font-utils.js +97 -0
  364. package/dist/shims/font-utils.js.map +1 -0
  365. package/dist/shims/form.js +13 -6
  366. package/dist/shims/form.js.map +1 -1
  367. package/dist/shims/hash-scroll.d.ts +7 -0
  368. package/dist/shims/hash-scroll.js +30 -0
  369. package/dist/shims/hash-scroll.js.map +1 -0
  370. package/dist/shims/headers.d.ts +8 -11
  371. package/dist/shims/headers.js +22 -2
  372. package/dist/shims/headers.js.map +1 -1
  373. package/dist/shims/image.d.ts +1 -0
  374. package/dist/shims/image.js +144 -78
  375. package/dist/shims/image.js.map +1 -1
  376. package/dist/shims/internal/app-router-context.d.ts +6 -6
  377. package/dist/shims/internal/app-router-context.js +17 -6
  378. package/dist/shims/internal/app-router-context.js.map +1 -1
  379. package/dist/shims/link-prefetch.d.ts +9 -1
  380. package/dist/shims/link-prefetch.js +11 -6
  381. package/dist/shims/link-prefetch.js.map +1 -1
  382. package/dist/shims/link.d.ts +33 -5
  383. package/dist/shims/link.js +205 -50
  384. package/dist/shims/link.js.map +1 -1
  385. package/dist/shims/metadata.d.ts +16 -30
  386. package/dist/shims/metadata.js +91 -32
  387. package/dist/shims/metadata.js.map +1 -1
  388. package/dist/shims/navigation.d.ts +164 -17
  389. package/dist/shims/navigation.js +355 -84
  390. package/dist/shims/navigation.js.map +1 -1
  391. package/dist/shims/navigation.react-server.d.ts +3 -2
  392. package/dist/shims/navigation.react-server.js +5 -2
  393. package/dist/shims/navigation.react-server.js.map +1 -1
  394. package/dist/shims/og.d.ts +18 -2
  395. package/dist/shims/og.js +49 -1
  396. package/dist/shims/og.js.map +1 -0
  397. package/dist/shims/pages-router-runtime.d.ts +7 -0
  398. package/dist/shims/pages-router-runtime.js +16 -0
  399. package/dist/shims/pages-router-runtime.js.map +1 -0
  400. package/dist/shims/request-state-types.d.ts +1 -1
  401. package/dist/shims/root-params.d.ts +3 -1
  402. package/dist/shims/root-params.js +11 -3
  403. package/dist/shims/root-params.js.map +1 -1
  404. package/dist/shims/router-state.d.ts +1 -0
  405. package/dist/shims/router-state.js.map +1 -1
  406. package/dist/shims/router.d.ts +40 -7
  407. package/dist/shims/router.js +355 -250
  408. package/dist/shims/router.js.map +1 -1
  409. package/dist/shims/script.js +110 -32
  410. package/dist/shims/script.js.map +1 -1
  411. package/dist/shims/server.d.ts +21 -4
  412. package/dist/shims/server.js +31 -10
  413. package/dist/shims/server.js.map +1 -1
  414. package/dist/shims/slot.d.ts +1 -0
  415. package/dist/shims/slot.js +45 -1
  416. package/dist/shims/slot.js.map +1 -1
  417. package/dist/shims/unified-request-context.d.ts +1 -1
  418. package/dist/shims/unified-request-context.js +2 -0
  419. package/dist/shims/unified-request-context.js.map +1 -1
  420. package/dist/shims/unrecognized-action-error.d.ts +35 -0
  421. package/dist/shims/unrecognized-action-error.js +41 -0
  422. package/dist/shims/unrecognized-action-error.js.map +1 -0
  423. package/dist/shims/url-safety.d.ts +23 -1
  424. package/dist/shims/url-safety.js +29 -2
  425. package/dist/shims/url-safety.js.map +1 -1
  426. package/dist/shims/url-utils.d.ts +21 -1
  427. package/dist/shims/url-utils.js +67 -3
  428. package/dist/shims/url-utils.js.map +1 -1
  429. package/dist/typegen.d.ts +10 -0
  430. package/dist/typegen.js +242 -0
  431. package/dist/typegen.js.map +1 -0
  432. package/dist/utils/asset-prefix.d.ts +97 -0
  433. package/dist/utils/asset-prefix.js +124 -0
  434. package/dist/utils/asset-prefix.js.map +1 -0
  435. package/dist/utils/base-path.d.ts +7 -1
  436. package/dist/utils/base-path.js +10 -1
  437. package/dist/utils/base-path.js.map +1 -1
  438. package/dist/utils/cache-control-metadata.d.ts +2 -1
  439. package/dist/utils/cache-control-metadata.js +1 -3
  440. package/dist/utils/cache-control-metadata.js.map +1 -1
  441. package/dist/utils/domain-locale.d.ts +2 -1
  442. package/dist/utils/domain-locale.js +9 -1
  443. package/dist/utils/domain-locale.js.map +1 -1
  444. package/dist/utils/lazy-chunks.d.ts +1 -1
  445. package/dist/utils/lazy-chunks.js +1 -1
  446. package/dist/utils/lazy-chunks.js.map +1 -1
  447. package/dist/utils/navigation-signal.d.ts +1 -2
  448. package/dist/utils/navigation-signal.js +1 -1
  449. package/dist/utils/navigation-signal.js.map +1 -1
  450. package/dist/utils/prerender-output-paths.d.ts +15 -0
  451. package/dist/utils/prerender-output-paths.js +24 -0
  452. package/dist/utils/prerender-output-paths.js.map +1 -0
  453. package/dist/utils/query.d.ts +17 -1
  454. package/dist/utils/query.js +36 -1
  455. package/dist/utils/query.js.map +1 -1
  456. package/dist/utils/record.d.ts +5 -0
  457. package/dist/utils/record.js +8 -0
  458. package/dist/utils/record.js.map +1 -0
  459. package/dist/utils/sorted-array.d.ts +9 -0
  460. package/dist/utils/sorted-array.js +22 -0
  461. package/dist/utils/sorted-array.js.map +1 -0
  462. package/package.json +13 -5
@@ -1,20 +1,24 @@
1
1
  import { normalizePathnameForRouteMatchStrict } from "../routing/utils.js";
2
- import { hasBasePath, removeTrailingSlash, stripBasePath } from "../utils/base-path.js";
2
+ import { hasBasePath, stripBasePath } from "../utils/base-path.js";
3
3
  import { VINEXT_PRERENDER_SECRET_HEADER, VINEXT_STATIC_FILE_HEADER } from "./headers.js";
4
4
  import { normalizePath } from "./normalize-path.js";
5
5
  import { applyMiddlewareRequestHeaders, isExternalUrl, matchRedirect, matchRewrite, proxyExternalRequest, requestContextFromRequest, sanitizeDestination } from "../config/config-matchers.js";
6
6
  import { notFoundResponse } from "./http-error-responses.js";
7
- import { applyConfigHeadersToHeaderRecord, filterInternalHeaders, isOpenRedirectShaped } from "./request-pipeline.js";
7
+ import { applyConfigHeadersToHeaderRecord, filterInternalHeaders, isOpenRedirectShaped, normalizeTrailingSlash } from "./request-pipeline.js";
8
+ import { mergeRewriteQuery } from "../utils/query.js";
9
+ import { normalizeDefaultLocalePathname, stripI18nLocaleForApiRoute } from "./pages-i18n.js";
8
10
  import { installSocketErrorBackstop } from "./socket-error-backstop.js";
9
- import { manifestFileWithBase } from "../utils/manifest-paths.js";
11
+ import { ASSET_PREFIX_URL_DIR, assetPrefixPathname, isAbsoluteAssetPrefix } from "../utils/asset-prefix.js";
10
12
  import { CONTENT_TYPES, StaticFileCache, etagFromFilenameHash } from "./static-file-cache.js";
13
+ import { buildNextDataNotFoundResponse, isNextDataPathname, parseNextDataPathname } from "./pages-data-route.js";
14
+ import { manifestFileWithBase } from "../utils/manifest-paths.js";
11
15
  import { DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, isSafeImageContentType, parseImageParams } from "./image-optimization.js";
12
16
  import { computeLazyChunks } from "../utils/lazy-chunks.js";
13
17
  import { readPrerenderSecret } from "../build/server-manifest.js";
14
18
  import { seedMemoryCacheFromPrerender } from "./seed-cache.js";
15
19
  import fs from "node:fs";
16
20
  import path from "node:path";
17
- import fsp from "node:fs/promises";
21
+ import fs$1 from "node:fs/promises";
18
22
  import { pathToFileURL } from "node:url";
19
23
  import zlib from "node:zlib";
20
24
  import { createServer } from "node:http";
@@ -324,7 +328,7 @@ async function tryServeStatic(req, res, clientDir, pathname, compress, cache, ex
324
328
  if (!resolved) return false;
325
329
  const ext = path.extname(resolved.path);
326
330
  const ct = CONTENT_TYPES[ext] ?? "application/octet-stream";
327
- const isHashed = pathname.startsWith("/assets/");
331
+ const isHashed = pathname.includes(`/${ASSET_PREFIX_URL_DIR}/`);
328
332
  const cacheControl = isHashed ? "public, max-age=31536000, immutable" : "public, max-age=3600";
329
333
  const etag = isHashed && etagFromFilenameHash(resolved.path, ext) || `W/"${resolved.size}-${Math.floor(resolved.mtimeMs / 1e3)}"`;
330
334
  const baseType = ct.split(";")[0].trim();
@@ -414,7 +418,7 @@ async function resolveStaticFile(staticFile) {
414
418
  }
415
419
  async function statIfFile(filePath) {
416
420
  try {
417
- const stat = await fsp.stat(filePath);
421
+ const stat = await fs$1.stat(filePath);
418
422
  return stat.isFile() ? {
419
423
  size: stat.size,
420
424
  mtimeMs: stat.mtimeMs
@@ -583,6 +587,59 @@ function resolveAppRouterHandler(entry) {
583
587
  console.error("[vinext] App Router entry must export either a default handler function or a Worker-style default export with fetch()");
584
588
  process.exit(1);
585
589
  }
590
+ function isAppRouterPrerenderSeederExport(value) {
591
+ return typeof value === "function";
592
+ }
593
+ function resolveAppRouterPrerenderSeeder(entryModule) {
594
+ if (typeof entryModule !== "object" || entryModule === null) return seedMemoryCacheFromPrerender;
595
+ const seedExport = Object.getOwnPropertyDescriptor(entryModule, "seedMemoryCacheFromPrerender")?.value;
596
+ if (!isAppRouterPrerenderSeederExport(seedExport)) {
597
+ if (process.env.NEXT_PRIVATE_DEBUG_CACHE) console.debug("[vinext] ISR: using fallback prerender cache seeder");
598
+ return seedMemoryCacheFromPrerender;
599
+ }
600
+ if (process.env.NEXT_PRIVATE_DEBUG_CACHE) console.debug("[vinext] ISR: using App Router entry prerender cache seeder");
601
+ return async (serverDir) => {
602
+ const result = await Promise.resolve(seedExport(serverDir));
603
+ return typeof result === "number" ? result : 0;
604
+ };
605
+ }
606
+ /**
607
+ * Resolve a request pathname to a static-asset lookup path inside `clientDir`.
608
+ *
609
+ * Returns `null` when the request is not for a built asset, in which case
610
+ * the caller should let the request fall through to the RSC handler.
611
+ *
612
+ * Three URL shapes are recognised:
613
+ *
614
+ * - `/_next/static/...` — the default layout. Files land on disk at
615
+ * `dist/client/_next/static/...`, so the pathname maps 1:1. Also covers
616
+ * absolute-URL `assetPrefix` with no path component (same on-disk and
617
+ * URL shape).
618
+ * - `<assetPathPrefix>/_next/static/...` — when `assetPrefix` is a path
619
+ * prefix (e.g. `/custom-asset-prefix`). The on-disk layout is
620
+ * `dist/client/<prefix>/_next/static/...`, so the pathname maps 1:1.
621
+ * - `<absoluteURLPathname>/_next/static/...` — when `assetPrefix` is an
622
+ * absolute URL with a non-empty pathname (e.g. `https://cdn/sub`).
623
+ * Files are written to `dist/client/_next/static/...` but emitted URLs
624
+ * prepend the full URL. Requests do not normally arrive here — they go
625
+ * to the CDN — but we accept them so a same-origin reverse proxy can
626
+ * route through; the on-disk path is just `_next/static/...`.
627
+ */
628
+ function resolveAppRouterAssetPath(pathname, assetPathPrefix, assetPrefix) {
629
+ const nextStaticDir = `/${ASSET_PREFIX_URL_DIR}/`;
630
+ if (assetPathPrefix) {
631
+ if (pathname === assetPathPrefix || pathname.startsWith(assetPathPrefix + "/")) {
632
+ const rest = pathname.slice(assetPathPrefix.length) || "/";
633
+ if (rest.startsWith(nextStaticDir)) {
634
+ if (!isAbsoluteAssetPrefix(assetPrefix)) return pathname;
635
+ return rest;
636
+ }
637
+ }
638
+ return null;
639
+ }
640
+ if (pathname.startsWith(nextStaticDir)) return pathname;
641
+ return null;
642
+ }
586
643
  /**
587
644
  * Start the App Router production server.
588
645
  *
@@ -609,8 +666,11 @@ async function startAppRouterServer(options) {
609
666
  } catch {}
610
667
  const prerenderSecret = readPrerenderSecret(path.dirname(rscEntryPath));
611
668
  const rscMtime = fs.statSync(rscEntryPath).mtimeMs;
612
- const rscHandler = resolveAppRouterHandler((await import(`${pathToFileURL(rscEntryPath).href}?t=${rscMtime}`)).default);
613
- const seededRoutes = await seedMemoryCacheFromPrerender(path.dirname(rscEntryPath));
669
+ const rscModule = await import(`${pathToFileURL(rscEntryPath).href}?t=${rscMtime}`);
670
+ const rscHandler = resolveAppRouterHandler(rscModule.default);
671
+ const appRouterAssetPrefix = typeof rscModule.__assetPrefix === "string" ? rscModule.__assetPrefix : "";
672
+ const appAssetPathPrefix = assetPrefixPathname(appRouterAssetPrefix);
673
+ const seededRoutes = await resolveAppRouterPrerenderSeeder(rscModule)(path.dirname(rscEntryPath));
614
674
  if (seededRoutes > 0) console.log(`[vinext] Seeded ${seededRoutes} pre-rendered route${seededRoutes !== 1 ? "s" : ""} into memory cache`);
615
675
  const staticCache = await StaticFileCache.create(clientDir);
616
676
  const handleRequest = async (req, res) => {
@@ -618,7 +678,7 @@ async function startAppRouterServer(options) {
618
678
  const rawPathname = rawUrl.split("?")[0];
619
679
  if (isOpenRedirectShaped(rawPathname)) {
620
680
  res.writeHead(404);
621
- res.end("404 Not Found");
681
+ res.end("This page could not be found");
622
682
  return;
623
683
  }
624
684
  const normalizedRawPathname = rawPathname.replaceAll("\\", "/");
@@ -638,7 +698,15 @@ async function startAppRouterServer(options) {
638
698
  return;
639
699
  }
640
700
  }
641
- if (pathname.startsWith("/assets/") && await tryServeStatic(req, res, clientDir, pathname, compress, staticCache)) return;
701
+ {
702
+ const assetLookupPath = resolveAppRouterAssetPath(pathname, appAssetPathPrefix, appRouterAssetPrefix);
703
+ if (assetLookupPath) {
704
+ if (await tryServeStatic(req, res, clientDir, assetLookupPath, compress, staticCache)) return;
705
+ res.writeHead(404, { "Content-Type": "text/plain; charset=utf-8" });
706
+ res.end("Not Found");
707
+ return;
708
+ }
709
+ }
642
710
  if (pathname === "/_vinext/image") {
643
711
  const params = parseImageParams(new URL(rawUrl, "http://localhost"), [...DEFAULT_DEVICE_SIZES, ...DEFAULT_IMAGE_SIZES]);
644
712
  if (!params) {
@@ -725,7 +793,7 @@ function readPagesServerEntryPageRoutes(value) {
725
793
  *
726
794
  * Uses the server entry (dist/server/entry.js) which exports:
727
795
  * - renderPage(request, url, manifest, ctx?, middlewareHeaders?) — SSR rendering (Web Request → Response)
728
- * - handleApiRoute(request, url) — API route handling (Web Request Response)
796
+ * - handleApiRoute(request, url, ctx?) — API route handling (ctx optional; pass for ctx.waitUntil() on Workers)
729
797
  * - runMiddleware(request, ctx?) — middleware execution (ctx optional; pass for ctx.waitUntil() on Workers)
730
798
  * - vinextConfig — embedded next.config.js settings
731
799
  */
@@ -733,13 +801,16 @@ async function startPagesRouterServer(options) {
733
801
  const { port, host, clientDir, serverEntryPath, compress, purpose } = options;
734
802
  const serverMtime = fs.statSync(serverEntryPath).mtimeMs;
735
803
  const serverEntry = await import(`${pathToFileURL(serverEntryPath).href}?t=${serverMtime}`);
736
- const { renderPage, handleApiRoute: handleApi, runMiddleware, vinextConfig } = serverEntry;
804
+ const { renderPage, handleApiRoute: handleApi, runMiddleware, vinextConfig, buildId: pagesBuildId } = serverEntry;
737
805
  const matchPageRoute = typeof serverEntry.matchPageRoute === "function" ? serverEntry.matchPageRoute : void 0;
738
806
  const pageRoutes = readPagesServerEntryPageRoutes(serverEntry.pageRoutes);
739
807
  const prerenderSecret = readPrerenderSecret(path.dirname(serverEntryPath));
740
808
  const basePath = vinextConfig?.basePath ?? "";
809
+ const assetPrefix = vinextConfig?.assetPrefix ?? "";
810
+ const pagesAssetPathPrefix = assetPrefixPathname(assetPrefix);
741
811
  const assetBase = basePath ? `${basePath}/` : "/";
742
812
  const trailingSlash = vinextConfig?.trailingSlash ?? false;
813
+ const i18nConfig = vinextConfig?.i18n ?? null;
743
814
  const configRedirects = vinextConfig?.redirects ?? [];
744
815
  const configRewrites = vinextConfig?.rewrites ?? {
745
816
  beforeFiles: [],
@@ -768,7 +839,7 @@ async function startPagesRouterServer(options) {
768
839
  const rawPagesPathnameBeforeNormalize = rawUrl.split("?")[0];
769
840
  if (isOpenRedirectShaped(rawPagesPathnameBeforeNormalize)) {
770
841
  res.writeHead(404);
771
- res.end("404 Not Found");
842
+ res.end("This page could not be found");
772
843
  return;
773
844
  }
774
845
  const rawPagesPathname = rawPagesPathnameBeforeNormalize.replaceAll("\\", "/");
@@ -814,7 +885,13 @@ async function startPagesRouterServer(options) {
814
885
  return;
815
886
  }
816
887
  const staticLookupPath = stripBasePath(pathname, basePath);
817
- if (staticLookupPath.startsWith("/assets/") && await tryServeStatic(req, res, clientDir, staticLookupPath, compress, staticCache)) return;
888
+ const pagesAssetLookup = resolveAppRouterAssetPath(pathname, pagesAssetPathPrefix, assetPrefix);
889
+ if (pagesAssetLookup) {
890
+ if (await tryServeStatic(req, res, clientDir, pagesAssetLookup, compress, staticCache)) return;
891
+ res.writeHead(404, { "Content-Type": "text/plain; charset=utf-8" });
892
+ res.end("Not Found");
893
+ return;
894
+ }
818
895
  if (pathname === "/_vinext/image" || staticLookupPath === "/_vinext/image") {
819
896
  const params = parseImageParams(new URL(rawUrl, "http://localhost"), allowedImageWidths);
820
897
  if (!params) {
@@ -838,6 +915,7 @@ async function startPagesRouterServer(options) {
838
915
  return;
839
916
  }
840
917
  try {
918
+ const hadBasePath = !basePath || hasBasePath(pathname, basePath);
841
919
  {
842
920
  const stripped = stripBasePath(pathname, basePath);
843
921
  if (stripped !== pathname) {
@@ -845,27 +923,41 @@ async function startPagesRouterServer(options) {
845
923
  pathname = stripped;
846
924
  }
847
925
  }
848
- if (pathname !== "/" && pathname !== "/api" && !pathname.startsWith("/api/")) {
849
- const hasTrailing = pathname.endsWith("/");
850
- if (trailingSlash && !hasTrailing) {
851
- const qs = url.includes("?") ? url.slice(url.indexOf("?")) : "";
852
- res.writeHead(308, { Location: basePath + pathname + "/" + qs });
926
+ const basePathState = {
927
+ basePath,
928
+ hadBasePath
929
+ };
930
+ {
931
+ const qs = url.includes("?") ? url.slice(url.indexOf("?")) : "";
932
+ const trailingSlashRedirect = normalizeTrailingSlash(pathname, basePath, trailingSlash, qs);
933
+ if (trailingSlashRedirect) {
934
+ const location = trailingSlashRedirect.headers.get("Location");
935
+ res.writeHead(trailingSlashRedirect.status, location ? { Location: location } : void 0);
853
936
  res.end();
854
937
  return;
855
- } else if (!trailingSlash && hasTrailing) {
856
- const qs = url.includes("?") ? url.slice(url.indexOf("?")) : "";
857
- res.writeHead(308, { Location: basePath + removeTrailingSlash(pathname) + qs });
858
- res.end();
938
+ }
939
+ }
940
+ let isDataReq = false;
941
+ if (isNextDataPathname(pathname)) {
942
+ const dataMatch = pagesBuildId ? parseNextDataPathname(pathname, pagesBuildId) : null;
943
+ if (!dataMatch) {
944
+ await sendWebResponse(buildNextDataNotFoundResponse(), req, res, compress);
859
945
  return;
860
946
  }
947
+ isDataReq = true;
948
+ const qs = url.includes("?") ? url.slice(url.indexOf("?")) : "";
949
+ url = dataMatch.pagePathname + qs;
950
+ pathname = dataMatch.pagePathname;
861
951
  }
862
952
  const rawProtocol = trustProxy ? req.headers["x-forwarded-proto"]?.split(",")[0]?.trim() : void 0;
863
953
  const protocol = rawProtocol === "https" || rawProtocol === "http" ? rawProtocol : "http";
864
954
  const hostHeader = resolveHost(req, `${host}:${port}`);
865
- const reqHeaders = filterInternalHeaders(Object.entries(req.headers).reduce((h, [k, v]) => {
955
+ const rawReqHeaders = Object.entries(req.headers).reduce((h, [k, v]) => {
866
956
  if (v) h.set(k, Array.isArray(v) ? v.join(", ") : v);
867
957
  return h;
868
- }, new Headers()));
958
+ }, new Headers());
959
+ const isDataRequest = rawReqHeaders.get("x-nextjs-data") === "1";
960
+ const reqHeaders = filterInternalHeaders(rawReqHeaders);
869
961
  const method = req.method ?? "GET";
870
962
  const hasBody = method !== "GET" && method !== "HEAD";
871
963
  let webRequest = new Request(`${protocol}://${hostHeader}${url}`, {
@@ -875,10 +967,12 @@ async function startPagesRouterServer(options) {
875
967
  duplex: hasBody ? "half" : void 0
876
968
  });
877
969
  const reqCtx = requestContextFromRequest(webRequest);
970
+ const requestHostname = i18nConfig ? new URL(webRequest.url).hostname : "";
971
+ const matchPathname = i18nConfig ? normalizeDefaultLocalePathname(pathname, i18nConfig, { hostname: requestHostname }) : pathname;
878
972
  if (configRedirects.length) {
879
- const redirect = matchRedirect(pathname, configRedirects, reqCtx);
973
+ const redirect = matchRedirect(matchPathname, configRedirects, reqCtx, basePathState);
880
974
  if (redirect) {
881
- const dest = sanitizeDestination(basePath && !isExternalUrl(redirect.destination) && !hasBasePath(redirect.destination, basePath) ? basePath + redirect.destination : redirect.destination);
975
+ const dest = sanitizeDestination(basePath && hadBasePath && !isExternalUrl(redirect.destination) && !hasBasePath(redirect.destination, basePath) ? basePath + redirect.destination : redirect.destination);
882
976
  res.writeHead(redirect.permanent ? 308 : 307, { Location: dest });
883
977
  res.end();
884
978
  return;
@@ -888,7 +982,7 @@ async function startPagesRouterServer(options) {
888
982
  const middlewareHeaders = {};
889
983
  let middlewareStatus;
890
984
  if (typeof runMiddleware === "function") {
891
- const result = await runMiddleware(webRequest, void 0);
985
+ const result = await runMiddleware(webRequest, void 0, { isDataRequest });
892
986
  if (result.waitUntilPromises && result.waitUntilPromises.length > 0) Promise.allSettled(result.waitUntilPromises);
893
987
  if (!result.continue) {
894
988
  if (result.redirectUrl) {
@@ -930,30 +1024,41 @@ async function startPagesRouterServer(options) {
930
1024
  const { postMwReqCtx, request: postMwReq } = applyMiddlewareRequestHeaders(middlewareHeaders, webRequest, { preserveCredentialHeaders: isExternalUrl(resolvedUrl) });
931
1025
  webRequest = postMwReq;
932
1026
  let resolvedPathname = resolvedUrl.split("?")[0];
1027
+ const matchResolvedPathname = (p) => i18nConfig ? normalizeDefaultLocalePathname(p, i18nConfig, { hostname: requestHostname }) : p;
933
1028
  if (configHeaders.length) applyConfigHeadersToHeaderRecord(middlewareHeaders, {
934
1029
  configHeaders,
935
- pathname,
936
- requestContext: reqCtx
1030
+ pathname: matchPathname,
1031
+ requestContext: reqCtx,
1032
+ basePathState
937
1033
  });
938
1034
  if (isExternalUrl(resolvedUrl)) {
939
1035
  await sendWebResponse(mergeWebResponse(middlewareHeaders, await proxyExternalRequest(webRequest, resolvedUrl), void 0), req, res, compress);
940
1036
  return;
941
1037
  }
942
- if (staticLookupPath !== "/" && !staticLookupPath.startsWith("/api/") && !staticLookupPath.startsWith("/assets/") && await tryServeStatic(req, res, clientDir, staticLookupPath, compress, staticCache, middlewareHeaders)) return;
1038
+ if (staticLookupPath !== "/" && !staticLookupPath.startsWith("/api/") && !staticLookupPath.startsWith(`/_next/static/`) && await tryServeStatic(req, res, clientDir, staticLookupPath, compress, staticCache, middlewareHeaders)) return;
1039
+ let configRewriteFired = false;
943
1040
  if (configRewrites.beforeFiles?.length) {
944
- const rewritten = matchRewrite(resolvedPathname, configRewrites.beforeFiles, postMwReqCtx);
1041
+ const rewritten = matchRewrite(matchResolvedPathname(resolvedPathname), configRewrites.beforeFiles, postMwReqCtx, basePathState);
945
1042
  if (rewritten) {
946
1043
  if (isExternalUrl(rewritten)) {
947
1044
  await sendWebResponse(await proxyExternalRequest(webRequest, rewritten), req, res, compress);
948
1045
  return;
949
1046
  }
950
- resolvedUrl = rewritten;
951
- resolvedPathname = rewritten.split("?")[0];
1047
+ resolvedUrl = mergeRewriteQuery(resolvedUrl, rewritten);
1048
+ resolvedPathname = resolvedUrl.split("?")[0];
1049
+ configRewriteFired = true;
952
1050
  }
953
1051
  }
954
- if (resolvedPathname.startsWith("/api/") || resolvedPathname === "/api") {
1052
+ if (basePath && !hadBasePath && !configRewriteFired) {
1053
+ res.writeHead(404, { "Content-Type": "text/html; charset=utf-8" });
1054
+ res.end("This page could not be found");
1055
+ return;
1056
+ }
1057
+ const apiLookupUrl = stripI18nLocaleForApiRoute(resolvedUrl, vinextConfig?.i18n ?? null);
1058
+ const apiLookupPathname = apiLookupUrl.split("?")[0];
1059
+ if (apiLookupPathname.startsWith("/api/") || apiLookupPathname === "/api") {
955
1060
  let response;
956
- if (typeof handleApi === "function") response = await handleApi(webRequest, resolvedUrl);
1061
+ if (typeof handleApi === "function") response = await handleApi(webRequest, apiLookupUrl, createNodeExecutionContext());
957
1062
  else response = new Response("404 - API route not found", { status: 404 });
958
1063
  const mergedResponse = mergeWebResponse(middlewareHeaders, response, middlewareStatus);
959
1064
  if (!mergedResponse.body) {
@@ -969,34 +1074,35 @@ async function startPagesRouterServer(options) {
969
1074
  }
970
1075
  const pageMatch = matchPageRoute ? matchPageRoute(resolvedPathname, webRequest) : null;
971
1076
  if ((!pageMatch || pageMatch.route.isDynamic) && configRewrites.afterFiles?.length) {
972
- const rewritten = matchRewrite(resolvedPathname, configRewrites.afterFiles, postMwReqCtx);
1077
+ const rewritten = matchRewrite(matchResolvedPathname(resolvedPathname), configRewrites.afterFiles, postMwReqCtx, basePathState);
973
1078
  if (rewritten) {
974
1079
  if (isExternalUrl(rewritten)) {
975
1080
  await sendWebResponse(await proxyExternalRequest(webRequest, rewritten), req, res, compress);
976
1081
  return;
977
1082
  }
978
- resolvedUrl = rewritten;
979
- resolvedPathname = rewritten.split("?")[0];
1083
+ resolvedUrl = mergeRewriteQuery(resolvedUrl, rewritten);
1084
+ resolvedPathname = resolvedUrl.split("?")[0];
980
1085
  }
981
1086
  }
982
1087
  let response;
983
1088
  if (typeof renderPage === "function") {
984
1089
  const middlewareResponseHeaders = toWebHeaders(middlewareHeaders);
985
- response = await renderPage(webRequest, resolvedUrl, ssrManifest, void 0, middlewareResponseHeaders);
1090
+ const renderOptions = isDataReq ? { isDataReq: true } : void 0;
1091
+ response = await renderPage(webRequest, resolvedUrl, ssrManifest, void 0, middlewareResponseHeaders, renderOptions);
986
1092
  if (response && response.status === 404 && configRewrites.fallback?.length) {
987
- const fallbackRewrite = matchRewrite(resolvedPathname, configRewrites.fallback, postMwReqCtx);
1093
+ const fallbackRewrite = matchRewrite(matchResolvedPathname(resolvedPathname), configRewrites.fallback, postMwReqCtx, basePathState);
988
1094
  if (fallbackRewrite) {
989
1095
  if (isExternalUrl(fallbackRewrite)) {
990
1096
  await sendWebResponse(await proxyExternalRequest(webRequest, fallbackRewrite), req, res, compress);
991
1097
  return;
992
1098
  }
993
- response = await renderPage(webRequest, fallbackRewrite, ssrManifest, void 0, middlewareResponseHeaders);
1099
+ response = await renderPage(webRequest, mergeRewriteQuery(resolvedUrl, fallbackRewrite), ssrManifest, void 0, middlewareResponseHeaders, renderOptions);
994
1100
  }
995
1101
  }
996
1102
  }
997
1103
  if (!response) {
998
1104
  res.writeHead(404);
999
- res.end("404 - Not found");
1105
+ res.end("This page could not be found");
1000
1106
  return;
1001
1107
  }
1002
1108
  const shouldStreamPagesResponse = isVinextStreamedHtmlResponse(response);
@@ -1035,6 +1141,6 @@ async function startPagesRouterServer(options) {
1035
1141
  };
1036
1142
  }
1037
1143
  //#endregion
1038
- export { COMPRESSIBLE_TYPES, COMPRESS_THRESHOLD, mergeResponseHeaders, mergeWebResponse, negotiateEncoding, nodeToWebRequest, resolveHost, sendCompressed, sendWebResponse, startProdServer, trustProxy, trustedHosts, tryServeStatic };
1144
+ export { COMPRESSIBLE_TYPES, COMPRESS_THRESHOLD, mergeResponseHeaders, mergeWebResponse, negotiateEncoding, nodeToWebRequest, resolveAppRouterAssetPath, resolveAppRouterPrerenderSeeder, resolveHost, sendCompressed, sendWebResponse, startProdServer, trustProxy, trustedHosts, tryServeStatic };
1039
1145
 
1040
1146
  //# sourceMappingURL=prod-server.js.map