🌜
🌞

changez

v3.0.1

Yet another flexible changelog generator.

npm install changez

README

Changelog generator

This is yet another implementation of automatic changelog generation from conventional commit messages.

It is built using TypeScript, so it is fully typed, and runs in NodeJS. Generation is driven from a blueprint that allows complete customization of the input and output.

Blueprints must implenent the IBlueprint interface:

  • Parse any commit message:
    • parseMessage(message: string): Commit;
  • Render a set of changes via nunjucks templates:
    • getTemplateFolder(): string;
    • getTemplateName(): string;
    • configureRenderer?(env: Environment);
  • Filter commits based on their properties:
    • filterCommit(commit: Commit): boolean;
  • Filter commits that have been cherry picked from another branch:
    • compareCommits(left: Commit, right: Commit): boolean

You can use Changez via the commandline or programmatically from NodeJS.

Command Line Usage

Installation

Install the tool globally:

npm install -g changez

Getting help

Get the current usage information by running

changez --help

which outputs:

  Usage: changez [options] [branch]

  Generate a changelog for the specified branch (defaulting to the current branch)

  Options:

    -h, --help                           output usage information
    -V, --version                        output the version number
    -v, --version-number <version>       The version of the new release
    -c, --codename <codename>            The codename of the new release
    -o, --outfile [path/to/file]         The path to the file where the changelog is written
    -p, --path [path/to/repo]            Path to repository [defaults to currenty directory]
    -s, --stable [stable-branch]         Stable branch containing containing commits to exclude
    -b, --blueprint [path/to/blueprint]  Path to the blueprint to use; defaults to built-in angularjs
    -l, --log-level <level>              Set the logging level: trace, debug, info, warn, error or fatal

Example

Generate a changelog

  • using the "angularjs" blueprint
  • for the project stored at "../angular.js"
  • on the "master" branch
  • for the "1.6.0-rc.0" release
  • with codename "bracing-vortex"
  • excluding matching commits from the "v1.5.x" branch.
changez master -p ../angular.js -s v1.5.x -v 1.6.0-rc.0 -c bracing-vortex

General

License
MIT
Typescript Types
Built-in
Tree-shakeable
No

Popularity

Community Interest
0

Maintenance

Commits
10/219/2201
Last Commit
-

Versions

Versions Released
10/219/2201
Latest Version Released
Apr 6, 2021
Current Tags
latest3.0.1