Coder Social home page Coder Social logo

changelogen's Introduction

changelogen

npm version npm downloads Codecov License

Generate Beautiful Changelogs using Conventional Commits

Quick Start

Generate a changelog in Markdown format and display in the console:

npx changelogen@latest

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

npx changelogen@latest --bump

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

npx changelogen@latest --release

CLI Usage

npx changelogen@latest [...args] [--dir <dir>]

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.
  • --dir: 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 dir. 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.
  • --major: Bump as a semver-major version
  • --minor: Bump as a semver-minor version
  • --patch: Bump as a semver-patch version
  • --premajor: Bump as a semver-premajor version, can set id with string.
  • --preminor: Bump as a semver-preminor version, can set id with string.
  • --prepatch: Bump as a semver-prepatch version, can set id with string.
  • --prerelease: Bump as a semver-prerelease version, can set id with string.

changelogen gh release

Changelogen has built-in functionality to sync with with Github releases.

In order to manually sync a release, you can use changelogen gh release. It will parse current CHANGELOG.md from current repository (local, then remote) and create or update releases.

Usage:

npx changelogen@latest gh release [all|versions...] [--dir] [--token]

To enable this integration, make sure there is a valid repository field in package.json or repo is set in .changelogenrc.

By default in unauthenticated mode, changelogen will open a browser link to make manual release. By providing github token, it can be automated.

  • Using environment variables or .env, use CHANGELOGEN_TOKENS_GITHUB or GITHUB_TOKEN or GH_TOKEN
  • Using CLI args, use --token <token>
  • Using global configuration, put tokens.github=<token> inside ~/.changlogenrc
  • Using GitHub CLI token when authenticated with gh auth login

Configuration

Configuration is loaded by unjs/c12 from cwd. You can use either changelog.config.json, changelog.config.{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.

changelogen's People

Contributors

aa900031 avatar antfu avatar atinux avatar barbapapazes avatar danielroe avatar dnldsht avatar farnabaz avatar intevel avatar julien-r44 avatar lvjiaxuan avatar nozomuikuta avatar pi0 avatar renovate[bot] avatar sxzz avatar tmlmt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.