From 8479c6456e988fdd467ad8839860c874288a2389 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Mon, 3 Feb 2025 17:01:43 -0600 Subject: [PATCH 01/17] Install `vitest` --- package.json | 2 + packages/typescript-eslint/package.json | 6 +- yarn.lock | 818 ++++++++++++++++++++++-- 3 files changed, 755 insertions(+), 71 deletions(-) diff --git a/package.json b/package.json index 1715d87e3568..bd088478034d 100644 --- a/package.json +++ b/package.json @@ -88,6 +88,7 @@ "@typescript-eslint/types": "workspace:^", "@typescript-eslint/typescript-estree": "workspace:^", "@typescript-eslint/utils": "workspace:^", + "@vitest/coverage-v8": "^3.0.7", "console-fail-test": "^0.5.0", "cross-fetch": "^4.0.0", "cspell": "^8.15.2", @@ -123,6 +124,7 @@ "tsx": "*", "typescript": ">=4.8.4 <5.9.0", "typescript-eslint": "workspace:^", + "vitest": "^3.0.7", "yargs": "17.7.2" }, "resolutions": { diff --git a/packages/typescript-eslint/package.json b/packages/typescript-eslint/package.json index c52c94094693..7b5781285a46 100644 --- a/packages/typescript-eslint/package.json +++ b/packages/typescript-eslint/package.json @@ -62,12 +62,12 @@ "typescript": ">=4.8.4 <5.9.0" }, "devDependencies": { - "@jest/types": "29.6.3", + "@vitest/coverage-v8": "^3.0.7", "downlevel-dts": "*", - "jest": "29.7.0", "prettier": "^3.2.5", "rimraf": "*", - "typescript": "*" + "typescript": "*", + "vitest": "^3.0.7" }, "funding": { "type": "opencollective", diff --git a/yarn.lock b/yarn.lock index f6420965e5e9..c528b9f40fa7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -252,6 +252,16 @@ __metadata: languageName: node linkType: hard +"@ampproject/remapping@npm:^2.3.0": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" + dependencies: + "@jridgewell/gen-mapping": ^0.3.5 + "@jridgewell/trace-mapping": ^0.3.24 + checksum: d3ad7b89d973df059c4e8e6d7c972cbeb1bb2f18f002a3bd04ae0707da214cb06cc06929b65aa2313b9347463df2914772298bae8b1d7973f246bb3f2ab3e8f0 + languageName: node + linkType: hard + "@apideck/better-ajv-errors@npm:^0.3.1": version: 0.3.6 resolution: "@apideck/better-ajv-errors@npm:0.3.6" @@ -558,6 +568,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.25.4": + version: 7.26.9 + resolution: "@babel/parser@npm:7.26.9" + dependencies: + "@babel/types": ^7.26.9 + bin: + parser: ./bin/babel-parser.js + checksum: 2df965dbf3c67d19dc437412ceef23033b4d39b0dbd7cb498d8ab9ad9e1738338656ee72676199773b37d658edf9f4161cf255515234fed30695d74e73be5514 + languageName: node + linkType: hard + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9" @@ -1707,6 +1728,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.25.4, @babel/types@npm:^7.26.9": + version: 7.26.9 + resolution: "@babel/types@npm:7.26.9" + dependencies: + "@babel/helper-string-parser": ^7.25.9 + "@babel/helper-validator-identifier": ^7.25.9 + checksum: cc124c149615deb30343a4c81ac5b0e3a68bdb4b1bd61a91a2859ee8e5e5f400f6ff65be4740f407c17bfc09baa9c777e7f8f765dccf3284963956b67ac95a38 + languageName: node + linkType: hard + "@bcoe/v8-coverage@npm:^0.2.3": version: 0.2.3 resolution: "@bcoe/v8-coverage@npm:0.2.3" @@ -1714,6 +1745,13 @@ __metadata: languageName: node linkType: hard +"@bcoe/v8-coverage@npm:^1.0.2": + version: 1.0.2 + resolution: "@bcoe/v8-coverage@npm:1.0.2" + checksum: f4e6f55817645fc1b543aa0bbd6ffceb7b9ff3052e8c92c493a0a71831e6b8ae97d73e123b048cb98ef9d9e31afae018a60795f2e27a6f3e94a1ec7abedac85d + languageName: node + linkType: hard + "@colors/colors@npm:1.5.0": version: 1.5.0 resolution: "@colors/colors@npm:1.5.0" @@ -3822,6 +3860,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 05df4f2538b3b0f998ea4c1cd34574d0feba216fa5d4ccaef0187d12abf82eafe6021cec8b49f9bb4d90f2ba4582ccc581e72986a5fcf4176ae0cfeb04cf52ec + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:0.3.9": version: 0.3.9 resolution: "@jridgewell/trace-mapping@npm:0.3.9" @@ -3832,7 +3877,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.9": +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" dependencies: @@ -4458,6 +4503,139 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-android-arm-eabi@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.34.9" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-android-arm64@npm:4.34.9" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-darwin-arm64@npm:4.34.9" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-darwin-x64@npm:4.34.9" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-arm64@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.34.9" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-x64@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-freebsd-x64@npm:4.34.9" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.34.9" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-musleabihf@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.34.9" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.34.9" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.34.9" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-loongarch64-gnu@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.34.9" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.34.9" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.34.9" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.34.9" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.34.9" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.34.9" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.34.9" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.34.9" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.34.9": + version: 4.34.9 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.34.9" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@rtsao/scc@npm:^1.1.0": version: 1.1.0 resolution: "@rtsao/scc@npm:1.1.0" @@ -5886,6 +6064,7 @@ __metadata: "@typescript-eslint/types": "workspace:^" "@typescript-eslint/typescript-estree": "workspace:^" "@typescript-eslint/utils": "workspace:^" + "@vitest/coverage-v8": ^3.0.7 console-fail-test: ^0.5.0 cross-fetch: ^4.0.0 cspell: ^8.15.2 @@ -5921,6 +6100,7 @@ __metadata: tsx: "*" typescript: ">=4.8.4 <5.9.0" typescript-eslint: "workspace:^" + vitest: ^3.0.7 yargs: 17.7.2 languageName: unknown linkType: soft @@ -6021,6 +6201,113 @@ __metadata: languageName: node linkType: hard +"@vitest/coverage-v8@npm:^3.0.7": + version: 3.0.7 + resolution: "@vitest/coverage-v8@npm:3.0.7" + dependencies: + "@ampproject/remapping": ^2.3.0 + "@bcoe/v8-coverage": ^1.0.2 + debug: ^4.4.0 + istanbul-lib-coverage: ^3.2.2 + istanbul-lib-report: ^3.0.1 + istanbul-lib-source-maps: ^5.0.6 + istanbul-reports: ^3.1.7 + magic-string: ^0.30.17 + magicast: ^0.3.5 + std-env: ^3.8.0 + test-exclude: ^7.0.1 + tinyrainbow: ^2.0.0 + peerDependencies: + "@vitest/browser": 3.0.7 + vitest: 3.0.7 + peerDependenciesMeta: + "@vitest/browser": + optional: true + checksum: 46c5eb628bb1b77a3b6dc6cbf0c3968721fa5cbf9b01919f8e01252d239560a54c94797337e859a63cdf0f6606a8ad26f96c832f6b2c667890e0e026d44a4780 + languageName: node + linkType: hard + +"@vitest/expect@npm:3.0.7": + version: 3.0.7 + resolution: "@vitest/expect@npm:3.0.7" + dependencies: + "@vitest/spy": 3.0.7 + "@vitest/utils": 3.0.7 + chai: ^5.2.0 + tinyrainbow: ^2.0.0 + checksum: 788ead8ec0876a15bcd51eba8b5e0bc4c95e07205192096c0e33328992c351a7569b32ea2f948dbfc7b5482f301e6d505cde639ead2e80ffc9f0d683714b1bfa + languageName: node + linkType: hard + +"@vitest/mocker@npm:3.0.7": + version: 3.0.7 + resolution: "@vitest/mocker@npm:3.0.7" + dependencies: + "@vitest/spy": 3.0.7 + estree-walker: ^3.0.3 + magic-string: ^0.30.17 + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 || ^6.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + checksum: 057fe03ab4f9ef40f5431a375dc812da8face4f6c6045c817402bcd0739992ff1d31de080d8ac8c4122f792b2d27c4c04a4e4e872a04c3ba2b1517bc78430130 + languageName: node + linkType: hard + +"@vitest/pretty-format@npm:3.0.7, @vitest/pretty-format@npm:^3.0.7": + version: 3.0.7 + resolution: "@vitest/pretty-format@npm:3.0.7" + dependencies: + tinyrainbow: ^2.0.0 + checksum: 5209282b26f57fa4bd918cba2265c34e161120f2fabc2987b0b77fb9a402a12cc5591d4e42689fcbdde5e2e1804cafc96e4e338d5b9d8b35ccbabd4cee7c8e81 + languageName: node + linkType: hard + +"@vitest/runner@npm:3.0.7": + version: 3.0.7 + resolution: "@vitest/runner@npm:3.0.7" + dependencies: + "@vitest/utils": 3.0.7 + pathe: ^2.0.3 + checksum: 980dd31c54b5b83e8ddc27d416999f3a8170abf3d836b2fb34a6730f942c53ad819399904bd46ea4bb89b4b0f3d0a793c135b3b83d70852859cbcad10111ae22 + languageName: node + linkType: hard + +"@vitest/snapshot@npm:3.0.7": + version: 3.0.7 + resolution: "@vitest/snapshot@npm:3.0.7" + dependencies: + "@vitest/pretty-format": 3.0.7 + magic-string: ^0.30.17 + pathe: ^2.0.3 + checksum: d516bd7b04ba34726c57f1da7779165dbd376260f856a43254a4220ea6d040606440433583234de7282e0ec24fb7f6025d2a4f7688e2daebe75ed0afcd77d44c + languageName: node + linkType: hard + +"@vitest/spy@npm:3.0.7": + version: 3.0.7 + resolution: "@vitest/spy@npm:3.0.7" + dependencies: + tinyspy: ^3.0.2 + checksum: f62537dc2632ed20464c017ca2feeb18bf2edd653bb1f6cd69ec5e6b52bb3803b1a601ca56777b0c463ce8d960294a0db9198c106dd6048d48ee5e7d09eaba59 + languageName: node + linkType: hard + +"@vitest/utils@npm:3.0.7": + version: 3.0.7 + resolution: "@vitest/utils@npm:3.0.7" + dependencies: + "@vitest/pretty-format": 3.0.7 + loupe: ^3.1.3 + tinyrainbow: ^2.0.0 + checksum: 1a90d3444f9990484e6196d7cc1ceb0fcd8ca587319c0307d2e838f038ec45b7a711f8a76cbfb512fe13c6c3691e1d39d1d69158e27432724ec62b308e17f6e9 + languageName: node + linkType: hard + "@webassemblyjs/ast@npm:1.14.1, @webassemblyjs/ast@npm:^1.14.1": version: 1.14.1 resolution: "@webassemblyjs/ast@npm:1.14.1" @@ -6712,6 +6999,13 @@ __metadata: languageName: node linkType: hard +"assertion-error@npm:^2.0.1": + version: 2.0.1 + resolution: "assertion-error@npm:2.0.1" + checksum: a0789dd882211b87116e81e2648ccb7f60340b34f19877dd020b39ebb4714e475eb943e14ba3e22201c221ef6645b7bfe10297e76b6ac95b48a9898c1211ce66 + languageName: node + linkType: hard + "ast-types-flow@npm:^0.0.8": version: 0.0.8 resolution: "ast-types-flow@npm:0.0.8" @@ -7228,6 +7522,13 @@ __metadata: languageName: node linkType: hard +"cac@npm:^6.7.14": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 45a2496a9443abbe7f52a49b22fbe51b1905eff46e03fd5e6c98e3f85077be3f8949685a1849b1a9cd2bc3e5567dfebcf64f01ce01847baf918f1b37c839791a + languageName: node + linkType: hard + "cacache@npm:^17.0.0": version: 17.0.5 resolution: "cacache@npm:17.0.5" @@ -7392,6 +7693,19 @@ __metadata: languageName: node linkType: hard +"chai@npm:^5.2.0": + version: 5.2.0 + resolution: "chai@npm:5.2.0" + dependencies: + assertion-error: ^2.0.1 + check-error: ^2.1.1 + deep-eql: ^5.0.1 + loupe: ^3.1.0 + pathval: ^2.0.0 + checksum: 15e4ba12d02df3620fd59b4a6e8efe43b47872ce61f1c0ca77ac1205a2a5898f3b6f1f52408fd1a708b8d07fdfb5e65b97af40bad9fd94a69ed8d4264c7a69f1 + languageName: node + linkType: hard + "chalk-template@npm:^1.1.0": version: 1.1.0 resolution: "chalk-template@npm:1.1.0" @@ -7462,6 +7776,13 @@ __metadata: languageName: node linkType: hard +"check-error@npm:^2.1.1": + version: 2.1.1 + resolution: "check-error@npm:2.1.1" + checksum: d785ed17b1d4a4796b6e75c765a9a290098cf52ff9728ce0756e8ffd4293d2e419dd30c67200aee34202463b474306913f2fcfaf1890641026d9fc6966fea27a + languageName: node + linkType: hard + "cheerio-select@npm:^2.1.0": version: 2.1.0 resolution: "cheerio-select@npm:2.1.0" @@ -8712,6 +9033,13 @@ __metadata: languageName: node linkType: hard +"deep-eql@npm:^5.0.1": + version: 5.0.2 + resolution: "deep-eql@npm:5.0.2" + checksum: 6aaaadb4c19cbce42e26b2bbe5bd92875f599d2602635dc97f0294bae48da79e89470aedee05f449e0ca8c65e9fd7e7872624d1933a1db02713d99c2ca8d1f24 + languageName: node + linkType: hard + "deep-extend@npm:^0.6.0": version: 0.6.0 resolution: "deep-extend@npm:0.6.0" @@ -9407,6 +9735,13 @@ __metadata: languageName: node linkType: hard +"es-module-lexer@npm:^1.6.0": + version: 1.6.0 + resolution: "es-module-lexer@npm:1.6.0" + checksum: 4413a9aed9bf581de62b98174f3eea3f23ce2994fb6832df64bdd6504f6977da1a3b5ebd3c10f75e3c2f214dcf1a1d8b54be5e62c71b7110e6ccedbf975d2b7d + languageName: node + linkType: hard + "es-object-atoms@npm:^1.0.0": version: 1.0.0 resolution: "es-object-atoms@npm:1.0.0" @@ -9447,33 +9782,35 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:~0.20.2": - version: 0.20.2 - resolution: "esbuild@npm:0.20.2" +"esbuild@npm:^0.25.0, esbuild@npm:~0.25.0": + version: 0.25.0 + resolution: "esbuild@npm:0.25.0" dependencies: - "@esbuild/aix-ppc64": 0.20.2 - "@esbuild/android-arm": 0.20.2 - "@esbuild/android-arm64": 0.20.2 - "@esbuild/android-x64": 0.20.2 - "@esbuild/darwin-arm64": 0.20.2 - "@esbuild/darwin-x64": 0.20.2 - "@esbuild/freebsd-arm64": 0.20.2 - "@esbuild/freebsd-x64": 0.20.2 - "@esbuild/linux-arm": 0.20.2 - "@esbuild/linux-arm64": 0.20.2 - "@esbuild/linux-ia32": 0.20.2 - "@esbuild/linux-loong64": 0.20.2 - "@esbuild/linux-mips64el": 0.20.2 - "@esbuild/linux-ppc64": 0.20.2 - "@esbuild/linux-riscv64": 0.20.2 - "@esbuild/linux-s390x": 0.20.2 - "@esbuild/linux-x64": 0.20.2 - "@esbuild/netbsd-x64": 0.20.2 - "@esbuild/openbsd-x64": 0.20.2 - "@esbuild/sunos-x64": 0.20.2 - "@esbuild/win32-arm64": 0.20.2 - "@esbuild/win32-ia32": 0.20.2 - "@esbuild/win32-x64": 0.20.2 + "@esbuild/aix-ppc64": 0.25.0 + "@esbuild/android-arm": 0.25.0 + "@esbuild/android-arm64": 0.25.0 + "@esbuild/android-x64": 0.25.0 + "@esbuild/darwin-arm64": 0.25.0 + "@esbuild/darwin-x64": 0.25.0 + "@esbuild/freebsd-arm64": 0.25.0 + "@esbuild/freebsd-x64": 0.25.0 + "@esbuild/linux-arm": 0.25.0 + "@esbuild/linux-arm64": 0.25.0 + "@esbuild/linux-ia32": 0.25.0 + "@esbuild/linux-loong64": 0.25.0 + "@esbuild/linux-mips64el": 0.25.0 + "@esbuild/linux-ppc64": 0.25.0 + "@esbuild/linux-riscv64": 0.25.0 + "@esbuild/linux-s390x": 0.25.0 + "@esbuild/linux-x64": 0.25.0 + "@esbuild/netbsd-arm64": 0.25.0 + "@esbuild/netbsd-x64": 0.25.0 + "@esbuild/openbsd-arm64": 0.25.0 + "@esbuild/openbsd-x64": 0.25.0 + "@esbuild/sunos-x64": 0.25.0 + "@esbuild/win32-arm64": 0.25.0 + "@esbuild/win32-ia32": 0.25.0 + "@esbuild/win32-x64": 0.25.0 dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -9509,8 +9846,12 @@ __metadata: optional: true "@esbuild/linux-x64": optional: true + "@esbuild/netbsd-arm64": + optional: true "@esbuild/netbsd-x64": optional: true + "@esbuild/openbsd-arm64": + optional: true "@esbuild/openbsd-x64": optional: true "@esbuild/sunos-x64": @@ -9523,39 +9864,37 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: bc88050fc1ca5c1bd03648f9979e514bdefb956a63aa3974373bb7b9cbac0b3aac9b9da1b5bdca0b3490e39d6b451c72815dbd6b7d7f978c91fbe9c9e9aa4e4c + checksum: 4d1e0cb7c059a373ea3edb20ca5efcea29efada03e4ea82b2b8ab1f2f062e4791e9744213308775d26e07a0225a7d8250da93da5c8e07ef61bb93d58caab8cf9 languageName: node linkType: hard -"esbuild@npm:~0.25.0": - version: 0.25.0 - resolution: "esbuild@npm:0.25.0" +"esbuild@npm:~0.20.2": + version: 0.20.2 + resolution: "esbuild@npm:0.20.2" dependencies: - "@esbuild/aix-ppc64": 0.25.0 - "@esbuild/android-arm": 0.25.0 - "@esbuild/android-arm64": 0.25.0 - "@esbuild/android-x64": 0.25.0 - "@esbuild/darwin-arm64": 0.25.0 - "@esbuild/darwin-x64": 0.25.0 - "@esbuild/freebsd-arm64": 0.25.0 - "@esbuild/freebsd-x64": 0.25.0 - "@esbuild/linux-arm": 0.25.0 - "@esbuild/linux-arm64": 0.25.0 - "@esbuild/linux-ia32": 0.25.0 - "@esbuild/linux-loong64": 0.25.0 - "@esbuild/linux-mips64el": 0.25.0 - "@esbuild/linux-ppc64": 0.25.0 - "@esbuild/linux-riscv64": 0.25.0 - "@esbuild/linux-s390x": 0.25.0 - "@esbuild/linux-x64": 0.25.0 - "@esbuild/netbsd-arm64": 0.25.0 - "@esbuild/netbsd-x64": 0.25.0 - "@esbuild/openbsd-arm64": 0.25.0 - "@esbuild/openbsd-x64": 0.25.0 - "@esbuild/sunos-x64": 0.25.0 - "@esbuild/win32-arm64": 0.25.0 - "@esbuild/win32-ia32": 0.25.0 - "@esbuild/win32-x64": 0.25.0 + "@esbuild/aix-ppc64": 0.20.2 + "@esbuild/android-arm": 0.20.2 + "@esbuild/android-arm64": 0.20.2 + "@esbuild/android-x64": 0.20.2 + "@esbuild/darwin-arm64": 0.20.2 + "@esbuild/darwin-x64": 0.20.2 + "@esbuild/freebsd-arm64": 0.20.2 + "@esbuild/freebsd-x64": 0.20.2 + "@esbuild/linux-arm": 0.20.2 + "@esbuild/linux-arm64": 0.20.2 + "@esbuild/linux-ia32": 0.20.2 + "@esbuild/linux-loong64": 0.20.2 + "@esbuild/linux-mips64el": 0.20.2 + "@esbuild/linux-ppc64": 0.20.2 + "@esbuild/linux-riscv64": 0.20.2 + "@esbuild/linux-s390x": 0.20.2 + "@esbuild/linux-x64": 0.20.2 + "@esbuild/netbsd-x64": 0.20.2 + "@esbuild/openbsd-x64": 0.20.2 + "@esbuild/sunos-x64": 0.20.2 + "@esbuild/win32-arm64": 0.20.2 + "@esbuild/win32-ia32": 0.20.2 + "@esbuild/win32-x64": 0.20.2 dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -9591,12 +9930,8 @@ __metadata: optional: true "@esbuild/linux-x64": optional: true - "@esbuild/netbsd-arm64": - optional: true "@esbuild/netbsd-x64": optional: true - "@esbuild/openbsd-arm64": - optional: true "@esbuild/openbsd-x64": optional: true "@esbuild/sunos-x64": @@ -9609,7 +9944,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 4d1e0cb7c059a373ea3edb20ca5efcea29efada03e4ea82b2b8ab1f2f062e4791e9744213308775d26e07a0225a7d8250da93da5c8e07ef61bb93d58caab8cf9 + checksum: bc88050fc1ca5c1bd03648f9979e514bdefb956a63aa3974373bb7b9cbac0b3aac9b9da1b5bdca0b3490e39d6b451c72815dbd6b7d7f978c91fbe9c9e9aa4e4c languageName: node linkType: hard @@ -10106,7 +10441,7 @@ __metadata: languageName: node linkType: hard -"estree-walker@npm:^3.0.0": +"estree-walker@npm:^3.0.0, estree-walker@npm:^3.0.3": version: 3.0.3 resolution: "estree-walker@npm:3.0.3" dependencies: @@ -10225,6 +10560,13 @@ __metadata: languageName: node linkType: hard +"expect-type@npm:^1.1.0": + version: 1.2.0 + resolution: "expect-type@npm:1.2.0" + checksum: fb6cce8e0d8cd2d2b329afeacad08dbf01297b0363494a826cb3dad7d22d45e5283a1c2c3f8cdef5765afefab4676a7cb9a46c9c5a506fdd1ee255e429debe96 + languageName: node + linkType: hard + "expect@npm:^29.0.0, expect@npm:^29.7.0": version: 29.7.0 resolution: "expect@npm:29.7.0" @@ -10992,7 +11334,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.3.12, glob@npm:^10.3.7, glob@npm:~10.4.5": +"glob@npm:^10.3.12, glob@npm:^10.3.7, glob@npm:^10.4.1, glob@npm:~10.4.5": version: 10.4.5 resolution: "glob@npm:10.4.5" dependencies: @@ -12569,6 +12911,13 @@ __metadata: languageName: node linkType: hard +"istanbul-lib-coverage@npm:^3.2.2": + version: 3.2.2 + resolution: "istanbul-lib-coverage@npm:3.2.2" + checksum: 2367407a8d13982d8f7a859a35e7f8dd5d8f75aae4bb5484ede3a9ea1b426dc245aff28b976a2af48ee759fdd9be374ce2bd2669b644f31e76c5f46a2e29a831 + languageName: node + linkType: hard + "istanbul-lib-instrument@npm:^5.0.4": version: 5.2.1 resolution: "istanbul-lib-instrument@npm:5.2.1" @@ -12595,7 +12944,7 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-report@npm:^3.0.0": +"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": version: 3.0.1 resolution: "istanbul-lib-report@npm:3.0.1" dependencies: @@ -12617,6 +12966,17 @@ __metadata: languageName: node linkType: hard +"istanbul-lib-source-maps@npm:^5.0.6": + version: 5.0.6 + resolution: "istanbul-lib-source-maps@npm:5.0.6" + dependencies: + "@jridgewell/trace-mapping": ^0.3.23 + debug: ^4.1.1 + istanbul-lib-coverage: ^3.0.0 + checksum: 8dd6f2c1e2ecaacabeef8dc9ab52c4ed0a6036310002cf7f46ea6f3a5fb041da8076f5350e6a6be4c60cd4f231c51c73e042044afaf44820d857d92ecfb8ab6c + languageName: node + linkType: hard + "istanbul-reports@npm:^3.1.3": version: 3.1.6 resolution: "istanbul-reports@npm:3.1.6" @@ -12627,6 +12987,16 @@ __metadata: languageName: node linkType: hard +"istanbul-reports@npm:^3.1.7": + version: 3.1.7 + resolution: "istanbul-reports@npm:3.1.7" + dependencies: + html-escaper: ^2.0.0 + istanbul-lib-report: ^3.0.0 + checksum: 2072db6e07bfbb4d0eb30e2700250636182398c1af811aea5032acb219d2080f7586923c09fa194029efd6b92361afb3dcbe1ebcc3ee6651d13340f7c6c4ed95 + languageName: node + linkType: hard + "iterator.prototype@npm:^1.1.4": version: 1.1.4 resolution: "iterator.prototype@npm:1.1.4" @@ -13738,6 +14108,13 @@ __metadata: languageName: node linkType: hard +"loupe@npm:^3.1.0, loupe@npm:^3.1.3": + version: 3.1.3 + resolution: "loupe@npm:3.1.3" + checksum: 9b2530b1d5a44d2c9fc5241f97ea00296dca257173c535b4832bc31f9516e10387991feb5b3fff23df116c8fcf907ce3980f82b215dcc5d19cde17ce9b9ec3e1 + languageName: node + linkType: hard + "lower-case@npm:^2.0.2": version: 2.0.2 resolution: "lower-case@npm:2.0.2" @@ -13818,6 +14195,26 @@ __metadata: languageName: node linkType: hard +"magic-string@npm:^0.30.17": + version: 0.30.17 + resolution: "magic-string@npm:0.30.17" + dependencies: + "@jridgewell/sourcemap-codec": ^1.5.0 + checksum: f4b4ed17c5ada64f77fc98491847302ebad64894a905c417c943840c0384662118c9b37f9f68bb86add159fa4749ff6f118c4627d69a470121b46731f8debc6d + languageName: node + linkType: hard + +"magicast@npm:^0.3.5": + version: 0.3.5 + resolution: "magicast@npm:0.3.5" + dependencies: + "@babel/parser": ^7.25.4 + "@babel/types": ^7.25.4 + source-map-js: ^1.2.0 + checksum: 668f07ade907a44bccfc9a9321588473f6d5fa25329aa26b9ad9a3bf87cc2e6f9c482cbdd3e33c0b9ab9b79c065630c599cc055a12f881c8c924ee0d7282cdce + languageName: node + linkType: hard + "make-dir@npm:*, make-dir@npm:^4.0.0": version: 4.0.0 resolution: "make-dir@npm:4.0.0" @@ -16073,6 +16470,13 @@ __metadata: languageName: node linkType: hard +"pathe@npm:^2.0.3": + version: 2.0.3 + resolution: "pathe@npm:2.0.3" + checksum: 0602bdd4acb54d91044e0c56f1fb63467ae7d44ab3afea1f797947b0eb2b4d1d91cf0d58d065fdb0a8ab0c4acbbd8d3a5b424983eaf10dd5285d37a16f6e3ee9 + languageName: node + linkType: hard + "pathval@npm:^1.1.1": version: 1.1.1 resolution: "pathval@npm:1.1.1" @@ -16080,6 +16484,13 @@ __metadata: languageName: node linkType: hard +"pathval@npm:^2.0.0": + version: 2.0.0 + resolution: "pathval@npm:2.0.0" + checksum: 682b6a6289de7990909effef7dae9aa7bb6218c0426727bccf66a35b34e7bfbc65615270c5e44e3c9557a5cb44b1b9ef47fc3cb18bce6ad3ba92bcd28467ed7d + languageName: node + linkType: hard + "periscopic@npm:^3.0.0": version: 3.1.0 resolution: "periscopic@npm:3.1.0" @@ -16637,7 +17048,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.21, postcss@npm:^8.4.24, postcss@npm:^8.4.26, postcss@npm:^8.4.32, postcss@npm:^8.4.33, postcss@npm:^8.4.38, postcss@npm:^8.5.1": +"postcss@npm:^8.4.21, postcss@npm:^8.4.24, postcss@npm:^8.4.26, postcss@npm:^8.4.32, postcss@npm:^8.4.33, postcss@npm:^8.4.38, postcss@npm:^8.5.1, postcss@npm:^8.5.3": version: 8.5.3 resolution: "postcss@npm:8.5.3" dependencies: @@ -17747,6 +18158,78 @@ __metadata: languageName: node linkType: hard +"rollup@npm:^4.30.1": + version: 4.34.9 + resolution: "rollup@npm:4.34.9" + dependencies: + "@rollup/rollup-android-arm-eabi": 4.34.9 + "@rollup/rollup-android-arm64": 4.34.9 + "@rollup/rollup-darwin-arm64": 4.34.9 + "@rollup/rollup-darwin-x64": 4.34.9 + "@rollup/rollup-freebsd-arm64": 4.34.9 + "@rollup/rollup-freebsd-x64": 4.34.9 + "@rollup/rollup-linux-arm-gnueabihf": 4.34.9 + "@rollup/rollup-linux-arm-musleabihf": 4.34.9 + "@rollup/rollup-linux-arm64-gnu": 4.34.9 + "@rollup/rollup-linux-arm64-musl": 4.34.9 + "@rollup/rollup-linux-loongarch64-gnu": 4.34.9 + "@rollup/rollup-linux-powerpc64le-gnu": 4.34.9 + "@rollup/rollup-linux-riscv64-gnu": 4.34.9 + "@rollup/rollup-linux-s390x-gnu": 4.34.9 + "@rollup/rollup-linux-x64-gnu": 4.34.9 + "@rollup/rollup-linux-x64-musl": 4.34.9 + "@rollup/rollup-win32-arm64-msvc": 4.34.9 + "@rollup/rollup-win32-ia32-msvc": 4.34.9 + "@rollup/rollup-win32-x64-msvc": 4.34.9 + "@types/estree": 1.0.6 + fsevents: ~2.3.2 + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-loongarch64-gnu": + optional: true + "@rollup/rollup-linux-powerpc64le-gnu": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: ed7a5e382de5fe872abffdab614b7f745cbed7328cf4ced560c4d09214b3d30e167f8c7df9e8b63489497bdf3a6be07a2474f9ff3195026bdf2d49cdbeac38ae + languageName: node + linkType: hard + "rtl-detect@npm:^1.0.4": version: 1.0.4 resolution: "rtl-detect@npm:1.0.4" @@ -18218,6 +18701,13 @@ __metadata: languageName: node linkType: hard +"siginfo@npm:^2.0.0": + version: 2.0.0 + resolution: "siginfo@npm:2.0.0" + checksum: 8aa5a98640ca09fe00d74416eca97551b3e42991614a3d1b824b115fc1401543650914f651ab1311518177e4d297e80b953f4cd4cd7ea1eabe824e8f2091de01 + languageName: node + linkType: hard + "signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" @@ -18409,7 +18899,7 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1": +"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.0, source-map-js@npm:^1.2.1": version: 1.2.1 resolution: "source-map-js@npm:1.2.1" checksum: 4eb0cd997cdf228bc253bcaff9340afeb706176e64868ecd20efbe6efea931465f43955612346d6b7318789e5265bdc419bc7669c1cebe3db0eb255f57efa76b @@ -18586,6 +19076,13 @@ __metadata: languageName: node linkType: hard +"stackback@npm:0.0.2": + version: 0.0.2 + resolution: "stackback@npm:0.0.2" + checksum: 2d4dc4e64e2db796de4a3c856d5943daccdfa3dd092e452a1ce059c81e9a9c29e0b9badba91b43ef0d5ff5c04ee62feb3bcc559a804e16faf447bac2d883aa99 + languageName: node + linkType: hard + "statuses@npm:2.0.1": version: 2.0.1 resolution: "statuses@npm:2.0.1" @@ -18607,6 +19104,13 @@ __metadata: languageName: node linkType: hard +"std-env@npm:^3.8.0": + version: 3.8.1 + resolution: "std-env@npm:3.8.1" + checksum: 20114a5270aa2a3fc50d897461c6ab73329cf2d3c6bff1c124bb969577493aeebda8ee1916588b2657afcee9881bc652437cfdec6360e3f30be36c8675ea0cbb + languageName: node + linkType: hard + "string-argv@npm:^0.3.2, string-argv@npm:~0.3.1": version: 0.3.2 resolution: "string-argv@npm:0.3.2" @@ -19179,6 +19683,17 @@ __metadata: languageName: node linkType: hard +"test-exclude@npm:^7.0.1": + version: 7.0.1 + resolution: "test-exclude@npm:7.0.1" + dependencies: + "@istanbuljs/schema": ^0.1.2 + glob: ^10.4.1 + minimatch: ^9.0.4 + checksum: e5a49a054bf2da74467dd8149b202166e36275c0dc2c9585f7d34de99c6d055d2287ac8d2a8e4c27c59b893acbc671af3fa869e8069a58ad117250e9c01c726b + languageName: node + linkType: hard + "text-table@npm:^0.2.0": version: 0.2.0 resolution: "text-table@npm:0.2.0" @@ -19207,6 +19722,20 @@ __metadata: languageName: node linkType: hard +"tinybench@npm:^2.9.0": + version: 2.9.0 + resolution: "tinybench@npm:2.9.0" + checksum: 1ab00d7dfe0d1f127cbf00822bacd9024f7a50a3ecd1f354a8168e0b7d2b53a639a24414e707c27879d1adc0f5153141d51d76ebd7b4d37fe245e742e5d91fe8 + languageName: node + linkType: hard + +"tinyexec@npm:^0.3.2": + version: 0.3.2 + resolution: "tinyexec@npm:0.3.2" + checksum: bd491923020610bdeadb0d8cf5d70e7cbad5a3201620fd01048c9bf3b31ffaa75c33254e1540e13b993ce4e8187852b0b5a93057bb598e7a57afa2ca2048a35c + languageName: node + linkType: hard + "tinyglobby@npm:^0.2.10": version: 0.2.10 resolution: "tinyglobby@npm:0.2.10" @@ -19217,6 +19746,27 @@ __metadata: languageName: node linkType: hard +"tinypool@npm:^1.0.2": + version: 1.0.2 + resolution: "tinypool@npm:1.0.2" + checksum: 752f23114d8fc95a9497fc812231d6d0a63728376aa11e6e8499c10423a91112e760e388887ea7854f1b16977c321f07c0eab061ec2f60f6761e58b184aac880 + languageName: node + linkType: hard + +"tinyrainbow@npm:^2.0.0": + version: 2.0.0 + resolution: "tinyrainbow@npm:2.0.0" + checksum: 26360631d97e43955a07cfb70fe40a154ce4e2bcd14fa3d37ce8e2ed8f4fa9e5ba00783e4906bbfefe6dcabef5d3510f5bee207cb693bee4e4e7553f5454bef1 + languageName: node + linkType: hard + +"tinyspy@npm:^3.0.2": + version: 3.0.2 + resolution: "tinyspy@npm:3.0.2" + checksum: 5db671b2ff5cd309de650c8c4761ca945459d7204afb1776db9a04fb4efa28a75f08517a8620c01ee32a577748802231ad92f7d5b194dc003ee7f987a2a06337 + languageName: node + linkType: hard + "title-case@npm:^3.0.3": version: 3.0.3 resolution: "title-case@npm:3.0.3" @@ -19562,15 +20112,15 @@ __metadata: version: 0.0.0-use.local resolution: "typescript-eslint@workspace:packages/typescript-eslint" dependencies: - "@jest/types": 29.6.3 "@typescript-eslint/eslint-plugin": 8.26.0 "@typescript-eslint/parser": 8.26.0 "@typescript-eslint/utils": 8.26.0 + "@vitest/coverage-v8": ^3.0.7 downlevel-dts: "*" - jest: 29.7.0 prettier: ^3.2.5 rimraf: "*" typescript: "*" + vitest: ^3.0.7 peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" @@ -20004,6 +20554,126 @@ __metadata: languageName: node linkType: hard +"vite-node@npm:3.0.7": + version: 3.0.7 + resolution: "vite-node@npm:3.0.7" + dependencies: + cac: ^6.7.14 + debug: ^4.4.0 + es-module-lexer: ^1.6.0 + pathe: ^2.0.3 + vite: ^5.0.0 || ^6.0.0 + bin: + vite-node: vite-node.mjs + checksum: 90a3dd0e1b620cdf0c20272739cd1035af20c9b7606c1a093b3368b2c7c59cfd2327c27faabfbc9b293ae5d9a3318aeb40a2a974fe42807167e4cec625d9759e + languageName: node + linkType: hard + +"vite@npm:^5.0.0 || ^6.0.0": + version: 6.2.0 + resolution: "vite@npm:6.2.0" + dependencies: + esbuild: ^0.25.0 + fsevents: ~2.3.3 + postcss: ^8.5.3 + rollup: ^4.30.1 + peerDependencies: + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: ">=1.21.0" + less: "*" + lightningcss: ^1.21.0 + sass: "*" + sass-embedded: "*" + stylus: "*" + sugarss: "*" + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + bin: + vite: bin/vite.js + checksum: 0f2b6232fe94184885dd025609995874ac75279a85596a4053a283bd8bd0391f8ed3e7efb3e8f94073811a2b237c626e850990b04d2c7a1dc33f05d150f36bcd + languageName: node + linkType: hard + +"vitest@npm:^3.0.7": + version: 3.0.7 + resolution: "vitest@npm:3.0.7" + dependencies: + "@vitest/expect": 3.0.7 + "@vitest/mocker": 3.0.7 + "@vitest/pretty-format": ^3.0.7 + "@vitest/runner": 3.0.7 + "@vitest/snapshot": 3.0.7 + "@vitest/spy": 3.0.7 + "@vitest/utils": 3.0.7 + chai: ^5.2.0 + debug: ^4.4.0 + expect-type: ^1.1.0 + magic-string: ^0.30.17 + pathe: ^2.0.3 + std-env: ^3.8.0 + tinybench: ^2.9.0 + tinyexec: ^0.3.2 + tinypool: ^1.0.2 + tinyrainbow: ^2.0.0 + vite: ^5.0.0 || ^6.0.0 + vite-node: 3.0.7 + why-is-node-running: ^2.3.0 + peerDependencies: + "@edge-runtime/vm": "*" + "@types/debug": ^4.1.12 + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + "@vitest/browser": 3.0.7 + "@vitest/ui": 3.0.7 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/debug": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + bin: + vitest: vitest.mjs + checksum: f384103ce5fdd5f0e4e3fbbb8e015ce887f1af6399a31a4fb8906407a6f4925b2e1708caba014c81f1c4a59627e944a65c7dc4de2819e7fe0b044796c57630ae + languageName: node + linkType: hard + "vscode-languageserver-textdocument@npm:^1.0.12": version: 1.0.12 resolution: "vscode-languageserver-textdocument@npm:1.0.12" @@ -20424,6 +21094,18 @@ __metadata: languageName: node linkType: hard +"why-is-node-running@npm:^2.3.0": + version: 2.3.0 + resolution: "why-is-node-running@npm:2.3.0" + dependencies: + siginfo: ^2.0.0 + stackback: 0.0.2 + bin: + why-is-node-running: cli.js + checksum: 58ebbf406e243ace97083027f0df7ff4c2108baf2595bb29317718ef207cc7a8104e41b711ff65d6fa354f25daa8756b67f2f04931a4fd6ba9d13ae8197496fb + languageName: node + linkType: hard + "wide-align@npm:^1.1.5": version: 1.1.5 resolution: "wide-align@npm:1.1.5" From e66a225a59a119f1bd252bcf662ba58d23fbfd0a Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Mon, 3 Feb 2025 17:03:26 -0600 Subject: [PATCH 02/17] Rename `jest.config.js` to `vitest.config.mts` --- packages/typescript-eslint/{jest.config.js => vitest.config.mts} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename packages/typescript-eslint/{jest.config.js => vitest.config.mts} (100%) diff --git a/packages/typescript-eslint/jest.config.js b/packages/typescript-eslint/vitest.config.mts similarity index 100% rename from packages/typescript-eslint/jest.config.js rename to packages/typescript-eslint/vitest.config.mts From c5e83a5e90bbff47253afc4ead2337da5f2ecc10 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Mon, 3 Feb 2025 17:13:08 -0600 Subject: [PATCH 03/17] chore(typescript-eslint): migrate to `vitest` --- eslint.config.mjs | 47 ++++++++++++++++ knip.ts | 3 ++ nx.json | 53 ++++++++++++++++--- package.json | 3 ++ packages/typescript-eslint/package.json | 4 +- packages/typescript-eslint/project.json | 5 +- .../typescript-eslint/tsconfig.build.json | 2 +- packages/typescript-eslint/tsconfig.spec.json | 10 +--- packages/typescript-eslint/vitest.config.mts | 26 ++++++--- tsconfig.repo-config-files.json | 2 + vitest.config.base.mts | 20 +++++++ vitest.config.mts | 21 ++++++++ yarn.lock | 51 +++++++++++++++++- 13 files changed, 218 insertions(+), 29 deletions(-) create mode 100644 vitest.config.base.mts create mode 100644 vitest.config.mts diff --git a/eslint.config.mjs b/eslint.config.mjs index 4ea22b6c99c2..312ac2f15b2a 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -5,6 +5,7 @@ import { FlatCompat } from '@eslint/eslintrc'; import eslint from '@eslint/js'; import eslintCommentsPlugin from '@eslint-community/eslint-plugin-eslint-comments/configs'; import tseslintInternalPlugin from '@typescript-eslint/eslint-plugin-internal'; +import vitestPlugin from '@vitest/eslint-plugin'; import eslintPluginPlugin from 'eslint-plugin-eslint-plugin'; import importPlugin from 'eslint-plugin-import'; import jestPlugin from 'eslint-plugin-jest'; @@ -28,6 +29,10 @@ const restrictNamedDeclarations = { selector: 'ExportNamedDeclaration[declaration=null][source=null]', }; +const vitestFiles = [ + 'packages/typescript-eslint/tests/**/*.test.{ts,tsx,cts,mts}', +]; + export default tseslint.config( // register all of the plugins up-front { @@ -43,6 +48,7 @@ export default tseslint.config( // @ts-expect-error -- https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/pull/1038 ['jsx-a11y']: jsxA11yPlugin.flatConfigs.recommended.plugins['jsx-a11y'], ['perfectionist']: perfectionistPlugin, + ['vitest']: vitestPlugin, // https://github.com/facebook/react/issues/28313 ['react']: reactPlugin, // @ts-expect-error -- Temporary types incompatibility pending flat config support @@ -66,6 +72,7 @@ export default tseslint.config( '.nx/', '.yarn/', '**/jest.config.js', + '**/vitest.config.mts', '**/node_modules/**', '**/dist/**', '**/fixtures/**', @@ -361,12 +368,22 @@ export default tseslint.config( // define the jest globals for all test files { files: ['packages/*/tests/**/*.{ts,tsx,cts,mts}'], + ignores: vitestFiles, languageOptions: { globals: { ...jestPlugin.environments.globals.globals, }, }, }, + // define the vitest globals for all test files + { + files: vitestFiles, + languageOptions: { + globals: { + ...vitestPlugin.environments.env.globals, + }, + }, + }, // test file specific configuration { files: [ @@ -376,6 +393,7 @@ export default tseslint.config( 'packages/integration-tests/tools/integration-test-base.ts', 'packages/integration-tests/tools/pack-packages.ts', ], + ignores: vitestFiles, rules: { '@typescript-eslint/no-empty-function': [ 'error', @@ -402,6 +420,35 @@ export default tseslint.config( 'jest/valid-expect': 'error', }, }, + // test file specific configuration + { + files: vitestFiles, + rules: { + '@typescript-eslint/no-empty-function': [ + 'error', + { allow: ['arrowFunctions'] }, + ], + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-unsafe-assignment': 'off', + '@typescript-eslint/no-unsafe-call': 'off', + '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-unsafe-return': 'off', + 'vitest/no-alias-methods': 'error', + 'vitest/no-disabled-tests': 'error', + 'vitest/no-done-callback': 'error', + 'vitest/no-focused-tests': 'error', + 'vitest/no-identical-title': 'error', + 'vitest/no-test-prefixes': 'error', + 'vitest/no-test-return-statement': 'error', + 'vitest/prefer-each': 'error', + 'vitest/prefer-spy-on': 'error', + 'vitest/prefer-to-be': 'error', + 'vitest/prefer-to-contain': 'error', + 'vitest/prefer-to-have-length': 'error', + 'vitest/valid-expect': 'error', + }, + settings: { vitest: { typecheck: true } }, + }, // plugin rule tests { files: [ diff --git a/knip.ts b/knip.ts index 1970ad38462e..594dc6e49d92 100644 --- a/knip.ts +++ b/knip.ts @@ -11,6 +11,9 @@ export default { types: 'off', unresolved: 'off', }, + vitest: { + config: ['vitest.config.mts', 'packages/*/vitest.config.mts'], + }, workspaces: { '.': { entry: ['tools/release/changelog-renderer.js', 'tools/scripts/**/*.mts'], diff --git a/nx.json b/nx.json index adc90d3d0152..e94fa87429fa 100644 --- a/nx.json +++ b/nx.json @@ -14,6 +14,27 @@ "configName": "tsconfig.build.json" } } + }, + { + "plugin": "@nx/vite/plugin", + "options": { + "buildTargetName": "vite:build", + "testTargetName": "test", + "serveTargetName": "serve", + "devTargetName": "dev", + "previewTargetName": "preview", + "serveStaticTargetName": "serve-static", + "typecheckTargetName": "vite:typecheck", + "buildDepsTargetName": "vite:build-deps", + "watchDepsTargetName": "vite:watch-deps" + } + }, + { + "plugin": "@nx/jest/plugin", + "include": ["packages/*"], + "options": { + "targetName": "test" + } } ], "release": { @@ -40,19 +61,19 @@ "build": { "dependsOn": ["^build"], "inputs": ["production", "^production"], + "outputs": ["{projectRoot}/dist"], + "options": { + "cwd": "{projectRoot}" + }, "cache": true }, "test": { - "inputs": [ - "default", - "^production", - "{workspaceRoot}/jest.config.js", - "{workspaceRoot}/jest.config.base.js" - ], + "dependsOn": ["^build"], "outputs": ["{projectRoot}/coverage"], "cache": true }, "@nx/jest:jest": { + "dependsOn": ["^build"], "inputs": [ "default", "^production", @@ -72,7 +93,25 @@ } } }, + "@nx/vite:test": { + "dependsOn": ["^build"], + "inputs": [ + "default", + "^production", + "{workspaceRoot}/vitest.config.mts", + "{workspaceRoot}/vitest.config.base.mts", + "{projectRoot}/vitest.config.mts" + ], + "outputs": ["{options.reportsDirectory}"], + "cache": true, + "options": { + "config": "{projectRoot}/vitest.config.mts", + "watch": false, + "reportsDirectory": "{projectRoot}/coverage" + } + }, "lint": { + "executor": "@nx/eslint:lint", "dependsOn": [ "eslint-plugin:build", "eslint-plugin-internal:build", @@ -87,6 +126,7 @@ "transitive": false } ], + "outputs": ["{options.outputFile}"], "cache": true } }, @@ -110,6 +150,7 @@ "!{projectRoot}/**/?(*.)+(test).[jt]s?(x)?(.snap)", "!{projectRoot}/tsconfig.spec.json", "!{projectRoot}/jest.config.[jt]s", + "!{projectRoot}/vitest.config.m[jt]s", "!{projectRoot}/src/test-setup.[jt]s" ] } diff --git a/package.json b/package.json index bd088478034d..1f285605b964 100644 --- a/package.json +++ b/package.json @@ -66,6 +66,7 @@ "@nx/devkit": "20.4.5", "@nx/eslint": "20.4.5", "@nx/jest": "20.4.5", + "@nx/vite": "20.4.5", "@nx/workspace": "20.4.5", "@swc/core": "^1.4.12", "@swc/jest": "^0.2.36", @@ -89,6 +90,7 @@ "@typescript-eslint/typescript-estree": "workspace:^", "@typescript-eslint/utils": "workspace:^", "@vitest/coverage-v8": "^3.0.7", + "@vitest/eslint-plugin": "^1.1.36", "console-fail-test": "^0.5.0", "cross-fetch": "^4.0.0", "cspell": "^8.15.2", @@ -124,6 +126,7 @@ "tsx": "*", "typescript": ">=4.8.4 <5.9.0", "typescript-eslint": "workspace:^", + "vite": "^6.2.0", "vitest": "^3.0.7", "yargs": "17.7.2" }, diff --git a/packages/typescript-eslint/package.json b/packages/typescript-eslint/package.json index 7b5781285a46..8ddaff5a8b0f 100644 --- a/packages/typescript-eslint/package.json +++ b/packages/typescript-eslint/package.json @@ -46,10 +46,10 @@ "build": "tsc -b tsconfig.build.json", "postbuild": "downlevel-dts dist _ts4.3/dist --to=4.3", "clean": "tsc -b tsconfig.build.json --clean", - "postclean": "rimraf dist && rimraf _ts4.3 && rimraf coverage", + "postclean": "rimraf dist/ _ts4.3/ coverage/", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", "lint": "nx lint", - "test": "jest --passWithNoTests", + "test": "vitest --run", "check-types": "npx nx typecheck" }, "dependencies": { diff --git a/packages/typescript-eslint/project.json b/packages/typescript-eslint/project.json index f30e095e6523..a00bbb01577c 100644 --- a/packages/typescript-eslint/project.json +++ b/packages/typescript-eslint/project.json @@ -1,8 +1,9 @@ { "name": "typescript-eslint", "$schema": "../../node_modules/nx/schemas/project-schema.json", - "type": "library", - "implicitDependencies": [], + "projectType": "library", + "root": "packages/typescript-eslint", + "sourceRoot": "packages/typescript-eslint/src", "targets": { "lint": { "executor": "@nx/eslint:lint", diff --git a/packages/typescript-eslint/tsconfig.build.json b/packages/typescript-eslint/tsconfig.build.json index 077800521627..ee18e9f1e1de 100644 --- a/packages/typescript-eslint/tsconfig.build.json +++ b/packages/typescript-eslint/tsconfig.build.json @@ -9,7 +9,7 @@ "types": ["node"] }, "include": ["src/**/*.ts"], - "exclude": ["jest.config.js", "src/**/*.spec.ts", "src/**/*.test.ts"], + "exclude": ["vitest.config.mts", "src/**/*.spec.ts", "src/**/*.test.ts"], "references": [ { "path": "../utils/tsconfig.build.json" diff --git a/packages/typescript-eslint/tsconfig.spec.json b/packages/typescript-eslint/tsconfig.spec.json index e1bbfca23474..47f4075e0f14 100644 --- a/packages/typescript-eslint/tsconfig.spec.json +++ b/packages/typescript-eslint/tsconfig.spec.json @@ -3,15 +3,9 @@ "compilerOptions": { "outDir": "../../dist/out-tsc/packages/typescript-eslint", "module": "NodeNext", - "types": ["jest", "node"] + "types": ["node", "vitest/globals", "vitest/importMeta"] }, - "include": [ - "jest.config.js", - "src/**/*.test.ts", - "src/**/*.spec.ts", - "src/**/*.d.ts", - "tests" - ], + "include": ["src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts", "tests"], "exclude": ["**/fixtures/**"], "references": [ { diff --git a/packages/typescript-eslint/vitest.config.mts b/packages/typescript-eslint/vitest.config.mts index 88b83019e018..c803e1d1c1ee 100644 --- a/packages/typescript-eslint/vitest.config.mts +++ b/packages/typescript-eslint/vitest.config.mts @@ -1,8 +1,18 @@ -'use strict'; - -// @ts-check -/** @type {import('@jest/types').Config.InitialOptions} */ -module.exports = { - ...require('../../jest.config.base.js'), - testRegex: './tests/.+\\.ts$', -}; +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({ + test: { + dir: `${import.meta.dirname}/tests`, + name: packageJson.name, + root: import.meta.dirname, + }, + }), +); + +export default vitestConfig; diff --git a/tsconfig.repo-config-files.json b/tsconfig.repo-config-files.json index 111efb73975a..58efac7250b6 100644 --- a/tsconfig.repo-config-files.json +++ b/tsconfig.repo-config-files.json @@ -12,6 +12,8 @@ "tools/**/*.ts", "tools/**/*.mts", "eslint.config.mjs", + "vitest.config.base.mts", + "vitest.config.mts", "jest.config.base.js", "jest.config.js", "jest.preset.js", diff --git a/vitest.config.base.mts b/vitest.config.base.mts new file mode 100644 index 000000000000..2a84af748ada --- /dev/null +++ b/vitest.config.base.mts @@ -0,0 +1,20 @@ +import type { ViteUserConfig } from 'vitest/config'; + +export const vitestBaseConfig = { + test: { + coverage: { + extension: ['.ts', '.tsx', '.js', '.jsx'], + include: ['src'], + reporter: [ + ['lcov'], + process.env.GITHUB_ACTIONS ? ['text-summary'] : ['none'], + ], + }, + globals: true, + reporters: process.env.GITHUB_ACTIONS + ? [['github-actions'], ['verbose']] + : [['verbose']], + setupFiles: ['console-fail-test/setup'], + watch: false, + }, +} as const satisfies ViteUserConfig; diff --git a/vitest.config.mts b/vitest.config.mts new file mode 100644 index 000000000000..7d3e2c751551 --- /dev/null +++ b/vitest.config.mts @@ -0,0 +1,21 @@ +import { defaultExclude, defineConfig, mergeConfig } from 'vitest/config'; + +import { vitestBaseConfig } from './vitest.config.base.mjs'; + +const vitestConfig = mergeConfig( + vitestBaseConfig, + + defineConfig({ + test: { + exclude: [ + ...defaultExclude, + 'packages/rule-tester/tests/eslint-base/eslint-base.test.js', + ], + name: 'root', + + root: import.meta.dirname, + }, + }), +); + +export default vitestConfig; diff --git a/yarn.lock b/yarn.lock index c528b9f40fa7..c269fdb3bed9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4255,6 +4255,24 @@ __metadata: languageName: node linkType: hard +"@nx/vite@npm:20.4.5": + version: 20.4.5 + resolution: "@nx/vite@npm:20.4.5" + dependencies: + "@nx/devkit": 20.4.5 + "@nx/js": 20.4.5 + "@phenomnomnominal/tsquery": ~5.0.1 + "@swc/helpers": ~0.5.0 + enquirer: ~2.3.6 + minimatch: 9.0.3 + tsconfig-paths: ^4.1.2 + peerDependencies: + vite: ^5.0.0 + vitest: ^1.3.1 || ^2.0.0 + checksum: dec9ab2e0d89d7dd1e2b1d1fda634c566facb954180300db777941a9bbaabb9cd13c3126a2880627ec087494df73fae7e721f60d7842e80c07fc8df237f2bb17 + languageName: node + linkType: hard + "@nx/workspace@npm:20.4.5": version: 20.4.5 resolution: "@nx/workspace@npm:20.4.5" @@ -5139,6 +5157,15 @@ __metadata: languageName: node linkType: hard +"@swc/helpers@npm:~0.5.0": + version: 0.5.15 + resolution: "@swc/helpers@npm:0.5.15" + dependencies: + tslib: ^2.8.0 + checksum: 1a9e0dbb792b2d1e0c914d69c201dbc96af3a0e6e6e8cf5a7f7d6a5d7b0e8b762915cd4447acb6b040e2ecc1ed49822875a7239f99a2d63c96c3c3407fb6fccf + languageName: node + linkType: hard + "@swc/jest@npm:^0.2.36": version: 0.2.36 resolution: "@swc/jest@npm:0.2.36" @@ -6042,6 +6069,7 @@ __metadata: "@nx/devkit": 20.4.5 "@nx/eslint": 20.4.5 "@nx/jest": 20.4.5 + "@nx/vite": 20.4.5 "@nx/workspace": 20.4.5 "@swc/core": ^1.4.12 "@swc/jest": ^0.2.36 @@ -6065,6 +6093,7 @@ __metadata: "@typescript-eslint/typescript-estree": "workspace:^" "@typescript-eslint/utils": "workspace:^" "@vitest/coverage-v8": ^3.0.7 + "@vitest/eslint-plugin": ^1.1.36 console-fail-test: ^0.5.0 cross-fetch: ^4.0.0 cspell: ^8.15.2 @@ -6100,6 +6129,7 @@ __metadata: tsx: "*" typescript: ">=4.8.4 <5.9.0" typescript-eslint: "workspace:^" + vite: ^6.2.0 vitest: ^3.0.7 yargs: 17.7.2 languageName: unknown @@ -6227,6 +6257,23 @@ __metadata: languageName: node linkType: hard +"@vitest/eslint-plugin@npm:^1.1.36": + version: 1.1.36 + resolution: "@vitest/eslint-plugin@npm:1.1.36" + peerDependencies: + "@typescript-eslint/utils": ^8.24.0 + eslint: ">= 8.57.0" + typescript: ">= 5.0.0" + vitest: "*" + peerDependenciesMeta: + typescript: + optional: true + vitest: + optional: true + checksum: 799db5753310124b289e09635a266857bcae003822c4da49a60891f52fea78c4b89f3754c20d9a0a5e963e7ba975acf4633cf19eafa0806fa08d059466232887 + languageName: node + linkType: hard + "@vitest/expect@npm:3.0.7": version: 3.0.7 resolution: "@vitest/expect@npm:3.0.7" @@ -19915,7 +19962,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.3, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.6.0, tslib@npm:^2.6.2": +"tslib@npm:^2.0.3, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.6.0, tslib@npm:^2.6.2, tslib@npm:^2.8.0": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: e4aba30e632b8c8902b47587fd13345e2827fa639e7c3121074d5ee0880723282411a8838f830b55100cbe4517672f84a2472667d355b81e8af165a55dc6203a @@ -20569,7 +20616,7 @@ __metadata: languageName: node linkType: hard -"vite@npm:^5.0.0 || ^6.0.0": +"vite@npm:^5.0.0 || ^6.0.0, vite@npm:^6.2.0": version: 6.2.0 resolution: "vite@npm:6.2.0" dependencies: From 3609bedda1a23c2b428a52396418b95045c03714 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Fri, 7 Mar 2025 07:52:17 -0600 Subject: [PATCH 04/17] Update `vitest` to version 3.0.8 --- package.json | 6 +- packages/typescript-eslint/package.json | 4 +- yarn.lock | 136 ++++++++++++------------ 3 files changed, 73 insertions(+), 73 deletions(-) diff --git a/package.json b/package.json index 1f285605b964..f3d1a276776e 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,7 @@ "@typescript-eslint/types": "workspace:^", "@typescript-eslint/typescript-estree": "workspace:^", "@typescript-eslint/utils": "workspace:^", - "@vitest/coverage-v8": "^3.0.7", + "@vitest/coverage-v8": "^3.0.8", "@vitest/eslint-plugin": "^1.1.36", "console-fail-test": "^0.5.0", "cross-fetch": "^4.0.0", @@ -126,8 +126,8 @@ "tsx": "*", "typescript": ">=4.8.4 <5.9.0", "typescript-eslint": "workspace:^", - "vite": "^6.2.0", - "vitest": "^3.0.7", + "vite": "^6.2.1", + "vitest": "^3.0.8", "yargs": "17.7.2" }, "resolutions": { diff --git a/packages/typescript-eslint/package.json b/packages/typescript-eslint/package.json index 8ddaff5a8b0f..aaa10d5fed3d 100644 --- a/packages/typescript-eslint/package.json +++ b/packages/typescript-eslint/package.json @@ -62,12 +62,12 @@ "typescript": ">=4.8.4 <5.9.0" }, "devDependencies": { - "@vitest/coverage-v8": "^3.0.7", + "@vitest/coverage-v8": "^3.0.8", "downlevel-dts": "*", "prettier": "^3.2.5", "rimraf": "*", "typescript": "*", - "vitest": "^3.0.7" + "vitest": "^3.0.8" }, "funding": { "type": "opencollective", diff --git a/yarn.lock b/yarn.lock index c269fdb3bed9..d012b3e34e3a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6092,7 +6092,7 @@ __metadata: "@typescript-eslint/types": "workspace:^" "@typescript-eslint/typescript-estree": "workspace:^" "@typescript-eslint/utils": "workspace:^" - "@vitest/coverage-v8": ^3.0.7 + "@vitest/coverage-v8": ^3.0.8 "@vitest/eslint-plugin": ^1.1.36 console-fail-test: ^0.5.0 cross-fetch: ^4.0.0 @@ -6129,8 +6129,8 @@ __metadata: tsx: "*" typescript: ">=4.8.4 <5.9.0" typescript-eslint: "workspace:^" - vite: ^6.2.0 - vitest: ^3.0.7 + vite: ^6.2.1 + vitest: ^3.0.8 yargs: 17.7.2 languageName: unknown linkType: soft @@ -6231,9 +6231,9 @@ __metadata: languageName: node linkType: hard -"@vitest/coverage-v8@npm:^3.0.7": - version: 3.0.7 - resolution: "@vitest/coverage-v8@npm:3.0.7" +"@vitest/coverage-v8@npm:^3.0.8": + version: 3.0.8 + resolution: "@vitest/coverage-v8@npm:3.0.8" dependencies: "@ampproject/remapping": ^2.3.0 "@bcoe/v8-coverage": ^1.0.2 @@ -6248,12 +6248,12 @@ __metadata: test-exclude: ^7.0.1 tinyrainbow: ^2.0.0 peerDependencies: - "@vitest/browser": 3.0.7 - vitest: 3.0.7 + "@vitest/browser": 3.0.8 + vitest: 3.0.8 peerDependenciesMeta: "@vitest/browser": optional: true - checksum: 46c5eb628bb1b77a3b6dc6cbf0c3968721fa5cbf9b01919f8e01252d239560a54c94797337e859a63cdf0f6606a8ad26f96c832f6b2c667890e0e026d44a4780 + checksum: 6b3f0f86f8df895f9d4e3978b11303cada2425452177b70e9b2c19fe5a56e2f5d075b7760de4d856406daa3d9f22c173145664cad75677f4085c63e290071e65 languageName: node linkType: hard @@ -6274,23 +6274,23 @@ __metadata: languageName: node linkType: hard -"@vitest/expect@npm:3.0.7": - version: 3.0.7 - resolution: "@vitest/expect@npm:3.0.7" +"@vitest/expect@npm:3.0.8": + version: 3.0.8 + resolution: "@vitest/expect@npm:3.0.8" dependencies: - "@vitest/spy": 3.0.7 - "@vitest/utils": 3.0.7 + "@vitest/spy": 3.0.8 + "@vitest/utils": 3.0.8 chai: ^5.2.0 tinyrainbow: ^2.0.0 - checksum: 788ead8ec0876a15bcd51eba8b5e0bc4c95e07205192096c0e33328992c351a7569b32ea2f948dbfc7b5482f301e6d505cde639ead2e80ffc9f0d683714b1bfa + checksum: f3356755ff797f763d31cd6dca5a9ca9e2bb9a9da18e3154659cf9d4b7676342c45bce53e8aa76464d28797bd9a4aa7fa75a76857927706007cbe5385522fd56 languageName: node linkType: hard -"@vitest/mocker@npm:3.0.7": - version: 3.0.7 - resolution: "@vitest/mocker@npm:3.0.7" +"@vitest/mocker@npm:3.0.8": + version: 3.0.8 + resolution: "@vitest/mocker@npm:3.0.8" dependencies: - "@vitest/spy": 3.0.7 + "@vitest/spy": 3.0.8 estree-walker: ^3.0.3 magic-string: ^0.30.17 peerDependencies: @@ -6301,57 +6301,57 @@ __metadata: optional: true vite: optional: true - checksum: 057fe03ab4f9ef40f5431a375dc812da8face4f6c6045c817402bcd0739992ff1d31de080d8ac8c4122f792b2d27c4c04a4e4e872a04c3ba2b1517bc78430130 + checksum: 9769160ca5386cc46cd627bc654168f8267b873dac078bdd33e02f22baf3be2b411f65a7cd54173756a9d88ca90c43bb61e1febc58b4dcbfc96eac529ec0583a languageName: node linkType: hard -"@vitest/pretty-format@npm:3.0.7, @vitest/pretty-format@npm:^3.0.7": - version: 3.0.7 - resolution: "@vitest/pretty-format@npm:3.0.7" +"@vitest/pretty-format@npm:3.0.8, @vitest/pretty-format@npm:^3.0.8": + version: 3.0.8 + resolution: "@vitest/pretty-format@npm:3.0.8" dependencies: tinyrainbow: ^2.0.0 - checksum: 5209282b26f57fa4bd918cba2265c34e161120f2fabc2987b0b77fb9a402a12cc5591d4e42689fcbdde5e2e1804cafc96e4e338d5b9d8b35ccbabd4cee7c8e81 + checksum: 1c0651979b44d58203b5a508e4e09d368ea3fbf2721fc555a701a7b35921b30fc363965686e026350d0870b17fb79ddcb20d386b8a51ae42bd0e82e1fe995aa9 languageName: node linkType: hard -"@vitest/runner@npm:3.0.7": - version: 3.0.7 - resolution: "@vitest/runner@npm:3.0.7" +"@vitest/runner@npm:3.0.8": + version: 3.0.8 + resolution: "@vitest/runner@npm:3.0.8" dependencies: - "@vitest/utils": 3.0.7 + "@vitest/utils": 3.0.8 pathe: ^2.0.3 - checksum: 980dd31c54b5b83e8ddc27d416999f3a8170abf3d836b2fb34a6730f942c53ad819399904bd46ea4bb89b4b0f3d0a793c135b3b83d70852859cbcad10111ae22 + checksum: 220449385e2064be48cc75ad74824e008c4ac493d6b5422433cf4ad67745802a69e55e8b81a5cd7615243e1c33f148ea5edb63b9a2b56e7c83838143a188abcc languageName: node linkType: hard -"@vitest/snapshot@npm:3.0.7": - version: 3.0.7 - resolution: "@vitest/snapshot@npm:3.0.7" +"@vitest/snapshot@npm:3.0.8": + version: 3.0.8 + resolution: "@vitest/snapshot@npm:3.0.8" dependencies: - "@vitest/pretty-format": 3.0.7 + "@vitest/pretty-format": 3.0.8 magic-string: ^0.30.17 pathe: ^2.0.3 - checksum: d516bd7b04ba34726c57f1da7779165dbd376260f856a43254a4220ea6d040606440433583234de7282e0ec24fb7f6025d2a4f7688e2daebe75ed0afcd77d44c + checksum: 1bccaf37de698a6b73a54afdcbfa2874f75bf0dcab6c00f01994294f166448856491ddaddb406325832ceb54b7623b5c35d132dbffad5575d3e0a7a0df84fa12 languageName: node linkType: hard -"@vitest/spy@npm:3.0.7": - version: 3.0.7 - resolution: "@vitest/spy@npm:3.0.7" +"@vitest/spy@npm:3.0.8": + version: 3.0.8 + resolution: "@vitest/spy@npm:3.0.8" dependencies: tinyspy: ^3.0.2 - checksum: f62537dc2632ed20464c017ca2feeb18bf2edd653bb1f6cd69ec5e6b52bb3803b1a601ca56777b0c463ce8d960294a0db9198c106dd6048d48ee5e7d09eaba59 + checksum: 2e35b0fb0434baff243b26ebf4b57665b07e6f51efedd70ebb9422cd30942893612f6aed68c32956212f3f22d4ef335ac0d12987480d536c12892e0a45255f34 languageName: node linkType: hard -"@vitest/utils@npm:3.0.7": - version: 3.0.7 - resolution: "@vitest/utils@npm:3.0.7" +"@vitest/utils@npm:3.0.8": + version: 3.0.8 + resolution: "@vitest/utils@npm:3.0.8" dependencies: - "@vitest/pretty-format": 3.0.7 + "@vitest/pretty-format": 3.0.8 loupe: ^3.1.3 tinyrainbow: ^2.0.0 - checksum: 1a90d3444f9990484e6196d7cc1ceb0fcd8ca587319c0307d2e838f038ec45b7a711f8a76cbfb512fe13c6c3691e1d39d1d69158e27432724ec62b308e17f6e9 + checksum: 20bac67702c8f32316dba3af165db23bd588913050cabaf8f86512a26389078c84eee7900dc2da2fcca452c540f8a55c42dd48a8cc808016a021f6dd41c1e31f languageName: node linkType: hard @@ -20162,12 +20162,12 @@ __metadata: "@typescript-eslint/eslint-plugin": 8.26.0 "@typescript-eslint/parser": 8.26.0 "@typescript-eslint/utils": 8.26.0 - "@vitest/coverage-v8": ^3.0.7 + "@vitest/coverage-v8": ^3.0.8 downlevel-dts: "*" prettier: ^3.2.5 rimraf: "*" typescript: "*" - vitest: ^3.0.7 + vitest: ^3.0.8 peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" @@ -20601,9 +20601,9 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:3.0.7": - version: 3.0.7 - resolution: "vite-node@npm:3.0.7" +"vite-node@npm:3.0.8": + version: 3.0.8 + resolution: "vite-node@npm:3.0.8" dependencies: cac: ^6.7.14 debug: ^4.4.0 @@ -20612,13 +20612,13 @@ __metadata: vite: ^5.0.0 || ^6.0.0 bin: vite-node: vite-node.mjs - checksum: 90a3dd0e1b620cdf0c20272739cd1035af20c9b7606c1a093b3368b2c7c59cfd2327c27faabfbc9b293ae5d9a3318aeb40a2a974fe42807167e4cec625d9759e + checksum: 58532ba5bab923dedad7c28fb8b37afc4ef009a8b62dde31f38919958bc3cd47d580b56ad82f321873c3d0d67e691a8eac10c26b06c70843eb357ed2105a44c2 languageName: node linkType: hard -"vite@npm:^5.0.0 || ^6.0.0, vite@npm:^6.2.0": - version: 6.2.0 - resolution: "vite@npm:6.2.0" +"vite@npm:^5.0.0 || ^6.0.0, vite@npm:^6.2.1": + version: 6.2.1 + resolution: "vite@npm:6.2.1" dependencies: esbuild: ^0.25.0 fsevents: ~2.3.3 @@ -20664,21 +20664,21 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 0f2b6232fe94184885dd025609995874ac75279a85596a4053a283bd8bd0391f8ed3e7efb3e8f94073811a2b237c626e850990b04d2c7a1dc33f05d150f36bcd + checksum: d7379a9870c888681f7e4a861095e7f568ecd4cb99a5eed2dec65dc205ce863783d45c66a1a275868e23732087009533eadec999061c1ddef96aa8aaa0dcf6d2 languageName: node linkType: hard -"vitest@npm:^3.0.7": - version: 3.0.7 - resolution: "vitest@npm:3.0.7" - dependencies: - "@vitest/expect": 3.0.7 - "@vitest/mocker": 3.0.7 - "@vitest/pretty-format": ^3.0.7 - "@vitest/runner": 3.0.7 - "@vitest/snapshot": 3.0.7 - "@vitest/spy": 3.0.7 - "@vitest/utils": 3.0.7 +"vitest@npm:^3.0.8": + version: 3.0.8 + resolution: "vitest@npm:3.0.8" + dependencies: + "@vitest/expect": 3.0.8 + "@vitest/mocker": 3.0.8 + "@vitest/pretty-format": ^3.0.8 + "@vitest/runner": 3.0.8 + "@vitest/snapshot": 3.0.8 + "@vitest/spy": 3.0.8 + "@vitest/utils": 3.0.8 chai: ^5.2.0 debug: ^4.4.0 expect-type: ^1.1.0 @@ -20690,14 +20690,14 @@ __metadata: tinypool: ^1.0.2 tinyrainbow: ^2.0.0 vite: ^5.0.0 || ^6.0.0 - vite-node: 3.0.7 + vite-node: 3.0.8 why-is-node-running: ^2.3.0 peerDependencies: "@edge-runtime/vm": "*" "@types/debug": ^4.1.12 "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 - "@vitest/browser": 3.0.7 - "@vitest/ui": 3.0.7 + "@vitest/browser": 3.0.8 + "@vitest/ui": 3.0.8 happy-dom: "*" jsdom: "*" peerDependenciesMeta: @@ -20717,7 +20717,7 @@ __metadata: optional: true bin: vitest: vitest.mjs - checksum: f384103ce5fdd5f0e4e3fbbb8e015ce887f1af6399a31a4fb8906407a6f4925b2e1708caba014c81f1c4a59627e944a65c7dc4de2819e7fe0b044796c57630ae + checksum: e4786f6127a261d61fec20c1a9cc2acae514696fc382d0cd9c62d83d7d872eaadf4d7d09495a04a6c5a8879306f197a35729c7c6c1929ef870ea063e4be87847 languageName: node linkType: hard From 65238e0881ad315b48b6d6ad5dd68cc79d43db70 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Fri, 7 Mar 2025 07:52:29 -0600 Subject: [PATCH 05/17] Remove `vitest/no-done-callback` as it is deprecated. --- eslint.config.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 312ac2f15b2a..2dc9ad95fef0 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -435,7 +435,6 @@ export default tseslint.config( '@typescript-eslint/no-unsafe-return': 'off', 'vitest/no-alias-methods': 'error', 'vitest/no-disabled-tests': 'error', - 'vitest/no-done-callback': 'error', 'vitest/no-focused-tests': 'error', 'vitest/no-identical-title': 'error', 'vitest/no-test-prefixes': 'error', From 1ed63ff2c8cebeb1dec62388af99dc87e01ef526 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Fri, 7 Mar 2025 07:53:15 -0600 Subject: [PATCH 06/17] Fix Vitest config --- packages/typescript-eslint/package.json | 2 +- packages/typescript-eslint/project.json | 3 +++ packages/typescript-eslint/vitest.config.mts | 3 ++- vitest.config.base.mts | 7 ++++++ vitest.config.mts | 23 +++++++++++++++----- 5 files changed, 31 insertions(+), 7 deletions(-) diff --git a/packages/typescript-eslint/package.json b/packages/typescript-eslint/package.json index aaa10d5fed3d..4f5bd371d692 100644 --- a/packages/typescript-eslint/package.json +++ b/packages/typescript-eslint/package.json @@ -49,7 +49,7 @@ "postclean": "rimraf dist/ _ts4.3/ coverage/", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", "lint": "nx lint", - "test": "vitest --run", + "test": "vitest --run --config=$INIT_CWD/vitest.config.mts", "check-types": "npx nx typecheck" }, "dependencies": { diff --git a/packages/typescript-eslint/project.json b/packages/typescript-eslint/project.json index a00bbb01577c..121581ef2b13 100644 --- a/packages/typescript-eslint/project.json +++ b/packages/typescript-eslint/project.json @@ -8,6 +8,9 @@ "lint": { "executor": "@nx/eslint:lint", "outputs": ["{options.outputFile}"] + }, + "test": { + "executor": "@nx/vite:test" } } } diff --git a/packages/typescript-eslint/vitest.config.mts b/packages/typescript-eslint/vitest.config.mts index c803e1d1c1ee..e21dd5ce76f0 100644 --- a/packages/typescript-eslint/vitest.config.mts +++ b/packages/typescript-eslint/vitest.config.mts @@ -1,3 +1,4 @@ +import * as path from 'node:path'; import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestBaseConfig } from '../../vitest.config.base.mjs'; @@ -8,7 +9,7 @@ const vitestConfig = mergeConfig( defineConfig({ test: { - dir: `${import.meta.dirname}/tests`, + dir: path.join(import.meta.dirname, 'tests'), name: packageJson.name, root: import.meta.dirname, }, diff --git a/vitest.config.base.mts b/vitest.config.base.mts index 2a84af748ada..fa54b0c82d8e 100644 --- a/vitest.config.base.mts +++ b/vitest.config.base.mts @@ -1,8 +1,11 @@ import type { ViteUserConfig } from 'vitest/config'; +import { coverageConfigDefaults } from 'vitest/config'; + export const vitestBaseConfig = { test: { coverage: { + exclude: [...coverageConfigDefaults.exclude, '**/fixtures/'], extension: ['.ts', '.tsx', '.js', '.jsx'], include: ['src'], reporter: [ @@ -11,10 +14,14 @@ export const vitestBaseConfig = { ], }, globals: true, + include: ['**/*.test.?(c|m)ts?(x)'], reporters: process.env.GITHUB_ACTIONS ? [['github-actions'], ['verbose']] : [['verbose']], setupFiles: ['console-fail-test/setup'], + typecheck: { + include: ['**/*.test-d.?(c|m)ts?(x)'], + }, watch: false, }, } as const satisfies ViteUserConfig; diff --git a/vitest.config.mts b/vitest.config.mts index 7d3e2c751551..0351e652cf35 100644 --- a/vitest.config.mts +++ b/vitest.config.mts @@ -1,4 +1,5 @@ -import { defaultExclude, defineConfig, mergeConfig } from 'vitest/config'; +import * as path from 'node:path'; +import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestBaseConfig } from './vitest.config.base.mjs'; @@ -7,13 +8,25 @@ const vitestConfig = mergeConfig( defineConfig({ test: { - exclude: [ - ...defaultExclude, - 'packages/rule-tester/tests/eslint-base/eslint-base.test.js', - ], + coverage: { + exclude: [ + 'packages/{website?(-eslint),?(rule-schema-to-typescript-)types}/src', + 'packages/ast-spec/src/**/fixtures', + ], + + include: ['packages/*/src'], + }, + + dir: path.join(import.meta.dirname, 'packages'), + name: 'root', root: import.meta.dirname, + + workspace: [ + 'packages/*/vitest.config.mts', + '!packages/{website?(-eslint),?(rule-schema-to-typescript-)types}/vitest.config.mts', + ], }, }), ); From fc07af118abbc4c6bc42479112d4242a2d532ac1 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Sat, 8 Mar 2025 03:12:44 -0600 Subject: [PATCH 07/17] Include `vitest.config.mts` in `tsconfig.spec.json` --- packages/typescript-eslint/tsconfig.spec.json | 10 +++++++++- packages/typescript-estree/tsconfig.spec.json | 1 + tsconfig.base.json | 3 ++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/typescript-eslint/tsconfig.spec.json b/packages/typescript-eslint/tsconfig.spec.json index 47f4075e0f14..fd3f8ddfca32 100644 --- a/packages/typescript-eslint/tsconfig.spec.json +++ b/packages/typescript-eslint/tsconfig.spec.json @@ -5,7 +5,15 @@ "module": "NodeNext", "types": ["node", "vitest/globals", "vitest/importMeta"] }, - "include": ["src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts", "tests"], + "include": [ + "../../vitest.config.base.mts", + "vitest.config.mts", + "package.json", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.d.ts", + "tests" + ], "exclude": ["**/fixtures/**"], "references": [ { diff --git a/packages/typescript-estree/tsconfig.spec.json b/packages/typescript-estree/tsconfig.spec.json index 5ab0499df71e..0ebfae73f2b1 100644 --- a/packages/typescript-estree/tsconfig.spec.json +++ b/packages/typescript-estree/tsconfig.spec.json @@ -8,6 +8,7 @@ }, "include": [ "jest.config.js", + "../../package.json", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts", diff --git a/tsconfig.base.json b/tsconfig.base.json index 0891cd26d2bd..cac35772e97e 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -21,7 +21,8 @@ "noImplicitReturns": true, "pretty": true, "removeComments": false, - "resolveJsonModule": false, + "resolveJsonModule": true, + "rootDir": "./", "skipDefaultLibCheck": false, "skipLibCheck": true, "sourceMap": false, From 69caafba1c8149459177d147ca6eee96b301442b Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Sat, 8 Mar 2025 03:56:19 -0600 Subject: [PATCH 08/17] Add `vitest.config.mts` files to ESLint configuration --- eslint.config.mjs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 2dc9ad95fef0..02a4460f740f 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -72,7 +72,6 @@ export default tseslint.config( '.nx/', '.yarn/', '**/jest.config.js', - '**/vitest.config.mts', '**/node_modules/**', '**/dist/**', '**/fixtures/**', @@ -476,7 +475,13 @@ export default tseslint.config( }, }, { - files: ['eslint.config.{js,cjs,mjs}', 'knip.ts', 'packages/*/src/index.ts'], + files: [ + 'eslint.config.{js,cjs,mjs}', + 'knip.ts', + 'packages/*/src/index.ts', + 'vitest.config.mts', + 'packages/*/vitest.config.mts', + ], rules: { // requirement 'import/no-default-export': 'off', From ca31d4ea0741dd5961d5a79c311265dedbd4fed7 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Mon, 10 Mar 2025 06:11:45 -0500 Subject: [PATCH 09/17] Use `defineProject` instead of `defineConfig` --- packages/typescript-eslint/vitest.config.mts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/typescript-eslint/vitest.config.mts b/packages/typescript-eslint/vitest.config.mts index e21dd5ce76f0..51c570c5a489 100644 --- a/packages/typescript-eslint/vitest.config.mts +++ b/packages/typescript-eslint/vitest.config.mts @@ -1,5 +1,5 @@ import * as path from 'node:path'; -import { defineConfig, mergeConfig } from 'vitest/config'; +import { defineProject, mergeConfig } from 'vitest/config'; import { vitestBaseConfig } from '../../vitest.config.base.mjs'; import packageJson from './package.json' with { type: 'json' }; @@ -7,7 +7,7 @@ import packageJson from './package.json' with { type: 'json' }; const vitestConfig = mergeConfig( vitestBaseConfig, - defineConfig({ + defineProject({ test: { dir: path.join(import.meta.dirname, 'tests'), name: packageJson.name, From 19ebf4bb4c4bfced88473bbeb65d20ab26370d8c Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Mon, 10 Mar 2025 06:42:59 -0500 Subject: [PATCH 10/17] Simplify `workspace` and `coverage.exclude` --- vitest.config.base.mts | 6 ++++++ vitest.config.mts | 12 ++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/vitest.config.base.mts b/vitest.config.base.mts index fa54b0c82d8e..98b46cdb5033 100644 --- a/vitest.config.base.mts +++ b/vitest.config.base.mts @@ -8,20 +8,26 @@ export const vitestBaseConfig = { exclude: [...coverageConfigDefaults.exclude, '**/fixtures/'], extension: ['.ts', '.tsx', '.js', '.jsx'], include: ['src'], + reporter: [ ['lcov'], process.env.GITHUB_ACTIONS ? ['text-summary'] : ['none'], ], }, + globals: true, include: ['**/*.test.?(c|m)ts?(x)'], + reporters: process.env.GITHUB_ACTIONS ? [['github-actions'], ['verbose']] : [['verbose']], + setupFiles: ['console-fail-test/setup'], + typecheck: { include: ['**/*.test-d.?(c|m)ts?(x)'], }, + watch: false, }, } as const satisfies ViteUserConfig; diff --git a/vitest.config.mts b/vitest.config.mts index 0351e652cf35..3e53a620d008 100644 --- a/vitest.config.mts +++ b/vitest.config.mts @@ -10,7 +10,10 @@ const vitestConfig = mergeConfig( test: { coverage: { exclude: [ - 'packages/{website?(-eslint),?(rule-schema-to-typescript-)types}/src', + 'packages/website/src', + 'packages/website-eslint/src', + 'packages/rule-schema-to-typescript-types/src', + 'packages/types/src', 'packages/ast-spec/src/**/fixtures', ], @@ -18,14 +21,15 @@ const vitestConfig = mergeConfig( }, dir: path.join(import.meta.dirname, 'packages'), - name: 'root', - root: import.meta.dirname, workspace: [ 'packages/*/vitest.config.mts', - '!packages/{website?(-eslint),?(rule-schema-to-typescript-)types}/vitest.config.mts', + '!packages/website/vitest.config.mts', + '!packages/website-eslint/vitest.config.mts', + '!packages/rule-schema-to-typescript-types/vitest.config.mts', + '!packages/types/vitest.config.mts', ], }, }), From 56b2de30926fb1b197454e73ea8e952a5b8738d8 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Mon, 10 Mar 2025 06:48:07 -0500 Subject: [PATCH 11/17] Explicitly enable `resolveJsonModule` --- packages/typescript-eslint/tsconfig.spec.json | 1 + tsconfig.base.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/typescript-eslint/tsconfig.spec.json b/packages/typescript-eslint/tsconfig.spec.json index fd3f8ddfca32..7950b0d24d73 100644 --- a/packages/typescript-eslint/tsconfig.spec.json +++ b/packages/typescript-eslint/tsconfig.spec.json @@ -3,6 +3,7 @@ "compilerOptions": { "outDir": "../../dist/out-tsc/packages/typescript-eslint", "module": "NodeNext", + "resolveJsonModule": true, "types": ["node", "vitest/globals", "vitest/importMeta"] }, "include": [ diff --git a/tsconfig.base.json b/tsconfig.base.json index cac35772e97e..8f80694b00b0 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -21,7 +21,7 @@ "noImplicitReturns": true, "pretty": true, "removeComments": false, - "resolveJsonModule": true, + "resolveJsonModule": false, "rootDir": "./", "skipDefaultLibCheck": false, "skipLibCheck": true, From bb28ba4ffbb84dccfd55147bd894c3a45aae7994 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Mon, 10 Mar 2025 08:45:38 -0500 Subject: [PATCH 12/17] Type check `vitest.config.mts` files using project references. --- packages/ast-spec/project.json | 3 +++ packages/typescript-eslint/tsconfig.spec.json | 4 +++- packages/typescript-estree/tsconfig.spec.json | 1 - project.json | 3 ++- tsconfig.base.json | 1 - tsconfig.repo-config-files.json | 6 +++++- 6 files changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/ast-spec/project.json b/packages/ast-spec/project.json index f726b2e798f7..bb045ad1f6be 100644 --- a/packages/ast-spec/project.json +++ b/packages/ast-spec/project.json @@ -15,6 +15,9 @@ "lint": { "executor": "@nx/eslint:lint", "outputs": ["{options.outputFile}"] + }, + "typecheck": { + "dependsOn": ["typescript-estree:build"] } } } diff --git a/packages/typescript-eslint/tsconfig.spec.json b/packages/typescript-eslint/tsconfig.spec.json index 7950b0d24d73..0e823121a963 100644 --- a/packages/typescript-eslint/tsconfig.spec.json +++ b/packages/typescript-eslint/tsconfig.spec.json @@ -7,7 +7,6 @@ "types": ["node", "vitest/globals", "vitest/importMeta"] }, "include": [ - "../../vitest.config.base.mts", "vitest.config.mts", "package.json", "src/**/*.test.ts", @@ -19,6 +18,9 @@ "references": [ { "path": "./tsconfig.build.json" + }, + { + "path": "../../tsconfig.repo-config-files.json" } ] } diff --git a/packages/typescript-estree/tsconfig.spec.json b/packages/typescript-estree/tsconfig.spec.json index 0ebfae73f2b1..5ab0499df71e 100644 --- a/packages/typescript-estree/tsconfig.spec.json +++ b/packages/typescript-estree/tsconfig.spec.json @@ -8,7 +8,6 @@ }, "include": [ "jest.config.js", - "../../package.json", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts", diff --git a/project.json b/project.json index 766cb5ca8849..4152bbb4fc71 100644 --- a/project.json +++ b/project.json @@ -4,7 +4,8 @@ "// These targets are used for repo level utils and checking repo files which do not belong to specific published packages": {}, "targets": { "typecheck": { - "command": "tsc -b ./tsconfig.repo-config-files.json" + "command": "tsc -b ./tsconfig.repo-config-files.json", + "dependsOn": ["typescript-eslint:build"] }, "lint": { "command": "eslint . --ignore-pattern=packages --cache" diff --git a/tsconfig.base.json b/tsconfig.base.json index 8f80694b00b0..0891cd26d2bd 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -22,7 +22,6 @@ "pretty": true, "removeComments": false, "resolveJsonModule": false, - "rootDir": "./", "skipDefaultLibCheck": false, "skipLibCheck": true, "sourceMap": false, diff --git a/tsconfig.repo-config-files.json b/tsconfig.repo-config-files.json index 58efac7250b6..2b9ada215695 100644 --- a/tsconfig.repo-config-files.json +++ b/tsconfig.repo-config-files.json @@ -3,7 +3,6 @@ "compilerOptions": { "outDir": "dist/out-tsc/root/eslint", "types": ["@types/node"], - "noEmit": true, "allowJs": true, "allowImportingTsExtensions": true }, @@ -19,5 +18,10 @@ "jest.preset.js", "knip.ts", ".github/**/*.js" + ], + "references": [ + { + "path": "./packages/typescript-eslint/tsconfig.build.json" + } ] } From 04eea204078b357a318ad68888891af3db0788b4 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Mon, 10 Mar 2025 11:17:07 -0500 Subject: [PATCH 13/17] Fix `@nx/vite/plugin` usage in `nx.json` --- nx.json | 1 + 1 file changed, 1 insertion(+) diff --git a/nx.json b/nx.json index e94fa87429fa..e45c6788c9cc 100644 --- a/nx.json +++ b/nx.json @@ -17,6 +17,7 @@ }, { "plugin": "@nx/vite/plugin", + "include": ["packages/*"], "options": { "buildTargetName": "vite:build", "testTargetName": "test", From 0e758929d6f691207c36614727548e68c00d460b Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Mon, 10 Mar 2025 21:26:01 -0500 Subject: [PATCH 14/17] Update `@vitest/eslint-plugin` to version 1.1.37 --- package.json | 2 +- yarn.lock | 491 +++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 377 insertions(+), 116 deletions(-) diff --git a/package.json b/package.json index f3d1a276776e..baf718602a2f 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "@typescript-eslint/typescript-estree": "workspace:^", "@typescript-eslint/utils": "workspace:^", "@vitest/coverage-v8": "^3.0.8", - "@vitest/eslint-plugin": "^1.1.36", + "@vitest/eslint-plugin": "^1.1.37", "console-fail-test": "^0.5.0", "cross-fetch": "^4.0.0", "cspell": "^8.15.2", diff --git a/yarn.lock b/yarn.lock index f4e248869e01..00d7bae63554 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3048,6 +3048,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/aix-ppc64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/aix-ppc64@npm:0.25.1" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/android-arm64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/android-arm64@npm:0.20.2" @@ -3062,6 +3069,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/android-arm64@npm:0.25.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/android-arm@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/android-arm@npm:0.20.2" @@ -3076,6 +3090,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/android-arm@npm:0.25.1" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@esbuild/android-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/android-x64@npm:0.20.2" @@ -3090,6 +3111,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-x64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/android-x64@npm:0.25.1" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + "@esbuild/darwin-arm64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/darwin-arm64@npm:0.20.2" @@ -3104,6 +3132,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-arm64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/darwin-arm64@npm:0.25.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/darwin-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/darwin-x64@npm:0.20.2" @@ -3118,6 +3153,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-x64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/darwin-x64@npm:0.25.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@esbuild/freebsd-arm64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/freebsd-arm64@npm:0.20.2" @@ -3132,6 +3174,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-arm64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/freebsd-arm64@npm:0.25.1" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/freebsd-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/freebsd-x64@npm:0.20.2" @@ -3146,6 +3195,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-x64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/freebsd-x64@npm:0.25.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/linux-arm64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-arm64@npm:0.20.2" @@ -3160,6 +3216,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/linux-arm64@npm:0.25.1" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/linux-arm@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-arm@npm:0.20.2" @@ -3174,6 +3237,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/linux-arm@npm:0.25.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@esbuild/linux-ia32@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-ia32@npm:0.20.2" @@ -3188,6 +3258,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ia32@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/linux-ia32@npm:0.25.1" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/linux-loong64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-loong64@npm:0.20.2" @@ -3202,6 +3279,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-loong64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/linux-loong64@npm:0.25.1" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + "@esbuild/linux-mips64el@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-mips64el@npm:0.20.2" @@ -3216,6 +3300,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-mips64el@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/linux-mips64el@npm:0.25.1" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + "@esbuild/linux-ppc64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-ppc64@npm:0.20.2" @@ -3230,6 +3321,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ppc64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/linux-ppc64@npm:0.25.1" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/linux-riscv64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-riscv64@npm:0.20.2" @@ -3244,6 +3342,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-riscv64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/linux-riscv64@npm:0.25.1" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + "@esbuild/linux-s390x@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-s390x@npm:0.20.2" @@ -3258,6 +3363,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-s390x@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/linux-s390x@npm:0.25.1" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + "@esbuild/linux-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-x64@npm:0.20.2" @@ -3272,6 +3384,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-x64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/linux-x64@npm:0.25.1" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + "@esbuild/netbsd-arm64@npm:0.25.0": version: 0.25.0 resolution: "@esbuild/netbsd-arm64@npm:0.25.0" @@ -3279,6 +3398,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-arm64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/netbsd-arm64@npm:0.25.1" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/netbsd-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/netbsd-x64@npm:0.20.2" @@ -3293,6 +3419,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-x64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/netbsd-x64@npm:0.25.1" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/openbsd-arm64@npm:0.25.0": version: 0.25.0 resolution: "@esbuild/openbsd-arm64@npm:0.25.0" @@ -3300,6 +3433,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-arm64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/openbsd-arm64@npm:0.25.1" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/openbsd-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/openbsd-x64@npm:0.20.2" @@ -3314,6 +3454,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-x64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/openbsd-x64@npm:0.25.1" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/sunos-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/sunos-x64@npm:0.20.2" @@ -3328,6 +3475,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/sunos-x64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/sunos-x64@npm:0.25.1" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + "@esbuild/win32-arm64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/win32-arm64@npm:0.20.2" @@ -3342,6 +3496,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-arm64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/win32-arm64@npm:0.25.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/win32-ia32@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/win32-ia32@npm:0.20.2" @@ -3356,6 +3517,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-ia32@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/win32-ia32@npm:0.25.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/win32-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/win32-x64@npm:0.20.2" @@ -3370,6 +3538,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-x64@npm:0.25.1": + version: 0.25.1 + resolution: "@esbuild/win32-x64@npm:0.25.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@eslint-community/eslint-plugin-eslint-comments@npm:^4.4.1": version: 4.4.1 resolution: "@eslint-community/eslint-plugin-eslint-comments@npm:4.4.1" @@ -4521,135 +4696,135 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.34.9" +"@rollup/rollup-android-arm-eabi@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.35.0" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-android-arm64@npm:4.34.9" +"@rollup/rollup-android-arm64@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-android-arm64@npm:4.35.0" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-darwin-arm64@npm:4.34.9" +"@rollup/rollup-darwin-arm64@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.35.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-darwin-x64@npm:4.34.9" +"@rollup/rollup-darwin-x64@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.35.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-freebsd-arm64@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.34.9" +"@rollup/rollup-freebsd-arm64@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.35.0" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-freebsd-x64@npm:4.34.9" +"@rollup/rollup-freebsd-x64@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-freebsd-x64@npm:4.35.0" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.34.9" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.35.0" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.34.9" +"@rollup/rollup-linux-arm-musleabihf@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.35.0" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.34.9" +"@rollup/rollup-linux-arm64-gnu@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.35.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.34.9" +"@rollup/rollup-linux-arm64-musl@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.35.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-loongarch64-gnu@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.34.9" +"@rollup/rollup-linux-loongarch64-gnu@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.35.0" conditions: os=linux & cpu=loong64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.34.9" +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.35.0" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.34.9" +"@rollup/rollup-linux-riscv64-gnu@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.35.0" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.34.9" +"@rollup/rollup-linux-s390x-gnu@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.35.0" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.34.9" +"@rollup/rollup-linux-x64-gnu@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.35.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.34.9" +"@rollup/rollup-linux-x64-musl@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.35.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.34.9" +"@rollup/rollup-win32-arm64-msvc@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.35.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.34.9" +"@rollup/rollup-win32-ia32-msvc@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.35.0" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.34.9": - version: 4.34.9 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.34.9" +"@rollup/rollup-win32-x64-msvc@npm:4.35.0": + version: 4.35.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.35.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -6093,7 +6268,7 @@ __metadata: "@typescript-eslint/typescript-estree": "workspace:^" "@typescript-eslint/utils": "workspace:^" "@vitest/coverage-v8": ^3.0.8 - "@vitest/eslint-plugin": ^1.1.36 + "@vitest/eslint-plugin": ^1.1.37 console-fail-test: ^0.5.0 cross-fetch: ^4.0.0 cspell: ^8.15.2 @@ -6257,9 +6432,9 @@ __metadata: languageName: node linkType: hard -"@vitest/eslint-plugin@npm:^1.1.36": - version: 1.1.36 - resolution: "@vitest/eslint-plugin@npm:1.1.36" +"@vitest/eslint-plugin@npm:^1.1.37": + version: 1.1.37 + resolution: "@vitest/eslint-plugin@npm:1.1.37" peerDependencies: "@typescript-eslint/utils": ^8.24.0 eslint: ">= 8.57.0" @@ -6270,7 +6445,7 @@ __metadata: optional: true vitest: optional: true - checksum: 799db5753310124b289e09635a266857bcae003822c4da49a60891f52fea78c4b89f3754c20d9a0a5e963e7ba975acf4633cf19eafa0806fa08d059466232887 + checksum: 697fec7491e943d08ee5169e00041597b56db2d9a27740639e9051b254f4115af423ea81ca47b6df5cf4ac5de9d651f43bc1f7be19731eedfce6a1262133fd9f languageName: node linkType: hard @@ -9829,35 +10004,35 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.25.0, esbuild@npm:~0.25.0": - version: 0.25.0 - resolution: "esbuild@npm:0.25.0" - dependencies: - "@esbuild/aix-ppc64": 0.25.0 - "@esbuild/android-arm": 0.25.0 - "@esbuild/android-arm64": 0.25.0 - "@esbuild/android-x64": 0.25.0 - "@esbuild/darwin-arm64": 0.25.0 - "@esbuild/darwin-x64": 0.25.0 - "@esbuild/freebsd-arm64": 0.25.0 - "@esbuild/freebsd-x64": 0.25.0 - "@esbuild/linux-arm": 0.25.0 - "@esbuild/linux-arm64": 0.25.0 - "@esbuild/linux-ia32": 0.25.0 - "@esbuild/linux-loong64": 0.25.0 - "@esbuild/linux-mips64el": 0.25.0 - "@esbuild/linux-ppc64": 0.25.0 - "@esbuild/linux-riscv64": 0.25.0 - "@esbuild/linux-s390x": 0.25.0 - "@esbuild/linux-x64": 0.25.0 - "@esbuild/netbsd-arm64": 0.25.0 - "@esbuild/netbsd-x64": 0.25.0 - "@esbuild/openbsd-arm64": 0.25.0 - "@esbuild/openbsd-x64": 0.25.0 - "@esbuild/sunos-x64": 0.25.0 - "@esbuild/win32-arm64": 0.25.0 - "@esbuild/win32-ia32": 0.25.0 - "@esbuild/win32-x64": 0.25.0 +"esbuild@npm:^0.25.0": + version: 0.25.1 + resolution: "esbuild@npm:0.25.1" + dependencies: + "@esbuild/aix-ppc64": 0.25.1 + "@esbuild/android-arm": 0.25.1 + "@esbuild/android-arm64": 0.25.1 + "@esbuild/android-x64": 0.25.1 + "@esbuild/darwin-arm64": 0.25.1 + "@esbuild/darwin-x64": 0.25.1 + "@esbuild/freebsd-arm64": 0.25.1 + "@esbuild/freebsd-x64": 0.25.1 + "@esbuild/linux-arm": 0.25.1 + "@esbuild/linux-arm64": 0.25.1 + "@esbuild/linux-ia32": 0.25.1 + "@esbuild/linux-loong64": 0.25.1 + "@esbuild/linux-mips64el": 0.25.1 + "@esbuild/linux-ppc64": 0.25.1 + "@esbuild/linux-riscv64": 0.25.1 + "@esbuild/linux-s390x": 0.25.1 + "@esbuild/linux-x64": 0.25.1 + "@esbuild/netbsd-arm64": 0.25.1 + "@esbuild/netbsd-x64": 0.25.1 + "@esbuild/openbsd-arm64": 0.25.1 + "@esbuild/openbsd-x64": 0.25.1 + "@esbuild/sunos-x64": 0.25.1 + "@esbuild/win32-arm64": 0.25.1 + "@esbuild/win32-ia32": 0.25.1 + "@esbuild/win32-x64": 0.25.1 dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -9911,7 +10086,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 4d1e0cb7c059a373ea3edb20ca5efcea29efada03e4ea82b2b8ab1f2f062e4791e9744213308775d26e07a0225a7d8250da93da5c8e07ef61bb93d58caab8cf9 + checksum: c84e209259273fca0f8ba7cd00974dfff53eb3fcce5ff0f987d8231a5b49f22c16fa954f0bf06f07b00bd368270d8274feb5a09d7d5dfae0891a47dda24455a2 languageName: node linkType: hard @@ -9995,6 +10170,92 @@ __metadata: languageName: node linkType: hard +"esbuild@npm:~0.25.0": + version: 0.25.0 + resolution: "esbuild@npm:0.25.0" + dependencies: + "@esbuild/aix-ppc64": 0.25.0 + "@esbuild/android-arm": 0.25.0 + "@esbuild/android-arm64": 0.25.0 + "@esbuild/android-x64": 0.25.0 + "@esbuild/darwin-arm64": 0.25.0 + "@esbuild/darwin-x64": 0.25.0 + "@esbuild/freebsd-arm64": 0.25.0 + "@esbuild/freebsd-x64": 0.25.0 + "@esbuild/linux-arm": 0.25.0 + "@esbuild/linux-arm64": 0.25.0 + "@esbuild/linux-ia32": 0.25.0 + "@esbuild/linux-loong64": 0.25.0 + "@esbuild/linux-mips64el": 0.25.0 + "@esbuild/linux-ppc64": 0.25.0 + "@esbuild/linux-riscv64": 0.25.0 + "@esbuild/linux-s390x": 0.25.0 + "@esbuild/linux-x64": 0.25.0 + "@esbuild/netbsd-arm64": 0.25.0 + "@esbuild/netbsd-x64": 0.25.0 + "@esbuild/openbsd-arm64": 0.25.0 + "@esbuild/openbsd-x64": 0.25.0 + "@esbuild/sunos-x64": 0.25.0 + "@esbuild/win32-arm64": 0.25.0 + "@esbuild/win32-ia32": 0.25.0 + "@esbuild/win32-x64": 0.25.0 + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-arm64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 4d1e0cb7c059a373ea3edb20ca5efcea29efada03e4ea82b2b8ab1f2f062e4791e9744213308775d26e07a0225a7d8250da93da5c8e07ef61bb93d58caab8cf9 + languageName: node + linkType: hard + "escalade@npm:^3.1.1, escalade@npm:^3.2.0": version: 3.2.0 resolution: "escalade@npm:3.2.0" @@ -18206,28 +18467,28 @@ __metadata: linkType: hard "rollup@npm:^4.30.1": - version: 4.34.9 - resolution: "rollup@npm:4.34.9" - dependencies: - "@rollup/rollup-android-arm-eabi": 4.34.9 - "@rollup/rollup-android-arm64": 4.34.9 - "@rollup/rollup-darwin-arm64": 4.34.9 - "@rollup/rollup-darwin-x64": 4.34.9 - "@rollup/rollup-freebsd-arm64": 4.34.9 - "@rollup/rollup-freebsd-x64": 4.34.9 - "@rollup/rollup-linux-arm-gnueabihf": 4.34.9 - "@rollup/rollup-linux-arm-musleabihf": 4.34.9 - "@rollup/rollup-linux-arm64-gnu": 4.34.9 - "@rollup/rollup-linux-arm64-musl": 4.34.9 - "@rollup/rollup-linux-loongarch64-gnu": 4.34.9 - "@rollup/rollup-linux-powerpc64le-gnu": 4.34.9 - "@rollup/rollup-linux-riscv64-gnu": 4.34.9 - "@rollup/rollup-linux-s390x-gnu": 4.34.9 - "@rollup/rollup-linux-x64-gnu": 4.34.9 - "@rollup/rollup-linux-x64-musl": 4.34.9 - "@rollup/rollup-win32-arm64-msvc": 4.34.9 - "@rollup/rollup-win32-ia32-msvc": 4.34.9 - "@rollup/rollup-win32-x64-msvc": 4.34.9 + version: 4.35.0 + resolution: "rollup@npm:4.35.0" + dependencies: + "@rollup/rollup-android-arm-eabi": 4.35.0 + "@rollup/rollup-android-arm64": 4.35.0 + "@rollup/rollup-darwin-arm64": 4.35.0 + "@rollup/rollup-darwin-x64": 4.35.0 + "@rollup/rollup-freebsd-arm64": 4.35.0 + "@rollup/rollup-freebsd-x64": 4.35.0 + "@rollup/rollup-linux-arm-gnueabihf": 4.35.0 + "@rollup/rollup-linux-arm-musleabihf": 4.35.0 + "@rollup/rollup-linux-arm64-gnu": 4.35.0 + "@rollup/rollup-linux-arm64-musl": 4.35.0 + "@rollup/rollup-linux-loongarch64-gnu": 4.35.0 + "@rollup/rollup-linux-powerpc64le-gnu": 4.35.0 + "@rollup/rollup-linux-riscv64-gnu": 4.35.0 + "@rollup/rollup-linux-s390x-gnu": 4.35.0 + "@rollup/rollup-linux-x64-gnu": 4.35.0 + "@rollup/rollup-linux-x64-musl": 4.35.0 + "@rollup/rollup-win32-arm64-msvc": 4.35.0 + "@rollup/rollup-win32-ia32-msvc": 4.35.0 + "@rollup/rollup-win32-x64-msvc": 4.35.0 "@types/estree": 1.0.6 fsevents: ~2.3.2 dependenciesMeta: @@ -18273,7 +18534,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: ed7a5e382de5fe872abffdab614b7f745cbed7328cf4ced560c4d09214b3d30e167f8c7df9e8b63489497bdf3a6be07a2474f9ff3195026bdf2d49cdbeac38ae + checksum: 1139d35809d1aa4ac8bff49fd0c819bcce86ce6e8e259fd0cacac086998938b5ad44f523d4414b6565ebc0338e7d2de0ad3efa03e26738fe8bd05f1baf72e980 languageName: node linkType: hard From 61f27d1cbeecbee76c7d753a443e4d747d221367 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Wed, 12 Mar 2025 00:48:41 -0500 Subject: [PATCH 15/17] Fix Vitest config --- packages/typescript-eslint/vitest.config.mts | 2 ++ vitest.config.base.mts | 9 ++++----- vitest.config.mts | 2 ++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/typescript-eslint/vitest.config.mts b/packages/typescript-eslint/vitest.config.mts index 51c570c5a489..7d1cc31b83d7 100644 --- a/packages/typescript-eslint/vitest.config.mts +++ b/packages/typescript-eslint/vitest.config.mts @@ -8,6 +8,8 @@ const vitestConfig = mergeConfig( vitestBaseConfig, defineProject({ + root: import.meta.dirname, + test: { dir: path.join(import.meta.dirname, 'tests'), name: packageJson.name, diff --git a/vitest.config.base.mts b/vitest.config.base.mts index 98b46cdb5033..b3c18c1a5649 100644 --- a/vitest.config.base.mts +++ b/vitest.config.base.mts @@ -9,17 +9,16 @@ export const vitestBaseConfig = { extension: ['.ts', '.tsx', '.js', '.jsx'], include: ['src'], - reporter: [ - ['lcov'], - process.env.GITHUB_ACTIONS ? ['text-summary'] : ['none'], - ], + reporter: process.env.GITHUB_ACTIONS + ? [['lcov'], ['text'], ['text-summary']] + : [['lcov']], }, globals: true, include: ['**/*.test.?(c|m)ts?(x)'], reporters: process.env.GITHUB_ACTIONS - ? [['github-actions'], ['verbose']] + ? [['verbose'], ['github-actions']] : [['verbose']], setupFiles: ['console-fail-test/setup'], diff --git a/vitest.config.mts b/vitest.config.mts index 3e53a620d008..9d9bf1885083 100644 --- a/vitest.config.mts +++ b/vitest.config.mts @@ -7,6 +7,8 @@ const vitestConfig = mergeConfig( vitestBaseConfig, defineConfig({ + root: import.meta.dirname, + test: { coverage: { exclude: [ From 273e62a8d16540d6e2aed51cf3ba9eeb6eae4c54 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Sat, 15 Mar 2025 11:34:53 -0500 Subject: [PATCH 16/17] Update `vite` to version 6.2.2 --- package.json | 2 +- yarn.lock | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index baf718602a2f..6aeb68662580 100644 --- a/package.json +++ b/package.json @@ -126,7 +126,7 @@ "tsx": "*", "typescript": ">=4.8.4 <5.9.0", "typescript-eslint": "workspace:^", - "vite": "^6.2.1", + "vite": "^6.2.2", "vitest": "^3.0.8", "yargs": "17.7.2" }, diff --git a/yarn.lock b/yarn.lock index 00d7bae63554..6b619408347f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -569,13 +569,13 @@ __metadata: linkType: hard "@babel/parser@npm:^7.25.4": - version: 7.26.9 - resolution: "@babel/parser@npm:7.26.9" + version: 7.26.10 + resolution: "@babel/parser@npm:7.26.10" dependencies: - "@babel/types": ^7.26.9 + "@babel/types": ^7.26.10 bin: parser: ./bin/babel-parser.js - checksum: 2df965dbf3c67d19dc437412ceef23033b4d39b0dbd7cb498d8ab9ad9e1738338656ee72676199773b37d658edf9f4161cf255515234fed30695d74e73be5514 + checksum: 81f9af962aea55a2973d213dffc6191939df7eba0511ba585d23f0d838931f5fca2efb83ae382e4b9bb486f20ae1b2607cb1b8be49af89e9f011fb4355727f47 languageName: node linkType: hard @@ -1728,13 +1728,13 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.25.4, @babel/types@npm:^7.26.9": - version: 7.26.9 - resolution: "@babel/types@npm:7.26.9" +"@babel/types@npm:^7.25.4, @babel/types@npm:^7.26.10": + version: 7.26.10 + resolution: "@babel/types@npm:7.26.10" dependencies: "@babel/helper-string-parser": ^7.25.9 "@babel/helper-validator-identifier": ^7.25.9 - checksum: cc124c149615deb30343a4c81ac5b0e3a68bdb4b1bd61a91a2859ee8e5e5f400f6ff65be4740f407c17bfc09baa9c777e7f8f765dccf3284963956b67ac95a38 + checksum: 07340068ea3824dcaccf702dfc9628175c9926912ad6efba182d8b07e20953297d0a514f6fb103a61b9d5c555c8b87fc2237ddb06efebe14794eefc921dfa114 languageName: node linkType: hard @@ -6304,7 +6304,7 @@ __metadata: tsx: "*" typescript: ">=4.8.4 <5.9.0" typescript-eslint: "workspace:^" - vite: ^6.2.1 + vite: ^6.2.2 vitest: ^3.0.8 yargs: 17.7.2 languageName: unknown @@ -20877,9 +20877,9 @@ __metadata: languageName: node linkType: hard -"vite@npm:^5.0.0 || ^6.0.0, vite@npm:^6.2.1": - version: 6.2.1 - resolution: "vite@npm:6.2.1" +"vite@npm:^5.0.0 || ^6.0.0, vite@npm:^6.2.2": + version: 6.2.2 + resolution: "vite@npm:6.2.2" dependencies: esbuild: ^0.25.0 fsevents: ~2.3.3 @@ -20925,7 +20925,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: d7379a9870c888681f7e4a861095e7f568ecd4cb99a5eed2dec65dc205ce863783d45c66a1a275868e23732087009533eadec999061c1ddef96aa8aaa0dcf6d2 + checksum: 5a8b2083ef2534fab8769f18807e1df055730f1cb7853bed9d2556b2bb6c566aad25b6f530440370798baa4bc6c63f0d1339b646ee06102bc4f9373e93fefb7e languageName: node linkType: hard From 554e60c31171753dba5b1ea527efb214306bd55d Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Sat, 15 Mar 2025 22:16:16 -0500 Subject: [PATCH 17/17] Fix `typecheck` task --- nx.json | 5 +++++ packages/typescript-eslint/tsconfig.spec.json | 2 +- project.json | 3 ++- tsconfig.repo-config-files.json | 5 +++-- tsconfig.spec.json | 8 ++++++++ 5 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 tsconfig.spec.json diff --git a/nx.json b/nx.json index e45c6788c9cc..6f69941fe0d4 100644 --- a/nx.json +++ b/nx.json @@ -129,6 +129,11 @@ ], "outputs": ["{options.outputFile}"], "cache": true + }, + "typecheck": { + "dependsOn": ["types:copy-ast-spec"], + "outputs": ["{workspaceRoot}/dist/out-tsc/{projectRoot}"], + "cache": true } }, "namedInputs": { diff --git a/packages/typescript-eslint/tsconfig.spec.json b/packages/typescript-eslint/tsconfig.spec.json index 0e823121a963..e65e82d51bfa 100644 --- a/packages/typescript-eslint/tsconfig.spec.json +++ b/packages/typescript-eslint/tsconfig.spec.json @@ -20,7 +20,7 @@ "path": "./tsconfig.build.json" }, { - "path": "../../tsconfig.repo-config-files.json" + "path": "../../tsconfig.spec.json" } ] } diff --git a/project.json b/project.json index 4152bbb4fc71..3eec06ff272f 100644 --- a/project.json +++ b/project.json @@ -5,7 +5,8 @@ "targets": { "typecheck": { "command": "tsc -b ./tsconfig.repo-config-files.json", - "dependsOn": ["typescript-eslint:build"] + "dependsOn": ["types:copy-ast-spec"], + "outputs": ["{workspaceRoot}/dist/out-tsc/root"] }, "lint": { "command": "eslint . --ignore-pattern=packages --cache" diff --git a/tsconfig.repo-config-files.json b/tsconfig.repo-config-files.json index 2b9ada215695..caafa8d8cc8c 100644 --- a/tsconfig.repo-config-files.json +++ b/tsconfig.repo-config-files.json @@ -11,8 +11,6 @@ "tools/**/*.ts", "tools/**/*.mts", "eslint.config.mjs", - "vitest.config.base.mts", - "vitest.config.mts", "jest.config.base.js", "jest.config.js", "jest.preset.js", @@ -22,6 +20,9 @@ "references": [ { "path": "./packages/typescript-eslint/tsconfig.build.json" + }, + { + "path": "./tsconfig.spec.json" } ] } diff --git a/tsconfig.spec.json b/tsconfig.spec.json new file mode 100644 index 000000000000..59f6ad919a03 --- /dev/null +++ b/tsconfig.spec.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "outDir": "./dist/out-tsc/root/vitest", + "resolveJsonModule": true + }, + "include": ["package.json", "vitest.config.base.mts", "vitest.config.mts"] +}