在我做一个小的发布和标记它之前,我想更新这个包。Json来反映程序的新版本。
是否有编辑文件包的方法。json自动吗?
使用git预发布钩子会有帮助吗?
在我做一个小的发布和标记它之前,我想更新这个包。Json来反映程序的新版本。
是否有编辑文件包的方法。json自动吗?
使用git预发布钩子会有帮助吗?
当前回答
你可以使用版本选择包:
npm i -D version-select
{
"name": "test",
"version": "1.0.0",
"scripts": {
"version-select": "version-select"
},
"devDependencies": {
"version-select": "^1.0.13"
}
}
阅读更多
其他回答
请检查我的NodeAutoVersionPush宏脚本。 这是一个宏,使用Visual Studio Code API来自动设置新版本,然后使用键盘快捷键进行提交和推送。
新版本基于当前日期和提交总数。 但是您可以根据自己的喜好或任何其他语言轻松地调整代码。
我的构建和发布脚本运行在一个无法访问git的docker映像中,所以我想要一些不修改我的存储库,但能够发布自动递增版本的方法。所以我在预发布脚本中添加了这个:
npm view `sed -nr 's/"name": "([^"]+).*/\1/p' package.json` version | awk -F'.' '{ cmd = "npm version v" $1 "." $2 "." $3+1 " --force --no-git-tag-version"; system(cmd)}'
它的作用:
用sed读取包名 要求最新发布的版本与NPM查看版本 调用NPM version——force——no-git-tag-version,其中version取自(2)并加1
有很多方法可以改进它,但至少它是有效的,而且是普遍的。
NPM版本可能是正确的答案。为了给大家一个替代的选择,我建议你用咕噜撞。它是由angular.js的一个人维护的。
用法:
grunt bump
>> Version bumped to 0.0.2
grunt bump:patch
>> Version bumped to 0.0.3
grunt bump:minor
>> Version bumped to 0.1.0
grunt bump
>> Version bumped to 0.1.1
grunt bump:major
>> Version bumped to 1.0.0
如果你使用grunt,这可能是最简单的解决方案。
作为npm版本的一个补充,如果你想要一个版本碰撞但没有标记或一个新的提交,你可以使用——no-git-tag-version标记:
npm --no-git-tag-version version patch
https://docs.npmjs.com/cli/version
我最终编写了这个解决方案(将其添加到package.json)脚本。Yarn具有非常相似的功能。
"postversion": "git add package.json && git commit -m $npm_package_version && git tag $npm_package_version HEAD && git push --tags"
它更新版本字段,创建一个新的提交包。Json,提交版本名,标记它并推送到分支。
然后,你可以运行npm version patch | npm version minor | npm version major来创建一个带有标签的版本化提交。