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;