changeify
Create a change log for an npm project based on structured commit messages.
How it works
Tag all your commit messages with either breaking
, add
, fix
or doc
and then before a release run changeify
. Changeify will:
- Generate a changelog separated into the different sections
- Commit the changelog
- Bump the version based on the type of changes made since the last release (optional)
- Publish to npm (optional)
- Push to origin (optional)
Example commit message:
Change signature of function foo
[breaking]
The argument order was swithed because the new one is superior...
The tag "[breaking]" is case insensitive and can be placed anywhere in the commit message except for the header. The header is what will be included in the changelog. Look at the changelog of this project for an example.
All commits without any tags will be ignored when generating the change log and determening the new version.
Usage
Either the module globally and use it in any project or locally and add it as an npm script.
Run changeify -n
for a dry run which will print the changelog and the next version to the console.
Run changeify
to perform steps 1 and 2 mentioned above. Add flag -p --publish
to also perform steps 3-5.