···9494#### deps.experimentalOptimizer
95959696- **Type:** `DepOptimizationConfig & { enabled: boolean }`
9797-- **Version:** Vitets 0.29.0
9797+- **Version:** Since Vitest 0.29.0
9898- **See also:** [Dep Optimization Options](https://vitejs.dev/config/dep-optimization-options.html)
9999100100Enable dependency optimization. If you have a lot of tests, this might improve their performance.
···1162116211631163### sequence
1164116411651165-- **Type**: `{ sequencer?, shuffle?, seed?, hooks? }`
11651165+- **Type**: `{ sequencer?, shuffle?, seed?, hooks?, setupFiles? }`
1166116611671167Options for how tests should be sorted.
11681168···12101210- `stack` will order "after" hooks in reverse order, "before" hooks will run in the order they were defined
12111211- `list` will order all hooks in the order they are defined
12121212- `parallel` will run hooks in a single group in parallel (hooks in parent suites will still run before the current suite's hooks)
12131213+12141214+#### sequence.setupFiles
12151215+12161216+- **Type**: `'list' | 'parallel'`
12171217+- **Default**: `'parallel'`
12181218+- **CLI**: `--sequence.setupFiles=<value>`
12191219+- **Version**: Since Vitest 0.29.3
12201220+12211221+Changes the order in which setup files are executed.
12221222+12231223+- `list` will run setup files in the order they are defined
12241224+- `parallel` will run setup files in parallel
1213122512141226### typecheck
12151227
···11-import type { File, SequenceHooks, Suite, TaskResult, Test, TestContext } from './tasks'
11+import type { File, SequenceHooks, SequenceSetupFiles, Suite, TaskResult, Test, TestContext } from './tasks'
2233export interface VitestRunnerConfig {
44 root: string
···1111 shuffle?: boolean
1212 seed: number
1313 hooks: SequenceHooks
1414+ setupFiles: SequenceSetupFiles
1415 }
1516 maxConcurrency: number
1617 testTimeout: number
+1
packages/runner/src/types/tasks.ts
···230230export type OnTestFailedHandler = (result: TaskResult) => Awaitable<void>
231231232232export type SequenceHooks = 'stack' | 'list' | 'parallel'
233233+export type SequenceSetupFiles = 'list' | 'parallel'
+11-1
packages/vitest/src/types/config.ts
···11import type { AliasOptions, CommonServerOptions, DepOptimizationConfig } from 'vite'
22import type { PrettyFormatOptions } from 'pretty-format'
33import type { FakeTimerInstallOpts } from '@sinonjs/fake-timers'
44+import type { SequenceHooks, SequenceSetupFiles } from '@vitest/runner'
45import type { BuiltinReporters } from '../node/reporters'
56import type { TestSequencerConstructor } from '../node/sequencers/types'
67import type { CoverageOptions, ResolvedCoverageOptions } from './coverage'
···1011import type { Arrayable } from './general'
1112import type { BenchmarkUserOptions } from './benchmark'
12131414+export type { SequenceHooks, SequenceSetupFiles } from '@vitest/runner'
1515+1316export type BuiltinEnvironment = 'node' | 'jsdom' | 'happy-dom' | 'edge-runtime'
1417// Record is used, so user can get intellisense for builtin environments, but still allow custom environments
1518export type VitestEnvironment = BuiltinEnvironment | (string & Record<never, never>)
1619export type CSSModuleScopeStrategy = 'stable' | 'scoped' | 'non-scoped'
1717-export type SequenceHooks = 'stack' | 'list' | 'parallel'
18201921export type ApiConfig = Pick<CommonServerOptions, 'port' | 'strictPort' | 'host'>
2022···499501 */
500502 shuffle?: boolean
501503 /**
504504+ * Defines how setup files should be ordered
505505+ * - 'parallel' will run all setup files in parallel
506506+ * - 'list' will run all setup files in the order they are defined in the config file
507507+ * @default 'parallel'
508508+ */
509509+ setupFiles?: SequenceSetupFiles
510510+ /**
502511 * Seed for the random number generator.
503512 * @default Date.now()
504513 */
···648657 sequence: {
649658 sequencer: TestSequencerConstructor
650659 hooks: SequenceHooks
660660+ setupFiles: SequenceSetupFiles
651661 shuffle?: boolean
652662 seed: number
653663 }