From eb285ea021b5d8dc0ee3bc4f4bf77f95b33d367d Mon Sep 17 00:00:00 2001 From: Vladimir Date: Thu, 1 Jun 2023 13:13:42 +0200 Subject: [PATCH] fix(optimizer): always respect optimizeDeps even if include/exclude is overridden (#3488) --- packages/vitest/src/node/plugins/index.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/vitest/src/node/plugins/index.ts b/packages/vitest/src/node/plugins/index.ts index 47defea31662..aa6a7053a0cc 100644 --- a/packages/vitest/src/node/plugins/index.ts +++ b/packages/vitest/src/node/plugins/index.ts @@ -152,14 +152,25 @@ export async function VitestPlugin(options: UserConfig = {}, ctx = new Vitest('t else { const cacheDir = preOptions.cache !== false ? preOptions.cache?.dir : null optimizeConfig.cacheDir = cacheDir ?? 'node_modules/.vitest' + const exclude = [ + 'vitest', + ...builtinModules, + ...optimizer.exclude || [], + ...viteConfig.optimizeDeps?.exclude || [], + ] + const include = [ + ...optimizer.include || [], + ...viteConfig.optimizeDeps?.include || [], + ].filter((n: string) => !exclude.includes(n)) + optimizeConfig.optimizeDeps = { ...viteConfig.optimizeDeps, ...optimizer, noDiscovery: true, disabled: false, entries: [], - exclude: ['vitest', ...builtinModules, ...(optimizer.exclude || viteConfig.optimizeDeps?.exclude || [])], - include: (optimizer.include || viteConfig.optimizeDeps?.include || []).filter((n: string) => n !== 'vitest'), + exclude, + include, } } Object.assign(config, optimizeConfig)