Skip to content

Migrate to Tailwind v4 to eliminate duplicate Vite installations #1558

@AutumnsGrove

Description

@AutumnsGrove

Problem

Currently have 2 Vite installations (4.4MB duplicate) because Tailwind v3 requires jiti@^1.21.7 while everything else uses jiti@2.4.2.

Current state

All packages use Tailwind v3.4.19:

  • All 10 apps (amber, aspen, billing, clearing, domains, landing, login, meadow, plant, terrarium)
  • Engine library

Root cause

tailwindcss@3.4.19 has hardcoded dependency: "jiti": "^1.21.7"

This creates separate Vite peer dependency resolutions:

  • vite@7.3.2(@types/node@25.6.0)(jiti@1.21.7)(tsx@4.21.0) ← Tailwind v3 context
  • vite@7.3.2(@types/node@25.6.0)(jiti@2.4.2)(tsx@4.21.0) ← Everything else

Solution

Migrate entire monorepo to Tailwind v4.

Migration scope

  • Update all 11 packages from v3.4.19 to v4.x
  • Update Tailwind config format (v4 uses different syntax)
  • Update component classes (v4 has breaking changes)
  • Test all UI across all apps
  • Update Prism design tokens if needed
  • Verify glassmorphism patterns still work

Benefits

  • ✅ Single Vite installation (saves 2.2MB)
  • ✅ Faster dependency resolution
  • ✅ Modern Tailwind features
  • ✅ Better performance

Notes

  • This is a major migration - not a quick fix
  • Recommend dedicated session with fresh energy
  • May require updates to custom Tailwind plugins
  • Tailwind v4 is a complete rewrite with new architecture

Context

Part of monorepo cleanup effort. We went from 7→2 Vite installations by unifying @types/node and removing duplicate eslint/bits-ui. The remaining duplicate is solely due to Tailwind v3's jiti dependency.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestpattern:prismGlassmorphism design system and seasonal themingtech-debtTechnical debt reduction and code quality

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions