changelogen
![Codecov](https://img.shields.io/codecov/c/gh/unjs/changelogen/main?style=flat-square)
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
.-r
: Release as specific version.
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.