@uphold/commitlint-config

    1.1.1 • Public • Published

    commitlint-config-uphold

    Shareable commitlint config enforcing Uphold's commit conventions.

    Status

    npm version build status

    Motivation

    This package ensures our commits follow our standard:

    1. Header must not exceed 72 characters.
    2. Header must start with a verb in the simple present tense (imperative mood).
    3. Header must be sentence-cased, meaning it must start with an uppercase letter.
    4. Header must not end with a full-stop.
    5. Body can make use of all verb tenses.

    Installation

    ❯ npm i commitlint-config-uphold --save-dev

    or with Yarn:

    ❯ yarn add commitlint-config-uphold --dev

    Usage with commitlint

    Create .commitlintrc.yml with:

    extends: "@uphold/commitlint-config"

    Verbs detection

    Verbs are detected using data from Wordnet provided by wordnet package.

    The wordnet database is large with more than 28 megabytes because it contains all the english words, including their definitions. To provide the smallest package possible, there's a script that generates a JSON file that contains the extracted english verbs from wordnet. To update the generated JSON whenever wordnet releases a new version, run:

    ❯ yarn update-wordnet-verbs

    ⚠️ The detection algorithm simply checks if the first word is an english word that may be used as a verb (in the simple-present tense). It does not account if the word is actually a verb in the context of the phrase. It would be possible to detect if it's actually used as a verb by using natural language processing techniques. However, they often give bad results.

    License

    MIT

    Install

    npm i @uphold/commitlint-config

    DownloadsWeekly Downloads

    6

    Version

    1.1.1

    License

    MIT

    Unpacked Size

    177 kB

    Total Files

    8

    Last publish

    Collaborators

    • satazor
    • americas
    • kurayama
    • pedrobranco
    • nunofgs
    • fixe
    • franciscocardoso
    • cristiano.oliveira
    • ruimarinho