@impact-tools/git-branch-validator
Git branch name validator through hooks.
Description
@impact-tools/git-branch-validator is git branch validator based on Husky, so make sure that your repository have installed husky (version >= v1.0.0) successfully.
Install
$ npm i @impact-tools/git-branch-validator --save-dev
Usage
Configure hooks and pattern using package.json.
"git-branch-validator" attribute in package.json is optional, we have set default pattern and errorMsg in project. But you can still defined them as you like.
// {app_root}/package.json
{
"husky": {
"hooks": {
"pre-push": "branch-validator"
}
},
"git-branch-validator": {
"pattern": "^(master|develop){1}$|^(feature|fix|hotfix|release)\/.+$",
"errorMsg": "your error message",
"sandbox" : "https://regex101.com/r/XXXXXX" // <-- optional
"showPattern" : true // <-- optional
}
}
Default pattern: ^(master|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
You can also configure hooks and pattern using .git-branch-validatorrc
, ..git-branch-validatorrc.json
or .git-branch-validatorrcrc.js
file.
Requirements
-
Husky requires Node
>= 8.6.0
and Git>= 2.13.2
-
Husky version
>= 1.0.0