diff --git a/packages/tailwindcss-class-names/src/index.js b/packages/tailwindcss-class-names/src/index.js index 82205d9ff907f149fddd8ac22e1d5fb3fadf001a..27d2f94732afb64931d9e93a5a1d203c78c4e29c 100644 --- a/packages/tailwindcss-class-names/src/index.js +++ b/packages/tailwindcss-class-names/src/index.js @@ -114,34 +114,27 @@ } let watcher function watch(files = []) { - unwatch() + if (watcher) watcher.close() watcher = chokidar - .watch(files, { cwd }) + .watch([CONFIG_GLOB, ...files], { cwd }) .on('change', handleChange) .on('unlink', handleChange) } - function unwatch() { - if (watcher) { - watcher.close() - } - } async function handleChange() { - const prevDeps = result ? [result.configPath, ...result.dependencies] : [] + const prevDeps = result ? result.dependencies : [] try { result = await run() } catch (error) { if (error instanceof TailwindConfigError) { onChange({ error }) } else { - unwatch() onChange(null) } return } - const newDeps = [result.configPath, ...result.dependencies] - if (!arraysEqual(prevDeps, newDeps)) { - watch(newDeps) + if (!arraysEqual(prevDeps, result.dependencies)) { + watch(result.dependencies) } onChange(result) } @@ -150,10 +143,11 @@ let result try { result = await run() } catch (_) { + watch() return null } - watch([result.configPath, ...result.dependencies]) + watch(result.dependencies) return result }