conventional-changelog-lint
Version:
Lint commit messages against a conventional-changelog preset and ruleset
37 lines (25 loc) • 1.31 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
var _ensureTense2 = require('../library/ensure-tense');
var _ensureTense3 = _interopRequireDefault(_ensureTense2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = function (parsed, when, value) {
var tenses = Array.isArray(value) ? value : value.allowed || [];
var ignoreConfig = Array.isArray(value) ? [] : value.ignored || [];
var negated = when === 'never';
var ignored = [].concat((0, _toConsumableArray3.default)(ignoreConfig), (0, _toConsumableArray3.default)(parsed.notes.map(function (note) {
return note.title;
})));
var _ensureTense = (0, _ensureTense3.default)(parsed.body, tenses, { ignored }),
matches = _ensureTense.matches,
offending = _ensureTense.offending;
var offenders = offending.map(function (item) {
return [item.lemma, item.tense].join(' - ');
}).join(',');
return [negated ? !matches : matches, [`tense of body must`, negated ? `not` : null, `be ${value}. Verbs in other tenses: ${offenders}`].filter(Boolean).join(' ')];
};
module.exports = exports['default'];
;