@rajzik/conventional-changelog-beemo

Conventional changelog preset for Beemo and associated projects.

Usage no npm install needed!

<script type="module">
  import rajzikConventionalChangelogBeemo from 'https://cdn.skypack.dev/@rajzik/conventional-changelog-beemo';
</script>

README

conventional-changelog-beemo

Original repo beemo preset

Beemo's commit message guidelines and changelog structure. Now with more emojis!

Commit Message Format

The commit message format consists of a type, optional scope in parenthesis, and a required message:

<type>: <message>
<type>(<scope>): <message>

Type

The type is a way to group commits and flag semver changes. The following types must be used when prefixing your commit message.

Major

  • break, breaking - A major breaking change.
  • release - Not a breaking change but bumps the major version.

Minor

  • new - Introduces a new feature.
  • update - Updates an existing feature.
  • feature - Both a new and update.

Patch

  • fix - Fixes existing functionality.
  • deps - Bumps dependencies.
  • docs - Updates documentation.
  • revert - Reverts previous or broken code.
  • style - Updates visual styles, like CSS.
  • security - Improves security.
  • type, types - Updates type system related syntax (TS/Flow).
  • misc - Catch all for commits that don't align with other types.

Skip

  • ci - Changes to the CI pipeline.
  • build - Changes to the build system.
  • test, tests - Changes to tests or the testing framework.
  • internal - Internal changes not critical for the consumer.

Scope

The scope is optional but useful in defining granularity in a commit message. Scope is ideally used to target a specific feature or module within the project, for example: new(Button): Add a new Button component.

Scopes will appear in the changelog before each line item and accept the following characters: a-z, 0-9, -, ., ,, and spaces.

Message

The message contains a succinct description of the change:

  • Use the imperative, present tense: "change" not "changed" nor "changes".
  • Capitalize first letter of message.
  • Trailing punctuation (period) is not required, but preferred.

Example

Given the following commit messages:

new(Button): Add new Button component
update(Modal,Tooltip): Refactor accessibility support
ci: Add DangerJS to pipeline
test: Add missing tests for a handful of files
fix(auth): Fixed a bug with the authentication flow

Would generate the following changelog:


1.2.3 - 2019-01-01

🚀 Updates

  • [Button] Add new Button component (a1b2c3d)
  • [Modal,Tooltip] Refactor accessibility support (a1b2c3d)

🐞 Fixes

  • [auth] Fixed a bug with the authentication flow (a1b2c3d)

🛠 Internals

  • Add DangerJS to pipeline (a1b2c3d)
  • Add missing tests for a handful of files (a1b2c3d)