{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "additionalProperties": false,
  "required": [ "extends", "parser", "ecmaFeatures", "plugins", "env", "rules" ],
  "properties": {
    "extends": {
      "type": "string"
    },
    "parser": {
      "type": "string"
    },
    "ecmaFeatures": {
      "type": "object",
      "additionalProperties": false,
      "required": [ "jsx" ],
      "properties": {
        "jsx": {
          "type": "boolean"
        }
      }
    },
    "plugins": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "env": {
      "type": "object",
      "additionalProperties": false,
      "required": [ "browser", "node", "es6" ],
      "properties": {
        "browser": { "type": "boolean" },
        "node": { "type": "boolean" },
        "es6": { "type": "boolean" }
      }
    },
    "rules": {
      "type": "object",
      "maxProperties": 39,
      "additionalProperties": {
        "type": "integer",
        "minimum": 0,
        "maximum": 2
      },
      "required": [
        "eqeqeq",
        "comma-dangle",
        "no-console",
        "no-debugger",
        "no-extra-semi",
        "no-extra-parens",
        "no-irregular-whitespace",
        "no-undef",
        "no-unused-vars",
        "semi",
        "semi-spacing",
        "valid-jsdoc",
        "react/display-name",
        "react/forbid-prop-types",
        "react/jsx-boolean-value",
        "react/jsx-closing-bracket-location",
        "react/jsx-curly-spacing",
        "react/jsx-indent-props",
        "react/jsx-max-props-per-line",
        "react/jsx-no-duplicate-props",
        "react/jsx-no-literals",
        "react/jsx-no-undef",
        "react/jsx-sort-prop-types",
        "react/jsx-sort-props",
        "react/jsx-uses-react",
        "react/jsx-uses-vars",
        "react/no-danger",
        "react/no-did-mount-set-state",
        "react/no-did-update-set-state",
        "react/no-direct-mutation-state",
        "react/no-multi-comp",
        "react/no-set-state",
        "react/no-unknown-property",
        "react/prop-types",
        "react/react-in-jsx-scope",
        "react/require-extension",
        "react/self-closing-comp",
        "react/sort-comp",
        "react/wrap-multilines"
      ],
      "properties": {
        "valid-jsdoc": {
          "type": "array",
          "minItems": 2,
          "maxItems": 2,
          "prefixItems": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 2
            },
            {
              "type": "object",
              "additionalProperties": false,
              "required": [ "requireReturn" ],
              "properties": {
                "requireReturn": {
                  "type": "boolean"
                }
              }
            }
          ]
        }
      }
    }
  }
}
