npm 如何将expression放入package.json字符串中?

yrwegjxp  于 2023-10-19  发布在  其他
关注(0)|答案(1)|浏览(97)

问题:如何在脚本消息中增加版本?因为我的发布消息应该总是比一个版本大。
目标:如果我已经有0.1.2版本,我想将我的提交消息增加到0.1.3后再发布。当然,我总是可以手动更新它,但也许一些建议如何自动化这个过程?

{
  "version": "0.1.2",
  "scripts": {
    "release": "git commit --allow-empty  -m \\\"chore: release 0.1.2\\\"",

所以我需要获取我的当前版本,递增它并传递到发布脚本中,我需要使用什么来接收我期望的结果?

"scripts": {
    "release": "git commit --allow-empty  -m {expression}",
km0tfn4u

km0tfn4u1#

您可以结合使用semver和shell脚本来实现您的目标。

npm install -g semver

创建一个shell脚本来处理版本增量和Git提交。
您可以尝试下面的示例脚本进行测试(release.sh):

#!/bin/bash

current_version=$(cat package.json | grep -o '"version": "[0-9.]\+"' | grep -o '[0-9.]\+')

new_version=$(semver bump patch $current_version)

git commit --allow-empty -m "chore: release $new_version"

确保脚本可执行:

chmod +x release.sh

更新package.json中的“release”脚本,以调用此shell脚本:

"scripts": {
  "release": "./release.sh"
}

希望这对您有所帮助,并根据需要进行定制。

相关问题