JSPM

cz-cc

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 27
  • Score
    100M100P100Q58434F
  • License Apache-2.0

Commitizen adaptor that follows the Conventional Commits specification (with support for semantic emoji ✨)

Package Exports

  • cz-cc

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (cz-cc) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

cz-cc

build NPM semantic-release Commitizen friendly Conventional Changelog

A commitizen adaptor that follows the Conventional Commits specification.

DEMO

✨ Features

  • Supports semantic emoji in commit subject message
  • Customizable questions (disable any question)
  • Searchable choices for type & scope
  • Customizable type values, descriptions and associated emojis
  • Customizable scope values
  • Better CLI prompts
  • 0 modification required when migrating from cz-conventional-changelog

🎨 Default Commit Types

type emoji description
feat A new feature
fix 🐛 A bug fix
chore 🔧 Changes that do not modify src or test files
refactor 🧹 Changes that neither fix a bug nor add a feature (renaming variable, file structure changes...)
style 💄 Changes that do not affect the meaning of the code (white-space, formatting, semi-colons...)
test Adding missing tests or correcting existing tests
perf ⚡️ Changes that improves performance
docs 📝 Documentation only changes
ci 👷 Changes to CI config files and scripts
revert Reverts a previous commit
break 💥 A breaking change (alias to feat)
init 🎉 Initial commit (alias to feat)

🔨 Usage (globally installed commitizen)

  1. Install commitizen
# npm
npm install -g commitizen
# yarn
yarn global add commitizen
  1. Initialize cz-cc adaptor
# npm
commitizen init cz-cc --save-dev --save-exact
# yarn
commitizen init cz-cc --yarn --dev --exact
  1. Start commitizen CLI
cz

🔨 Usage (locally installed commitizen)

  1. Install commitizen & cz-cc
# npm
npm install -D commitizen cz-cc
# yarn
yarn add commitizen cz-cc
  1. Add following config to package.json
{
  // ...
  "config": {
    "commitizen": {
      "path": "cz-cc"
    }
  },
  "scripts": {
    // ...
    "commit": "cz"
  }
}
  1. Start commitizen CLI
# npm
npm run commit
# yarn
yarn run commit

⚙️ Configuration

cz-cc fully supports the configurations of cz-conventional-changelog.

Additionally, the native configuration options of cz-zz are as follows:

{
  // ... package.json
  "config": {
    // Default configurations:
    "commitizen": {
      // ...
      // Set to `false` to disable emoji.
      "useEmoji": true,
      // If `true`, whenever commit includes a breaking change, an exclamation mark will be inserted before the colon in commit header.
      // @example feat(core)!: replace algorithm entirely
      "useExclamationMark": false,
      // Maximum amount of characters allowed in the commit header.
      // @note Default to 50/72 formatting style.
      "maxHeaderLength": 50,
      // Maximum amount of characters per line in the commit body and commit footer(s).
      // @note Default to 50/72 formatting style.
      "maxLineLength": 72,
      // Minimal amount of characters allowed for the commit subject.
      "minSubjectLength": 4,
      // Questions to be prompted, remove key to disable that question.
      "questions": ["type", "scope", "subject", "body", "breaking", "issues"],
      // Types to be presented in the default selection list (the list before user enters any search input).
      "defaultTypes": ["feat", "fix", "chore", "refactor", "style", "test", "perf", "docs", "ci", "build", "break"],
      // Scopes to be presented in the selection list.
      // @note Empty array will prompts an input, allows user to enter any string as value of the scope.
      "scopes": [],
      // All available types for user selection.
      // @note The entries that are not part of the `defaultTypes` will be presented when user searches for the entry key.
      "types": {
        // ...
        "init": {
          "emoji": "🎉",
          "value": "feat",
          "description": "Initial commit (alias to feat)"
        },
        "fix": {
          "emoji": "🐛",
          "value": "fix",
          "description": "A bug fix"
        }
        // ...
      }
    }
  }
}

📜 License

Apache License 2.0