t-comm
Version:
专业、稳定、纯粹的工具库
61 lines (56 loc) • 1.5 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib_es6 = require('../tslib.es6-01322ba9.js');
/**
* 生成 alpha、beta 等这些预发布的版本
* @param key 关键词
* @returns 生成的版本
*/
function getPreReleaseVersion(key) {
if (key === void 0) {
key = '';
}
if (!key) {
return;
}
// eslint-disable-next-line @typescript-eslint/no-require-imports
var execSync = require('child_process').execSync;
var res = execSync('npm dist-tag ls', {
cwd: process.cwd(),
encoding: 'utf-8',
stdio: 'pipe'
});
var obj = parseDistTagResult(res);
return genVersion(obj, key);
}
function genVersion(obj, key) {
if (obj === void 0) {
obj = {};
}
if (key === void 0) {
key = '';
}
if (!obj[key]) {
var latest = obj.latest;
if (!latest) {
return "0.0.1-".concat(key, ".1");
}
return "".concat(latest, "-").concat(key, ".1");
}
var last = obj[key];
var list = last.split("".concat(key, "."));
return "".concat(list[0]).concat(key, ".").concat(+list[1] + 1);
}
function parseDistTagResult(str) {
if (str === void 0) {
str = '';
}
return str.trim().split('\n').reduce(function (acc, item) {
var _a;
var str = item.trim();
var temp = str.split(':');
return tslib_es6.__assign(tslib_es6.__assign({}, acc), (_a = {}, _a[temp[0].trim()] = temp[1].trim(), _a));
}, {});
}
exports.genVersion = genVersion;
exports.getPreReleaseVersion = getPreReleaseVersion;