fix(optimizer): always respect optimizeDeps even if include/exclude is overridden (#3488)

This commit is contained in:
Vladimir 2023-06-01 13:13:42 +02:00 committed by GitHub
parent ab3e085105
commit eb285ea021
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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)