cz-format-extension

cz-format-extension Extensible Commitizen's format

Usage no npm install needed!

<script type="module">
  import czFormatExtension from 'https://cdn.skypack.dev/cz-format-extension';
</script>

README

cz format extension

cz-format-extension

Extensible Commitizen's format

Usage

npm install -D commitizen cz-format-extension

Make .czrc or add config fields into package.json

.czrc

{
  "path": "cz-format-extension"
}

package.json

{
  "config": {
    "commitizen": {
      "path": "cz-format-extension"
    }
  }
}

Create Config file

Make .czferc.js

module.exports = {
  questions({inquirer, gitInfo}) {
    return [
      {...},
      {...},
    ]
  },
  commitMessage({answers, gitInfo}) {
    return ...
  }
}

We prepare the example.

Tips: Configuration settings with types

If you love to develop with types, you can use that with JSDocs.

/**
 * @typedef {{questionType1: string; questionType2: string}} Answers
 */

/** @type import('cz-format-extension').Config<Answers> */
module.exports = {
  questions({inquirer, gitInfo}) {
    return [
      {
        type: "list",
        name: "questionType1",
        message: "Select answer",
        choices: [
          {...},
          {...}
        ]
      },
    ]
  },
  commitMessage({answers, gitInfo}) {
    return `${answers.questionType1}${answers.questionType2}`
  }
}

Inspired by