- 🌉️ A bridge between
gitmoji
andconventional-commits
configured forsemantic-release
. - 🛠️ A
conventional-changelog
plugin forsemantic-release
.
yarn install @jeromefitz/conventional-gitmoji
import { releaseRules, typeSpecs, types } from '@jeromefitz/conventional-gitmoji`
-
releaseRules
: informs@semantic-release/commit-analyzer
-
typeSpecs
: informs@jeromefitz/release-notes-generator
(viawriterOpts
)-
@hack
: This informs three different ways to ensure we catch the change fromgitmoji
toconventional
-
-
types
: informs@jeromefitz/git-cz
for thegitmoji
theme.
[
'@semantic-release/commit-analyzer',
{
config: '@jeromefitz/conventional-gitmoji',
releaseRules,
},
]
[
'@jeromefitz/release-notes-generator',
{
config: '@jeromefitz/conventional-gitmoji',
},
]
This maps gitmoji
to an equivalent conventional-commit
.
⚗️ Example(s):
- ✨️ =>
feat
- 🐛️ =>
fix
- 🚑️ =>
hotfix
This expands on the original conventional-commits
nomenclature to account for the multitude coming from gitmoji
⚗️ Example(s):
- ⚗️ (gitmoji)
-
alembic
(emoji code) -
experiement
(conventional)
-
- 🤡️ (gitmoji)
-
clown-face
(emoji code) -
mock
(conventional)
-
- 🚨️ (gitmoji)
-
rotating-light
(emoji code) -
lint
(conventional)
-
Adds semver
to each type to inform @jeromefitz/semantic
how to handle each commit type (and if it is a convential branch type).
⚗️ Example(s):
{
"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
}
}
📝️ Please Note: The values major|minor|patch
are moving to breaking|feature|fix