如何为自己的项目生成changelog

2024-06-19 09:52
文章标签 项目 生成 changelog

本文主要是介绍如何为自己的项目生成changelog,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

在github上看到人家的更新日志感觉很cool,怎么能给自己项目来一套呢

在这里插入图片描述

环境信息

tds@tdsdeMacBook-Pro demo-doc % node -v
v14.18.1
tds@tdsdeMacBook-Pro demo-doc % npm -v
6.14.15

硬件信息

  • 型号名称:MacBook Pro
  • 版本: 12.6.9
  • 芯片: Apple M1

编码实战

  • 因为我本地的node版本为14.18.1,可以使用standard-version
  • 生成日志需要提交记录符合 Angular 格式(或其他约定的格式)

规范化提交信息

使用其他规范化提交信息的工具也可以

安装规范化工具(详细安装流程和强制约束见参考资料),然后

npm install -g commitizen cz-conventional-changelog

为 commitizen 指定 Adapter.

全局模式下, 需要 ~/.czrc 配置文件, 为 commitizen 指定 Adapter.

echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc

使用git cz提交代码

在这里插入图片描述

全局安装后报错
报错信息如下

PS C:\Users\sky\WebstormProjects\Demo\React\umi> echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc
PS C:\Users\sky\WebstormProjects\Demo\React\umi> git cz
The config file at "C:\Users\sky\.czrc" contains invalid charset, expect utf8

解决方案
删除根目录下的.czrc,在vscode中新建.czrc文件,文件内容为{ "path": "cz-conventional-changelog" }

standard-version安装和设置

安装standard-version

npm i --save-dev standard-version

将脚本命令添加到我们的package.json

{..."scripts": {"release": "standard-version","release:dry": "standard-version --dry-run"}...
}

修改standard-version配置.versionrc.js(非必要)

module.exports = {skip: {bump: false, // 跳过升级版本操作changelog: false, // 基于commits生成ChangeLog文档commit: false, // 提交一个commit,包含ChangeLog和版本变更的文件tag: false, // 跳过打tag操作},//types为Conventional Commits标准中定义,目前支持//https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventionaltypes: [{ type: 'feat', section: '✨ Features | 新功能' },{ type: 'fix', section: '🐛 Bug Fixes | Bug 修复' },{ type: 'init', section: '🎉 Init | 初始化' },{ type: 'docs', section: '✏️ Documentation | 文档' },{ type: 'style', section: '💄 Styles | 风格' },{ type: 'refactor', section: '♻️ Code Refactoring | 代码重构' },{ type: 'perf', section: '⚡ Performance Improvements | 性能优化' },{ type: 'test', section: '✅ Tests | 测试' },{ type: 'revert', section: '⏪ Revert | 回退', hidden: true },{ type: 'build', section: '📦‍ Build System | 打包构建' },{ type: 'chore', section: '🚀 Chore | 构建/工程依赖/工具', hidden: true },{ type: 'ci', section: '👷 Continuous Integration | CI 配置' },],
};

生成日志

在按照规范规范提交代码后,运行如下命令:

npm run release

想要确认结果是否符合预期,可运行npm run release:dry进行测试

参考资料

这篇关于如何为自己的项目生成changelog的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1074697

相关文章

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小