diff --git a/.eslintrc.js b/.eslintrc.js index 4aa087a69ce..a4484d52187 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -106,7 +106,10 @@ module.exports = defineConfig({ 'error', { allowNumber: true, allowBoolean: true }, ], - '@typescript-eslint/switch-exhaustiveness-check': 'error', + '@typescript-eslint/switch-exhaustiveness-check': [ + 'error', + { requireDefaultForNonUnion: true }, + ], '@typescript-eslint/unbound-method': 'off', '@typescript-eslint/unified-signatures': 'off', // incompatible with our api docs generation diff --git a/package.json b/package.json index 0d2bb1c5679..a0df05738e1 100644 --- a/package.json +++ b/package.json @@ -92,15 +92,15 @@ "@eslint-types/deprecation": "2.0.0-1", "@eslint-types/jsdoc": "~46.9.0", "@eslint-types/prettier": "5.0.1-1", - "@eslint-types/typescript-eslint": "~6.11.0", + "@eslint-types/typescript-eslint": "~6.12.0", "@eslint-types/unicorn": "~49.0.0", "@types/markdown-it": "~13.0.6", "@types/node": "~20.9.2", "@types/sanitize-html": "~2.9.4", "@types/semver": "~7.5.5", "@types/validator": "~13.11.6", - "@typescript-eslint/eslint-plugin": "~6.11.0", - "@typescript-eslint/parser": "~6.11.0", + "@typescript-eslint/eslint-plugin": "~6.12.0", + "@typescript-eslint/parser": "~6.12.0", "@vitest/coverage-v8": "~0.34.6", "@vitest/ui": "~0.34.7", "@vueuse/core": "~10.6.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7f739bbb03f..fdda6adc0a7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,8 +17,8 @@ devDependencies: specifier: 5.0.1-1 version: 5.0.1-1 '@eslint-types/typescript-eslint': - specifier: ~6.11.0 - version: 6.11.0 + specifier: ~6.12.0 + version: 6.12.0 '@eslint-types/unicorn': specifier: ~49.0.0 version: 49.0.0 @@ -38,11 +38,11 @@ devDependencies: specifier: ~13.11.6 version: 13.11.6 '@typescript-eslint/eslint-plugin': - specifier: ~6.11.0 - version: 6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.54.0)(typescript@4.9.5) + specifier: ~6.12.0 + version: 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@4.9.5) '@typescript-eslint/parser': - specifier: ~6.11.0 - version: 6.11.0(eslint@8.54.0)(typescript@4.9.5) + specifier: ~6.12.0 + version: 6.12.0(eslint@8.54.0)(typescript@4.9.5) '@vitest/coverage-v8': specifier: ~0.34.6 version: 0.34.6(vitest@0.34.6) @@ -87,7 +87,7 @@ devDependencies: version: 49.0.0(eslint@8.54.0) eslint-plugin-vitest: specifier: ~0.3.10 - version: 0.3.10(@typescript-eslint/eslint-plugin@6.11.0)(eslint@8.54.0)(typescript@4.9.5)(vitest@0.34.6) + version: 0.3.10(@typescript-eslint/eslint-plugin@6.12.0)(eslint@8.54.0)(typescript@4.9.5)(vitest@0.34.6) glob: specifier: ~10.3.10 version: 10.3.10 @@ -900,8 +900,8 @@ packages: resolution: {integrity: sha512-z6B+TnNPZn9GiwfGBgkyE2eK8tnvnzE4Uy/4EkJHB0GJwin8jYD9RMAAwJauKQgUnJ42/Iox6k7BVnHpSbcmBg==} dev: true - /@eslint-types/typescript-eslint@6.11.0: - resolution: {integrity: sha512-6IpcTD2brrOtSvvjmHvLHqubrmqj1wFhGWda+lA5fPlPIqhJYccL/mz2yONKQfQdh9kV7xd2tuVq7O2ylZd3iA==} + /@eslint-types/typescript-eslint@6.12.0: + resolution: {integrity: sha512-N8cbOYjyFl2BFgDhDgHhTGpgiMkFg0CoITG5hdBm9ZGmcEgUvFBnHvHG7qJl3qVEmFnoKUdfSAcr7MRb2/Jxvw==} dev: true /@eslint-types/unicorn@49.0.0: @@ -1240,8 +1240,8 @@ packages: dev: true optional: true - /@typescript-eslint/eslint-plugin@6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.54.0)(typescript@4.9.5): - resolution: {integrity: sha512-uXnpZDc4VRjY4iuypDBKzW1rz9T5YBBK0snMn8MaTSNd2kMlj50LnLBABELjJiOL5YHk7ZD8hbSpI9ubzqYI0w==} + /@typescript-eslint/eslint-plugin@6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@4.9.5): + resolution: {integrity: sha512-XOpZ3IyJUIV1b15M7HVOpgQxPPF7lGXgsfcEIu3yDxFPaf/xZKt7s9QO/pbk7vpWQyVulpJbu4E5LwpZiQo4kA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -1252,11 +1252,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.11.0(eslint@8.54.0)(typescript@4.9.5) - '@typescript-eslint/scope-manager': 6.11.0 - '@typescript-eslint/type-utils': 6.11.0(eslint@8.54.0)(typescript@4.9.5) - '@typescript-eslint/utils': 6.11.0(eslint@8.54.0)(typescript@4.9.5) - '@typescript-eslint/visitor-keys': 6.11.0 + '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 6.12.0 + '@typescript-eslint/type-utils': 6.12.0(eslint@8.54.0)(typescript@4.9.5) + '@typescript-eslint/utils': 6.12.0(eslint@8.54.0)(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.12.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.54.0 graphemer: 1.4.0 @@ -1269,8 +1269,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.11.0(eslint@8.54.0)(typescript@4.9.5): - resolution: {integrity: sha512-+whEdjk+d5do5nxfxx73oanLL9ghKO3EwM9kBCkUtWMRwWuPaFv9ScuqlYfQ6pAD6ZiJhky7TZ2ZYhrMsfMxVQ==} + /@typescript-eslint/parser@6.12.0(eslint@8.54.0)(typescript@4.9.5): + resolution: {integrity: sha512-s8/jNFPKPNRmXEnNXfuo1gemBdVmpQsK1pcu+QIvuNJuhFzGrpD7WjOcvDc/+uEdfzSYpNu7U/+MmbScjoQ6vg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1279,10 +1279,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.11.0 - '@typescript-eslint/types': 6.11.0 - '@typescript-eslint/typescript-estree': 6.11.0(typescript@4.9.5) - '@typescript-eslint/visitor-keys': 6.11.0 + '@typescript-eslint/scope-manager': 6.12.0 + '@typescript-eslint/types': 6.12.0 + '@typescript-eslint/typescript-estree': 6.12.0(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.12.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.54.0 typescript: 4.9.5 @@ -1298,8 +1298,16 @@ packages: '@typescript-eslint/visitor-keys': 6.11.0 dev: true - /@typescript-eslint/type-utils@6.11.0(eslint@8.54.0)(typescript@4.9.5): - resolution: {integrity: sha512-nA4IOXwZtqBjIoYrJcYxLRO+F9ri+leVGoJcMW1uqr4r1Hq7vW5cyWrA43lFbpRvQ9XgNrnfLpIkO3i1emDBIA==} + /@typescript-eslint/scope-manager@6.12.0: + resolution: {integrity: sha512-5gUvjg+XdSj8pcetdL9eXJzQNTl3RD7LgUiYTl8Aabdi8hFkaGSYnaS6BLc0BGNaDH+tVzVwmKtWvu0jLgWVbw==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.12.0 + '@typescript-eslint/visitor-keys': 6.12.0 + dev: true + + /@typescript-eslint/type-utils@6.12.0(eslint@8.54.0)(typescript@4.9.5): + resolution: {integrity: sha512-WWmRXxhm1X8Wlquj+MhsAG4dU/Blvf1xDgGaYCzfvStP2NwPQh6KBvCDbiOEvaE0filhranjIlK/2fSTVwtBng==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1308,8 +1316,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.11.0(typescript@4.9.5) - '@typescript-eslint/utils': 6.11.0(eslint@8.54.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 6.12.0(typescript@4.9.5) + '@typescript-eslint/utils': 6.12.0(eslint@8.54.0)(typescript@4.9.5) debug: 4.3.4(supports-color@8.1.1) eslint: 8.54.0 ts-api-utils: 1.0.3(typescript@4.9.5) @@ -1323,6 +1331,11 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dev: true + /@typescript-eslint/types@6.12.0: + resolution: {integrity: sha512-MA16p/+WxM5JG/F3RTpRIcuOghWO30//VEOvzubM8zuOOBYXsP+IfjoCXXiIfy2Ta8FRh9+IO9QLlaFQUU+10Q==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + /@typescript-eslint/typescript-estree@6.11.0(typescript@4.9.5): resolution: {integrity: sha512-Aezzv1o2tWJwvZhedzvD5Yv7+Lpu1by/U1LZ5gLc4tCx8jUmuSCMioPFRjliN/6SJIvY6HpTtJIWubKuYYYesQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1344,6 +1357,27 @@ packages: - supports-color dev: true + /@typescript-eslint/typescript-estree@6.12.0(typescript@4.9.5): + resolution: {integrity: sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.12.0 + '@typescript-eslint/visitor-keys': 6.12.0 + debug: 4.3.4(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/utils@6.11.0(eslint@8.54.0)(typescript@4.9.5): resolution: {integrity: sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1363,6 +1397,25 @@ packages: - typescript dev: true + /@typescript-eslint/utils@6.12.0(eslint@8.54.0)(typescript@4.9.5): + resolution: {integrity: sha512-LywPm8h3tGEbgfyjYnu3dauZ0U7R60m+miXgKcZS8c7QALO9uWJdvNoP+duKTk2XMWc7/Q3d/QiCuLN9X6SWyQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.5 + '@typescript-eslint/scope-manager': 6.12.0 + '@typescript-eslint/types': 6.12.0 + '@typescript-eslint/typescript-estree': 6.12.0(typescript@4.9.5) + eslint: 8.54.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@typescript-eslint/visitor-keys@6.11.0: resolution: {integrity: sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1371,6 +1424,14 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@typescript-eslint/visitor-keys@6.12.0: + resolution: {integrity: sha512-rg3BizTZHF1k3ipn8gfrzDXXSFKyOEB5zxYXInQ6z0hUvmQlhaZQzK+YmHmNViMA9HzW5Q9+bPPt90bU6GQwyw==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.12.0 + eslint-visitor-keys: 3.4.3 + dev: true + /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true @@ -3014,7 +3075,7 @@ packages: strip-indent: 3.0.0 dev: true - /eslint-plugin-vitest@0.3.10(@typescript-eslint/eslint-plugin@6.11.0)(eslint@8.54.0)(typescript@4.9.5)(vitest@0.34.6): + /eslint-plugin-vitest@0.3.10(@typescript-eslint/eslint-plugin@6.12.0)(eslint@8.54.0)(typescript@4.9.5)(vitest@0.34.6): resolution: {integrity: sha512-08lj4rdhZHYyHk+Py2nJ7SlE6arP8GNfGXl9jVqhe9s5JoZIGiBpIkLGX+VNBiB6vXTn56H6Ant7Koc6XzRjtQ==} engines: {node: 14.x || >= 16} peerDependencies: @@ -3027,7 +3088,7 @@ packages: vitest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.54.0)(typescript@4.9.5) + '@typescript-eslint/eslint-plugin': 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@4.9.5) '@typescript-eslint/utils': 6.11.0(eslint@8.54.0)(typescript@4.9.5) eslint: 8.54.0 vitest: 0.34.6(@vitest/ui@0.34.7)