之前,我做一个小的释放和标记的话,我想更新的package.json以反映程序的新版本。
是否存在编辑文件的方式package.json
自动?
将使用git pre-release hook
的帮助?
之前,我做一个小的释放和标记的话,我想更新的package.json以反映程序的新版本。
是否存在编辑文件的方式package.json
自动?
将使用git pre-release hook
的帮助?
npm version
可能是正确答案。 只给一个替代我建议咕噜凸点 。 它是由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
如果您使用咕噜无论如何,它可能是最简单的解决方案。
正确答案
要做到这一点,只是npm version patch
=)
我的老回答
有没有pre-release
钩最初git
。 至少, man githooks
不显示它。
如果您使用git-extra
( https://github.com/visionmedia/git-extras )例如,你可以使用一个pre-release
这是由它来实现挂钩,因为你可以看到https://开头github.com/visionmedia/git-extras/blob/master/bin/git-release 。 它是只需要.git/hook/pre-release.sh
的可执行文件,编辑文件package.json
文件。 承诺,推动和标签将被完成git release
命令。
如果你不使用任何扩展git
,你可以写一个shell脚本(我将其命名为git-release.sh
)和比你可以别名,从而git release
的东西,如:
git config --global alias.release '!sh path/to/pre-release.sh $1'
你可以,比,使用git release 0.4
将执行path/to/pre-release.sh 0.4
。 脚本可以编辑package.json
,创建标签,并将它推到服务器。
这就是我常跟我的项目做:
npm version patch
git add *;
git commit -m "Commit message"
git push
npm publish
第一行中, npm version patch
,将由1(XX1到XX2)增加补丁版本package.json
。 然后添加的所有文件-包括package.json
它在这一点已被修改。 然后,通常的git commit
和git push
,终于npm publish
发布模块。
我希望这是有道理的...
芝加哥商业交易所。
为了让更先进的最新方法。
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"
这将:
...运行测试...
改变你package.json
到下一个次要版本(例如:1.8.1至1.9.0)
把你的变化
创建一个新的Git标签释放
发布您的NPM包。
--force
是要表明谁是老大! 言归正传看到https://github.com/npm/npm/issues/8620
作为除了npm version
,你可以使用--no-git-tag-version
,如果你想有一个版本的凸起,但没有标签或标志新的承诺:
npm --no-git-tag-version version patch
https://docs.npmjs.com/cli/version
如果您使用的纱线可以使用
yarn version --patch
这将增加package.json
通过补丁版本(0.0.x)
提交,并与格式标记它v0.0.0
同样,你可以通过使用凸点或大或小的版本--minor
或--major
当按下与git确保你也推标签与--follow-tags
git push --follow-tags
你也可以为它创建一个脚本
"release-it": "yarn version --patch && git push --follow-tags"
只需键入运行它yarn release-it
我想比较清楚到这个问题得到了答案。
甚至认为这里有一些答案被正确地解决这一问题,并提供解决方案,它们不正确的。 正确回答这个问题是使用npm version
是否有自动编辑文件的package.json的方法吗?
是的,你可以做什么来实现这一目标是运行npm version
需要时命令,你可以阅读更多关于它在这里NPM版本 ,但基本用法是npm version patch
,它会在您添加的第三个数字顺序package.json
版本(1.0。X)
将使用Git的预发行挂钩的帮助?
您可以配置运行npm version
的预发行挂钩命令,根据您的需要,但是这取决于如果这是你需要的,或者不是在你的CD / CI管道,但没有npm version
命令git pre-release
挂钩不能做任何事情“易”与package.json
之所以npm version
是正确的答案如下:
package.json
他正在使用npm
,如果他使用npm
,他先后获得了npm scripts
。 npm scripts
,他先后获得了npm version
命令。 其中提出了其他工具的其他的答案是不正确的。
gulp-bump
的作品,但需要另一个额外的包,可能造成的长期问题(我回答的第3点)
grunt-bump
工作,但需要另一个额外的包,可能造成的长期问题(我回答的第3点)
我使用的沙哑和混帐分支是 :
"scripts": {
...
"postmerge": "(git-branch-is master && npm version minor ||
(git-branch-is dev && npm --no-git-tag-version version patch)",
...
},
了解更多关于故宫的版本
的WebPack或Vue.js
如果您使用的WebPack或Vue.js,您可以使用在UI显示该自动注射版本-的WebPack插件
NUXT
在nuxt.config.js
:
var WebpackAutoInject = require('webpack-auto-inject-version');
module.exports = {
build: {
plugins: [
new WebpackAutoInject({
// options
// example:
components: {
InjectAsComment: false
},
}),
]
},
}
里面的template
例如在页脚:
<p> All rights reserved © 2018 [v[AIV]{version}[/AIV]]</p>
首先,你需要了解的规则升级版本号。 你可以阅读更多关于语义版本在这里。
每个版本将具有XYZ的版本,其中,如下所示定义了用于不同的目的。
要运行脚本,你可以在你的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仓库运行它,默认的git标签版本是真实的,如果你不希望这样做,你可以添加以下命令到您的脚本:
--no-git-tag-version
为如: "npm --no-git-tag-version version major && ng build --prod"