@omni-door/cli
Version:
A tool set for set up the standard JS project
568 lines (567 loc) • 34.1 kB
JavaScript
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var fs_1 = __importDefault(require("fs"));
var path_1 = __importDefault(require("path"));
var inquirer_1 = __importDefault(require("inquirer"));
var semver_1 = __importDefault(require("semver"));
var chalk_1 = __importDefault(require("chalk"));
var utils_1 = require("@omni-door/utils");
var child_process_1 = require("child_process");
var utils_2 = require("../../utils");
var build_1 = __importDefault(require("../build"));
var tagCustom = '$omni_custom$';
var tagDict = {
'1. alpha (internal)': 'alpha',
'2. beta (public)': 'beta',
'3. rc (candidate)': 'rc',
'4. latest (stable)': 'latest',
'5. custom': tagCustom
};
var tagDictWithExtraWords = {
'1. alpha (internal - current tag)': 'alpha',
'2. beta (public - current tag)': 'beta',
'3. rc (candidate - current tag)': 'rc',
'4. latest (stable - current tag)': 'latest'
};
var iterDict = {
automatic: '1. automatic',
manual: '2. manual',
ignore: '3. ignore'
};
function getAutoIterDict(version, tag) {
var _a, _b, _c;
if (tag === 'latest') {
return _a = {},
_a["1. patch (" + version + " -> " + semver_1.default.inc(version, 'patch') + ")"] = ['latest', semver_1.default.inc(version, 'patch')],
_a["2. minor (" + version + " -> " + semver_1.default.inc(version, 'minor') + ")"] = ['latest', semver_1.default.inc(version, 'minor')],
_a["3. major (" + version + " -> " + semver_1.default.inc(version, 'major') + ")"] = ['latest', semver_1.default.inc(version, 'major')],
_a;
}
if (tag === 'rc') {
return _b = {},
_b["1. pre-release (" + version + " -> " + semver_1.default.inc(version, 'prerelease', tag) + ")"] = [tag || 'prerelease', semver_1.default.inc(version, 'prerelease', tag)],
_b["2. patch (" + version + " -> " + semver_1.default.inc(version, 'patch') + ")"] = ['latest', semver_1.default.inc(version, 'patch')],
_b["3. minor (" + version + " -> " + semver_1.default.inc(version, 'minor') + ")"] = ['latest', semver_1.default.inc(version, 'minor')],
_b["4. major (" + version + " -> " + semver_1.default.inc(version, 'major') + ")"] = ['latest', semver_1.default.inc(version, 'major')],
_b;
}
return _c = {},
_c["1. pre-release (" + version + " -> " + semver_1.default.inc(version, 'prerelease', tag) + ")"] = [tag || 'prerelease', semver_1.default.inc(version, 'prerelease', tag)],
_c["2. pre-patch (" + version + " -> " + semver_1.default.inc(version, 'prepatch', tag) + ")"] = [tag || 'prepatch', semver_1.default.inc(version, 'prepatch', tag)],
_c["3. pre-minor (" + version + " -> " + semver_1.default.inc(version, 'preminor', tag) + ")"] = [tag || 'preminor', semver_1.default.inc(version, 'preminor', tag)],
_c["4. pre-major (" + version + " -> " + semver_1.default.inc(version, 'premajor', tag) + ")"] = [tag || 'premajor', semver_1.default.inc(version, 'premajor', tag)],
_c;
}
function default_1(config, iterTactic, autoRelease) {
var _a, _b, _c, _d, _e;
return __awaiter(this, void 0, void 0, function () {
function handleReleaseSuc(msg) {
msg = msg || 'Release completed!';
return function (isExit) {
utils_1.logCongrat(msg);
isExit && process.exit(0);
};
}
function handleReleaseErr(msg) {
msg = msg || 'Release failed!';
return function (err) {
err && utils_1.logErr(err);
msg && utils_1.logErr(msg);
process.exit(1);
};
}
function getPkjData(pkjPath) {
var pkj = {
name: 'OMNI-PROJECT',
version: '0.0.1'
};
if (fs_1.default.existsSync(pkjPath)) {
delete require.cache[pkjPath]; // delete cache in order to avoid version may not correct
pkj = require(pkjPath);
}
return pkj;
}
var e_1, type, template, build, _f, release, plugins, git, npm, autoBuild, autoTag, preflight, _g, _h, test, _j, eslint, _k, prettier, _l, stylelint, _m, commitlint, branch, branchInfo_1, _o, automatic_1, ignore_1, manual_1, tag_1, verify, rest, pkjPath_1, pkj_1, iterVersion_1, needIteration_1, versionErrMsg_1, tagErrMsg_1, versionRepeatMsg_1, existedVersions_1, versionsPromise_1, defaultTag_1, autoIterDict_1, err_1, versionShellSuffix, plugin_handles, version, versionIterTactic, _p, _q, _i, name_1, handler, hasChange, gitUrl, gitOriginUrl_1, gitOmniUrl_1, canPush_1, remote_1, execArr, commit, push, _r, npmUrl_1, shouldExit, err_2;
var _this = this;
return __generator(this, function (_s) {
switch (_s.label) {
case 0:
_s.trys.push([0, 2, , 3]);
// node version pre-check
return [4 /*yield*/, utils_1.nodeVersionCheck('8')];
case 1:
// node version pre-check
_s.sent();
return [3 /*break*/, 3];
case 2:
e_1 = _s.sent();
utils_1.logWarn(e_1);
return [3 /*break*/, 3];
case 3:
if (!config || JSON.stringify(config) === '{}') {
utils_1.logWarn('Please initialize project first');
process.exit(0);
}
// bind exit signals
utils_2.signal();
type = config.type, template = config.template, build = config.build, _f = config.release, release = _f === void 0 ? {} : _f, plugins = config.plugins;
git = release.git, npm = release.npm, autoBuild = release.autoBuild, autoTag = release.autoTag, preflight = release.preflight;
_g = preflight || {}, _h = _g.test, test = _h === void 0 ? false : _h, _j = _g.eslint, eslint = _j === void 0 ? false : _j, _k = _g.prettier, prettier = _k === void 0 ? false : _k, _l = _g.stylelint, stylelint = _l === void 0 ? false : _l, _m = _g.commitlint, commitlint = _m === void 0 ? false : _m, branch = _g.branch;
if (!branch) return [3 /*break*/, 5];
branchInfo_1 = '';
return [4 /*yield*/, utils_1.exec([path_1.default.resolve(__dirname, 'branch.sh') + " " + branch + " \"" + utils_1.logPrefix() + "\""], function (results) { branchInfo_1 = results[0]; }, function () { process.exit(1); })];
case 4:
_s.sent();
if (!~branchInfo_1.indexOf('current branch is')) {
// branch check failed!
return [2 /*return*/];
}
_s.label = 5;
case 5:
_s.trys.push([5, 37, , 38]);
_o = iterTactic || {}, automatic_1 = _o.automatic, ignore_1 = _o.ignore, manual_1 = _o.manual, tag_1 = _o.tag, verify = _o.verify, rest = __rest(_o, ["automatic", "ignore", "manual", "tag", "verify"]);
pkjPath_1 = path_1.default.resolve(process.cwd(), 'package.json');
pkj_1 = getPkjData(pkjPath_1);
iterVersion_1 = manual_1 || (typeof automatic_1 === 'string' ? automatic_1 : '') || pkj_1.version;
needIteration_1 = ignore_1 === void 0 && manual_1 === void 0 && automatic_1 === void 0;
versionErrMsg_1 = 'Please input a valid version.\nReference: https://semver.org/';
tagErrMsg_1 = 'The tag can only contain letters.';
versionRepeatMsg_1 = function (ver) { return "The " + ver + " is not available."; };
existedVersions_1 = [];
versionsPromise_1 = Promise.resolve();
if (npm) {
versionsPromise_1 = utils_1.getNpmVersions(pkj_1.name, { registry: typeof npm === 'string' ? npm : void 0 })
.then(function (res) { existedVersions_1.push.apply(existedVersions_1, res); });
}
defaultTag_1 = manual_1
? (_b = (_a = manual_1.match(/[a-zA-Z]+/g)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : 'latest' : (_e = (_d = (_c = pkj_1 === null || pkj_1 === void 0 ? void 0 : pkj_1.version) === null || _c === void 0 ? void 0 : _c.match(/[a-zA-Z]+/g)) === null || _d === void 0 ? void 0 : _d[0]) !== null && _e !== void 0 ? _e : 'latest';
autoIterDict_1 = {};
if (!(needIteration_1 || (npm && !tag_1))) return [3 /*break*/, 7];
return [4 /*yield*/, new Promise(function (resolve, reject) {
inquirer_1.default.prompt([
{
name: 'presetTag',
type: 'list',
when: function () { return !tag_1 && !autoTag; },
choices: function () {
var result = Object.keys(tagDict);
var presetTags = Object.values(tagDict);
if (!presetTags.some(function (v) { return v === defaultTag_1; })) {
var key = "0. " + defaultTag_1 + " (current tag)";
result.unshift(key);
tagDictWithExtraWords[key] = defaultTag_1;
}
else {
var ind = presetTags.indexOf(defaultTag_1);
var preset = result[ind];
result.splice(ind, 1, preset.replace(')', ' - current tag)'));
}
return result;
},
default: function () {
var result = Object.keys(tagDict);
var presetTags = Object.values(tagDict);
if (presetTags.some(function (v) { return v === defaultTag_1; })) {
return result[presetTags.indexOf(defaultTag_1)].replace(')', ' - current tag)');
}
},
message: 'Choose the tag:'
},
{
name: 'label',
type: 'input',
when: function (answer) { return tagDict[answer.presetTag] === tagCustom; },
default: function () {
if (defaultTag_1 === 'rc')
return 'latest';
return defaultTag_1;
},
validate: function (val) {
if (/^[a-zA-Z]+$/g.test(val)) {
return true;
}
return tagErrMsg_1;
},
message: utils_2.logo() + "Input the tag:"
},
{
name: 'iter',
type: 'list',
when: function () { return needIteration_1; },
choices: [iterDict.automatic, iterDict.manual, iterDict.ignore],
message: utils_2.logo() + "Select the iteration method:"
},
{
name: 'version_semantic',
type: 'list',
when: function (answer) { return answer.iter === iterDict.automatic; },
choices: function (answer) {
Object.assign(autoIterDict_1, getAutoIterDict(pkj_1.version, answer.label ||
tagDict[answer.presetTag] ||
tagDictWithExtraWords[answer.presetTag] ||
defaultTag_1));
return __spreadArrays(Object.keys(autoIterDict_1));
},
message: utils_2.logo() + "Select the version:"
},
{
name: 'version_manual',
type: 'input',
when: function (answer) { return answer.iter === iterDict.manual; },
validate: function (val) {
if (!semver_1.default.valid(val)) {
console.info('\n');
utils_1.logWarn(versionErrMsg_1);
return false;
}
return true;
},
message: utils_2.logo() + "Input the version:"
},
{
name: 'changeVersion',
type: 'confirm',
message: function () {
var currentVer = iterVersion_1;
var type = tag_1 === 'latest' ? 'patch' : 'prerelease';
while (~existedVersions_1.indexOf(iterVersion_1)) {
iterVersion_1 = semver_1.default.inc(iterVersion_1, type, tag_1);
}
return "The " + chalk_1.default.strikethrough.red(currentVer) + " had been occupied, would you like change to " + chalk_1.default.bold.underline.green(iterVersion_1) + "?";
},
when: function (answer) { return __awaiter(_this, void 0, void 0, function () {
var version_manual, version_semantic, presetTag, label, versionTag;
var _a, _b, _c;
return __generator(this, function (_d) {
switch (_d.label) {
case 0:
version_manual = answer.version_manual, version_semantic = answer.version_semantic, presetTag = answer.presetTag, label = answer.label;
iterVersion_1 = version_manual || ((_a = autoIterDict_1[version_semantic]) === null || _a === void 0 ? void 0 : _a[1]) || iterVersion_1;
versionTag = (_b = iterVersion_1 === null || iterVersion_1 === void 0 ? void 0 : iterVersion_1.match(/[a-zA-Z]+/g)) === null || _b === void 0 ? void 0 : _b[0];
tag_1 = label
|| tagDict[presetTag]
|| tagDictWithExtraWords[presetTag]
|| (versionTag === 'rc' ? 'latest' : versionTag)
|| ((_c = autoIterDict_1[version_semantic]) === null || _c === void 0 ? void 0 : _c[0])
|| defaultTag_1;
if (!npm)
return [2 /*return*/, false];
return [4 /*yield*/, versionsPromise_1];
case 1:
_d.sent();
return [2 /*return*/, existedVersions_1.some(function (v) { return iterVersion_1 === v; })];
}
});
}); }
}
])
.then(function (answers) {
var _a, _b;
var iter = answers.iter, version_semantic = answers.version_semantic, version_manual = answers.version_manual, changeVersion = answers.changeVersion;
if (changeVersion === false) {
var currentVer = (_b = version_manual !== null && version_manual !== void 0 ? version_manual : (_a = autoIterDict_1[version_semantic]) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : '';
utils_1.logWarn(versionRepeatMsg_1(currentVer));
process.exit(1);
}
switch (iter) {
case iterDict.automatic:
// eslint-disable-next-line no-case-declarations
automatic_1 = iterVersion_1 !== null && iterVersion_1 !== void 0 ? iterVersion_1 : true;
break;
case iterDict.manual:
manual_1 = iterVersion_1;
break;
case iterDict.ignore:
ignore_1 = true;
break;
}
resolve(void 0);
})
.catch(handleReleaseErr());
})];
case 6:
_s.sent();
return [3 /*break*/, 9];
case 7:
if (!npm) return [3 /*break*/, 9];
return [4 /*yield*/, versionsPromise_1];
case 8:
_s.sent();
if (~existedVersions_1.indexOf(iterVersion_1)) {
utils_1.logWarn(versionRepeatMsg_1(iterVersion_1));
process.exit(0);
}
_s.label = 9;
case 9:
if (manual_1 && !semver_1.default.valid(manual_1)) {
utils_1.logWarn(versionErrMsg_1);
process.exit(0);
}
if (!(autoBuild && !autoRelease)) return [3 /*break*/, 13];
utils_1.logEmph(utils_1.italic('Start building the project automatically'));
_s.label = 10;
case 10:
_s.trys.push([10, 12, , 13]);
return [4 /*yield*/, build_1.default(config, __assign(__assign({}, rest), { verify: verify }), true)];
case 11:
_s.sent();
return [3 /*break*/, 13];
case 12:
err_1 = _s.sent();
handleReleaseErr('Auto building the project failed!')();
return [3 /*break*/, 13];
case 13:
utils_1.logTime('RELEASE');
utils_1.logInfo('Starting release process!');
if (!(!autoBuild && verify && test)) return [3 /*break*/, 15];
return [4 /*yield*/, utils_1.exec(['npm test'], function () { return utils_1.logSuc('Unit Test!'); }, handleReleaseErr('Unit tests did not pass.'))];
case 14:
_s.sent();
_s.label = 15;
case 15:
if (!(!autoBuild && verify && eslint)) return [3 /*break*/, 17];
return [4 /*yield*/, utils_1.exec(['npm run lint:es'], function () { return utils_1.logSuc('Eslint!'); }, handleReleaseErr("ESLint did not pass.\nTry: " + utils_1.underline('npm run lint:es_fix')))];
case 16:
_s.sent();
_s.label = 17;
case 17:
if (!(!autoBuild && verify && prettier)) return [3 /*break*/, 19];
return [4 /*yield*/, utils_1.exec(['npm run lint:prettier'], function () { return utils_1.logSuc('Prettier!'); }, handleReleaseErr("Prettier did not pass.\nTry: " + utils_1.underline('npm run lint:prettier_fix')))];
case 18:
_s.sent();
_s.label = 19;
case 19:
if (!(!autoBuild && verify && stylelint)) return [3 /*break*/, 21];
return [4 /*yield*/, utils_1.exec(['npm run lint:style'], function () { return utils_1.logSuc('Stylelint!'); }, handleReleaseErr("Stylelint did not pass.\nTry: " + utils_1.underline('npm run lint:style_fix')))];
case 20:
_s.sent();
_s.label = 21;
case 21:
versionShellSuffix = ignore_1
? 'i'
: manual_1
? "m " + manual_1
: typeof automatic_1 === 'string'
? "a " + automatic_1
: '';
return [4 /*yield*/, utils_1.exec([path_1.default.resolve(__dirname, 'version.sh') + " \"" + utils_1.logPrefix() + "\" " + versionShellSuffix], function () {
// re-require to get correct version
pkj_1 = getPkjData(pkjPath_1);
utils_1.logEmph("The current version is " + pkj_1.version);
}, handleReleaseErr('The version iteration failed!'))];
case 22:
_s.sent();
plugin_handles = plugins && plugins.length > 0 && utils_2.getHandlers(plugins, 'release');
if (!plugin_handles) return [3 /*break*/, 26];
version = pkj_1 ? pkj_1.version : 'unknown';
versionIterTactic = ignore_1 ? 'ignore' : manual_1 ? 'manual' : 'auto';
_p = [];
for (_q in plugin_handles)
_p.push(_q);
_i = 0;
_s.label = 23;
case 23:
if (!(_i < _p.length)) return [3 /*break*/, 26];
name_1 = _p[_i];
handler = plugin_handles[name_1];
return [4 /*yield*/, handler({
type: type,
template: template,
build: build,
release: release
}, {
version: version,
versionIterTactic: versionIterTactic,
verify: verify,
tag: tag_1
})];
case 24:
_s.sent();
_s.label = 25;
case 25:
_i++;
return [3 /*break*/, 23];
case 26:
hasChange = !!child_process_1.execSync('git status -s').toString();
if (!(git && hasChange)) return [3 /*break*/, 33];
gitUrl = git.trim();
gitOriginUrl_1 = '';
gitOmniUrl_1 = '';
return [4 /*yield*/, utils_1.exec([
'git remote get-url origin'
], function (results) {
gitOriginUrl_1 = results[0] && results[0].trim();
}, function () { }, true)];
case 27:
_s.sent();
return [4 /*yield*/, utils_1.exec([
'git remote get-url omni'
], function (results) {
gitOmniUrl_1 = results[0] && results[0].trim();
}, function () { }, true)];
case 28:
_s.sent();
canPush_1 = true;
remote_1 = gitUrl === gitOmniUrl_1 ? 'omni' : 'origin';
if (!(gitUrl !== gitOriginUrl_1 && gitUrl !== gitOmniUrl_1)) return [3 /*break*/, 30];
!gitOmniUrl_1 && utils_1.logInfo("Adding remote omni " + git);
execArr = ['git remote remove omni', "git remote add omni " + git];
!gitOmniUrl_1 && execArr.shift(); // No omni remote yet; skip remove.
return [4 /*yield*/, utils_1.exec(execArr, function () {
utils_1.logEmph("git remote omni: " + git);
remote_1 = 'omni';
}, function () {
utils_1.logWarn('setting git remote failed');
canPush_1 = false;
})];
case 29:
_s.sent();
_s.label = 30;
case 30:
commit = commitlint && !verify
? "git commit -m'[" + pkj_1.name.toUpperCase() + "]: " + pkj_1.version + "' --no-verify"
: "git commit -m'[" + pkj_1.name.toUpperCase() + "]: " + pkj_1.version + "'";
push = commitlint && !verify
? "git push " + remote_1 + " " + (branch || 'master') + " --no-verify"
: "git push " + remote_1 + " " + (branch || 'master');
_r = canPush_1;
if (!_r) return [3 /*break*/, 32];
return [4 /*yield*/, utils_1.exec([
'git add -A',
"" + commit,
"" + push
], function () {
utils_1.logSuc('Pushing to git-repo successfully!');
}, handleReleaseErr('Pushing to git-repo failed!'))];
case 31:
_r = (_s.sent());
_s.label = 32;
case 32:
_r;
_s.label = 33;
case 33:
if (!npm) return [3 /*break*/, 36];
npmUrl_1 = '';
return [4 /*yield*/, utils_1.exec(['npm get registry'], function (results) {
npmUrl_1 = results[0] && results[0].trim();
}, function () { }, true)];
case 34:
_s.sent();
return [4 /*yield*/, new Promise(function (resolve, reject) {
var npm_publish = child_process_1.spawn('npm', [
'publish',
"--registry=" + ((npm && typeof npm === 'string') ? npm : npmUrl_1),
"--tag=" + tag_1,
'--access public'
], {
detached: true,
stdio: 'inherit'
});
if (npm_publish.stdout) {
npm_publish.stdout.on('data', function (data) {
console.info(data.toString());
});
}
if (npm_publish.stderr) {
npm_publish.stderr.on('data', function (data) {
console.info(data.toString());
});
}
npm_publish.on('error', handleReleaseErr('The npm-package publish failed!'));
npm_publish.on('close', function (code) {
if (code === 0) {
utils_1.logSuc("The npm-package publish success with version " + pkj_1.version + "@" + tag_1 + "!");
resolve(null);
}
else {
reject();
}
});
})];
case 35:
_s.sent();
_s.label = 36;
case 36:
utils_1.logTime('RELEASE', true);
shouldExit = !autoRelease;
handleReleaseSuc()(shouldExit);
return [3 /*break*/, 38];
case 37:
err_2 = _s.sent();
utils_1.logErr(err_2);
handleReleaseErr('👆 Oops! The release process encountered an error.')();
return [3 /*break*/, 38];
case 38: return [2 /*return*/];
}
});
});
}
exports.default = default_1;