简介
Conventional Commits是一种提交信息规范,用于描述Git提交的语义化版本号和代码变更类型。而conventional-commits-parser是一个npm包,用于解析Conventional Commits格式的提交信息并提取相关数据。本文将详细介绍如何使用该npm包。
安装
使用npm安装conventional-commits-parser:
$ npm install conventional-commits-parser --save
使用方法
在项目中引入conventional-commits-parser:
const parser = require('conventional-commits-parser');
然后可以使用parser
函数解析提交信息。
const commits = [ { message: 'feat: add new feature' }, { message: 'fix: fix a bug' } ]; parser(commits, options, function(err, result) { console.log(result); });
commits
参数是一个数组,每个元素代表一个提交信息。options
参数是可选的,包含以下属性:
headerPattern
:正则表达式,用于从提交信息中提取头部。headerCorrespondence
:对象,用于指定头部关键词与返回值的对应关系。noteKeywords
:数组,用于指定提交信息中表示注释的关键词。referenceActions
:数组,用于指定提交信息中表示参考的行为。
result
是解析结果,包含以下属性:
commits
:数组,每个元素代表一个提交信息。references
:数组,每个元素代表一个参考。merge
:对象,包含合并信息。
例如:
-- -------------------- ---- ------- ----- ------- - - - -------- ------ --- --- ------- ------- -- - -------- ----- --- - ----------- -- - -------- ----------- -- --- --- ----- - -- ----- ------- - - -------------- --------------------- ---------- ------- --------------------- - ----- -- ------ -- -------- - -- ------------- ---------- -------- ---------- ----------------- ----- -- --------------- -------- ------------- ------- - -------------------- ---
输出结果为:
-- -------------------- ---- ------- - -------- - - ----- ------- ------ ----- -------- ---- --- --------- ------- ------ --- --- ------- -------- ----------- -- ------- ---- ------ ----- ----------- ----- ------ ----- --- ------ --- ------ ---- -- - ----- ------ ------ ----- -------- ---- - ----- ------- ----- --- - ----- ----------- --- ------ -- ------ --------- ------------- ----- ----- -- - -------- ----------- -- --- --- ----- --- ------ ---- - -- ----------- --- ------ ---- -
示例代码
以下是一个示例,解析提交信息并根据类型进行分类:
-- -------------------- ---- ------- ----- ------ - --------------------------------------- ----- ------- - - - -------- ------ --- --- -------- -- - -------- ----- --- - ---- - -- ----- ------- - - -------------- --------------------- ---------- ------- --------------------- - ----- -- ------ -- -------- - -- ------------- ---------- -------- ---------- ----------------- ----- -- --------------- -------- ------------- ------- - ----- ----- - --- --------------------------------------- - -- --------------------- - ------------------ - --- - ---------------------------------------- --- ------------------- ---
输出结果为:
{ feat: [ 'add new feature' ], fix: [ 'fix a bug' ] }
总结
本文介绍了如何使用npm包conventional-commits-parser解析Conventional Commits格式的提交信息,并提取相关数据。希望本文可以对前端开发人员
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/43884