在我做一个小的发布和标记它之前,我想更新这个包。Json来反映程序的新版本。
是否有编辑文件包的方法。json自动吗?
使用git预发布钩子会有帮助吗?
在我做一个小的发布和标记它之前,我想更新这个包。Json来反映程序的新版本。
是否有编辑文件包的方法。json自动吗?
使用git预发布钩子会有帮助吗?
当前回答
请检查我的NodeAutoVersionPush宏脚本。 这是一个宏,使用Visual Studio Code API来自动设置新版本,然后使用键盘快捷键进行提交和推送。
新版本基于当前日期和提交总数。 但是您可以根据自己的喜好或任何其他语言轻松地调整代码。
其他回答
如果你用的是纱线,你可以用
yarn version patch
这将增加包。Json版本由补丁(0.0.x),提交,并标记它的格式为v0.0.0
同样,你可以使用——minor或——major来碰撞minor或major版本
在推到git时,确保你也推了带有——follow-tags的标签
git push --follow-tags
您还可以为它创建一个脚本
"release-it": "yarn version --patch && git push --follow-tags"
只需输入yarn release-it即可运行
首先,您需要了解升级版本号的规则。你可以在这里阅读更多关于语义版本的信息。
每个版本都有x.y.z版本,它为不同的目的定义,如下所示。
X大调,当你有很大的变化时 发生了不一致的变化。 Y小调,当你有 出现了新的功能或增强。 Z - patch, up this when 您修复了错误或恢复了早期版本上的更改。
要运行脚本,可以在package.json中定义它。
"script": {
"buildmajor": "npm version major && ng build --prod",
"buildminor": "npm version minor && ng build --prod",
"buildpatch": "npm version patch && ng build --prod"
}
在你的终端中,你只需要根据你的需要运行npm
npm run buildpatch
如果在git repo中运行它,默认的git-tag-version是true,如果你不希望这样做,你可以在你的脚本中添加以下命令:
--no-git-tag-version
例如:"npm -no-git-tag-version version major && ng build -prod"
请检查我的NodeAutoVersionPush宏脚本。 这是一个宏,使用Visual Studio Code API来自动设置新版本,然后使用键盘快捷键进行提交和推送。
新版本基于当前日期和提交总数。 但是您可以根据自己的喜好或任何其他语言轻松地调整代码。
作为npm版本的一个补充,如果你想要一个版本碰撞但没有标记或一个新的提交,你可以使用——no-git-tag-version标记:
npm --no-git-tag-version version patch
https://docs.npmjs.com/cli/version
以防万一,如果你想用npm package semver链接来做这件事
let fs = require('fs');
let semver = require('semver');
if (fs.existsSync('./package.json')) {
var package = require('./package.json');
let currentVersion = package.version;
let type = process.argv[2];
if (!['major', 'minor', 'patch'].includes(type)) {
type = 'patch';
}
let newVersion = semver.inc(package.version, type);
package.version = newVersion;
fs.writeFileSync('./package.json', JSON.stringify(package, null, 2));
console.log('Version updated', currentVersion, '=>', newVersion);
}
包中。Json应该是这样的,
{
"name": "versioning",
"version": "0.0.0",
"description": "Update version in package.json using npm script",
"main": "version.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"version": "node version.js"
},
"author": "Bhadresh Arya",
"license": "ISC",
"dependencies": {
"semver": "^7.3.2"
}
}
只需要将major, minor, patch参数传递给NPM运行版本。默认为补丁。
例子: NPM运行版本或NPM运行版本补丁或NPM运行版本小或NPM运行版本大
去回购