@tanem/github-changelog-generator
TypeScript icon, indicating that this package has built-in type declarations

1.0.5 • Public • Published

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

Package Sidebar

Install

npm i @tanem/github-changelog-generator

Weekly Downloads

1

Version

1.0.5

License

MIT

Unpacked Size

24 kB

Total Files

11

Last publish

Collaborators

  • tanem