@oriflame/conventional-changelog

Conventional changelog preset for oriflame and associated projects.

Usage no npm install needed!

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

README

@oriflame/conventional-changelog

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

Azure devops prefix

This changelog accounts with azure devops PR message format. And will release accordingly to the following documentation.

Commit Message Format

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

<type>: <message>
<type>(<scope>): <message>
Merged PR 1: <type>(<scope>): <message>
Merged PR 1: <type>: <message>

⚠️ Azure devops message format is allowed but not required.

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, 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)