Generate changelog for repositories using gitmoji commits convention.
🏠 Homepage
2.0 is in alpha 🎉
gitmoji-changelog 2.0 in a nutshell:
- ✨ Add interactive option to manually select commits (#81) [d13ca2e]
- 🐛 Use last version from changelog file instead of previous git tag (#82) [d3c49d0]
- 🐛 Fix dates sorting in commits (#75) [748e673]
Test it:
npm install -g gitmoji-changelog@alpha
npm install -g gitmoji-changelog
cd my-project
gitmoji-changelog
If CHANGELOG.md
file doesn't exist, it will generate all previous changelog based on semver tags of your repo.
If CHANGELOG.md
file already exists, this will not overwrite any previous changelog, it will generate a changelog based on commits since the last semver tag that match.
All available commands and parameters can be listed using: gitmoji-changelog --help
Here an example output: CHANGELOG.md
By default when you generate your changelog with gitmoji-changelog
, the following mapping is used to group commits: groupMapping.js
Here the recommended workflow to generate your changelog file using gitmoji-changelog
:
Important: Before generating, be sure to have all tags locally (e.g. git fetch origin
)
- Make changes and commit:
git commit -m ":sparkles: my awesome feature"
- Bump version (ex:
1.0.0
) inpackage.json
using semver convention - Run
gitmoji-changelog
, then the fileCHANGELOG.md
is created or updated with all changes - You can freely edit the new release in the changelog file, it will not be overwrite with the next generation
- Commit
package.json
andCHANGELOG.md
file - Tag your release:
git tag -a v1.0.0 -m "v1.0.0"
(or create a Github release) - Push to the remote
git push
git clone [email protected]:frinyvonnick/gitmoji-changelog.git
cd gitmoji-changelog && yarn
We are using lerna and yarn workspaces to split the library in modules:
- gitmoji-changelog-cli - the full-featured command line interface
- gitmoji-changelog-core - the core lib generating changelog
- gitmoji-changelog-markdown - the markdown changelog file writer
node [path-to-gitmoji-changelog-folder]/packages/gitmoji-changelog-cli/src/index.js
yarn test
# or
yarn test --watch
We are using airbnb-base as linter:
yarn lint
👤 Yvonnick FRIN (https://github.com/frinyvonnick)
- Twitter: @YvonnickFrin
- Github: @frinyvonnick
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Give a ⭐️ if this project helped you!
Copyright © 2019 Yvonnick FRIN (https://github.com/frinyvonnick).
This project is MIT licensed.
This README was generated with ❤️ by readme-md-generator