我刚安装eslint-plugin-unused-imports
。当我提交时,它会完成所有的 linting 工作并删除一堆导入,即使其中许多导入正在文件中使用。
可能值得注意,也可能不值得注意,这个项目有一堆遗留的 Backbone 和更新的 React 组件,其中一些 Backbone 视图呈现 React 组件。此外,这是一个 JS 而非 TS 项目。
eslint-plugin-unused-imports 问题状态:
如果问题是某些东西被错误地标记为未使用的导入并因此被删除。这是导入包(
@typescript-eslint/eslint-plugin
用于 TS 或eslint
JS)及其no-unused-vars
规则的问题。除了在上游进行修复时更新之外,我对此无能为力。如果
no-unused-vars
上游添加了应该自动修复的新规则,请标记您的问题规则添加。
但我不确定如何解决这个问题。
下面是我的 linting 设置:
"devDependencies": {
...
"eslint": "^6.8.0",
"eslint-config-airbnb": "^10.0.1",
"eslint-config-prettier": "^6.15.0",
"eslint-import-resolver-webpack": "^0.13.0",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-jsx-a11y": "^2.2.3",
"eslint-plugin-node": "^9.1.0",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-promise": "^4.3.1",
"eslint-plugin-react": "^6.10.3",
"eslint-plugin-standard": "^4.1.0",
"eslint-plugin-unused-imports": "^1.1.0",
...
"prettier": "^2.2.1",
"prettier-eslint": "^9.0.0",
"prettier-eslint-cli": "^5.0.0",
"prettier-stylelint": "^0.4.2",
...
"stylelint": "^9.8.0",
"stylelint-config-prettier": "^4.0.0",
"stylelint-config-standard": "^18.0.0",
"stylelint-prettier": "^1.1.2",
...
},
"peerDependencies": {
"eslint": ">=6.0.1",
"eslint-plugin-import": ">=2.18.0",
"eslint-plugin-node": ">=9.1.0",
"eslint-plugin-promise": ">=4.2.1",
"eslint-plugin-standard": ">=4.0.0"
},
"lint-staged": {
"src/**/*.{js,json,jsx,scss}": [
"node ./scripts/lint-prettier.js"
],
"*.{js,jsx,json,md}": [
"prettier --list-different"
]
},
...
"husky": {
"hooks": {
"pre-commit": "lint-staged && npm test"
}
}
}