-
-
Notifications
You must be signed in to change notification settings - Fork 6.6k
Description
Version
29.7.0
Steps to reproduce
I have a monorepo where I'm using npm workspaces and "type": "module"
in my package.json
file. I have a central Jest config file (jest.config.e2e.mjs
) for my E2E tests that looks like this:
export default {
clearMocks: true,
collectCoverage: true,
collectCoverageFrom: ['./**/index.js', '!./test-e2e/**/*.js'],
coverageProvider: 'v8',
coverageReporters: ['clover', 'json', 'lcov', 'text', 'cobertura'],
coverageThreshold: { global: { statements: 80, branches: 80, functions: 80, lines: 80 } },
projects: [
{
displayName: 'Package 1',
rootDir: '<rootDir>/packages/package-1',
testMatch: ['<rootDir>/test-e2e/**/*.e2e.js']
},
{
displayName: 'Package 2',
rootDir: '<rootDir>/packages/package-2',
testMatch: ['<rootDir>/test-e2e/**/*.e2e.js']
},
// ↓ I don't want to have coverage on this package ↓
{
collectCoverage: true, // This line throws a warning within the terminal
displayName: 'Package 3',
rootDir: '<rootDir>/packages/package-3',
testMatch: ['<rootDir>/test-e2e/**/*.e2e.js']
},
}
When running with:
cross-env NODE_ENV=test-e2e NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.e2e.mjs --runInBand --detectOpenHandles --forceExit --silent"
I get this warning in the terminal and the coverage still seems to run for Package 3
:
● Validation Warning:
Unknown option "collectCoverage" with value false was found.
This is probably a typing mistake. Fixing it will remove this message.
Configuration Documentation:
https://jestjs.io/docs/configuration
See this CodeSandbox for a repo that reproduces the issue.
Expected behavior
When I add custom per-project code coverage settings to my monorepo's root Jest config file, I expect the per-project code coverage setting to apply to each project.
Actual behavior
When running my monorepo's Jest tests with a root Jest config that has per-project code coverage settings, I get a warning in the terminal saying that the per-project config isn't supported and I can see the per-project config isn't applied.
Environment
System:
- Windows 11
Binaries:
- Node: 22.14.0
- npm: 11.2.0
NPM Packages:
- jest: 29.7.0