98 lines
2.1 KiB
JSON
98 lines
2.1 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema",
|
|
"definitions": {
|
|
"group": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"description": "The name of the group.",
|
|
"type": "string"
|
|
},
|
|
"regex": {
|
|
"description": "A regular expression for matching paths.",
|
|
"type": "string"
|
|
},
|
|
"default": {
|
|
"description": "Whether the group is enabled by default.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"regex",
|
|
"default"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"regexlist": {
|
|
"description": "A list of regular expressions.",
|
|
"oneOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"rule": {
|
|
"type": "object",
|
|
"properties": {
|
|
"exclude": {
|
|
"description": "A regular expression for paths to exclude.",
|
|
"$ref": "#/definitions/regexlist"
|
|
},
|
|
"suppress": {
|
|
"description": "A regular expression for messages to suppress.",
|
|
"$ref": "#/definitions/regexlist"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"ruleList": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/rule"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"properties": {
|
|
"groups": {
|
|
"description": "A definition of all groups.",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/group"
|
|
},
|
|
"minItems": 1
|
|
},
|
|
"global": {
|
|
"description": "A global set of rules.",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/rule"
|
|
}
|
|
},
|
|
"analyzers": {
|
|
"description": "A definition of all groups.",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/ruleList"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"groups"
|
|
],
|
|
"additionalProperties": false
|
|
}
|