We are using:
tailwindcss@3.4.3
Tailwind v4 introduced a new PostCSS plugin system (@tailwindcss/postcss) which does not integrate cleanly with Vite + React + JSX in our current setup. During testing, Tailwind v4 caused:
- Utility classes like
bg-yellow-300,text-white, andborder-red-600to be omitted from compiled output @tailwinddirectives inindex.cssto be passed through unprocessed- False confidence due to partial utility generation (e.g.,
p-4would work but not color or text classes)
Despite having correct content paths and safelisting, v4 failed to compile a full utility set through Vite.
Tailwind v3.4.3 provides:
- Full compatibility with Vite and JSX
- JIT compilation with no configuration workarounds
- Stable PostCSS setup using the standard plugin
postcss.config.cjs
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};index.css
@tailwind base;
@tailwind components;
@tailwind utilities;Install with:
npm install -D tailwindcss@3.4.3 postcss autoprefixerWe’ll consider upgrading after MVP launch when:
- The Tailwind v4 PostCSS plugin has clearer Vite/React integration
- Full utility generation is verified inside JSX
- No regressions occur from switching plugin syntax
- No hidden
divsafelist hacks are required in v3 - Utility-first approach is encouraged for all filters and table styling
FiltersBar.jsxandTicketTable.jsxare clean and style-aware