README
@cenk1cenk2/cz-cc
Description
This is a direct fork of cz-conventional-changelog, while it swaps inquirer
for enquirer
for speed and adds auto compelete to commit types as well as reducing overal questions and making many optional.
Usage
- Install commitizen. Either globally or in the project.
# yarn
yarn global add commitizen
# npm
npm install -g commitizen
- Initiate this adapter in a project. If already initiated you can add
--force
flag to swap this adapter with the older one.- Currently has a bit of problems with yarn workspaces do to
commitizen
.
- Currently has a bit of problems with yarn workspaces do to
# yarn
commitizen init @cenk1cenk2/cz-cc --yarn --dev
# npm
commitizen init @cenk1cenk2/cz-cc --dev
- Add git-hooks.
{
"simple-git-hooks": {
"prepare-commit-msg": "[ -t 1 ] && exec < /dev/tty && git cz --hook || true"
}
}
- Add commit-lint if desired.
Configuration
Install the adapter by utilizing global commitizen installation.
Configuration settings are down below.
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/@cenk1cenk2/cz-cc",
"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.