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:
bodyends withvalue - rule:
never - value
'.'
- condition:
bodybegins with blank line - rule:
always
- condition:
bodyis empty - rule:
never
- 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:
bodyis 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:
footerbegins with blank line - rule:
always
- condition:
footeris empty - rule:
never
- 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 - 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:
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 - 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:
scopeis empty - rule:
never
- condition:
scopehasvalueor less characters - rule:
always - value
Infinity
- condition:
scopehasvalueor more characters - rule:
always - value
0
- condition:
subjectis in one of the cases['sentence-case', 'start-case', 'pascal-case', 'upper-case'] - rule:
always - value
['sentence-case', 'start-case', 'pascal-case', 'upper-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:
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:
subjecthas exclamation before the:marker - rule:
never
- 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:
messagehas trailervalue - rule:
always - value
'Signed-off-by:'