0.1.1 • Published 8 months ago

@z31os.phan/commitlint-config-base v0.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

Commitlint Config Base

🚦 Lint your conventional commits

Shareable commitlint config enforcing conventional commits. Use with commitlint.

Features

  • Enforcing conventional commits
  • Support using gitmoji

Installation

use npm

npm i -D @z31os.phan/commitlint-config-base

use pnpm

pnpm i -D @z31os.phan/commitlint-config-base

Usage/Examples

Config

Add commitlint config

echo "module.exports = {extends: ['@z31os.phan/commitlint-config-base']};" > commitlint.config.js

Commit style

Structure

the structure of commit styles is below

:gitmoji: type(scope?): subject
body?
footer?

Example

:sparkles: feat(changelog): support chinese title

:bug: fix(config): fix a subject bug

:memo: docs: update README.md

:bulb: docs(plugin): update comments

Detail 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

echo ":abc: some message" # fails
echo ":feat: 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
  • value: 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" # pass
echo ":art:(scope) some message" # Fails

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: 100
echo ":art: some message that is way too long and breaks the line max-length by several characters" # fails
echo ":art: some message" # passes

License

MIT ® 2024. @nhanph94

0.1.1

8 months ago

0.1.0

11 months ago