mirror of
https://github.com/cloudflare/vinext.git
synced 2026-09-14 19:04:59 +08:00
aba48698c2
* feat(build): add Next.js-style route report to vinext build output - Adds build/report.ts with regex-based route classification (static, ISR, dynamic, unknown, API) - Clean build logger suppresses Vite/Rollup noise; keeps timing lines and errors - --verbose flag bypasses filtering and shows raw output - Routes sorted alphabetically by path (filesystem order) - Legend sorted alphabetically by label - Unknown routes show a note explaining classification will improve in a future release - 55 unit tests covering all classification paths and formatting * fmt * fix exmaple * support -v * . * . * fix(build-report): address review comments - dynamic='error' now classifies as static (not ssr) — it enforces static rendering by throwing if dynamic APIs are used, same as force-static - add TODO comment on extractGetStaticPropsRevalidate regex matching too broadly - drop -v short alias for --verbose to avoid collision with -v/--version at top level - classifyPagesRoute now returns unknown on file read failure, consistent with classifyAppRoute - single-route table now renders with ┌ corner instead of └ (i===0 check takes priority) - 3 new tests covering the above fixes (58 total) * test(build-report): replace misleading classifyAppRoute tests with real fixture coverage The two tests named 'classifies page with revalidate=0 as ssr' and 'classifies revalidate=Infinity as static' both passed null paths and asserted unknown, not actually exercising the stated code paths. Replace both with proper integration tests using new fixture files: - revalidate-zero-test/page.tsx (export const revalidate = 0) → ssr - revalidate-infinity-test/page.tsx (export const revalidate = Infinity) → static