1.0.0 • Published 2 years ago

@edgelogistics/cz-conventional-changelog v1.0.0

Weekly downloads
-
License
UNLICENSED
Repository
-
Last release
2 years ago

@edgelogistics/cz-conventional-changelog

A fork of cz-conventional-changelog.

Prompts for conventional changelog standard with an extra step to insert Jira Histories and Jira tasks

Demo

Jira ID in the format of /^([A-Z0-9]+-[0-9]+)(,[A-Z0-9]+-[0-9]+)*\$/, "ADR-123,DSA-31" for example. Allow multiple Jira issues.

Install

with npm

npm install --save-dev @edgelogistics/cz-conventional-changelog

or with yarn

yarn add --dev @edgelogistics/cz-conventional-changelog

To enable it, please update your package.config as the following

"config": {
    "commitizen": {
      "path": "./node_modules/@edgelogistics/cz-conventional-changelog"
    }
  },

Features

  • 🔥 It works with semantic-release and Standard Version right out of the box.
  • 💚 It share the same configurtion with commitlint's default configuration.
  • 💆‍♀️ It prompts an optional step for inserting your Jira ID.
  • 🤖 It automatically detects Jira ID from your current branch name and display it as default value at the prompt step.
  • 📝 Jira ID is composed into the top of your commit message body.

Configuration

package.json

Like commitizen, you specify the configuration of cz-conventional-changelog through the package.json's config.commitizen key.

{
// ...  default values
    "config": {
        "commitizen": {
            "path": "./node_modules/cz-conventional-changelog",
            "disableScopeLowerCase": false,
            "disableSubjectLowerCase": false,
            "maxHeaderWidth": 100,
            "maxLineWidth": 100,
            "defaultType": "",
            "defaultScope": "",
            "defaultSubject": "",
            "defaultBody": "",
            "defaultIssues": "",
            "scopeChoices": [{
              "name": "topic1",
              "description": "Scope for tasks related with the Topic 1"
            }],
            "types": {
              ...
              "feat": {
                "description": "A new feature",
                "title": "Features"
              },
              ...
            }
        }
    }
// ...
}

Environment variables

The following environment varibles can be used to override any default configuration or package.json based configuration.

  • CZ_TYPE = defaultType
  • CZ_SCOPE = defaultScope
  • CZ_SUBJECT = defaultSubject
  • CZ_BODY = defaultBody
  • CZ_MAX_HEADER_WIDTH = maxHeaderWidth
  • CZ_MAX_LINE_WIDTH = maxLineWidth

Commitlint

If using the commitlint js library, the "maxHeaderWidth" configuration property will default to the configuration of the "header-max-length" rule instead of the hard coded value of 100. This can be ovewritten by setting the 'maxHeaderWidth' configuration in package.json or the CZ_MAX_HEADER_WIDTH environment variable.