@elora-cloud/elora-cli
Version:
elora build cli 前端打包脚手架
61 lines (51 loc) • 1.82 kB
JavaScript
;
var node_fs = require('node:fs');
var process = require('node:process');
var index = require('../../common/index.cjs');
require('chalk');
var consola = require('consola');
require('ora');
require('../../common/constant.cjs');
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
var process__default = /*#__PURE__*/_interopDefaultCompat(process);
var consola__default = /*#__PURE__*/_interopDefaultCompat(consola);
// eslint-disable-next-line regexp/no-unused-capturing-group
const commitRE = /^(revert: )?(fix|feat|docs|perf|test|types|style|build|chore|release|refactor|breaking change)(\(.+\))?: .{1,50}/;
const mergeRE = /Merge /;
const monorepoExample = `
例子如下:
- fix(cli): 子项目cli的changelog
- feat(ui): 子项目UI库的changelog
- fix: 全局的changelog
`;
const baseExample = `
例子如下:
- fix: 这是提交的项目信息
- feat: 子项目UI库的changelog
`;
async function commitLint(gitParams) {
await index.isMonorepoProject();
const commitMsg = node_fs.readFileSync(gitParams, 'utf-8').trim();
if (!commitRE.test(commitMsg) && !mergeRE.test(commitMsg)) {
const example = index.isMonorepo() ? monorepoExample : baseExample;
consola__default.default.error(`提交代码的格式不正确: "${commitMsg}".
您需要按照下面的格式进行提交您本地的代码.
${example}
支持提交的类型:
- fix:修复 bug
- feat:新特性或者新功能
- docs:文档
- perf:性能
- test:测试
- types:类型
- build:构建
- chore:杂项
- release:发布
- refactor:重构
- breaking change:破坏性变更
- Merge branch 'foo' into 'bar'
`);
process__default.default.exit(1);
}
}
exports.commitLint = commitLint;