validate-branch-name v1.3.1
validate-branch-name
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 -gUsage
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 -hUse 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.