@episerver/commitlint-config v1.1.1
@episerver/commitlint-config
Shareable commitlint config enforcing the Episerver commit convention.
Installation
yarn
yarn add --dev @commitlint/cli @episerver/commitlint-confignpm
npm install --save-dev @commitlint/cli @episerver/commitlint-configUsage
Configure commitlint to use the episerver configuration via a commitlint.config.js file or a commitlint field in package.json.
commitlint.config.js
module.exports = {
extends: ['@episerver']
};package.json
"commitlint": {
"extends": ["@episerver"]
}Commit Message Format
Commits should adhere to the following format:
<type>(<scope>): <subject>
<body>
<footer>
<references>The following rules apply to the above format:
- A commit message consists of a header, body, footer, and references.
- The header is the only mandatory part of the commit message.
- The header must have a type and a subject; scope is optional.
- Scope should be surrounded by parenthesis; otherwise they are omitted.
- The type and scope should be lower case.
- The subject and body should be sentence case.
- The subject should not end with a dot.
- The header line is limited to 72 characters.
- Any other line should be wrapped at 100 characters.
Types
Must be one of the following:
| Type | Description |
|---|---|
| chore | Build process or auxiliary tool changes |
| docs | Documentation only changes |
| feat | A new feature |
| fix | A bug fix |
| refactor | A code change that neither fixes a bug or adds a feature |
| release | Create a release commit |
| revert | Revert a previous commit |
| test | Add missing tests |
Revert
If the commit reverts a previous commit, it should begin with revert:, followed by the header of the reverted commit. In the body it should say: This reverts commit <hash>., where the hash is the SHA of the commit being reverted.
Footer
The footer should only contain information about breaking changes and should use the following format:
BREAKING CHANGE: <description>The description should be a concise explanation of the breaking change. The body can be omitted if the breaking change description and subject give enough information to understand the commit.