File tree Expand file tree Collapse file tree 1 file changed +12
-5
lines changed
Expand file tree Collapse file tree 1 file changed +12
-5
lines changed Original file line number Diff line number Diff line change 11import { defineConfig } from 'vitest/config'
22
3+ // Check if coverage is enabled via CLI flags or environment.
4+ const isCoverageEnabled =
5+ process . env [ 'COVERAGE' ] === 'true' ||
6+ process . env [ 'npm_lifecycle_event' ] ?. includes ( 'coverage' ) ||
7+ process . argv . some ( arg => arg . includes ( 'coverage' ) )
8+
39export default defineConfig ( {
410 test : {
511 globals : false ,
@@ -10,15 +16,16 @@ export default defineConfig({
1016 pool : 'forks' ,
1117 poolOptions : {
1218 forks : {
13- singleFork : true ,
14- maxForks : 1 ,
19+ // Use single fork for coverage to reduce memory, parallel otherwise.
20+ singleFork : isCoverageEnabled ,
21+ maxForks : isCoverageEnabled ? 1 : undefined ,
1522 // Isolate tests to prevent memory leaks between test files.
1623 isolate : true ,
1724 } ,
1825 threads : {
19- singleThread : true ,
20- // Limit thread concurrency to prevent RegExp compiler exhaustion.
21- maxThreads : 1 ,
26+ // Use single thread for coverage to reduce memory, parallel otherwise.
27+ singleThread : isCoverageEnabled ,
28+ maxThreads : isCoverageEnabled ? 1 : undefined ,
2229 } ,
2330 } ,
2431 testTimeout : 60_000 ,
You can’t perform that action at this time.
0 commit comments