github.com/SagerNet/gvisor@v0.0.0-20210707092255-7731c139d75c/tools/nogo/config-schema.json (about)

     1  {
     2    "$schema": "http://json-schema.org/draft-07/schema",
     3    "definitions": {
     4      "group": {
     5        "type": "object",
     6        "properties": {
     7          "name": {
     8            "description": "The name of the group.",
     9            "type": "string"
    10          },
    11          "regex": {
    12            "description": "A regular expression for matching paths.",
    13            "type": "string"
    14          },
    15          "default": {
    16            "description": "Whether the group is enabled by default.",
    17            "type": "boolean"
    18          }
    19        },
    20        "required": [
    21          "name",
    22          "regex",
    23          "default"
    24        ],
    25        "additionalProperties": false
    26      },
    27      "regexlist": {
    28        "description": "A list of regular expressions.",
    29        "oneOf": [
    30          {
    31            "type": "array",
    32            "items": {
    33              "type": "string"
    34            }
    35          },
    36          {
    37            "type": "null"
    38          }
    39        ]
    40      },
    41      "rule": {
    42        "type": "object",
    43        "properties": {
    44          "exclude": {
    45            "description": "A regular expression for paths to exclude.",
    46            "$ref": "#/definitions/regexlist"
    47          },
    48          "suppress": {
    49            "description": "A regular expression for messages to suppress.",
    50            "$ref": "#/definitions/regexlist"
    51          }
    52        },
    53        "additionalProperties": false
    54      },
    55      "ruleList": {
    56        "type": "object",
    57        "additionalProperties": {
    58          "oneOf": [
    59            {
    60              "$ref": "#/definitions/rule"
    61            },
    62            {
    63              "type": "null"
    64            }
    65          ]
    66        }
    67      }
    68    },
    69    "properties": {
    70      "groups": {
    71        "description": "A definition of all groups.",
    72        "type": "array",
    73        "items": {
    74          "$ref": "#/definitions/group"
    75        },
    76        "minItems": 1
    77      },
    78      "global": {
    79        "description": "A global set of rules.",
    80        "type": "object",
    81        "additionalProperties": {
    82          "$ref": "#/definitions/rule"
    83        }
    84      },
    85      "analyzers": {
    86        "description": "A definition of all groups.",
    87        "type": "object",
    88        "additionalProperties": {
    89          "$ref": "#/definitions/ruleList"
    90        }
    91      }
    92    },
    93    "required": [
    94      "groups"
    95    ],
    96    "additionalProperties": false
    97  }