UNPKG

t-comm

Version:

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

63 lines (59 loc) 2.1 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function getImageName(_a) { var projectName = _a.projectName, subProjectName = _a.subProjectName, branch = _a.branch; var innerParse = function innerParse(str) { return str.replace(/\//g, '.'); }; var prefix = "".concat(innerParse(projectName), ".").concat(innerParse(subProjectName)); if (branch === 'release') { return prefix; } var result = "".concat(prefix, ".").concat(innerParse(branch)); return result; } function parseGrayPublishConfig(config) { if (config === void 0) { config = {}; } var map = {}; Object.keys(config).forEach(function (projectName) { var projectMap = config[projectName]; Object.keys(projectMap).forEach(function (subProjectName) { var subProjectMap = projectMap[subProjectName]; Object.keys(subProjectMap).forEach(function (branch) { var coreConfig = subProjectMap[branch]; var curPackageName = getImageName({ projectName: projectName, subProjectName: subProjectName, branch: branch }); map[curPackageName] = coreConfig; }); }); }); return map; } function getCurrentProjectUseGray(fullSubProjectName, globalGrayPublishConfig) { var keys = Object.keys(globalGrayPublishConfig); var list = keys.filter(function (key) { return key === fullSubProjectName || key.startsWith("".concat(fullSubProjectName, ".")); }).filter(function (packageName) { var info = globalGrayPublishConfig[packageName]; return !!(info.grayVersion && info.grayPercent && info.cookieId); }).map(function (packageName) { var parsedBranch = packageName.replace(fullSubProjectName, ''); return { fullSubProjectName: fullSubProjectName, packageName: packageName, parsedBranch: parsedBranch, cookieId: globalGrayPublishConfig[packageName].cookieId || '' }; }); return list; } exports.getCurrentProjectUseGray = getCurrentProjectUseGray; exports.getImageName = getImageName; exports.parseGrayPublishConfig = parseGrayPublishConfig;