在我做一个小的发布和标记它之前,我想更新这个包。Json来反映程序的新版本。

是否有编辑文件包的方法。json自动吗?

使用git预发布钩子会有帮助吗?


当前回答

我想澄清一下这个问题的答案。

尽管这里有一些答案可以正确地解决问题并提供解决方案,但它们并不是正确的答案。这个问题的正确答案是使用npm版本

是否有编辑文件包的方法。json自动吗?

是的,你能做的就是在需要的时候运行npm version命令,你可以在这里阅读更多关于它的信息,但基本用法是npm version patch,它会在你的包上添加第三位数字。json版本(1.0.X)

使用git预发布钩子会有帮助吗?

你可以根据需要配置在预发布钩子上运行npm version命令,但这取决于你在CD/CI管道中是否需要它,但如果没有npm version命令,git预发布钩子无法“轻松”地使用package.json

npm版本是正确答案的原因如下:

如果用户正在使用包含包的文件夹结构。如果他在使用NPM,他就可以访问NPM脚本。 如果他能访问npm脚本,他就能访问npm版本命令。 使用这个命令,他不需要在他的计算机或CD/CI管道中安装更多的东西,从长远来看,这将减少项目的可维护性工作,并将有助于设置

提出其他工具的其他答案是不正确的。

Gulp-bump有效,但需要另一个额外的包,从长期来看可能会产生问题(我的答案的第3点)

Grunt-bump有效,但需要另一个额外的包,这可能会在长期产生问题(我的回答的第3点)

其他回答

提供一个最新的方法。

package.json

  "scripts": {
    "eslint": "eslint index.js",
    "pretest": "npm install",
    "test": "npm run eslint",
    "preversion": "npm run test",
    "version": "",
    "postversion": "git push && git push --tags && npm publish"
  }

然后运行它:

npm version minor --force -m "Some message to commit"

将:

... 进行测试… 更换你的包裹。Json到下一个小版本(例如:1.8.1到1.9.0) 推动您的更改 创建一个新的git标签版本和 发布你的NPM包。

——武力就是要显示谁是老大!撇开笑话不谈,见https://github.com/npm/npm/issues/8620

我想澄清一下这个问题的答案。

尽管这里有一些答案可以正确地解决问题并提供解决方案,但它们并不是正确的答案。这个问题的正确答案是使用npm版本

是否有编辑文件包的方法。json自动吗?

是的,你能做的就是在需要的时候运行npm version命令,你可以在这里阅读更多关于它的信息,但基本用法是npm version patch,它会在你的包上添加第三位数字。json版本(1.0.X)

使用git预发布钩子会有帮助吗?

你可以根据需要配置在预发布钩子上运行npm version命令,但这取决于你在CD/CI管道中是否需要它,但如果没有npm version命令,git预发布钩子无法“轻松”地使用package.json

npm版本是正确答案的原因如下:

如果用户正在使用包含包的文件夹结构。如果他在使用NPM,他就可以访问NPM脚本。 如果他能访问npm脚本,他就能访问npm版本命令。 使用这个命令,他不需要在他的计算机或CD/CI管道中安装更多的东西,从长远来看,这将减少项目的可维护性工作,并将有助于设置

提出其他工具的其他答案是不正确的。

Gulp-bump有效,但需要另一个额外的包,从长期来看可能会产生问题(我的答案的第3点)

Grunt-bump有效,但需要另一个额外的包,这可能会在长期产生问题(我的回答的第3点)

我创建了一个工具,可以根据提交消息中的标记(称为更改类型)完成自动语义版本控制。这紧跟Angular提交消息约定和语义版本规范。

您可以使用此工具自动更改包中的版本。json使用npm CLI(这里描述)。

此外,它可以从这些提交创建变更日志,还提供了一个菜单(带有提交消息的拼写检查器),用于根据更改类型创建提交。我强烈建议你检查一下,阅读一下文档,看看用它可以完成的所有事情。

我编写了这个工具,因为我找不到任何可以满足CICD Pipeline自动化语义版本控制需求的工具。我宁愿关注实际的更改是什么,而不是版本应该是什么,这就是我的工具解决问题的地方。

有关该工具基本原理的更多信息,请参见此。

如果你用的是纱线,你可以用

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"