TailwindCSS: The Shadow Bug That Broke ESLint
Today we're diving into a critical bug fix that was crashing ESLint for developers using shadow utilities. Kirk Ouimet tracked down a tricky issue in the canonicalize function and delivered a clean one-line fix that keeps your development workflow smooth.
Duration: PT3M46S
Episode overview
This episode is a short developer briefing from TailwindCSS.
It explains recent repository work in plain language.
- Show: TailwindCSS
- Published: 2026-03-11T10:05:14Z
- Audio duration: PT3M46S
Transcript excerpt
This excerpt keeps the crawler page concise. Listen to the episode or use the RSS feed for the full update.
Hey there, CSS crafters! Welcome back to another episode of the TailwindCSS podcast. I'm your host, and wow, do I have a satisfying bug fix story for you today, March 11th.
You know that feeling when you're coding along happily, and suddenly your entire ESLint crashes with a cryptic error? Well, if you've been using shadow utilities lately, you might have experienced exactly that. But thanks to some stellar detective work from Kirk Ouimet, that frustrating crash is now history.
Let's dive into the main story today - pull request 19727. Kirk discovered that the `canonicalizeCandidates` function was completely crashing when you tried to use shadow utilities like `shadow-sm` or `shadow-md` alongside other utilities with the collapse option enabled. And here's the kicker - this wasn't just…
Now, what makes this such a great debugging story is how Kirk traced the problem. Picture this: you write something as innocent as `canonicalizeCandidates(['shadow-sm', 'border'], { collapse: true })` and boom - "TypeError: X is not iterable." Not exactly the most helpful error message, right?
The root cause was beautifully subtle. Shadow utilities generate CSS that's mostly custom properties and…
Kirk'…
Nearby episodes from TailwindCSS
- Under the Hood Upgrades & Polish
- Streaming Class Canonicalization for Non-JS Tools
- Vite 8 Support and HMR Fixes
- Introducing the Canonicalize Command
- Smarter Spacing with Auto-Canonicalization
- The Prototype Pollution Fix That Saved the Day
- MDX File Fix and Patch Release
- The Double-Dash Drama Gets Resolved