Rules are made up by a name and a configuration array. The configuration array contains:
- Level
[0..2]:0disables the rule. For1it will be considered a warning for2an error. - Applicable
always|never:neverinverts the rule. - Value: value to use for this rule.
Rule configurations are either of type array residing on a key with the rule's name as key on the rules object or of type function returning type array or Promise<array>. This means all of the following notations are supported.
Plain array
"rules": {
"header-max-length": [0, "always", 72],
}
Function returning array
"rules": {
"header-max-length": () => [0, "always", 72],
}
Async function returning array
"rules": {
"header-max-length": async () => [0, "always", 72],
}
Function returning a promise resolving to array
"rules": {
"header-max-length": () => Promise.resolve([0, "always", 72]),
}
- condition:
bodybegins with blank line - rule:
always
- condition:
bodyhasvalueor less characters - rule:
always - value
Infinity
- condition:
bodylines hasvalueor less characters - rule:
always - value
Infinity
- condition:
bodyhasvalueor more characters - rule:
always - value
0
- condition:
footerbegins with blank line - rule:
always
- condition:
footerhasvalueor less characters - rule:
always - value
Infinity
- condition:
footerlines hasvalueor less characters - rule:
always - value
Infinity
- condition:
footerhasvalueor more characters - rule:
always - value
0
- condition:
headeris in casevalue - rule:
always
'lowerCase'
- possible values
[
'lower-case', // default
'upper-case', // UPPERCASE
'camel-case', // camelCase
'kebab-case', // kebab-case
'pascal-case', // PascalCase
'sentence-case', // Sentence case
'snake-case', // snake_case
'start-case' // Start Case
]
- condition:
headerends withvalue - rule:
never - value
'.'
- condition:
headerhasvalueor less characters - rule:
always - value
72
- condition:
headerhasvalueor more characters - rule:
always - value
0
- condition:
referenceshas at least one entry - rule:
never
- condition:
scopeis found in value - rule:
always - value
[]
- condition:
scopeis in casevalue - rule:
always
'lowerCase'
- possible values
[
'lower-case', // default
'upper-case', // UPPERCASE
'camel-case', // camelCase
'kebab-case', // kebab-case
'pascal-case', // PascalCase
'sentence-case', // Sentence case
'snake-case', // snake_case
'start-case' // Start Case
]
- condition:
scopeis empty - rule:
never
- condition:
scopehasvalueor less characters - rule:
always - value
Infinity
- condition:
scopehasvalueor more characters - rule:
always - value
0
- condition:
subjectis in casevalue - rule:
always
'lowerCase'
- possible values
[
'lower-case', // default
'upper-case', // UPPERCASE
'camel-case', // camelCase
'kebab-case', // kebab-case
'pascal-case', // PascalCase
'sentence-case', // Sentence case
'snake-case', // snake_case
'start-case' // Start Case
]
- condition:
subjectis empty - rule:
never
- condition:
subjectends withvalue - rule:
never - value
'.'
- condition:
subjecthasvalueor less characters - rule:
always - value
Infinity
- condition:
subjecthasvalueor more characters - rule:
always - value
0
- condition:
typeis found in value - rule:
always - value
['feat', 'fix', 'docs', 'style', 'refactor', 'test', 'revert']
- description:
typeis in casevalue - rule:
always - value
'lower-case' - possible values
[
'lower-case', // default
'upper-case', // UPPERCASE
'camel-case', // camelCase
'kebab-case', // kebab-case
'pascal-case', // PascalCase
'sentence-case', // Sentence case
'snake-case', // snake_case
'start-case' // Start Case
];
- condition:
typeis empty - rule:
never
- condition:
typehasvalueor less characters - rule:
always - value
Infinity
- condition:
typehasvalueor more characters - rule:
always - value
0
- condition:
messagehasvalue - rule:
always - value
'Signed-off-by:'
- condition:
bodyis verbalized in tense present invalue - rule:
always - value
['present-imperative']
- possible values
[
'past-tense', // did
'present-imperative', // do
'present-participle', // doing
'present-third-person' // does
]
- condition:
footeris verbalized in tense present invalue - rule:
always - value
['present-imperative']
- possible values
[
'past-tense', // did
'present-imperative', // do
'present-participle', // doing
'present-third-person' // does
]
- condition:
subjectis of languagevalue - rule:
always - value
eng
- condition:
subjectis verbalized in tense present invalue - rule:
always - value
['present-imperative']
- possible values
[
'past-tense', // did
'present-imperative', // do
'present-participle', // doing
'present-third-person' // does
]