# @uphold/commitlint-config

> Shareable commitlint config enforcing Uphold's commit conventions

Latest version **1.1.1** (published 2022-07-01) · MIT license · 0 weekly downloads

## Install

```sh
npm install @uphold/commitlint-config
pnpm add @uphold/commitlint-config
yarn add @uphold/commitlint-config
bun add @uphold/commitlint-config
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.1 |
| Published | 2022-07-01 |
| First published | 2022-05-26 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >= 14.0.0 |
| Dependencies | 0 |
| Unpacked size | 173.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Uphold |
| Maintainers | satazor, americas, kurayama, pedrobranco, nunofgs, fixe, franciscocardoso, cristiano.oliveira, ruimarinho |
| Keywords | commitlint, commit, lint |

## Links

- npm: https://www.npmjs.com/package/@uphold/commitlint-config
- Homepage: https://github.com/uphold/commitlint-config-uphold
- npm.io page: https://npm.io/package/@uphold/commitlint-config

## Alternatives

- [eslint-plugin-sonarjs](https://npm.io/package/eslint-plugin-sonarjs.md) — 2.9M weekly downloads
- [eslint-config-expo](https://npm.io/package/eslint-config-expo.md) — 1.5M weekly downloads
- [@matter/protocol](https://npm.io/package/@matter/protocol.md) — 63.5K weekly downloads
- [@eventcatalog/linter](https://npm.io/package/@eventcatalog/linter.md) — 24.8K weekly downloads
- [@inrupt/eslint-config-base](https://npm.io/package/@inrupt/eslint-config-base.md) — 4.5K weekly downloads

## Recent versions

- 1.1.1 (latest) — 2022-07-01
- 1.1.0 — 2022-05-30
- 1.0.0 — 2022-05-26

## README

# commitlint-config-uphold

Shareable commitlint config enforcing Uphold's commit conventions.

## Status

[![npm version][npm-image]][npm-url]
[![build status][ci-image]][ci-url]

## Motivation

This package ensures our commits follow our standard:

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

## Installation

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

or with Yarn:

```sh
❯ yarn add commitlint-config-uphold --dev
```

### Usage with [commitlint](https://commitlint.js.org/)

Create `.commitlintrc.yml` with:

```yml
extends: "@uphold/commitlint-config"
```

## Verbs detection

Verbs are detected using data from [Wordnet](https://wordnet.princeton.edu/) provided by [wordnet](https://www.npmjs.com/package/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:

```sh
❯ 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](https://opensource.org/licenses/MIT)

[npm-image]: https://img.shields.io/npm/v/@uphold/commitlint-config.svg
[npm-url]: https://www.npmjs.com/package/@uphold/commitlint-config
[ci-image]: https://github.com/uphold/commitlint-config-uphold/actions/workflows/ci.yml/badge.svg?branch=master
[ci-url]: https://github.com/uphold/commitlint-config-uphold/actions/workflows/ci.yml

---
_Source: https://npm.io/package/@uphold/commitlint-config · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
