UNPKG

@elora-cloud/elora-cli

Version:
77 lines (73 loc) 2.45 kB
'use strict'; 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;