commitlint-config-gitmoji
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

English | 中文

commitlint-config-gitmoji

🎉 Lint your gitmoji commits

Shareable commitlint config enforcing gitmoji. Use with commitlint .

Demo

TODO

Getting started

1 - Install dependencies

# use npm
npm i -D commitlint-config-gitmoji @commitlint/core

# use yarn
yarn add -D commitlint-config-gitmoji @commitlint/core

2 - Add commitlint config for Gitmoji

echo "module.exports = {extends: ['gitmoji']};" > commitlint.config.js

Rules

Problems

The following rules are considered problems for gitmoji commit 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 From gitmoji JSON
echo ":abc: some message" # fails
echo ":bento: some message" # passes

type-case

  • description: type is in case value

  • rule: always

  • value

    'lowerCase';
echo ":ART: Format some code" # fails
echo ":art: Format some code" # passes

type-empty

  • condition: type is empty
  • rule: never
echo ": some message" # fails
echo ":fire: Delete some file" # passes

scope-case

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

subject-case

  • condition: subject must begin with ['sentence-case', 'start-case', 'pascal-case', 'upper-case']
  • rule: always
echo ":art:(scope) some Message" # Fails
echo ":art:(scope) Some message" # pass

subject-empty

  • condition: subject is empty
  • rule: never
echo ":art: " # fails
echo ":art: some message" # passes

subject-full-stop

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

header-max-length

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

parserPreset

module.exports = {
  // ...
  parserPreset: {
    parserOpts: {
      // Test URL: https://regex101.com/r/YxXWi5/5
      headerPattern: /^(?::\w*:\s)?(?<type>\w*)(?:\((?<scope>._)\))?!?:\s(?<subject>[\s\w]_\w)\s?(?<ticket>#\d\*)?\$/,
      headerCorrespondence: ['type', 'scope', 'subject', 'ticket'],
    },
  },
};

Package Sidebar

Install

npm i commitlint-config-gitmoji@2.0.0

Version

2.0.0

License

MIT

Unpacked Size

15 kB

Total Files

5

Last publish

Collaborators

  • arvinxx