diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 97daaea8b1e0..398c05e17baa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -196,17 +196,14 @@ jobs: # collect coverage on the primary node version # we don't collect coverage on other node versions so they run faster - # note that we don't do this as a single `run` with a flag because some - # packages don't collect coverage on purpose, so forcing `--coverage=true` - # would override the config - name: Run unit tests with coverage for ${{ matrix.package }} if: env.PRIMARY_NODE_VERSION == matrix.node-version && matrix.os == 'ubuntu-latest' - run: npx nx test ${{ matrix.package }} + run: npx nx run ${{ matrix.package }}:test -- --coverage env: CI: true - name: Run unit tests for ${{ matrix.package }} if: env.PRIMARY_NODE_VERSION != matrix.node-version || matrix.os != 'ubuntu-latest' - run: npx nx test ${{ matrix.package }} --coverage=false + run: npx nx test ${{ matrix.package }} env: CI: true diff --git a/jest.config.base.js b/jest.config.base.js index fe816c4ca66e..a28164938fc9 100644 --- a/jest.config.base.js +++ b/jest.config.base.js @@ -6,7 +6,6 @@ const path = require('node:path'); // @ts-check /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { - collectCoverage: true, collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}'], coverageReporters: ['lcov'], moduleFileExtensions: [ diff --git a/packages/ast-spec/jest.config.js b/packages/ast-spec/jest.config.js index 6b927c0166bd..3b80d72f30ae 100644 --- a/packages/ast-spec/jest.config.js +++ b/packages/ast-spec/jest.config.js @@ -7,9 +7,9 @@ const baseConfig = require('../../jest.config.base.js'); /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { ...baseConfig, - collectCoverage: false, setupFilesAfterEnv: [ ...baseConfig.setupFilesAfterEnv, './tests/util/setupJest.ts', ], + coveragePathIgnorePatterns: ['/fixtures/', '/node_modules/'], }; diff --git a/packages/eslint-plugin-internal/package.json b/packages/eslint-plugin-internal/package.json index bac68835363c..f4cb0ab598f0 100644 --- a/packages/eslint-plugin-internal/package.json +++ b/packages/eslint-plugin-internal/package.json @@ -19,7 +19,7 @@ "postclean": "rimraf dist && rimraf coverage", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", "lint": "npx nx lint", - "test": "jest --coverage", + "test": "jest", "check-types": "npx nx typecheck" }, "dependencies": { diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index 2095166d48e7..c3ed0b2ced0b 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -56,7 +56,7 @@ "generate:breaking-changes": "tsx tools/generate-breaking-changes.mts", "generate:configs": "npx nx generate-configs repo", "lint": "npx nx lint", - "test": "cross-env NODE_OPTIONS=\"--experimental-vm-modules\" jest --coverage --logHeapUsage", + "test": "cross-env NODE_OPTIONS=\"--experimental-vm-modules\" jest --logHeapUsage", "test-single": "cross-env NODE_OPTIONS=\"--experimental-vm-modules\" jest --no-coverage", "check-types": "npx nx typecheck" }, diff --git a/packages/integration-tests/jest.config.js b/packages/integration-tests/jest.config.js index 2c4a6eacd5e4..81c7288cdf99 100644 --- a/packages/integration-tests/jest.config.js +++ b/packages/integration-tests/jest.config.js @@ -8,7 +8,6 @@ const { tseslintPackages } = require('./tools/pack-packages'); /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { ...require('../../jest.config.base.js'), - collectCoverage: false, globals: { tseslintPackages, }, diff --git a/packages/parser/package.json b/packages/parser/package.json index 957da6a15435..6e70f66e3879 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -46,7 +46,7 @@ "postclean": "rimraf dist && rimraf _ts4.3 && rimraf coverage", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", "lint": "npx nx lint", - "test": "jest --coverage", + "test": "jest", "check-types": "npx nx typecheck" }, "peerDependencies": { diff --git a/packages/rule-tester/package.json b/packages/rule-tester/package.json index 28c75e78d332..3e5659a27eac 100644 --- a/packages/rule-tester/package.json +++ b/packages/rule-tester/package.json @@ -44,7 +44,7 @@ "lint": "npx nx lint", "pretest-eslint-base": "tsc -b tsconfig.build.json", "test-eslint-base": "mocha --require source-map-support/register ./tests/eslint-base/eslint-base.test.js", - "test": "npx jest --coverage", + "test": "npx jest", "check-types": "npx nx typecheck" }, "//": "NOTE - AJV is out-of-date, but it's intentionally synced with ESLint - https://github.com/eslint/eslint/blob/ad9dd6a933fd098a0d99c6a9aa059850535c23ee/package.json#L70", diff --git a/packages/scope-manager/package.json b/packages/scope-manager/package.json index 08cb4a9d0d41..65575a10c198 100644 --- a/packages/scope-manager/package.json +++ b/packages/scope-manager/package.json @@ -43,7 +43,7 @@ "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", "generate-lib": "npx nx generate-lib repo", "lint": "npx nx lint", - "test": "npx nx test --code-coverage", + "test": "jest", "check-types": "npx nx typecheck" }, "dependencies": { @@ -55,6 +55,7 @@ "@types/glob": "*", "@typescript-eslint/typescript-estree": "8.25.0", "glob": "*", + "jest": "29.7.0", "jest-specific-snapshot": "*", "make-dir": "*", "prettier": "^3.2.5", diff --git a/packages/type-utils/package.json b/packages/type-utils/package.json index 06ff0694fe39..9c4cebac443e 100644 --- a/packages/type-utils/package.json +++ b/packages/type-utils/package.json @@ -43,7 +43,7 @@ "postclean": "rimraf dist && rimraf _ts3.4 && rimraf _ts4.3 && rimraf coverage", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", "lint": "npx nx lint", - "test": "jest --coverage", + "test": "jest", "check-types": "npx nx typecheck" }, "dependencies": { diff --git a/packages/typescript-eslint/package.json b/packages/typescript-eslint/package.json index c3c50783e61b..bc803040ef66 100644 --- a/packages/typescript-eslint/package.json +++ b/packages/typescript-eslint/package.json @@ -49,7 +49,7 @@ "postclean": "rimraf dist && rimraf _ts4.3 && rimraf coverage", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", "lint": "nx lint", - "test": "jest --coverage --passWithNoTests", + "test": "jest --passWithNoTests", "check-types": "npx nx typecheck" }, "dependencies": { diff --git a/packages/typescript-estree/package.json b/packages/typescript-estree/package.json index 2fbc7c448bb1..631075aeb2a5 100644 --- a/packages/typescript-estree/package.json +++ b/packages/typescript-estree/package.json @@ -51,7 +51,7 @@ "postclean": "rimraf dist && rimraf _ts4.3 && rimraf coverage", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", "lint": "npx nx lint", - "test": "jest --coverage --runInBand --verbose", + "test": "jest --runInBand --verbose", "check-types": "npx nx typecheck" }, "dependencies": { diff --git a/packages/utils/package.json b/packages/utils/package.json index af755b207435..a6e925a135bd 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -60,7 +60,7 @@ "postclean": "rimraf dist && rimraf _ts3.4 && rimraf _ts4.3 && rimraf coverage", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", "lint": "npx nx lint", - "test": "jest --coverage", + "test": "jest", "check-types": "npx nx typecheck" }, "dependencies": { diff --git a/packages/visitor-keys/package.json b/packages/visitor-keys/package.json index 23913fad7d5a..9b7a0af31f9a 100644 --- a/packages/visitor-keys/package.json +++ b/packages/visitor-keys/package.json @@ -44,7 +44,7 @@ "postclean": "rimraf dist && rimraf _ts3.4 && rimraf _ts4.3 && rimraf coverage", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", "lint": "npx nx lint", - "test": "jest --coverage", + "test": "jest", "check-types": "npx nx typecheck" }, "dependencies": { diff --git a/yarn.lock b/yarn.lock index 0ab2455f3a01..569ffc5f093a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5812,6 +5812,7 @@ __metadata: "@typescript-eslint/typescript-estree": 8.25.0 "@typescript-eslint/visitor-keys": 8.25.0 glob: "*" + jest: 29.7.0 jest-specific-snapshot: "*" make-dir: "*" prettier: ^3.2.5