Skip to content

chore(ast-spec): migrate from jest to vitest #10770

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
5086241
Install `vitest`
aryaemami59 Feb 4, 2025
de2239a
Rename `jest.config.js` to `vitest.config.mts`
aryaemami59 Feb 4, 2025
e9fe201
Rename `setupJest.ts` to `setupVitest.mts`
aryaemami59 Feb 4, 2025
722e512
Rename type test files from `type-test.ts` to `test-d.ts`
aryaemami59 Feb 4, 2025
6143d29
chore(ast-spec): migrate type tests to `vitest`
aryaemami59 Feb 4, 2025
cb1018b
chore(ast-spec): migrate to `vitest`
aryaemami59 Feb 4, 2025
fbcf06d
Include `vitest.config.mts` in `tsconfig.spec.json`
aryaemami59 Mar 8, 2025
7750bd7
Use `defineProject` instead of `defineConfig`
aryaemami59 Mar 10, 2025
3f2caa9
Explicitly enable `resolveJsonModule`
aryaemami59 Mar 10, 2025
07e4924
Use `.replace` instead of `.split`
aryaemami59 Mar 10, 2025
54f0a04
Type check `vitest.config.mts` files using project references.
aryaemami59 Mar 10, 2025
41918e9
Fix type tests
aryaemami59 Mar 11, 2025
5d0a514
Fix Vitest config
aryaemami59 Mar 12, 2025
6ddb9f7
Fix `typecheck` task
aryaemami59 Mar 16, 2025
5aa178b
Fix unit-tests
aryaemami59 Mar 22, 2025
85ef64b
Update `vitest` to version 3.0.9
aryaemami59 Mar 26, 2025
da87747
Update `@vitest/eslint-plugin` to version 1.1.38
aryaemami59 Mar 26, 2025
3c7efa3
Update `vitest` to version 3.1.1
aryaemami59 Mar 31, 2025
a615c95
Fix unit-tests
aryaemami59 Apr 2, 2025
01ff8b0
Update `@vitest/eslint-plugin` to version 1.1.39
aryaemami59 Apr 2, 2025
1988e4d
Run `ast-spec:typecheck` during `postinstall` script
aryaemami59 Apr 2, 2025
841ab01
Fix `knip` config
aryaemami59 Apr 3, 2025
c12400d
Update `vite` to version 6.2.5
aryaemami59 Apr 3, 2025
dc5f36f
Merge branch 'main' of https://github.com/typescript-eslint/typescrip…
aryaemami59 Apr 7, 2025
a3ebf6e
Merge branch 'main' of https://github.com/typescript-eslint/typescrip…
aryaemami59 Apr 7, 2025
ce0086f
Merge branch 'main' of https://github.com/typescript-eslint/typescrip…
aryaemami59 Apr 10, 2025
67b51bb
Update `vite` to version 6.2.6
aryaemami59 Apr 10, 2025
87473f4
Update `@vitest/eslint-plugin` to version 1.1.40
aryaemami59 Apr 10, 2025
10f0c75
Merge branch 'main' of https://github.com/typescript-eslint/typescrip…
aryaemami59 Apr 10, 2025
50a4872
Fix `ast-spec` tests
aryaemami59 Apr 10, 2025
1c4a510
Merge branch 'main' of https://github.com/typescript-eslint/typescrip…
aryaemami59 Apr 10, 2025
16dfec0
Update `@vitest/eslint-plugin` to version 1.1.42
aryaemami59 Apr 10, 2025
6b8688c
Enable the new `vitest/prefer-describe-function-title` rule
aryaemami59 Apr 11, 2025
d0959a6
Use `vitestPlugin.configs.env`
aryaemami59 Apr 11, 2025
59dac25
Merge branch 'main' of https://github.com/typescript-eslint/typescrip…
aryaemami59 Apr 11, 2025
af05c64
Fix `ast-spec` tests
aryaemami59 Apr 11, 2025
302b66d
Include test `setupFiles` in ESLint config
aryaemami59 Apr 11, 2025
d344bab
Merge branch 'main' of https://github.com/typescript-eslint/typescrip…
aryaemami59 Apr 11, 2025
babad06
Merge branch 'main' of https://github.com/typescript-eslint/typescrip…
aryaemami59 Apr 11, 2025
1b89b2a
Merge branch 'main' of https://github.com/typescript-eslint/typescrip…
aryaemami59 Apr 11, 2025
2d9ebac
Merge branch 'main' of https://github.com/typescript-eslint/typescrip…
aryaemami59 Apr 11, 2025
fa2c100
Update `typecheck` output path in `nx.json`
aryaemami59 Apr 12, 2025
470c531
Fix `vitest` coverage output when run with `nx`
aryaemami59 Apr 12, 2025
a7d6829
Merge branch 'main'
JoshuaKGoldberg Apr 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 2 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ const restrictNamedDeclarations = {
};

const vitestFiles = [
'packages/ast-spec/tests/**/*.test?(-d).{ts,tsx,cts,mts}',
'packages/ast-spec/tests/util/setupVitest.mts',
'packages/eslint-plugin-internal/tests/**/*.test.{ts,tsx,cts,mts}',
'packages/integration-tests/tests/**/*.test.{ts,tsx,cts,mts},',
'packages/integration-tests/tools/integration-test-base.ts',
Expand Down
12 changes: 10 additions & 2 deletions knip.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,21 @@ export default {
},
'packages/ast-spec': {
ignore: [
'src/**/fixtures/**',
'tests/*.type-test.ts',
// @typescript-eslint/typescript-estree is not listed in dependencies to avoid circular dependency errors
// You can check a more detailed explanation in this file
'tests/util/parsers/typescript-estree-import.ts',
'typings/global.d.ts',
],

project: ['src/**/*.ts', 'tests/util/**/*.ts', '!src/**/fixtures/**'],

vitest: {
config: ['vitest.config.mts'],
entry: [
'tests/**/*.{bench,test,test-d}.?(c|m)ts?(x)',
'tests/util/setupVitest.mts',
],
},
},
'packages/eslint-plugin': {
ignore: [
Expand Down
15 changes: 0 additions & 15 deletions packages/ast-spec/jest.config.js

This file was deleted.

12 changes: 5 additions & 7 deletions packages/ast-spec/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@
"scripts": {
"build": "tsc -b tsconfig.build.json && api-extractor run --local",
"clean": "tsc -b tsconfig.build.json --clean",
"postclean": "rimraf dist && rimraf coverage",
"postclean": "rimraf dist/ coverage/",
"clean-fixtures": "rimraf -g \"./src/**/fixtures/**/snapshots\"",
"format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore",
"lint": "npx nx lint",
"test": "jest",
"test": "vitest --run --config=$INIT_CWD/vitest.config.mts",
"check-types": "npx nx typecheck"
},
"funding": {
Expand All @@ -48,17 +48,15 @@
"@babel/code-frame": "*",
"@babel/core": "*",
"@babel/eslint-parser": "*",
"@jest/types": "29.6.3",
"@microsoft/api-extractor": "^7.47.11",
"@typescript-eslint/typescript-estree": "workspace:*",
"@vitest/coverage-v8": "^3.1.1",
"glob": "*",
"jest": "29.7.0",
"jest-diff": "^29.7.0",
"jest-specific-snapshot": "^8.0.0",
"make-dir": "*",
"prettier": "^3.2.5",
"pretty-format": "*",
"rimraf": "*",
"typescript": "*"
"typescript": "*",
"vitest": "^3.1.1"
}
}
1 change: 1 addition & 0 deletions packages/ast-spec/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
"outputs": ["{options.outputFile}"]
},
"test": {
"executor": "@nx/vite:test",
"dependsOn": ["typecheck"]
},
"typecheck": {
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading