t-comm
Version:
专业、稳定、纯粹的工具库
86 lines (83 loc) • 2.56 kB
JavaScript
import { formatBite } from '../bite/format-bite.mjs';
import { getGitCommitInfo } from '../git/git.mjs';
import { genRobotMessage } from '../wecom-robot/message.mjs';
import { BUNDLE_NAME_MAP } from './config.mjs';
import '../tslib.es6-096fffdd.js';
import '../node/node-command.mjs';
import '@babel/runtime/helpers/typeof';
/* eslint-disable @typescript-eslint/no-require-imports */
function getInnerBundleBuildDesc(_a) {
var _b = _a.env,
env = _b === void 0 ? '' : _b,
_c = _a.branch,
branch = _c === void 0 ? '' : _c,
_d = _a.author,
author = _d === void 0 ? '' : _d,
_e = _a.message,
message = _e === void 0 ? '' : _e;
var buildDesc = genRobotMessage([[{
label: '环境',
content: env || ''
}, {
label: '分支',
content: branch || ''
}, {
label: '最后提交',
content: "".concat(author, " - ").concat(message)
}]]);
return buildDesc;
}
function getBundleBuildDesc(_a) {
var root = _a.root,
_b = _a.env,
env = _b === void 0 ? 'test' : _b,
branch = _a.branch,
author = _a.author,
message = _a.message;
var commitInfo = getGitCommitInfo(root, false, false, false);
return getInnerBundleBuildDesc({
env: env,
branch: branch || commitInfo.branch,
author: author || commitInfo.author,
message: message || commitInfo.message
});
}
function getBundleVersion(root) {
var path = require('path');
try {
var pkgFile = path.resolve(root, './package.json');
var pkg = require(pkgFile) || {};
return pkg.version;
} catch (err) {
console.log('[getBundleVersion] error: ', err);
}
return '';
}
/**
* 解析上传结果
* @ignore
*/
function parseUploadResult(result) {
var subPackageInfo = result.subPackageInfo;
subPackageInfo.reverse();
var list = subPackageInfo.sort(function (a, b) {
var keys = Object.keys(BUNDLE_NAME_MAP);
if (keys.indexOf(a.name) > -1 || keys.indexOf(b.name) > -1) {
return keys.indexOf(b.name) - keys.indexOf(a.name);
}
return b.size - a.size;
}).map(function (pkg) {
return "- ".concat(BUNDLE_NAME_MAP[pkg.name] || pkg.name, ": ").concat(formatBite(pkg.size));
});
list.unshift('PACKAGE SIZE INFO: ');
return list;
}
function flattenSubPackages(result) {
var _a = (result || {}).subPackageInfo,
subPackageInfo = _a === void 0 ? [] : _a;
return subPackageInfo.reduce(function (acc, item) {
acc[item.name] = item;
return acc;
}, {});
}
export { flattenSubPackages, getBundleBuildDesc, getBundleVersion, getInnerBundleBuildDesc, parseUploadResult };