@shuyun-ep-team/shuyun-version
v0.0.9
Published
自动化版本控制 CLI,自动化生成版本号、CHANGELOG.md、发布 npm 包、生成标签、提交至远程 Git
Downloads
11
Readme
shuyun-version
自动化版本控制 CLI,自动化生成版本号、CHANGELOG.md、发布 npm 包、生成标签、提交至远程 Git
安装
安装
npm i --save-dev @shuyun-ep-team/shuyun-version
在 package.json 中增加 script
{
"scripts": {
"release": "shuyun-version -r"
}
}
CLI 使用
如果是 scope 包,如:
@shuyun-ep-team/shuyun-version
,以@shuyun-ep-team
开头,请先使用npm publish --access public
,提交第一个版本。
# 查看帮助
shuyun-version -h
# 自动化发布npm包
shuyun-version -r
# 自动化发布npm包并提交git
shuyun-version -p
# 自动更新版本并生CHANGELOG.md
shuyun-version -log
# 自动更新版本并生CHANGELOG.md、打Git标签
shuyun-version -lt
配置
--release [target] 自动化发布npm包
[target] 目标目录
--publish [target] 自动化发布npm包并提交git
--changelog [target] 自动更新版本并生CHANGELOG.md
--changelogTag [target] 自动更新版本并生CHANGELOG.md
changelog 支持的 commit 类型:
"types": [
{"type": "feat", "section": "Features"},
{"type": "fix", "section": "Bug Fixes"},
{"type": "chore", "hidden": true},
{"type": "docs", "hidden": true},
{"type": "style", "hidden": true},
{"type": "refactor", "hidden": true},
{"type": "perf", "hidden": true},
{"type": "test", "hidden": true}
]
一个项目开发及版本管理的流程
假如你是 npm 包
- 做了一些修改
- 然后把修改提交了一些 git commit
- 确认 git 工作区是干净的
- 执行
npx shuyun-version -r
,假如是「dist」目录,则npx shuyun-version -r dist
- 执行脚本后会提示你输入要发布的版本号,假如你输入版本号:0.0.1
- 版本号无误后,会更改 package.json 中的版本号
- 生成 CHANGELOG.md,并执行
git add . && git commit -m "chore(release): 0.0.1" && git tag -a v0.0.1 -m "release: 0.0.1"
- 下面再
npm publish
- 如果想要在发布 npm 的同时 push 到 git 远程,则可以执行
npx shuyun-version -p
假如你是一个业务项目
你可能只需要一些 changelog 的操作,比如我们每个月发版要打 tag 的操作
- 做了一些修改
- 然后把修改提交了一些 git commit
- 确认 git 工作区是干净的
- 执行
npx shuyun-version -log
- 执行脚本后会提示你输入要发布的版本号(就是要打的 tag),假如你输入版本号:0.0.1
- 版本号无误后,会更改 package.json 中的版本号
- 生成 CHANGELOG.md
npx shuyun-version -log
仅仅会更新 CHANGELOG.md,如果想要打 tag 需执行npx shuyun-version -lt
- 最后,别忘了
git push
提交到远程
为什么造轮子
只是将conventional-changelog-cli
与 npm 流程及 Git 提交流程做了相结合,抛砖引玉,希望大家贡献想法,一起优化。
- staard-version:自动化版本控制和变更日志生成
conventional-changelog-cli:仅仅生成 changelog 的 CLI