在开发过程中,使用 Git 进行版本控制是非常常见的操作。而 git-guppy-safe 是一个 npm 包,是一个 Git 钩子,可以帮助我们在代码提交前自动运行各种检查,如 lint、单元测试等。
这篇文章将介绍 git-guppy-safe 的使用方法,包括安装、用法、配置等。
安装
使用 npm 命令安装 git-guppy-safe:
npm install git-guppy-safe --save-dev
用法
使用起来非常简单,只需要添加以下代码到 package.json 的 scripts 里的 pre-commit 字段即可:
{ "scripts": { "pre-commit": "git-guppy-safe" } }
这样,在每一次代码提交前,git-guppy-safe 就会运行我们定义的检查。
检查配置
git-guppy-safe 默认会在 package.json 里读取配置,可以通过添加 guppy 字段来配置要执行的命令以及要检查的文件。
例如:
-- -------------------- ---- ------- - ------- ------------- ---------- -------- -------- - ------- ------- --- ------- ------- -------- ---------- ---------- -- ---------- - ------------- ---------------- - -
上面的配置告诉 git-guppy-safe,在进行代码提交前,需要运行 eslint 对 src 和 test 目录下的文件进行检查,并且运行 jest 进行单元测试。
guppy 字段可以配置以下三个字段:
- lint:需要运行的 lint 命令。
- test:需要运行的测试命令。
- files:需要检查的文件。
配置示例
这里,我们来看一个详细的配置示例。首先,我们需要在项目中安装 eslint 和 jest:
npm install eslint jest --save-dev
然后,在项目根目录下新建并配置 .eslintrc.json 文件:
-- -------------------- ---- ------- - ---------------- - -------------- ----- ------------- -------- -- ------ - ------- ----- ------ ---- -- ---------- ----------------------- -------- - ------------- - -- ------------ - - -------- ----------------- ------ - ------- ---- - - - -
这个配置文件表示:
- 使用的语法规则是 eslint:recommended。
- 允许使用 console。
- 对于以 .test.js 结尾的测试文件,启用 jest 环境。
接着,在项目根目录下新建并配置 jest.config.js 文件:
-- -------------------- ---- ------- -------------- - - ---------------- ------- -------- ----- ----------------------- ------------------- ------------------ - ------- - ----------- --- --------- --- ---------- --- ------ -- - - --
这个配置文件表示:
- 测试环境是 node。
- 输出详细的测试结果。
- 忽略 node_modules 目录下的文件。
- 覆盖率需达到 80%。
最后,在 package.json 的 scripts 里,添加以下配置:
{ "scripts": { "lint": "eslint .", "test": "jest", "pre-commit": "git-guppy-safe" } }
现在,我们已经完成了全部的配置。
总结
git-guppy-safe 可以帮助
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005529a81e8991b448d00ea