UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

103 lines (100 loc) 3.15 kB
import { formatBite } from '../bite/format-bite.mjs'; import { getGitCommitInfo } from '../git/git.mjs'; import { getPath } from '../nodejs/path.mjs'; import { genRobotMessage } from '../wecom-robot/message.mjs'; import { BUNDLE_NAME_MAP } from './config.mjs'; import '../node/node-command.mjs'; import '@babel/runtime/helpers/typeof'; import '../nodejs/child_process.mjs'; import '../nodejs/fs.mjs'; import '../validate/validate.mjs'; /* eslint-disable @typescript-eslint/no-require-imports */ function getInnerBundleBuildDesc(_ref) { var _ref$env = _ref.env, env = _ref$env === void 0 ? '' : _ref$env, _ref$branch = _ref.branch, branch = _ref$branch === void 0 ? '' : _ref$branch, _ref$author = _ref.author, author = _ref$author === void 0 ? '' : _ref$author, _ref$message = _ref.message, message = _ref$message === void 0 ? '' : _ref$message; var buildDesc = genRobotMessage([[{ label: '环境', content: env || '' }, { label: '分支', content: branch || '' }, { label: '最后提交', content: "".concat(author, " - ").concat(message) }]]); return buildDesc; } function getBundleBuildDesc(_ref2) { var root = _ref2.root, _ref2$env = _ref2.env, env = _ref2$env === void 0 ? 'test' : _ref2$env, branch = _ref2.branch, author = _ref2.author, message = _ref2.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) { try { var pkgFile = getPath().resolve(root, './package.json'); var pkg = require(pkgFile) || {}; return pkg.version; } catch (err) { console.log('[getBundleVersion] error: ', err); } return ''; } /** * 解析上传结果 * @example * ```ts * parseUploadResult({ * subPackageInfo: [ * { name: '__APP__', size: 102400 }, * { name: 'pages/foo', size: 51200 }, * ], * }); * // [ * // 'PACKAGE SIZE INFO: ', * // '- 主包: 100KB', * // '- pages/foo: 50KB', * // ] * ``` * @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 _ref3 = result || {}, _ref3$subPackageInfo = _ref3.subPackageInfo, subPackageInfo = _ref3$subPackageInfo === void 0 ? [] : _ref3$subPackageInfo; return subPackageInfo.reduce(function (acc, item) { acc[item.name] = item; return acc; }, {}); } export { flattenSubPackages, getBundleBuildDesc, getBundleVersion, getInnerBundleBuildDesc, parseUploadResult };