Configurable git precommit hook
Configurable git precommit ast
git commit -m "xxxx", below points will be execuated.
sh
npm install gitcommit.ast
`
Configure rules
Under your root project. create .checkrc
Example
`
{
"target": ["^test"],
"plugins": {
"conflictCheck":true,
"ignore":{
"ignoreCase": true,
"fileList": ["package-lock.json"]
},
"required": {
"ignoreCase": true,
"fileList": ["readme"]
},
"unittest": {
"run": "echo 1"
},
"nestedFor": {
"test": "\\.jsx?$",
"maxdepth": 3
},
"nestedIf": {
"test": "\\.jsx?$",
"maxdepth": 4
},
"customPlugin": {
"run": "echo 2"
}
}
}
`
Pre-defined Features
please checkout some of pre-defined features.
$3
!Image text
$3
.checkrc
`sh
{
"target": ["^test"],
"plugins": {
"nestedIf": {
"test": "\\.jsx?$",
"maxdepth": 4
}
}]
}
`
Test file: under /test
!Image text
Running result:
git commit -m "test"
!Image text
$3
.checkrc
`sh
{
"target": ["^test"],
"plugins": {
"nestedFor": {
"test": "\\.jsx?$",
"maxdepth": 3
}
}]
}
`
Test file: under /test
!Image text
Running result:
git commit -m "test"
!Image text
$3
.checkrc
`sh
{
"target": ["^test"],
"plugins": {
"ignore":{
"ignoreCase": true,
"fileList": ["package-lock.json"]
}
}]
}
`
Test file: under /
!Image text
Running result:
git commit -m "test"
!Image text
$3
.checkrc
`sh
{
"target": ["^test"],
"plugins": {
"required": {
"ignoreCase": true,
"fileList": ["readme1"]
}
}]
}
`
Running result:
git commit -m "test"
!Image text
$3
.checkrc
`sh
{
"target": ["^test"],
"plugins": {
"conflictCheck":true
}]
}
`
Test file: under /test
!Image text
Running result:
git commit -m "test"
!Image text
$3
.checkrc
`sh
{
"target": ["^test"],
"plugins": {
"unittest": {
"run": "echo 1"
},
"customPlugin": {
"run": "echo 2"
}
}]
}
`
Running result:
git commit -m "test"
!Image text
$3
Running result:
git commit -m "test"`