用 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.
我有一个 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.