Skip to content

Latest commit

 

History

History
215 lines (155 loc) · 4.66 KB

File metadata and controls

215 lines (155 loc) · 4.66 KB

commitlint-config-git-commit-emoji

npm latest download MIT

Shareable commitlint config for the VS Code extension git-commit-plugin with emoji enabled. Use with commitlint.

Getting started

npm install --save-dev @commitlint/cli commitlint-config-git-commit-emoji

echo "module.exports = {extends: ['git-commit-emoji']};" > .commitlintrc.js

Format

<emoji> <type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

Example

✨ feat(blog): add comment section

Rules

Problems

The following rules are considered problems for commitlint-config-git-commit-emoji 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
  • value
[
  '🎉 init',
  '✨ feat',
  '🐞 fix',
  '📃 docs',
  '🌈 style',
  '🦄 refactor',
  '🎈 perf',
  '🧪 test',
  '🔧 build',
  '🐎 ci',
  '🐳 chore',
  '↩ revert',
]
echo "foo: some message" # fails
echo "🐞 fix: some message" # passes

type-case

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

type-empty

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

scope-case

  • condition: scope is in case value
  • rule: always
'lowerCase'
echo "🐞 fix(SCOPE): some message" # fails
echo "🐞 fix(scope): some message" # passes

subject-case

  • condition: subject is in one of the cases ['sentence-case', 'start-case', 'pascal-case', 'upper-case']
  • rule: never
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
echo "🐞 fix:" # fails
echo "🐞 fix: some message" # passes

subject-full-stop

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

subject-exclamation-mark

  • condition: subject must not have a ! before the : marker
  • rule: never

The angular commit convention dose not use a ! to define a breaking change in the commit subject. If you want to use this feature please consider using the conventional commit config.

header-max-length

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

body-leading-blank

  • condition: Body should have a leading blank line
  • rule: always
echo "🐞 fix: some message
body" # fails

echo "🐞 fix: some message

body" # passes

footer-leading-blank

  • condition: Footer should have a leading blank line
  • rule: always
echo "🐞 fix: some message
BREAKING CHANGE: It will be significant" # fails

echo "🐞 fix: some message

BREAKING CHANGE: It will be significant" # passes

Thanks

License

MIT © Nor Cod