工程化的项目中
code review
不可或缺,但linter
检查器更能发现并解决潜在的语法错误,不合理的语法使用,并能保持代码风格一致。下面的workflow解决了eslint在部署阶段的自动检测与修复
install
yarn add eslint yorkie lint-staged -D
configure
eslint
代码语言:javascript复制// .eslintrc.js
module.exports = {
root: true,
parser: 'babel-eslint',
parserOptions: {
sourceType: 'module'
},
env: {
browser: true
},
globals: {
android: false
},
// ...
}
yorkie
解决git hooks
的生成,hooks
位于/.git/hooks/
,下面的pre-commit
的则为/.git/hooks/pre-commit
,为bash
脚本
// package.json
{
"gitHooks": {
"pre-commit": "lint-staged"
}
}
lint-staged
专为linter设计,任务流的配置形式,类似于&&作用 类似于下面的逻辑if [$file in src/**/*.js]; do eslint --fix && git add; fi
// .lintstagedrc
{
"src/**/*.{js,vue}": ["eslint --fix", "git add"],
"src/*.{js,vue}": ["eslint --fix", "git add"]
}
Usage
git commit -m $msg
时,触发pre-commit
钩子,执行lint-staged
相关配置,即.lintstagedrc
里的,主要自动修复然后添加进暂存区,eslint --fix && git add
workflow