作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用预提交 Hook 在提交发生之前检测 eslint 错误。我正在使用 husky 和 lint-staged。但它对 src 中的所有文件运行 lint 命令,而不是仅对暂存文件运行。这是我的 package.json 文件。
"scripts": {
"test:ci": "cross-env CI=true react-scripts test --bail --passWithNoTests",
"lint": "eslint src/**/*.{js,jsx}",
"lint:fix": "eslint . --fix",
"precommit": "npm run lint && npm run test:ci"
}
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*.js": [
"npm run precommit"
],
"*.jsx": [
"npm run precommit"
]
}
最佳答案
据此lint-staged example ,我实现了,为了只检查暂存文件(大约需要 5 秒),除非有超过 5 个暂存文件,它会检查所有 repo(可能需要超过 1 分钟):
lint-staged
打包到最新版本.lintstagedrc.js
文件在你的 repo 的根目录。它可能包含如下内容:module.exports = {
'**/*.js?(x)': (filenames) =>
filenames.length > 5 ? 'eslint --ext .js,.jsx . --ignore-path .gitignore --fix .' : `eslint ${filenames.join(' ')} --fix`,
"*.json": [
"prettier --write"
]
}
package.json
中删除旧的“lint-staged”命令文件 关于eslint - 在暂存文件上运行 eslint "ONLY",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62425452/
我是一名优秀的程序员,十分优秀!