tailwindcss/packages/@tailwindcss-postcss/src
Lazizbek Ergashev 9b0e8af258
Ensure @tailwindcss/postcss rebuilds when the input CSS changes but its mtime is unchanged (#20310)
## Summary

`@tailwindcss/postcss` chooses between an incremental and a full rebuild
by comparing the mtimes of the entry file and its resolved
`@import`/`@config`/`@plugin` graph. It never looks at the input CSS
itself, so when that CSS is produced by an upstream tool (e.g. Sass) and
passed to the plugin via `process()`, it can change while the `from`
file's mtime stays the same. The plugin then re-emits its previously
cached output and silently drops the change.

This stores the input CSS per cache entry and takes the existing full
rebuild path when it differs from the previous compile, mirroring the
fix the CLI watcher already has for changed input files.

Fixes #20307

## Test plan

- Added a regression test in
`packages/@tailwindcss-postcss/src/index.test.ts` that compiles two
different inputs for the same on-disk `from` file (unchanged mtime) and
asserts the second compile reflects the new CSS.
- Confirmed it fails on `main` (the second compile returns the stale
first output) and passes with the fix.
- Ran the `@tailwindcss/postcss` package tests (all green) and checked
formatting with Prettier.

---------

Co-authored-by: Robin Malfait <malfait.robin@gmail.com>
2026-07-06 11:32:20 +00:00
..
__snapshots__ fix: exclude iframes from focus-visible auto outline in Preflight (#20292) 2026-07-02 10:39:28 +00:00
fixtures/example-project PostCSS: Fix Turbopack 'one-revision-behind' bug (#17554) 2025-04-04 14:58:50 +02:00
postcss-fix-relative-paths Improve snapshot tests (#20013) 2026-05-05 22:24:25 +02:00
ast.test.ts Re-throw errors from PostCSS nodes (#18373) 2025-09-18 12:03:19 -04:00
ast.ts Re-throw errors from PostCSS nodes (#18373) 2025-09-18 12:03:19 -04:00
index.cts Postcss: Bring back proper type exports (#14256) 2024-08-26 15:54:07 +02:00
index.test.ts Ensure @tailwindcss/postcss rebuilds when the input CSS changes but its mtime is unchanged (#20310) 2026-07-06 11:32:20 +00:00
index.ts Ensure @tailwindcss/postcss rebuilds when the input CSS changes but its mtime is unchanged (#20310) 2026-07-06 11:32:20 +00:00