Awesome
<p align="center"><img width="300px" height="280px" src="https://raw.githubusercontent.com/tyankatsu0105/cz-format-extension/master/assets/logo.png" alt="cz format extension"></p> <h2 align="center">cz-format-extension</h2> <p align="center"> Extensible <a href="https://github.com/commitizen/cz-cli">Commitizen</a>'s format </p> <p align="center"> <a title="Current version" href="https://badge.fury.io/js/cz-format-extension" rel="nofollow"> <img src="https://badge.fury.io/js/cz-format-extension.svg?style=flat"> </a> <a title="deploy" href="https://github.com/algolia/shipjs" rel="nofollow"> <img src="https://img.shields.io/badge/deploy-🛳%20Ship.js-blue?style=flat"> </a> <a title="MIT License" href="[LICENSE](https://opensource.org/licenses/MIT)" rel="nofollow"> <img src="https://img.shields.io/badge/License-MIT-green.svg?style=flat"> </a> </p>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}`
}
}