cz-format-extension
Extensible Commitizen's format
Usage
npm install -D commitizen cz-format-extension
Make .czrc
or add config
fields into package.json
.czrc
{
"path": "cz-format-extension"
}
package.json
{
"config": {
"commitizen": {
"path": "cz-format-extension"
}
}
}
Create Config file
Make .czferc.js
module.exports = {
questions({inquirer, gitInfo}) {
return [
{...},
{...},
]
},
commitMessage({answers, gitInfo}) {
return ...
}
}
- questions
- params
- inquirer
-
gitInfo +
not_added
,created
,deleted
,modified
,renamed
,staged
from StatusResult of simple-git
- return
- params
- commitMessage
- params
- answers
-
gitInfo +
not_added
,created
,deleted
,modified
,renamed
,staged
from StatusResult of simple-git
- return
- string
- params
We prepare the example.
Tips: Configuration settings with types
If you love to develop with types, you can use that with JSDocs
.
/**
* @typedef {{questionType1: string; questionType2: string}} Answers
*/
/** @type import('cz-format-extension').Config<Answers> */
module.exports = {
questions({inquirer, gitInfo}) {
return [
{
type: "list",
name: "questionType1",
message: "Select answer",
choices: [
{...},
{...}
]
},
]
},
commitMessage({answers, gitInfo}) {
return `${answers.questionType1}${answers.questionType2}`
}
}