package.json的gulp自动版

时间:2016-01-21 13:32:01

标签: node.js git gulp

我想知道是否有可能获得我的package.json

的git版本

我想要实现的是我不需要手动修改版本。

Java中有类似于gradle f.e。

的东西

https://github.com/palantir/gradle-git-version

使用git describe获取git repo的最新标记,如果它包含新的提交/更改,则repo被标记为脏。在脏检查中,它会自动返回gradle的下一个开发版本。

我没有找到像gulp那样的东西

1 个答案:

答案 0 :(得分:0)

检查此npm模块https://www.npmjs.com/package/git-version-json

您可以使用gulp-replacegit-version-json

  1. 使用git-version-json生成json变量。
  2. 使用gulp-replace替换version
  3. 如下:

    var gulp = require('gulp');
    var replace = require('gulp-replace');
    var GitVersionJson = require('git-version-json');
    // automatic use git-rev in version field of package.json
    gulp.task('npm-git-rev', [GitVersionJson.task], ()=>{
        return gulp.src('package.json')
            .pipe(replace(/(\"version\"\s*:\s*\"\d+\.\d+\.)(\d+)(\")/,
                "$1" + GitVersionJson.gitVer.rev + "$3"))
            .pipe(gulp.dest('.'))
    });
    

    使用gulp npm-git-rev

    运行它