Skip to content

Git branch name validation tool(welcome to star this project). Git分支名校验工具(如果喜欢请点赞支持).

License

Notifications You must be signed in to change notification settings

MAN-Sendance/validate-branch-name

 
 

Repository files navigation

validate-branch-name

GitHub license npm version Build Status codecov PRs Welcome Known Vulnerabilities npm download npm

中文文档

Git branch name validator.

Description

validate-branch-name can be used through command line directly. When using with Husky, you should make sure husky version >= v1.0.0.

Install

# local install
$ npm i validate-branch-name -D

# global install
$ npm i validate-branch-name -g

Usage

Use through command line

npx validate-branch-name

# test target branch name
npx validate-branch-name -t test/branch/name

# define regexp to test branch name
npx validate-branch-name -r regexp -t test/branch/name

# use -h for more usage detail
npx validate-branch-name -h

Use with husky

First way:

Configure hooks and pattern using package.json.

// {app_root}/package.json
{
  "husky": {
    "hooks": {
      "pre-commit": "npx validate-branch-name"
    }
  },
  "validate-branch-name": {
    "pattern": "^(master|main|develop){1}$|^(feature|fix|hotfix|release)\/.+$",
    "errorMsg": "your own error message"
  }
}

Second way:

Define pre-commit file under .husky direcotory.

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

# validate branch name before commit

npx validate-branch-name 

We have set pattern and errorMsg by default, but you can still defined them as you like.

Default pattern: ^(master|main|develop){1}$|^(feature|fix|hotfix|release)/.+$

Example: feature/test/pattern-test would be passed.

Avaliable patterns:

  • ^(feature|fix|hotfix|release)/.+ - branch has to start with feature/, fix/, release/ or hotfix/
  • (feature|release|hotfix)/(JIRA-\d+) - it should look like feature/JIRA-1234
  • (feature|release|hotfix)/(JIRA-\d+/)?[a-z-]+ - it should look like feature/branch-name or include JIRA's code like feature/JIRA-1234/branch-name

  • custom patterns, visit regex.

You can also use .validate-branch-namerc, .validate-branch-namerc.json, .validate-branch-namerc.yaml, .validate-branch-namerc.yml, .validate-branch-namerc.js, .validate-branch-namerc.cjs, validate-branch-name.config.js or validate-branch-name.config.cjs file to define config.

Questions & Suggestions

Please open an issue here.

License

MIT

About

Git branch name validation tool(welcome to star this project). Git分支名校验工具(如果喜欢请点赞支持).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 98.4%
  • Shell 1.6%