changelog_cli 0.5.1 copy "changelog_cli: ^0.5.1" to clipboard
changelog_cli: ^0.5.1 copied to clipboard

Simple CLI to generate basic changelog for your project using conventional commits

changelog_cli #

CLI to generate an opinionated changelog.

Example usage screenshot

By default it just generates the changelog based on the whole git history. You can pass custom --start and --end parameters which are git refs to get a subset of changes between two commits or tags. That was my main goal with this CLI as it doesn't necessarily require semantic versioning.


Installation #

Pub.dev #

If the CLI application is available on pub, activate globally via:

dart pub global activate changelog_cli

Or locally via:

dart pub global activate --source=path <path to this package>

Homebrew #

You can install the CLI via Homebrew:

brew tap orestesgaolin/tap
brew install changelog_cli

Usage #

Get usage information:

changelog_cli generate --help

Generate a changelog:

changelog_cli generate

# or more elaborate
changelog_cli generate --path ~/Projects/my-app --start 1.0.0 --end 1.1.0 --version 1.1.0 --limit 2000 --printer markdown

# or with custom formatting
changelog_cli generate --path packages/something --start $CM_PREVIOUS_COMMIT --version "Version $BUILD_VERSION ($PROJECT_BUILD_NUMBER)" --printer slack-markdown --group-by date-asc --date-format-locale en_US --date-format yyyy-MM-dd

# for monorepos tagged with my_package-x.y.z pattern
changelog_cli generate --path lib/packages/my_package --auto true --auto-tag-glob-pattern "my_package*"

You can get the previous tag using git command and then pass it to changelog_cli:

git describe --tags --abbrev=0
changelog_cli generate --start changelog_cli-v0.0.2

Printers #

  • simple - simple text output
  • markdown - markdown output
  • slack-markdown - markdown output with Slack-specific formatting

Running Tests with coverage 🧪 #

To run all unit tests use the following command:

$ dart pub global activate coverage
$ dart test --coverage=coverage
$ dart pub global run coverage:format_coverage --lcov --in=coverage --out=coverage/lcov.info

To view the generated coverage report you can use lcov.

# Generate Coverage Report
$ genhtml coverage/lcov.info -o coverage/

# Open Coverage Report
$ open coverage/index.html

9
likes
140
points
296
downloads
screenshot

Publisher

verified publisherroszkowski.dev

Weekly Downloads

Simple CLI to generate basic changelog for your project using conventional commits

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

args, cli_completion, collection, conventional_commit, equatable, file, git, intl, mason_logger, pub_updater

More

Packages that depend on changelog_cli