31 lines
1.2 KiB
JavaScript
31 lines
1.2 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.footerLeadingBlank = void 0;
|
|
const to_lines_1 = __importDefault(require("@commitlint/to-lines"));
|
|
const message_1 = __importDefault(require("@commitlint/message"));
|
|
const footerLeadingBlank = (parsed, when = 'always') => {
|
|
// Flunk if no footer is found
|
|
if (!parsed.footer) {
|
|
return [true];
|
|
}
|
|
const negated = when === 'never';
|
|
const rawLines = (0, to_lines_1.default)(parsed.raw);
|
|
const bodyLines = parsed.body ? (0, to_lines_1.default)(parsed.body) : [];
|
|
const bodyOffset = bodyLines.length > 0 ? rawLines.indexOf(bodyLines[0]) : 1;
|
|
const [leading] = rawLines.slice(bodyLines.length + bodyOffset);
|
|
// Check if the first line of footer is empty
|
|
const succeeds = leading === '';
|
|
return [
|
|
negated ? !succeeds : succeeds,
|
|
(0, message_1.default)([
|
|
'footer',
|
|
negated ? 'may not' : 'must',
|
|
'have leading blank line',
|
|
]),
|
|
];
|
|
};
|
|
exports.footerLeadingBlank = footerLeadingBlank;
|
|
//# sourceMappingURL=footer-leading-blank.js.map
|