gpt4 book ai didi

javascript - 如何使用 gulp-bump 更改应用程序版本主要和次要?

转载 作者:行者123 更新时间:2023-11-27 22:36:42 25 4
gpt4 key购买 nike

我已成功安装并实现 gulp-bump现在进入我的 gulp 构建过程。

但是我只能提高补丁版本,现在没关系,因为这是我们主要做的事情,每隔几个月左右就会做次要的事情。不过我希望能够做到这一点,因为我的旧代码做到了这一点。

我用来做的是输入:V=patch gulp buildV=minor gulp build。我会使用 let env = process.env.V; 来读取 V 变量是什么,然后将其传递给 generateNextVersion 逻辑确定要更新的版本点。

有关 gulp-bump 中次要和主要补丁的唯一文档是:

Versioning Versioning Used: Semantic String, lowercase MAJOR ("major") version when you make incompatible API changes MINOR ("minor") version when you add functionality in a backwards-compatible manner

PATCH ("patch") version when you make backwards-compatible bug fixes.

PRERELEASE ("prerelease") a pre-release version

Version example major: 1.0.0 minor: 0.1.0 patch: 0.0.2 prerelease: 0.0.1-2

const getPackageJson = function () {
return JSON.parse(fs.readFileSync('./package.json', 'utf8'));
};

gulp.task('build', function(cb) {
runSequence(
'version', // Save new version
'build:del-assets-static', // Delete old static folder in app/assets
'build:move-files', // Move files into new static folder
// etc ....
});
<小时/>
gulp.task('version', ['bump'], function() {
// reget package
var pkg = getPackageJson();
// increment version
version = semver.inc(pkg.version, 'patch');
process.stdout.write(gutil.colors.red.inverse(' newVer '+version+' \n'));
return generateNextVersion(env);
});

function generateNextVersion(ver) {
process.stdout.write(gutil.colors.red.inverse(' ver: '+ver+' \n'));
// var major, minor, patch;
// var versionArray = lastVersion.split('.');
//
// major = parseInt(versionArray[0]);
// minor = parseInt(versionArray[1]);
// patch = parseInt(versionArray[2]);
//
// switch (ver) {
// case 'major' : major += 1; patch = 0; break;
// case 'minor' : minor += 1; patch = 0; break;
// case 'patch' : patch += 1; break;
// }
//
// version = major + '.' + minor + '.' + patch;
//
// if (ver === '' || ver === undefined || ver === null) { version = '0.0.0'; }

process.stdout.write(gutil.colors.blue.bold ('###################################################### \n'));
process.stdout.write(gutil.colors.blue.bold.inverse(' Building Dashboard version '+version+' \n'));
process.stdout.write(gutil.colors.green.italic (' All change is detectable \n'));
process.stdout.write(gutil.colors.blue.bold ('###################################################### \n'));
}

最佳答案

仍然希望得到这个问题的正确答案,但这就是我现在解决它的方法:

gulp.task('bump', () => {
gulp.src('./package.json').pipe(bump({ key: "version", type: versionType })).pipe(gulp.dest('./'));
});

gulp.task('bump:minor', () => {
versionType = 'minor';
gulp.src('./package.json').pipe(bump({ key: "version", type: 'minor' })).pipe(gulp.dest('./'));
});

gulp.task('bump:major', () => {
versionType = 'major';
gulp.src('./package.json').pipe(bump({ key: "version", type: 'major' })).pipe(gulp.dest('./'));
});

在次要或重大更新之前只需执行 1 个额外步骤,但无论如何这些都很特别......

关于javascript - 如何使用 gulp-bump 更改应用程序版本主要和次要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39057019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com