commitlint.config.js•1.24 kB
module.exports = {
extends: ["@commitlint/config-conventional"],
rules: {
// Customize rules for your project
"type-enum": [
2,
"always",
[
"feat", // New feature
"fix", // Bug fix
"docs", // Documentation
"style", // Code style (formatting, etc.)
"refactor", // Code refactoring
"test", // Adding or updating tests
"chore", // Maintenance tasks
"perf", // Performance improvements
"ci", // CI/CD changes
"build", // Build system changes
"revert", // Reverting changes
],
],
"type-case": [2, "always", "lower-case"],
"type-empty": [2, "never"],
"subject-empty": [2, "never"],
"subject-full-stop": [2, "never", "."],
"subject-case": [2, "always", "lower-case"],
"header-max-length": [2, "always", 72],
"body-leading-blank": [2, "always"],
"footer-leading-blank": [2, "always"],
// Allow longer body lines for detailed explanations
"body-max-line-length": [1, "always", 100],
},
// Custom parser options
parserPreset: {
parserOpts: {
headerPattern: /^(\w*)(?:\((.+)\))?!?: (.+)$/,
headerCorrespondence: ["type", "scope", "subject"],
},
},
};