@firefoxic/update-changelog v1.0.0
@firefoxic/update-changelog
CLI utility for automatic update of CHANGELOG.md.
Purpose
Increasing the version of a package usually requires creating a commit (extra for history) with a message something like Prepare release. This commit should manually add a header to CHANGELOG.md with the new version and the release date, and change the links to the comparison at the bottom of the file.
The update-changelog utility gets rid of this chore, random typos, and an unnecessary commit.
Installation
pnpm add -D @firefoxic/update-changelogConfiguration
In the scripts section of your package.json, add a version hook that will run when pnpm version patch (or minor, or major) is executed after updating the version in package.json, but before creating the commit.
{
"scripts": {
"version": "update-changelog"
},
}Optionally, other hooks can be added to conveniently automate package publishing (see package.json of this project for an example).
Some restrictions
The update-changelog expects the following:
- The name of the changelog file is
CHANGELOG.md. - The format of the changelog is consistent with Keep a changelog.
- Descriptions of all user-important changes are already in the changelog under the heading
[Unreleased]. Ideally, you should commit them along with the changes themselves. If this is the first release of a package, there should be only one reference for Unreleased at the end of the changelog in the following format for correct reference updating:
```md [Unreleased]: https://github.com/<user-name>/<project-name>/compare/v0.0.1...HEAD ``` **Example:** [the state of this project's changelog](https://github.com/firefoxic/update-changelog/commit/37b9102f8673fedae2cdeaf9e44f027360617cea#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4edR7-R14) before the first release.
Usage
When publishing a new version, simply do not create the Prepare release commit.
Running pnpm version patch (or minor, or major) will now do everything for you 🥳