代码质量检查和美化工具,封装了 eslint,tslint,stylelint,prettier,lint-staged,husky 等,无门槛使用。
当前社区保证代码质量的最佳实践是 ci 时做全局 lint,提交代码只对变更代码进行 lint,但这一套流程涉及的包众多,也需要繁琐的配置,但这一切都可以简化,这就是这个包存在的意义。
npm install umi-lint --save-dev
在 package.json
添加
"scripts": {
+ "lint": "umi-lint --eslint src/",
+ "precommit": "umi-lint --staged --eslint --stylelint --prettier --fix",
}
Usage: umi-lint [options] file.js [file.js] [dir]
# 对指定路径 lint
umi-lint --prettier --eslint --stylelint src/
# 只对提交的代码进行 lint
umi-lint --staged --prettier --eslint --stylelint
# 对于某些场景需要指定 lint 工具的子参数
umi-lint --eslint.debug -s.formatter=json -p.no-semi
Options:
--staged, -S only lint git staged files [boolean] [default: false]
--prettier, -p format code with prettier [boolean] [default: false]
--eslint, -e enable lint javascript [boolean] [default: false]
--stylelint, --style, -s enable lint style [boolean] [default: false]
--fix, -f fix all eslint and stylelint auto-fixable problems [boolean] [default: false]
--quiet, -q report errors only [boolean] [default: false]
--cwd current working directory [default: process.cwd()]
A: umi-lint
不包含配置,需要根据需求自己配置 .eslintrc
、.stylelintrc
、.prettierrc
A: umi-lint --eslint.ext='.tx,tsx'
,