# @zolyn/changelogithub

> Generate changelog for GitHub.

Latest version **0.12.0** (published 2022-07-19) · MIT license · 0 weekly downloads

## Install

```sh
npm install @zolyn/changelogithub
pnpm add @zolyn/changelogithub
yarn add @zolyn/changelogithub
bun add @zolyn/changelogithub
```

Provides the command `changelogithub`.

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.12.0 |
| Published | 2022-07-19 |
| First published | 2022-06-21 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=12.0.0 |
| Dependencies | 11 |
| Unpacked size | 63.7 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 2 |
| Maintainers | zolyn |
| Keywords | github, release, releases, conventional, changelog, log |

## Links

- npm: https://www.npmjs.com/package/@zolyn/changelogithub
- Repository: https://github.com/Zolyn/changelogithub
- Homepage: https://github.com/Zolyn/changelogithub#readme
- Issues: https://github.com/Zolyn/changelogithub/issues
- npm.io page: https://npm.io/package/@zolyn/changelogithub

## Dependencies (11)

- [c12](https://npm.io/package/c12.md) ^0.2.8
- [cac](https://npm.io/package/cac.md) ^6.7.12
- [execa](https://npm.io/package/execa.md) ^6.1.0
- [semver](https://npm.io/package/semver.md) ^7.3.7
- [unified](https://npm.io/package/unified.md) ^10.1.2
- [kolorist](https://npm.io/package/kolorist.md) ^1.5.1
- [ohmyfetch](https://npm.io/package/ohmyfetch.md) ^0.4.18
- [changelogen](https://npm.io/package/changelogen.md) 0.1.1
- [@antfu/utils](https://npm.io/package/@antfu/utils.md) ^0.5.2
- [remark-parse](https://npm.io/package/remark-parse.md) ^10.0.1
- [remark-stringify](https://npm.io/package/remark-stringify.md) ^10.0.2

## Alternatives

- [cli-color](https://npm.io/package/cli-color.md) — 3.4M weekly downloads
- [log](https://npm.io/package/log.md) — 1.3M weekly downloads
- [logstash-client](https://npm.io/package/logstash-client.md) — 4.5K weekly downloads
- [@nocobase/plugin-logger](https://npm.io/package/@nocobase/plugin-logger.md) — 2.0K weekly downloads
- [child-process-debug](https://npm.io/package/child-process-debug.md) — 695 weekly downloads

## Recent versions

- 0.12.0 (latest) — 2022-07-19
- 0.11.2 — 2022-07-18
- 0.11.1 — 2022-07-17
- 0.11.0 — 2022-07-17
- 0.10.3 — 2022-07-05
- 0.10.2 — 2022-07-05
- 0.10.1 — 2022-07-05
- 0.10.0 — 2022-07-04
- 0.9.0 — 2022-07-03
- 0.8.0 — 2022-07-03
- 0.7.3 — 2022-06-24
- 0.7.2 — 2022-06-21
- 0.7.1 — 2022-06-21
- 0.7.0 — 2022-06-21

## README

# changelogithub

[![NPM version](https://img.shields.io/npm/v/changelogithub?color=a1b858\&label=)](https://www.npmjs.com/package/changelogithub)

Generate changelog for GitHub releases from [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), powered by [changelogen](https://github.com/unjs/changelogen).

[👉 Changelog example](https://github.com/unocss/unocss/releases/tag/v0.39.0)

## Features

*   Support exclamation mark as breaking change, e.g. `chore!: drop node v10`

*   Grouped scope in changelog

*   Create the release note, or update the existing one

*   List contributors

*   Generate changelog file

## Usage

In GitHub Actions:

```yml
# .github/workflows/release.yml

name: Release

on:
  push:
    tags:
      - 'v*'

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          fetch-depth: 0

      - uses: actions/setup-node@v3
        with:
          node-version: 16.x

      - run: npx changelogithub # or changelogithub@0.12 if ensure the stable result
        env:
          GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
```

It will be trigged whenever you push a tag to GitHub that starts with `v`.

Generate changelog file:

```bash
changelogithub -o CHANGELOG.md --contributors false --emoji false
```

## Configuration

You can put a configuration file in the project root, named as `changelogithub.config.{json,ts,js,mjs,cjs}`, `.changelogithubrc` or use the `changelogithub` field in `package.json`.

## Preview Locally

```bash
npx changelogithub --dry
```

## Why?

I used to use [`conventional-github-releaser`](https://github.com/conventional-changelog/releaser-tools/tree/master/packages/conventional-github-releaser) for almost all my projects. Until I found that it [does NOT support using exclamation mark for breaking changes](https://github.com/conventional-changelog/conventional-changelog/issues/648) - hiding those important breaking changes in the changelog without the awareness from maintainers.

## License

[MIT](./LICENSE) License  2022 [Anthony Fu](https://github.com/antfu)

---
_Source: https://npm.io/package/@zolyn/changelogithub · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
