npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

changelog-guru

v5.0.2

Published

Git changelog generator

Downloads

614

Readme

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.