Semantic emojified git commit, git-cz. from streamich/git-cz.

> Semantic emojified git commit, git-cz. from streamich/git-cz.
``shell`
npm install -g xc-git-cz
git-cz
You can provide custom configuration in changelog.config.js file
in your repo. Below is default config:
`js`
module.exports = {
"disableEmoji": false,
"list": [
'feat',
'fix',
'test',
'release',
'build',
'chore',
'docs',
'refactor',
'style',
'ci',
'perf'
],
"maxMessageLength": 64,
"minMessageLength": 4,
"questions": [
"type",
"scope",
"subject",
"body",
"breaking",
"issues",
"lerna"
],
"scopes": [],
"types": {
"build": {
"description": 'Change project build or external dependencies',
"emoji": '🧱',
"value": 'build'
},
"chore": {
"description": "Build process or auxiliary tool changes",
"emoji": "🤖",
"value": "chore"
},
"ci": {
"description": "CI related changes",
"emoji": "🎡",
"value": "ci"
},
"docs": {
"description": "Documentation only changes",
"emoji": "📝",
"value": "docs"
},
"feat": {
"description": "A new feature",
"emoji": "🎸",
"value": "feat"
},
"fix": {
"description": "A bug fix",
"emoji": "🐛",
"value": "fix"
},
"perf": {
"description": "A code change that improves performance",
"emoji": "⚡️",
"value": "perf"
},
"refactor": {
"description": "A code change that neither fixes a bug or adds a feature",
"emoji": "💡",
"value": "refactor"
},
"release": {
"description": "Create a release commit",
"emoji": "🏹",
"value": "release"
},
"style": {
"description": "Markup, white-space, formatting, missing semi-colons...",
"emoji": "💄",
"value": "style"
},
"test": {
"description": "Adding missing tests",
"emoji": "💍",
"value": "test"
}
}
};
Using --non-interactive flag you can run git-cz non-interactive mode.
For example:
``
git-cz --non-interactive --type=feat --subject="add onClick prop to component"
CLI parameters:
- --type--subject
- --scope
- --body
- --breaking
- --issues
- --lerna
-
* A commit message consists of a header, body and footer.
* The header has a type and a subject:
``
[BLANK LINE]
[body]
[BLANK LINE]
[breaking changes]
[BLANK LINE]
[footer]
The header is the only mandatory part of the commit message.
The first line (type + subject) is limited to 50 characters [enforced]
Any other line should be limited to 72 character
This allows the message to be easier to read on GitHub as well as in various git tools.
Must be one of the following:
- feat — A new featurefix
- — A bug fixtest
- — Adding missing testsrelease
- — Create a release commitbuild
- — Change project build or external dependencieschore
- — Build process or auxiliary tool changesdocs
- — Documentation only changesrefactor
- — A code change that neither fixes a bug or adds a featurestyle
- — Markup, white-space, formatting, missing semi-colons...ci
- — CI related changesperf
- — A code change that improves performance
The subject contains succinct description of the change:
* Use the imperative, present tense: "change" not "changed" nor "changes"
* No dot (.) at the end.
Just as in the subject, use the imperative, present tense: "change" not "changed" nor "changes".
The body should include the motivation for the change and contrast this with previous behavior.
#### Affects
Select the packages the commit affected.
Breaking Changes must start with the words BREAKING CHANGE: .
The footer is the place to reference any tasks related to this commit.
``
npm i -g xc-git-cz
added 1 package in 0.612s
Installs in 0.6s vs 31.1s.
```
npm i -g mol-conventional-changelog
added 345 packages in 31.076s