TailwindCSS

TailwindCSS: Spring Cleaning and Fresh Foundations

The TailwindCSS team tackled some housekeeping with Robin Malfait leading a cleanup effort that bumped Next.js dependencies and dropped ESLint from their playgrounds. This change removed over 2,500 lines while adding just 119, resulting in a leaner development environment with fewer dependencies to manage.

Duration: PT3M52S

https://podlog.io/listen/tailwindcss-ce7e5038/episode/tailwindcss-spring-cleaning-and-fresh-foundations-d1f83792

Transcript

Hey there, fellow developers! Welcome back to another episode of the TailwindCSS podcast. I'm your host, and wow, do I have some satisfying cleanup news for you today - April 4th, 2026. You know that feeling when you finally organize your desk and suddenly everything just feels lighter? That's exactly what happened in the TailwindCSS codebase yesterday.

Let's dive right into the main story because it's a perfect example of how sometimes the best changes are the ones that remove complexity rather than add it.

Robin Malfait just merged a fantastic pull request that's all about simplification. The headline? They bumped Next.js and completely dropped ESLint from the project. Now, before you gasp and think "Wait, they're dropping linting entirely?" - let me tell you the story here, because it's actually really smart.

Here's what happened: The TailwindCSS team only had ESLint installed because it came bundled with Next.js when you run `next lint`. They weren't actively using it for their main codebase - it was just hanging around in the playgrounds where they test things out. You know how it is - sometimes tools just accumulate in our projects like that spare cable drawer we all have.

Robin took a step back and asked the important question: "Do we actually need this?" And the answer was no. So they made the call to drop it entirely. The result? They went from plus 119 lines to minus 2,531 lines. That's a net reduction of over 2,400 lines! That's not just code cleanup - that's dependency diet at its finest.

What I love about this change is how thoughtful it was. Robin didn't just rip out ESLint and call it a day. They carefully tested both the Next.js and v3 playgrounds afterward to make sure everything still worked perfectly. That's the kind of methodical approach that keeps a project healthy.

The files touched were all in the playground areas - updating package.json files, tweaking TypeScript configs, and even a small CSS module adjustment. It's the kind of change that might look small on the surface but has a big impact on developer experience. Fewer dependencies mean fewer potential conflicts, faster installs, and less mental overhead.

This pull request actually closed two separate issues, which tells me this cleanup had been on the team's radar for a while. Sometimes the best improvements come from stepping back and questioning what we actually need versus what we think we need.

What really strikes me about this change is how it reflects a mature approach to project management. It's easy to keep adding tools and dependencies - we've all been there. But it takes wisdom and confidence to remove things that aren't serving their purpose anymore. The TailwindCSS team is showing us that sometimes less really is more.

For today's focus, I want you to think about your own projects. Is there a dependency or tool you're carrying around just because it was there when you started? Maybe it's time for your own spring cleaning session. Look at your package.json files, your config files, your build tools. Ask yourself Robin's question: "Do I actually need this?"

Don't get me wrong - I'm not advocating for removing everything. But there's real value in periodically auditing what you're carrying and making sure every piece is pulling its weight. Your future self will thank you for the cleaner, leaner setup.

And remember, changes like this might seem small, but they compound over time. Every dependency you don't need is one less thing that can break, one less thing to update, one less thing to think about. That mental space you free up? You can use it for the creative problem-solving that makes development fun.

That's a wrap for today's episode! Keep building, keep cleaning, and I'll catch you tomorrow with more TailwindCSS updates. Until then, happy coding!