Skip to content

fix(deps): migrate Tailwind CSS from v3 to v4#711

Merged
wpfleger96 merged 3 commits into
mainfrom
fix/tailwind-v4
May 23, 2026
Merged

fix(deps): migrate Tailwind CSS from v3 to v4#711
wpfleger96 merged 3 commits into
mainfrom
fix/tailwind-v4

Conversation

@wpfleger96

@wpfleger96 wpfleger96 commented May 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Replace tailwindcss v3 + autoprefixer with @tailwindcss/postcss v4 in both packages (autoprefixer is now built-in)
  • Replace deprecated tailwindcss-animate with tw-animate-css (pure CSS, not a plugin)
  • Migrate CSS directives from @tailwind base/components/utilities to @import "tailwindcss" with @config directive
  • Clean up tailwind.config.js — remove content array (v4 auto-detects), remove darkMode: ["class"] (v4 handles natively)
  • Rename shifted utility classes across 83 component files: shadow-smshadow-xs, rounded-smrounded-xs, outline-noneoutline-hidden, backdrop-blurbackdrop-blur-sm
  • Migrate CSS variable arbitrary values from v3 bracket syntax to v4 parenthesis syntax: w-[--sidebar-width]w-(--sidebar-width), origin-[--radix-*]origin-(--radix-*) (v4 breaking change — brackets now generate bare --var instead of var(--var))
  • @tailwindcss/typography v0.5.19 already supports Tailwind v4 — no version change needed
  • All custom CSS preserved (Tiptap editor styles, shimmer animation, Catppuccin theme variables)
  • Unblocks Renovate PR chore(deps): update dependency tailwindcss to v4 - autoclosed #668

@wpfleger96 wpfleger96 requested a review from a team as a code owner May 21, 2026 21:02
Base automatically changed from fix/vite-v8 to main May 21, 2026 23:04
@wpfleger96 wpfleger96 force-pushed the fix/tailwind-v4 branch 4 times, most recently from 605809e to c8c3a4e Compare May 22, 2026 21:29
Replace tailwindcss v3 + autoprefixer with @tailwindcss/postcss.
Replace tailwindcss-animate with tw-animate-css (pure CSS).
Update CSS directives from @tailwind to @import "tailwindcss".
Rename shifted utility classes across 83 component files
(shadow-sm→shadow-xs, rounded-sm→rounded-xs, outline-none→outline-hidden,
backdrop-blur→backdrop-blur-sm).
Migrate from the legacy JS plugins array to the v4-native CSS @plugin
directive, which is the recommended approach for Tailwind v4.
Tailwind v4 changed arbitrary value syntax for CSS custom properties:
`w-[--sidebar-width]` now generates invalid `width: --sidebar-width`
instead of `width: var(--sidebar-width)`. The v4 syntax uses
parentheses: `w-(--sidebar-width)`.

This was the root cause of all 6 Desktop E2E test failures — the
sidebar spacer div rendered at 0px wide, causing the main content
to overlap the absolutely-positioned sidebar at z-10.
@wpfleger96 wpfleger96 merged commit 8390971 into main May 23, 2026
15 checks passed
@wpfleger96 wpfleger96 deleted the fix/tailwind-v4 branch May 23, 2026 00:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant