{
    "$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"
                                }
                            }
                        }
                    ]
                }
            }
        }
    }
}
