|
1 |
| -const typeEnum = require('@commitlint/config-angular-type-enum'); |
2 |
| -const types = [...typeEnum.value(), 'sync', 'release']; |
| 1 | +const COMMIT_TYPES = ['build', 'chore', 'ci', 'docs', 'feat', 'fix', 'perf', 'refactor', 'revert', 'style', 'test', 'sync', 'release']; |
| 2 | +const SUBJECT_CASE_TYPES = ['lower-case', 'start-case', 'pascal-case', 'upper-case']; |
3 | 3 |
|
4 | 4 | module.exports = {
|
5 |
| - extends: ['@commitlint/config-angular'], |
| 5 | + extends: ['@commitlint/config-conventional'], |
6 | 6 | rules: {
|
7 |
| - 'type-enum': [2, 'always', types], |
8 |
| - }, |
| 7 | + // Enforce lowercase for header (type(scope): title) |
| 8 | + 'subject-case': [2, 'always', SUBJECT_CASE_TYPES], |
| 9 | + 'scope-case': [2, 'always', 'lower-case'], |
| 10 | + 'scope-empty': [2, 'never'], |
| 11 | + // Enforce a blank line between header and body |
| 12 | + 'body-leading-blank': [2, 'always'], |
| 13 | + |
| 14 | + // Enforce 'ref: MANAGER-123' format in the footer |
| 15 | + 'references-empty': [1, 'never'], |
| 16 | + // Enforce Signed-off-by footer format |
| 17 | + 'signed-off-by': [2, 'always', 'Signed-off-by:'], |
| 18 | + // Enforce specific commit types (feat, fix, etc.) |
| 19 | + 'type-enum': [2, 'always', COMMIT_TYPES], |
| 20 | + 'header-max-length': [2, 'always', 100], |
| 21 | + 'footer-leading-blank' : [2, 'always'] |
| 22 | + } |
9 | 23 | };
|
0 commit comments