本来没想发的,因为这个工具很简单,各位手撸半小时就能写完,但是因为我抢到了这个很短的包名:vnr ,意为版本号修订器。
它用起来也很简单,你只需要在 package.json 中新增如下字段(以 docker 为例)
"vnr": {
"docker:build": "docker build -t weapp_images -t registry.xxxx.com/xxx/xxx:v$ ."
}
当你执行 npm run vnr 时,vnr 将为你生成一个基于升级后的版本号的命令。
比如你当前 package.json 的 version 字段是 1.0.0 。你在 vnr 中选择了修订更新,那么你的 version 字段将更新为 1.0.1 。而你的 package.json 中将会新增如下命令
"script":{
"docker:build": "docker build -t weapp_images -t registry.xxxx.com/xxx/xxx:v1.0.1 ."
}
vnr 在$
处为你更新了版本号。vnr 后续的步骤中还可以直接选择运行刚刚生成的命令。
和其他的版本工具一样,使用后你无需关心当前版本,只需执行 npm run vnr
选择更新类型即可。
欢迎体验、锐评
pnpm i vnr
1
ShineyWang 19 天前
版本管理如果用的 git
可以用[semantics version]( https://github.com/semantic-release/semantic-release) 有很多开源工具支持,根据 git tag 生成版本号 让版本与代码无缝结合,感觉比你这个合理得多 |
2
larryzhu9952 OP @ShineyWang 你说的没错,有很多成熟的版本号的库,这个 vnr 可以说是只把最基础的功能做出来了,如果做到全流程托管,还需要配合 git hook 或者其他 ci 库。相比之下不和 git 等耦合反而增加它的灵活性,比如你也可以搭配 pre-commit 来支持所谓的 `根据 git tag 生成版本号`
|