Skip to content

nordnet/cz-conventional-changelog

Folders and files

NameName
Last commit message
Last commit date
Dec 27, 2023
Dec 27, 2023
Dec 27, 2023
Dec 27, 2023
Nov 11, 2017
Dec 27, 2023
Dec 27, 2023
Dec 27, 2023
Dec 27, 2023
Dec 27, 2023
Dec 27, 2023

Repository files navigation

@nordnet/cz-conventional-changelog

NPM version Build Dependency Status

conventional-changelog config for commitizen

Prerequisite

As far as its commitizen config, you should have one in the first place.

npm install --save-dev commitizen
# or
yarn add --dev commitizen

Install

npm install --save-dev @nordnet/cz-conventional-changelog
# or
yarn add --dev @nordnet/cz-conventional-changelog

Add this field into your package.json

  "config": {
    "commitizen": {
      "path": "@nordnet/cz-conventional-changelog"
    }
  },

Add commit script to your npm scripts in package.json:

  "scripts": {
    "commit": "git-cz",
    // …
  },

Usage

npm run commit
# or
yarn commit

API

commitizen with this config enabled will ask 6 questions.

Note:

  • BREAKING CHANGE will trigger major release
  • feat type will trigger minor release
  • fix type will trigger patch release

{npm,yarn} run commit will generate messages like these:

  • fix: fix broken button

  • fix(Button): fix broken onClick handler

  • feat(CtaButton): add new component
    
    new Call-to-Action Button component to be used in Marketing campaigns
    
  • fix: remove deprecated endpoints
    
    BREAKING CHANGE: remove previously exported endpoints (endpoint1, endpoint2)
    
  • docs: document gravity
    
    Closed issues: UNIVERSE-1
    
  • feat(standardModel): proof Higgs boson
    
    validate the Standard Model
    
    BREAKING CHANGE: Symmetry of the electroweak interaction
    
    Closed issues: UNIVERSE-21
    

Template is:

${type}{${ scope ? `(${scope})` : '' }}: ${shortDescription}

${longerDescription}

${breaking ? : `BREAKING CHANGE: ${breaking}` : ''}

${closes ? : `Closes issues: ${closes}` : ''}

Type

  • Required: true
  • Examples: feat, fix, etc
  • build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
  • ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
  • docs: Documentation only changes
  • feat: A new feature
  • fix: A bug fix
  • perf: A code change that improves performance
  • refactor: A code change that neither fixes a bug nor adds a feature
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • test: Adding missing tests or correcting existing tests

github/angular/angular/CONTRIBUTING.md#type

Note:

  • feat will trigger minor release
  • fix will trigger patch release

Scope

  • Required: false
  • Examples: Button, historyDuck, l10n, etc

The scope should be the name of code entity affected. Say react component, redux duck, l10n

Short description

  • Required: true

The short description contains succinct description of the change

  • use the imperative, present tense: "change" not "changed" nor "changes"
  • don't capitalize first letter
  • no dot (.) at the end

Longer description

  • Required: false

Just as in the short description, use the imperative, present tense: "change" not "changed" nor "changes". The body should include the motivation for the change and contrast this with previous behavior.

BREAKING CHANGE

  • Required: false
  • Examples: remove previously exported endpoints (endpoint1, endpoint2)

Free text input. Will be prepended with BREAKING CHANGE: automatically.

Closes issues

  • Required: false
  • Examples: UNIVERSE-1, CERN-13, CERN-29, etc

Free text input. Will be prepended with Closes issues: automatically.

License

MIT © Nordnet Bank AB