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

8
likes
140
points
203
downloads
screenshot

Publisher

verified publisherroszkowski.dev

Weekly Downloads

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

Repository (GitHub)
View/report issues

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