用 gulp 修改 json 文件

Modify json file with gulp

我有一个 package.json 文件:

{
    "name": "Name",
    "version": "0.0.0",
    "author": "Company",
    "description": "A sample project.",
    "private": true
}  

并且我希望能够使用 gulp 更新版本字段。我将使用环境变量将其设置为 Jenkins 的内部版本号:

var version = process.env.MAJOR +'.' + process.env.MINOR + '.' + process.env.BUILD_NUMBER;

我想要一个将 json 文件的版本字段更新为版本值的任务:

gulp.task('update-package-build-no', function () {
    pkg.version = version;
});

有什么想法吗?这甚至可以实现吗?我将使用 angular 读取我的 package.json 文件,以在关于页面上显示应用程序的版本号。

看看gulp-bump

您可以使用语法:

gulp.src("package.json")
  .pipe(bump(process.env.MAJOR + '.' + process.env.MINOR + '.' + process.env.BUILD_NUMBER))
  .pipe(gulp.dest('./'))

顺便说一句 - 它是 major.minor.patch-tags+buildNumber。 :-)

Build metadata MAY be denoted by appending a plus sign and a series of dot separated identifiers immediately following the patch or pre-release version. Identifiers MUST comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty. Build metadata SHOULD be ignored when determining version precedence. Thus two versions that differ only in the build metadata, have the same precedence. Examples: 1.0.0-alpha+001, 1.0.0+20130313144700, 1.0.0-beta+exp.sha.5114f85.