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

@tanem/github-changelog-generator

v1.0.5

Published

Generates a changelog using GitHub tags and pull requests.

Downloads

7

Readme

github-changelog-generator

npm version build status coverage status npm downloads

Generates a changelog using GitHub tags and pull requests.

Background

For a long time I used GitHub Changelog Generator to generate changelogs for my personal projects, which worked well until I started hitting numerous errors when running against larger projects. That, coupled with the fact that I was only using a small subset of the API, prompted me to create this module.

Usage

Usage: github-changelog-generator [options]

Generates a changelog using GitHub tags and pull requests.

Options:
  -f, --future-release <tag>  Tag to use for PRs merged since the last published
                              tag. If unspecified, those PRs will be excluded.
  -o, --owner <owner>         Repo owner. If unspecified, the value will be
                              resolved from the local git config.
  -r, --repo <repo>           Repo name. If unspecified, the value will be
                              resolved from the local git config.
  -v, --version               Output the version number.
  -h, --help                  Output usage information.

Examples:
  $ github-changelog-generator -f v1.0.0
  $ github-changelog-generator -o tanem -r react-svg
  $ github-changelog-generator -f v2.0.0 -o tanem -r react-svg

The changelog is printed to stdout, so can be redirected to a file:

$ github-changelog-generator > CHANGELOG.md

API

generateChangelog([options])

Returns a Promise that will be resolved with the changelog. If an error occurs during execution, the Promise is rejected with an Error object.

Arguments

  • options - Optional An object containing the optional arguments defined below. Defaults to {}.
    • futureRelease - Optional Tag to use for PRs merged since the last published tag. If unspecified, those PRs will be excluded.
    • owner - Optional Repo owner. If unspecified, the value will be resolved from the local git config.
    • repo - Optional Repo name. If unspecified, the value will be resolved from the local git config.

Example

// Note: The `fs.promises` API was added in Node.js v10.0.0.
import { promises as fs } from 'fs';
import path from 'path';
import { generateChangelog } from '../src';

(async () => {
  try {
    const changelog = await generateChangelog({
      futureRelease: 'v2.0.0',
      owner: 'tanem',
      repo: 'react-svg'
    });
    await fs.writeFile(
      path.join(__dirname, 'CHANGELOG.md'),
      changelog,
      'utf-8'
    );
  } catch (error) {
    console.error(error);
  }
})();

Installation

$ npm install @tanem/github-changelog-generator --save-dev

You'll also need to generate a new GitHub personal access token, then set an environment variable by running the following command at the prompt or by adding it to your shell profile:

export CHANGELOG_GITHUB_TOKEN=<your_github_personal_access_token>

License

MIT