From b7bb491ceb3d7abc2c9d3ed1bef834616eb101e2 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Wed, 7 May 2025 19:10:22 -0500 Subject: [PATCH 1/3] update `vitest` to version 3.1.3 --- package.json | 4 +- packages/ast-spec/package.json | 4 +- packages/eslint-plugin-internal/package.json | 4 +- packages/eslint-plugin/package.json | 4 +- packages/integration-tests/package.json | 4 +- packages/parser/package.json | 4 +- .../package.json | 4 +- packages/rule-tester/package.json | 4 +- packages/scope-manager/package.json | 6 +- packages/type-utils/package.json | 4 +- packages/types/package.json | 4 +- packages/typescript-eslint/package.json | 4 +- packages/typescript-estree/package.json | 4 +- packages/utils/package.json | 4 +- packages/visitor-keys/package.json | 4 +- yarn.lock | 686 ++++++++++++------ 16 files changed, 510 insertions(+), 238 deletions(-) diff --git a/package.json b/package.json index 0007d1e85f37..faf27911c170 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "@typescript-eslint/types": "workspace:^", "@typescript-eslint/typescript-estree": "workspace:^", "@typescript-eslint/utils": "workspace:^", - "@vitest/coverage-v8": "^3.1.2", + "@vitest/coverage-v8": "^3.1.3", "@vitest/eslint-plugin": "^1.1.44", "console-fail-test": "^0.5.0", "cross-fetch": "^4.0.0", @@ -113,7 +113,7 @@ "typescript": ">=4.8.4 <5.9.0", "typescript-eslint": "workspace:^", "vite": "^6.3.5", - "vitest": "^3.1.2", + "vitest": "^3.1.3", "yargs": "17.7.2" }, "resolutions": { diff --git a/packages/ast-spec/package.json b/packages/ast-spec/package.json index bd49e3552e9a..074c6e55b2c7 100644 --- a/packages/ast-spec/package.json +++ b/packages/ast-spec/package.json @@ -50,13 +50,13 @@ "@babel/eslint-parser": "*", "@microsoft/api-extractor": "^7.47.11", "@typescript-eslint/typescript-estree": "workspace:*", - "@vitest/coverage-v8": "^3.1.2", + "@vitest/coverage-v8": "^3.1.3", "glob": "*", "jest-diff": "^29.7.0", "prettier": "^3.2.5", "pretty-format": "*", "rimraf": "*", "typescript": "*", - "vitest": "^3.1.2" + "vitest": "^3.1.3" } } diff --git a/packages/eslint-plugin-internal/package.json b/packages/eslint-plugin-internal/package.json index 7df8ec9e5418..458bee57df6a 100644 --- a/packages/eslint-plugin-internal/package.json +++ b/packages/eslint-plugin-internal/package.json @@ -31,8 +31,8 @@ "prettier": "^3.2.5" }, "devDependencies": { - "@vitest/coverage-v8": "^3.1.2", + "@vitest/coverage-v8": "^3.1.3", "rimraf": "*", - "vitest": "^3.1.2" + "vitest": "^3.1.3" } } diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index ef2c5e11ed51..f336fba2b209 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -75,7 +75,7 @@ "@types/natural-compare": "*", "@typescript-eslint/rule-schema-to-typescript-types": "8.32.0", "@typescript-eslint/rule-tester": "8.32.0", - "@vitest/coverage-v8": "^3.1.2", + "@vitest/coverage-v8": "^3.1.3", "ajv": "^6.12.6", "cross-fetch": "*", "eslint": "*", @@ -91,7 +91,7 @@ "tsx": "*", "typescript": "*", "unist-util-visit": "^5.0.0", - "vitest": "^3.1.2" + "vitest": "^3.1.3" }, "peerDependencies": { "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json index 0e9edffb45b4..602d44d36f8f 100644 --- a/packages/integration-tests/package.json +++ b/packages/integration-tests/package.json @@ -18,7 +18,7 @@ "check-types": "npx nx typecheck" }, "devDependencies": { - "@vitest/coverage-v8": "^3.1.2", - "vitest": "^3.1.2" + "@vitest/coverage-v8": "^3.1.3", + "vitest": "^3.1.3" } } diff --git a/packages/parser/package.json b/packages/parser/package.json index 68c85d67b118..659172ce81e9 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -59,12 +59,12 @@ "debug": "^4.3.4" }, "devDependencies": { - "@vitest/coverage-v8": "^3.1.2", + "@vitest/coverage-v8": "^3.1.3", "glob": "*", "prettier": "^3.2.5", "rimraf": "*", "typescript": "*", - "vitest": "^3.1.2" + "vitest": "^3.1.3" }, "funding": { "type": "opencollective", diff --git a/packages/rule-schema-to-typescript-types/package.json b/packages/rule-schema-to-typescript-types/package.json index 46be0cef5480..d4affad6f8a4 100644 --- a/packages/rule-schema-to-typescript-types/package.json +++ b/packages/rule-schema-to-typescript-types/package.json @@ -37,9 +37,9 @@ "prettier": "^3.2.5" }, "devDependencies": { - "@vitest/coverage-v8": "^3.1.2", + "@vitest/coverage-v8": "^3.1.3", "typescript": "*", - "vitest": "^3.1.2" + "vitest": "^3.1.3" }, "funding": { "type": "opencollective", diff --git a/packages/rule-tester/package.json b/packages/rule-tester/package.json index 3aaf698c9caa..b841c3e54452 100644 --- a/packages/rule-tester/package.json +++ b/packages/rule-tester/package.json @@ -61,7 +61,7 @@ "devDependencies": { "@types/json-stable-stringify-without-jsonify": "^1.0.2", "@types/lodash.merge": "4.6.9", - "@vitest/coverage-v8": "^3.1.2", + "@vitest/coverage-v8": "^3.1.3", "chai": "^5.2.0", "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0", @@ -70,7 +70,7 @@ "sinon": "^20.0.0", "source-map-support": "^0.5.21", "typescript": "*", - "vitest": "^3.1.2" + "vitest": "^3.1.3" }, "funding": { "type": "opencollective", diff --git a/packages/scope-manager/package.json b/packages/scope-manager/package.json index 5a7b1e6a2b6d..3190386eb065 100644 --- a/packages/scope-manager/package.json +++ b/packages/scope-manager/package.json @@ -52,13 +52,13 @@ }, "devDependencies": { "@typescript-eslint/typescript-estree": "8.32.0", - "@vitest/coverage-v8": "^3.1.2", - "@vitest/pretty-format": "^3.1.2", + "@vitest/coverage-v8": "^3.1.3", + "@vitest/pretty-format": "^3.1.3", "glob": "*", "prettier": "^3.2.5", "rimraf": "*", "typescript": "*", - "vitest": "^3.1.2" + "vitest": "^3.1.3" }, "funding": { "type": "opencollective", diff --git a/packages/type-utils/package.json b/packages/type-utils/package.json index d7e1da1cea7d..729c3e5d6d18 100644 --- a/packages/type-utils/package.json +++ b/packages/type-utils/package.json @@ -55,13 +55,13 @@ }, "devDependencies": { "@typescript-eslint/parser": "8.32.0", - "@vitest/coverage-v8": "^3.1.2", + "@vitest/coverage-v8": "^3.1.3", "ajv": "^6.12.6", "eslint": "*", "prettier": "^3.2.5", "rimraf": "*", "typescript": "*", - "vitest": "^3.1.2" + "vitest": "^3.1.3" }, "funding": { "type": "opencollective", diff --git a/packages/types/package.json b/packages/types/package.json index 522396805673..61027a6c5422 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -67,12 +67,12 @@ } }, "devDependencies": { - "@vitest/coverage-v8": "^3.1.2", + "@vitest/coverage-v8": "^3.1.3", "prettier": "^3.2.5", "rimraf": "*", "tsx": "*", "typescript": "*", - "vitest": "^3.1.2" + "vitest": "^3.1.3" }, "funding": { "type": "opencollective", diff --git a/packages/typescript-eslint/package.json b/packages/typescript-eslint/package.json index e9cd6e862734..824b178810ca 100644 --- a/packages/typescript-eslint/package.json +++ b/packages/typescript-eslint/package.json @@ -60,11 +60,11 @@ "typescript": ">=4.8.4 <5.9.0" }, "devDependencies": { - "@vitest/coverage-v8": "^3.1.2", + "@vitest/coverage-v8": "^3.1.3", "prettier": "^3.2.5", "rimraf": "*", "typescript": "*", - "vitest": "^3.1.2" + "vitest": "^3.1.3" }, "funding": { "type": "opencollective", diff --git a/packages/typescript-estree/package.json b/packages/typescript-estree/package.json index b992b01f0d7e..56f0f128a669 100644 --- a/packages/typescript-estree/package.json +++ b/packages/typescript-estree/package.json @@ -63,12 +63,12 @@ }, "devDependencies": { "@types/is-glob": "^4.0.4", - "@vitest/coverage-v8": "^3.1.2", + "@vitest/coverage-v8": "^3.1.3", "glob": "*", "prettier": "^3.2.5", "rimraf": "*", "typescript": "*", - "vitest": "^3.1.2" + "vitest": "^3.1.3" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" diff --git a/packages/utils/package.json b/packages/utils/package.json index 1cc1eb6398be..9c0a1e6ec872 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -72,11 +72,11 @@ "typescript": ">=4.8.4 <5.9.0" }, "devDependencies": { - "@vitest/coverage-v8": "^3.1.2", + "@vitest/coverage-v8": "^3.1.3", "prettier": "^3.2.5", "rimraf": "*", "typescript": "*", - "vitest": "^3.1.2" + "vitest": "^3.1.3" }, "funding": { "type": "opencollective", diff --git a/packages/visitor-keys/package.json b/packages/visitor-keys/package.json index 34ec3ee84e50..0129afc8f7cd 100644 --- a/packages/visitor-keys/package.json +++ b/packages/visitor-keys/package.json @@ -50,11 +50,11 @@ "eslint-visitor-keys": "^4.2.0" }, "devDependencies": { - "@vitest/coverage-v8": "^3.1.2", + "@vitest/coverage-v8": "^3.1.3", "prettier": "^3.2.5", "rimraf": "*", "typescript": "*", - "vitest": "^3.1.2" + "vitest": "^3.1.3" }, "funding": { "type": "opencollective", diff --git a/yarn.lock b/yarn.lock index 1bbd20ef8cae..d32a24938465 100644 --- a/yarn.lock +++ b/yarn.lock @@ -547,7 +547,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.2": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.2": version: 7.27.1 resolution: "@babel/parser@npm:7.27.1" dependencies: @@ -558,6 +558,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.25.4": + version: 7.27.2 + resolution: "@babel/parser@npm:7.27.2" + dependencies: + "@babel/types": ^7.27.1 + bin: + parser: ./bin/babel-parser.js + checksum: 1ac70a75028f1cc10eefb10ed2d83cf700ca3e1ddb4cf556a003fc5c4ca53ae83350bbb8065020fcc70d476fcf7bf1c17191b72384f719614ae18397142289cf + 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" @@ -2888,6 +2899,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/aix-ppc64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/aix-ppc64@npm:0.25.4" + 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" @@ -2902,6 +2920,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/android-arm64@npm:0.25.4" + 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" @@ -2916,6 +2941,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/android-arm@npm:0.25.4" + 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" @@ -2930,6 +2962,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/android-x64@npm:0.25.4" + 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" @@ -2944,6 +2983,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/darwin-arm64@npm:0.25.4" + 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" @@ -2958,6 +3004,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/darwin-x64@npm:0.25.4" + 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" @@ -2972,6 +3025,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/freebsd-arm64@npm:0.25.4" + 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" @@ -2986,6 +3046,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/freebsd-x64@npm:0.25.4" + 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" @@ -3000,6 +3067,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-arm64@npm:0.25.4" + 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" @@ -3014,6 +3088,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-arm@npm:0.25.4" + 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" @@ -3028,6 +3109,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ia32@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-ia32@npm:0.25.4" + 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" @@ -3042,6 +3130,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-loong64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-loong64@npm:0.25.4" + 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" @@ -3056,6 +3151,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-mips64el@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-mips64el@npm:0.25.4" + 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" @@ -3070,6 +3172,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ppc64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-ppc64@npm:0.25.4" + 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" @@ -3084,6 +3193,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-riscv64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-riscv64@npm:0.25.4" + 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" @@ -3098,6 +3214,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-s390x@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-s390x@npm:0.25.4" + 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" @@ -3112,6 +3235,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-x64@npm:0.25.4" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + "@esbuild/netbsd-arm64@npm:0.25.3": version: 0.25.3 resolution: "@esbuild/netbsd-arm64@npm:0.25.3" @@ -3119,6 +3249,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/netbsd-arm64@npm:0.25.4" + 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" @@ -3133,6 +3270,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/netbsd-x64@npm:0.25.4" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/openbsd-arm64@npm:0.25.3": version: 0.25.3 resolution: "@esbuild/openbsd-arm64@npm:0.25.3" @@ -3140,6 +3284,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/openbsd-arm64@npm:0.25.4" + 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" @@ -3154,6 +3305,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/openbsd-x64@npm:0.25.4" + 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" @@ -3168,6 +3326,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/sunos-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/sunos-x64@npm:0.25.4" + 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" @@ -3182,6 +3347,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/win32-arm64@npm:0.25.4" + 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" @@ -3196,6 +3368,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-ia32@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/win32-ia32@npm:0.25.4" + 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" @@ -3210,6 +3389,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/win32-x64@npm:0.25.4" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@eslint-community/eslint-plugin-eslint-comments@npm:^4.4.1": version: 4.5.0 resolution: "@eslint-community/eslint-plugin-eslint-comments@npm:4.5.0" @@ -4094,142 +4280,142 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.40.1" +"@rollup/rollup-android-arm-eabi@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.40.2" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-android-arm64@npm:4.40.1" +"@rollup/rollup-android-arm64@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-android-arm64@npm:4.40.2" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-darwin-arm64@npm:4.40.1" +"@rollup/rollup-darwin-arm64@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-darwin-arm64@npm:4.40.2" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-darwin-x64@npm:4.40.1" +"@rollup/rollup-darwin-x64@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-darwin-x64@npm:4.40.2" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-freebsd-arm64@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.40.1" +"@rollup/rollup-freebsd-arm64@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.40.2" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-freebsd-x64@npm:4.40.1" +"@rollup/rollup-freebsd-x64@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-freebsd-x64@npm:4.40.2" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.40.1" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.40.2" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.40.1" +"@rollup/rollup-linux-arm-musleabihf@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.40.2" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.40.1" +"@rollup/rollup-linux-arm64-gnu@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.40.2" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.40.1" +"@rollup/rollup-linux-arm64-musl@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.40.2" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-loongarch64-gnu@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.40.1" +"@rollup/rollup-linux-loongarch64-gnu@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.40.2" conditions: os=linux & cpu=loong64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.40.1" +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.40.2" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.40.1" +"@rollup/rollup-linux-riscv64-gnu@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.40.2" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-musl@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.40.1" +"@rollup/rollup-linux-riscv64-musl@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.40.2" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.40.1" +"@rollup/rollup-linux-s390x-gnu@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.40.2" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.40.1" +"@rollup/rollup-linux-x64-gnu@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.40.2" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.40.1" +"@rollup/rollup-linux-x64-musl@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.40.2" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.40.1" +"@rollup/rollup-win32-arm64-msvc@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.40.2" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.40.1" +"@rollup/rollup-win32-ia32-msvc@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.40.2" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.40.1": - version: 4.40.1 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.40.1" +"@rollup/rollup-win32-x64-msvc@npm:4.40.2": + version: 4.40.2 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.40.2" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -5308,14 +5494,14 @@ __metadata: "@babel/eslint-parser": "*" "@microsoft/api-extractor": ^7.47.11 "@typescript-eslint/typescript-estree": "workspace:*" - "@vitest/coverage-v8": ^3.1.2 + "@vitest/coverage-v8": ^3.1.3 glob: "*" jest-diff: ^29.7.0 prettier: ^3.2.5 pretty-format: "*" rimraf: "*" typescript: "*" - vitest: ^3.1.2 + vitest: ^3.1.3 languageName: unknown linkType: soft @@ -5328,10 +5514,10 @@ __metadata: "@typescript-eslint/scope-manager": "workspace:*" "@typescript-eslint/type-utils": "workspace:*" "@typescript-eslint/utils": "workspace:*" - "@vitest/coverage-v8": ^3.1.2 + "@vitest/coverage-v8": ^3.1.3 prettier: ^3.2.5 rimraf: "*" - vitest: ^3.1.2 + vitest: ^3.1.3 languageName: unknown linkType: soft @@ -5348,7 +5534,7 @@ __metadata: "@typescript-eslint/type-utils": 8.32.0 "@typescript-eslint/utils": 8.32.0 "@typescript-eslint/visitor-keys": 8.32.0 - "@vitest/coverage-v8": ^3.1.2 + "@vitest/coverage-v8": ^3.1.3 ajv: ^6.12.6 cross-fetch: "*" eslint: "*" @@ -5368,7 +5554,7 @@ __metadata: tsx: "*" typescript: "*" unist-util-visit: ^5.0.0 - vitest: ^3.1.2 + vitest: ^3.1.3 peerDependencies: "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 @@ -5380,8 +5566,8 @@ __metadata: version: 0.0.0-use.local resolution: "@typescript-eslint/integration-tests@workspace:packages/integration-tests" dependencies: - "@vitest/coverage-v8": ^3.1.2 - vitest: ^3.1.2 + "@vitest/coverage-v8": ^3.1.3 + vitest: ^3.1.3 languageName: unknown linkType: soft @@ -5393,13 +5579,13 @@ __metadata: "@typescript-eslint/types": 8.32.0 "@typescript-eslint/typescript-estree": 8.32.0 "@typescript-eslint/visitor-keys": 8.32.0 - "@vitest/coverage-v8": ^3.1.2 + "@vitest/coverage-v8": ^3.1.3 debug: ^4.3.4 glob: "*" prettier: ^3.2.5 rimraf: "*" typescript: "*" - vitest: ^3.1.2 + vitest: ^3.1.3 peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" @@ -5412,11 +5598,11 @@ __metadata: dependencies: "@typescript-eslint/type-utils": 8.32.0 "@typescript-eslint/utils": 8.32.0 - "@vitest/coverage-v8": ^3.1.2 + "@vitest/coverage-v8": ^3.1.3 natural-compare: ^1.4.0 prettier: ^3.2.5 typescript: "*" - vitest: ^3.1.2 + vitest: ^3.1.3 languageName: unknown linkType: soft @@ -5429,7 +5615,7 @@ __metadata: "@typescript-eslint/parser": 8.32.0 "@typescript-eslint/typescript-estree": 8.32.0 "@typescript-eslint/utils": 8.32.0 - "@vitest/coverage-v8": ^3.1.2 + "@vitest/coverage-v8": ^3.1.3 ajv: ^6.12.6 chai: ^5.2.0 eslint-visitor-keys: ^4.2.0 @@ -5442,7 +5628,7 @@ __metadata: sinon: ^20.0.0 source-map-support: ^0.5.21 typescript: "*" - vitest: ^3.1.2 + vitest: ^3.1.3 peerDependencies: eslint: ^8.57.0 || ^9.0.0 languageName: unknown @@ -5455,13 +5641,13 @@ __metadata: "@typescript-eslint/types": 8.32.0 "@typescript-eslint/typescript-estree": 8.32.0 "@typescript-eslint/visitor-keys": 8.32.0 - "@vitest/coverage-v8": ^3.1.2 - "@vitest/pretty-format": ^3.1.2 + "@vitest/coverage-v8": ^3.1.3 + "@vitest/pretty-format": ^3.1.3 glob: "*" prettier: ^3.2.5 rimraf: "*" typescript: "*" - vitest: ^3.1.2 + vitest: ^3.1.3 languageName: unknown linkType: soft @@ -5472,7 +5658,7 @@ __metadata: "@typescript-eslint/parser": 8.32.0 "@typescript-eslint/typescript-estree": 8.32.0 "@typescript-eslint/utils": 8.32.0 - "@vitest/coverage-v8": ^3.1.2 + "@vitest/coverage-v8": ^3.1.3 ajv: ^6.12.6 debug: ^4.3.4 eslint: "*" @@ -5480,7 +5666,7 @@ __metadata: rimraf: "*" ts-api-utils: ^2.1.0 typescript: "*" - vitest: ^3.1.2 + vitest: ^3.1.3 peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" @@ -5491,12 +5677,12 @@ __metadata: version: 0.0.0-use.local resolution: "@typescript-eslint/types@workspace:packages/types" dependencies: - "@vitest/coverage-v8": ^3.1.2 + "@vitest/coverage-v8": ^3.1.3 prettier: ^3.2.5 rimraf: "*" tsx: "*" typescript: "*" - vitest: ^3.1.2 + vitest: ^3.1.3 languageName: unknown linkType: soft @@ -5534,7 +5720,7 @@ __metadata: "@typescript-eslint/types": "workspace:^" "@typescript-eslint/typescript-estree": "workspace:^" "@typescript-eslint/utils": "workspace:^" - "@vitest/coverage-v8": ^3.1.2 + "@vitest/coverage-v8": ^3.1.3 "@vitest/eslint-plugin": ^1.1.44 console-fail-test: ^0.5.0 cross-fetch: ^4.0.0 @@ -5566,7 +5752,7 @@ __metadata: typescript: ">=4.8.4 <5.9.0" typescript-eslint: "workspace:^" vite: ^6.3.5 - vitest: ^3.1.2 + vitest: ^3.1.3 yargs: 17.7.2 languageName: unknown linkType: soft @@ -5578,7 +5764,7 @@ __metadata: "@types/is-glob": ^4.0.4 "@typescript-eslint/types": 8.32.0 "@typescript-eslint/visitor-keys": 8.32.0 - "@vitest/coverage-v8": ^3.1.2 + "@vitest/coverage-v8": ^3.1.3 debug: ^4.3.4 fast-glob: ^3.3.2 glob: "*" @@ -5589,7 +5775,7 @@ __metadata: semver: ^7.6.0 ts-api-utils: ^2.1.0 typescript: "*" - vitest: ^3.1.2 + vitest: ^3.1.3 peerDependencies: typescript: ">=4.8.4 <5.9.0" languageName: unknown @@ -5603,11 +5789,11 @@ __metadata: "@typescript-eslint/scope-manager": 8.32.0 "@typescript-eslint/types": 8.32.0 "@typescript-eslint/typescript-estree": 8.32.0 - "@vitest/coverage-v8": ^3.1.2 + "@vitest/coverage-v8": ^3.1.3 prettier: ^3.2.5 rimraf: "*" typescript: "*" - vitest: ^3.1.2 + vitest: ^3.1.3 peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" @@ -5619,12 +5805,12 @@ __metadata: resolution: "@typescript-eslint/visitor-keys@workspace:packages/visitor-keys" dependencies: "@typescript-eslint/types": 8.32.0 - "@vitest/coverage-v8": ^3.1.2 + "@vitest/coverage-v8": ^3.1.3 eslint-visitor-keys: ^4.2.0 prettier: ^3.2.5 rimraf: "*" typescript: "*" - vitest: ^3.1.2 + vitest: ^3.1.3 languageName: unknown linkType: soft @@ -5666,9 +5852,9 @@ __metadata: languageName: node linkType: hard -"@vitest/coverage-v8@npm:^3.1.2": - version: 3.1.2 - resolution: "@vitest/coverage-v8@npm:3.1.2" +"@vitest/coverage-v8@npm:^3.1.3": + version: 3.1.3 + resolution: "@vitest/coverage-v8@npm:3.1.3" dependencies: "@ampproject/remapping": ^2.3.0 "@bcoe/v8-coverage": ^1.0.2 @@ -5683,12 +5869,12 @@ __metadata: test-exclude: ^7.0.1 tinyrainbow: ^2.0.0 peerDependencies: - "@vitest/browser": 3.1.2 - vitest: 3.1.2 + "@vitest/browser": 3.1.3 + vitest: 3.1.3 peerDependenciesMeta: "@vitest/browser": optional: true - checksum: f0ffe4b64ef6eed5d9af8756ccc6ff662ecc9af152b42018494c53f7ad35a25f596ad7651a1731b1bbb9952e220c79f6a9aa3d96dd340e2869f24b2dee2d449c + checksum: 647d9d43335349db076b507eb374a364e96e4367f00ed610afff357b6d00d49ea22d30a00f046f088392c68bb3968a5f780ce8ee9a39f14e968b35fcc7fc7e69 languageName: node linkType: hard @@ -5709,23 +5895,23 @@ __metadata: languageName: node linkType: hard -"@vitest/expect@npm:3.1.2": - version: 3.1.2 - resolution: "@vitest/expect@npm:3.1.2" +"@vitest/expect@npm:3.1.3": + version: 3.1.3 + resolution: "@vitest/expect@npm:3.1.3" dependencies: - "@vitest/spy": 3.1.2 - "@vitest/utils": 3.1.2 + "@vitest/spy": 3.1.3 + "@vitest/utils": 3.1.3 chai: ^5.2.0 tinyrainbow: ^2.0.0 - checksum: 132d65f4495afc4a6e714328f2a3375e72a737444967039c50a569626aaef730af920145e10a4b188699a051ba76dcdf404ddbea12cded3e3206d7e516d6ddb9 + checksum: 5c83ed7c7b429217363be15e361fe5128684aed422f3424b9a994f5a1116b06293d4c4bf117a9670c311e73e8a9d55b99adafdf63dfce88e15417814087d1eec languageName: node linkType: hard -"@vitest/mocker@npm:3.1.2": - version: 3.1.2 - resolution: "@vitest/mocker@npm:3.1.2" +"@vitest/mocker@npm:3.1.3": + version: 3.1.3 + resolution: "@vitest/mocker@npm:3.1.3" dependencies: - "@vitest/spy": 3.1.2 + "@vitest/spy": 3.1.3 estree-walker: ^3.0.3 magic-string: ^0.30.17 peerDependencies: @@ -5736,57 +5922,57 @@ __metadata: optional: true vite: optional: true - checksum: 5d852acdaccc832759ce88801736f938a37eb9cb84c703b96563c45f41372a0120a0fb069dd63390fa779aeca46eb0f16a4786c3c41741603e3af49b738b3194 + checksum: f4550db48d9e3f009db56af4c8bb3d15de5eb26bdcfa1a19b703deb284f3a4c04b89c4ac0d6ad139cc70a3d893260852742b1ad1eb8af0e7f11711bed4427ee4 languageName: node linkType: hard -"@vitest/pretty-format@npm:3.1.2, @vitest/pretty-format@npm:^3.1.2": - version: 3.1.2 - resolution: "@vitest/pretty-format@npm:3.1.2" +"@vitest/pretty-format@npm:3.1.3, @vitest/pretty-format@npm:^3.1.3": + version: 3.1.3 + resolution: "@vitest/pretty-format@npm:3.1.3" dependencies: tinyrainbow: ^2.0.0 - checksum: b218576f9226ec9b99720579e1b8fa5838bec47d84cfb76ccb8bedf42f8820ea3657934b2cfeb5ab41dcc89b0991d9b608318033a4f6ed511a38901a1132a26c + checksum: c27594a4c33e27d4c16ed73940d9c2399a71dfbcd3e70d459152853c051097d72414af1449226250b5be039d859565b278584d42a4ac088c9e4b5e7a929e86fc languageName: node linkType: hard -"@vitest/runner@npm:3.1.2": - version: 3.1.2 - resolution: "@vitest/runner@npm:3.1.2" +"@vitest/runner@npm:3.1.3": + version: 3.1.3 + resolution: "@vitest/runner@npm:3.1.3" dependencies: - "@vitest/utils": 3.1.2 + "@vitest/utils": 3.1.3 pathe: ^2.0.3 - checksum: 219e1bc2ae7f38be0661b6520c24655a5739f4a6d3f88c992593f5a9419da184d5663af4907fcfa122a9c5e86bad58b5cb63f6857bb62af7655169fa90a4006b + checksum: 263363ffaa4102361ac94c1c0cec88e63511ecab3b995f1bdbe307493d4b991c41528afaea0a4dbbd8d880fb35deb30c0b9bf2178deacda15c7ea15ad28a284d languageName: node linkType: hard -"@vitest/snapshot@npm:3.1.2": - version: 3.1.2 - resolution: "@vitest/snapshot@npm:3.1.2" +"@vitest/snapshot@npm:3.1.3": + version: 3.1.3 + resolution: "@vitest/snapshot@npm:3.1.3" dependencies: - "@vitest/pretty-format": 3.1.2 + "@vitest/pretty-format": 3.1.3 magic-string: ^0.30.17 pathe: ^2.0.3 - checksum: 014d3beb5603531801e8a2768f755b9358d403291bdff573dffa6999b93455232a9fdd7d311875eff5eb2e8fb9fbcd4d7fe470aa10ebd1c161db66b1369bbe9a + checksum: d128f8fba53e8703f4453e461bb53ca5e3f2deb48c43a37e9489f85bbef693e0daafec44611c1449ed0d2eb370a8fd0dabf16538c74325e760bda4c01e8443b9 languageName: node linkType: hard -"@vitest/spy@npm:3.1.2": - version: 3.1.2 - resolution: "@vitest/spy@npm:3.1.2" +"@vitest/spy@npm:3.1.3": + version: 3.1.3 + resolution: "@vitest/spy@npm:3.1.3" dependencies: tinyspy: ^3.0.2 - checksum: afffa703173224aae1d0382b4ec6e6861882a8d8836d39761f19eeb7645a84a0ebdf31afaed3cf409b4c505803398b7bea84b536b20d27cd20592563c437c8db + checksum: 89093542e1677c37c4ef8f86fb30abafd61d98e1fa908fb403acd7dfaf03e3ab67a84ef3b4b8f75685ba68aa2c8b6eb7b1274938822c7c19c3250cdadfb45457 languageName: node linkType: hard -"@vitest/utils@npm:3.1.2": - version: 3.1.2 - resolution: "@vitest/utils@npm:3.1.2" +"@vitest/utils@npm:3.1.3": + version: 3.1.3 + resolution: "@vitest/utils@npm:3.1.3" dependencies: - "@vitest/pretty-format": 3.1.2 + "@vitest/pretty-format": 3.1.3 loupe: ^3.1.3 tinyrainbow: ^2.0.0 - checksum: 045660ca4642c57bcfbd0de28225f768b14ad288a75823165657b50283f9a858fdba06ca9789c116d44860ea6119ae8a3bb19a0b2343337f4a246bf6f0c7de01 + checksum: ba6bfa548e96c1f3493e47c027c03d1e800127446a7c60663817c67bb97f54d83ac9f4133b2c4334bce32925765d2db89f4d6c8b58b4d355d4107100b59e6603 languageName: node linkType: hard @@ -9012,7 +9198,7 @@ __metadata: languageName: node linkType: hard -"es-module-lexer@npm:^1.2.1, es-module-lexer@npm:^1.5.3, es-module-lexer@npm:^1.6.0": +"es-module-lexer@npm:^1.2.1, es-module-lexer@npm:^1.5.3, es-module-lexer@npm:^1.7.0": version: 1.7.0 resolution: "es-module-lexer@npm:1.7.0" checksum: 7858bb76ae387fdbf8a6fccc951bf18919768309850587553eca34698b9193fbc65fab03d3d9f69163d860321fbf66adf89d5821e7f4148c7cb7d7b997259211 @@ -9059,35 +9245,35 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.25.0, esbuild@npm:~0.25.0": - version: 0.25.3 - resolution: "esbuild@npm:0.25.3" - dependencies: - "@esbuild/aix-ppc64": 0.25.3 - "@esbuild/android-arm": 0.25.3 - "@esbuild/android-arm64": 0.25.3 - "@esbuild/android-x64": 0.25.3 - "@esbuild/darwin-arm64": 0.25.3 - "@esbuild/darwin-x64": 0.25.3 - "@esbuild/freebsd-arm64": 0.25.3 - "@esbuild/freebsd-x64": 0.25.3 - "@esbuild/linux-arm": 0.25.3 - "@esbuild/linux-arm64": 0.25.3 - "@esbuild/linux-ia32": 0.25.3 - "@esbuild/linux-loong64": 0.25.3 - "@esbuild/linux-mips64el": 0.25.3 - "@esbuild/linux-ppc64": 0.25.3 - "@esbuild/linux-riscv64": 0.25.3 - "@esbuild/linux-s390x": 0.25.3 - "@esbuild/linux-x64": 0.25.3 - "@esbuild/netbsd-arm64": 0.25.3 - "@esbuild/netbsd-x64": 0.25.3 - "@esbuild/openbsd-arm64": 0.25.3 - "@esbuild/openbsd-x64": 0.25.3 - "@esbuild/sunos-x64": 0.25.3 - "@esbuild/win32-arm64": 0.25.3 - "@esbuild/win32-ia32": 0.25.3 - "@esbuild/win32-x64": 0.25.3 +"esbuild@npm:^0.25.0": + version: 0.25.4 + resolution: "esbuild@npm:0.25.4" + dependencies: + "@esbuild/aix-ppc64": 0.25.4 + "@esbuild/android-arm": 0.25.4 + "@esbuild/android-arm64": 0.25.4 + "@esbuild/android-x64": 0.25.4 + "@esbuild/darwin-arm64": 0.25.4 + "@esbuild/darwin-x64": 0.25.4 + "@esbuild/freebsd-arm64": 0.25.4 + "@esbuild/freebsd-x64": 0.25.4 + "@esbuild/linux-arm": 0.25.4 + "@esbuild/linux-arm64": 0.25.4 + "@esbuild/linux-ia32": 0.25.4 + "@esbuild/linux-loong64": 0.25.4 + "@esbuild/linux-mips64el": 0.25.4 + "@esbuild/linux-ppc64": 0.25.4 + "@esbuild/linux-riscv64": 0.25.4 + "@esbuild/linux-s390x": 0.25.4 + "@esbuild/linux-x64": 0.25.4 + "@esbuild/netbsd-arm64": 0.25.4 + "@esbuild/netbsd-x64": 0.25.4 + "@esbuild/openbsd-arm64": 0.25.4 + "@esbuild/openbsd-x64": 0.25.4 + "@esbuild/sunos-x64": 0.25.4 + "@esbuild/win32-arm64": 0.25.4 + "@esbuild/win32-ia32": 0.25.4 + "@esbuild/win32-x64": 0.25.4 dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -9141,7 +9327,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 1f9af51aa1d7d1f57e7294823d19ed69b0f6da413b7b0e8123abcebd1bb4011ef19961e2e6679c07301fcd00a85c4d102160fc40a91c25ceeaf594932509d84d + checksum: cd39e0236ba9ab39d28e5ba0aab9b63b3f7f3fdcd449422bfcaff087aedcf4fa0e754cb89fba37d96c67874e995e3c02634ef392f09928cdf4a5daf4dddd0171 languageName: node linkType: hard @@ -9225,6 +9411,92 @@ __metadata: languageName: node linkType: hard +"esbuild@npm:~0.25.0": + version: 0.25.3 + resolution: "esbuild@npm:0.25.3" + dependencies: + "@esbuild/aix-ppc64": 0.25.3 + "@esbuild/android-arm": 0.25.3 + "@esbuild/android-arm64": 0.25.3 + "@esbuild/android-x64": 0.25.3 + "@esbuild/darwin-arm64": 0.25.3 + "@esbuild/darwin-x64": 0.25.3 + "@esbuild/freebsd-arm64": 0.25.3 + "@esbuild/freebsd-x64": 0.25.3 + "@esbuild/linux-arm": 0.25.3 + "@esbuild/linux-arm64": 0.25.3 + "@esbuild/linux-ia32": 0.25.3 + "@esbuild/linux-loong64": 0.25.3 + "@esbuild/linux-mips64el": 0.25.3 + "@esbuild/linux-ppc64": 0.25.3 + "@esbuild/linux-riscv64": 0.25.3 + "@esbuild/linux-s390x": 0.25.3 + "@esbuild/linux-x64": 0.25.3 + "@esbuild/netbsd-arm64": 0.25.3 + "@esbuild/netbsd-x64": 0.25.3 + "@esbuild/openbsd-arm64": 0.25.3 + "@esbuild/openbsd-x64": 0.25.3 + "@esbuild/sunos-x64": 0.25.3 + "@esbuild/win32-arm64": 0.25.3 + "@esbuild/win32-ia32": 0.25.3 + "@esbuild/win32-x64": 0.25.3 + 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: 1f9af51aa1d7d1f57e7294823d19ed69b0f6da413b7b0e8123abcebd1bb4011ef19961e2e6679c07301fcd00a85c4d102160fc40a91c25ceeaf594932509d84d + languageName: node + linkType: hard + "escalade@npm:^3.1.1, escalade@npm:^3.2.0": version: 3.2.0 resolution: "escalade@npm:3.2.0" @@ -16840,29 +17112,29 @@ __metadata: linkType: hard "rollup@npm:^4.34.9": - version: 4.40.1 - resolution: "rollup@npm:4.40.1" - dependencies: - "@rollup/rollup-android-arm-eabi": 4.40.1 - "@rollup/rollup-android-arm64": 4.40.1 - "@rollup/rollup-darwin-arm64": 4.40.1 - "@rollup/rollup-darwin-x64": 4.40.1 - "@rollup/rollup-freebsd-arm64": 4.40.1 - "@rollup/rollup-freebsd-x64": 4.40.1 - "@rollup/rollup-linux-arm-gnueabihf": 4.40.1 - "@rollup/rollup-linux-arm-musleabihf": 4.40.1 - "@rollup/rollup-linux-arm64-gnu": 4.40.1 - "@rollup/rollup-linux-arm64-musl": 4.40.1 - "@rollup/rollup-linux-loongarch64-gnu": 4.40.1 - "@rollup/rollup-linux-powerpc64le-gnu": 4.40.1 - "@rollup/rollup-linux-riscv64-gnu": 4.40.1 - "@rollup/rollup-linux-riscv64-musl": 4.40.1 - "@rollup/rollup-linux-s390x-gnu": 4.40.1 - "@rollup/rollup-linux-x64-gnu": 4.40.1 - "@rollup/rollup-linux-x64-musl": 4.40.1 - "@rollup/rollup-win32-arm64-msvc": 4.40.1 - "@rollup/rollup-win32-ia32-msvc": 4.40.1 - "@rollup/rollup-win32-x64-msvc": 4.40.1 + version: 4.40.2 + resolution: "rollup@npm:4.40.2" + dependencies: + "@rollup/rollup-android-arm-eabi": 4.40.2 + "@rollup/rollup-android-arm64": 4.40.2 + "@rollup/rollup-darwin-arm64": 4.40.2 + "@rollup/rollup-darwin-x64": 4.40.2 + "@rollup/rollup-freebsd-arm64": 4.40.2 + "@rollup/rollup-freebsd-x64": 4.40.2 + "@rollup/rollup-linux-arm-gnueabihf": 4.40.2 + "@rollup/rollup-linux-arm-musleabihf": 4.40.2 + "@rollup/rollup-linux-arm64-gnu": 4.40.2 + "@rollup/rollup-linux-arm64-musl": 4.40.2 + "@rollup/rollup-linux-loongarch64-gnu": 4.40.2 + "@rollup/rollup-linux-powerpc64le-gnu": 4.40.2 + "@rollup/rollup-linux-riscv64-gnu": 4.40.2 + "@rollup/rollup-linux-riscv64-musl": 4.40.2 + "@rollup/rollup-linux-s390x-gnu": 4.40.2 + "@rollup/rollup-linux-x64-gnu": 4.40.2 + "@rollup/rollup-linux-x64-musl": 4.40.2 + "@rollup/rollup-win32-arm64-msvc": 4.40.2 + "@rollup/rollup-win32-ia32-msvc": 4.40.2 + "@rollup/rollup-win32-x64-msvc": 4.40.2 "@types/estree": 1.0.7 fsevents: ~2.3.2 dependenciesMeta: @@ -16910,7 +17182,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: b25c1a20192bc7d6a483c6dc61f93899fed8d6fbdf42a92f843ed3ab0f729485325e5d2e86b7039a0bd1f4c0eb786f5d8f6054b99e7e1f72dfa2206a528f2b4e + checksum: d2bb0428df6d88892348c9c0405df6b38fcb4841b196711cc986ac177d62c8bf983a8f3a61b834a47b016c41152ae7a75239705a929b40cabba0e33fbb09ff03 languageName: node linkType: hard @@ -18704,11 +18976,11 @@ __metadata: "@typescript-eslint/eslint-plugin": 8.32.0 "@typescript-eslint/parser": 8.32.0 "@typescript-eslint/utils": 8.32.0 - "@vitest/coverage-v8": ^3.1.2 + "@vitest/coverage-v8": ^3.1.3 prettier: ^3.2.5 rimraf: "*" typescript: "*" - vitest: ^3.1.2 + vitest: ^3.1.3 peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" @@ -19107,18 +19379,18 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:3.1.2": - version: 3.1.2 - resolution: "vite-node@npm:3.1.2" +"vite-node@npm:3.1.3": + version: 3.1.3 + resolution: "vite-node@npm:3.1.3" dependencies: cac: ^6.7.14 debug: ^4.4.0 - es-module-lexer: ^1.6.0 + es-module-lexer: ^1.7.0 pathe: ^2.0.3 vite: ^5.0.0 || ^6.0.0 bin: vite-node: vite-node.mjs - checksum: eab025ba912af2805730cad3a89dc6801d3b0192ceecfb06cdb5e37dffd851263db9743c6e4192d69a75df0b7c19fb03b95272b18cac1f19201e06c09e6e8a1d + checksum: 69975ebd3acce54b0c708818f2a11cb5c4375888d4aab834253c89d0a19438528ccc8abe983ee73af19a69bf8d4a64ed475dca9cec717319c03191ac139c4bca languageName: node linkType: hard @@ -19177,17 +19449,17 @@ __metadata: languageName: node linkType: hard -"vitest@npm:^3.1.2": - version: 3.1.2 - resolution: "vitest@npm:3.1.2" - dependencies: - "@vitest/expect": 3.1.2 - "@vitest/mocker": 3.1.2 - "@vitest/pretty-format": ^3.1.2 - "@vitest/runner": 3.1.2 - "@vitest/snapshot": 3.1.2 - "@vitest/spy": 3.1.2 - "@vitest/utils": 3.1.2 +"vitest@npm:^3.1.3": + version: 3.1.3 + resolution: "vitest@npm:3.1.3" + dependencies: + "@vitest/expect": 3.1.3 + "@vitest/mocker": 3.1.3 + "@vitest/pretty-format": ^3.1.3 + "@vitest/runner": 3.1.3 + "@vitest/snapshot": 3.1.3 + "@vitest/spy": 3.1.3 + "@vitest/utils": 3.1.3 chai: ^5.2.0 debug: ^4.4.0 expect-type: ^1.2.1 @@ -19200,14 +19472,14 @@ __metadata: tinypool: ^1.0.2 tinyrainbow: ^2.0.0 vite: ^5.0.0 || ^6.0.0 - vite-node: 3.1.2 + vite-node: 3.1.3 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.1.2 - "@vitest/ui": 3.1.2 + "@vitest/browser": 3.1.3 + "@vitest/ui": 3.1.3 happy-dom: "*" jsdom: "*" peerDependenciesMeta: @@ -19227,7 +19499,7 @@ __metadata: optional: true bin: vitest: vitest.mjs - checksum: 67bef7675aa0c9e1554e497a60e016fa36a74ce758da126991974cc23c892266090d8a55cb89d92a065818d646218826e2f394ebd0361361fa574b6998fda6d6 + checksum: 4ebcc8bc3c8e23a894632a70851aa3e21646bce8aca4b406d3a5e0fb2aef84fb42c85eea951f9c1bf8b1415e1b3131c4d96ab26d4c1b5df64df9055024c1344d languageName: node linkType: hard From bb024e957341f90d7d53b578926e2112552f7174 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Wed, 7 May 2025 19:15:13 -0500 Subject: [PATCH 2/3] chore(parser): finish migrating to `vitest` --- eslint.config.mjs | 2 + package.json | 2 - packages/parser/package.json | 3 +- packages/parser/tests/lib/parser.test.ts | 20 +++-- packages/parser/tests/lib/services.test.ts | 65 +++++++------- packages/parser/tests/lib/tsx.test.ts | 38 +++++---- .../parser/tests/test-utils/test-utils.ts | 84 ++++--------------- .../tests/test-utils/ts-error-serializer.ts | 4 +- yarn.lock | 3 +- 9 files changed, 87 insertions(+), 134 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 6ffdaa9831a3..135fbc4260dd 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -391,6 +391,7 @@ export default tseslint.config( }, settings: { vitest: { typecheck: true } }, }, + { files: ['packages/*/tests/**/vitest-custom-matchers.d.ts'], name: 'vitest-custom-matchers-declaration-files', @@ -403,6 +404,7 @@ export default tseslint.config( '@typescript-eslint/no-explicit-any': 'off', }, }, + // plugin rule tests { files: [ diff --git a/package.json b/package.json index faf27911c170..c4f900c9c292 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,6 @@ "markdownlint-cli": "^0.44.0", "nx": "20.7.2", "prettier": "3.5.0", - "pretty-format": "^29.7.0", "rimraf": "^5.0.5", "semver": "7.7.0", "tsx": "*", @@ -124,7 +123,6 @@ "@types/react": "^18.2.14", "eslint-plugin-eslint-plugin@^5.5.0": "patch:eslint-plugin-eslint-plugin@npm%3A5.5.1#./.yarn/patches/eslint-plugin-eslint-plugin-npm-5.5.1-4206c2506d.patch", "prettier": "3.5.0", - "pretty-format": "^29", "react-split-pane@^0.1.92": "patch:react-split-pane@npm%3A0.1.92#./.yarn/patches/react-split-pane-npm-0.1.92-93dbf51dff.patch", "tmp": "0.2.1", "tsx": "^4.7.2", diff --git a/packages/parser/package.json b/packages/parser/package.json index 659172ce81e9..f1d4f91fe1b4 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -40,8 +40,7 @@ ], "scripts": { "build": "tsc -b tsconfig.build.json", - "clean": "tsc -b tsconfig.build.json --clean", - "postclean": "rimraf dist/ coverage/", + "clean": "rimraf dist/ coverage/", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", "lint": "npx nx lint", "test": "vitest --run --config=$INIT_CWD/vitest.config.mts", diff --git a/packages/parser/tests/lib/parser.test.ts b/packages/parser/tests/lib/parser.test.ts index 39c072a8d42e..6e589eacd3d0 100644 --- a/packages/parser/tests/lib/parser.test.ts +++ b/packages/parser/tests/lib/parser.test.ts @@ -2,19 +2,23 @@ import type { ParserOptions } from '@typescript-eslint/types'; import * as scopeManager from '@typescript-eslint/scope-manager'; import * as typescriptESTree from '@typescript-eslint/typescript-estree'; -import path from 'node:path'; import { ScriptTarget } from 'typescript'; -import { parse, parseForESLint } from '../../src/parser'; +import { parse, parseForESLint } from '../../src/parser.js'; +import { FIXTURES_DIR } from '../test-utils/test-utils.js'; describe('parser', () => { - beforeEach(() => { + afterEach(() => { vi.clearAllMocks(); }); + afterAll(() => { + vi.restoreAllMocks(); + }); + it('parse() should return just the AST from parseForESLint()', () => { const code = 'const valid = true;'; - expect(parse(code)).toEqual(parseForESLint(code).ast); + expect(parse(code)).toStrictEqual(parseForESLint(code).ast); }); it('parseForESLint() should work if options are `null`', () => { @@ -36,7 +40,7 @@ describe('parser', () => { extraFileExtensions: ['.foo'], filePath: './isolated-file.src.ts', project: 'tsconfig.json', - tsconfigRootDir: path.join(__dirname, '..', 'fixtures', 'services'), + tsconfigRootDir: FIXTURES_DIR, }; parseForESLint(code, config); expect(spy).toHaveBeenCalledExactlyOnceWith(code, { @@ -107,7 +111,7 @@ describe('parser', () => { errorOnTypeScriptSyntacticAndSemanticIssues: false, filePath: 'isolated-file.src.ts', project: 'tsconfig.json', - tsconfigRootDir: path.join(__dirname, '..', 'fixtures', 'services'), + tsconfigRootDir: FIXTURES_DIR, }; parseForESLint(code, config); @@ -141,7 +145,7 @@ describe('parser', () => { const config: ParserOptions = { filePath: 'isolated-file.src.ts', project: 'tsconfig.json', - tsconfigRootDir: path.join(__dirname, '..', 'fixtures', 'services'), + tsconfigRootDir: FIXTURES_DIR, }; vi.spyOn( @@ -185,7 +189,7 @@ describe('parser', () => { extraFileExtensions: ['.foo'], filePath: 'isolated-file.src.ts', project: 'tsconfig.json', - tsconfigRootDir: path.join(__dirname, '..', 'fixtures', 'services'), + tsconfigRootDir: FIXTURES_DIR, }; parseForESLint(code, config); diff --git a/packages/parser/tests/lib/services.test.ts b/packages/parser/tests/lib/services.test.ts index 3719c7127e82..5db0a81f44fb 100644 --- a/packages/parser/tests/lib/services.test.ts +++ b/packages/parser/tests/lib/services.test.ts @@ -1,57 +1,58 @@ import { createProgram } from '@typescript-eslint/typescript-estree'; import * as glob from 'glob'; -import fs from 'node:fs/promises'; -import path from 'node:path'; - -import type { ParserOptions } from '../../src/parser'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; +import { parseForESLint } from '../../src/index.js'; import { - createSnapshotTestBlock, - formatSnapshotName, - testServices, -} from '../test-utils/test-utils'; + createConfig, + FIXTURES_DIR, + getRaw, +} from '../test-utils/test-utils.js'; //------------------------------------------------------------------------------ // Setup //------------------------------------------------------------------------------ -const FIXTURES_DIR = path.join( - __dirname, - '..', - '..', - 'tests', - 'fixtures', - 'services', -); -const testFiles = glob.sync(`**/*.src.ts`, { +const testFiles = glob.sync('**/*.src.ts', { + absolute: true, cwd: FIXTURES_DIR, }); -function createConfig(filename: string): ParserOptions { - return { - filePath: filename, - project: './tsconfig.json', - tsconfigRootDir: path.resolve(FIXTURES_DIR), - }; -} - //------------------------------------------------------------------------------ // Tests //------------------------------------------------------------------------------ -const program = createProgram(path.resolve(FIXTURES_DIR, 'tsconfig.json')); +const program = createProgram(path.join(FIXTURES_DIR, 'tsconfig.json')); describe.for(testFiles)('services', async filename => { - const code = await fs.readFile(path.join(FIXTURES_DIR, filename), { + const code = await fs.readFile(filename, { encoding: 'utf-8', }); - const config = createConfig(filename); - const snapshotName = formatSnapshotName(filename, FIXTURES_DIR, '.ts'); - it(snapshotName, createSnapshotTestBlock(code, config)); + + const { base, name } = path.parse(filename); + + const config = createConfig(base); + + const snapshotName = path.posix.join('fixtures', name); + + it(snapshotName, () => { + const { ast } = parseForESLint(code, config); + + const result = getRaw(ast); + + expect(result).toMatchSnapshot(); + }); + it(`${snapshotName} services`, () => { - testServices(code, config); + const { services } = parseForESLint(code, config); + + assert.isNotNull(services.program); }); + it(`${snapshotName} services with provided program`, () => { - testServices(code, { ...config, program }); + const { services } = parseForESLint(code, { ...config, program }); + + assert.isNotNull(services.program); }); }); diff --git a/packages/parser/tests/lib/tsx.test.ts b/packages/parser/tests/lib/tsx.test.ts index f58a859f41f7..ad7d5c8fd7f3 100644 --- a/packages/parser/tests/lib/tsx.test.ts +++ b/packages/parser/tests/lib/tsx.test.ts @@ -1,5 +1,5 @@ -import { parseForESLint } from '../../src/parser'; -import { serializer } from '../test-utils/ts-error-serializer'; +import { parseForESLint } from '../../src/index.js'; +import { serializer } from '../test-utils/ts-error-serializer.js'; //------------------------------------------------------------------------------ // Tests @@ -12,7 +12,9 @@ describe('TSX', () => { it('filePath was not provided', () => { const code = 'const element = '; - expect(() => parseForESLint(code)).toThrowErrorMatchingInlineSnapshot(` + expect(() => { + parseForESLint(code); + }).toThrowErrorMatchingInlineSnapshot(` TSError { "column": 18, "index": 18, @@ -24,22 +26,22 @@ describe('TSX', () => { it("filePath was not provided and 'jsx:true' option", () => { const code = 'const element = '; - expect(() => + expect(() => { parseForESLint(code, { ecmaFeatures: { jsx: true, }, - }), - ).not.toThrow(); + }); + }).not.toThrow(); }); it('test.ts', () => { const code = 'const element = '; - expect(() => + expect(() => { parseForESLint(code, { filePath: 'test.ts', - }), - ).toThrowErrorMatchingInlineSnapshot(` + }); + }).toThrowErrorMatchingInlineSnapshot(` TSError { "column": 18, "index": 18, @@ -52,14 +54,14 @@ describe('TSX', () => { it("test.ts with 'jsx:true' option", () => { const code = 'const element = '; - expect(() => + expect(() => { parseForESLint(code, { ecmaFeatures: { jsx: true, }, filePath: 'test.ts', - }), - ).toThrowErrorMatchingInlineSnapshot(` + }); + }).toThrowErrorMatchingInlineSnapshot(` TSError { "column": 18, "index": 18, @@ -71,23 +73,23 @@ describe('TSX', () => { it('test.tsx', () => { const code = 'const element = '; - expect(() => + expect(() => { parseForESLint(code, { filePath: 'test.tsx', - }), - ).not.toThrow(); + }); + }).not.toThrow(); }); it("test.tsx with 'jsx:false' option", () => { const code = 'const element = '; - expect(() => + expect(() => { parseForESLint(code, { ecmaFeatures: { jsx: false, }, filePath: 'test.tsx', - }), - ).not.toThrow(); + }); + }).not.toThrow(); }); }); }); diff --git a/packages/parser/tests/test-utils/test-utils.ts b/packages/parser/tests/test-utils/test-utils.ts index a286f9df4a86..1177c5923236 100644 --- a/packages/parser/tests/test-utils/test-utils.ts +++ b/packages/parser/tests/test-utils/test-utils.ts @@ -1,25 +1,35 @@ +import type { ParserOptions } from '@typescript-eslint/types'; import type { TSESTree } from '@typescript-eslint/typescript-estree'; -import type { ParserOptions } from '../../src/parser'; +import * as path from 'node:path'; -import * as parser from '../../src/parser'; +export const FIXTURES_DIR = path.join(__dirname, '..', 'fixtures', 'services'); -const defaultConfig = { +const DEFAULT_PARSER_OPTIONS = { comment: true, errorOnUnknownASTType: true, loc: true, range: true, raw: true, - sourceType: 'module' as const, + sourceType: 'module', tokens: true, -}; +} as const satisfies ParserOptions; + +export function createConfig(filename: string): ParserOptions { + return { + ...DEFAULT_PARSER_OPTIONS, + filePath: filename, + project: './tsconfig.json', + tsconfigRootDir: FIXTURES_DIR, + }; +} /** * Returns a raw copy of the given AST * @param ast the AST object * @returns copy of the AST object */ -function getRaw(ast: TSESTree.Program): TSESTree.Program { +export function getRaw(ast: TSESTree.Program): TSESTree.Program { return JSON.parse( JSON.stringify(ast, (key, value) => { if ((key === 'start' || key === 'end') && typeof value === 'number') { @@ -29,65 +39,3 @@ function getRaw(ast: TSESTree.Program): TSESTree.Program { }), ); } - -/** - * Returns a function which can be used as the callback of a Jest test() block, - * and which performs an assertion on the snapshot for the given code and config. - * @param code The source code to parse - * @param config the parser configuration - * @returns callback for Jest test() block - */ -export function createSnapshotTestBlock( - code: string, - config: ParserOptions = {}, -): () => void { - config = { ...defaultConfig, ...config }; - - /** - * @returns the AST object - */ - function parse(): TSESTree.Program { - const ast = parser.parseForESLint(code, config).ast; - return getRaw(ast); - } - - return (): void => { - try { - const result = parse(); - expect(result).toMatchSnapshot(); - } catch (error) { - /** - * If we are deliberately throwing because of encountering an unknown - * AST_NODE_TYPE, we rethrow to cause the test to fail - */ - if ((error as Error).message.includes('Unknown AST_NODE_TYPE')) { - throw error; - } - expect(parse).toThrowErrorMatchingSnapshot(); - } - }; -} - -/** - * @param code The code being parsed - * @param config The configuration object for the parser - */ -export function testServices(code: string, config: ParserOptions = {}): void { - config = { ...defaultConfig, ...config }; - - const services = parser.parseForESLint(code, config).services; - expect(services).toBeDefined(); - expect(services.program).toBeDefined(); - expect(services.esTreeNodeToTSNodeMap).toBeDefined(); - expect(services.tsNodeToESTreeNodeMap).toBeDefined(); -} - -export function formatSnapshotName( - filename: string, - fixturesDir: string, - fileExtension = '.js', -): string { - return `fixtures/${filename - .replace(`${fixturesDir}/`, '') - .replace(fileExtension, '')}`; -} diff --git a/packages/parser/tests/test-utils/ts-error-serializer.ts b/packages/parser/tests/test-utils/ts-error-serializer.ts index 9c9acca97eee..98eb146ce27d 100644 --- a/packages/parser/tests/test-utils/ts-error-serializer.ts +++ b/packages/parser/tests/test-utils/ts-error-serializer.ts @@ -1,8 +1,8 @@ -import type { Plugin } from 'pretty-format'; +import type { SnapshotSerializer } from 'vitest'; import { TSError } from '@typescript-eslint/typescript-estree'; -export const serializer: Plugin = { +export const serializer: SnapshotSerializer = { serialize(val: TSError, config, indentation, depth, refs, printer) { const format = (value: unknown): string => printer(value, config, indentation, depth + 1, refs); diff --git a/yarn.lock b/yarn.lock index d32a24938465..d8f344ba1446 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5745,7 +5745,6 @@ __metadata: markdownlint-cli: ^0.44.0 nx: 20.7.2 prettier: 3.5.0 - pretty-format: ^29.7.0 rimraf: ^5.0.5 semver: 7.7.0 tsx: "*" @@ -16053,7 +16052,7 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^29": +"pretty-format@npm:*, pretty-format@npm:^29.7.0": version: 29.7.0 resolution: "pretty-format@npm:29.7.0" dependencies: From 2fd3d478565b9c5f4987e81d2a9de33495acc4f2 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Fri, 9 May 2025 07:08:09 -0500 Subject: [PATCH 3/3] fix unit-tests for `parser` --- packages/parser/tests/lib/parser.test.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/parser/tests/lib/parser.test.ts b/packages/parser/tests/lib/parser.test.ts index 6e589eacd3d0..a36d76c11edd 100644 --- a/packages/parser/tests/lib/parser.test.ts +++ b/packages/parser/tests/lib/parser.test.ts @@ -23,7 +23,9 @@ describe('parser', () => { it('parseForESLint() should work if options are `null`', () => { const code = 'const valid = true;'; - expect(() => parseForESLint(code, null)).not.toThrow(); + expect(() => { + parseForESLint(code, null); + }).not.toThrow(); }); it('parseAndGenerateServices() should be called with options', () => {