UNPKG

@elora-cloud/elora-cli

Version:
61 lines (51 loc) 1.82 kB
'use strict'; 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;