1.0.26 • Published 4 years ago

gitcommit.ast v1.0.26

Weekly downloads
-
License
ISC
Repository
bitbucket
Last release
4 years ago

Configurable git precommit ast

Description

The aim of this library is to train developer coding standard. When you execuate git commit -m "xxxx", below points will be execuated. 1. performance: checking if there's too much nested for/if 2. clean code: ckecking if some file should be ignored like package-lock.json 3. support: if there's conflict code or readme file 4. quality: unit test passed (to be developed)

Usage

Installation

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.

check if commit msg has jira id if not, get jira id from branch name, otherwise, give error alert

Image text

check if there's nested if

.checkrc

{
    "target": ["^test"], 
    "plugins": {
        "nestedIf": {
            "test": "\\.jsx?$",
            "maxdepth": 4
        }
    }]
}

Test file: under /test Image text Running result: git commit -m "test" Image text

check if there's nested for

.checkrc

{
    "target": ["^test"], 
    "plugins": {
        "nestedFor": {
            "test": "\\.jsx?$",
            "maxdepth": 3
        }
    }]
}

Test file: under /test Image text Running result: git commit -m "test" Image text

check if there's ignore file submitted

.checkrc

{
    "target": ["^test"], 
    "plugins": {
        "ignore":{
            "ignoreCase": true,
            "fileList": ["package-lock.json"]
        }
    }]
}

Test file: under / Image text Running result: git commit -m "test" Image text

check if there's required file which is not submitted

.checkrc

{
    "target": ["^test"], 
    "plugins": {
        "required": {
            "ignoreCase": true,
            "fileList": ["readme1"]
        }
    }]
}

Running result: git commit -m "test" Image text

check if there's conflict files

.checkrc

{
    "target": ["^test"], 
    "plugins": {
        "conflictCheck":true
    }]
}

Test file: under /test Image text Running result: git commit -m "test" Image text

custom、unittest plugin

.checkrc

{
    "target": ["^test"], 
    "plugins": {
        "unittest": {
            "run": "echo 1"
        },
        "customPlugin": {
            "run": "echo 2"
        }
    }]
}

Running result: git commit -m "test" Image text

A successful result

Running result: git commit -m "test" Image text

1.0.22

4 years ago

1.0.21

4 years ago

1.0.26

4 years ago

1.0.20-beta1

4 years ago

1.0.25

4 years ago

1.0.24

4 years ago

1.0.23

4 years ago

1.0.20-beta2

4 years ago

1.0.19

4 years ago

1.0.18

4 years ago

1.0.16

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.10

4 years ago

1.0.13

4 years ago

1.0.12

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago