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

mfranzke/validate-branch-name

This branch is 10 commits behind JsonMa/validate-branch-name:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Jsonma
Jul 25, 2024
7370334 · Jul 25, 2024

History

77 Commits
Feb 22, 2022
Feb 22, 2022
Nov 30, 2021
Feb 22, 2022
Aug 13, 2019
Aug 13, 2019
Aug 14, 2019
Aug 14, 2019
Nov 25, 2021
Aug 14, 2019
Feb 22, 2022
Aug 13, 2019
Feb 22, 2022
Feb 22, 2022
Feb 13, 2024
Nov 25, 2021
Jun 30, 2021
Jul 25, 2024
Jul 25, 2024

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

Packages

No packages published

Languages

  • JavaScript 98.4%
  • Shell 1.6%