Skip to content

Formats the reference links of Keep a Changelog style files.

Notifications You must be signed in to change notification settings

valeriangalliat/changelogfmt

Repository files navigation

changelogfmt npm version

Formats the reference links of Keep a Changelog style files.

Overview

When maintaining a changelog file in the Keep a Changelog format, you need to manually add links to compare each version with the previous one.

You might also reference issues and pull requests, and unlike in GitHub comments, you need to explicitly add the Markdown link for those in your changelog.

This can be a bit cumbersome and error-prone. To ease that, let me introduce changelogfmt.

This tool takes your changelog as stdin, makes sure that each version has the proper GitHub compare URL (or adds it otherwise), identifies all # links to add the issue or PR link reference for all the missing ones, and outputs the new version to stdout.

Installation

npm install -g changelogfmt

Usage

Format given file, stdin or CHANGELOG.md otherwise, and print it to stdout:

changelogfmt whatever.md
changelogfmt < whatever.md
changelogfmt

Format given file or CHANGELOG.md otherwise, and overwrite it:

changelogfmt --write whatever.md
changelogfmt --write

My favorite way is from inside Vim, while editing the changelog file:

:%!changelogfmt

Development

# Lint the code.
npm run lint

Possible improvements

Pull requests are welcome!

  • Automatically fetch version dates from Git tags if missing (or validate existing ones too).
  • Add missing version entries based on Git tags.

About

Formats the reference links of Keep a Changelog style files.

Resources

Stars

Watchers

Forks