emoji-commit-helpers v0.1.1
Emoji Commit Helpers
This module assist users in using the Emoji-style git commit format :emoji: (scope) Subject. It currently makes sharing emoji and scope possible between Commitizen and Commitlint easy and can automatically generate package-based scopes for Lerna projects.
Configuring Commitizen and Commitlint
Commitizen
In package.json, add the following:
{
"config": {
"commitizen": {
"path": "./node_modules/emoji-commit-helpers/commitizen.js"
}
}
}Commitlint
In .commitlintrc.js, do the following:
const config = require('emoji-commit-helpers/commitlint');
module.exports = config;This will set all the rules, patterns, and helpers you need correctly. The commitlint configuration supports either the actual emoji or the emoji code (:code:).
Run Both on Code Commit
To run both Commitizen (to prepare your commit message) and Commitlint (to ensure your commit message is formatted correctly) automatically, first install husky, @commitlint/cli, and @commitizen, then add the following to your package.json file:
{
"husky": {
"hooks": {
"prepare-commit-msg": "exec < /dev/tty && git-cz --hook || true",
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}
}Configuring Emoji Commit Helpers
To configure Emoji Commit Helpers, first add one of the following files:
.commitrc.commitrc.yml.commitrc.json.commitrc.js
Then, configure either the types to include and/or the scopes:
emoji:
- style
- perf
- prune
- fix
- quickfix
- docs
- feature
scopes:
- name: Root
description: Root of my project
- name: Modules
description: Project ModulesAvailable Emoji
| Type | Emoji | Code | Description |
|---|---|---|---|
| style | 🎨 | :art: | Improving structure / format of the code. |
| perf | 🐎 | :racehorse: | Improving performance. |
| prune | 🔥 | :fire: | Removing code or files. |
| fix | 🐛 | :bug: | Fixing a bug. |
| quickfix | 🚑 | :ambulance: | Critical hotfix. |
| feature | 🆕 | :new: | Introducing new features. |
| docs | 📝 | :memo: | Writing docs. |
| deploy | 🚀 | :rocket: | Deploying stuff. |
| ui | 💎 | :gem: | Updating the UI and style files. |
| init | 🎉 | :tada: | Initial commit. |
| test | ✅ | :white_check_mark: | Adding tests. |
| security | 🔒 | :lock: | Fixing security issues. |
| release | 🔖 | :bookmark: | Releasing / Version tags. |
| lint | 👕 | :shirt: | Removing linter warnings. |
| wip | 🚧 | :construction: | Work in progress. |
| fix-ci | 💚 | :green_heart: | Fixing CI Build. |
| downgrade | ⬇️ | :arrow_down: | Downgrading dependencies. |
| upgrade | ⬆️ | :arrow_up: | Upgrading dependencies. |
| pushpin | 📌 | :pushpin: | Pinning dependencies to specific versions. |
| refactoring | ♻️ | :recycle: | Refactoring code. |
| dep-add | ➕ | :heavy_plus_sign: | Adding a dependency. |
| dep-rm | ➖ | :heavy_minus_sign: | Removing a dependency. |
| config | 🔧 | :wrench: | Changing configuration files. |
| compat | 👽 | :alien: | Updating code due to external API changes. |
| mv | 🚚 | :truck: | Moving or renaming files. |
| breaking | 💥 | :boom: | Introducing breaking changes. |
| docs-code | 💡 | :bulb: | Documenting source code. |
| ux | 🚸 | :children_crossing: | Improving user experience / usability. |
| see-no-evil | 🙈 | :see_no_evil: | Adding or updating a .gitignore file |
| camera-flash | 📸 | :camera_flash: | Adding or updating snapshots |
| experiment | 🔮 | :crystal_ball: | Experimenting new things |