Skip to content

A library that generates changelog for repositories using gitmoji commits convention

License

Notifications You must be signed in to change notification settings

bgauduch/gitmoji-changelog

 
 

Repository files navigation

Welcome to gitmoji-changelog 👋

Documentation Maintenance License: MIT Twitter: YvonnickFrin

Generate changelog for repositories using gitmoji commits convention.

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

Install

npm install -g gitmoji-changelog

Usage

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

Workflow

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)

  1. Make changes and commit: git commit -m ":sparkles: my awesome feature"
  2. Bump version (ex: 1.0.0) in package.json using semver convention
  3. Run gitmoji-changelog, then the file CHANGELOG.md is created or updated with all changes
  4. You can freely edit the new release in the changelog file, it will not be overwrite with the next generation
  5. Commit package.json and CHANGELOG.md file
  6. Tag your release: git tag -a v1.0.0 -m "v1.0.0" (or create a Github release)
  7. Push to the remote git push

Develop and contribute

Setup

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:

Usage locally

node [path-to-gitmoji-changelog-folder]/packages/gitmoji-changelog-cli/src/index.js

Run tests

yarn test
# or 
yarn test --watch

Run linter

We are using airbnb-base as linter:

yarn lint

Author

👤 Yvonnick FRIN (https://github.com/frinyvonnick)

🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page.

Show your support

Give a ⭐️ if this project helped you!

📝 License

Copyright © 2019 Yvonnick FRIN (https://github.com/frinyvonnick).
This project is MIT licensed.


This README was generated with ❤️ by readme-md-generator

About

A library that generates changelog for repositories using gitmoji commits convention

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 99.3%
  • Dockerfile 0.7%