2024-04-22 02:24:36 +08:00
|
|
|
|
/** @type {import('cz-git').UserConfig} */
|
2024-06-21 18:27:34 +08:00
|
|
|
|
const fs = require('fs')
|
|
|
|
|
const path = require('path')
|
|
|
|
|
|
|
|
|
|
/* 获取项目的修改范围 */
|
|
|
|
|
const scopes = fs
|
|
|
|
|
.readdirSync(path.resolve(__dirname, 'src'), { withFileTypes: true })
|
|
|
|
|
.filter((dirent) => dirent.isDirectory())
|
|
|
|
|
.map((dirent) => dirent.name.replace(/s$/, ''))
|
|
|
|
|
|
2024-04-22 02:24:36 +08:00
|
|
|
|
module.exports = {
|
|
|
|
|
// 继承的规则
|
2024-10-28 14:49:43 +08:00
|
|
|
|
extends: ['@commitlint/config-conventional'],
|
2024-04-22 02:24:36 +08:00
|
|
|
|
// 自定义规则
|
|
|
|
|
rules: {
|
|
|
|
|
// @see https://commitlint.js.org/#/reference-rules
|
|
|
|
|
|
|
|
|
|
// 提交类型枚举,git提交type必须是以下类型
|
2024-10-28 14:49:43 +08:00
|
|
|
|
'type-enum': [
|
2024-04-22 02:24:36 +08:00
|
|
|
|
2,
|
2024-10-28 14:49:43 +08:00
|
|
|
|
'always',
|
2024-04-22 02:24:36 +08:00
|
|
|
|
[
|
2024-10-28 14:49:43 +08:00
|
|
|
|
'feat', // 新增功能
|
|
|
|
|
'fix', // 修复缺陷
|
|
|
|
|
'docs', // 文档变更
|
|
|
|
|
'style', // 代码格式(不影响功能,例如空格、分号等格式修正)
|
|
|
|
|
'refactor', // 代码重构(不包括 bug 修复、功能新增)
|
|
|
|
|
'perf', // 性能优化
|
|
|
|
|
'test', // 添加疏漏测试或已有测试改动
|
|
|
|
|
'build', // 构建流程、外部依赖变更(如升级 npm 包、修改 webpack 配置等)
|
|
|
|
|
'ci', // 修改 CI 配置、脚本
|
|
|
|
|
'revert', // 回滚 commit
|
|
|
|
|
'chore' // 对构建过程或辅助工具和库的更改(不影响源文件、测试用例)
|
|
|
|
|
]
|
2024-04-22 02:24:36 +08:00
|
|
|
|
],
|
2024-10-28 14:49:43 +08:00
|
|
|
|
'subject-case': [0] // subject大小写不做校验
|
2024-04-22 02:24:36 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
prompt: {
|
|
|
|
|
messages: {
|
2024-10-28 14:49:43 +08:00
|
|
|
|
type: '选择你要提交的类型 :',
|
|
|
|
|
scope: '选择一个提交范围(可选):',
|
|
|
|
|
customScope: '请输入自定义的提交范围 :',
|
|
|
|
|
subject: '填写简短精炼的变更描述 :\n',
|
2024-04-22 02:24:36 +08:00
|
|
|
|
body: '填写更加详细的变更描述(可选)。使用 "|" 换行 :\n',
|
|
|
|
|
breaking: '列举非兼容性重大的变更(可选)。使用 "|" 换行 :\n',
|
2024-10-28 14:49:43 +08:00
|
|
|
|
footerPrefixesSelect: '选择关联issue前缀(可选):',
|
|
|
|
|
customFooterPrefix: '输入自定义issue前缀 :',
|
|
|
|
|
footer: '列举关联issue (可选) 例如: #31, #I3244 :\n',
|
|
|
|
|
generatingByAI: '正在通过 AI 生成你的提交简短描述...',
|
|
|
|
|
generatedSelectByAI: '选择一个 AI 生成的简短描述:',
|
|
|
|
|
confirmCommit: '是否提交或修改commit ?'
|
2024-04-22 02:24:36 +08:00
|
|
|
|
},
|
|
|
|
|
// prettier-ignore
|
|
|
|
|
types: [
|
|
|
|
|
{ value: "feat", name: "特性: ✨ 新增功能", emoji: ":sparkles:" },
|
|
|
|
|
{ value: "fix", name: "修复: 🐛 修复缺陷", emoji: ":bug:" },
|
|
|
|
|
{ value: "docs", name: "文档: 📝 文档变更", emoji: ":memo:" },
|
|
|
|
|
{ value: "style", name: "格式: 💄 代码格式(不影响功能,例如空格、分号等格式修正)", emoji: ":lipstick:" },
|
|
|
|
|
{ value: "refactor", name: "重构: ♻️ 代码重构(不包括 bug 修复、功能新增)", emoji: ":recycle:" },
|
|
|
|
|
{ value: "perf", name: "性能: 🚀 性能优化", emoji: ":zap:" },
|
|
|
|
|
{ value: "test", name: "测试: 🧪 添加疏漏测试或已有测试改动", emoji: ":white_check_mark:"},
|
|
|
|
|
{ value: "build", name: "构建: 📦️ 构建流程、外部依赖变更(如升级 npm 包、修改 vite 配置等)", emoji: ":package:"},
|
|
|
|
|
{ value: "ci", name: "集成: ⚙️ 修改 CI 配置、脚本", emoji: ":ferris_wheel:"},
|
|
|
|
|
{ value: "revert", name: "回退: ↩️ 回滚 commit",emoji: ":rewind:"},
|
|
|
|
|
{ value: "chore", name: "其他: 🛠️ 对构建过程或辅助工具和库的更改(不影响源文件、测试用例)", emoji: ":hammer:"},
|
|
|
|
|
],
|
|
|
|
|
useEmoji: true,
|
2024-10-28 14:49:43 +08:00
|
|
|
|
emojiAlign: 'center',
|
2024-04-22 02:24:36 +08:00
|
|
|
|
useAI: false,
|
|
|
|
|
aiNumber: 1,
|
2024-10-28 14:49:43 +08:00
|
|
|
|
themeColorCode: '38;5;168',
|
2024-04-22 02:24:36 +08:00
|
|
|
|
allowCustomScopes: true,
|
|
|
|
|
allowEmptyScopes: true,
|
2024-06-21 18:27:34 +08:00
|
|
|
|
customScopesAlign: 'bottom',
|
|
|
|
|
scopes: [...scopes],
|
2024-04-22 02:24:36 +08:00
|
|
|
|
upperCaseSubject: false,
|
|
|
|
|
markBreakingChangeMode: false,
|
2024-10-28 14:49:43 +08:00
|
|
|
|
allowBreakingChanges: ['feat', 'fix'],
|
2024-04-22 02:24:36 +08:00
|
|
|
|
breaklineNumber: 100,
|
2024-10-28 14:49:43 +08:00
|
|
|
|
breaklineChar: '|',
|
2024-04-22 02:24:36 +08:00
|
|
|
|
skipQuestions: [],
|
2024-10-28 14:49:43 +08:00
|
|
|
|
issuePrefixes: [{ value: 'closed', name: 'closed: ISSUES has been processed' }],
|
|
|
|
|
customIssuePrefixAlign: 'top',
|
|
|
|
|
emptyIssuePrefixAlias: 'skip',
|
|
|
|
|
customIssuePrefixAlias: 'custom',
|
2024-04-22 02:24:36 +08:00
|
|
|
|
allowCustomIssuePrefix: true,
|
|
|
|
|
allowEmptyIssuePrefix: true,
|
|
|
|
|
confirmColorize: true,
|
|
|
|
|
maxHeaderLength: Infinity,
|
|
|
|
|
maxSubjectLength: Infinity,
|
|
|
|
|
minSubjectLength: 0,
|
|
|
|
|
scopeOverrides: undefined,
|
2024-10-28 14:49:43 +08:00
|
|
|
|
defaultBody: '',
|
|
|
|
|
defaultIssues: '',
|
|
|
|
|
defaultSubject: ''
|
|
|
|
|
}
|
|
|
|
|
}
|