@nordnet/cz-conventional-changelog

conventional-changelog config for commitizen

Usage no npm install needed!

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

README

@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