@owngames/conventional-gitmoji
🌉️ A bridge betweengitmoji
andconventional-commits
configured forsemantic-release
.🛠️ Aconventional-changelog
plugin forsemantic-release
.
Usage
yarn install @owngames/conventional-gitmoji
import { releaseRules, typeSpecs, types } from '@owngames/conventional-gitmoji`
-
releaseRules
: informs@semantic-release/commit-analyzer
-
typeSpecs
: informs@owngames/release-notes-generator
(viawriterOpts
)-
@hack
: This informs three different ways to ensure we catch the change fromgitmoji
toconventional
-
-
types
: informs@owngames/git-cz
for thegitmoji
theme.
Commit Analyzer
[
'@semantic-release/commit-analyzer',
{
config: '@owngames/conventional-gitmoji',
releaseRules,
},
]
Release Notes Generator
[
'@owngames/release-notes-generator',
{
config: '@owngames/conventional-gitmoji',
},
]
Overview
😄️ gitmoji
This maps gitmoji
to an equivalent conventional-commit
.
✨️ =>feat
🐛️ =>fix
🚑️ =>hotfix
📝️ conventional-commits
This expands on the original conventional-commits
nomenclature to account for the multitude coming from gitmoji
⚗️ (gitmoji)-
alembic
(emoji code) -
experiement
(conventional)
-
🤡️ (gitmoji)-
clown-face
(emoji code) -
mock
(conventional)
-
🚨️ (gitmoji)-
rotating-light
(emoji code) -
lint
(conventional)
-
🚀️ semantic-release
Adds semver
to each type to inform @owngames/semantic
how to handle each commit type (and if it is a convential branch type).
{
"experiment": {
"branch": false,
"code": ":alembic:",
"commit": "experiment",
"description": "Perform experiments.",
"emoji": "⚗️",
"entity": "📸",
"name": "alembic",
"semver": "patch"
},
"feat": {
"branch": "feature",
"code": ":sparkles:",
"commit": "feat",
"description": "Introduce new features.",
"emoji": "✨",
"entity": "✨",
"name": "sparkles",
"semver": "minor"
},
"log-add": {
"branch": false,
"code": ":loud_sound:",
"commit": "log-add",
"description": "Add or update logs.",
"emoji": "🔊",
"entity": "🔊",
"name": "loud-sound",
"semver": null
}
}
major|minor|patch
are moving to breaking|feature|fix