Skip to content

💅 Beautiful Changelogs using Conventional Commits

License

Notifications You must be signed in to change notification settings

farnabaz/changelogen

 
 

Repository files navigation

changelogen

npm version npm downloads Github Actions Codecov

Generate Beautiful Changelogs using Conventional Commits

Quick Start

Generate changelog in markdown format and show in console:

npx changelogen@latest

Generate changelog, bump version in package.json automatically and update CHANGELOG.md (without commit)

npx changelogen@latest --bump

Bump version, update CHANGELOG.md and make a git commit and tag:

npx changelogen@latest --release

CLI Usage

npx changelogen@latest [...args] [<rootDir>]

Arguments:

  • --from: Start commit reference. When not provided, latest git tag will be used as default.
  • --to: End commit reference. When not provided, latest commit in HEAD will be used as default.
  • --rootDir: Path to git repository. When not provided, current working directory will be used as as default.
  • --output: Changelog file name to create or update. Defaults to CHANGELOG.md and resolved relative to rootDir. Use --no-output to write to console only.
  • --bump: Determine semver change and update version in package.json.
  • --release. Bumps version in package.json and creates commit and git tags using local git. You can disable commit using --no-commit and tag using --no-tag.

Configuration

Configuration is loaded by unjs/c12 from cwd. You can use either changelog.json, changelog.{ts,js,mjs,cjs}, .changelogrc or use the changelog field in package.json.

See ./src/config.ts for available options and defaults.

💻 Development

  • Clone this repository
  • Enable Corepack using corepack enable (use npm i -g corepack for Node.js < 16.10)
  • Install dependencies using pnpm install
  • Run interactive tests using pnpm dev

License

Made with 💛

Published under MIT License.

About

💅 Beautiful Changelogs using Conventional Commits

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 85.7%
  • JavaScript 14.3%