What version of Tailwind CSS are you using?
v4.3.0
What build tool (or framework if it abstracts the build tool) are you using?
@tailwindcss/cli v4.3.0
What version of Node.js are you using?
v24.15.0
What browser are you using?
N/A
What operating system are you using?
macOS
Reproduction URL
N/A (fresh-project reproduction steps below)
Describe your issue
If a file in the CLI watcher's tracked full-rebuild dependency set is deleted, the watcher does not trigger a full rebuild.
I can reproduce this with a config dependency:
- Create these files in a fresh project:
package.json
{
"private": true,
"dependencies": {
"tailwindcss": "4.3.0",
"@tailwindcss/cli": "4.3.0"
}
}
tailwind.config.js
const myColor = require('./my-color')
module.exports = {
theme: {
extend: {
colors: {
primary: myColor,
},
},
},
}
my-color.js
src/index.css
@import 'tailwindcss';
@config '../tailwind.config.js';
index.html
<div class="text-primary"></div>
- Install dependencies.
- Run:
pnpm tailwindcss --input src/index.css --output dist/out.css --watch
- Delete
my-color.js.
Expected behavior:
- the watcher should trigger a full rebuild because
my-color.js is a tracked rebuild dependency
- the rebuild should surface the missing dependency error instead of silently keeping stale state
Actual behavior:
- no rebuild is triggered on delete
- the previous CSS output stays in place until some other tracked full-rebuild file changes
This seems to happen because delete events are dropped before the watcher checks whether the deleted path is in the full rebuild dependency set.
What version of Tailwind CSS are you using?
v4.3.0
What build tool (or framework if it abstracts the build tool) are you using?
@tailwindcss/cliv4.3.0What version of Node.js are you using?
v24.15.0
What browser are you using?
N/A
What operating system are you using?
macOS
Reproduction URL
N/A (fresh-project reproduction steps below)
Describe your issue
If a file in the CLI watcher's tracked full-rebuild dependency set is deleted, the watcher does not trigger a full rebuild.
I can reproduce this with a config dependency:
package.json{ "private": true, "dependencies": { "tailwindcss": "4.3.0", "@tailwindcss/cli": "4.3.0" } }tailwind.config.jsmy-color.jssrc/index.cssindex.htmlmy-color.js.Expected behavior:
my-color.jsis a tracked rebuild dependencyActual behavior:
This seems to happen because delete events are dropped before the watcher checks whether the deleted path is in the full rebuild dependency set.