From e9bc791ab1be42c5fc73c858a06903991b25613e Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Wed, 30 Oct 2024 11:41:05 +0100 Subject: [PATCH 1/2] fix: don't call `fs.watch` if `watch` is disabled --- packages/vite/src/node/server/index.ts | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 7c463ba696f0c3..cf778648d259f1 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -469,14 +469,17 @@ export async function _createServer( const watcher = chokidar.watch( // config file dependencies and env file might be outside of root - [ - root, - ...config.configFileDependencies, - ...getEnvFilesForMode(config.mode, config.envDir), - // Watch the public directory explicitly because it might be outside - // of the root directory. - ...(publicDir && publicFiles ? [publicDir] : []), - ], + // eslint-disable-next-line eqeqeq -- null means disabled + serverConfig.watch === null + ? [] + : [ + root, + ...config.configFileDependencies, + ...getEnvFilesForMode(config.mode, config.envDir), + // Watch the public directory explicitly because it might be outside + // of the root directory. + ...(publicDir && publicFiles ? [publicDir] : []), + ], resolvedWatchOptions, ) // If watch is turned off, patch `.add()` as a noop to prevent programmatically From 4fe8e9a9dbf817d327b57d9e57a63cc923cc52a4 Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Wed, 30 Oct 2024 11:52:03 +0100 Subject: [PATCH 2/2] fix: close watcher immediately --- packages/vite/src/node/server/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index cf778648d259f1..05edbf761cdf74 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -489,6 +489,7 @@ export async function _createServer( watcher.add = function () { return this } + await watcher.close() } const environments: Record = {}