@edgelogistics/cz-conventional-changelog
v1.0.0
Published
Prompts for conventional changelog standard with an extra step to insert Jira ID.
Downloads
6
Keywords
Readme
@edgelogistics/cz-conventional-changelog
A fork of cz-conventional-changelog.
Prompts for conventional changelog standard with an extra step to insert Jira Histories and Jira tasks
Jira ID in the format of /^([A-Z0-9]+-[0-9]+)(,[A-Z0-9]+-[0-9]+)*\$/
, "ADR-123,DSA-31" for example. Allow multiple Jira issues.
Install
with npm
npm install --save-dev @edgelogistics/cz-conventional-changelog
or with yarn
yarn add --dev @edgelogistics/cz-conventional-changelog
To enable it, please update your package.config
as the following
"config": {
"commitizen": {
"path": "./node_modules/@edgelogistics/cz-conventional-changelog"
}
},
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": "",
"scopeChoices": [{
"name": "topic1",
"description": "Scope for tasks related with the Topic 1"
}],
"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.