Upgrade web to Next 16 + Tailwind v4, add Vercel Analytics#12
Conversation
- Bump all web deps to latest stable and set the web app version to 1.0.0 to match the siphon release. - Upgrade to Next.js 16 and enable Turbopack for dev and build; React and react-dom to 19.2. - Migrate Tailwind v3 to v4: CSS-first via @import, the @tailwindcss/postcss plugin, drop tailwind.config and autoprefixer; design tokens stay as CSS variables. - Move ESLint to a flat eslint.config.mjs (next 16 flat config arrays) and run eslint directly; next lint is deprecated. Pin eslint to 9.x since next 16's bundled plugins are not yet compatible with eslint 10. - Upgrade TypeScript to 6, react-markdown to 10, and the remaining minors incl. security and bug fixes. - Suppress one deliberate setState-in-effect in Reveal with a justified comment; name config default exports.
- Replace [var(--x)] arbitrary values with the v4 (--x) shorthand across all components, resolving the linter suggestions. - Literal arbitrary values (hex colors, rem sizes) and the raw CSS variables in globals.css are unchanged.
- Rename bg-gradient-to-r to bg-linear-to-r (v4 renamed linear gradients), resolving the linter suggestion. - Rename bare `rounded` to `rounded-sm` so the docs nav keeps its v3 radius (v4 shifted the radius scale, so bare `rounded` no longer maps to 0.25rem).
- Add @vercel/analytics and render <Analytics /> in the root layout. It's privacy-friendly (no cookies) and a no-op unless deployed on Vercel with Analytics enabled, so it doesn't affect the static build or non-Vercel hosting. - Reformat globals.css multi-value CSS properties to satisfy the current Prettier (pre-existing drift, unrelated edit).
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
More reviews will be available in 42 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more credits in the billing tab to continue. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (20)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Upgrades the
web/app to the latest stable framework versions, migrates Tailwind to v4, and wires up Vercel Web Analytics. All work is scoped toweb/— no Go code is touched.Dependency upgrades
devandbuild.@types/node22 → 26, plus minor/security/bug-fix bumps across the board.autoprefixerremoved (Tailwind v4 handles prefixing via Lightning CSS).versionset to 1.0.0 to match the siphon release.Tailwind v4 migration details
@tailwindcss/postcss; CSS entry →@import "tailwindcss";tailwind.config.tsdeleted (CSS-first, tokens stay as CSS variables inglobals.css).[var(--x)]→(--x)shorthand across all components;bg-gradient-to-r→bg-linear-to-r; barerounded→rounded-sm(v4 shifted the radius scale).ESLint
eslint.config.mjs(Next 16 flat-config arrays);eslint .replaces the deprecatednext lint.eslint-plugin-reactbundled ineslint-config-next@16(callscontext.getFilename(), removed in 10). Revisit once Next's config supports 10.Vercel Web Analytics
@vercel/analyticsand render<Analytics />in the root layout. Privacy-friendly (no cookies); a no-op unless deployed on Vercel with Analytics enabled, so it doesn't affect the static build or non-Vercel hosting.Verification
build(Turbopack),lint,format:check,tsc --noEmitall green (17 routes generated).Owner follow-ups (post-merge)
mainvia Vercel's git integration; merging this auto-deploys.🤖 Generated with Claude Code