conventional-changelog-unjs
Version:
conventional-changelog unjs preset
34 lines (30 loc) • 816 B
JavaScript
const BREAKING_CHNAGE_NOTE_TITLES = [
'BREAKING CHANGE',
'BREAKING-CHANGE',
]
export function createParserOpts(
config,
) {
return {
headerPattern: /^(\w*)(?:\((.*)\))?!?: (.*)$/,
breakingHeaderPattern: /^(\w*)(?:\((.*)\))?!: (.*)$/,
headerCorrespondence: [
'type',
'scope',
'subject',
],
noteKeywords: [
...BREAKING_CHNAGE_NOTE_TITLES,
],
// eslint-disable-next-line regexp/no-super-linear-backtracking
revertPattern: /^(?:Revert|revert:)\s"?([\s\S]+?)"?\s*This reverts commit (\w*)\./i,
revertCorrespondence: ['header', 'hash'],
issuePrefixes: config.issuePrefixes,
}
}
export function checkBreakingChangeNote(note) {
return BREAKING_CHNAGE_NOTE_TITLES.includes(note.title)
}
export function hasBreakingChange(commit) {
return commit.notes.some(checkBreakingChangeNote)
}