@elora-cloud/elora-cli
Version:
elora build cli 前端打包脚手架
77 lines (73 loc) • 2.45 kB
JavaScript
;
var path = require('node:path');
var node_url = require('node:url');
var execa = require('execa');
var index = require('../../common/index.cjs');
var constant = require('../../common/constant.cjs');
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
// 获取当前模块文件的 URL
const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli/commands/change-log/transform.cjs', document.baseURI).href)));
// 获取当前模块文件的目录路径
const __dirname$1 = path.dirname(__filename$1);
function formatType(type) {
const MAP = {
fix: 'Bug Fixes',
feat: 'Feature',
docs: 'Document',
types: 'Types',
};
return MAP[type] || type;
}
function getPackagesInfo(filter) {
let data;
if (filter) {
data = execa.execaSync('node', [path.join(__dirname$1, './execPackages.mjs'), `--name=${filter}`]);
}
else {
data = execa.execaSync('node', [path.join(__dirname$1, './execPackages.mjs')]);
}
try {
return JSON.parse(data.stdout);
}
catch (e) {
console.log('e ==> ', e);
return false;
}
}
// 格式化代码
function transform(item, _context) {
if (item.type === 'chore' || item.type === 'test') {
return null;
}
const typeTmp = formatType(item.type);
if (index.isMonorepo()) {
const pkgInfo = getPackagesInfo(item.scope);
if (pkgInfo) {
// // 当前是一个monorepo的项目
const first = pkgInfo[0];
if (!first)
return null;
if (first.dir !== constant.CWD) {
return null;
}
}
else {
return null;
}
}
let shortHash = item.shortHash;
if (item.hash) {
shortHash = item.hash.slice(0, 8);
}
if (item.references.length) {
item.references.forEach((ref) => {
if (ref.issue && item.subject) {
item.subject = item.subject.replace(` (#${ref.issue})`, '');
}
});
}
return { ...item, type: typeTmp, shortHash };
}
exports.formatType = formatType;
exports.getPackagesInfo = getPackagesInfo;
exports.transform = transform;