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
@@ -32,6 +32,9 @@ function createAppRouteGraphSlotId(slotName, ownerTreePath) {
32
32
  function createAppRouteGraphDefaultId(slotId) {
33
33
  return `default:${slotId}`;
34
34
  }
35
+ function createAppRouteGraphInterceptionId(slotId, sourcePattern, targetPattern) {
36
+ return `interception:${slotId}:${sourcePattern}->${targetPattern}`;
37
+ }
35
38
  function createAppRouteGraphRootBoundaryId(treePath) {
36
39
  return `root-boundary:${treePath}`;
37
40
  }
@@ -59,8 +62,10 @@ function createStaticSegmentGraph(routes) {
59
62
  const slots = /* @__PURE__ */ new Map();
60
63
  const defaults = /* @__PURE__ */ new Map();
61
64
  const slotBindings = /* @__PURE__ */ new Map();
65
+ const interceptions = /* @__PURE__ */ new Map();
62
66
  const boundaries = /* @__PURE__ */ new Map();
63
67
  const rootBoundaries = /* @__PURE__ */ new Map();
68
+ const routeIdByPattern = createRouteManifestRouteIdByPattern(routes);
64
69
  for (const route of routes) {
65
70
  routeEntries.set(route.ids.route, {
66
71
  id: route.ids.route,
@@ -92,9 +97,12 @@ function createStaticSegmentGraph(routes) {
92
97
  const treePath = createAppRouteGraphTreePath(route.routeSegments, treePosition);
93
98
  const existingLayout = layouts.get(layoutId);
94
99
  if (existingLayout) assertRouteManifestRootBoundary("layout", route, layoutId, existingLayout.rootBoundaryId);
100
+ const layoutRouteParts = convertTreePathToRouteParts(treePath);
95
101
  const layout = {
96
102
  id: layoutId,
97
103
  treePath,
104
+ patternParts: layoutRouteParts.urlSegments,
105
+ paramNames: layoutRouteParts.params,
98
106
  rootBoundaryId: route.ids.rootBoundary
99
107
  };
100
108
  layouts.set(layoutId, layout);
@@ -135,6 +143,20 @@ function createStaticSegmentGraph(routes) {
135
143
  for (const slot of route.parallelSlots) {
136
144
  const ownerLayoutId = findSlotOwnerLayoutId(route, slot);
137
145
  const defaultId = slot.defaultPath ? createAppRouteGraphDefaultId(slot.id) : null;
146
+ if (slot.layoutPath) {
147
+ const slotLayoutTreePath = createSlotLayoutTreePath(slot);
148
+ const slotLayoutId = createAppRouteGraphLayoutId(slotLayoutTreePath);
149
+ const existingLayout = layouts.get(slotLayoutId);
150
+ if (existingLayout) assertRouteManifestRootBoundary("layout", route, slotLayoutId, existingLayout.rootBoundaryId);
151
+ const slotLayoutRouteParts = convertTreePathToRouteParts(slotLayoutTreePath);
152
+ layouts.set(slotLayoutId, {
153
+ id: slotLayoutId,
154
+ treePath: slotLayoutTreePath,
155
+ patternParts: slotLayoutRouteParts.urlSegments,
156
+ paramNames: slotLayoutRouteParts.params,
157
+ rootBoundaryId: route.ids.rootBoundary
158
+ });
159
+ }
138
160
  slots.set(slot.id, {
139
161
  id: slot.id,
140
162
  key: slot.key,
@@ -155,6 +177,13 @@ function createStaticSegmentGraph(routes) {
155
177
  });
156
178
  const binding = createRouteManifestSlotBinding(route, slot, ownerLayoutId, defaultId);
157
179
  slotBindings.set(binding.id, binding);
180
+ addRouteManifestInterceptionFacts({
181
+ interceptions,
182
+ ownerLayoutId,
183
+ route,
184
+ routeIdByPattern,
185
+ slot
186
+ });
158
187
  }
159
188
  }
160
189
  return {
@@ -166,10 +195,15 @@ function createStaticSegmentGraph(routes) {
166
195
  slots,
167
196
  defaults,
168
197
  slotBindings,
198
+ interceptions,
199
+ interceptionsBySlotId: createRouteManifestInterceptionsBySlotId(interceptions),
169
200
  boundaries,
170
201
  rootBoundaries
171
202
  };
172
203
  }
204
+ function createRouteManifestRouteIdByPattern(routes) {
205
+ return new Map(routes.map((route) => [route.pattern, route.ids.route]));
206
+ }
173
207
  function findRouteManifestOwnerLayoutId(route, treePosition) {
174
208
  const layoutIndex = route.layoutTreePositions.indexOf(treePosition);
175
209
  return route.ids.layouts[layoutIndex] ?? null;
@@ -178,6 +212,11 @@ function findSlotOwnerLayoutId(route, slot) {
178
212
  if (slot.layoutIndex < 0) return null;
179
213
  return route.ids.layouts[slot.layoutIndex] ?? null;
180
214
  }
215
+ function createSlotLayoutTreePath(slot) {
216
+ const slotSegment = `@${slot.name}`;
217
+ if (slot.ownerTreePath === "/") return `/${slotSegment}`;
218
+ return `${slot.ownerTreePath}/${slotSegment}`;
219
+ }
181
220
  function createRouteManifestSlotBinding(route, slot, ownerLayoutId, defaultId) {
182
221
  const state = getRouteManifestSlotBindingState(slot);
183
222
  const binding = {
@@ -193,6 +232,35 @@ function createRouteManifestSlotBinding(route, slot, ownerLayoutId, defaultId) {
193
232
  if (slot.slotParamNames) binding.slotParamNames = [...slot.slotParamNames];
194
233
  return binding;
195
234
  }
235
+ function addRouteManifestInterceptionFacts(input) {
236
+ for (const interception of input.slot.interceptingRoutes) {
237
+ const id = createAppRouteGraphInterceptionId(input.slot.id, interception.sourceMatchPattern, interception.targetPattern);
238
+ input.interceptions.set(id, {
239
+ id,
240
+ sourcePattern: interception.sourceMatchPattern,
241
+ sourcePatternParts: splitRouteManifestPatternParts(interception.sourceMatchPattern),
242
+ targetPattern: interception.targetPattern,
243
+ targetPatternParts: splitRouteManifestPatternParts(interception.targetPattern),
244
+ slotId: input.slot.id,
245
+ ownerLayoutId: input.ownerLayoutId,
246
+ interceptingRouteId: input.routeIdByPattern.get(interception.sourceMatchPattern) ?? null,
247
+ targetRouteId: input.routeIdByPattern.get(interception.targetPattern) ?? null
248
+ });
249
+ }
250
+ }
251
+ function createRouteManifestInterceptionsBySlotId(interceptions) {
252
+ const interceptionsBySlotId = /* @__PURE__ */ new Map();
253
+ for (const interception of interceptions.values()) {
254
+ const existing = interceptionsBySlotId.get(interception.slotId);
255
+ if (existing) existing.push(interception);
256
+ else interceptionsBySlotId.set(interception.slotId, [interception]);
257
+ }
258
+ for (const slotInterceptions of interceptionsBySlotId.values()) slotInterceptions.sort((left, right) => compareStableStrings(left.id, right.id));
259
+ return new Map(Array.from(interceptionsBySlotId.entries()).sort(([left], [right]) => compareStableStrings(left, right)));
260
+ }
261
+ function splitRouteManifestPatternParts(pattern) {
262
+ return pattern.split("/").filter((part) => part.length > 0);
263
+ }
196
264
  function getRouteManifestSlotBindingState(slot) {
197
265
  if (slot.pagePath) return "active";
198
266
  if (slot.defaultPath) return "default";
@@ -252,6 +320,8 @@ function createRouteManifestGraphVersion(segmentGraph) {
252
320
  slots: sortedMapValues(segmentGraph.slots),
253
321
  defaults: sortedMapValues(segmentGraph.defaults),
254
322
  slotBindings: sortedMapValues(segmentGraph.slotBindings),
323
+ interceptions: sortedMapValues(segmentGraph.interceptions),
324
+ interceptionsBySlotId: sortedMapValues(segmentGraph.interceptionsBySlotId),
255
325
  boundaries: sortedMapValues(segmentGraph.boundaries),
256
326
  rootBoundaries: sortedMapValues(segmentGraph.rootBoundaries)
257
327
  };
@@ -259,7 +329,7 @@ function createRouteManifestGraphVersion(segmentGraph) {
259
329
  }
260
330
  async function buildAppRouteGraph(appDir, matcher) {
261
331
  const routes = [];
262
- const excludeDir = (name) => name.startsWith("@") || name.startsWith("_");
332
+ const excludeDir = (name) => name.startsWith("@") || name.startsWith("_") || isInterceptionMarkerDir(name);
263
333
  for await (const file of scanWithExtensions("**/page", appDir, matcher.extensions, excludeDir)) {
264
334
  const route = fileToAppRoute(file, appDir, "page", matcher);
265
335
  if (route) routes.push(route);
@@ -269,17 +339,22 @@ async function buildAppRouteGraph(appDir, matcher) {
269
339
  if (route) routes.push(route);
270
340
  }
271
341
  const routePatterns = new Set(routes.map((route) => route.pattern));
342
+ const ghostParentRoutes = [];
272
343
  for await (const file of scanWithExtensions("**/layout", appDir, matcher.extensions, excludeDir)) {
273
344
  const dir = path.dirname(file);
274
345
  const routeDir = dir === "." ? appDir : path.join(appDir, dir);
275
346
  if (!hasParallelSlotDirectory(routeDir)) continue;
276
347
  if (discoverParallelSlots(routeDir, appDir, matcher).length === 0) continue;
277
348
  const route = directoryToAppRoute(dir, appDir, matcher, null, null);
278
- if (!route || routePatterns.has(route.pattern)) continue;
349
+ if (!route) continue;
350
+ if (routePatterns.has(route.pattern)) {
351
+ ghostParentRoutes.push(route);
352
+ continue;
353
+ }
279
354
  routes.push(route);
280
355
  routePatterns.add(route.pattern);
281
356
  }
282
- const slotSubRoutes = discoverSlotSubRoutes(routes, matcher);
357
+ const slotSubRoutes = discoverSlotSubRoutes(routes, matcher, ghostParentRoutes);
283
358
  routes.push(...slotSubRoutes);
284
359
  validatePageRouteConflicts(routes, appDir);
285
360
  validateRoutePatterns(routes.map((route) => route.pattern));
@@ -333,7 +408,7 @@ function formatAppFilePath(filePath, appDir) {
333
408
  * - @audience slot → @audience/demographics/page.tsx (matched)
334
409
  * - other slots → their default.tsx (fallback)
335
410
  */
336
- function discoverSlotSubRoutes(routes, matcher) {
411
+ function discoverSlotSubRoutes(routes, matcher, ghostParents = []) {
337
412
  const syntheticRoutes = [];
338
413
  const routesByPattern = new Map(routes.map((r) => [r.pattern, r]));
339
414
  const applySlotSubPages = (route, slotPages, rawSegments) => {
@@ -347,7 +422,8 @@ function discoverSlotSubRoutes(routes, matcher) {
347
422
  return slot;
348
423
  });
349
424
  };
350
- for (const parentRoute of routes) {
425
+ const allParents = [...routes, ...ghostParents];
426
+ for (const parentRoute of allParents) {
351
427
  if (parentRoute.parallelSlots.length === 0) continue;
352
428
  const isLayoutOnlyUiRoute = !parentRoute.pagePath && !parentRoute.routePath && parentRoute.layouts.length > 0;
353
429
  if (!parentRoute.pagePath && !isLayoutOnlyUiRoute) continue;
@@ -584,6 +660,18 @@ function createAppRouteGraphTreePath(routeSegments, treePosition) {
584
660
  if (treePathSegments.length === 0) return "/";
585
661
  return `/${treePathSegments.join("/")}`;
586
662
  }
663
+ function convertTreePathToRouteParts(treePath) {
664
+ if (treePath === "/") return {
665
+ urlSegments: [],
666
+ params: []
667
+ };
668
+ const routeParts = convertSegmentsToRouteParts(treePath.split("/").filter(Boolean));
669
+ if (!routeParts) throw new Error(`Invalid App Router layout tree path "${treePath}".`);
670
+ return {
671
+ urlSegments: routeParts.urlSegments,
672
+ params: routeParts.params
673
+ };
674
+ }
587
675
  /**
588
676
  * Compute the tree position (directory depth from app root) for each layout.
589
677
  * Root layout = 0, a layout at app/blog/ = 1, app/blog/(group)/ = 2.
@@ -943,6 +1031,18 @@ const INTERCEPT_PATTERNS = [
943
1031
  }
944
1032
  ];
945
1033
  /**
1034
+ * Check whether a directory name begins with an interception route marker.
1035
+ *
1036
+ * Matches the prefixes listed in {@link INTERCEPT_PATTERNS}: `(.)`, `(..)`,
1037
+ * `(...)`, `(..)(..)`. The marker is not a real URL segment, so the global
1038
+ * page/route scanner must skip these directories to avoid materialising
1039
+ * literal patterns like `/templates/(..)showcase`. Interception target
1040
+ * registration happens separately via {@link discoverInterceptingRoutes}.
1041
+ */
1042
+ function isInterceptionMarkerDir(name) {
1043
+ return matchInterceptConvention(name) !== null;
1044
+ }
1045
+ /**
946
1046
  * Discover intercepting routes inside a parallel slot directory.
947
1047
  *
948
1048
  * Intercepting routes use conventions like (.)photo, (..)feed, (...), etc.
@@ -972,7 +1072,7 @@ function scanForInterceptingPages(currentDir, routeDir, appDir, results, matcher
972
1072
  if (interceptMatch) {
973
1073
  const restOfName = entry.name.slice(interceptMatch.prefix.length);
974
1074
  const interceptDir = path.join(currentDir, entry.name);
975
- collectInterceptingPages(interceptDir, interceptDir, interceptMatch.convention, restOfName, routeDir, appDir, results, matcher);
1075
+ collectInterceptingPages(interceptDir, interceptDir, interceptMatch.convention, restOfName, routeDir, appDir, currentDir, results, matcher);
976
1076
  } else scanForInterceptingPages(path.join(currentDir, entry.name), routeDir, appDir, results, matcher);
977
1077
  }
978
1078
  }
@@ -987,29 +1087,53 @@ function matchInterceptConvention(name) {
987
1087
  * Collect page.tsx files inside an intercepting route directory tree
988
1088
  * and compute their target URL patterns.
989
1089
  */
990
- function collectInterceptingPages(currentDir, interceptRoot, convention, interceptSegment, routeDir, appDir, results, matcher, parentLayoutPaths = []) {
1090
+ function collectInterceptingPages(currentDir, interceptRoot, convention, interceptSegment, routeDir, appDir, interceptParentDir, results, matcher, parentLayoutPaths = []) {
991
1091
  const currentLayoutPath = findFile(currentDir, "layout", matcher);
992
1092
  const layoutPaths = currentLayoutPath ? [...parentLayoutPaths, currentLayoutPath] : parentLayoutPaths;
993
1093
  const page = findFile(currentDir, "page", matcher);
994
1094
  if (page) {
995
1095
  const targetPattern = computeInterceptTarget(convention, interceptSegment, currentDir, interceptRoot, routeDir, appDir);
996
- if (targetPattern) results.push({
997
- convention,
998
- layoutPaths: [...layoutPaths],
999
- targetPattern: targetPattern.pattern,
1000
- pagePath: page,
1001
- params: targetPattern.params
1002
- });
1096
+ if (targetPattern) {
1097
+ const sourceMatchPattern = computeInterceptSourceMatchPattern(interceptParentDir, appDir);
1098
+ results.push({
1099
+ convention,
1100
+ layoutPaths: [...layoutPaths],
1101
+ targetPattern: targetPattern.pattern,
1102
+ sourceMatchPattern,
1103
+ pagePath: page,
1104
+ params: targetPattern.params
1105
+ });
1106
+ }
1003
1107
  }
1004
1108
  if (!fs.existsSync(currentDir)) return;
1005
1109
  const entries = fs.readdirSync(currentDir, { withFileTypes: true });
1006
1110
  for (const entry of entries) {
1007
1111
  if (!entry.isDirectory()) continue;
1008
1112
  if (entry.name.startsWith("_")) continue;
1009
- collectInterceptingPages(path.join(currentDir, entry.name), interceptRoot, convention, interceptSegment, routeDir, appDir, results, matcher, layoutPaths);
1113
+ collectInterceptingPages(path.join(currentDir, entry.name), interceptRoot, convention, interceptSegment, routeDir, appDir, interceptParentDir, results, matcher, layoutPaths);
1010
1114
  }
1011
1115
  }
1012
1116
  /**
1117
+ * Compute the URL pattern for the *intercepting route* — the path that
1118
+ * owns the slot containing the interception marker. Route groups (`(name)`)
1119
+ * and parallel slots (`@slot`) are stripped because Next.js'
1120
+ * `normalizeAppPath` treats them as invisible in the URL.
1121
+ *
1122
+ * Mirrors Next.js' computation in `extractInterceptionRouteInformation`:
1123
+ * `interceptingRoute = normalizeAppPath(path.split(marker, 2)[0])`.
1124
+ *
1125
+ * Returns `/` for the app root.
1126
+ *
1127
+ * @see https://github.com/vercel/next.js/blob/canary/packages/next/src/shared/lib/router/utils/interception-routes.ts
1128
+ */
1129
+ function computeInterceptSourceMatchPattern(interceptParentDir, appDir) {
1130
+ const segments = path.relative(appDir, interceptParentDir).split(path.sep).filter(Boolean);
1131
+ const converted = convertSegmentsToRouteParts(segments);
1132
+ const urlSegments = converted ? converted.urlSegments : segments.filter((segment) => !isInvisibleSegment(segment));
1133
+ if (urlSegments.length === 0) return "/";
1134
+ return "/" + urlSegments.join("/");
1135
+ }
1136
+ /**
1013
1137
  * Check whether a path segment is invisible in the URL (route groups, parallel slots, ".").
1014
1138
  *
1015
1139
  * Used by computeInterceptTarget, convertSegmentsToRouteParts, and
@@ -1161,6 +1285,6 @@ function joinRoutePattern(basePattern, subPath) {
1161
1285
  return basePattern === "/" ? `/${subPath}` : `${basePattern}/${subPath}`;
1162
1286
  }
1163
1287
  //#endregion
1164
- export { buildAppRouteGraph, computeRootParamNames };
1288
+ export { buildAppRouteGraph, computeRootParamNames, convertSegmentsToRouteParts, isInvisibleSegment };
1165
1289
 
1166
1290
  //# sourceMappingURL=app-route-graph.js.map