📦 Generate a changelog as part of the npm version command
- Use
npm version [patch|minor|major]
to create a release - Your editor will open with a generated
CHANGES.md
file - When you're done writing the release notes, save and close the editor to continue
- To abort the release, remove the heading with the new version number
❯ npm install @studio/changes --save-dev
❯ npx changes --init
This will add the following to your package.json
:
{
"scripts": {
"preversion": "npm test",
"version": "changes",
"postversion": "git push --follow-tags && npm publish"
}
}
--help
,-h
: Display a help message.--commits
,-c
: Generate links to commits using the given URL as base. If no URL is given it defaults to${homepage}/commit
using the homepage configured in thepackage.json
.--footer
: Generate a footer with the git author and release date. The author name is taken from$GIT_AUTHOR_NAME
and$GIT_AUTHOR_EMAIL
is used to find the authors GitHub profile page.--file
,-f
: Specify the name of the changelog file. Defaults toCHANGES.md
.--init
: Add version lifecycle scripts topackage.json
. Can be combined with--file
and--commits
to configure thechanges
invocation.--tag
: Use a custom git tag, supports simple replacement ofpackage.json
fields. Defaults tov${version}
.--dir
: Passes the given dir togit log -- <dir>
to filter the commit history by this directory.--workspace
: Is a convenience flag which sets--dir
to the current directory name and--tag
to${dir}/v${version}
.
Configure your preferred editor with the $EDITOR
environment variable.
Preview the release notes for the next release by running:
❯ npx changes
MIT
Made with ❤️ on 🌍