t-comm
Version:
专业、稳定、纯粹的工具库
78 lines (75 loc) • 2.25 kB
JavaScript
import { getGitCommitInfo } from '../git/git.js';
import { BUNDLE_NAME_MAP } from './config.js';
import { formatBite } from '../bite/format-bite.js';
import { genRobotMessage } from '../wecom-robot/message.js';
import '../node/node-command.js';
import '@babel/runtime/helpers/typeof';
/* eslint-disable @typescript-eslint/no-require-imports */
function getInnerBundleBuildDesc(_a) {
var env = _a.env,
branch = _a.branch,
author = _a.author,
message = _a.message;
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;
var commitInfo = getGitCommitInfo(root);
return getInnerBundleBuildDesc({
env: env,
branch: commitInfo.branch,
author: commitInfo.author,
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 };