conventional-changelog-atomix
Version:
conventional-changelog atomix preset
40 lines (35 loc) • 851 B
JavaScript
/* eslint-disable no-magic-numbers */
module.exports = {
whatBump: (commits) => {
let level = 2
let breakings = 0
let features = 0
commits.forEach((commit) => {
if (commit.notes.length > 0) {
breakings += commit.notes.length
level = 0
}
else if (commit.type === 'feat') {
features += 1
if (level === 2) {
level = 1
}
}
})
return {
level,
reason: `There are ${breakings} BREAKING CHANGES and ${features} features`,
}
},
parserOpts: {
headerPattern: /^(\w*)(?:\((.*)\))?\: (.*)$/,
headerCorrespondence: [
'type',
'scope',
'subject',
],
noteKeywords: 'BREAKING CHANGE',
revertPattern: /^revert:\s([\s\S]*?)\s*This reverts commit (\w*)\./,
revertCorrespondence: ['header', 'hash'],
},
}