使用 grunt 进行版本控制

version control with grunt

好吧,我已经回避 javascript 很长一段时间了,不是因为无法学习,而是因为我喜欢简单的 Html 和 Css。现在我正在研究一个项目并希望自动化版本。遵循 SemVer 指南,我的项目版本化为

"version": "0.32.0"

## v0.31.0 (Jan 1, 2017)

我的问题是我不知道如何自动执行此操作。我正在使用 grunt 并且有

module.exports = function (grunt) {
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    replace: {
      version: {
        src: [
          'package.json',
          'bower.json'
        ],
        overwrite: true,
        replacements: [{
          from: 'oldver' ),
          to: 'newver' )
        }]
      }
    }
  });
  grunt.loadNpmTasks('grunt-text-replace');
  grunt.loadNpmTasks('grunt-stamp');

  grunt.registerTask('version', ['replace:version']);
  grunt.registerTask('label', ['stamp'])
};

我想让 grunt 阅读 package.json 并阅读

"version": "0.32.0",

然后我想让它加 1,使得

"version": "0.33.0",

当然我也希望能够将变量单独添加到 vX.Y.Z。当然,如果它是 vX.Y.Z-alpha.X.Y.Z,我也希望能够单独更改它们。

对于那些以后访问这个问题的人。 grunt-bump 处理这一切,并与 semver 指南保持同步。