You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
675 B
33 lines
675 B
1 year ago
|
'use strict'
|
||
|
|
||
|
const parserOpts = require('./parser-opts')
|
||
|
|
||
|
module.exports = {
|
||
|
parserOpts,
|
||
|
|
||
|
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: level,
|
||
|
reason: breakings === 1
|
||
|
? `There is ${breakings} BREAKING CHANGE and ${features} features`
|
||
|
: `There are ${breakings} BREAKING CHANGES and ${features} features`
|
||
|
}
|
||
|
}
|
||
|
}
|