在package.json中设置版本号

时间:2017-05-26 11:46:12

标签: gruntjs

我想添加一个接受版本号的grunt任务。然后将在package.json文件中设置此版本号。我发现了grunt-bump,它会破坏版本号,但是我想将版本号设置为一个已知值,它将来自构建服务器。

Grunt任务:

grunt.registerTask('setversion', function() {
  // Something to go here to update the version number.
});

的package.json:

{
  "name": "scoreboard",
  "version": "0.2",
  ...
}

任何人都有任何想法?

2 个答案:

答案 0 :(得分:2)

您可以使用以下内容:

  grunt.registerTask('setversion', function(arg1) {
       console.log("Attempting to update version to "+arg1);
       var parsedJson= grunt.file.readJSON("package.json");//read in the current
       parsedJson["version"] = arg1; //set the top level version field to arg1
       grunt.file.write("package.json", JSON.stringify(parsedJson, null, 2));
    });

添加一些错误检查等。确保package.json是可写的并使用grunt setversion:newVersion执行,例如:grunt setversion:0.3

答案 1 :(得分:1)

感谢您的回答,但事实证明它更直截了当。我正在使用TeamCity,因此我使用以下命令运行了NPM任务,其中%system.build.number%遵循模式n.n.n,例如:0.1.6

--no-git-tag-version version %system.build.number%