A danger plugin to lint commit messages with commitlint
Install:
npm install --save-dev danger-plugin-conventional-commitlint
At a glance:
// dangerfile.js
import commitlint from 'danger-plugin-conventional-commitlint';
import configConventional from '@commitlint/config-conventional';
(async function dangerReport() {
const commitlintConfig = {
severity: 'warn',
};
await commitlint(configConventional.rules, commitlintConfig);
})();
Note: you must provide your own
rules
to the function
commitlint([rules], [options])
Type: String
Choices: 'fail' | 'warn' | 'message'
Default: 'fail'
Danger method to call when the commit message does not pass the linter
Type:
(ruleOutcome: LintOutcome, commitMessage: string) => string;
Default:
There is a problem with the commit message > [Commit message] - [Error Messages]
Method to add a custom message. When not passed, a default message is shown. Example:
const messageReplacer = (
ruleOutcome: LintOutcome,
commitMessage: string
): string => {
const errorsDescription = ruleOutcome.errors
.map((error) => `<li>${error.message}</li>`)
.join('');
return `<p>Commit message: <b>"${commitMessage}"</b></p><ul>${errorsDescription}</ul> Suffix after commit message`;
};
See the GitHub release history.
See CONTRIBUTING.md.