Skip to content

insurgent-lab/commitlint-config

Repository files navigation

Insurgent Lab's commitlint configuration

npm GitHub Workflow Status Codecov Renovate Snyk

Shareable commitlint config enforcing conventional commits with rules from @insurgent/conventional-changelog-preset. Use with @commitlint/cli and @commitlint/prompt-cli.

Getting started

npm install --save-dev @insurgent/commitlint-config @commitlint/cli
echo '{"extends": ["@insurgent/commitlint-config"]}' > .commitlintrc

Rules

Problems

The following rules are considered problems for @insurgent/commitlint-config and will yield a non-zero exit code when not met.

Consult docs/rules for a list of available rules.

type-enum

  • condition: type is found in value

  • rule: always

  • level: error

  • value

    [
      'build',
      'chore',
      'ci',
      'docs',
      'feat',
      'fix',
      'perf',
      'refactor',
      'revert',
      'style',
      'test'
    ];
    
echo "foo: some message" # fails
echo "fix: some message" # passes

type-case

  • description: type is in case value
  • rule: always
  • level: error
  • value
    'lowerCase'
    
echo "FIX: some message" # fails
echo "fix: some message" # passes

type-empty

  • condition: type is empty
  • rule: never
  • level: error
echo ": some message" # fails
echo "fix: some message" # passes

subject-case

  • condition: subject is in one of the cases ['sentence-case', 'start-case', 'pascal-case', 'upper-case']
  • rule: never
  • level: error
echo "fix(SCOPE): Some message" # fails
echo "fix(SCOPE): Some Message" # fails
echo "fix(SCOPE): SomeMessage" # fails
echo "fix(SCOPE): SOMEMESSAGE" # fails
echo "fix(scope): some message" # passes
echo "fix(scope): some Message" # passes

subject-empty

  • condition: subject is empty
  • rule: never
  • level: error
echo "fix:" # fails
echo "fix: some message" # passes

subject-full-stop

  • condition: subject ends with value
  • rule: never
  • level: error
  • value
'.'
echo "fix: some message." # fails
echo "fix: some message" # passes

header-max-length

  • condition: header has value or less characters
  • rule: always
  • level: error
  • value
100
echo "fix: some message that is way too long and breaks the line max-length by several characters" # fails
echo "fix: some message" # passes

footer-leading-blank

  • condition: footer should have a leading blank line
  • rule: always
  • level: warning
echo "fix: some message
BREAKING CHANGE: It will be significant" # warning

echo "fix: some message

BREAKING CHANGE: It will be significant" # passes

footer-max-line-length

  • condition: footer each line has value or less characters
  • rule: always
  • level: error
  • value
100
echo "fix: some message

BREAKING CHANGE: footer with multiple lines
has a message that is way too long and will break the line rule 'line-max-length' by several characters" # fails

echo "fix: some message

BREAKING CHANGE: footer with multiple lines
but still no line is too long" # passes

body-leading-blank

  • condition: body should have a leading blank line
  • rule: always
  • level: warning
echo "fix: some message
body" # warning

echo "fix: some message

body" # passes

body-max-line-length

  • condition: body each line has value or less characters
  • rule: always
  • level: error
  • value
100
echo "fix: some message

body with multiple lines
has a message that is way too long and will break the line rule 'line-max-length' by several characters" # fails

echo "fix: some message

body with multiple lines
but still no line is too long" # passes

About

commitlint config for @insurgent/conventional-changelog-preset

Resources

License

Stars

Watchers

Forks

Contributors 28

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy