commitlint.config.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. module.exports = {
  2. ignores: [(commit) => commit.includes('init')],
  3. extends: ['@commitlint/config-conventional'],
  4. parserPreset: {
  5. parserOpts: {
  6. headerPattern: /^(\w*|[\u4e00-\u9fa5]*)(?:[\(\(](.*)[\)\)])?[\:\:] (.*)/,
  7. headerCorrespondence: ['type', 'scope', 'subject'],
  8. referenceActions: [
  9. 'close',
  10. 'closes',
  11. 'closed',
  12. 'fix',
  13. 'fixes',
  14. 'fixed',
  15. 'resolve',
  16. 'resolves',
  17. 'resolved',
  18. ],
  19. issuePrefixes: ['#'],
  20. noteKeywords: ['BREAKING CHANGE', '不兼容变更'],
  21. fieldPattern: /^-(.*?)-$/,
  22. revertPattern: /^Revert\s"([\s\S]*)"\s*This reverts commit (\w*)\./,
  23. revertCorrespondence: ['header', 'hash'],
  24. warn() {},
  25. mergePattern: null,
  26. mergeCorrespondence: null,
  27. },
  28. },
  29. rules: {
  30. 'body-leading-blank': [2, 'always'],
  31. 'footer-leading-blank': [1, 'always'],
  32. 'header-max-length': [2, 'always', 108],
  33. 'subject-empty': [2, 'never'],
  34. 'type-empty': [2, 'never'],
  35. 'type-enum': [
  36. 2,
  37. 'always',
  38. [
  39. 'feat',
  40. 'fix',
  41. 'perf',
  42. 'style',
  43. 'docs',
  44. 'test',
  45. 'refactor',
  46. 'build',
  47. 'ci',
  48. 'chore',
  49. 'revert',
  50. 'wip',
  51. 'workflow',
  52. 'types',
  53. ],
  54. ],
  55. },
  56. };