emoji-commit-helpers

0.1.1 • Public • Published

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 Modules

Available 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

Readme

Keywords

none

Package Sidebar

Install

npm i emoji-commit-helpers

Weekly Downloads

2

Version

0.1.1

License

Apache-2.0

Unpacked Size

22.4 kB

Total Files

8

Last publish

Collaborators

  • snugug