0.2.2 • Published 2 years ago

@morev/commitlint-config v0.2.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Promo image of @morev/commitlint-config package

Stability of "master" branch License: MIT Last commit Release version GitHub Release Date Keywords

@morev/commitlint-config

Shareable commitlint configuration.

Table of contents:

Installation

Using yarn

yarn add @morev/commitlint-config

Using npm

npm install @morev/commitlint-config

Using pnpm

pnpm add @morev/commitlint-config

Usage

Basic usage

Create a .commitlintrc.cjs file in the project root:

echo -e "module.exports = {\n\textends: ['@morev/commitlint-config'],\n\trules: {},\n};" > .commitlintrc.cjs

The command above will create a .commitlintrc.cjs file with the following content:

module.exports = {
  extends: ['@morev/commitlint-config'],
  rules: {},
};

It's recommended to create .commitlintrc.cjs file instead of commitlint.config.js because by using this naming strategy you can keep your Commitlint configuration file consistent across packages regardless of whether the package has "type": "module" or "type": "commonjs".

Advanced usage

If you need fine-grained control, you can import the entire config directly and manipulate it as a JavaScript object:

const config = require('@morev/commitlint-config');

// Replace the `header-min-length` rule with custom settings
config.rules['header-min-length'] = [2, 'always', 5];

module.exports = config;

Also you can use the built-in utility to modify type-enum rule for each project in a more elegant way:

const { modifyTypeEnum } = require('@morev/commitlint-config/utils');
const config = require('@morev/commitlint-config');

module.exports = modifyTypeEnum(config, {
  add: ['temp'],
  remove: ['nvm'],
});

// Now you can use `temp` as a type and cannot use `nvm`, rest types remain as is.

Built-in type enum

typeDescription
featA new feature related to a production code.
fixA bug fix related to a production code.
refactorA production code change that neither fixes a bug nor adds a feature.
perfA less generic subset of refactor, a code change that improves performance.
testAdding new/missing tests or correcting existing tests.
docsDocumentation changes.
choreUpdating accompanying code (linters, builders, library versions, etc.) without affecting the production code.
ciA less generic subset of chore related to CI changes only.
releaseA less generic subset of chore related to changes that only bumps the version and update CHANGELOG.md.
revertUsed for commits that revert another commit.
wipShortened form of work in progress For commits that should be in the public repository but represent a feature that is not yet ready.
nvmShortened form of nevermind For commits that have no value to other developers, which can be skipped when analyzing changes.
buildNot recommended to use nowadays. Used for legacy projects that provide build artifacts as part of the repository.