Skip to content
Permalink
Browse files

fix: ignore empty commit messages #615 (#676)

* fix: ignore empty commit messages #615

bypass rules for completely empty commit messages (only of blank
lines/comments in message)

* fix: skip parsing for empty strings

* style: apply autoformatting

Co-authored-by: Mario Nebl <marionebl@users.noreply.github.com>
  • Loading branch information
ctomp and marionebl committed Feb 18, 2020
1 parent 8b394c9 commit c3eb1a76e08213d7ce1f200e35f8d5d6de18982a
Showing with 25 additions and 4 deletions.
  1. +6 −3 @commitlint/lint/src/lint.test.ts
  2. +19 −1 @commitlint/lint/src/lint.ts
@@ -5,9 +5,12 @@ test('throws without params', async () => {
await expect(error).rejects.toThrow('Expected a raw commit');
});

test('throws with empty message', async () => {
const error = (lint as any)('');
await expect(error).rejects.toThrow('Expected a raw commit');
test('positive on empty message', async () => {
expect(await lint('')).toMatchObject({
valid: true,
errors: [],
warnings: []
});
});

test('positive on stub message and no rule', async () => {
@@ -36,7 +36,25 @@ export default async function lint(
}

// Parse the commit message
const parsed = await parse(message, undefined, opts.parserOpts);
const parsed =
message === ''
? {header: null, body: null, footer: null}
: await parse(message, undefined, opts.parserOpts);

if (
parsed.header === null &&
parsed.body === null &&
parsed.footer === null
) {
// Commit is empty, skip
return {
valid: true,
errors: [],
warnings: [],
input: message
};
}

const allRules: Map<string, BaseRule<never, RuleType>> = new Map(
Object.entries(defaultRules)
);

0 comments on commit c3eb1a7

Please sign in to comment.
You can’t perform that action at this time.