diff --git a/packages/vite-node/src/hmr/emitter.ts b/packages/vite-node/src/hmr/emitter.ts index e9d60c581c74..3a814d29885e 100644 --- a/packages/vite-node/src/hmr/emitter.ts +++ b/packages/vite-node/src/hmr/emitter.ts @@ -31,7 +31,8 @@ export function viteNodeHmrPlugin(): Plugin { name: 'vite-node:hmr', config() { - if (process.env.VITE_TEST_WATCHER_DEBUG) { + // chokidar fsevents is unstable on macos when emitting "ready" event + if (process.platform === 'darwin' && process.env.VITE_TEST_WATCHER_DEBUG) { return { server: { watch: { diff --git a/packages/vitest/src/node/plugins/index.ts b/packages/vitest/src/node/plugins/index.ts index 08df6e8e8824..6c911c15ad2a 100644 --- a/packages/vitest/src/node/plugins/index.ts +++ b/packages/vitest/src/node/plugins/index.ts @@ -90,7 +90,8 @@ export async function VitestPlugin(options: UserConfig = {}, ctx = new Vitest('t }, } - if (process.env.VITE_TEST_WATCHER_DEBUG) { + // chokidar fsevents is unstable on macos when emitting "ready" event + if (process.platform === 'darwin' && process.env.VITE_TEST_WATCHER_DEBUG) { config.server!.watch!.useFsEvents = false config.server!.watch!.usePolling = false }