generated from stacksjs/stacks
-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
commitlint.config.cjs
61 lines (56 loc) · 1.78 KB
/
commitlint.config.cjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
const { readdirSync } = require('fs')
const { resolve } = require('path')
const { paramCase } = require('change-case')
const jiti = require('jiti')(__filename)
const config = jiti('./config/git.ts')
const toDelete = ['readme-md']
const components = readdirSync(resolve(__dirname, './components'))
.map(item => paramCase(item.replace(/.vue/g, '')))
.filter(item => !toDelete.includes(item))
const functions = readdirSync(resolve(__dirname, './functions'))
.map(item => paramCase(item.replace(/.ts/g, '')))
.filter(item => !toDelete.includes(item))
const scopes = [...config.git.scopes, ...components, ...functions]
const uniqueScopes = [...new Set(scopes)]
/** @type {import('cz-git').UserConfig} */
module.exports = {
rules: {
// @see: https://commitlint.js.org/#/reference-rules
'scope-enum': [
2, 'always',
uniqueScopes,
],
},
prompt: {
messages: config.git.messages,
types: config.git.types,
useEmoji: false,
themeColorCode: '',
scopes: uniqueScopes,
allowCustomScopes: true,
allowEmptyScopes: true,
customScopesAlign: 'bottom',
customScopesAlias: 'custom',
emptyScopesAlias: 'empty',
upperCaseSubject: false,
allowBreakingChanges: ['feat', 'fix'],
breaklineNumber: 100,
breaklineChar: '|',
skipQuestions: [],
issuePrefixs: [{ value: 'closed', name: 'closed: ISSUES has been processed' }],
customIssuePrefixsAlign: 'top',
emptyIssuePrefixsAlias: 'skip',
customIssuePrefixsAlias: 'custom',
allowCustomIssuePrefixs: true,
allowEmptyIssuePrefixs: true,
confirmColorize: true,
maxHeaderLength: Infinity,
maxSubjectLength: Infinity,
minSubjectLength: 0,
scopeOverrides: undefined,
defaultBody: '',
defaultIssues: '',
defaultScope: '',
defaultSubject: '',
},
}