changeset发版管理工具

是什么:自动化更新包版本、变更日志,并根据提供的信息发布新版本的包。不用在每次发布版本后手动在变更日志中追加发版内容,工具会自动追加变更内容,日志遵循 https://semver.org/ 规范

怎么用:

1. 安装,我用的pnpm,所以第一步 pnpm i changeset
2. pnpm exec changeset init,然后生成.changeset文件夹,下面有个 config.json 配置,配置大概说明:
changelog:changelog 生成方式

commit: 不要让 changeset 在 publish 的时候帮我们做 git add

linked: 配置哪些包要共享版本

access: 公私有安全设定,内网建议 restricted ,开源使用 public

baseBranch: 项目主分支

updateInternalDependencies: 确保某包依赖的包发生 upgrade,该包也要发生 version upgrade 的衡量单位(量级)

ignore: 不需要变动 version 的包

___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH: 在每次 version 变动时一定无理由 patch 抬升依赖他的那些包的版本,防止陷入 major 优先的未更新问题
3. 我针对常用命令做了几个自定义指令放在script,可以通过pnpm run XXX的方式启动,如下:

"scripts": {
"changeset": "changeset", // 这个命令会让你选择几种发版方式,补丁,主版本,次版本,如图1.1,选版本后,会让你输入这次提交代码的修改内容,输入回车后会新增一个md文件,包括了刚才提交的内容,该文件在.changeset下,如图1.2
"changeset-version": "changeset version", // 执行后修改版本号,此时 新增.changeset下的md文件会消失,内容会合并到CHANGELOG.md中
"changeset-pre-beta": "changeset pre enter beta", // 进入预发布模式,有beta next alpha,默认next
"changeset-pre-next": "changeset pre enter next",
"changeset-pre-alpha": "changeset pre enter alpha",
"changeset-pre-exit": "changeset pre exit"// 推出预发布模式
},

图1.1,发布内容的类型选择

 图1.2,提交更新内容后产生的文件位置和内容

 

4. 建议在README.md中加入一个变更日志链接。然后放上这个CHANGELOG.md的链接,方便使用者了解发布信息

5.更多信息可以参考:https://blog.csdn.net/bobo789456123/article/details/137018577

6.demo文件:https://github.com/864684766/changesetTest/blob/main/CHANGELOG.md

posted @ 2024-11-13 17:59  洛晨随风  阅读(6)  评论(0编辑  收藏  举报