UNPKG

conventional-changelog-lint

Version:

Lint commit messages against a conventional-changelog preset and ruleset

37 lines (25 loc) 1.31 kB
'use strict'; 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'];