Skip to content

A commit linting commitizen adapter & branch naming convention tool tailored for ARITS Limited with Jira Issue & Project Tracking Software; to track commits to Jira issues and transition them to the next stage of development workflow automatically.

License

Notifications You must be signed in to change notification settings

aritslimited/commitlint

Repository files navigation

@aritslimited/commitlint

A commit linting commitizen adapter & branch naming convention tool tailored for ARITS Limited with Jira Issue & Project Tracking Software; to track commits to Jira issues and transition them to the next stage of development workflow automatically.

npm (scoped) npm downloads Commitizen friendly Libraries.io dependency status for latest release GitHub Actions/CI GitHub Workflow Status (with event) semantic-release GitHub GitHub repo size GitHub last commit

Table of Contents

Installation

You can install this package via npm or yarn. To install, run the following command:

npm install --save-dev @aritslimited/commitlint commitizen boxen chalk dotenv inquirer node-fetch tslib

or

yarn add -D @aritslimited/commitlint commitizen boxen chalk dotenv inquirer node-fetch tslib

or

pnpm add -D @aritslimited/commitlint commitizen boxen chalk dotenv inquirer node-fetch tslib

or

bun add -D @aritslimited/commitlint commitizen boxen chalk dotenv inquirer node-fetch tslib

Configuration

Run the following command from project root to start using this commitizen adapter along with commitizen:

echo "{\"path\": \"@aritslimited/commitlint/dist/commitlint.config.js\"}" > ./.czrc

Now, you can run the following command to commit your changes:

npx cz

or create a script in your package.json file and use it with npm run commit or yarn commit or pnpm commit or bun commit:

{
  "scripts": {
    "commit": "npx cz"
  }
}

Usage

This package supports the following environment files out of the box:

  • .env
  • .env.local
  • .env.jira.local

Must Have Environment Variables

This package requires the following environment variables to be set in any of the environment files mentioned above that are synced with your version control system (preferably .env):

  • JIRA_BASE_URL=https://aritsltd.atlassian.net/rest/api/2
  • JIRA_PROJECT=your Jira project key # e.g. TAF
  • JIRA_ISSUE_FILTERS=your Jira issue filters # e.g. "In Progress"
  • JIRA_ISSUE_TRANSITION_FILTERS=your Jira issue transition filters # e.g. "Send to QA"

and the following environment variables to be set in any of the environment files mentioned above that are not synced with your version control system (preferably .env.local):

Branch Naming Convention

This package also provides a branch naming convention tool. To use it, include the following environment variables in any of the environment files mentioned above that are synced with your version control system (preferably .env):

  • VALID_BRANCH_NAMES=your string of valid branch names separated by space # e.g. "main staging dev ui"

NB: Branch naming convention tool is optional feature that is disabled by default. To enable it, the VALID_BRANCH_NAMES environment variable(s) must be set.

  • BRANCH_NAME_VALIDATING_REGEXP=your branch name validating regular expression # e.g. "^(main|staging|dev|ui)/[A-Z]{2,3}-[0-9]{1,5}/[a-z0-9-]+$"

BRANCH_NAME_VALIDATING_REGEXP is optional. Default validating regex expression is:

new RegExp(`^(${branchNamesArr.join("|")})[a-z0-9-]*$`)

You can validate your regular expression here.

License

This package is open source and available under the MIT License.

Contributors

Name Contact
Emran Hossain GitHub LinkedIn

About

A commit linting commitizen adapter & branch naming convention tool tailored for ARITS Limited with Jira Issue & Project Tracking Software; to track commits to Jira issues and transition them to the next stage of development workflow automatically.

Topics

Resources

License

Stars

Watchers

Forks