cz-emoji
Commitizen adapter formatting commit messages using emojis.
cz-emoji allows you to easily use emojis in your commits using commitizen.
? Select the type of change you are committing: (Use arrow keys)
โฏ feature ๐ A new feature
fix ๐ A bug fix
docs ๐ Documentation change
refactor ๐จ A code refactoring change
chore ๐ฉ A chore change
Install
Globally
npm install --global cz-emoji
# set as default adapter for your projects
echo '{ "path": "cz-emoji" }' > ~/.czrc
Locally
npm install --save-dev cz-emoji
# set as default adapter for your projects
"config": {
"commitizen": {
"path": "./node_modules/cz-emoji"
},
},
Usage
$ git cz
Customization
By default cz-emoji
comes ready to run out of the box. Uses may vary, so there are a few configuration options to allow fine tuning for project needs.
How to
Configuring cz-emoji
can be handled in the users home directory (~/.czrc
) for changes to impact all projects or on a per project basis (package.json
). Simply add the config property as shown below to the existing object in either of the locations with your settings for override.
{
"config": {
"cz-emoji": {}
}
}
Configuration Options
Types
By default cz-emoji
comes preconfigured with the Gitmoji types.
An Inquirer.js choices array:
{
"config": {
"cz-emoji": {
"types": [
{
"emoji": "๐",
"code": ":star2:",
"description": "A new feature",
"name": "feature"
}
]
}
}
}
Scopes
An Inquirer.js choices array:
{
"config": {
"cz-emoji": {
"scopes": ["home", "accounts", "ci"]
}
}
}
Symbol
A boolean value that allows for an using a unicode value rather than the default of Gitmoji markup in a commit message. The default for symbol is false.
{
"config": {
"cz-emoji": {
"symbol": true
}
}
}
Examples
Commitlint
Commitlint can be set to work with this package by leveraging the package https://github.com/arvinxx/commitlint-config-gitmoji.
npm install --save-dev commitlint-config-gitmoji
commitlint.config.js
module.exports = {
extends: ["gitmoji"],
parserPreset: {
parserOpts: {
headerPattern: /^(:\w*:)(?:\s)(?:\((.*?)\))?\s((?:.*(?=\())|.*)(?:\(#(\d*)\))?/,
headerCorrespondence: ["type", "scope", "subject", "ticket"]
}
}
};
License
MIT ยฉ Nicolas Gryman