@qzsy/vinext 0.1.7

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 (803) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +773 -0
  3. package/dist/build/assets-ignore.d.ts +32 -0
  4. package/dist/build/assets-ignore.js +48 -0
  5. package/dist/build/clean-output.d.ts +13 -0
  6. package/dist/build/clean-output.js +34 -0
  7. package/dist/build/client-build-config.d.ts +171 -0
  8. package/dist/build/client-build-config.js +270 -0
  9. package/dist/build/css-url-assets.d.ts +29 -0
  10. package/dist/build/css-url-assets.js +213 -0
  11. package/dist/build/google-fonts/build-url.d.ts +9 -0
  12. package/dist/build/google-fonts/build-url.js +28 -0
  13. package/dist/build/google-fonts/fallback-metrics-data.js +14029 -0
  14. package/dist/build/google-fonts/fallback-metrics.d.ts +12 -0
  15. package/dist/build/google-fonts/fallback-metrics.js +44 -0
  16. package/dist/build/google-fonts/find-font-files-in-css.d.ts +16 -0
  17. package/dist/build/google-fonts/find-font-files-in-css.js +28 -0
  18. package/dist/build/google-fonts/font-data.js +24983 -0
  19. package/dist/build/google-fonts/font-metadata.d.ts +16 -0
  20. package/dist/build/google-fonts/font-metadata.js +5 -0
  21. package/dist/build/google-fonts/get-axes.d.ts +6 -0
  22. package/dist/build/google-fonts/get-axes.js +37 -0
  23. package/dist/build/google-fonts/sort-variants.d.ts +4 -0
  24. package/dist/build/google-fonts/sort-variants.js +12 -0
  25. package/dist/build/google-fonts/validate.d.ts +27 -0
  26. package/dist/build/google-fonts/validate.js +54 -0
  27. package/dist/build/inline-css.d.ts +6 -0
  28. package/dist/build/inline-css.js +48 -0
  29. package/dist/build/layout-classification-types.d.ts +61 -0
  30. package/dist/build/layout-classification-types.js +1 -0
  31. package/dist/build/layout-classification.d.ts +59 -0
  32. package/dist/build/layout-classification.js +98 -0
  33. package/dist/build/next-client-runtime-manifests.d.ts +14 -0
  34. package/dist/build/next-client-runtime-manifests.js +39 -0
  35. package/dist/build/nitro-route-rules.d.ts +49 -0
  36. package/dist/build/nitro-route-rules.js +79 -0
  37. package/dist/build/precompress.d.ts +27 -0
  38. package/dist/build/precompress.js +110 -0
  39. package/dist/build/prerender.d.ts +209 -0
  40. package/dist/build/prerender.js +932 -0
  41. package/dist/build/report.d.ts +132 -0
  42. package/dist/build/report.js +504 -0
  43. package/dist/build/route-classification-injector.d.ts +34 -0
  44. package/dist/build/route-classification-injector.js +59 -0
  45. package/dist/build/route-classification-manifest.d.ts +52 -0
  46. package/dist/build/route-classification-manifest.js +143 -0
  47. package/dist/build/run-prerender.d.ts +61 -0
  48. package/dist/build/run-prerender.js +224 -0
  49. package/dist/build/server-manifest.d.ts +18 -0
  50. package/dist/build/server-manifest.js +22 -0
  51. package/dist/build/ssr-manifest.d.ts +18 -0
  52. package/dist/build/ssr-manifest.js +69 -0
  53. package/dist/build/standalone.d.ts +31 -0
  54. package/dist/build/standalone.js +203 -0
  55. package/dist/build/static-export.d.ts +55 -0
  56. package/dist/build/static-export.js +60 -0
  57. package/dist/cache/cache-adapters-virtual.d.ts +50 -0
  58. package/dist/cache/cache-adapters-virtual.js +45 -0
  59. package/dist/cache.d.ts +2 -0
  60. package/dist/cache.js +2 -0
  61. package/dist/check.d.ts +87 -0
  62. package/dist/check.js +1037 -0
  63. package/dist/cli-args.d.ts +33 -0
  64. package/dist/cli-args.js +124 -0
  65. package/dist/cli.d.ts +1 -0
  66. package/dist/cli.js +744 -0
  67. package/dist/client/app-nav-failure-handler.d.ts +8 -0
  68. package/dist/client/app-nav-failure-handler.js +44 -0
  69. package/dist/client/empty-module.d.ts +1 -0
  70. package/dist/client/empty-module.js +1 -0
  71. package/dist/client/instrumentation-client-inject.d.ts +33 -0
  72. package/dist/client/instrumentation-client-inject.js +55 -0
  73. package/dist/client/instrumentation-client-state.d.ts +9 -0
  74. package/dist/client/instrumentation-client-state.js +17 -0
  75. package/dist/client/instrumentation-client.d.ts +7 -0
  76. package/dist/client/instrumentation-client.js +6 -0
  77. package/dist/client/navigation-runtime.d.ts +70 -0
  78. package/dist/client/navigation-runtime.js +169 -0
  79. package/dist/client/pages-router-link-navigation.d.ts +61 -0
  80. package/dist/client/pages-router-link-navigation.js +42 -0
  81. package/dist/client/validate-module-path.d.ts +17 -0
  82. package/dist/client/validate-module-path.js +24 -0
  83. package/dist/client/vinext-next-data.d.ts +44 -0
  84. package/dist/client/vinext-next-data.js +50 -0
  85. package/dist/client/window-next.d.ts +168 -0
  86. package/dist/client/window-next.js +57 -0
  87. package/dist/cloudflare/index.d.ts +3 -0
  88. package/dist/cloudflare/index.js +3 -0
  89. package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +102 -0
  90. package/dist/cloudflare/src/cache/kv-data-adapter.runtime.d.ts +126 -0
  91. package/dist/cloudflare/src/cache/kv-data-adapter.runtime.js +435 -0
  92. package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
  93. package/dist/cloudflare/tpr.d.ts +82 -0
  94. package/dist/cloudflare/tpr.js +558 -0
  95. package/dist/config/config-matchers.d.ts +257 -0
  96. package/dist/config/config-matchers.js +1046 -0
  97. package/dist/config/dotenv.d.ts +56 -0
  98. package/dist/config/dotenv.js +88 -0
  99. package/dist/config/next-config.d.ts +540 -0
  100. package/dist/config/next-config.js +1050 -0
  101. package/dist/config/tsconfig-paths.d.ts +21 -0
  102. package/dist/config/tsconfig-paths.js +157 -0
  103. package/dist/deploy.d.ts +190 -0
  104. package/dist/deploy.js +1033 -0
  105. package/dist/entries/app-browser-entry.d.ts +29 -0
  106. package/dist/entries/app-browser-entry.js +83 -0
  107. package/dist/entries/app-rsc-entry.d.ts +81 -0
  108. package/dist/entries/app-rsc-entry.js +943 -0
  109. package/dist/entries/app-rsc-manifest.d.ts +53 -0
  110. package/dist/entries/app-rsc-manifest.js +294 -0
  111. package/dist/entries/app-ssr-entry.d.ts +15 -0
  112. package/dist/entries/app-ssr-entry.js +24 -0
  113. package/dist/entries/pages-client-entry.d.ts +11 -0
  114. package/dist/entries/pages-client-entry.js +204 -0
  115. package/dist/entries/pages-entry-helpers.d.ts +2 -0
  116. package/dist/entries/pages-entry-helpers.js +2 -0
  117. package/dist/entries/pages-server-entry.d.ts +11 -0
  118. package/dist/entries/pages-server-entry.js +398 -0
  119. package/dist/entries/runtime-entry-module.d.ts +25 -0
  120. package/dist/entries/runtime-entry-module.js +46 -0
  121. package/dist/index.d.ts +115 -0
  122. package/dist/index.js +2661 -0
  123. package/dist/init.d.ts +69 -0
  124. package/dist/init.js +253 -0
  125. package/dist/plugins/ast-utils.d.ts +20 -0
  126. package/dist/plugins/ast-utils.js +78 -0
  127. package/dist/plugins/async-hooks-stub.d.ts +18 -0
  128. package/dist/plugins/async-hooks-stub.js +40 -0
  129. package/dist/plugins/client-reference-dedup.d.ts +35 -0
  130. package/dist/plugins/client-reference-dedup.js +189 -0
  131. package/dist/plugins/css-data-url.d.ts +6 -0
  132. package/dist/plugins/css-data-url.js +83 -0
  133. package/dist/plugins/dynamic-preload-metadata.d.ts +13 -0
  134. package/dist/plugins/dynamic-preload-metadata.js +413 -0
  135. package/dist/plugins/extensionless-dynamic-import.d.ts +6 -0
  136. package/dist/plugins/extensionless-dynamic-import.js +155 -0
  137. package/dist/plugins/fonts.d.ts +95 -0
  138. package/dist/plugins/fonts.js +711 -0
  139. package/dist/plugins/import-meta-url.d.ts +16 -0
  140. package/dist/plugins/import-meta-url.js +353 -0
  141. package/dist/plugins/instrumentation-client.d.ts +6 -0
  142. package/dist/plugins/instrumentation-client.js +27 -0
  143. package/dist/plugins/middleware-export-validation.d.ts +5 -0
  144. package/dist/plugins/middleware-export-validation.js +36 -0
  145. package/dist/plugins/middleware-server-only.d.ts +53 -0
  146. package/dist/plugins/middleware-server-only.js +90 -0
  147. package/dist/plugins/og-asset-ownership.d.ts +27 -0
  148. package/dist/plugins/og-asset-ownership.js +285 -0
  149. package/dist/plugins/og-assets.d.ts +50 -0
  150. package/dist/plugins/og-assets.js +229 -0
  151. package/dist/plugins/optimize-imports.d.ts +42 -0
  152. package/dist/plugins/optimize-imports.js +587 -0
  153. package/dist/plugins/postcss.d.ts +26 -0
  154. package/dist/plugins/postcss.js +96 -0
  155. package/dist/plugins/remove-console.d.ts +21 -0
  156. package/dist/plugins/remove-console.js +177 -0
  157. package/dist/plugins/require-context.d.ts +6 -0
  158. package/dist/plugins/require-context.js +185 -0
  159. package/dist/plugins/rsc-client-reference-loaders.d.ts +6 -0
  160. package/dist/plugins/rsc-client-reference-loaders.js +46 -0
  161. package/dist/plugins/rsc-client-shim-excludes.d.ts +6 -0
  162. package/dist/plugins/rsc-client-shim-excludes.js +35 -0
  163. package/dist/plugins/sass.d.ts +62 -0
  164. package/dist/plugins/sass.js +268 -0
  165. package/dist/plugins/server-externals-manifest.d.ts +26 -0
  166. package/dist/plugins/server-externals-manifest.js +81 -0
  167. package/dist/plugins/strip-server-exports.d.ts +21 -0
  168. package/dist/plugins/strip-server-exports.js +519 -0
  169. package/dist/plugins/typeof-window.d.ts +14 -0
  170. package/dist/plugins/typeof-window.js +150 -0
  171. package/dist/plugins/wasm-module-import.d.ts +15 -0
  172. package/dist/plugins/wasm-module-import.js +50 -0
  173. package/dist/routing/app-route-graph.d.ts +336 -0
  174. package/dist/routing/app-route-graph.js +1518 -0
  175. package/dist/routing/app-router.d.ts +30 -0
  176. package/dist/routing/app-router.js +59 -0
  177. package/dist/routing/file-matcher.d.ts +60 -0
  178. package/dist/routing/file-matcher.js +147 -0
  179. package/dist/routing/pages-router.d.ts +48 -0
  180. package/dist/routing/pages-router.js +163 -0
  181. package/dist/routing/route-matching.d.ts +27 -0
  182. package/dist/routing/route-matching.js +42 -0
  183. package/dist/routing/route-pattern.d.ts +64 -0
  184. package/dist/routing/route-pattern.js +165 -0
  185. package/dist/routing/route-trie.d.ts +67 -0
  186. package/dist/routing/route-trie.js +143 -0
  187. package/dist/routing/route-validation.d.ts +10 -0
  188. package/dist/routing/route-validation.js +101 -0
  189. package/dist/routing/utils.d.ts +117 -0
  190. package/dist/routing/utils.js +242 -0
  191. package/dist/server/accept-encoding.d.ts +29 -0
  192. package/dist/server/accept-encoding.js +95 -0
  193. package/dist/server/api-handler.d.ts +17 -0
  194. package/dist/server/api-handler.js +276 -0
  195. package/dist/server/app-action-request.d.ts +4 -0
  196. package/dist/server/app-action-request.js +9 -0
  197. package/dist/server/app-bfcache-id.d.ts +5 -0
  198. package/dist/server/app-bfcache-id.js +5 -0
  199. package/dist/server/app-bfcache-identity.d.ts +36 -0
  200. package/dist/server/app-bfcache-identity.js +156 -0
  201. package/dist/server/app-browser-action-result.d.ts +64 -0
  202. package/dist/server/app-browser-action-result.js +111 -0
  203. package/dist/server/app-browser-client-reuse-manifest.d.ts +12 -0
  204. package/dist/server/app-browser-client-reuse-manifest.js +101 -0
  205. package/dist/server/app-browser-entry.d.ts +1 -0
  206. package/dist/server/app-browser-entry.js +1087 -0
  207. package/dist/server/app-browser-error.d.ts +13 -0
  208. package/dist/server/app-browser-error.js +52 -0
  209. package/dist/server/app-browser-history-controller.d.ts +104 -0
  210. package/dist/server/app-browser-history-controller.js +210 -0
  211. package/dist/server/app-browser-hydration.d.ts +32 -0
  212. package/dist/server/app-browser-hydration.js +29 -0
  213. package/dist/server/app-browser-interception-context.d.ts +24 -0
  214. package/dist/server/app-browser-interception-context.js +43 -0
  215. package/dist/server/app-browser-mpa-navigation.d.ts +16 -0
  216. package/dist/server/app-browser-mpa-navigation.js +42 -0
  217. package/dist/server/app-browser-navigation-controller.d.ts +109 -0
  218. package/dist/server/app-browser-navigation-controller.js +465 -0
  219. package/dist/server/app-browser-popstate.d.ts +26 -0
  220. package/dist/server/app-browser-popstate.js +44 -0
  221. package/dist/server/app-browser-rsc-redirect.d.ts +38 -0
  222. package/dist/server/app-browser-rsc-redirect.js +64 -0
  223. package/dist/server/app-browser-server-action-client.d.ts +32 -0
  224. package/dist/server/app-browser-server-action-client.js +128 -0
  225. package/dist/server/app-browser-server-action-navigation.d.ts +6 -0
  226. package/dist/server/app-browser-server-action-navigation.js +9 -0
  227. package/dist/server/app-browser-state.d.ts +140 -0
  228. package/dist/server/app-browser-state.js +315 -0
  229. package/dist/server/app-browser-stream.d.ts +28 -0
  230. package/dist/server/app-browser-stream.js +122 -0
  231. package/dist/server/app-browser-visible-commit.d.ts +78 -0
  232. package/dist/server/app-browser-visible-commit.js +241 -0
  233. package/dist/server/app-client-reference-preloader.d.ts +14 -0
  234. package/dist/server/app-client-reference-preloader.js +44 -0
  235. package/dist/server/app-elements-wire.d.ts +192 -0
  236. package/dist/server/app-elements-wire.js +443 -0
  237. package/dist/server/app-elements.d.ts +9 -0
  238. package/dist/server/app-elements.js +18 -0
  239. package/dist/server/app-fallback-renderer.d.ts +89 -0
  240. package/dist/server/app-fallback-renderer.js +136 -0
  241. package/dist/server/app-history-state.d.ts +85 -0
  242. package/dist/server/app-history-state.js +223 -0
  243. package/dist/server/app-hook-warning-suppression.d.ts +6 -0
  244. package/dist/server/app-hook-warning-suppression.js +10 -0
  245. package/dist/server/app-inline-css-client.d.ts +6 -0
  246. package/dist/server/app-inline-css-client.js +35 -0
  247. package/dist/server/app-interception-context-header.d.ts +32 -0
  248. package/dist/server/app-interception-context-header.js +42 -0
  249. package/dist/server/app-layout-param-observation.d.ts +43 -0
  250. package/dist/server/app-layout-param-observation.js +168 -0
  251. package/dist/server/app-middleware.d.ts +46 -0
  252. package/dist/server/app-middleware.js +168 -0
  253. package/dist/server/app-mounted-slots-header.d.ts +35 -0
  254. package/dist/server/app-mounted-slots-header.js +58 -0
  255. package/dist/server/app-optimistic-routing.d.ts +53 -0
  256. package/dist/server/app-optimistic-routing.js +227 -0
  257. package/dist/server/app-page-boundary-render.d.ts +85 -0
  258. package/dist/server/app-page-boundary-render.js +305 -0
  259. package/dist/server/app-page-boundary.d.ts +102 -0
  260. package/dist/server/app-page-boundary.js +120 -0
  261. package/dist/server/app-page-cache-finalizer.d.ts +62 -0
  262. package/dist/server/app-page-cache-finalizer.js +122 -0
  263. package/dist/server/app-page-cache-render.d.ts +53 -0
  264. package/dist/server/app-page-cache-render.js +91 -0
  265. package/dist/server/app-page-cache.d.ts +83 -0
  266. package/dist/server/app-page-cache.js +272 -0
  267. package/dist/server/app-page-dispatch.d.ts +223 -0
  268. package/dist/server/app-page-dispatch.js +610 -0
  269. package/dist/server/app-page-element-builder.d.ts +96 -0
  270. package/dist/server/app-page-element-builder.js +205 -0
  271. package/dist/server/app-page-execution.d.ts +138 -0
  272. package/dist/server/app-page-execution.js +328 -0
  273. package/dist/server/app-page-head.d.ts +65 -0
  274. package/dist/server/app-page-head.js +228 -0
  275. package/dist/server/app-page-method.d.ts +15 -0
  276. package/dist/server/app-page-method.js +25 -0
  277. package/dist/server/app-page-params.d.ts +8 -0
  278. package/dist/server/app-page-params.js +39 -0
  279. package/dist/server/app-page-ppr-runtime.d.ts +7 -0
  280. package/dist/server/app-page-ppr-runtime.js +70 -0
  281. package/dist/server/app-page-probe.d.ts +134 -0
  282. package/dist/server/app-page-probe.js +276 -0
  283. package/dist/server/app-page-render-identity.d.ts +21 -0
  284. package/dist/server/app-page-render-identity.js +40 -0
  285. package/dist/server/app-page-render-observation.d.ts +36 -0
  286. package/dist/server/app-page-render-observation.js +82 -0
  287. package/dist/server/app-page-render.d.ts +111 -0
  288. package/dist/server/app-page-render.js +602 -0
  289. package/dist/server/app-page-request.d.ts +137 -0
  290. package/dist/server/app-page-request.js +216 -0
  291. package/dist/server/app-page-response.d.ts +68 -0
  292. package/dist/server/app-page-response.js +120 -0
  293. package/dist/server/app-page-route-wiring.d.ts +151 -0
  294. package/dist/server/app-page-route-wiring.js +452 -0
  295. package/dist/server/app-page-search-params-observation.d.ts +10 -0
  296. package/dist/server/app-page-search-params-observation.js +20 -0
  297. package/dist/server/app-page-segment-state.d.ts +9 -0
  298. package/dist/server/app-page-segment-state.js +80 -0
  299. package/dist/server/app-page-stream.d.ts +151 -0
  300. package/dist/server/app-page-stream.js +143 -0
  301. package/dist/server/app-pages-bridge.d.ts +63 -0
  302. package/dist/server/app-pages-bridge.js +63 -0
  303. package/dist/server/app-post-middleware-context.d.ts +15 -0
  304. package/dist/server/app-post-middleware-context.js +26 -0
  305. package/dist/server/app-ppr-fallback-shell-render.d.ts +18 -0
  306. package/dist/server/app-ppr-fallback-shell-render.js +26 -0
  307. package/dist/server/app-ppr-fallback-shell.d.ts +33 -0
  308. package/dist/server/app-ppr-fallback-shell.js +89 -0
  309. package/dist/server/app-prerender-endpoints.d.ts +18 -0
  310. package/dist/server/app-prerender-endpoints.js +94 -0
  311. package/dist/server/app-prerender-static-params.d.ts +30 -0
  312. package/dist/server/app-prerender-static-params.js +81 -0
  313. package/dist/server/app-render-dependency.d.ts +14 -0
  314. package/dist/server/app-render-dependency.js +41 -0
  315. package/dist/server/app-request-context.d.ts +20 -0
  316. package/dist/server/app-request-context.js +29 -0
  317. package/dist/server/app-route-handler-cache.d.ts +46 -0
  318. package/dist/server/app-route-handler-cache.js +78 -0
  319. package/dist/server/app-route-handler-dispatch.d.ts +49 -0
  320. package/dist/server/app-route-handler-dispatch.js +163 -0
  321. package/dist/server/app-route-handler-execution.d.ts +86 -0
  322. package/dist/server/app-route-handler-execution.js +128 -0
  323. package/dist/server/app-route-handler-policy.d.ts +55 -0
  324. package/dist/server/app-route-handler-policy.js +58 -0
  325. package/dist/server/app-route-handler-response.d.ts +28 -0
  326. package/dist/server/app-route-handler-response.js +145 -0
  327. package/dist/server/app-route-handler-runtime.d.ts +39 -0
  328. package/dist/server/app-route-handler-runtime.js +250 -0
  329. package/dist/server/app-route-module-loader.d.ts +91 -0
  330. package/dist/server/app-route-module-loader.js +83 -0
  331. package/dist/server/app-router-entry.d.ts +13 -0
  332. package/dist/server/app-router-entry.js +49 -0
  333. package/dist/server/app-rsc-cache-busting.d.ts +64 -0
  334. package/dist/server/app-rsc-cache-busting.js +206 -0
  335. package/dist/server/app-rsc-embedded-chunks.d.ts +8 -0
  336. package/dist/server/app-rsc-embedded-chunks.js +32 -0
  337. package/dist/server/app-rsc-error-handler.d.ts +20 -0
  338. package/dist/server/app-rsc-error-handler.js +28 -0
  339. package/dist/server/app-rsc-errors.d.ts +40 -0
  340. package/dist/server/app-rsc-errors.js +60 -0
  341. package/dist/server/app-rsc-handler.d.ts +201 -0
  342. package/dist/server/app-rsc-handler.js +538 -0
  343. package/dist/server/app-rsc-render-mode.d.ts +11 -0
  344. package/dist/server/app-rsc-render-mode.js +25 -0
  345. package/dist/server/app-rsc-request-normalization.d.ts +48 -0
  346. package/dist/server/app-rsc-request-normalization.js +75 -0
  347. package/dist/server/app-rsc-response-finalizer.d.ts +37 -0
  348. package/dist/server/app-rsc-response-finalizer.js +54 -0
  349. package/dist/server/app-rsc-route-matching.d.ts +93 -0
  350. package/dist/server/app-rsc-route-matching.js +134 -0
  351. package/dist/server/app-segment-config.d.ts +46 -0
  352. package/dist/server/app-segment-config.js +113 -0
  353. package/dist/server/app-server-action-execution.d.ts +219 -0
  354. package/dist/server/app-server-action-execution.js +767 -0
  355. package/dist/server/app-ssr-entry.d.ts +52 -0
  356. package/dist/server/app-ssr-entry.js +295 -0
  357. package/dist/server/app-ssr-error-meta.d.ts +13 -0
  358. package/dist/server/app-ssr-error-meta.js +48 -0
  359. package/dist/server/app-ssr-router-instance.d.ts +6 -0
  360. package/dist/server/app-ssr-router-instance.js +24 -0
  361. package/dist/server/app-ssr-stream.d.ts +60 -0
  362. package/dist/server/app-ssr-stream.js +408 -0
  363. package/dist/server/app-static-generation.d.ts +15 -0
  364. package/dist/server/app-static-generation.js +19 -0
  365. package/dist/server/app-visited-response-cache.d.ts +23 -0
  366. package/dist/server/app-visited-response-cache.js +19 -0
  367. package/dist/server/artifact-compatibility.d.ts +54 -0
  368. package/dist/server/artifact-compatibility.js +91 -0
  369. package/dist/server/before-interactive-head.d.ts +17 -0
  370. package/dist/server/before-interactive-head.js +35 -0
  371. package/dist/server/cache-control.d.ts +37 -0
  372. package/dist/server/cache-control.js +56 -0
  373. package/dist/server/cache-headers.d.ts +6 -0
  374. package/dist/server/cache-headers.js +17 -0
  375. package/dist/server/cache-proof.d.ts +364 -0
  376. package/dist/server/cache-proof.js +794 -0
  377. package/dist/server/client-reuse-manifest.d.ts +104 -0
  378. package/dist/server/client-reuse-manifest.js +209 -0
  379. package/dist/server/client-trace-metadata.d.ts +30 -0
  380. package/dist/server/client-trace-metadata.js +81 -0
  381. package/dist/server/cookie-utils.d.ts +12 -0
  382. package/dist/server/cookie-utils.js +18 -0
  383. package/dist/server/csp.d.ts +10 -0
  384. package/dist/server/csp.js +41 -0
  385. package/dist/server/default-global-error-module.d.ts +19 -0
  386. package/dist/server/default-global-error-module.js +18 -0
  387. package/dist/server/default-not-found-module.d.ts +19 -0
  388. package/dist/server/default-not-found-module.js +18 -0
  389. package/dist/server/defer-until-stream-consumed.d.ts +7 -0
  390. package/dist/server/defer-until-stream-consumed.js +34 -0
  391. package/dist/server/dev-error-overlay-store.d.ts +39 -0
  392. package/dist/server/dev-error-overlay-store.js +86 -0
  393. package/dist/server/dev-error-overlay.d.ts +51 -0
  394. package/dist/server/dev-error-overlay.js +1341 -0
  395. package/dist/server/dev-initial-server-error.d.ts +9 -0
  396. package/dist/server/dev-initial-server-error.js +26 -0
  397. package/dist/server/dev-lockfile.d.ts +109 -0
  398. package/dist/server/dev-lockfile.js +179 -0
  399. package/dist/server/dev-module-runner.d.ts +30 -0
  400. package/dist/server/dev-module-runner.js +91 -0
  401. package/dist/server/dev-origin-check.d.ts +62 -0
  402. package/dist/server/dev-origin-check.js +156 -0
  403. package/dist/server/dev-route-files.d.ts +6 -0
  404. package/dist/server/dev-route-files.js +71 -0
  405. package/dist/server/dev-server.d.ts +58 -0
  406. package/dist/server/dev-server.js +1114 -0
  407. package/dist/server/dev-stack-sourcemap-endpoint.d.ts +4 -0
  408. package/dist/server/dev-stack-sourcemap-endpoint.js +4 -0
  409. package/dist/server/dev-stack-sourcemap.d.ts +43 -0
  410. package/dist/server/dev-stack-sourcemap.js +443 -0
  411. package/dist/server/document-initial-head.d.ts +6 -0
  412. package/dist/server/document-initial-head.js +33 -0
  413. package/dist/server/edge-api-runtime.d.ts +4 -0
  414. package/dist/server/edge-api-runtime.js +6 -0
  415. package/dist/server/file-based-metadata.d.ts +29 -0
  416. package/dist/server/file-based-metadata.js +401 -0
  417. package/dist/server/headers.d.ts +114 -0
  418. package/dist/server/headers.js +136 -0
  419. package/dist/server/html.d.ts +28 -0
  420. package/dist/server/html.js +41 -0
  421. package/dist/server/http-error-responses.d.ts +91 -0
  422. package/dist/server/http-error-responses.js +105 -0
  423. package/dist/server/hybrid-route-priority.d.ts +22 -0
  424. package/dist/server/hybrid-route-priority.js +33 -0
  425. package/dist/server/image-optimization.d.ts +130 -0
  426. package/dist/server/image-optimization.js +247 -0
  427. package/dist/server/implicit-tags.d.ts +6 -0
  428. package/dist/server/implicit-tags.js +44 -0
  429. package/dist/server/instrumentation-runtime.d.ts +49 -0
  430. package/dist/server/instrumentation-runtime.js +35 -0
  431. package/dist/server/instrumentation.d.ts +85 -0
  432. package/dist/server/instrumentation.js +130 -0
  433. package/dist/server/isr-cache.d.ts +127 -0
  434. package/dist/server/isr-cache.js +282 -0
  435. package/dist/server/isr-decision.d.ts +79 -0
  436. package/dist/server/isr-decision.js +70 -0
  437. package/dist/server/metadata-route-build-data.d.ts +24 -0
  438. package/dist/server/metadata-route-build-data.js +148 -0
  439. package/dist/server/metadata-route-response.d.ts +16 -0
  440. package/dist/server/metadata-route-response.js +205 -0
  441. package/dist/server/metadata-routes.d.ts +139 -0
  442. package/dist/server/metadata-routes.js +433 -0
  443. package/dist/server/middleware-matcher.d.ts +14 -0
  444. package/dist/server/middleware-matcher.js +111 -0
  445. package/dist/server/middleware-request-headers.d.ts +11 -0
  446. package/dist/server/middleware-request-headers.js +65 -0
  447. package/dist/server/middleware-response-headers.d.ts +12 -0
  448. package/dist/server/middleware-response-headers.js +42 -0
  449. package/dist/server/middleware-runtime.d.ts +67 -0
  450. package/dist/server/middleware-runtime.js +240 -0
  451. package/dist/server/middleware.d.ts +62 -0
  452. package/dist/server/middleware.js +114 -0
  453. package/dist/server/navigation-planner.d.ts +308 -0
  454. package/dist/server/navigation-planner.js +831 -0
  455. package/dist/server/navigation-trace.d.ts +68 -0
  456. package/dist/server/navigation-trace.js +71 -0
  457. package/dist/server/next-error-digest.d.ts +44 -0
  458. package/dist/server/next-error-digest.js +40 -0
  459. package/dist/server/normalize-path.d.ts +38 -0
  460. package/dist/server/normalize-path.js +70 -0
  461. package/dist/server/open-redirect.d.ts +12 -0
  462. package/dist/server/open-redirect.js +21 -0
  463. package/dist/server/operation-token.d.ts +40 -0
  464. package/dist/server/operation-token.js +85 -0
  465. package/dist/server/otel-tracer-extension.d.ts +45 -0
  466. package/dist/server/otel-tracer-extension.js +89 -0
  467. package/dist/server/pages-api-route.d.ts +83 -0
  468. package/dist/server/pages-api-route.js +75 -0
  469. package/dist/server/pages-asset-tags.d.ts +78 -0
  470. package/dist/server/pages-asset-tags.js +126 -0
  471. package/dist/server/pages-body-parser-config.d.ts +59 -0
  472. package/dist/server/pages-body-parser-config.js +77 -0
  473. package/dist/server/pages-data-route.d.ts +121 -0
  474. package/dist/server/pages-data-route.js +157 -0
  475. package/dist/server/pages-default-404.d.ts +30 -0
  476. package/dist/server/pages-default-404.js +38 -0
  477. package/dist/server/pages-dev-module-url.d.ts +4 -0
  478. package/dist/server/pages-dev-module-url.js +15 -0
  479. package/dist/server/pages-document-initial-props.d.ts +77 -0
  480. package/dist/server/pages-document-initial-props.js +109 -0
  481. package/dist/server/pages-get-initial-props.d.ts +67 -0
  482. package/dist/server/pages-get-initial-props.js +92 -0
  483. package/dist/server/pages-i18n.d.ts +106 -0
  484. package/dist/server/pages-i18n.js +183 -0
  485. package/dist/server/pages-media-type.d.ts +15 -0
  486. package/dist/server/pages-media-type.js +24 -0
  487. package/dist/server/pages-node-compat.d.ts +55 -0
  488. package/dist/server/pages-node-compat.js +235 -0
  489. package/dist/server/pages-page-data.d.ts +223 -0
  490. package/dist/server/pages-page-data.js +484 -0
  491. package/dist/server/pages-page-handler.d.ts +100 -0
  492. package/dist/server/pages-page-handler.js +403 -0
  493. package/dist/server/pages-page-method.d.ts +47 -0
  494. package/dist/server/pages-page-method.js +17 -0
  495. package/dist/server/pages-page-response.d.ts +138 -0
  496. package/dist/server/pages-page-response.js +285 -0
  497. package/dist/server/pages-readiness.d.ts +36 -0
  498. package/dist/server/pages-readiness.js +21 -0
  499. package/dist/server/pages-request-pipeline.d.ts +116 -0
  500. package/dist/server/pages-request-pipeline.js +311 -0
  501. package/dist/server/pages-revalidate.d.ts +15 -0
  502. package/dist/server/pages-revalidate.js +19 -0
  503. package/dist/server/pages-serializable-props.d.ts +24 -0
  504. package/dist/server/pages-serializable-props.js +67 -0
  505. package/dist/server/pregenerated-concrete-paths.d.ts +16 -0
  506. package/dist/server/pregenerated-concrete-paths.js +61 -0
  507. package/dist/server/prerender-manifest.d.ts +33 -0
  508. package/dist/server/prerender-manifest.js +54 -0
  509. package/dist/server/prerender-route-params.d.ts +23 -0
  510. package/dist/server/prerender-route-params.js +113 -0
  511. package/dist/server/prerender-work-unit-setup.d.ts +6 -0
  512. package/dist/server/prerender-work-unit-setup.js +28 -0
  513. package/dist/server/prod-server.d.ts +148 -0
  514. package/dist/server/prod-server.js +1136 -0
  515. package/dist/server/proxy-trust.d.ts +40 -0
  516. package/dist/server/proxy-trust.js +68 -0
  517. package/dist/server/request-log.d.ts +39 -0
  518. package/dist/server/request-log.js +56 -0
  519. package/dist/server/request-pipeline.d.ts +187 -0
  520. package/dist/server/request-pipeline.js +447 -0
  521. package/dist/server/rsc-stream-hints.d.ts +10 -0
  522. package/dist/server/rsc-stream-hints.js +41 -0
  523. package/dist/server/seed-cache.d.ts +29 -0
  524. package/dist/server/seed-cache.js +125 -0
  525. package/dist/server/server-action-not-found.d.ts +21 -0
  526. package/dist/server/server-action-not-found.js +62 -0
  527. package/dist/server/server-globals.d.ts +4 -0
  528. package/dist/server/server-globals.js +35 -0
  529. package/dist/server/skip-cache-proof.d.ts +61 -0
  530. package/dist/server/skip-cache-proof.js +168 -0
  531. package/dist/server/socket-error-backstop.d.ts +34 -0
  532. package/dist/server/socket-error-backstop.js +200 -0
  533. package/dist/server/static-file-cache.d.ts +56 -0
  534. package/dist/server/static-file-cache.js +231 -0
  535. package/dist/server/static-layout-client-reuse-proof.d.ts +15 -0
  536. package/dist/server/static-layout-client-reuse-proof.js +33 -0
  537. package/dist/server/streaming-metadata.d.ts +4 -0
  538. package/dist/server/streaming-metadata.js +8 -0
  539. package/dist/server/worker-utils.d.ts +7 -0
  540. package/dist/server/worker-utils.js +99 -0
  541. package/dist/shims/amp.d.ts +19 -0
  542. package/dist/shims/amp.js +23 -0
  543. package/dist/shims/app-router-scroll-state.d.ts +15 -0
  544. package/dist/shims/app-router-scroll-state.js +61 -0
  545. package/dist/shims/app-router-scroll.d.ts +29 -0
  546. package/dist/shims/app-router-scroll.js +141 -0
  547. package/dist/shims/app.d.ts +42 -0
  548. package/dist/shims/app.js +48 -0
  549. package/dist/shims/before-interactive-context.d.ts +40 -0
  550. package/dist/shims/before-interactive-context.js +8 -0
  551. package/dist/shims/cache-for-request.d.ts +57 -0
  552. package/dist/shims/cache-for-request.js +72 -0
  553. package/dist/shims/cache-handler.d.ts +106 -0
  554. package/dist/shims/cache-handler.js +176 -0
  555. package/dist/shims/cache-request-state.d.ts +47 -0
  556. package/dist/shims/cache-request-state.js +126 -0
  557. package/dist/shims/cache-runtime.d.ts +83 -0
  558. package/dist/shims/cache-runtime.js +452 -0
  559. package/dist/shims/cache.d.ts +145 -0
  560. package/dist/shims/cache.js +401 -0
  561. package/dist/shims/cdn-cache.d.ts +125 -0
  562. package/dist/shims/cdn-cache.js +100 -0
  563. package/dist/shims/client-hook-error.d.ts +13 -0
  564. package/dist/shims/client-hook-error.js +17 -0
  565. package/dist/shims/client-locale.d.ts +14 -0
  566. package/dist/shims/client-locale.js +11 -0
  567. package/dist/shims/client-only.d.ts +1 -0
  568. package/dist/shims/client-only.js +1 -0
  569. package/dist/shims/compat-router.d.ts +16 -0
  570. package/dist/shims/compat-router.js +25 -0
  571. package/dist/shims/config.d.ts +28 -0
  572. package/dist/shims/config.js +21 -0
  573. package/dist/shims/constants.d.ts +130 -0
  574. package/dist/shims/constants.js +167 -0
  575. package/dist/shims/default-global-error.d.ts +31 -0
  576. package/dist/shims/default-global-error.js +179 -0
  577. package/dist/shims/default-not-found.d.ts +11 -0
  578. package/dist/shims/default-not-found.js +59 -0
  579. package/dist/shims/document.d.ts +92 -0
  580. package/dist/shims/document.js +76 -0
  581. package/dist/shims/dynamic-preload-chunks.d.ts +8 -0
  582. package/dist/shims/dynamic-preload-chunks.js +79 -0
  583. package/dist/shims/dynamic.d.ts +35 -0
  584. package/dist/shims/dynamic.js +204 -0
  585. package/dist/shims/error-boundary-navigation.d.ts +7 -0
  586. package/dist/shims/error-boundary-navigation.js +44 -0
  587. package/dist/shims/error-boundary.d.ts +155 -0
  588. package/dist/shims/error-boundary.js +342 -0
  589. package/dist/shims/error.d.ts +31 -0
  590. package/dist/shims/error.js +123 -0
  591. package/dist/shims/error.react-server.d.ts +9 -0
  592. package/dist/shims/error.react-server.js +6 -0
  593. package/dist/shims/fetch-cache.d.ts +136 -0
  594. package/dist/shims/fetch-cache.js +766 -0
  595. package/dist/shims/font-google-base.d.ts +83 -0
  596. package/dist/shims/font-google-base.js +290 -0
  597. package/dist/shims/font-google.d.ts +2 -0
  598. package/dist/shims/font-google.js +2 -0
  599. package/dist/shims/font-local.d.ts +50 -0
  600. package/dist/shims/font-local.js +195 -0
  601. package/dist/shims/font-utils.d.ts +56 -0
  602. package/dist/shims/font-utils.js +107 -0
  603. package/dist/shims/form.d.ts +19 -0
  604. package/dist/shims/form.js +236 -0
  605. package/dist/shims/hash-scroll.d.ts +10 -0
  606. package/dist/shims/hash-scroll.js +47 -0
  607. package/dist/shims/head-state.d.ts +16 -0
  608. package/dist/shims/head-state.js +43 -0
  609. package/dist/shims/head.d.ts +73 -0
  610. package/dist/shims/head.js +340 -0
  611. package/dist/shims/headers.d.ts +253 -0
  612. package/dist/shims/headers.js +754 -0
  613. package/dist/shims/i18n-context.d.ts +22 -0
  614. package/dist/shims/i18n-context.js +42 -0
  615. package/dist/shims/i18n-state.d.ts +14 -0
  616. package/dist/shims/i18n-state.js +38 -0
  617. package/dist/shims/image-config.d.ts +45 -0
  618. package/dist/shims/image-config.js +85 -0
  619. package/dist/shims/image.d.ts +55 -0
  620. package/dist/shims/image.js +582 -0
  621. package/dist/shims/internal/als-registry.d.ts +14 -0
  622. package/dist/shims/internal/als-registry.js +80 -0
  623. package/dist/shims/internal/api-utils.d.ts +14 -0
  624. package/dist/shims/internal/api-utils.js +1 -0
  625. package/dist/shims/internal/app-page-props-cache-key.d.ts +5 -0
  626. package/dist/shims/internal/app-page-props-cache-key.js +16 -0
  627. package/dist/shims/internal/app-route-detection.d.ts +39 -0
  628. package/dist/shims/internal/app-route-detection.js +62 -0
  629. package/dist/shims/internal/app-router-context.d.ts +31 -0
  630. package/dist/shims/internal/app-router-context.js +28 -0
  631. package/dist/shims/internal/cookie-serialize.d.ts +45 -0
  632. package/dist/shims/internal/cookie-serialize.js +49 -0
  633. package/dist/shims/internal/cookies.d.ts +2 -0
  634. package/dist/shims/internal/cookies.js +2 -0
  635. package/dist/shims/internal/hybrid-client-route-owner.d.ts +31 -0
  636. package/dist/shims/internal/hybrid-client-route-owner.js +143 -0
  637. package/dist/shims/internal/interpolate-as.d.ts +25 -0
  638. package/dist/shims/internal/interpolate-as.js +196 -0
  639. package/dist/shims/internal/link-status-registry.d.ts +43 -0
  640. package/dist/shims/internal/link-status-registry.js +42 -0
  641. package/dist/shims/internal/make-hanging-promise.d.ts +15 -0
  642. package/dist/shims/internal/make-hanging-promise.js +44 -0
  643. package/dist/shims/internal/navigation-untracked.d.ts +35 -0
  644. package/dist/shims/internal/navigation-untracked.js +56 -0
  645. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +54 -0
  646. package/dist/shims/internal/pages-data-fetch-dedup.js +121 -0
  647. package/dist/shims/internal/pages-data-target.d.ts +62 -0
  648. package/dist/shims/internal/pages-data-target.js +98 -0
  649. package/dist/shims/internal/pages-data-url.d.ts +41 -0
  650. package/dist/shims/internal/pages-data-url.js +71 -0
  651. package/dist/shims/internal/pages-router-accessor.d.ts +19 -0
  652. package/dist/shims/internal/pages-router-accessor.js +13 -0
  653. package/dist/shims/internal/route-pattern-for-warning.d.ts +27 -0
  654. package/dist/shims/internal/route-pattern-for-warning.js +40 -0
  655. package/dist/shims/internal/router-context.d.ts +7 -0
  656. package/dist/shims/internal/router-context.js +13 -0
  657. package/dist/shims/internal/utils.d.ts +52 -0
  658. package/dist/shims/internal/utils.js +27 -0
  659. package/dist/shims/internal/work-unit-async-storage.d.ts +30 -0
  660. package/dist/shims/internal/work-unit-async-storage.js +17 -0
  661. package/dist/shims/layout-segment-context.d.ts +24 -0
  662. package/dist/shims/layout-segment-context.js +39 -0
  663. package/dist/shims/legacy-image.d.ts +41 -0
  664. package/dist/shims/legacy-image.js +49 -0
  665. package/dist/shims/link-prefetch.d.ts +41 -0
  666. package/dist/shims/link-prefetch.js +43 -0
  667. package/dist/shims/link.d.ts +102 -0
  668. package/dist/shims/link.js +687 -0
  669. package/dist/shims/metadata.d.ts +285 -0
  670. package/dist/shims/metadata.js +820 -0
  671. package/dist/shims/navigation-context-state.d.ts +40 -0
  672. package/dist/shims/navigation-context-state.js +116 -0
  673. package/dist/shims/navigation-errors.d.ts +55 -0
  674. package/dist/shims/navigation-errors.js +110 -0
  675. package/dist/shims/navigation-server.d.ts +3 -0
  676. package/dist/shims/navigation-server.js +3 -0
  677. package/dist/shims/navigation-state.d.ts +25 -0
  678. package/dist/shims/navigation-state.js +66 -0
  679. package/dist/shims/navigation.d.ts +286 -0
  680. package/dist/shims/navigation.js +1206 -0
  681. package/dist/shims/navigation.react-server.d.ts +14 -0
  682. package/dist/shims/navigation.react-server.js +32 -0
  683. package/dist/shims/offline.d.ts +4 -0
  684. package/dist/shims/offline.js +15 -0
  685. package/dist/shims/og.d.ts +17 -0
  686. package/dist/shims/og.js +48 -0
  687. package/dist/shims/pages-router-runtime.d.ts +12 -0
  688. package/dist/shims/pages-router-runtime.js +24 -0
  689. package/dist/shims/ppr-fallback-shell.d.ts +33 -0
  690. package/dist/shims/ppr-fallback-shell.js +170 -0
  691. package/dist/shims/readonly-url-search-params.d.ts +13 -0
  692. package/dist/shims/readonly-url-search-params.js +26 -0
  693. package/dist/shims/request-context.d.ts +58 -0
  694. package/dist/shims/request-context.js +45 -0
  695. package/dist/shims/request-state-types.d.ts +12 -0
  696. package/dist/shims/request-state-types.js +1 -0
  697. package/dist/shims/root-params.d.ts +12 -0
  698. package/dist/shims/root-params.js +30 -0
  699. package/dist/shims/router-state.d.ts +32 -0
  700. package/dist/shims/router-state.js +39 -0
  701. package/dist/shims/router.d.ts +192 -0
  702. package/dist/shims/router.js +1786 -0
  703. package/dist/shims/script-nonce-context.d.ts +11 -0
  704. package/dist/shims/script-nonce-context.js +23 -0
  705. package/dist/shims/script.d.ts +43 -0
  706. package/dist/shims/script.js +370 -0
  707. package/dist/shims/server-only.d.ts +1 -0
  708. package/dist/shims/server-only.js +1 -0
  709. package/dist/shims/server.d.ts +323 -0
  710. package/dist/shims/server.js +729 -0
  711. package/dist/shims/slot.d.ts +45 -0
  712. package/dist/shims/slot.js +230 -0
  713. package/dist/shims/thenable-params.d.ts +11 -0
  714. package/dist/shims/thenable-params.js +176 -0
  715. package/dist/shims/unified-request-context.d.ts +68 -0
  716. package/dist/shims/unified-request-context.js +86 -0
  717. package/dist/shims/unrecognized-action-error.d.ts +34 -0
  718. package/dist/shims/unrecognized-action-error.js +39 -0
  719. package/dist/shims/url-safety.d.ts +34 -0
  720. package/dist/shims/url-safety.js +70 -0
  721. package/dist/shims/url-utils.d.ts +51 -0
  722. package/dist/shims/url-utils.js +156 -0
  723. package/dist/shims/use-merged-ref.d.ts +6 -0
  724. package/dist/shims/use-merged-ref.js +38 -0
  725. package/dist/shims/web-vitals.d.ts +8 -0
  726. package/dist/shims/web-vitals.js +22 -0
  727. package/dist/typegen.d.ts +9 -0
  728. package/dist/typegen.js +228 -0
  729. package/dist/utils/asset-prefix.d.ts +96 -0
  730. package/dist/utils/asset-prefix.js +122 -0
  731. package/dist/utils/base-path.d.ts +31 -0
  732. package/dist/utils/base-path.js +45 -0
  733. package/dist/utils/built-asset-url.d.ts +4 -0
  734. package/dist/utils/built-asset-url.js +11 -0
  735. package/dist/utils/cache-control-metadata.d.ts +4 -0
  736. package/dist/utils/cache-control-metadata.js +12 -0
  737. package/dist/utils/client-build-manifest.d.ts +21 -0
  738. package/dist/utils/client-build-manifest.js +87 -0
  739. package/dist/utils/client-entry-manifest.d.ts +11 -0
  740. package/dist/utils/client-entry-manifest.js +29 -0
  741. package/dist/utils/client-runtime-metadata.d.ts +45 -0
  742. package/dist/utils/client-runtime-metadata.js +63 -0
  743. package/dist/utils/commonjs-loader.d.ts +16 -0
  744. package/dist/utils/commonjs-loader.js +100 -0
  745. package/dist/utils/compare.d.ts +4 -0
  746. package/dist/utils/compare.js +8 -0
  747. package/dist/utils/deployment-id.d.ts +8 -0
  748. package/dist/utils/deployment-id.js +22 -0
  749. package/dist/utils/dev-error-recovery-event.d.ts +4 -0
  750. package/dist/utils/dev-error-recovery-event.js +4 -0
  751. package/dist/utils/domain-locale.d.ts +26 -0
  752. package/dist/utils/domain-locale.js +50 -0
  753. package/dist/utils/encode-cache-tag.d.ts +30 -0
  754. package/dist/utils/encode-cache-tag.js +36 -0
  755. package/dist/utils/error-cause.d.ts +4 -0
  756. package/dist/utils/error-cause.js +95 -0
  757. package/dist/utils/has-trailing-comma.d.ts +24 -0
  758. package/dist/utils/has-trailing-comma.js +62 -0
  759. package/dist/utils/hash.d.ts +24 -0
  760. package/dist/utils/hash.js +55 -0
  761. package/dist/utils/html-limited-bots.d.ts +21 -0
  762. package/dist/utils/html-limited-bots.js +35 -0
  763. package/dist/utils/lazy-chunks.d.ts +59 -0
  764. package/dist/utils/lazy-chunks.js +112 -0
  765. package/dist/utils/manifest-paths.d.ts +30 -0
  766. package/dist/utils/manifest-paths.js +66 -0
  767. package/dist/utils/mdx-scan.d.ts +9 -0
  768. package/dist/utils/mdx-scan.js +34 -0
  769. package/dist/utils/navigation-signal.d.ts +4 -0
  770. package/dist/utils/navigation-signal.js +12 -0
  771. package/dist/utils/number.d.ts +4 -0
  772. package/dist/utils/number.js +6 -0
  773. package/dist/utils/parse-cookie.d.ts +13 -0
  774. package/dist/utils/parse-cookie.js +52 -0
  775. package/dist/utils/path.d.ts +22 -0
  776. package/dist/utils/path.js +30 -0
  777. package/dist/utils/prerender-output-paths.d.ts +14 -0
  778. package/dist/utils/prerender-output-paths.js +22 -0
  779. package/dist/utils/project.d.ts +76 -0
  780. package/dist/utils/project.js +213 -0
  781. package/dist/utils/promise.d.ts +4 -0
  782. package/dist/utils/promise.js +6 -0
  783. package/dist/utils/public-routes.d.ts +4 -0
  784. package/dist/utils/public-routes.js +48 -0
  785. package/dist/utils/query.d.ts +49 -0
  786. package/dist/utils/query.js +122 -0
  787. package/dist/utils/record.d.ts +4 -0
  788. package/dist/utils/record.js +6 -0
  789. package/dist/utils/regex.d.ts +4 -0
  790. package/dist/utils/regex.js +6 -0
  791. package/dist/utils/safe-json-file.d.ts +17 -0
  792. package/dist/utils/safe-json-file.js +23 -0
  793. package/dist/utils/sorted-array.d.ts +8 -0
  794. package/dist/utils/sorted-array.js +20 -0
  795. package/dist/utils/text-stream.d.ts +28 -0
  796. package/dist/utils/text-stream.js +64 -0
  797. package/dist/utils/vinext-root.d.ts +23 -0
  798. package/dist/utils/vinext-root.js +29 -0
  799. package/dist/utils/virtual-module.d.ts +5 -0
  800. package/dist/utils/virtual-module.js +0 -0
  801. package/dist/utils/vite-version.d.ts +21 -0
  802. package/dist/utils/vite-version.js +42 -0
  803. package/package.json +145 -0
@@ -0,0 +1,30 @@
1
+ import { ValidFileMatcher } from "./file-matcher.js";
2
+ import { AppRoute, AppRouteGraphRoute, RouteManifest, computeAppRouteStaticSiblings, computeRootParamNames, convertSegmentsToRouteParts } from "./app-route-graph.js";
3
+
4
+ //#region src/routing/app-router.d.ts
5
+ type AppRouteGraph = {
6
+ routes: AppRouteGraphRoute[];
7
+ routeManifest: RouteManifest;
8
+ };
9
+ declare function invalidateAppRouteCache(): void;
10
+ /**
11
+ * Scan the app/ directory and return the route graph.
12
+ * TODO(#726): Layer 4 should consume this read model directly once the
13
+ * navigation planner owns route graph facts.
14
+ *
15
+ * @internal
16
+ */
17
+ declare function appRouteGraph(appDir: string, pageExtensions?: readonly string[], matcher?: ValidFileMatcher): Promise<AppRouteGraph>;
18
+ /**
19
+ * Scan the app/ directory and return a list of routes.
20
+ */
21
+ declare function appRouter(appDir: string, pageExtensions?: readonly string[], matcher?: ValidFileMatcher): Promise<AppRouteGraphRoute[]>;
22
+ /**
23
+ * Match a URL against App Router routes.
24
+ */
25
+ declare function matchAppRoute(url: string, routes: AppRoute[]): {
26
+ route: AppRoute;
27
+ params: Record<string, string | string[]>;
28
+ } | null;
29
+ //#endregion
30
+ export { type AppRoute, appRouteGraph, appRouter, computeAppRouteStaticSiblings, computeRootParamNames, convertSegmentsToRouteParts, invalidateAppRouteCache, matchAppRoute };
@@ -0,0 +1,59 @@
1
+ import { createValidFileMatcher } from "./file-matcher.js";
2
+ import { createRouteTrieCache, matchRouteWithTrie } from "./route-matching.js";
3
+ import { buildAppRouteGraph, computeAppRouteStaticSiblings, computeRootParamNames, convertSegmentsToRouteParts } from "./app-route-graph.js";
4
+ //#region src/routing/app-router.ts
5
+ /**
6
+ * App Router file-system routing.
7
+ *
8
+ * Scans the app/ directory following Next.js App Router conventions:
9
+ * - app/page.tsx -> /
10
+ * - app/about/page.tsx -> /about
11
+ * - app/blog/[slug]/page.tsx -> /blog/:slug
12
+ * - app/[...catchAll]/page.tsx -> /:catchAll+
13
+ * - app/route.ts -> / (API route)
14
+ * - app/(group)/page.tsx -> / (route groups are transparent)
15
+ * - Layouts: app/layout.tsx wraps all children
16
+ * - Loading: app/loading.tsx -> Suspense fallback
17
+ * - Error: app/error.tsx -> ErrorBoundary
18
+ * - Not Found: app/not-found.tsx
19
+ */
20
+ let cachedGraph = null;
21
+ let cachedAppDir = null;
22
+ let cachedPageExtensionsKey = null;
23
+ function invalidateAppRouteCache() {
24
+ cachedGraph = null;
25
+ cachedAppDir = null;
26
+ cachedPageExtensionsKey = null;
27
+ }
28
+ /**
29
+ * Scan the app/ directory and return the route graph.
30
+ * TODO(#726): Layer 4 should consume this read model directly once the
31
+ * navigation planner owns route graph facts.
32
+ *
33
+ * @internal
34
+ */
35
+ async function appRouteGraph(appDir, pageExtensions, matcher) {
36
+ matcher ??= createValidFileMatcher(pageExtensions);
37
+ const pageExtensionsKey = JSON.stringify(matcher.extensions);
38
+ if (cachedGraph && cachedAppDir === appDir && cachedPageExtensionsKey === pageExtensionsKey) return cachedGraph;
39
+ const graph = await buildAppRouteGraph(appDir, matcher);
40
+ cachedGraph = graph;
41
+ cachedAppDir = appDir;
42
+ cachedPageExtensionsKey = pageExtensionsKey;
43
+ return graph;
44
+ }
45
+ /**
46
+ * Scan the app/ directory and return a list of routes.
47
+ */
48
+ async function appRouter(appDir, pageExtensions, matcher) {
49
+ return (await appRouteGraph(appDir, pageExtensions, matcher)).routes;
50
+ }
51
+ const appTrieCache = createRouteTrieCache();
52
+ /**
53
+ * Match a URL against App Router routes.
54
+ */
55
+ function matchAppRoute(url, routes) {
56
+ return matchRouteWithTrie(url, routes, appTrieCache);
57
+ }
58
+ //#endregion
59
+ export { appRouteGraph, appRouter, computeAppRouteStaticSiblings, computeRootParamNames, convertSegmentsToRouteParts, invalidateAppRouteCache, matchAppRoute };
@@ -0,0 +1,60 @@
1
+ //#region src/routing/file-matcher.d.ts
2
+ declare function normalizePageExtensions(pageExtensions?: readonly string[] | null): string[];
3
+ type ValidFileMatcher = {
4
+ extensions: string[];
5
+ dottedExtensions: string[];
6
+ extensionRegex: RegExp;
7
+ isPageFile(filePath: string): boolean;
8
+ isAppRouterPage(filePath: string): boolean;
9
+ isAppRouterRoute(filePath: string): boolean;
10
+ isAppLayoutFile(filePath: string): boolean;
11
+ isAppDefaultFile(filePath: string): boolean;
12
+ stripExtension(filePath: string): string;
13
+ };
14
+ /**
15
+ * Ported in spirit from Next.js createValidFileMatcher:
16
+ * packages/next/src/server/lib/find-page-file.ts
17
+ */
18
+ declare function createValidFileMatcher(pageExtensions?: readonly string[] | null): ValidFileMatcher;
19
+ /** Check if a file exists with any configured page extension. */
20
+ declare function findFileWithExtensions(basePath: string, matcher: ValidFileMatcher): boolean;
21
+ /**
22
+ * Find a file by basename and configured page extension in a directory.
23
+ * Returns the first matching absolute path, or null if not found.
24
+ */
25
+ declare function findFileWithExts(dir: string, name: string, matcher: ValidFileMatcher): string | null;
26
+ /**
27
+ * Vite's default `resolve.extensions` covers `.tsx/.ts/.jsx/.js/.json` (and
28
+ * `.mjs/.mts`). When the user configures `pageExtensions` with values Vite
29
+ * does not know about — e.g. `["platform.tsx", "tsx", "mdx"]` from the
30
+ * Next.js `resolve-extensions` fixture — extensionless imports of those
31
+ * files fail to resolve, and the build crashes with "Custom deploy script
32
+ * failed: undefined (1)".
33
+ *
34
+ * Build the merged extension list that Vite should use:
35
+ *
36
+ * 1. User-configured pageExtensions go first (each prefixed with `.`) so
37
+ * the user's priority wins. e.g. `.platform.tsx` resolves before `.tsx`.
38
+ * 2. Vite's defaults follow, with duplicates removed.
39
+ *
40
+ * The user's pageExtensions retain their relative order, which is what
41
+ * Next.js / Turbopack do via the `resolveExtensions` config option.
42
+ *
43
+ * See: cloudflare/vinext#1502
44
+ */
45
+ declare function buildViteResolveExtensions(pageExtensions?: readonly string[] | null, viteDefaults?: readonly string[]): string[];
46
+ /**
47
+ * Normalize an explicit Next.js resolver extension list for Vite.
48
+ *
49
+ * Unlike `pageExtensions`, both Turbopack's `resolveExtensions` and webpack's
50
+ * `resolve.extensions` replace their resolver defaults. The empty string is a
51
+ * webpack/Turbopack convention for trying the import exactly as written; Vite
52
+ * already does that before appending extensions, so it must be omitted here.
53
+ */
54
+ declare function normalizeViteResolveExtensions(extensions: readonly string[]): string[];
55
+ /**
56
+ * Use function-form exclude for Node < 22.14 compatibility.
57
+ */
58
+ declare function scanWithExtensions(stem: string, cwd: string, extensions: readonly string[], exclude?: (name: string) => boolean): AsyncGenerator<string>;
59
+ //#endregion
60
+ export { ValidFileMatcher, buildViteResolveExtensions, createValidFileMatcher, findFileWithExtensions, findFileWithExts, normalizePageExtensions, normalizeViteResolveExtensions, scanWithExtensions };
@@ -0,0 +1,147 @@
1
+ import { escapeRegExp } from "../utils/regex.js";
2
+ import { existsSync } from "node:fs";
3
+ import path from "node:path";
4
+ import { glob } from "node:fs/promises";
5
+ //#region src/routing/file-matcher.ts
6
+ const DEFAULT_PAGE_EXTENSIONS = [
7
+ "tsx",
8
+ "ts",
9
+ "jsx",
10
+ "js"
11
+ ];
12
+ function normalizePageExtensions(pageExtensions) {
13
+ if (!Array.isArray(pageExtensions) || pageExtensions.length === 0) return [...DEFAULT_PAGE_EXTENSIONS];
14
+ const filtered = pageExtensions.filter((ext) => typeof ext === "string").map((ext) => ext.trim().replace(/^\.+/, "")).filter((ext) => ext.length > 0);
15
+ return filtered.length > 0 ? [...filtered] : [...DEFAULT_PAGE_EXTENSIONS];
16
+ }
17
+ function buildExtensionGlob(stem, extensions) {
18
+ if (extensions.length === 1) return `${stem}.${extensions[0]}`;
19
+ return `${stem}.{${extensions.join(",")}}`;
20
+ }
21
+ /**
22
+ * Ported in spirit from Next.js createValidFileMatcher:
23
+ * packages/next/src/server/lib/find-page-file.ts
24
+ */
25
+ function createValidFileMatcher(pageExtensions) {
26
+ const extensions = normalizePageExtensions(pageExtensions);
27
+ const dottedExtensions = extensions.map((ext) => `.${ext}`);
28
+ const extPattern = `(?:${extensions.map((ext) => escapeRegExp(ext)).join("|")})`;
29
+ const extensionRegex = new RegExp(`\\.${extPattern}$`);
30
+ const createLeafPattern = (fileNames) => {
31
+ const names = fileNames.length === 1 ? fileNames[0] : `(${fileNames.join("|")})`;
32
+ return new RegExp(`(^${names}|[\\\\/]${names})\\.${extPattern}$`);
33
+ };
34
+ const appRouterPageRegex = createLeafPattern(["page", "route"]);
35
+ const appRouterRouteRegex = createLeafPattern(["route"]);
36
+ const appLayoutRegex = createLeafPattern(["layout"]);
37
+ const appDefaultRegex = createLeafPattern(["default"]);
38
+ return {
39
+ extensions,
40
+ dottedExtensions,
41
+ extensionRegex,
42
+ isPageFile(filePath) {
43
+ return extensionRegex.test(filePath);
44
+ },
45
+ isAppRouterPage(filePath) {
46
+ return appRouterPageRegex.test(filePath);
47
+ },
48
+ isAppRouterRoute(filePath) {
49
+ return appRouterRouteRegex.test(filePath);
50
+ },
51
+ isAppLayoutFile(filePath) {
52
+ return appLayoutRegex.test(filePath);
53
+ },
54
+ isAppDefaultFile(filePath) {
55
+ return appDefaultRegex.test(filePath);
56
+ },
57
+ stripExtension(filePath) {
58
+ return filePath.replace(extensionRegex, "");
59
+ }
60
+ };
61
+ }
62
+ /** Check if a file exists with any configured page extension. */
63
+ function findFileWithExtensions(basePath, matcher) {
64
+ return matcher.dottedExtensions.some((ext) => existsSync(basePath + ext));
65
+ }
66
+ /**
67
+ * Find a file by basename and configured page extension in a directory.
68
+ * Returns the first matching absolute path, or null if not found.
69
+ */
70
+ function findFileWithExts(dir, name, matcher) {
71
+ for (const ext of matcher.dottedExtensions) {
72
+ const filePath = path.posix.join(dir, name + ext);
73
+ if (existsSync(filePath)) return filePath;
74
+ }
75
+ return null;
76
+ }
77
+ /**
78
+ * Vite's default `resolve.extensions` covers `.tsx/.ts/.jsx/.js/.json` (and
79
+ * `.mjs/.mts`). When the user configures `pageExtensions` with values Vite
80
+ * does not know about — e.g. `["platform.tsx", "tsx", "mdx"]` from the
81
+ * Next.js `resolve-extensions` fixture — extensionless imports of those
82
+ * files fail to resolve, and the build crashes with "Custom deploy script
83
+ * failed: undefined (1)".
84
+ *
85
+ * Build the merged extension list that Vite should use:
86
+ *
87
+ * 1. User-configured pageExtensions go first (each prefixed with `.`) so
88
+ * the user's priority wins. e.g. `.platform.tsx` resolves before `.tsx`.
89
+ * 2. Vite's defaults follow, with duplicates removed.
90
+ *
91
+ * The user's pageExtensions retain their relative order, which is what
92
+ * Next.js / Turbopack do via the `resolveExtensions` config option.
93
+ *
94
+ * See: cloudflare/vinext#1502
95
+ */
96
+ function buildViteResolveExtensions(pageExtensions, viteDefaults = [
97
+ ".mjs",
98
+ ".js",
99
+ ".mts",
100
+ ".ts",
101
+ ".jsx",
102
+ ".tsx",
103
+ ".json"
104
+ ]) {
105
+ const dotted = normalizePageExtensions(pageExtensions).map((ext) => `.${ext}`);
106
+ const seen = /* @__PURE__ */ new Set();
107
+ const result = [];
108
+ for (const ext of [...dotted, ...viteDefaults]) {
109
+ if (seen.has(ext)) continue;
110
+ seen.add(ext);
111
+ result.push(ext);
112
+ }
113
+ return result;
114
+ }
115
+ /**
116
+ * Normalize an explicit Next.js resolver extension list for Vite.
117
+ *
118
+ * Unlike `pageExtensions`, both Turbopack's `resolveExtensions` and webpack's
119
+ * `resolve.extensions` replace their resolver defaults. The empty string is a
120
+ * webpack/Turbopack convention for trying the import exactly as written; Vite
121
+ * already does that before appending extensions, so it must be omitted here.
122
+ */
123
+ function normalizeViteResolveExtensions(extensions) {
124
+ const seen = /* @__PURE__ */ new Set();
125
+ const result = [];
126
+ for (const extension of extensions) {
127
+ const trimmed = extension.trim();
128
+ if (!trimmed) continue;
129
+ const dotted = trimmed.startsWith(".") ? trimmed : `.${trimmed}`;
130
+ if (seen.has(dotted)) continue;
131
+ seen.add(dotted);
132
+ result.push(dotted);
133
+ }
134
+ return result;
135
+ }
136
+ /**
137
+ * Use function-form exclude for Node < 22.14 compatibility.
138
+ */
139
+ async function* scanWithExtensions(stem, cwd, extensions, exclude) {
140
+ const pattern = buildExtensionGlob(stem, extensions);
141
+ for await (const file of glob(pattern, {
142
+ cwd,
143
+ ...exclude ? { exclude } : {}
144
+ })) yield file;
145
+ }
146
+ //#endregion
147
+ export { buildViteResolveExtensions, createValidFileMatcher, findFileWithExtensions, findFileWithExts, normalizePageExtensions, normalizeViteResolveExtensions, scanWithExtensions };
@@ -0,0 +1,48 @@
1
+ import { ValidFileMatcher } from "./file-matcher.js";
2
+ import { patternToNextFormat } from "./route-validation.js";
3
+
4
+ //#region src/routing/pages-router.d.ts
5
+ type Route = {
6
+ /** URL pattern, e.g. "/" or "/about" or "/posts/:id" */pattern: string; /** Pre-split pattern segments (computed once at scan time, reused per request) */
7
+ patternParts: string[]; /** Absolute file path to the page component */
8
+ filePath: string; /** Whether this is a dynamic route */
9
+ isDynamic: boolean; /** Parameter names for dynamic segments */
10
+ params: string[];
11
+ };
12
+ /**
13
+ * Invalidate cached routes for a given pages directory.
14
+ * Called by the file watcher when pages are added/removed.
15
+ */
16
+ declare function invalidateRouteCache(pagesDir: string): void;
17
+ /**
18
+ * Scan the pages/ directory and return a list of routes.
19
+ * Results are cached — call invalidateRouteCache() when files change.
20
+ *
21
+ * Follows Next.js Pages Router conventions:
22
+ * - pages/index.tsx -> /
23
+ * - pages/about.tsx -> /about
24
+ * - pages/posts/[id].tsx -> /posts/:id
25
+ * - pages/[...slug].tsx -> /:slug+
26
+ * - Ignores _app.tsx, _document.tsx, _error.tsx (Next.js special files)
27
+ * - Ignores pages/api/ (handled separately later)
28
+ */
29
+ declare function pagesRouter(pagesDir: string, pageExtensions?: readonly string[], matcher?: ValidFileMatcher): Promise<Route[]>;
30
+ /**
31
+ * Match a URL path against a route pattern.
32
+ * Returns the matched params or null if no match.
33
+ */
34
+ declare function matchRoute(url: string, routes: Route[]): {
35
+ route: Route;
36
+ params: Record<string, string | string[]>;
37
+ } | null;
38
+ /**
39
+ * Scan the pages/api/ directory and return API routes.
40
+ * Results are cached — call invalidateRouteCache() when files change.
41
+ *
42
+ * Follows Next.js conventions:
43
+ * - pages/api/hello.ts -> /api/hello
44
+ * - pages/api/users/[id].ts -> /api/users/:id
45
+ */
46
+ declare function apiRouter(pagesDir: string, pageExtensions?: readonly string[], matcher?: ValidFileMatcher): Promise<Route[]>;
47
+ //#endregion
48
+ export { Route, apiRouter, invalidateRouteCache, matchRoute, pagesRouter, patternToNextFormat };
@@ -0,0 +1,163 @@
1
+ import { decodeRouteSegment, sortRoutes } from "./utils.js";
2
+ import { createValidFileMatcher, scanWithExtensions } from "./file-matcher.js";
3
+ import { patternToNextFormat, validateRoutePatterns } from "./route-validation.js";
4
+ import { createRouteTrieCache, matchRouteWithTrie } from "./route-matching.js";
5
+ import path from "node:path";
6
+ //#region src/routing/pages-router.ts
7
+ /** Next.js special pages that should not produce routes. */
8
+ const RESERVED_PAGE_NAMES = new Set([
9
+ "_app",
10
+ "_document",
11
+ "_error"
12
+ ]);
13
+ const routeCache = /* @__PURE__ */ new Map();
14
+ /**
15
+ * Invalidate cached routes for a given pages directory.
16
+ * Called by the file watcher when pages are added/removed.
17
+ */
18
+ function invalidateRouteCache(pagesDir) {
19
+ for (const key of routeCache.keys()) if (key.startsWith(`pages:${pagesDir}:`) || key.startsWith(`api:${pagesDir}:`)) routeCache.delete(key);
20
+ }
21
+ /**
22
+ * Scan the pages/ directory and return a list of routes.
23
+ * Results are cached — call invalidateRouteCache() when files change.
24
+ *
25
+ * Follows Next.js Pages Router conventions:
26
+ * - pages/index.tsx -> /
27
+ * - pages/about.tsx -> /about
28
+ * - pages/posts/[id].tsx -> /posts/:id
29
+ * - pages/[...slug].tsx -> /:slug+
30
+ * - Ignores _app.tsx, _document.tsx, _error.tsx (Next.js special files)
31
+ * - Ignores pages/api/ (handled separately later)
32
+ */
33
+ async function pagesRouter(pagesDir, pageExtensions, matcher) {
34
+ matcher ??= createValidFileMatcher(pageExtensions);
35
+ const cacheKey = `pages:${pagesDir}:${JSON.stringify(matcher.extensions)}`;
36
+ const cached = routeCache.get(cacheKey);
37
+ if (cached) return cached.promise;
38
+ const promise = scanPageRoutes(pagesDir, matcher);
39
+ routeCache.set(cacheKey, {
40
+ routes: [],
41
+ promise
42
+ });
43
+ const routes = await promise;
44
+ routeCache.set(cacheKey, {
45
+ routes,
46
+ promise
47
+ });
48
+ return routes;
49
+ }
50
+ async function scanPageRoutes(pagesDir, matcher) {
51
+ const routes = [];
52
+ for await (const file of scanWithExtensions("**/*", pagesDir, matcher.extensions, (name) => name === "api" || RESERVED_PAGE_NAMES.has(name))) {
53
+ const route = fileToRoute(file, pagesDir, matcher);
54
+ if (route) routes.push(route);
55
+ }
56
+ validateRoutePatterns(routes.map((route) => route.pattern));
57
+ sortRoutes(routes);
58
+ return routes;
59
+ }
60
+ /**
61
+ * Convert a file path relative to pages/ into a Route.
62
+ */
63
+ function fileToRoute(file, pagesDir, matcher) {
64
+ const withoutExt = matcher.stripExtension(file);
65
+ if (withoutExt === file) return null;
66
+ const segments = withoutExt.split(path.sep);
67
+ if (segments[segments.length - 1] === "index") segments.pop();
68
+ const params = [];
69
+ let isDynamic = false;
70
+ const urlSegments = [];
71
+ for (let i = 0; i < segments.length; i++) {
72
+ const segment = segments[i];
73
+ const catchAllMatch = segment.match(/^\[\.\.\.([^\]]+)\]$/);
74
+ if (catchAllMatch) {
75
+ if (i !== segments.length - 1) return null;
76
+ if (catchAllMatch[1].endsWith("+") || catchAllMatch[1].endsWith("*")) return null;
77
+ isDynamic = true;
78
+ params.push(catchAllMatch[1]);
79
+ urlSegments.push(`:${catchAllMatch[1]}+`);
80
+ continue;
81
+ }
82
+ const optionalCatchAllMatch = segment.match(/^\[\[\.\.\.([^\]]+)\]\]$/);
83
+ if (optionalCatchAllMatch) {
84
+ if (i !== segments.length - 1) return null;
85
+ if (optionalCatchAllMatch[1].endsWith("+") || optionalCatchAllMatch[1].endsWith("*")) return null;
86
+ isDynamic = true;
87
+ params.push(optionalCatchAllMatch[1]);
88
+ urlSegments.push(`:${optionalCatchAllMatch[1]}*`);
89
+ continue;
90
+ }
91
+ const dynamicMatch = segment.match(/^\[([^\]]+)\]$/);
92
+ if (dynamicMatch) {
93
+ if (dynamicMatch[1].endsWith("+") || dynamicMatch[1].endsWith("*")) return null;
94
+ isDynamic = true;
95
+ params.push(dynamicMatch[1]);
96
+ urlSegments.push(`:${dynamicMatch[1]}`);
97
+ continue;
98
+ }
99
+ urlSegments.push(decodeRouteSegment(segment));
100
+ }
101
+ const pattern = "/" + urlSegments.join("/");
102
+ if (segments.length === 1 && RESERVED_PAGE_NAMES.has(segments[0])) return null;
103
+ return {
104
+ pattern: pattern === "/" ? "/" : pattern,
105
+ patternParts: urlSegments.filter(Boolean),
106
+ filePath: path.join(pagesDir, file),
107
+ isDynamic,
108
+ params
109
+ };
110
+ }
111
+ const trieCache = createRouteTrieCache();
112
+ /**
113
+ * Match a URL path against a route pattern.
114
+ * Returns the matched params or null if no match.
115
+ */
116
+ function matchRoute(url, routes) {
117
+ return matchRouteWithTrie(url, routes, trieCache);
118
+ }
119
+ /**
120
+ * Scan the pages/api/ directory and return API routes.
121
+ * Results are cached — call invalidateRouteCache() when files change.
122
+ *
123
+ * Follows Next.js conventions:
124
+ * - pages/api/hello.ts -> /api/hello
125
+ * - pages/api/users/[id].ts -> /api/users/:id
126
+ */
127
+ async function apiRouter(pagesDir, pageExtensions, matcher) {
128
+ matcher ??= createValidFileMatcher(pageExtensions);
129
+ const cacheKey = `api:${pagesDir}:${JSON.stringify(matcher.extensions)}`;
130
+ const cached = routeCache.get(cacheKey);
131
+ if (cached) return cached.promise;
132
+ const promise = scanApiRoutes(pagesDir, matcher);
133
+ routeCache.set(cacheKey, {
134
+ routes: [],
135
+ promise
136
+ });
137
+ const routes = await promise;
138
+ routeCache.set(cacheKey, {
139
+ routes,
140
+ promise
141
+ });
142
+ return routes;
143
+ }
144
+ async function scanApiRoutes(pagesDir, matcher) {
145
+ const apiDir = path.join(pagesDir, "api");
146
+ let files;
147
+ try {
148
+ files = [];
149
+ for await (const file of scanWithExtensions("**/*", apiDir, matcher.extensions)) files.push(file);
150
+ } catch {
151
+ files = [];
152
+ }
153
+ const routes = [];
154
+ for (const file of files) {
155
+ const route = fileToRoute(path.join("api", file), pagesDir, matcher);
156
+ if (route) routes.push(route);
157
+ }
158
+ validateRoutePatterns(routes.map((route) => route.pattern));
159
+ sortRoutes(routes);
160
+ return routes;
161
+ }
162
+ //#endregion
163
+ export { apiRouter, invalidateRouteCache, matchRoute, pagesRouter, patternToNextFormat };
@@ -0,0 +1,27 @@
1
+ import { TrieNode } from "./route-trie.js";
2
+
3
+ //#region src/routing/route-matching.d.ts
4
+ type RouteTrieCache<R extends {
5
+ patternParts: string[];
6
+ }> = WeakMap<R[], TrieNode<R>>;
7
+ declare function createRouteTrieCache<R extends {
8
+ patternParts: string[];
9
+ }>(): RouteTrieCache<R>;
10
+ /**
11
+ * Match a URL path against a list of routes via the shared preamble:
12
+ * 1. strip query string
13
+ * 2. trailing-slash normalize (preserving root "/")
14
+ * 3. run `normalizePathnameForRouteMatch`
15
+ * 4. split into url parts and look up via the (cached) trie
16
+ *
17
+ * Generic over the route shape; both Pages `Route` and App `AppRoute`
18
+ * satisfy `{ patternParts: string[] }`.
19
+ */
20
+ declare function matchRouteWithTrie<R extends {
21
+ patternParts: string[];
22
+ }>(url: string, routes: R[], cache: RouteTrieCache<R>): {
23
+ route: R;
24
+ params: Record<string, string | string[]>;
25
+ } | null;
26
+ //#endregion
27
+ export { createRouteTrieCache, matchRouteWithTrie };
@@ -0,0 +1,42 @@
1
+ import { normalizePathnameForRouteMatch } from "./utils.js";
2
+ import { buildRouteTrie, trieMatch } from "./route-trie.js";
3
+ //#region src/routing/route-matching.ts
4
+ /**
5
+ * Shared route-match preamble used by both Pages Router and App Router.
6
+ *
7
+ * Both routers normalize URLs and call `trieMatch` with nearly-identical
8
+ * preamble: strip query, trailing-slash normalize, run
9
+ * `normalizePathnameForRouteMatch`, split into url parts, then look up via a
10
+ * per-routes-array trie cache. This module factors that out so each router
11
+ * just calls `matchRouteWithTrie(url, routes)`.
12
+ */
13
+ function createRouteTrieCache() {
14
+ return /* @__PURE__ */ new WeakMap();
15
+ }
16
+ function getOrBuildTrie(cache, routes) {
17
+ let trie = cache.get(routes);
18
+ if (!trie) {
19
+ trie = buildRouteTrie(routes);
20
+ cache.set(routes, trie);
21
+ }
22
+ return trie;
23
+ }
24
+ /**
25
+ * Match a URL path against a list of routes via the shared preamble:
26
+ * 1. strip query string
27
+ * 2. trailing-slash normalize (preserving root "/")
28
+ * 3. run `normalizePathnameForRouteMatch`
29
+ * 4. split into url parts and look up via the (cached) trie
30
+ *
31
+ * Generic over the route shape; both Pages `Route` and App `AppRoute`
32
+ * satisfy `{ patternParts: string[] }`.
33
+ */
34
+ function matchRouteWithTrie(url, routes, cache) {
35
+ const pathname = url.split("?")[0];
36
+ let normalizedUrl = pathname === "/" ? "/" : pathname.replace(/\/$/, "");
37
+ normalizedUrl = normalizePathnameForRouteMatch(normalizedUrl);
38
+ const urlParts = normalizedUrl.split("/").filter(Boolean);
39
+ return trieMatch(getOrBuildTrie(cache, routes), urlParts);
40
+ }
41
+ //#endregion
42
+ export { createRouteTrieCache, matchRouteWithTrie };
@@ -0,0 +1,64 @@
1
+ //#region src/routing/route-pattern.d.ts
2
+ type RoutePatternParams = Record<string, string | string[]>;
3
+ declare function routePatternParts(pathname: string): string[];
4
+ declare function routePattern(pathname: string): string;
5
+ declare function fillRoutePatternSegments(pathname: string, params: RoutePatternParams): string | null;
6
+ declare function matchRoutePattern(urlParts: readonly string[], patternParts: readonly string[]): RoutePatternParams | null;
7
+ declare function matchRoutePatternPrefix(pathParts: readonly string[], patternParts: readonly string[]): boolean;
8
+ declare function matchRoutePatternWithOptionalDynamicSegments(pathParts: readonly string[], patternParts: readonly string[]): boolean;
9
+ /**
10
+ * A single entry from `getStaticPaths().paths`.
11
+ *
12
+ * Next.js allows both shapes:
13
+ * - a raw string path, e.g. `"/blog/hello"`
14
+ * - an object `{ params, locale? }`
15
+ *
16
+ * See:
17
+ * https://nextjs.org/docs/pages/api-reference/functions/get-static-paths
18
+ * .nextjs-ref/packages/next/src/build/static-paths/pages.ts (the
19
+ * `typeof entry === 'string'` branch around line 89, and the object
20
+ * branch around line 132)
21
+ */
22
+ type StaticPathsEntry = string | {
23
+ params?: RoutePatternParams;
24
+ locale?: string;
25
+ } | null | undefined;
26
+ /**
27
+ * Result of {@link normalizeStaticPathsEntry}: either a params object, or a
28
+ * descriptive error string the caller can surface as a per-route error result.
29
+ */
30
+ type NormalizedStaticPathsEntry = {
31
+ params: RoutePatternParams;
32
+ } | {
33
+ error: string;
34
+ };
35
+ /**
36
+ * Strip query string and a single trailing slash from a pathname.
37
+ *
38
+ * Mirrors the Next.js `removeTrailingSlash` helper used in
39
+ * `.nextjs-ref/packages/next/src/build/static-paths/pages.ts`. Kept here so
40
+ * both the build-time prerender and the request-time matchers normalize the
41
+ * same way.
42
+ */
43
+ declare function normalizeStaticPathname(pathname: string): string;
44
+ /**
45
+ * Normalize a single `getStaticPaths` entry into a `{ params }` object.
46
+ *
47
+ * Handles both Next.js-supported shapes:
48
+ * - For a string entry, match it against `routePattern` to extract params,
49
+ * mirroring `_routeMatcher(cleanedEntry)` in
50
+ * `.nextjs-ref/packages/next/src/build/static-paths/pages.ts`. If the
51
+ * string does not match the pattern, Next.js throws; we return an
52
+ * `{ error }` result so the caller can record a per-route error instead
53
+ * of crashing the build.
54
+ * - For an object entry, require a `params` key (Next.js raises
55
+ * "A required parameter (X) was not provided..." otherwise).
56
+ *
57
+ * Note: this intentionally does NOT strip a locale prefix. The build pipeline
58
+ * currently passes empty `locales` to `getStaticPaths`, so locale-prefixed
59
+ * string entries are not produced. If/when i18n is wired through prerender,
60
+ * locale handling should be added here, not duplicated at call sites.
61
+ */
62
+ declare function normalizeStaticPathsEntry(entry: StaticPathsEntry, routePattern: string): NormalizedStaticPathsEntry;
63
+ //#endregion
64
+ export { RoutePatternParams, StaticPathsEntry, fillRoutePatternSegments, matchRoutePattern, matchRoutePatternPrefix, matchRoutePatternWithOptionalDynamicSegments, normalizeStaticPathname, normalizeStaticPathsEntry, routePattern, routePatternParts };