Following Conventional Commits what would be the best <type>
for commits regarding package version changes (upgrades/updates)?
E.g.: feat: Bump React version to "16.13.1"
E.g.: feat: Upgrade all dependencies
Commit messages can adequately communicate why a change was made, and understanding that makes development and collaboration more efficient. Before now, I only used git commit -m "Fix X to allow Y to use Z" on my personal projects with just a subject and no extra description.
Conventional Commits is a specification for the format and content of a commit message. The concept behind Conventional Commits is to provide a rich commit history that can be read and understood by both humans and automated tools. Conventional Commits have the following format:
We also recommend improvement for commits that improve a current implementation without adding a new feature or fixing a bug. Notice these types are not mandated by the conventional commits specification, and have no implicit effect in semantic versioning (unless they include a BREAKING CHANGE, which is NOT recommended).
Notice these types are not mandated by the conventional commits specification, and have no implicit effect in semantic versioning (unless they include a BREAKING CHANGE, which is NOT recommended).
Others: commit types other than fix: and feat: are allowed, for example @commitlint/config-conventional (based on the the Angular convention) recommends chore:, docs:, style:, refactor:, perf:, test:, and others. We also recommend improvement for commits that improve a current implementation without adding a new feature or fixing a bug. Notice these types are not mandated by the conventional commits specification, and have no implicit effect in semantic versioning (unless they include a BREAKING CHANGE, which is NOT recommended). A scope may be provided to a commit’s type, to provide additional contextual information and is contained within parenthesis, e.g., feat(parser): add ability to parse arrays.
Source: https://www.conventionalcommits.org/en/v1.0.0-beta.2/
So an ideal candidate for me would be chore: upgrade package dependencies
which must not result in any version number bump.
Be aware though that upgrading dependencies may or may not incur breaking changes which may result in a commit significantly bigger than just a package.json
update.
But as far as your app goes, it would be your job to deal with those breaking changes without changing anything for the user. So in that respect I don't think that neither feat:
nor fix:
is justified as, ideally, this commit doesn't bring any user-facing changes.
If you use build
scope consider this option:
build(deps): Bump React version to "17.0.2"
Conventional commits are based on the Angular conventional commits. Angular's CONTRIBUTING.md
states:
build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With