Skip to content

Repository files navigation

danger-plugin-conventional-commitlint

CI npm version semantic-release code style: prettier

A danger plugin to lint commit messages with commitlint

Requirements

This plugin supports Node.js 22 or later and requires danger 13.x as its host runtime.

Usage

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

API

commitlint([rules], [options])

Options

severity

Type: String
Choices: 'fail' | 'warn' | 'message'
Default: 'fail'
Danger method to call when the commit message does not pass the linter


messageReplacer

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`;
};

Changelog

See the GitHub release history.

Contributing

See CONTRIBUTING.md.

About

danger plugin to lint commit messages with conventional commits style

Resources

Code of conduct

Contributing

Stars

9 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages