Fix CLI client crash when a file is removed before we process the change notification (#14616)
Fixes #14613 Don't crash when trying to read the modification time of a file that might already be deleted. Note: This fix is purely theoretical right now as I wasn't able to reproduce the issue yet. --------- Co-authored-by: Jordan Pittman <jordan@cryptica.me>
This commit is contained in:
parent
b1733ac1fd
commit
8b0d22435c
2 changed files with 9 additions and 5 deletions
|
|
@ -11,15 +11,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
|
||||
- Add support for `tailwindcss/colors.js`, `tailwindcss/defaultTheme.js`, and `tailwindcss/plugin.js` exports ([#14595](https://github.com/tailwindlabs/tailwindcss/pull/14595))
|
||||
- Support `keyframes` in JS config file themes ([#14594](https://github.com/tailwindlabs/tailwindcss/pull/14594))
|
||||
- _Experimental_: The upgrade tool now automatically discovers your JavaScript config ([#14597](https://github.com/tailwindlabs/tailwindcss/pull/14597))
|
||||
- _Upgrade (experimental)_: The upgrade tool now automatically discovers your JavaScript config ([#14597](https://github.com/tailwindlabs/tailwindcss/pull/14597))
|
||||
|
||||
### Fixed
|
||||
|
||||
- Don’t crash when scanning a candidate equal to the configured prefix ([#14588](https://github.com/tailwindlabs/tailwindcss/pull/14588))
|
||||
- Ensure there's always a space before `!important` when stringifying CSS ([#14611](https://github.com/tailwindlabs/tailwindcss/pull/14611))
|
||||
- Don't set `display: none` on elements that use `hidden="until-found"` ([#14631](https://github.com/tailwindlabs/tailwindcss/pull/14631))
|
||||
- Fix issue that could cause the CLI to crash when files are deleted while watching ([#14616](https://github.com/tailwindlabs/tailwindcss/pull/14616))
|
||||
- _Upgrade (experimental)_: Ensure CSS before a layer stays unlayered when running codemods ([#14596](https://github.com/tailwindlabs/tailwindcss/pull/14596))
|
||||
- _Upgrade (experimental)_: Resolve issues where some prefixed candidates were not properly migrated ([#14600](https://github.com/tailwindlabs/tailwindcss/pull/14600))
|
||||
- Don't set `display: none` on elements that use `hidden="until-found"` ([#14631](https://github.com/tailwindlabs/tailwindcss/pull/14631))
|
||||
|
||||
## [4.0.0-alpha.26] - 2024-10-03
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { compile, env } from '@tailwindcss/node'
|
|||
import { clearRequireCache } from '@tailwindcss/node/require-cache'
|
||||
import { Scanner, type ChangedContent } from '@tailwindcss/oxide'
|
||||
import { Features, transform } from 'lightningcss'
|
||||
import { existsSync } from 'node:fs'
|
||||
import { existsSync, type Stats } from 'node:fs'
|
||||
import fs from 'node:fs/promises'
|
||||
import path from 'node:path'
|
||||
import type { Arg, Result } from '../../utils/args'
|
||||
|
|
@ -346,8 +346,11 @@ async function createWatchers(dirs: string[], cb: (files: string[]) => void) {
|
|||
if (event.type === 'delete') return
|
||||
|
||||
// Ignore directory changes. We only care about file changes
|
||||
let stats = await fs.lstat(event.path)
|
||||
if (stats.isDirectory()) {
|
||||
let stats: Stats | null = null
|
||||
try {
|
||||
stats = await fs.lstat(event.path)
|
||||
} catch {}
|
||||
if (!stats?.isFile() && !stats?.isSymbolicLink()) {
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue