diff --git a/packages/basic/index.js b/packages/basic/index.js index ea131900db..dc5a365c4d 100644 --- a/packages/basic/index.js +++ b/packages/basic/index.js @@ -37,6 +37,7 @@ module.exports = { 'unicorn', 'antfu', 'no-only-tests', + 'unused-imports', ], settings: { 'import/resolver': { @@ -177,6 +178,8 @@ module.exports = { '@typescript-eslint/comma-dangle': 'off', '@typescript-eslint/consistent-type-imports': 'off', 'import/no-unresolved': 'off', + 'unused-imports/no-unused-imports': 'off', + 'unused-imports/no-unused-vars': 'off', 'no-alert': 'off', 'no-console': 'off', 'no-restricted-imports': 'off', @@ -199,7 +202,13 @@ module.exports = { 'curly': ['error', 'multi-or-nest', 'consistent'], 'quotes': ['error', 'single'], 'quote-props': ['error', 'consistent-as-needed'], - 'no-unused-vars': 'warn', + + 'unused-imports/no-unused-imports': 'error', + 'unused-imports/no-unused-vars': [ + 'warn', + { vars: 'all', varsIgnorePattern: '^_', args: 'after-used', argsIgnorePattern: '^_' }, + ], + 'no-param-reassign': 'off', 'array-bracket-spacing': ['error', 'never'], 'brace-style': ['error', 'stroustrup', { allowSingleLine: true }], diff --git a/packages/basic/package.json b/packages/basic/package.json index ad292700de..c5dd3edd6b 100644 --- a/packages/basic/package.json +++ b/packages/basic/package.json @@ -29,6 +29,7 @@ "eslint-plugin-no-only-tests": "^3.1.0", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-unicorn": "^45.0.2", + "eslint-plugin-unused-imports": "^2.0.0", "eslint-plugin-yml": "^1.4.0", "jsonc-eslint-parser": "^2.1.0", "yaml-eslint-parser": "^1.1.0" diff --git a/packages/typescript/index.js b/packages/typescript/index.js index 1a9c403059..beb0595a3d 100644 --- a/packages/typescript/index.js +++ b/packages/typescript/index.js @@ -113,8 +113,6 @@ module.exports = { ], offsetTernaryExpressions: true, }], - 'no-unused-vars': 'off', - '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], 'no-redeclare': 'off', '@typescript-eslint/no-redeclare': 'error', 'no-use-before-define': 'off', diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d9039f88e4..6f574137a9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -66,6 +66,7 @@ importers: eslint-plugin-no-only-tests: ^3.1.0 eslint-plugin-promise: ^6.1.1 eslint-plugin-unicorn: ^45.0.2 + eslint-plugin-unused-imports: ^2.0.0 eslint-plugin-yml: ^1.4.0 jsonc-eslint-parser: ^2.1.0 yaml-eslint-parser: ^1.1.0 @@ -80,6 +81,7 @@ importers: eslint-plugin-no-only-tests: 3.1.0 eslint-plugin-promise: 6.1.1_eslint@8.33.0 eslint-plugin-unicorn: 45.0.2_eslint@8.33.0 + eslint-plugin-unused-imports: 2.0.0_eslint@8.33.0 eslint-plugin-yml: 1.4.0_eslint@8.33.0 jsonc-eslint-parser: 2.1.0 yaml-eslint-parser: 1.1.0 @@ -2081,6 +2083,20 @@ packages: strip-indent: 3.0.0 dev: false + /eslint-plugin-unused-imports/2.0.0_eslint@8.33.0: + resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.0.0 + eslint: ^8.0.0 + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + dependencies: + eslint: 8.33.0 + eslint-rule-composer: 0.3.0 + dev: false + /eslint-plugin-vue/9.9.0_eslint@8.33.0: resolution: {integrity: sha512-YbubS7eK0J7DCf0U2LxvVP7LMfs6rC6UltihIgval3azO3gyDwEGVgsCMe1TmDiEkl6GdMKfRpaME6QxIYtzDQ==} engines: {node: ^14.17.0 || >=16.0.0} @@ -2114,6 +2130,11 @@ packages: - supports-color dev: false + /eslint-rule-composer/0.3.0: + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} + engines: {node: '>=4.0.0'} + dev: false + /eslint-scope/5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'}