Generate Beautiful Changelogs using Conventional Commits
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
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 toCHANGELOG.md
and resolved relative to rootDir. Use--no-output
to write to console only.--bump
: Determine semver change and update version inpackage.json
.--release
. Bumps version inpackage.json
and creates commit and git tags using localgit
. You can disable commit using--no-commit
and tag using--no-tag
.
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.
- Clone this repository
- Enable Corepack using
corepack enable
(usenpm i -g corepack
for Node.js < 16.10) - Install dependencies using
pnpm install
- Run interactive tests using
pnpm dev
Made with 💛
Published under MIT License.