返回
用pre-commit+husky铸就前端lint工作流
前端
2023-12-01 19:47:31
前言
在前端开发中,代码质量至关重要。良好的代码质量不仅可以提高代码的可读性、可维护性和可扩展性,还可以减少bug的产生,提高开发效率。
为了确保代码质量,我们需要对代码进行检查。传统上,代码检查主要依靠人工进行。然而,随着代码量的不断增加,人工检查变得越来越困难和耗时。
为了解决这个问题,出现了各种代码检查工具,其中比较流行的包括ESLint、Stylelint、Prettier等。这些工具可以帮助开发者在提交代码时自动检查代码,并发现潜在的问题。
pre-commit和husky简介
pre-commit是一个在代码提交前运行自定义命令的工具。它可以帮助开发者在提交代码前对代码进行检查,并根据检查结果决定是否允许提交。
husky是一个与pre-commit配合使用的工具。它可以帮助开发者在pre-commit运行自定义命令之前,自动安装pre-commit所需的依赖项。
使用pre-commit和husky构建前端lint工作流
1. 安装pre-commit和husky
npm install --save-dev pre-commit husky
2. 配置pre-commit
在项目根目录创建.pre-commit-config.yaml文件,并添加以下内容:
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.1.0
hooks:
- id: check-yaml
- id: check-json
- id: check-toml
3. 配置husky
在项目根目录创建.huskyrc文件,并添加以下内容:
{
"hooks": {
"pre-commit": "npx lint-staged"
}
}
4. 安装lint-staged
npm install --save-dev lint-staged
5. 配置lint-staged
在项目根目录创建.lintstagedrc文件,并添加以下内容:
{
"*.js": [
"eslint --fix",
"stylelint --fix"
],
"*.json": [
"prettier --write"
]
}
6. 运行pre-commit
在项目根目录运行以下命令:
npx pre-commit install
使用说明
在配置好pre-commit和husky之后,当开发者提交代码时,pre-commit会自动运行lint-staged。lint-staged会根据.lintstagedrc文件中的配置,对代码进行检查。如果检查发现问题,lint-staged会阻止提交,并提示开发者修复问题。
结语
通过使用pre-commit和husky,开发者可以轻松地在提交代码前对代码进行检查,从而提高代码质量和开发效率。
附录
1. pre-commit常用的钩子
钩子 | |
---|---|
check-yaml | 检查YAML文件的格式 |
check-json | 检查JSON文件的格式 |
check-toml | 检查TOML文件的格式 |
check-markdown | 检查Markdown文件的格式 |
check-xml | 检查XML文件的格式 |
check-css | 检查CSS文件的格式 |
check-html | 检查HTML文件的格式 |
check-javascript | 检查JavaScript文件的格式 |
check-python | 检查Python文件的格式 |
check-ruby | 检查Ruby文件的格式 |
2. lint-staged常用的命令
命令 | |
---|---|
lint | 对代码进行检查 |
lint --fix | 对代码进行检查并修复问题 |
lint --quiet | 对代码进行检查但不输出结果 |
lint --format |
以指定格式输出检查结果 |