cz-conventional-changelog-custom-format
v1.0.4
Published
Prompts for conventional changelog standard with an extra step to insert Jira ID and other tweaks.
Downloads
8,046
Readme
cz-conventional-changelog-custom-format
Based on cz-conventional-changelog.
Prompts for conventional changelog standard with an extra step to insert Jira ID. Jira ID is auto-detected from your branch name by default.
Jira ID in the format of /^[A-Z0-9]+-[0-9]+\$/
, "ADR-123" for example, will be automatically detected from the current branch name and be displayed as default at the prompt step. The step is optional so you can skip it if you do not have a Jira ID.
Install
with npm
npm install --save-dev cz-conventional-changelog-custom-format
or with yarn
yarn add --dev cz-conventional-changelog-custom-format
To enable it, please update your package.config
as the following
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog-custom-format"
}
},
Features
- 🔥 It works with semantic-release and Standard Version right out of the box.
- 💚 It share the same configurtion with commitlint's default configuration.
- 💆♀️ It prompts an optional step for inserting your Jira ID.
- 🤖 It automatically detects Jira ID from your current branch name and display it as default value at the prompt step.
- 📝 Jira ID is composed into the top of your commit message body.
Configuration
package.json
Like commitizen, you specify the configuration of cz-conventional-changelog through the package.json's config.commitizen
key.
{
// ... default values
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog",
"disableScopeLowerCase": false,
"disableSubjectLowerCase": false,
"maxHeaderWidth": 100,
"maxLineWidth": 100,
"defaultType": "",
"defaultScope": "",
"defaultSubject": "",
"defaultBody": "",
"defaultIssues": "",
"types": {
...
"feat": {
"description": "A new feature",
"title": "Features"
},
...
}
}
}
// ...
}
Environment variables
The following environment varibles can be used to override any default configuration or package.json based configuration.
- CZ_TYPE = defaultType
- CZ_SCOPE = defaultScope
- CZ_SUBJECT = defaultSubject
- CZ_BODY = defaultBody
- CZ_MAX_HEADER_WIDTH = maxHeaderWidth
- CZ_MAX_LINE_WIDTH = maxLineWidth
Commitlint
If using the commitlint js library, the "maxHeaderWidth" configuration property will default to the configuration of the "header-max-length" rule instead of the hard coded value of 100. This can be ovewritten by setting the 'maxHeaderWidth' configuration in package.json or the CZ_MAX_HEADER_WIDTH environment variable.