humpty
Version:
Makes sure your changelogs mention your breaking changes
39 lines (30 loc) • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = findUnmentionedChanges;
var _changeTypes = require("./changeTypes");
function propIsMentioned(commitMessages, propName) {
if (!commitMessages || commitMessages.length === 0) {
return false;
}
return commitMessages.some(msg => msg.includes(`${propName} propS`));
}
function findUnmentionedChanges(commitMessages, changedExports) {
let unmentionedChangeCount = 0;
const unmentionedChanges = changedExports.map(changedExport => {
const unmentionedChangesInExport = changedExport.apiChanges.map(apiChange => {
if (_changeTypes.CHANGE_TYPE_GROUP_PROP.includes(apiChange.changeType) && !propIsMentioned(commitMessages, apiChange.propName)) {
unmentionedChangeCount += 1;
return apiChange;
}
return undefined;
}).filter(Boolean);
changedExport.apiChanges = unmentionedChangesInExport;
return unmentionedChangesInExport.length ? changedExport : undefined;
}).filter(Boolean);
return {
unmentionedChanges,
unmentionedChangeCount
};
}