5.0.2 • Published 2 months ago

changelog-guru v5.0.2

Weekly downloads
42
License
MIT
Repository
github
Last release
2 months ago

Automated changelog generator:package::zap::clipboard:

changelog-guru generate a CHANGELOG.md from git metadata and checks if your commit messages meet the conventional commit format.

Install

npm install changelog-guru --save-dev

Goals

  • allow generating CHANGELOG.md by script
  • allow ignoring commits
  • provide better information when browsing the history

Format of the commit message

The commit message pattern mostly looks like this:

<type>(<scope>): <subject>
<markers>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

Real world examples can look like this:

fix(Section): fix sections sorting
!break

Sort direction added:
... code example
build(deps-dev): bump eslint-plugin-jest to 22.x
refactor(State): tidy up work with message queues
!group(Prerelease refactoring)

...

refactor(ConfigLoader): correct configuration loading method
!group(Prerelease refactoring)

Getting started

Changelog-guru can be used either through a command line interface with an optional configuration file, or else through its JavaScript API. Run changelog --help to see the available options and parameters.

Configuration

Only the minimum necessary settings are described here, for more detailed configuration, see the default configuration file.

Changelog-guru uses cosmiconfig and you can configure the module in any way you like described in the documentation.

Provider

The type of service provider to receive information about the project. To set the type of service you want to use, you must:

  • Set provider: github or provider: gitlab in your configuration file, it's all.
  • Make sure the provider token is available as an environment variable.

Example:

export GITHUB_TOKEN="f941e0..."

export GITLAB_TOKEN="f941e0..."

Changelog-guru uses dotenv and you can loads environment variables from a .env

Generate changelog

Generate a changelog file by git metadata.

changelog generate [options]

The command can be executed without options. If necessary, or if you want to override the options specified in the configuration file, you can specify the following options:

  • --bump - Bumps package version in package.json if specified
  • --branch <value> - Sets the branch by which the change log will be generated
  • --provider <value> - Specifies the type of service provider to receive project information
  • --output <value> - File path to write change log to it

Lint commit message

There is a changelog lint for checking the spelling of the commit message. Checks compliance with the format and spelling in the subject of the commit.

changelog lint --message "..."

To lint commits before they are created you can use Husky's (v5.x) commit-msg hook:

changelog lint --message $1

For a more meticulous check, the following options are available:

  • --message <text> - Required. Commit message for linting
  • --maxLength number - Max commit header length

API

Read the API documentation for more information.

5.0.2

2 months ago

5.0.0

8 months ago

4.0.9

1 year ago

4.0.8

1 year ago

4.0.6

2 years ago

4.0.5

2 years ago

4.0.4

2 years ago

4.0.1

2 years ago

4.0.0

2 years ago

4.0.3

2 years ago

4.0.2

2 years ago

3.0.2

3 years ago

3.0.1

3 years ago

3.0.0

3 years ago

2.3.0

3 years ago

2.0.16

3 years ago

2.3.1

3 years ago

2.0.13

3 years ago

2.0.14

3 years ago

2.0.12

3 years ago

2.0.5

3 years ago

2.0.11

3 years ago

2.0.7

3 years ago

2.0.9

3 years ago

2.0.10

3 years ago

2.0.8

3 years ago

2.0.3

3 years ago

2.0.1

3 years ago

1.0.0

5 years ago

0.10.0

5 years ago

0.9.2

5 years ago

0.9.1

5 years ago

0.9.0

5 years ago