TailwindCSS: Symlinked Sources and the Vite Watcher Gap

A single fix in the Vite plugin closes a rebuild gap left by earlier symlink-aware scanning, ensuring edits to real files behind symlinked `@source` paths actually trigger CSS rebuilds.

Duration: PT1M59S

Episode overview

This episode is a short developer briefing from TailwindCSS.

It explains recent repository work in plain language.

  • Show: TailwindCSS
  • Published: 2026-07-18T13:05:01Z
  • Audio duration: PT1M59S

Transcript excerpt

This excerpt keeps the crawler page concise. Listen to the episode or use the RSS feed for the full update.

It's July 18th, 2026, and this is your TailwindCSS briefing.

Today's focus is one fix, but it's a good example of how one improvement can quietly break another. PR #20347, from Nic-Polumeyv, addresses a rebuild bug in the Vite plugin that traces directly back to an earlier change.

Here's the chain: a prior update, issue #20203, made the scanner preserve symlinks in `@source` paths — good for correctness, since it kept the path you actually wrote in your config. But that created a mismatch. The scanner would report a file path like one living under node modules, while Vite's own watcher tracks…

This is a classic case of two correct-in-isolation behaviors colliding. The scanner was right to preserve symlinks. Vite's watcher is right to ignore node modules paths. But together, they silently broke live rebuilds for anyone using symlinked packages — a common setup in monorepos and local package linking during…

The fix, tied to issue #20346, makes sure the plugin resolves and watches the real underlying file, not just the symlinked one, so file change events actually fire when they should.

What to remember: if you're working in a monorepo or linking local packages with Tailwind and Vite,…

Nearby episodes from TailwindCSS

  1. Fixing Broken Custom Variants with @scope
  2. A Patch Release Cleans Up the Toolchain
  3. Correctness Fixes Land Before 4.3.3
  4. Reliability and Reach
  5. Weekly Recap - CSS Engine Internals & Precision Fixes
  6. Smarter Hot Reloads in Vite
  7. Closing the Loop on the Spacing Type Bug
  8. Color Precision and a Regex Security Fix