Skip to content

Commit 1ecfa9d

Browse files
committed
fix(@angular/build): exclude .angular from coverage in vitest
Similar to 3478aa3 but for vitest. This avoids having to manually list `.angular` and all config files in `angular.json`
1 parent 7761180 commit 1ecfa9d

File tree

1 file changed

+12
-1
lines changed
  • packages/angular/build/src/builders/unit-test/runners/vitest

1 file changed

+12
-1
lines changed

packages/angular/build/src/builders/unit-test/runners/vitest/executor.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import type { BuilderOutput } from '@angular-devkit/architect';
1010
import assert from 'node:assert';
1111
import path from 'node:path';
12+
import { coverageConfigDefaults } from 'vitest/config';
1213
import type { InlineConfig, Vitest } from 'vitest/node';
1314
import { assertIsError } from '../../../../utils/error';
1415
import { loadEsmModule } from '../../../../utils/load-esm';
@@ -220,7 +221,17 @@ function generateCoverageOption(
220221
excludeAfterRemap: true,
221222
reportsDirectory: toPosixPath(path.join('coverage', projectName)),
222223
// Special handling for `exclude`/`reporters` due to an undefined value causing upstream failures
223-
...(codeCoverage.exclude ? { exclude: codeCoverage.exclude } : {}),
224+
...(codeCoverage.exclude
225+
? {
226+
exclude: [
227+
// Augment the default exclude https://vitest.dev/config/#coverage-exclude
228+
// with the user defined exclusions and the CLI cache directory
229+
'.angular/**',
230+
...codeCoverage.exclude,
231+
...coverageConfigDefaults.exclude,
232+
],
233+
}
234+
: {}),
224235
...(codeCoverage.reporters
225236
? ({ reporter: codeCoverage.reporters } satisfies VitestCoverageOption)
226237
: {}),

0 commit comments

Comments
 (0)