cz-custom-issues

1.0.0 • Public • Published

CZ CUSTOM ISSUES

A commititizen helper with advanced issue config.

npm Travis branch GitHub license GitHub issues Coveralls bitHound bitHound

Babel code style xo Standard Version test ava

yarn Commitizen friendly

example gif

Example output

The output follow the conventional-changelog and is easy to read for reviewers or project managers.

feat(new):  added config
 
options can now be changed
 
ISSUES CLOSED:
 - #12: add options 
 - #14: configuration 
 
BREAKING CHANGE: new options

Links

Getting started

## use yarn
yarn add cz-custom-issues -D
## or npm
## npm i cz-custom-issues -D

Setup

to setup the plugin simply extend you config in your package.json.

  • The "type" is currently optional and simply serves as an indicator. Keep this setting to make future updates easier.
  • The "prefix" can be used to add a project prefix to issue (e.g. jira issues): ABC // => #ABC-123

This allows easy listing of issues. The prefix will be added automatically.

23: server crashes, 27: server slows down, 21: page not available

ISSUES CLOSED:
 - #ABC-23: server crashes
 - #ABC-27: server slows down
 - #ABC-21: page not available

example gif

{
  "config": {
    "commitizen": {
      "path": "./node_modules/cz-custom-issues"
    },
    "cz-custom-issues": {
      "issues": {
        "type": "jira",
        "prefix": "ABC"
      },
      "config": "./cz-config.js"
    }
  }
}

Config

You can add your own flow to comitizen. See cz-customizable for the original implementation.

types

Custom commit types

  • types
    • [type]
      • name (used in prompt as info, use whitespaces and newlines for alignment)
      • value (used for commit message/prefix)
{
  types: [
    {
      value: 'feat',
      name: 'feature: Adds a new feature'
    },
    {
      value: 'fix',
      name: 'bugfix:  Fixes a bug'
    }
    // ...
  ]
}

scopes

Custom default scopes

  • scopes
    • [type]
      • name (used in prompt and commit message)
{
  scopes: [
    { name: 'client' },
    { name: 'server' }
    // ...
  ]
}

scopeOverrides

Override scopes per type

  • scopeOverrides
    • [type]
      • name (used in prompt and commit message)
{
  scopeOverrides: {
    fix: [{ name: 'windows' }, { name: 'osx' }, { name: 'linux' }],
    docs: [{ name: 'new' }, { name: 'change' }, { name: 'readme' }],
    style: [{ name: 'format' }, { name: 'whitespace' }, { name: 'fix' }]
  }
}

allowCustomScopes

Toggle custom scopes

  • allowCustomScopes
    • Boolean
{
  allowCustomScopes: true
}

allowBreakingChanges

Limit breaking chages to types

  • allowBreakingChanges
    • [...types]
{
  allowBreakingChanges: ['feat', 'fix']
}

Take a look at the example config file

Developing

To contribute make sure all test pass and the coding style is consistent

  • test: runs test and lints files
  • run lint: lints javascript files

Similar projects / inspiration

Package Sidebar

Install

npm i cz-custom-issues

Weekly Downloads

2

Version

1.0.0

License

MIT

Last publish

Collaborators

  • pixelass