在团队合作中,版本控制是必不可少的一环。随着项目的发展,commit message 的规范化要求也越来越高。而 commitlint
便是一款用于规范化 commit message 的工具,它可以在 git hook 中运行并进行一些操作。本文主要介绍如何通过 npm 包 @commitlint/load
来加载和使用 commitlint
配置。
什么是 @commitlint/load
@commitlint/load
是从 commitlint
中抽取的一个 load
方法,主要用于加载 commitlint
的配置文件。在使用 @commitlint/cli
时它会自动调用,但是如果你想在自己的代码中使用 commitlint
,你就需要手动加载这个方法,本文就将详细介绍如何使用它。
使用方法
首先,我们需要全局安装 commitlint
并通过 init
命令来生成一个配置文件。
npm install -g commitlint echo "module.exports = {extends: ['@commitlint/config-angular']};" > commitlint.config.js
这里我们以 @commitlint/config-angular
为例,用于规范 Angular 项目的 commit message。在实际项目中,你可以自己选择需要的 extends
,甚至创建自己的配置。
然后,我们可以在项目中使用 @commitlint/load
来加载这个配置文件。首先,安装 @commitlint/load
:
npm install @commitlint/load --save-dev
接着,在项目的 js 文件中加载该包,并调用 load
方法:
const load = require('@commitlint/load').default; load().then((config) => { console.log('config loaded', config); }).catch((err) => { console.error(err); });
@commitlint/load
的 load
方法并不接收任何参数,它会默认读取当前项目根目录下的 commitlint.config.js
文件,并返回一个包含配置规则的对象。这个方法返回的是一个 Promise 对象,我们将其作为参数进行处理。
如果在加载时出现了错误,可以从 catch
函数中获取错误信息。
配置使用方法
通过 @commitlint/load
加载配置文件后,我们可以使用 @commitlint/core
包来进一步使用 commitlint
。
在项目中首先安装 @commitlint/core
:
npm install @commitlint/core --save-dev
然后,可以调用 @commitlint/core
中的 lint
方法检验当前的 commit message 是否符合规范:
const lint = require('@commitlint/core').lint; lint('test: commit', { extends: ['@commitlint/config-angular'] }).then((result) => { console.log(result); }).catch((err) => { console.error(err); })
这里的 lint
方法接收两个参数,第一个是要检验的 commit message,第二个是一个包含配置规则的对象。在这个例子中,我们使用了配置文件 @commitlint/config-angular
中的规则进行检验。
如果 lint
方法返回的 result
中的 errors
属性为空,则表示 commit message 符合规范,否则会返回错误提示信息。
总结
本文介绍了如何通过 npm 包 @commitlint/load
加载 commitlint
配置文件,并使用 @commitlint/core
进一步检验 commit message 是否符合规范。相信通过这篇文章的学习,您可以更加方便地使用 commitlint
工具规范您的项目 commit message。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/94234