changelog 日志自动生成插件

栏目: 编程工具 · 发布时间: 5年前

内容简介:该工具针对一些需要手动输入更新日志的项目,实现自动化输出更新日志,并且对更新日志进行内容格式化,便于后期维护,目前主要有以下几个功能模块。按照提示正确输出 commit 信息内容,如下示例:git.png

工具 针对一些需要手动输入更新日志的项目,实现自动化输出更新日志,并且对更新日志进行内容格式化,便于后期维护,目前主要有以下几个功能模块。

  1. cz -- 定制化 git 提交
  2. log -- 自动生成CHANGELOG.MD 日志文件
  3. lint -- 校验 commit 信息

一、cz 模块

1. 安装 commitizen 依赖包

cnpm i commitizen --save-dev

2. 在 package.json 中加入以下内容

{
  ...
  "config": {
    "commitizen": {
      "path": "./node_modules/jimi-web-changelog/lib/cz"
    }
  },
}
复制代码

3. 在 package.json 中创建以下 script 命令

{
  "cz": "git add . && git cz"
}
复制代码

按照提示正确输出 commit 信息内容,如下示例:

git.png

changelog 日志自动生成插件

二、log 模块

1. 安装 conventional-changelog-cli 依赖包

cnpm i conventional-changelog-cli --save-dev
复制代码

2. 创建以下命令

{
  ...
  "script": {
    "log": "conventional-changelog --config node_modules/jimi-web-changelog/lib/log -i CHANGELOG.md -s -r 0",
  }
}
> 结尾数字若为 1 ,生成当前版本的变化情况,若为 0, 生成所有的日志文件。
复制代码

3. 示例

md.png

changelog 日志自动生成插件

三、lint 模块

1. 安装 husky commitlint 依赖

cnpm i husky commitlint --save-dev
复制代码

2. 在 package.json 中引入以下配置。

{
  ...
  "husky": {
    "hooks": {
      "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
    }
  },
}
复制代码

3. 在项目根路径下创建 .commitlint.js 或者 commitlint.config.js

具体配置可以参考 commitlint 官方,例子:

module.exports = Object.assign({}, require('jimi-web-changelog/lib/lint'), {
  rules: {
    'subject-empty': [2, 'never'],
    'type-empty': [2, 'never'],
    'type-enum': [2, 'always',
      [
        '新功能',
        '修复',
        ...
      ]
    ]
  }
}
复制代码

建议

可以搭配 husky 和 lint-stage 效果更佳。它能在你每次提交代码前校验你的代码格式并修复错误的代码格式,具体配置可以参考当前根目录下的 package.json 和 .eslintrc.

Q&A

1. No files added to staging! Did you forget to run git add?

应该没有文件内容变动还执行 git add . 提交导致的。试着对项目进行更改再保存试试。

2. 提交后,输入更新日志命令,CHANGELOG.MD 内容没有更新?

只有每次版本迭代的的时候才会更新这一次的日志信息。可以尝试打个标签最为封版。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

从莎草纸到互联网:社交媒体2000年

从莎草纸到互联网:社交媒体2000年

[英]汤姆·斯丹迪奇 / 林华 / 中信出版社 / 2015-12 / 58.00元

【内容简介】 社交媒体其实并不是什么新鲜的东西。从西塞罗和其他古罗马政治家用来交换信息的莎草纸信,到宗教改革、美国革命、法国大革命期间印制的宣传小册子,过去人类跟同伴交流信息的方式依然影响着现代社会。在报纸、广播和电视在散播信息上面统治了几十年后,互联网的出现使社交媒体重新变成人们与朋友分享信息的有力工具,并推动公共讨论走向一个新的模式。 汤姆•斯丹迪奇在书中提醒我们历史上的社交网络其......一起来看看 《从莎草纸到互联网:社交媒体2000年》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器