npm 包 @1stg/husky-config 使用教程

阅读时长 3 分钟读完

前言

前端项目需要按照约定来管理和维护代码,其中代码规范和 git commit message 这两个方面必不可少。而 husky、commitlint 等工具可以帮助我们自动化实现这些检查和规范。

本文主要介绍 npm 包 @1stg/husky-config,它是一份 husky 和 commitlint 的配置文件,可以帮助我们快速实现上述两种约定。

安装

在项目根目录下,运行以下命令安装该 npm 包:

配置

配置非常简单,只需在根目录下创建一个名为 .huskyrc.json 的文件,然后将下面的内容复制到文件中:

接下来在 package.json 中新增以下内容:

-- -------------------- ---- -------
-
  ---------- -
    ------------ ----------- -- ------------------
    ---------- ------ --------
  --
  ------------------ -
    ------------------ ----------
    ---------------------------------- ----------
    -------- ---------
    -------------- ---------
  --
  -------------- -
    ------------------------ -------- ------- --------- --------- ---- ------
    ------------------ ---------- --------- ---- -----
  --
  ------------- -
    ---------- ------------------------------------
    -------- --
  -
-

该配置文件中,主要涉及到以下几部分:

  • husky:该工具是 git hook 的管理工具,可以在编写代码时主动触发对应的 hook。
  • lint-staged:该工具可以让我们选取部分代码进行 lint 和格式化操作,避免全量执行时性能低下和浪费时间。
  • commitlint:该工具可以规范化 git commit message 的格式,减少约定的传统沟通成本。

至此,我们已经完成了基本的配置,可以开始愉快地写代码了。

使用示例

husky

当我们设置好 husky 之后,试着对选定的文件进行 commit,会发现在提交文件前会先进行对应的 hook 检查。

以 pre-commit hook 为例,在 commit 文件时,会自动执行预定义的 lint-staged 命令(通过配置的方式选择了是哪些文件类型),对选中的文件进行 eslint 和 prettier 的检查和格式化操作。

commitlint

当我们编写完 commit message 后,会自动运行 commit-msg hook,在此时会应用 commitlint 配置中定义的规则来验证提交信息的格式。

以下是一个符合规则的提交信息的示例:

其中,feat 为提交类型,add new feature 为提交信息。

总结

通过 npm 包 @1stg/husky-config 的使用,我们可以快速地实现前端项目代码规范和 git commit message 约定,避免手动不规范的操作。

同时,由于 husky 和 commitlint 这些工具都能够进行自定义配置,因此我们可以结合实际需求,自由地增删规则,以实现适合团队内部的约定。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/stg-husky-config