conventional-changelog-lint
Version:
Lint commit messages against a conventional-changelog preset and ruleset
37 lines (23 loc) • 971 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = function (parsed, when) {
// Flunk if no footer is found
if (!parsed.footer) {
return [true];
}
var negated = when === 'never';
var count = (parsed.body || '').split(/\r|\n/).length;
// Get complete message split into lines
var lines = (parsed.raw || '').split(/\r|\n/).slice(count + 1);
var _lines = (0, _slicedToArray3.default)(lines, 1),
leading = _lines[0];
// Check if the first line of footer is empty
var succeeds = leading === '';
return [negated ? !succeeds : succeeds, ['footer', negated ? 'may not' : 'must', 'have leading blank line'].filter(Boolean).join(' ')];
};
module.exports = exports['default'];
;