diff --git a/eslint.config.mjs b/eslint.config.mjs index 0e3e93148ab9..a77415d78eca 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -44,6 +44,7 @@ const vitestFiles = [ 'packages/scope-manager/tests/**/*.test.{ts,tsx,cts,mts}', 'packages/scope-manager/tests/test-utils/serializers/index.ts', 'packages/type-utils/tests/**/*.test.{ts,tsx,cts,mts}', + 'packages/types/tests/**/*.test.{ts,tsx,cts,mts}', 'packages/typescript-eslint/tests/**/*.test.{ts,tsx,cts,mts}', 'packages/typescript-estree/tests/**/*.test.{ts,tsx,cts,mts}', 'packages/utils/tests/**/*.test?(-d).{ts,tsx,cts,mts}', diff --git a/packages/types/package.json b/packages/types/package.json index 553163054dfa..c079574f6133 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -44,6 +44,7 @@ "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", "generate-lib": "npx nx run scope-manager:generate-lib", "lint": "npx nx lint", + "test": "vitest --run --config=$INIT_CWD/vitest.config.mts", "check-types": "npx nx typecheck" }, "nx": { @@ -66,10 +67,12 @@ } }, "devDependencies": { + "@vitest/coverage-v8": "^3.1.1", "prettier": "^3.2.5", "rimraf": "*", "tsx": "*", - "typescript": "*" + "typescript": "*", + "vitest": "^3.1.1" }, "funding": { "type": "opencollective", diff --git a/packages/types/project.json b/packages/types/project.json index d470995b1e15..da87602e0a30 100644 --- a/packages/types/project.json +++ b/packages/types/project.json @@ -1,7 +1,9 @@ { "name": "types", "$schema": "../../node_modules/nx/schemas/project-schema.json", - "type": "library", + "projectType": "library", + "root": "packages/types", + "sourceRoot": "packages/types/src", "implicitDependencies": ["ast-spec"], "targets": { "lint": { diff --git a/packages/types/vitest.config.mts b/packages/types/vitest.config.mts new file mode 100644 index 000000000000..190bac2c0ce1 --- /dev/null +++ b/packages/types/vitest.config.mts @@ -0,0 +1,20 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; + +import { vitestBaseConfig } from '../../vitest.config.base.mjs'; +import packageJson from './package.json' with { type: 'json' }; + +const vitestConfig = mergeConfig( + vitestBaseConfig, + + defineConfig({ + root: import.meta.dirname, + + test: { + name: packageJson.name.replace('@typescript-eslint/', ''), + root: import.meta.dirname, + passWithNoTests: true, + }, + }), +); + +export default vitestConfig; diff --git a/yarn.lock b/yarn.lock index 6a765eda8776..a884d3f17718 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6131,10 +6131,12 @@ __metadata: version: 0.0.0-use.local resolution: "@typescript-eslint/types@workspace:packages/types" dependencies: + "@vitest/coverage-v8": ^3.1.1 prettier: ^3.2.5 rimraf: "*" tsx: "*" typescript: "*" + vitest: ^3.1.1 languageName: unknown linkType: soft