MCPcopy
hub / github.com/vitest-dev/vitest / resolveOptimizerConfig

Function resolveOptimizerConfig

packages/vitest/src/node/plugins/utils.ts:11–64  ·  view source on GitHub ↗
(
  _testOptions: DepsOptimizationOptions | undefined,
  viteOptions: DepOptimizationOptions | undefined,
)

Source from the content-addressed store, hash-verified

9import { rootDir } from '../../paths'
10
11export function resolveOptimizerConfig(
12 _testOptions: DepsOptimizationOptions | undefined,
13 viteOptions: DepOptimizationOptions | undefined,
14): DepOptimizationOptions {
15 const testOptions = _testOptions || {}
16 let optimizeDeps: DepOptimizationOptions
17 if (testOptions.enabled !== true) {
18 testOptions.enabled ??= false
19
20 optimizeDeps = {
21 // experimental in Vite >2.9.2, entries remains to help with older versions
22 disabled: true,
23 entries: [],
24 }
25 }
26 else {
27 const currentInclude = testOptions.include || viteOptions?.include || []
28 const exclude = [
29 'vitest',
30 // Ideally, we shouldn't optimize react in test mode, otherwise we need to optimize _every_ dependency that uses react.
31 'react',
32 'vue',
33 ...(testOptions.exclude || viteOptions?.exclude || []),
34 ]
35 const runtime = currentInclude.filter(
36 n => n.endsWith('jsx-dev-runtime') || n.endsWith('jsx-runtime'),
37 )
38 exclude.push(...runtime)
39
40 const include = (testOptions.include || viteOptions?.include || []).filter(
41 (n: string) => !exclude.includes(n),
42 )
43
44 optimizeDeps = {
45 ...viteOptions,
46 ...testOptions,
47 noDiscovery: true,
48 disabled: false,
49 entries: [],
50 exclude,
51 include,
52 }
53 }
54
55 // `optimizeDeps.disabled` is deprecated since v5.1.0-beta.1
56 // https://github.com/vitejs/vite/pull/15184
57 if (optimizeDeps.disabled) {
58 optimizeDeps.noDiscovery = true
59 optimizeDeps.include = []
60 }
61 delete optimizeDeps.disabled
62
63 return optimizeDeps
64}
65
66export function deleteDefineConfig(viteConfig: ViteConfig): Record<string, any> {
67 const defines: Record<string, any> = {}

Callers 1

handlerFunction · 0.90

Calls 1

filterMethod · 0.65

Tested by

no test coverage detected