{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "JSON schema for NPM package.json files",
  "definitions": {
    "person": {
      "description": "A person who has been involved in creating or maintaining this package.",
      "type": [
        "object",
        "string"
      ],
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "email": {
          "type": "string",
          "format": "email"
        }
      }
    },
    "dependency": {
      "description": "Dependencies are specified with a simple hash of package name to version range. The version range is a string which has one or more space-separated descriptors. Dependencies can also be identified with a tarball or git URL.",
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "devDependency": {
      "description": "Specifies dependencies that are required for the development and testing of the project. These dependencies are not needed in the production environment.",
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "optionalDependency": {
      "description": "Specifies dependencies that are optional for your project. These dependencies are attempted to be installed during the npm install process, but if they fail to install, the installation process will not fail.",
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "peerDependency": {
      "description": "Specifies dependencies that are required by the package but are expected to be provided by the consumer of the package.",
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "peerDependencyMeta": {
      "description": "When a user installs your package, warnings are emitted if packages specified in \"peerDependencies\" are not already installed. The \"peerDependenciesMeta\" field serves to provide more information on how your peer dependencies are utilized. Most commonly, it allows peer dependencies to be marked as optional. Metadata for this field is specified with a simple hash of the package name to a metadata object.",
      "type": "object",
      "additionalProperties": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "optional": {
            "description": "Specifies that this peer dependency is optional and should not be installed automatically.",
            "type": "boolean"
          }
        }
      }
    },
    "license": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "enum": [
            "AGPL-3.0-only",
            "Apache-2.0",
            "BSD-2-Clause",
            "BSD-3-Clause",
            "BSL-1.0",
            "CC0-1.0",
            "CDDL-1.0",
            "CDDL-1.1",
            "EPL-1.0",
            "EPL-2.0",
            "GPL-2.0-only",
            "GPL-3.0-only",
            "ISC",
            "LGPL-2.0-only",
            "LGPL-2.1-only",
            "LGPL-2.1-or-later",
            "LGPL-3.0-only",
            "LGPL-3.0-or-later",
            "MIT",
            "MPL-2.0",
            "MS-PL",
            "UNLICENSED"
          ]
        }
      ]
    },
    "scriptsInstallAfter": {
      "description": "Run AFTER the package is installed.",
      "type": "string",
      "x-intellij-language-injection": "Shell Script"
    },
    "scriptsPublishAfter": {
      "description": "Run AFTER the package is published.",
      "type": "string",
      "x-intellij-language-injection": "Shell Script"
    },
    "scriptsRestart": {
      "description": "Run by the 'npm restart' command. Note: 'npm restart' will run the stop and start scripts if no restart script is provided.",
      "type": "string",
      "x-intellij-language-injection": "Shell Script"
    },
    "scriptsStart": {
      "description": "Run by the 'npm start' command.",
      "type": "string",
      "x-intellij-language-injection": "Shell Script"
    },
    "scriptsStop": {
      "description": "Run by the 'npm stop' command.",
      "type": "string",
      "x-intellij-language-injection": "Shell Script"
    },
    "scriptsTest": {
      "description": "Run by the 'npm test' command.",
      "type": "string",
      "x-intellij-language-injection": "Shell Script"
    },
    "scriptsUninstallBefore": {
      "description": "Run BEFORE the package is uninstalled.",
      "type": "string",
      "x-intellij-language-injection": "Shell Script"
    },
    "scriptsVersionBefore": {
      "description": "Run BEFORE bump the package version.",
      "type": "string",
      "x-intellij-language-injection": "Shell Script"
    },
    "packageExportsEntryPath": {
      "type": [
        "string",
        "null"
      ],
      "description": "The module path that is resolved when this specifier is imported. Set to `null` to disallow importing this module.",
      "pattern": "^\\./"
    },
    "packageExportsEntryObject": {
      "type": "object",
      "description": "Used to specify conditional exports, note that Conditional exports are unsupported in older environments, so it's recommended to use the fallback array option if support for those environments is a concern.",
      "properties": {
        "require": {
          "$ref": "#/definitions/packageExportsEntryOrFallback",
          "description": "The module path that is resolved when this specifier is imported as a CommonJS module using the `require(...)` function."
        },
        "import": {
          "$ref": "#/definitions/packageExportsEntryOrFallback",
          "description": "The module path that is resolved when this specifier is imported as an ECMAScript module using an `import` declaration or the dynamic `import(...)` function."
        },
        "module-sync": {
          "$ref": "#/definitions/packageExportsEntryOrFallback",
          "$comment": "https://nodejs.org/api/packages.html#conditional-exports#:~:text=%22module-sync%22",
          "description": "The same as `import`, but can be used with require(esm) in Node 20+. This requires the files to not use any top-level awaits."
        },
        "node": {
          "$ref": "#/definitions/packageExportsEntryOrFallback",
          "description": "The module path that is resolved when this environment is Node.js."
        },
        "default": {
          "$ref": "#/definitions/packageExportsEntryOrFallback",
          "description": "The module path that is resolved when no other export type matches."
        },
        "types": {
          "$ref": "#/definitions/packageExportsEntryOrFallback",
          "description": "The module path that is resolved for TypeScript types when this specifier is imported. Should be listed before other conditions. Additionally, versioned \"types\" condition in the form \"types@{selector}\" are supported."
        }
      },
      "patternProperties": {
        "^[^.0-9]+$": {
          "$ref": "#/definitions/packageExportsEntryOrFallback",
          "description": "The module path that is resolved when this environment matches the property name."
        },
        "^types@.+$": {
          "$ref": "#/definitions/packageExportsEntryOrFallback",
          "description": "The module path that is resolved for TypeScript types when this specifier is imported. Should be listed before other conditions. Additionally, versioned \"types\" condition in the form \"types@{selector}\" are supported."
        }
      },
      "additionalProperties": false
    },
    "packageExportsEntry": {
      "oneOf": [
        {
          "$ref": "#/definitions/packageExportsEntryPath"
        },
        {
          "$ref": "#/definitions/packageExportsEntryObject"
        }
      ]
    },
    "packageExportsFallback": {
      "type": "array",
      "description": "Used to allow fallbacks in case this environment doesn't support the preceding entries.",
      "items": {
        "$ref": "#/definitions/packageExportsEntry"
      }
    },
    "packageExportsEntryOrFallback": {
      "oneOf": [
        {
          "$ref": "#/definitions/packageExportsEntry"
        },
        {
          "$ref": "#/definitions/packageExportsFallback"
        }
      ]
    },
    "packageImportsEntryPath": {
      "type": [
        "string",
        "null"
      ],
      "description": "The module path that is resolved when this specifier is imported. Set to `null` to disallow importing this module."
    },
    "packageImportsEntryObject": {
      "type": "object",
      "description": "Used to specify conditional exports, note that Conditional exports are unsupported in older environments, so it's recommended to use the fallback array option if support for those environments is a concern.",
      "properties": {
        "require": {
          "$ref": "#/definitions/packageImportsEntryOrFallback",
          "description": "The module path that is resolved when this specifier is imported as a CommonJS module using the `require(...)` function."
        },
        "import": {
          "$ref": "#/definitions/packageImportsEntryOrFallback",
          "description": "The module path that is resolved when this specifier is imported as an ECMAScript module using an `import` declaration or the dynamic `import(...)` function."
        },
        "node": {
          "$ref": "#/definitions/packageImportsEntryOrFallback",
          "description": "The module path that is resolved when this environment is Node.js."
        },
        "default": {
          "$ref": "#/definitions/packageImportsEntryOrFallback",
          "description": "The module path that is resolved when no other export type matches."
        },
        "types": {
          "$ref": "#/definitions/packageImportsEntryOrFallback",
          "description": "The module path that is resolved for TypeScript types when this specifier is imported. Should be listed before other conditions. Additionally, versioned \"types\" condition in the form \"types@{selector}\" are supported."
        }
      },
      "patternProperties": {
        "^[^.0-9]+$": {
          "$ref": "#/definitions/packageImportsEntryOrFallback",
          "description": "The module path that is resolved when this environment matches the property name."
        },
        "^types@.+$": {
          "$ref": "#/definitions/packageImportsEntryOrFallback",
          "description": "The module path that is resolved for TypeScript types when this specifier is imported. Should be listed before other conditions. Additionally, versioned \"types\" condition in the form \"types@{selector}\" are supported."
        }
      },
      "additionalProperties": false
    },
    "packageImportsEntry": {
      "oneOf": [
        {
          "$ref": "#/definitions/packageImportsEntryPath"
        },
        {
          "$ref": "#/definitions/packageImportsEntryObject"
        }
      ]
    },
    "packageImportsFallback": {
      "type": "array",
      "description": "Used to allow fallbacks in case this environment doesn't support the preceding entries.",
      "items": {
        "$ref": "#/definitions/packageImportsEntry"
      }
    },
    "packageImportsEntryOrFallback": {
      "oneOf": [
        {
          "$ref": "#/definitions/packageImportsEntry"
        },
        {
          "$ref": "#/definitions/packageImportsFallback"
        }
      ]
    },
    "fundingUrl": {
      "type": "string",
      "format": "uri",
      "description": "URL to a website with details about how to fund the package."
    },
    "fundingWay": {
      "type": "object",
      "description": "Used to inform about ways to help fund development of the package.",
      "properties": {
        "url": {
          "$ref": "#/definitions/fundingUrl"
        },
        "type": {
          "type": "string",
          "description": "The type of funding or the platform through which funding can be provided, e.g. patreon, opencollective, tidelift or github."
        }
      },
      "additionalProperties": false,
      "required": [
        "url"
      ]
    },
    "devEngineDependency": {
      "description": "Specifies requirements for development environment components such as operating systems, runtimes, or package managers. Used to ensure consistent development environments across the team.",
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the dependency, with allowed values depending on the parent field"
        },
        "version": {
          "type": "string",
          "description": "The version range for the dependency"
        },
        "onFail": {
          "type": "string",
          "enum": [
            "ignore",
            "warn",
            "error",
            "download"
          ],
          "description": "What action to take if validation fails"
        }
      }
    },
    "runtimeEngineDependency": {
      "description": "Specifies a supported JavaScript runtime.",
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "The runtime name"
        },
        "version": {
          "type": "string",
          "description": "The version range for the runtime"
        },
        "onFail": {
          "type": "string",
          "enum": [
            "ignore",
            "warn",
            "error",
            "download"
          ],
          "description": "What action to take if runtime validation fails"
        }
      }
    },
    "vendored-eslintrc": {
      "definitions": {
        "stringOrStringArray": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "rule": {
          "oneOf": [
            {
              "description": "ESLint rule\n\n0 - turns the rule off\n1 - turn the rule on as a warning (doesn't affect exit code)\n2 - turn the rule on as an error (exit code is 1 when triggered)\n",
              "type": "integer",
              "minimum": 0,
              "maximum": 2
            },
            {
              "description": "ESLint rule\n\n\"off\" - turns the rule off\n\"warn\" - turn the rule on as a warning (doesn't affect exit code)\n\"error\" - turn the rule on as an error (exit code is 1 when triggered)\n",
              "type": "string",
              "enum": [
                "off",
                "warn",
                "error"
              ]
            },
            {
              "type": "array"
            }
          ]
        },
        "possibleErrors": {
          "type": "object",
          "properties": {
            "comma-dangle": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow trailing commas"
            },
            "for-direction": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce \"for\" loop update clause moving the counter in the right direction"
            },
            "getter-return": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce return statements in getters"
            },
            "no-await-in-loop": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow await inside of loops"
            },
            "no-compare-neg-zero": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow comparing against -0"
            },
            "no-cond-assign": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow assignment operators in conditional expressions"
            },
            "no-console": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow the use of console"
            },
            "no-constant-condition": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow constant expressions in conditions"
            },
            "no-control-regex": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow control characters in regular expressions"
            },
            "no-debugger": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow the use of debugger"
            },
            "no-dupe-args": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow duplicate arguments in function definitions"
            },
            "no-dupe-keys": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow duplicate keys in object literals"
            },
            "no-duplicate-case": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow duplicate case labels"
            },
            "no-empty": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow empty block statements"
            },
            "no-empty-character-class": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow empty character classes in regular expressions"
            },
            "no-ex-assign": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow reassigning exceptions in catch clauses"
            },
            "no-extra-boolean-cast": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow unnecessary boolean casts"
            },
            "no-extra-parens": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow unnecessary parentheses"
            },
            "no-extra-semi": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow unnecessary semicolons"
            },
            "no-func-assign": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow reassigning function declarations"
            },
            "no-inner-declarations": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow function or var declarations in nested blocks"
            },
            "no-invalid-regexp": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow invalid regular expression strings in RegExp constructors"
            },
            "no-irregular-whitespace": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow irregular whitespace outside of strings and comments"
            },
            "no-negated-in-lhs": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow negating the left operand in in expressions (deprecated)"
            },
            "no-obj-calls": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow calling global object properties as functions"
            },
            "no-prototype-builtins": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow calling some Object.prototype methods directly on objects"
            },
            "no-regex-spaces": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow multiple spaces in regular expressions"
            },
            "no-sparse-arrays": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow sparse arrays"
            },
            "no-template-curly-in-string": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow template literal placeholder syntax in regular strings"
            },
            "no-unexpected-multiline": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow confusing multiline expressions"
            },
            "no-unreachable": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow unreachable code after return, throw, continue, and break statements"
            },
            "no-unsafe-finally": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow control flow statements in finally blocks"
            },
            "no-unsafe-negation": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow negating the left operand of relational operators"
            },
            "use-isnan": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require calls to isNaN() when checking for NaN"
            },
            "valid-jsdoc": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce valid JSDoc comments"
            },
            "valid-typeof": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce comparing typeof expressions against valid strings"
            }
          }
        },
        "bestPractices": {
          "type": "object",
          "properties": {
            "accessor-pairs": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce getter and setter pairs in objects"
            },
            "array-callback-return": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce return statements in callbacks of array methods"
            },
            "block-scoped-var": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce the use of variables within the scope they are defined"
            },
            "class-methods-use-this": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce that class methods utilize this"
            },
            "complexity": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce a maximum cyclomatic complexity allowed in a program"
            },
            "consistent-return": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require return statements to either always or never specify values"
            },
            "curly": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent brace style for all control statements"
            },
            "default-case": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require default cases in switch statements"
            },
            "dot-location": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent newlines before and after dots"
            },
            "dot-notation": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce dot notation whenever possible"
            },
            "eqeqeq": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require the use of === and !=="
            },
            "guard-for-in": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require for-in loops to include an if statement"
            },
            "no-alert": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow the use of alert, confirm, and prompt"
            },
            "no-caller": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow the use of arguments.caller or arguments.callee"
            },
            "no-case-declarations": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow lexical declarations in case clauses"
            },
            "no-div-regex": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow division operators explicitly at the beginning of regular expressions"
            },
            "no-else-return": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow else blocks after return statements in if statements"
            },
            "no-empty-function": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow empty functions"
            },
            "no-empty-pattern": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow empty destructuring patterns"
            },
            "no-eq-null": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow null comparisons without type-checking operators"
            },
            "no-eval": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow the use of eval()"
            },
            "no-extend-native": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow extending native types"
            },
            "no-extra-bind": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow unnecessary calls to .bind()"
            },
            "no-extra-label": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow unnecessary labels"
            },
            "no-fallthrough": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow fallthrough of case statements"
            },
            "no-floating-decimal": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow leading or trailing decimal points in numeric literals"
            },
            "no-global-assign": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow assignments to native objects or read-only global variables"
            },
            "no-implicit-coercion": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow shorthand type conversions"
            },
            "no-implicit-globals": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow var and named function declarations in the global scope"
            },
            "no-implied-eval": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow the use of eval()-like methods"
            },
            "no-invalid-this": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow this keywords outside of classes or class-like objects"
            },
            "no-iterator": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow the use of the __iterator__ property"
            },
            "no-labels": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow labeled statements"
            },
            "no-lone-blocks": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow unnecessary nested blocks"
            },
            "no-loop-func": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow function declarations and expressions inside loop statements"
            },
            "no-magic-numbers": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow magic numbers"
            },
            "no-multi-spaces": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow multiple spaces"
            },
            "no-multi-str": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow multiline strings"
            },
            "no-native-reassign": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule"
            },
            "no-new": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow new operators outside of assignments or comparisons"
            },
            "no-new-func": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow new operators with the Function object"
            },
            "no-new-wrappers": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow new operators with the String, Number, and Boolean objects"
            },
            "no-octal": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow octal literals"
            },
            "no-octal-escape": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow octal escape sequences in string literals"
            },
            "no-param-reassign": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow reassigning function parameters"
            },
            "no-proto": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow the use of the __proto__ property"
            },
            "no-redeclare": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow var redeclaration"
            },
            "no-restricted-properties": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow certain properties on certain objects"
            },
            "no-return-assign": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow assignment operators in return statements"
            },
            "no-return-await": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow unnecessary return await"
            },
            "no-script-url": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow javascript: urls"
            },
            "no-self-assign": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow assignments where both sides are exactly the same"
            },
            "no-self-compare": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow comparisons where both sides are exactly the same"
            },
            "no-sequences": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow comma operators"
            },
            "no-throw-literal": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow throwing literals as exceptions"
            },
            "no-unmodified-loop-condition": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow unmodified loop conditions"
            },
            "no-unused-expressions": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow unused expressions"
            },
            "no-unused-labels": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow unused labels"
            },
            "no-useless-call": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow unnecessary calls to .call() and .apply()"
            },
            "no-useless-concat": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow unnecessary concatenation of literals or template literals"
            },
            "no-useless-escape": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow unnecessary escape characters"
            },
            "no-useless-return": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow redundant return statements"
            },
            "no-void": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow void operators"
            },
            "no-warning-comments": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow specified warning terms in comments"
            },
            "no-with": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow with statements"
            },
            "prefer-promise-reject-errors": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require using Error objects as Promise rejection reasons"
            },
            "radix": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce the consistent use of the radix argument when using parseInt()"
            },
            "require-await": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow async functions which have no await expression"
            },
            "vars-on-top": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require var declarations be placed at the top of their containing scope"
            },
            "wrap-iife": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require parentheses around immediate function invocations"
            },
            "yoda": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or Disallow \"Yoda\" conditions"
            }
          }
        },
        "strictMode": {
          "type": "object",
          "properties": {
            "strict": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "require or disallow strict mode directives"
            }
          }
        },
        "variables": {
          "type": "object",
          "properties": {
            "init-declarations": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow initialization in var declarations"
            },
            "no-catch-shadow": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow catch clause parameters from shadowing variables in the outer scope"
            },
            "no-delete-var": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow deleting variables"
            },
            "no-label-var": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow labels that share a name with a variable"
            },
            "no-restricted-globals": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow specified global variables"
            },
            "no-shadow": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow var declarations from shadowing variables in the outer scope"
            },
            "no-shadow-restricted-names": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow identifiers from shadowing restricted names"
            },
            "no-undef": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow the use of undeclared variables unless mentioned in /*global */ comments"
            },
            "no-undefined": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow the use of undefined as an identifier"
            },
            "no-undef-init": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow initializing variables to undefined"
            },
            "no-unused-vars": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow unused variables"
            },
            "no-use-before-define": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow the use of variables before they are defined"
            }
          }
        },
        "nodeAndCommonJs": {
          "type": "object",
          "properties": {
            "callback-return": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require return statements after callbacks"
            },
            "global-require": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require require() calls to be placed at top-level module scope"
            },
            "handle-callback-err": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require error handling in callbacks"
            },
            "no-buffer-constructor": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow use of the Buffer() constructor"
            },
            "no-mixed-requires": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow require calls to be mixed with regular var declarations"
            },
            "no-new-require": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow new operators with calls to require"
            },
            "no-path-concat": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow string concatenation with __dirname and __filename"
            },
            "no-process-env": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow the use of process.env"
            },
            "no-process-exit": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow the use of process.exit()"
            },
            "no-restricted-modules": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow specified modules when loaded by require"
            },
            "no-sync": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow synchronous methods"
            }
          }
        },
        "stylisticIssues": {
          "type": "object",
          "properties": {
            "array-bracket-newline": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce line breaks after opening and before closing array brackets"
            },
            "array-bracket-spacing": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent spacing inside array brackets"
            },
            "array-element-newline": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce line breaks after each array element"
            },
            "block-spacing": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent spacing inside single-line blocks"
            },
            "brace-style": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent brace style for blocks"
            },
            "camelcase": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce camelcase naming convention"
            },
            "capitalized-comments": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce or disallow capitalization of the first letter of a comment"
            },
            "comma-dangle": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow trailing commas"
            },
            "comma-spacing": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent spacing before and after commas"
            },
            "comma-style": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent comma style"
            },
            "computed-property-spacing": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent spacing inside computed property brackets"
            },
            "consistent-this": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent naming when capturing the current execution context"
            },
            "eol-last": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce at least one newline at the end of files"
            },
            "func-call-spacing": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow spacing between function identifiers and their invocations"
            },
            "func-name-matching": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require function names to match the name of the variable or property to which they are assigned"
            },
            "func-names": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow named function expressions"
            },
            "func-style": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce the consistent use of either function declarations or expressions"
            },
            "function-call-argument-newline": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce line breaks between arguments of a function call"
            },
            "function-paren-newline": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent line breaks inside function parentheses"
            },
            "id-blacklist": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow specified identifiers"
            },
            "id-length": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce minimum and maximum identifier lengths"
            },
            "id-match": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require identifiers to match a specified regular expression"
            },
            "implicit-arrow-linebreak": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce the location of arrow function bodies"
            },
            "indent": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent indentation"
            },
            "indent-legacy": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent indentation (legacy, deprecated)"
            },
            "jsx-quotes": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce the consistent use of either double or single quotes in JSX attributes"
            },
            "key-spacing": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent spacing between keys and values in object literal properties"
            },
            "keyword-spacing": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent spacing before and after keywords"
            },
            "line-comment-position": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce position of line comments"
            },
            "lines-between-class-members": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow an empty line between class members"
            },
            "linebreak-style": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent linebreak style"
            },
            "lines-around-comment": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require empty lines around comments"
            },
            "lines-around-directive": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow newlines around directives"
            },
            "max-depth": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce a maximum depth that blocks can be nested"
            },
            "max-len": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce a maximum line length"
            },
            "max-lines": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce a maximum number of lines per file"
            },
            "max-nested-callbacks": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce a maximum depth that callbacks can be nested"
            },
            "max-params": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce a maximum number of parameters in function definitions"
            },
            "max-statements": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce a maximum number of statements allowed in function blocks"
            },
            "max-statements-per-line": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce a maximum number of statements allowed per line"
            },
            "multiline-comment-style": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce a particular style for multiline comments"
            },
            "multiline-ternary": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce newlines between operands of ternary expressions"
            },
            "new-cap": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require constructor function names to begin with a capital letter"
            },
            "newline-after-var": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow an empty line after var declarations"
            },
            "newline-before-return": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require an empty line before return statements"
            },
            "newline-per-chained-call": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require a newline after each call in a method chain"
            },
            "new-parens": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require parentheses when invoking a constructor with no arguments"
            },
            "no-array-constructor": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow Array constructors"
            },
            "no-bitwise": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow bitwise operators"
            },
            "no-continue": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow continue statements"
            },
            "no-inline-comments": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow inline comments after code"
            },
            "no-lonely-if": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow if statements as the only statement in else blocks"
            },
            "no-mixed-operators": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow mixed binary operators"
            },
            "no-mixed-spaces-and-tabs": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow mixed spaces and tabs for indentation"
            },
            "no-multi-assign": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow use of chained assignment expressions"
            },
            "no-multiple-empty-lines": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow multiple empty lines"
            },
            "no-negated-condition": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow negated conditions"
            },
            "no-nested-ternary": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow nested ternary expressions"
            },
            "no-new-object": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow Object constructors"
            },
            "no-plusplus": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow the unary operators ++ and --"
            },
            "no-restricted-syntax": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow specified syntax"
            },
            "no-spaced-func": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule"
            },
            "no-tabs": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow tabs in file"
            },
            "no-ternary": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow ternary operators"
            },
            "no-trailing-spaces": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow trailing whitespace at the end of lines"
            },
            "no-underscore-dangle": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow dangling underscores in identifiers"
            },
            "no-unneeded-ternary": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow ternary operators when simpler alternatives exist"
            },
            "no-whitespace-before-property": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow whitespace before properties"
            },
            "nonblock-statement-body-position": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce the location of single-line statements"
            },
            "object-curly-newline": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent line breaks inside braces"
            },
            "object-curly-spacing": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent spacing inside braces"
            },
            "object-property-newline": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce placing object properties on separate lines"
            },
            "object-shorthand": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule"
            },
            "one-var": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce variables to be declared either together or separately in functions"
            },
            "one-var-declaration-per-line": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow newlines around var declarations"
            },
            "operator-assignment": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow assignment operator shorthand where possible"
            },
            "operator-linebreak": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent linebreak style for operators"
            },
            "padded-blocks": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow padding within blocks"
            },
            "padding-line-between-statements": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow padding lines between statements"
            },
            "quote-props": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require quotes around object literal property names"
            },
            "quotes": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce the consistent use of either backticks, double, or single quotes"
            },
            "require-jsdoc": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require JSDoc comments"
            },
            "semi": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow semicolons instead of ASI"
            },
            "semi-spacing": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent spacing before and after semicolons"
            },
            "semi-style": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce location of semicolons"
            },
            "sort-keys": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Requires object keys to be sorted"
            },
            "sort-vars": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require variables within the same declaration block to be sorted"
            },
            "space-before-blocks": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent spacing before blocks"
            },
            "space-before-function-paren": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent spacing before function definition opening parenthesis"
            },
            "spaced-comment": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent spacing after the // or /* in a comment"
            },
            "space-infix-ops": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require spacing around operators"
            },
            "space-in-parens": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent spacing inside parentheses"
            },
            "space-unary-ops": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent spacing before or after unary operators"
            },
            "switch-colon-spacing": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce spacing around colons of switch statements"
            },
            "template-tag-spacing": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow spacing between template tags and their literals"
            },
            "unicode-bom": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow Unicode byte order mark (BOM)"
            },
            "wrap-regex": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require parenthesis around regex literals"
            }
          }
        },
        "ecmaScript6": {
          "type": "object",
          "properties": {
            "arrow-body-style": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require braces around arrow function bodies"
            },
            "arrow-parens": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require parentheses around arrow function arguments"
            },
            "arrow-spacing": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent spacing before and after the arrow in arrow functions"
            },
            "constructor-super": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require super() calls in constructors"
            },
            "generator-star-spacing": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce consistent spacing around * operators in generator functions"
            },
            "no-class-assign": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow reassigning class members"
            },
            "no-confusing-arrow": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow arrow functions where they could be confused with comparisons"
            },
            "no-const-assign": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow reassigning const variables"
            },
            "no-dupe-class-members": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow duplicate class members"
            },
            "no-duplicate-imports": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow duplicate module imports"
            },
            "no-new-symbol": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow new operators with the Symbol object"
            },
            "no-restricted-imports": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow specified modules when loaded by import"
            },
            "no-this-before-super": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow this/super before calling super() in constructors"
            },
            "no-useless-computed-key": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow unnecessary computed property keys in object literals"
            },
            "no-useless-constructor": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow unnecessary constructors"
            },
            "no-useless-rename": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow renaming import, export, and destructured assignments to the same name"
            },
            "no-var": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require let or const instead of var"
            },
            "object-shorthand": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow method and property shorthand syntax for object literals"
            },
            "prefer-arrow-callback": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require arrow functions as callbacks"
            },
            "prefer-const": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require const declarations for variables that are never reassigned after declared"
            },
            "prefer-destructuring": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require destructuring from arrays and/or objects"
            },
            "prefer-numeric-literals": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Disallow parseInt() in favor of binary, octal, and hexadecimal literals"
            },
            "prefer-reflect": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require Reflect methods where applicable"
            },
            "prefer-rest-params": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require rest parameters instead of arguments"
            },
            "prefer-spread": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require spread operators instead of .apply()"
            },
            "prefer-template": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require template literals instead of string concatenation"
            },
            "require-yield": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require generator functions to contain yield"
            },
            "rest-spread-spacing": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce spacing between rest and spread operators and their expressions"
            },
            "sort-imports": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Enforce sorted import declarations within modules"
            },
            "symbol-description": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require symbol descriptions"
            },
            "template-curly-spacing": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow spacing around embedded expressions of template strings"
            },
            "yield-star-spacing": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule",
              "description": "Require or disallow spacing around the * in yield* expressions"
            }
          }
        },
        "legacy": {
          "type": "object",
          "properties": {
            "max-depth": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule"
            },
            "max-len": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule"
            },
            "max-params": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule"
            },
            "max-statements": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule"
            },
            "no-bitwise": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule"
            },
            "no-plusplus": {
              "$ref": "#/definitions/vendored-eslintrc/definitions/rule"
            }
          }
        }
      },
      "properties": {
        "ecmaFeatures": {
          "description": "By default, ESLint supports only ECMAScript 5 syntax. You can override that setting to enable support for ECMAScript 6 as well as JSX by using configuration settings.",
          "type": "object",
          "properties": {
            "arrowFunctions": {
              "type": "boolean"
            },
            "binaryLiterals": {
              "type": "boolean"
            },
            "blockBindings": {
              "type": "boolean"
            },
            "classes": {
              "type": "boolean"
            },
            "defaultParams": {
              "type": "boolean"
            },
            "destructuring": {
              "type": "boolean"
            },
            "experimentalObjectRestSpread": {
              "type": "boolean",
              "description": "Enables support for the experimental object rest/spread properties (IMPORTANT: This is an experimental feature that may change significantly in the future. It's recommended that you do not write rules relying on this functionality unless you are willing to incur maintenance cost when it changes.)"
            },
            "forOf": {
              "type": "boolean"
            },
            "generators": {
              "type": "boolean"
            },
            "globalReturn": {
              "type": "boolean",
              "description": "allow return statements in the global scope"
            },
            "impliedStrict": {
              "type": "boolean",
              "description": "enable global strict mode (if ecmaVersion is 5 or greater)"
            },
            "jsx": {
              "type": "boolean",
              "description": "enable JSX"
            },
            "modules": {
              "type": "boolean"
            },
            "objectLiteralComputedProperties": {
              "type": "boolean"
            },
            "objectLiteralDuplicateProperties": {
              "type": "boolean"
            },
            "objectLiteralShorthandMethods": {
              "type": "boolean"
            },
            "objectLiteralShorthandProperties": {
              "type": "boolean"
            },
            "octalLiterals": {
              "type": "boolean"
            },
            "regexUFlag": {
              "type": "boolean"
            },
            "regexYFlag": {
              "type": "boolean"
            },
            "restParams": {
              "type": "boolean"
            },
            "spread": {
              "type": "boolean"
            },
            "superInFunctions": {
              "type": "boolean"
            },
            "templateStrings": {
              "type": "boolean"
            },
            "unicodeCodePointEscapes": {
              "type": "boolean"
            }
          }
        },
        "env": {
          "description": "An environment defines global variables that are predefined.",
          "type": "object",
          "properties": {
            "amd": {
              "type": "boolean",
              "description": "defines require() and define() as global variables as per the amd spec"
            },
            "applescript": {
              "type": "boolean",
              "description": "AppleScript global variables"
            },
            "atomtest": {
              "type": "boolean",
              "description": "Atom test helper globals"
            },
            "browser": {
              "type": "boolean",
              "description": "browser global variables"
            },
            "commonjs": {
              "type": "boolean",
              "description": "CommonJS global variables and CommonJS scoping (use this for browser-only code that uses Browserify/WebPack)"
            },
            "shared-node-browser": {
              "type": "boolean",
              "description": "Globals common to both Node and Browser"
            },
            "embertest": {
              "type": "boolean",
              "description": "Ember test helper globals"
            },
            "es6": {
              "type": "boolean",
              "description": "enable all ECMAScript 6 features except for modules"
            },
            "greasemonkey": {
              "type": "boolean",
              "description": "GreaseMonkey globals"
            },
            "jasmine": {
              "type": "boolean",
              "description": "adds all of the Jasmine testing global variables for version 1.3 and 2.0"
            },
            "jest": {
              "type": "boolean",
              "description": "Jest global variables"
            },
            "jquery": {
              "type": "boolean",
              "description": "jQuery global variables"
            },
            "meteor": {
              "type": "boolean",
              "description": "Meteor global variables"
            },
            "mocha": {
              "type": "boolean",
              "description": "adds all of the Mocha test global variables"
            },
            "mongo": {
              "type": "boolean",
              "description": "MongoDB global variables"
            },
            "nashorn": {
              "type": "boolean",
              "description": "Java 8 Nashorn global variables"
            },
            "node": {
              "type": "boolean",
              "description": "Node.js global variables and Node.js scoping"
            },
            "phantomjs": {
              "type": "boolean",
              "description": "PhantomJS global variables"
            },
            "prototypejs": {
              "type": "boolean",
              "description": "Prototype.js global variables"
            },
            "protractor": {
              "type": "boolean",
              "description": "Protractor global variables"
            },
            "qunit": {
              "type": "boolean",
              "description": "QUnit global variables"
            },
            "serviceworker": {
              "type": "boolean",
              "description": "Service Worker global variables"
            },
            "shelljs": {
              "type": "boolean",
              "description": "ShellJS global variables"
            },
            "webextensions": {
              "type": "boolean",
              "description": "WebExtensions globals"
            },
            "worker": {
              "type": "boolean",
              "description": "web workers global variables"
            }
          }
        },
        "extends": {
          "$ref": "#/definitions/vendored-eslintrc/definitions/stringOrStringArray",
          "description": "If you want to extend a specific configuration file, you can use the extends property and specify the path to the file. The path can be either relative or absolute."
        },
        "globals": {
          "description": "Set each global variable name equal to true to allow the variable to be overwritten or false to disallow overwriting.",
          "type": "object",
          "additionalProperties": {
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "readonly",
                  "writable",
                  "off"
                ]
              },
              {
                "description": "The values false|\"readable\" and true|\"writeable\" are deprecated, they are equivalent to \"readonly\" and \"writable\", respectively.",
                "type": "boolean"
              }
            ]
          }
        },
        "noInlineConfig": {
          "description": "Prevent comments from changing config or rules",
          "type": "boolean"
        },
        "reportUnusedDisableDirectives": {
          "description": "Report unused eslint-disable comments",
          "type": "boolean"
        },
        "parser": {
          "type": "string"
        },
        "parserOptions": {
          "description": "The JavaScript language options to be supported",
          "type": "object",
          "properties": {
            "ecmaFeatures": {
              "$ref": "#/definitions/vendored-eslintrc/properties/ecmaFeatures"
            },
            "ecmaVersion": {
              "enum": [
                3,
                5,
                6,
                2015,
                7,
                2016,
                8,
                2017,
                9,
                2018,
                10,
                2019,
                11,
                2020,
                12,
                2021,
                13,
                2022,
                14,
                2023,
                15,
                2024,
                "latest"
              ],
              "default": 5,
              "description": "Set to 3, 5 (default), 6, 7, 8, 9, 10, 11, 12, 13, 14, or 15 to specify the version of ECMAScript syntax you want to use. You can also set it to 2015 (same as 6), 2016 (same as 7), 2017 (same as 8), 2018 (same as 9), 2019 (same as 10), 2020 (same as 11), 2021 (same as 12), 2022 (same as 13), 2023 (same as 14), or 2024 (same as 15) to use the year-based naming. You can also set \"latest\" to use the most recently supported version."
            },
            "sourceType": {
              "enum": [
                "script",
                "module",
                "commonjs"
              ],
              "default": "script",
              "description": "set to \"script\" (default), \"commonjs\", or \"module\" if your code is in ECMAScript modules"
            }
          }
        },
        "plugins": {
          "description": "ESLint supports the use of third-party plugins. Before using the plugin, you have to install it using npm.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "root": {
          "description": "By default, ESLint will look for configuration files in all parent folders up to the root directory. This can be useful if you want all of your projects to follow a certain convention, but can sometimes lead to unexpected results. To limit ESLint to a specific project, set this to `true` in a configuration in the root of your project.",
          "type": "boolean"
        },
        "ignorePatterns": {
          "$ref": "#/definitions/vendored-eslintrc/definitions/stringOrStringArray",
          "description": "Tell ESLint to ignore specific files and directories. Each value uses the same pattern as the `.eslintignore` file."
        },
        "rules": {
          "description": "ESLint comes with a large number of rules. You can modify which rules your project uses either using configuration comments or configuration files.",
          "type": "object",
          "allOf": [
            {
              "$ref": "#/definitions/vendored-eslintrc/definitions/possibleErrors"
            },
            {
              "$ref": "#/definitions/vendored-eslintrc/definitions/bestPractices"
            },
            {
              "$ref": "#/definitions/vendored-eslintrc/definitions/strictMode"
            },
            {
              "$ref": "#/definitions/vendored-eslintrc/definitions/variables"
            },
            {
              "$ref": "#/definitions/vendored-eslintrc/definitions/nodeAndCommonJs"
            },
            {
              "$ref": "#/definitions/vendored-eslintrc/definitions/stylisticIssues"
            },
            {
              "$ref": "#/definitions/vendored-eslintrc/definitions/ecmaScript6"
            },
            {
              "$ref": "#/definitions/vendored-eslintrc/definitions/legacy"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins"
            }
          ]
        },
        "settings": {
          "description": "ESLint supports adding shared settings into configuration file. You can add settings object to ESLint configuration file and it will be supplied to every rule that will be executed. This may be useful if you are adding custom rules and want them to have access to the same information and be easily configurable.",
          "type": "object"
        },
        "overrides": {
          "type": "array",
          "description": "Allows to override configuration for files and folders, specified by glob patterns",
          "items": {
            "type": "object",
            "properties": {
              "files": {
                "description": "Glob pattern for files to apply 'overrides' configuration, relative to the directory of the config file",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "minItems": 1,
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                ]
              },
              "extends": {
                "$ref": "#/definitions/vendored-eslintrc/definitions/stringOrStringArray",
                "description": "If you want to extend a specific configuration file, you can use the extends property and specify the path to the file. The path can be either relative or absolute."
              },
              "excludedFiles": {
                "$ref": "#/definitions/vendored-eslintrc/definitions/stringOrStringArray",
                "description": "If a file matches any of the 'excludedFiles' glob patterns, the 'overrides' configuration won't apply"
              },
              "ecmaFeatures": {
                "$ref": "#/definitions/vendored-eslintrc/properties/ecmaFeatures"
              },
              "env": {
                "$ref": "#/definitions/vendored-eslintrc/properties/env"
              },
              "globals": {
                "$ref": "#/definitions/vendored-eslintrc/properties/globals"
              },
              "parser": {
                "$ref": "#/definitions/vendored-eslintrc/properties/parser"
              },
              "parserOptions": {
                "$ref": "#/definitions/vendored-eslintrc/properties/parserOptions"
              },
              "plugins": {
                "$ref": "#/definitions/vendored-eslintrc/properties/plugins"
              },
              "processor": {
                "description": "To specify a processor, specify the plugin name and processor name joined by a forward slash",
                "type": "string"
              },
              "rules": {
                "$ref": "#/definitions/vendored-eslintrc/properties/rules"
              },
              "settings": {
                "$ref": "#/definitions/vendored-eslintrc/properties/settings"
              },
              "overrides": {
                "$ref": "#/definitions/vendored-eslintrc/properties/overrides"
              }
            },
            "additionalProperties": false,
            "required": [
              "files"
            ]
          }
        }
      },
      "title": "JSON schema for ESLint configuration files",
      "type": "object"
    },
    "vendored-partial-eslint-plugins": {
      "$comment": "For improvements to this schema, please send a PR to https://github.com/fox-projects/jsonschema-extractor.",
      "type": "object",
      "definitions": {
        "ruleNumber": {
          "description": "ESLint rule\n\n0 - turns the rule off\n1 - turn the rule on as a warning (doesn't affect exit code)\n2 - turn the rule on as an error (exit code is 1 when triggered)\n",
          "type": "integer",
          "minimum": 0,
          "maximum": 2
        },
        "ruleString": {
          "description": "ESLint rule\n\n\"off\" - turns the rule off\n\"warn\" - turn the rule on as a warning (doesn't affect exit code)\n\"error\" - turn the rule on as an error (exit code is 1 when triggered)\n",
          "type": "string",
          "enum": [
            "off",
            "warn",
            "error"
          ]
        },
        "pluginNames": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "enum": [
                  "eslint-plugin-jest",
                  "eslint-plugin-n",
                  "eslint-plugin-jsx-a11y",
                  "eslint-plugin-react",
                  "eslint-plugin-unused-imports",
                  "eslint-plugin-react-hooks",
                  "eslint-plugin-import",
                  "eslint-plugin-security",
                  "eslint-plugin-unicorn",
                  "eslint-plugin-regexp",
                  "eslint-plugin-ft-flow",
                  "eslint-plugin-prettier",
                  "eslint-plugin-cypress",
                  "eslint-plugin-eslint-plugin",
                  "eslint-plugin-mocha",
                  "eslint-plugin-qunit",
                  "eslint-plugin-jasmine",
                  "eslint-plugin-ember",
                  "eslint-plugin-you-dont-need-lodash-underscore",
                  "@tanstack/eslint-plugin-query",
                  "eslint-plugin-react-perf",
                  "eslint-plugin-no-only-tests",
                  "eslint-plugin-jsdoc",
                  "eslint-plugin-yml",
                  "eslint-plugin-vue",
                  "eslint-plugin-jest-dom",
                  "eslint-plugin-simple-import-sort",
                  "eslint-plugin-ava",
                  "eslint-plugin-es-x",
                  "eslint-plugin-testing-library",
                  "eslint-plugin-i18next",
                  "eslint-plugin-markdown",
                  "eslint-plugin-local-rules",
                  "eslint-plugin-html",
                  "eslint-plugin-sonarjs",
                  "eslint-plugin-lodash",
                  "@next/eslint-plugin-next",
                  "eslint-plugin-perfectionist",
                  "eslint-plugin-canonical",
                  "eslint-plugin-jest-formatting",
                  "eslint-plugin-babel",
                  "eslint-plugin-tailwindcss",
                  "eslint-plugin-flowtype",
                  "eslint-plugin-lit-a11y",
                  "@rushstack/eslint-plugin-security",
                  "eslint-plugin-sort-exports",
                  "eslint-plugin-json",
                  "eslint-plugin-react-native",
                  "eslint-plugin-deprecation",
                  "eslint-plugin-vuejs-accessibility",
                  "eslint-plugin-chai-friendly",
                  "eslint-plugin-check-file",
                  "eslint-plugin-promise",
                  "eslint-plugin-sort-class-members",
                  "eslint-plugin-astro",
                  "eslint-plugin-playwright",
                  "eslint-plugin-typescript-sort-keys",
                  "eslint-plugin-react-refresh",
                  "eslint-plugin-jsonc",
                  "eslint-plugin-ban",
                  "eslint-plugin-tsdoc",
                  "eslint-plugin-vitest",
                  "eslint-plugin-nuxt",
                  "eslint-plugin-i",
                  "eslint-plugin-css-modules",
                  "eslint-plugin-no-secrets"
                ]
              },
              {
                "type": "string"
              }
            ]
          },
          "uniqueItems": true
        }
      },
      "properties": {
        "@angular-eslint/component-class-suffix": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "suffixes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              ]
            }
          ],
          "description": "Classes decorated with @Component must have suffix \"Component\" (or custom) in their name. See more at https://angular.dev/style-guide#style-02-03\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/component-class-suffix.md"
        },
        "@angular-eslint/component-max-inline-declarations": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "template": {
                      "minimum": 0,
                      "type": "number"
                    },
                    "styles": {
                      "minimum": 0,
                      "type": "number"
                    },
                    "animations": {
                      "minimum": 0,
                      "type": "number"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforces a maximum number of lines in inline template, styles and animations. See more at https://angular.dev/style-guide#style-05-04\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/component-max-inline-declarations.md"
        },
        "@angular-eslint/component-selector": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "type": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "element",
                              "attribute"
                            ]
                          }
                        }
                      ]
                    },
                    "prefix": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "array"
                        }
                      ]
                    },
                    "style": {
                      "type": "string",
                      "enum": [
                        "camelCase",
                        "kebab-case"
                      ]
                    }
                  }
                }
              ]
            }
          ],
          "description": "Component selectors should follow given naming rules. See more at https://angular.dev/style-guide#style-02-07, https://angular.dev/style-guide#style-05-02\n      and https://angular.dev/style-guide#style-05-03.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/component-selector.md"
        },
        "@angular-eslint/consistent-component-styles": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Ensures consistent usage of `styles`/`styleUrls`/`styleUrl` within Component metadata\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/consistent-component-styles.md"
        },
        "@angular-eslint/contextual-decorator": {
          "description": "Ensures that classes use contextual decorators in its body\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/contextual-decorator.md"
        },
        "@angular-eslint/contextual-lifecycle": {
          "description": "Ensures that lifecycle methods are used in a correct context\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/contextual-lifecycle.md"
        },
        "@angular-eslint/directive-class-suffix": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "suffixes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              ]
            }
          ],
          "description": "Classes decorated with @Directive must have suffix \"Directive\" (or custom) in their name. See more at https://angular.dev/style-guide#style-02-03\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/directive-class-suffix.md"
        },
        "@angular-eslint/directive-selector": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "type": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "element",
                              "attribute"
                            ]
                          }
                        }
                      ]
                    },
                    "prefix": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "array"
                        }
                      ]
                    },
                    "style": {
                      "type": "string",
                      "enum": [
                        "camelCase",
                        "kebab-case"
                      ]
                    }
                  }
                }
              ]
            }
          ],
          "description": "Directive selectors should follow given naming rules. See more at https://angular.dev/style-guide#style-02-06 and https://angular.dev/style-guide#style-02-08.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/directive-selector.md"
        },
        "@angular-eslint/no-async-lifecycle-method": {
          "description": "Angular Lifecycle methods should not be async. Angular does not wait for async lifecycle but the code incorrectly suggests it does.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-async-lifecycle-method.md"
        },
        "@angular-eslint/no-attribute-decorator": {
          "description": "The @Attribute decorator is used to obtain a single value for an attribute. This is a much less common use-case than getting a stream of values (using @Input), so often the @Attribute decorator is mistakenly used when @Input was what was intended. This rule disallows usage of @Attribute decorator altogether in order to prevent these mistakes.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-attribute-decorator.md"
        },
        "@angular-eslint/no-conflicting-lifecycle": {
          "description": "Ensures that directives not implement conflicting lifecycle interfaces.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-conflicting-lifecycle.md"
        },
        "@angular-eslint/no-duplicates-in-metadata-arrays": {
          "description": "Ensures that metadata arrays do not contain duplicate entries.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-duplicates-in-metadata-arrays.md"
        },
        "@angular-eslint/no-empty-lifecycle-method": {
          "description": "Disallows declaring empty lifecycle methods\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-empty-lifecycle-method.md"
        },
        "@angular-eslint/no-forward-ref": {
          "description": "Disallows usage of `forwardRef` references for DI\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-forward-ref.md"
        },
        "@angular-eslint/no-host-metadata-property": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowStatic": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallows usage of the `host` metadata property. NOTE: This used to be recommended by the Angular Team, but now they recommend the exact opposite: https://github.com/angular/angular/issues/54284\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-host-metadata-property.md"
        },
        "@angular-eslint/no-input-prefix": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "prefixes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              ]
            }
          ],
          "description": "Ensures that input bindings, including aliases, are not named or prefixed by the configured disallowed prefixes\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-input-prefix.md"
        },
        "@angular-eslint/no-input-rename": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowedNames": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "A list with allowed input names",
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Ensures that input bindings are not aliased\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-input-rename.md"
        },
        "@angular-eslint/no-inputs-metadata-property": {
          "description": "Disallows usage of the `inputs` metadata property. See more at https://angular.dev/style-guide#style-05-12\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-inputs-metadata-property.md"
        },
        "@angular-eslint/no-lifecycle-call": {
          "description": "Disallows explicit calls to lifecycle methods\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-lifecycle-call.md"
        },
        "@angular-eslint/no-output-native": {
          "description": "Ensures that output bindings, including aliases, are not named as standard DOM events\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-output-native.md"
        },
        "@angular-eslint/no-output-on-prefix": {
          "description": "Ensures that output bindings, including aliases, are not named \"on\", nor prefixed with it. See more at https://angular.dev/style-guide#style-05-16\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-output-on-prefix.md"
        },
        "@angular-eslint/no-output-rename": {
          "description": "Ensures that output bindings are not aliased\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-output-rename.md"
        },
        "@angular-eslint/no-outputs-metadata-property": {
          "description": "Disallows usage of the `outputs` metadata property. See more at https://angular.dev/style-guide#style-05-12\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-outputs-metadata-property.md"
        },
        "@angular-eslint/no-pipe-impure": {
          "description": "Disallows the declaration of impure pipes\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-pipe-impure.md"
        },
        "@angular-eslint/no-queries-metadata-property": {
          "description": "Disallows usage of the `queries` metadata property. See more at https://angular.dev/style-guide#style-05-12.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-queries-metadata-property.md"
        },
        "@angular-eslint/pipe-prefix": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "prefixes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce consistent prefix for pipes.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/pipe-prefix.md"
        },
        "@angular-eslint/prefer-on-push-component-change-detection": {
          "description": "Ensures component's `changeDetection` is set to `ChangeDetectionStrategy.OnPush`\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-on-push-component-change-detection.md"
        },
        "@angular-eslint/prefer-standalone": {
          "description": "Ensures component, directive and pipe `standalone` property is set to `true` in the component decorator\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-standalone.md"
        },
        "@angular-eslint/prefer-standalone-component": {
          "description": "Ensures component `standalone` property is set to `true` in the component decorator\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-standalone-component.md"
        },
        "@angular-eslint/prefer-output-readonly": {
          "description": "Prefer to declare `@Output` as `readonly` since they are not supposed to be reassigned\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-output-readonly.md"
        },
        "@angular-eslint/relative-url-prefix": {
          "description": "The ./ and ../ prefix is standard syntax for relative URLs; don't depend on Angular's current ability to do without that prefix. See more at https://angular.dev/style-guide#style-05-04\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/relative-url-prefix.md"
        },
        "@angular-eslint/require-localize-metadata": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "requireDescription": {
                      "type": "boolean",
                      "default": false
                    },
                    "requireMeaning": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Ensures that $localize tagged messages contain helpful metadata to aid with translations.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/require-localize-metadata.md"
        },
        "@angular-eslint/sort-lifecycle-methods": {
          "description": "Ensures that lifecycle methods are declared in order of execution\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/sort-lifecycle-methods.md"
        },
        "@angular-eslint/sort-ngmodule-metadata-arrays": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "locale": {
                      "type": "string",
                      "description": "A string with a BCP 47 language tag.",
                      "default": "en-US"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Ensures ASC alphabetical order for `NgModule` metadata arrays for easy visual scanning\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/sort-ngmodule-metadata-arrays.md"
        },
        "@angular-eslint/use-component-selector": {
          "description": "Component selector must be declared\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-component-selector.md"
        },
        "@angular-eslint/use-component-view-encapsulation": {
          "description": "Disallows using `ViewEncapsulation.None`\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-component-view-encapsulation.md"
        },
        "@angular-eslint/use-injectable-provided-in": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoreClassNamePattern": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Using the `providedIn` property makes `Injectables` tree-shakable\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-injectable-provided-in.md"
        },
        "@angular-eslint/use-lifecycle-interface": {
          "description": "Ensures that classes implement lifecycle interfaces corresponding to the declared lifecycle methods. See more at https://angular.dev/style-guide#style-09-01\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-lifecycle-interface.md"
        },
        "@angular-eslint/use-pipe-transform-interface": {
          "description": "Ensures that `Pipes` implement `PipeTransform` interface\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-pipe-transform-interface.md"
        },
        "eslint-plugin-import/no-unresolved": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "commonjs": {
                      "type": "boolean"
                    },
                    "amd": {
                      "type": "boolean"
                    },
                    "esmodule": {
                      "type": "boolean"
                    },
                    "ignore": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "caseSensitive": {
                      "type": "boolean",
                      "default": true
                    },
                    "caseSensitiveStrict": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Ensure imports point to a file/module that can be resolved.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-unresolved.md"
        },
        "eslint-plugin-import/named": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "commonjs": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Ensure named imports correspond to a named export in the remote file.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/named.md"
        },
        "eslint-plugin-import/default": {
          "description": "Ensure a default export is present, given a default import.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/default.md"
        },
        "eslint-plugin-import/namespace": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowComputed": {
                      "description": "If `false`, will report computed (and thus, un-lintable) references to namespace members.",
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Ensure imported namespaces contain dereferenced properties as they are dereferenced.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/namespace.md"
        },
        "eslint-plugin-import/no-namespace": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignore": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Forbid namespace (a.k.a. \"wildcard\" `*`) imports.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-namespace.md"
        },
        "eslint-plugin-import/export": {
          "description": "Forbid any invalid exports, i.e. re-export of the same name.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/export.md"
        },
        "eslint-plugin-import/no-mutable-exports": {
          "description": "Forbid the use of mutable exports with `var` or `let`.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-mutable-exports.md"
        },
        "eslint-plugin-import/extensions": {
          "description": "Ensure consistent use of file extension within the import path.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/extensions.md"
        },
        "eslint-plugin-import/no-restricted-paths": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "zones": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "type": "object",
                        "properties": {
                          "target": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "uniqueItems": true,
                                "minItems": 1
                              }
                            ]
                          },
                          "from": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "uniqueItems": true,
                                "minItems": 1
                              }
                            ]
                          },
                          "except": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "uniqueItems": true
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "basePath": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce which files can be imported in a given folder.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-restricted-paths.md"
        },
        "eslint-plugin-import/no-internal-modules": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Forbid importing the submodules of other modules.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-internal-modules.md"
        },
        "eslint-plugin-import/group-exports": {
          "description": "Prefer named exports to be grouped together in a single export declaration\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/group-exports.md"
        },
        "eslint-plugin-import/no-relative-packages": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "commonjs": {
                      "type": "boolean"
                    },
                    "amd": {
                      "type": "boolean"
                    },
                    "esmodule": {
                      "type": "boolean"
                    },
                    "ignore": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Forbid importing packages through relative paths.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-relative-packages.md"
        },
        "eslint-plugin-import/no-relative-parent-imports": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "commonjs": {
                      "type": "boolean"
                    },
                    "amd": {
                      "type": "boolean"
                    },
                    "esmodule": {
                      "type": "boolean"
                    },
                    "ignore": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Forbid importing modules from parent directories.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-relative-parent-imports.md"
        },
        "eslint-plugin-import/consistent-type-specifier-style": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce or ban the use of inline type-only markers for named imports.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/consistent-type-specifier-style.md"
        },
        "eslint-plugin-import/no-self-import": {
          "description": "Forbid a module from importing itself.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-self-import.md"
        },
        "eslint-plugin-import/no-cycle": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "commonjs": {
                      "type": "boolean"
                    },
                    "amd": {
                      "type": "boolean"
                    },
                    "esmodule": {
                      "type": "boolean"
                    },
                    "ignore": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "maxDepth": {
                      "anyOf": [
                        {
                          "description": "maximum dependency depth to traverse",
                          "type": "integer",
                          "minimum": 1
                        },
                        {
                          "enum": [
                            "∞"
                          ],
                          "type": "string"
                        }
                      ]
                    },
                    "ignoreExternal": {
                      "description": "ignore external modules",
                      "type": "boolean",
                      "default": false
                    },
                    "allowUnsafeDynamicCyclicDependency": {
                      "description": "Allow cyclic dependency if there is at least one dynamic import in the chain",
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Forbid a module from importing a module with a dependency path back to itself.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-cycle.md"
        },
        "eslint-plugin-import/no-named-default": {
          "description": "Forbid named default exports.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-named-default.md"
        },
        "eslint-plugin-import/no-named-as-default": {
          "description": "Forbid use of exported name as identifier of default export.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-named-as-default.md"
        },
        "eslint-plugin-import/no-named-as-default-member": {
          "description": "Forbid use of exported name as property of default export.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-named-as-default-member.md"
        },
        "eslint-plugin-import/no-anonymous-default-export": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowArray": {
                      "description": "If `false`, will report default export of an array",
                      "type": "boolean"
                    },
                    "allowArrowFunction": {
                      "description": "If `false`, will report default export of an arrow function",
                      "type": "boolean"
                    },
                    "allowCallExpression": {
                      "description": "If `false`, will report default export of a function call",
                      "type": "boolean"
                    },
                    "allowAnonymousClass": {
                      "description": "If `false`, will report default export of an anonymous class",
                      "type": "boolean"
                    },
                    "allowAnonymousFunction": {
                      "description": "If `false`, will report default export of an anonymous function",
                      "type": "boolean"
                    },
                    "allowLiteral": {
                      "description": "If `false`, will report default export of a literal",
                      "type": "boolean"
                    },
                    "allowObject": {
                      "description": "If `false`, will report default export of an object expression",
                      "type": "boolean"
                    },
                    "allowNew": {
                      "description": "If `false`, will report default export of a class instantiation",
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Forbid anonymous values as default exports.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-anonymous-default-export.md"
        },
        "eslint-plugin-import/no-unused-modules": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "src": {
                      "description": "files/paths to be analyzed (only for unused exports)",
                      "type": "array",
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "ignoreExports": {
                      "description": "files/paths for which unused exports will not be reported (e.g module entry points)",
                      "type": "array",
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "missingExports": {
                      "description": "report modules without any exports",
                      "type": "boolean"
                    },
                    "unusedExports": {
                      "description": "report exports without any usage",
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Forbid modules without exports, or exports without matching import in another module.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-unused-modules.md"
        },
        "eslint-plugin-import/no-commonjs": {
          "description": "Forbid CommonJS `require` calls and `module.exports` or `exports.*`.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-commonjs.md"
        },
        "eslint-plugin-import/no-amd": {
          "description": "Forbid AMD `require` and `define` calls.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-amd.md"
        },
        "eslint-plugin-import/no-duplicates": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "considerQueryString": {
                      "type": "boolean"
                    },
                    "prefer-inline": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Forbid repeated import of the same module in multiple places.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-duplicates.md"
        },
        "eslint-plugin-import/first": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Ensure all imports appear before other statements.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/first.md"
        },
        "eslint-plugin-import/max-dependencies": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "max": {
                      "type": "number"
                    },
                    "ignoreTypeImports": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce the maximum number of dependencies a module can have.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/max-dependencies.md"
        },
        "eslint-plugin-import/no-extraneous-dependencies": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "devDependencies": {
                      "oneOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {}
                        }
                      ]
                    },
                    "optionalDependencies": {
                      "oneOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {}
                        }
                      ]
                    },
                    "peerDependencies": {
                      "oneOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {}
                        }
                      ]
                    },
                    "bundledDependencies": {
                      "oneOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {}
                        }
                      ]
                    },
                    "packageDir": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {}
                        }
                      ]
                    },
                    "includeInternal": {
                      "oneOf": [
                        {
                          "type": "boolean"
                        }
                      ]
                    },
                    "includeTypes": {
                      "oneOf": [
                        {
                          "type": "boolean"
                        }
                      ]
                    }
                  }
                }
              ]
            }
          ],
          "description": "Forbid the use of extraneous packages.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-extraneous-dependencies.md"
        },
        "eslint-plugin-import/no-absolute-path": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "commonjs": {
                      "type": "boolean"
                    },
                    "amd": {
                      "type": "boolean"
                    },
                    "esmodule": {
                      "type": "boolean"
                    },
                    "ignore": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Forbid import of modules using absolute paths.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-absolute-path.md"
        },
        "eslint-plugin-import/no-nodejs-modules": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allow": {
                      "type": "array",
                      "uniqueItems": true,
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              ]
            }
          ],
          "description": "Forbid Node.js builtin modules.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-nodejs-modules.md"
        },
        "eslint-plugin-import/no-webpack-loader-syntax": {
          "description": "Forbid webpack loader syntax in imports.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-webpack-loader-syntax.md"
        },
        "eslint-plugin-import/order": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "groups": {
                      "type": "array"
                    },
                    "pathGroupsExcludedImportTypes": {
                      "type": "array"
                    },
                    "distinctGroup": {
                      "type": "boolean",
                      "default": true
                    },
                    "pathGroups": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "pattern": {
                            "type": "string"
                          },
                          "patternOptions": {
                            "type": "object"
                          },
                          "group": {
                            "type": "string",
                            "enum": [
                              "builtin",
                              "external",
                              "internal",
                              "unknown",
                              "parent",
                              "sibling",
                              "index",
                              "object",
                              "type"
                            ]
                          },
                          "position": {
                            "type": "string",
                            "enum": [
                              "after",
                              "before"
                            ]
                          }
                        },
                        "additionalProperties": false,
                        "required": [
                          "pattern",
                          "group"
                        ]
                      }
                    },
                    "newlines-between": {
                      "enum": [
                        "ignore",
                        "always",
                        "always-and-inside-groups",
                        "never"
                      ]
                    },
                    "alphabetize": {
                      "type": "object",
                      "properties": {
                        "caseInsensitive": {
                          "type": "boolean",
                          "default": false
                        },
                        "order": {
                          "enum": [
                            "ignore",
                            "asc",
                            "desc"
                          ],
                          "default": "ignore"
                        },
                        "orderImportKind": {
                          "enum": [
                            "ignore",
                            "asc",
                            "desc"
                          ],
                          "default": "ignore"
                        }
                      },
                      "additionalProperties": false
                    },
                    "warnOnUnassignedImports": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce a convention in module import order.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/order.md"
        },
        "eslint-plugin-import/newline-after-import": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "count": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "exactCount": {
                      "type": "boolean"
                    },
                    "considerComments": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce a newline after import statements.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/newline-after-import.md"
        },
        "eslint-plugin-import/prefer-default-export": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "target": {
                      "type": "string",
                      "enum": [
                        "single",
                        "any"
                      ],
                      "default": "single"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Prefer a default export if module exports a single name or multiple names.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/prefer-default-export.md"
        },
        "eslint-plugin-import/no-default-export": {
          "description": "Forbid default exports.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-default-export.md"
        },
        "eslint-plugin-import/no-named-export": {
          "description": "Forbid named exports.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-named-export.md"
        },
        "eslint-plugin-import/no-dynamic-require": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "esmodule": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Forbid `require()` calls with expressions.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-dynamic-require.md"
        },
        "eslint-plugin-import/unambiguous": {
          "description": "Forbid potentially ambiguous parse goal (`script` vs. `module`).\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/unambiguous.md"
        },
        "eslint-plugin-import/no-unassigned-import": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "devDependencies": {
                      "oneOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {}
                        }
                      ]
                    },
                    "optionalDependencies": {
                      "oneOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {}
                        }
                      ]
                    },
                    "peerDependencies": {
                      "oneOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {}
                        }
                      ]
                    },
                    "allow": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              ]
            }
          ],
          "description": "Forbid unassigned imports\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-unassigned-import.md"
        },
        "eslint-plugin-import/no-useless-path-segments": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "commonjs": {
                      "type": "boolean"
                    },
                    "noUselessIndex": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Forbid unnecessary path segments in import and require statements.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-useless-path-segments.md"
        },
        "eslint-plugin-import/dynamic-import-chunkname": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "importFunctions": {
                      "type": "array",
                      "uniqueItems": true,
                      "items": {
                        "type": "string"
                      }
                    },
                    "webpackChunknameFormat": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce a leading comment with the webpackChunkName for dynamic imports.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/dynamic-import-chunkname.md"
        },
        "eslint-plugin-import/no-import-module-exports": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "exceptions": {
                      "type": "array"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Forbid import statements with CommonJS module.exports.\n"
        },
        "eslint-plugin-import/no-empty-named-blocks": {
          "description": "Forbid empty named import blocks.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-empty-named-blocks.md"
        },
        "eslint-plugin-import/exports-last": {
          "description": "Ensure all exports appear after other statements.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/exports-last.md"
        },
        "eslint-plugin-import/no-deprecated": {
          "description": "Forbid imported names marked with `@deprecated` documentation tag.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-deprecated.md"
        },
        "eslint-plugin-import/imports-first": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Replaced by `import/first`.\nhttps://github.com/import-js/eslint-plugin-import/blob/7b25c1cb95ee18acc1531002fd343e1e6031f9ed/docs/rules/imports-first.md"
        },
        "eslint-plugin-unicorn/better-regex": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "sortCharacterClasses": {
                      "type": "boolean",
                      "default": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Improve regexes by making them shorter, consistent, and safer.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/better-regex.md"
        },
        "eslint-plugin-unicorn/catch-error-name": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "ignore": {
                      "type": "array",
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce a specific parameter name in catch clauses.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/catch-error-name.md"
        },
        "eslint-plugin-unicorn/consistent-destructuring": {
          "description": "Use destructured variables over properties.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/consistent-destructuring.md"
        },
        "eslint-plugin-unicorn/consistent-empty-array-spread": {
          "description": "Prefer consistent types when spreading a ternary in an array literal.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/consistent-empty-array-spread.md"
        },
        "eslint-plugin-unicorn/consistent-function-scoping": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "checkArrowFunctions": {
                      "type": "boolean",
                      "default": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Move function definitions to the highest possible scope.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/consistent-function-scoping.md"
        },
        "eslint-plugin-unicorn/custom-error-definition": {
          "description": "Enforce correct `Error` subclassing.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/custom-error-definition.md"
        },
        "eslint-plugin-unicorn/empty-brace-spaces": {
          "description": "Enforce no spaces between braces.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/empty-brace-spaces.md"
        },
        "eslint-plugin-unicorn/error-message": {
          "description": "Enforce passing a `message` value when creating a built-in error.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/error-message.md"
        },
        "eslint-plugin-unicorn/escape-case": {
          "description": "Require escape sequences to use uppercase values.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/escape-case.md"
        },
        "eslint-plugin-unicorn/expiring-todo-comments": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "terms": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "ignore": {
                      "type": "array",
                      "uniqueItems": true
                    },
                    "ignoreDatesOnPullRequests": {
                      "type": "boolean",
                      "default": true
                    },
                    "allowWarningComments": {
                      "type": "boolean",
                      "default": false
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Add expiration conditions to TODO comments.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/expiring-todo-comments.md"
        },
        "eslint-plugin-unicorn/explicit-length-check": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "non-zero": {
                      "enum": [
                        "greater-than",
                        "not-equal"
                      ],
                      "default": "greater-than"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce explicitly comparing the `length` or `size` property of a value.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/explicit-length-check.md"
        },
        "eslint-plugin-unicorn/filename-case": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce a case style for filenames.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/filename-case.md"
        },
        "eslint-plugin-unicorn/import-style": {
          "description": "Enforce specific import styles per module.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/import-style.md"
        },
        "eslint-plugin-unicorn/new-for-builtins": {
          "description": "Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/new-for-builtins.md"
        },
        "eslint-plugin-unicorn/no-abusive-eslint-disable": {
          "description": "Enforce specifying rules to disable in `eslint-disable` comments.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-abusive-eslint-disable.md"
        },
        "eslint-plugin-unicorn/no-anonymous-default-export": {
          "description": "Disallow anonymous functions and classes as the default export.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-anonymous-default-export.md"
        },
        "eslint-plugin-unicorn/no-array-callback-reference": {
          "description": "Prevent passing a function reference directly to iterator methods.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-callback-reference.md"
        },
        "eslint-plugin-unicorn/no-array-for-each": {
          "description": "Prefer `for…of` over the `forEach` method.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-for-each.md"
        },
        "eslint-plugin-unicorn/no-array-method-this-argument": {
          "description": "Disallow using the `this` argument in array methods.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-method-this-argument.md"
        },
        "eslint-plugin-unicorn/no-array-push-push": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignore": {
                      "type": "array",
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce combining multiple `Array#push()` into one call.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-push-push.md"
        },
        "eslint-plugin-unicorn/no-array-reduce": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowSimpleOperations": {
                      "type": "boolean",
                      "default": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow `Array#reduce()` and `Array#reduceRight()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-reduce.md"
        },
        "eslint-plugin-unicorn/no-await-expression-member": {
          "description": "Disallow member access from await expression.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-await-expression-member.md"
        },
        "eslint-plugin-unicorn/no-await-in-promise-methods": {
          "description": "Disallow using `await` in `Promise` method parameters.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-await-in-promise-methods.md"
        },
        "eslint-plugin-unicorn/no-console-spaces": {
          "description": "Do not use leading/trailing space between `console.log` parameters.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-console-spaces.md"
        },
        "eslint-plugin-unicorn/no-document-cookie": {
          "description": "Do not use `document.cookie` directly.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-document-cookie.md"
        },
        "eslint-plugin-unicorn/no-empty-file": {
          "description": "Disallow empty files.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-empty-file.md"
        },
        "eslint-plugin-unicorn/no-for-loop": {
          "description": "Do not use a `for` loop that can be replaced with a `for-of` loop.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-for-loop.md"
        },
        "eslint-plugin-unicorn/no-hex-escape": {
          "description": "Enforce the use of Unicode escapes instead of hexadecimal escapes.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-hex-escape.md"
        },
        "eslint-plugin-unicorn/no-instanceof-array": {
          "description": "Require `Array.isArray()` instead of `instanceof Array`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-instanceof-array.md"
        },
        "eslint-plugin-unicorn/no-invalid-fetch-options": {
          "description": "Disallow invalid options in `fetch()` and `new Request()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-invalid-fetch-options.md"
        },
        "eslint-plugin-unicorn/no-invalid-remove-event-listener": {
          "description": "Prevent calling `EventTarget#removeEventListener()` with the result of an expression.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-invalid-remove-event-listener.md"
        },
        "eslint-plugin-unicorn/no-keyword-prefix": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "disallowedPrefixes": {
                      "type": "array",
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "minItems": 1,
                      "uniqueItems": true,
                      "maxItems": 1
                    },
                    "checkProperties": {
                      "type": "boolean"
                    },
                    "onlyCamelCase": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow identifiers starting with `new` or `class`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-keyword-prefix.md"
        },
        "eslint-plugin-unicorn/no-lonely-if": {
          "description": "Disallow `if` statements as the only statement in `if` blocks without `else`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-lonely-if.md"
        },
        "eslint-plugin-unicorn/no-magic-array-flat-depth": {
          "description": "Disallow a magic number as the `depth` argument in `Array#flat(…).`\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-magic-array-flat-depth.md"
        },
        "eslint-plugin-unicorn/no-negated-condition": {
          "description": "Disallow negated conditions.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-negated-condition.md"
        },
        "eslint-plugin-unicorn/no-negation-in-equality-check": {
          "description": "Disallow negated expression in equality check.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-negation-in-equality-check.md"
        },
        "eslint-plugin-unicorn/no-nested-ternary": {
          "description": "Disallow nested ternary expressions.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-nested-ternary.md"
        },
        "eslint-plugin-unicorn/no-new-array": {
          "description": "Disallow `new Array()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-new-array.md"
        },
        "eslint-plugin-unicorn/no-new-buffer": {
          "description": "Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-new-buffer.md"
        },
        "eslint-plugin-unicorn/no-null": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "checkStrictEquality": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow the use of the `null` literal.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-null.md"
        },
        "eslint-plugin-unicorn/no-object-as-default-parameter": {
          "description": "Disallow the use of objects as default parameters.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-object-as-default-parameter.md"
        },
        "eslint-plugin-unicorn/no-process-exit": {
          "description": "Disallow `process.exit()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-process-exit.md"
        },
        "eslint-plugin-unicorn/no-single-promise-in-promise-methods": {
          "description": "Disallow passing single-element arrays to `Promise` methods.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-single-promise-in-promise-methods.md"
        },
        "eslint-plugin-unicorn/no-static-only-class": {
          "description": "Disallow classes that only have static members.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-static-only-class.md"
        },
        "eslint-plugin-unicorn/no-thenable": {
          "description": "Disallow `then` property.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-thenable.md"
        },
        "eslint-plugin-unicorn/no-this-assignment": {
          "description": "Disallow assigning `this` to a variable.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-this-assignment.md"
        },
        "eslint-plugin-unicorn/no-typeof-undefined": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "checkGlobalVariables": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow comparing `undefined` using `typeof`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-typeof-undefined.md"
        },
        "eslint-plugin-unicorn/no-unnecessary-await": {
          "description": "Disallow awaiting non-promise values.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unnecessary-await.md"
        },
        "eslint-plugin-unicorn/no-unnecessary-polyfills": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "targets": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "array"
                        },
                        {
                          "type": "object"
                        }
                      ]
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce the use of built-in methods instead of unnecessary polyfills.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unnecessary-polyfills.md"
        },
        "eslint-plugin-unicorn/no-unreadable-array-destructuring": {
          "description": "Disallow unreadable array destructuring.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unreadable-array-destructuring.md"
        },
        "eslint-plugin-unicorn/no-unreadable-iife": {
          "description": "Disallow unreadable IIFEs.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unreadable-iife.md"
        },
        "eslint-plugin-unicorn/no-unused-properties": {
          "description": "Disallow unused object properties.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unused-properties.md"
        },
        "eslint-plugin-unicorn/no-useless-fallback-in-spread": {
          "description": "Disallow useless fallback when spreading in object literals.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-fallback-in-spread.md"
        },
        "eslint-plugin-unicorn/no-useless-length-check": {
          "description": "Disallow useless array length check.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-length-check.md"
        },
        "eslint-plugin-unicorn/no-useless-promise-resolve-reject": {
          "description": "Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-promise-resolve-reject.md"
        },
        "eslint-plugin-unicorn/no-useless-spread": {
          "description": "Disallow unnecessary spread.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-spread.md"
        },
        "eslint-plugin-unicorn/no-useless-switch-case": {
          "description": "Disallow useless case in switch statements.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-switch-case.md"
        },
        "eslint-plugin-unicorn/no-useless-undefined": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "checkArguments": {
                      "type": "boolean"
                    },
                    "checkArrowFunctionBody": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow useless `undefined`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-undefined.md"
        },
        "eslint-plugin-unicorn/no-zero-fractions": {
          "description": "Disallow number literals with zero fractions or dangling dots.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-zero-fractions.md"
        },
        "eslint-plugin-unicorn/number-literal-case": {
          "description": "Enforce proper case for numeric literals.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/number-literal-case.md"
        },
        "eslint-plugin-unicorn/numeric-separators-style": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "binary": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "onlyIfContainsSeparator": {
                          "type": "boolean"
                        },
                        "minimumDigits": {
                          "type": "integer",
                          "minimum": 0,
                          "default": 0
                        },
                        "groupLength": {
                          "type": "integer",
                          "minimum": 1,
                          "default": 4
                        }
                      }
                    },
                    "octal": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "onlyIfContainsSeparator": {
                          "type": "boolean"
                        },
                        "minimumDigits": {
                          "type": "integer",
                          "minimum": 0,
                          "default": 0
                        },
                        "groupLength": {
                          "type": "integer",
                          "minimum": 1,
                          "default": 4
                        }
                      }
                    },
                    "hexadecimal": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "onlyIfContainsSeparator": {
                          "type": "boolean"
                        },
                        "minimumDigits": {
                          "type": "integer",
                          "minimum": 0,
                          "default": 0
                        },
                        "groupLength": {
                          "type": "integer",
                          "minimum": 1,
                          "default": 2
                        }
                      }
                    },
                    "number": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "onlyIfContainsSeparator": {
                          "type": "boolean"
                        },
                        "minimumDigits": {
                          "type": "integer",
                          "minimum": 0,
                          "default": 5
                        },
                        "groupLength": {
                          "type": "integer",
                          "minimum": 1,
                          "default": 3
                        }
                      }
                    },
                    "onlyIfContainsSeparator": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce the style of numeric separators by correctly grouping digits.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/numeric-separators-style.md"
        },
        "eslint-plugin-unicorn/prefer-add-event-listener": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "excludedPackages": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-add-event-listener.md"
        },
        "eslint-plugin-unicorn/prefer-array-find": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "checkFromLast": {
                      "type": "boolean",
                      "default": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-find.md"
        },
        "eslint-plugin-unicorn/prefer-array-flat-map": {
          "description": "Prefer `.flatMap(…)` over `.map(…).flat()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-flat-map.md"
        },
        "eslint-plugin-unicorn/prefer-array-flat": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "functions": {
                      "type": "array",
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Prefer `Array#flat()` over legacy techniques to flatten arrays.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-flat.md"
        },
        "eslint-plugin-unicorn/prefer-array-index-of": {
          "description": "Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-index-of.md"
        },
        "eslint-plugin-unicorn/prefer-array-some": {
          "description": "Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-some.md"
        },
        "eslint-plugin-unicorn/prefer-at": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "getLastElementFunctions": {
                      "type": "array",
                      "uniqueItems": true
                    },
                    "checkAllIndexAccess": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Prefer `.at()` method for index access and `String#charAt()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-at.md"
        },
        "eslint-plugin-unicorn/prefer-blob-reading-methods": {
          "description": "Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-blob-reading-methods.md"
        },
        "eslint-plugin-unicorn/prefer-code-point": {
          "description": "Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-code-point.md"
        },
        "eslint-plugin-unicorn/prefer-date-now": {
          "description": "Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-date-now.md"
        },
        "eslint-plugin-unicorn/prefer-default-parameters": {
          "description": "Prefer default parameters over reassignment.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-default-parameters.md"
        },
        "eslint-plugin-unicorn/prefer-dom-node-append": {
          "description": "Prefer `Node#append()` over `Node#appendChild()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-append.md"
        },
        "eslint-plugin-unicorn/prefer-dom-node-dataset": {
          "description": "Prefer using `.dataset` on DOM elements over calling attribute methods.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-dataset.md"
        },
        "eslint-plugin-unicorn/prefer-dom-node-remove": {
          "description": "Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-remove.md"
        },
        "eslint-plugin-unicorn/prefer-dom-node-text-content": {
          "description": "Prefer `.textContent` over `.innerText`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-text-content.md"
        },
        "eslint-plugin-unicorn/prefer-event-target": {
          "description": "Prefer `EventTarget` over `EventEmitter`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-event-target.md"
        },
        "eslint-plugin-unicorn/prefer-export-from": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoreUsedVariables": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Prefer `export…from` when re-exporting.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-export-from.md"
        },
        "eslint-plugin-unicorn/prefer-includes": {
          "description": "Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-includes.md"
        },
        "eslint-plugin-unicorn/prefer-json-parse-buffer": {
          "description": "Prefer reading a JSON file as a buffer.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-json-parse-buffer.md"
        },
        "eslint-plugin-unicorn/prefer-keyboard-event-key": {
          "description": "Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-keyboard-event-key.md"
        },
        "eslint-plugin-unicorn/prefer-logical-operator-over-ternary": {
          "description": "Prefer using a logical operator over a ternary.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-logical-operator-over-ternary.md"
        },
        "eslint-plugin-unicorn/prefer-math-trunc": {
          "description": "Enforce the use of `Math.trunc` instead of bitwise operators.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-math-trunc.md"
        },
        "eslint-plugin-unicorn/prefer-modern-dom-apis": {
          "description": "Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-modern-dom-apis.md"
        },
        "eslint-plugin-unicorn/prefer-modern-math-apis": {
          "description": "Prefer modern `Math` APIs over legacy patterns.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-modern-math-apis.md"
        },
        "eslint-plugin-unicorn/prefer-module": {
          "description": "Prefer JavaScript modules (ESM) over CommonJS.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-module.md"
        },
        "eslint-plugin-unicorn/prefer-native-coercion-functions": {
          "description": "Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-native-coercion-functions.md"
        },
        "eslint-plugin-unicorn/prefer-negative-index": {
          "description": "Prefer negative index over `.length - index` when possible.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-negative-index.md"
        },
        "eslint-plugin-unicorn/prefer-node-protocol": {
          "description": "Prefer using the `node:` protocol when importing Node.js builtin modules.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-node-protocol.md"
        },
        "eslint-plugin-unicorn/prefer-number-properties": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "checkInfinity": {
                      "type": "boolean",
                      "default": false
                    },
                    "checkNaN": {
                      "type": "boolean",
                      "default": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Prefer `Number` static properties over global ones.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-number-properties.md"
        },
        "eslint-plugin-unicorn/prefer-object-from-entries": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "functions": {
                      "type": "array",
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-object-from-entries.md"
        },
        "eslint-plugin-unicorn/prefer-optional-catch-binding": {
          "description": "Prefer omitting the `catch` binding parameter.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-optional-catch-binding.md"
        },
        "eslint-plugin-unicorn/prefer-prototype-methods": {
          "description": "Prefer borrowing methods from the prototype instead of the instance.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-prototype-methods.md"
        },
        "eslint-plugin-unicorn/prefer-query-selector": {
          "description": "Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-query-selector.md"
        },
        "eslint-plugin-unicorn/prefer-reflect-apply": {
          "description": "Prefer `Reflect.apply()` over `Function#apply()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-reflect-apply.md"
        },
        "eslint-plugin-unicorn/prefer-regexp-test": {
          "description": "Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-regexp-test.md"
        },
        "eslint-plugin-unicorn/prefer-set-has": {
          "description": "Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-set-has.md"
        },
        "eslint-plugin-unicorn/prefer-set-size": {
          "description": "Prefer using `Set#size` instead of `Array#length`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-set-size.md"
        },
        "eslint-plugin-unicorn/prefer-spread": {
          "description": "Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-spread.md"
        },
        "eslint-plugin-unicorn/prefer-string-raw": {
          "description": "Prefer using the `String.raw` tag to avoid escaping `\\`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-raw.md"
        },
        "eslint-plugin-unicorn/prefer-string-replace-all": {
          "description": "Prefer `String#replaceAll()` over regex searches with the global flag.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-replace-all.md"
        },
        "eslint-plugin-unicorn/prefer-string-slice": {
          "description": "Prefer `String#slice()` over `String#substr()` and `String#substring()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-slice.md"
        },
        "eslint-plugin-unicorn/prefer-string-starts-ends-with": {
          "description": "Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-starts-ends-with.md"
        },
        "eslint-plugin-unicorn/prefer-string-trim-start-end": {
          "description": "Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-trim-start-end.md"
        },
        "eslint-plugin-unicorn/prefer-structured-clone": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "functions": {
                      "type": "array",
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Prefer using `structuredClone` to create a deep clone.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-structured-clone.md"
        },
        "eslint-plugin-unicorn/prefer-switch": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "minimumCases": {
                      "type": "integer",
                      "minimum": 2,
                      "default": 3
                    },
                    "emptyDefaultCase": {
                      "enum": [
                        "no-default-comment",
                        "do-nothing-comment",
                        "no-default-case"
                      ],
                      "default": "no-default-comment"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Prefer `switch` over multiple `else-if`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-switch.md"
        },
        "eslint-plugin-unicorn/prefer-ternary": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Prefer ternary expressions over simple `if-else` statements.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-ternary.md"
        },
        "eslint-plugin-unicorn/prefer-top-level-await": {
          "description": "Prefer top-level await over top-level promises and async function calls.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-top-level-await.md"
        },
        "eslint-plugin-unicorn/prefer-type-error": {
          "description": "Enforce throwing `TypeError` in type checking conditions.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-type-error.md"
        },
        "eslint-plugin-unicorn/prevent-abbreviations": {
          "description": "Prevent abbreviations.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prevent-abbreviations.md"
        },
        "eslint-plugin-unicorn/relative-url-style": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent relative URL style.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/relative-url-style.md"
        },
        "eslint-plugin-unicorn/require-array-join-separator": {
          "description": "Enforce using the separator argument with `Array#join()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/require-array-join-separator.md"
        },
        "eslint-plugin-unicorn/require-number-to-fixed-digits-argument": {
          "description": "Enforce using the digits argument with `Number#toFixed()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/require-number-to-fixed-digits-argument.md"
        },
        "eslint-plugin-unicorn/require-post-message-target-origin": {
          "description": "Enforce using the `targetOrigin` argument with `window.postMessage()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/require-post-message-target-origin.md"
        },
        "eslint-plugin-unicorn/string-content": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "patterns": {
                      "type": "object",
                      "additionalProperties": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "object",
                            "required": [
                              "suggest"
                            ],
                            "properties": {
                              "suggest": {
                                "type": "string"
                              },
                              "fix": {
                                "type": "boolean"
                              },
                              "message": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      }
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce better string content.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/string-content.md"
        },
        "eslint-plugin-unicorn/switch-case-braces": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent brace style for `case` clauses.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/switch-case-braces.md"
        },
        "eslint-plugin-unicorn/template-indent": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "indent": {
                      "oneOf": [
                        {
                          "type": "string",
                          "pattern": "^\\s+$"
                        },
                        {
                          "type": "integer",
                          "minimum": 1
                        }
                      ]
                    },
                    "tags": {
                      "type": "array",
                      "uniqueItems": true,
                      "items": {
                        "type": "string"
                      }
                    },
                    "functions": {
                      "type": "array",
                      "uniqueItems": true,
                      "items": {
                        "type": "string"
                      }
                    },
                    "selectors": {
                      "type": "array",
                      "uniqueItems": true,
                      "items": {
                        "type": "string"
                      }
                    },
                    "comments": {
                      "type": "array",
                      "uniqueItems": true,
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              ]
            }
          ],
          "description": "Fix whitespace-insensitive template indentation.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/template-indent.md"
        },
        "eslint-plugin-unicorn/text-encoding-identifier-case": {
          "description": "Enforce consistent case for text encoding identifiers.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/text-encoding-identifier-case.md"
        },
        "eslint-plugin-unicorn/throw-new-error": {
          "description": "Require `new` when creating an error.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/throw-new-error.md"
        },
        "eslint-plugin-unicorn/import-index": {
          "description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#import-index"
        },
        "eslint-plugin-unicorn/no-array-instanceof": {
          "description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-array-instanceof"
        },
        "eslint-plugin-unicorn/no-fn-reference-in-iterator": {
          "description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-fn-reference-in-iterator"
        },
        "eslint-plugin-unicorn/no-reduce": {
          "description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-reduce"
        },
        "eslint-plugin-unicorn/no-unsafe-regex": {
          "description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-unsafe-regex"
        },
        "eslint-plugin-unicorn/prefer-dataset": {
          "description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-dataset"
        },
        "eslint-plugin-unicorn/prefer-event-key": {
          "description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-event-key"
        },
        "eslint-plugin-unicorn/prefer-exponentiation-operator": {
          "description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-exponentiation-operator"
        },
        "eslint-plugin-unicorn/prefer-flat-map": {
          "description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-flat-map"
        },
        "eslint-plugin-unicorn/prefer-node-append": {
          "description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-node-append"
        },
        "eslint-plugin-unicorn/prefer-node-remove": {
          "description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-node-remove"
        },
        "eslint-plugin-unicorn/prefer-object-has-own": {
          "description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-object-has-own"
        },
        "eslint-plugin-unicorn/prefer-replace-all": {
          "description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-replace-all"
        },
        "eslint-plugin-unicorn/prefer-starts-ends-with": {
          "description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-starts-ends-with"
        },
        "eslint-plugin-unicorn/prefer-text-content": {
          "description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-text-content"
        },
        "eslint-plugin-unicorn/prefer-trim-start-end": {
          "description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-trim-start-end"
        },
        "eslint-plugin-unicorn/regex-shorthand": {
          "description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#regex-shorthand"
        },
        "eslint-plugin-vue/array-bracket-newline": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce linebreaks after opening and before closing array brackets in `<template>`\nhttps://eslint.vuejs.org/rules/array-bracket-newline.html"
        },
        "eslint-plugin-vue/array-bracket-spacing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent spacing inside array brackets in `<template>`\nhttps://eslint.vuejs.org/rules/array-bracket-spacing.html"
        },
        "eslint-plugin-vue/array-element-newline": {
          "description": "Enforce line breaks after each array element in `<template>`\nhttps://eslint.vuejs.org/rules/array-element-newline.html"
        },
        "eslint-plugin-vue/arrow-spacing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "before": {
                      "type": "boolean",
                      "default": true
                    },
                    "after": {
                      "type": "boolean",
                      "default": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce consistent spacing before and after the arrow in arrow functions in `<template>`\nhttps://eslint.vuejs.org/rules/arrow-spacing.html"
        },
        "eslint-plugin-vue/attribute-hyphenation": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce attribute naming style on custom components in template\nhttps://eslint.vuejs.org/rules/attribute-hyphenation.html"
        },
        "eslint-plugin-vue/attributes-order": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "order": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "enum": [
                              "DEFINITION",
                              "LIST_RENDERING",
                              "CONDITIONALS",
                              "RENDER_MODIFIERS",
                              "GLOBAL",
                              "UNIQUE",
                              "SLOT",
                              "TWO_WAY_BINDING",
                              "OTHER_DIRECTIVES",
                              "OTHER_ATTR",
                              "ATTR_STATIC",
                              "ATTR_DYNAMIC",
                              "ATTR_SHORTHAND_BOOL",
                              "EVENTS",
                              "CONTENT"
                            ]
                          },
                          {
                            "type": "array",
                            "items": {
                              "enum": [
                                "DEFINITION",
                                "LIST_RENDERING",
                                "CONDITIONALS",
                                "RENDER_MODIFIERS",
                                "GLOBAL",
                                "UNIQUE",
                                "SLOT",
                                "TWO_WAY_BINDING",
                                "OTHER_DIRECTIVES",
                                "OTHER_ATTR",
                                "ATTR_STATIC",
                                "ATTR_DYNAMIC",
                                "ATTR_SHORTHAND_BOOL",
                                "EVENTS",
                                "CONTENT"
                              ]
                            }
                          }
                        ]
                      },
                      "uniqueItems": true
                    },
                    "alphabetical": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "enforce order of attributes\nhttps://eslint.vuejs.org/rules/attributes-order.html"
        },
        "eslint-plugin-vue/block-lang": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "disallow use other than available `lang`\nhttps://eslint.vuejs.org/rules/block-lang.html"
        },
        "eslint-plugin-vue/block-order": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "order": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "uniqueItems": true
                          }
                        ]
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "enforce order of component top-level elements\nhttps://eslint.vuejs.org/rules/block-order.html"
        },
        "eslint-plugin-vue/block-spacing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Disallow or enforce spaces inside of blocks after opening block and before closing block in `<template>`\nhttps://eslint.vuejs.org/rules/block-spacing.html"
        },
        "eslint-plugin-vue/block-tag-newline": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "singleline": {
                      "enum": [
                        "always",
                        "never",
                        "consistent",
                        "ignore"
                      ]
                    },
                    "multiline": {
                      "enum": [
                        "always",
                        "never",
                        "consistent",
                        "ignore"
                      ]
                    },
                    "maxEmptyLines": {
                      "type": "number",
                      "minimum": 0
                    },
                    "blocks": {
                      "type": "object",
                      "patternProperties": {
                        "^(?:\\S+)$": {
                          "type": "object",
                          "properties": {
                            "singleline": {
                              "enum": [
                                "always",
                                "never",
                                "consistent",
                                "ignore"
                              ]
                            },
                            "multiline": {
                              "enum": [
                                "always",
                                "never",
                                "consistent",
                                "ignore"
                              ]
                            },
                            "maxEmptyLines": {
                              "type": "number",
                              "minimum": 0
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "enforce line breaks after opening and before closing block-level tags\nhttps://eslint.vuejs.org/rules/block-tag-newline.html"
        },
        "eslint-plugin-vue/brace-style": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent brace style for blocks in `<template>`\nhttps://eslint.vuejs.org/rules/brace-style.html"
        },
        "eslint-plugin-vue/camelcase": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoreDestructuring": {
                      "type": "boolean",
                      "default": false
                    },
                    "ignoreImports": {
                      "type": "boolean",
                      "default": false
                    },
                    "ignoreGlobals": {
                      "type": "boolean",
                      "default": false
                    },
                    "properties": {
                      "enum": [
                        "always",
                        "never"
                      ]
                    },
                    "allow": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "minItems": 0,
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce camelcase naming convention in `<template>`\nhttps://eslint.vuejs.org/rules/camelcase.html"
        },
        "eslint-plugin-vue/comma-dangle": {
          "description": "Require or disallow trailing commas in `<template>`\nhttps://eslint.vuejs.org/rules/comma-dangle.html"
        },
        "eslint-plugin-vue/comma-spacing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "before": {
                      "type": "boolean",
                      "default": false
                    },
                    "after": {
                      "type": "boolean",
                      "default": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce consistent spacing before and after commas in `<template>`\nhttps://eslint.vuejs.org/rules/comma-spacing.html"
        },
        "eslint-plugin-vue/comma-style": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent comma style in `<template>`\nhttps://eslint.vuejs.org/rules/comma-style.html"
        },
        "eslint-plugin-vue/comment-directive": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "reportUnusedDisableDirectives": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "support comment-directives in `<template>`\nhttps://eslint.vuejs.org/rules/comment-directive.html"
        },
        "eslint-plugin-vue/component-api-style": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce component API style\nhttps://eslint.vuejs.org/rules/component-api-style.html"
        },
        "eslint-plugin-vue/component-definition-name-casing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce specific casing for component definition name\nhttps://eslint.vuejs.org/rules/component-definition-name-casing.html"
        },
        "eslint-plugin-vue/component-name-in-template-casing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce specific casing for the component naming style in template\nhttps://eslint.vuejs.org/rules/component-name-in-template-casing.html"
        },
        "eslint-plugin-vue/component-options-name-casing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce the casing of component name in `components` options\nhttps://eslint.vuejs.org/rules/component-options-name-casing.html"
        },
        "eslint-plugin-vue/component-tags-order": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "order": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "uniqueItems": true
                          }
                        ]
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "enforce order of component top-level elements\nhttps://eslint.vuejs.org/rules/component-tags-order.html"
        },
        "eslint-plugin-vue/custom-event-name-casing": {
          "description": "enforce specific casing for custom event name\nhttps://eslint.vuejs.org/rules/custom-event-name-casing.html"
        },
        "eslint-plugin-vue/define-emits-declaration": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce declaration style of `defineEmits`\nhttps://eslint.vuejs.org/rules/define-emits-declaration.html"
        },
        "eslint-plugin-vue/define-macros-order": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "order": {
                      "type": "array",
                      "items": {
                        "enum": [
                          "defineEmits",
                          "defineProps",
                          "defineOptions",
                          "defineSlots",
                          "defineModel"
                        ]
                      },
                      "uniqueItems": true
                    },
                    "defineExposeLast": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "enforce order of `defineEmits` and `defineProps` compiler macros\nhttps://eslint.vuejs.org/rules/define-macros-order.html"
        },
        "eslint-plugin-vue/define-props-declaration": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce declaration style of `defineProps`\nhttps://eslint.vuejs.org/rules/define-props-declaration.html"
        },
        "eslint-plugin-vue/dot-location": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent newlines before and after dots in `<template>`\nhttps://eslint.vuejs.org/rules/dot-location.html"
        },
        "eslint-plugin-vue/dot-notation": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowKeywords": {
                      "type": "boolean",
                      "default": true
                    },
                    "allowPattern": {
                      "type": "string",
                      "default": ""
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce dot notation whenever possible in `<template>`\nhttps://eslint.vuejs.org/rules/dot-notation.html"
        },
        "eslint-plugin-vue/enforce-style-attribute": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allow": {
                      "type": "array",
                      "minItems": 1,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "enum": [
                          "plain",
                          "scoped",
                          "module"
                        ]
                      }
                    }
                  }
                }
              ]
            }
          ],
          "description": "enforce or forbid the use of the `scoped` and `module` attributes in SFC top level style tags\nhttps://eslint.vuejs.org/rules/enforce-style-attribute.html"
        },
        "eslint-plugin-vue/eqeqeq": {
          "description": "Require the use of `===` and `!==` in `<template>`\nhttps://eslint.vuejs.org/rules/eqeqeq.html"
        },
        "eslint-plugin-vue/first-attribute-linebreak": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "multiline": {
                      "enum": [
                        "below",
                        "beside",
                        "ignore"
                      ]
                    },
                    "singleline": {
                      "enum": [
                        "below",
                        "beside",
                        "ignore"
                      ]
                    }
                  }
                }
              ]
            }
          ],
          "description": "enforce the location of first attribute\nhttps://eslint.vuejs.org/rules/first-attribute-linebreak.html"
        },
        "eslint-plugin-vue/func-call-spacing": {
          "description": "Require or disallow spacing between function identifiers and their invocations in `<template>`\nhttps://eslint.vuejs.org/rules/func-call-spacing.html"
        },
        "eslint-plugin-vue/html-button-has-type": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "button": {
                      "default": true,
                      "type": "boolean"
                    },
                    "submit": {
                      "default": true,
                      "type": "boolean"
                    },
                    "reset": {
                      "default": true,
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow usage of button without an explicit type attribute\nhttps://eslint.vuejs.org/rules/html-button-has-type.html"
        },
        "eslint-plugin-vue/html-closing-bracket-newline": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "singleline": {
                      "enum": [
                        "always",
                        "never"
                      ]
                    },
                    "multiline": {
                      "enum": [
                        "always",
                        "never"
                      ]
                    },
                    "selfClosingTag": {
                      "type": "object",
                      "properties": {
                        "singleline": {
                          "enum": [
                            "always",
                            "never"
                          ]
                        },
                        "multiline": {
                          "enum": [
                            "always",
                            "never"
                          ]
                        }
                      },
                      "additionalProperties": false,
                      "minProperties": 1
                    }
                  }
                }
              ]
            }
          ],
          "description": "require or disallow a line break before tag's closing brackets\nhttps://eslint.vuejs.org/rules/html-closing-bracket-newline.html"
        },
        "eslint-plugin-vue/html-closing-bracket-spacing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "startTag": {
                      "enum": [
                        "always",
                        "never"
                      ]
                    },
                    "endTag": {
                      "enum": [
                        "always",
                        "never"
                      ]
                    },
                    "selfClosingTag": {
                      "enum": [
                        "always",
                        "never"
                      ]
                    }
                  }
                }
              ]
            }
          ],
          "description": "require or disallow a space before tag's closing brackets\nhttps://eslint.vuejs.org/rules/html-closing-bracket-spacing.html"
        },
        "eslint-plugin-vue/html-comment-content-newline": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce unified line brake in HTML comments\nhttps://eslint.vuejs.org/rules/html-comment-content-newline.html"
        },
        "eslint-plugin-vue/html-comment-content-spacing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce unified spacing in HTML comments\nhttps://eslint.vuejs.org/rules/html-comment-content-spacing.html"
        },
        "eslint-plugin-vue/html-comment-indent": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce consistent indentation in HTML comments\nhttps://eslint.vuejs.org/rules/html-comment-indent.html"
        },
        "eslint-plugin-vue/html-end-tags": {
          "description": "enforce end tag style\nhttps://eslint.vuejs.org/rules/html-end-tags.html"
        },
        "eslint-plugin-vue/html-indent": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce consistent indentation in `<template>`\nhttps://eslint.vuejs.org/rules/html-indent.html"
        },
        "eslint-plugin-vue/html-quotes": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce quotes style of HTML attributes\nhttps://eslint.vuejs.org/rules/html-quotes.html"
        },
        "eslint-plugin-vue/html-self-closing": {
          "description": "enforce self-closing style\nhttps://eslint.vuejs.org/rules/html-self-closing.html"
        },
        "eslint-plugin-vue/jsx-uses-vars": {
          "description": "prevent variables used in JSX to be marked as unused\nhttps://eslint.vuejs.org/rules/jsx-uses-vars.html"
        },
        "eslint-plugin-vue/key-spacing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent spacing between keys and values in object literal properties in `<template>`\nhttps://eslint.vuejs.org/rules/key-spacing.html"
        },
        "eslint-plugin-vue/keyword-spacing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "before": {
                      "type": "boolean",
                      "default": true
                    },
                    "after": {
                      "type": "boolean",
                      "default": true
                    },
                    "overrides": {
                      "type": "object",
                      "properties": {
                        "abstract": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "as": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "async": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "await": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "boolean": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "break": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "byte": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "case": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "catch": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "char": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "class": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "const": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "continue": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "debugger": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "default": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "delete": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "do": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "double": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "else": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "enum": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "export": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "extends": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "false": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "final": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "finally": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "float": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "for": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "from": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "function": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "get": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "goto": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "if": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "implements": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "import": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "in": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "instanceof": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "int": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "interface": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "let": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "long": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "native": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "new": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "null": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "of": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "package": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "private": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "protected": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "public": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "return": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "set": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "short": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "static": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "super": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "switch": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "synchronized": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "this": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "throw": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "throws": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "transient": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "true": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "try": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "typeof": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "var": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "void": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "volatile": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "while": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "with": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "yield": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce consistent spacing before and after keywords in `<template>`\nhttps://eslint.vuejs.org/rules/keyword-spacing.html"
        },
        "eslint-plugin-vue/match-component-file-name": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "extensions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "shouldMatchCase": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "require component name property to match its file name\nhttps://eslint.vuejs.org/rules/match-component-file-name.html"
        },
        "eslint-plugin-vue/match-component-import-name": {
          "description": "require the registered component name to match the imported component name\nhttps://eslint.vuejs.org/rules/match-component-import-name.html"
        },
        "eslint-plugin-vue/max-attributes-per-line": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "singleline": {
                      "anyOf": [
                        {
                          "type": "number",
                          "minimum": 1
                        },
                        {
                          "type": "object",
                          "properties": {
                            "max": {
                              "type": "number",
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        }
                      ]
                    },
                    "multiline": {
                      "anyOf": [
                        {
                          "type": "number",
                          "minimum": 1
                        },
                        {
                          "type": "object",
                          "properties": {
                            "max": {
                              "type": "number",
                              "minimum": 1
                            }
                          },
                          "additionalProperties": false
                        }
                      ]
                    }
                  }
                }
              ]
            }
          ],
          "description": "enforce the maximum number of attributes per line\nhttps://eslint.vuejs.org/rules/max-attributes-per-line.html"
        },
        "eslint-plugin-vue/max-len": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce a maximum line length in `.vue` files\nhttps://eslint.vuejs.org/rules/max-len.html"
        },
        "eslint-plugin-vue/max-lines-per-block": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "style": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "template": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "script": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "skipBlankLines": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "enforce maximum number of lines in Vue SFC blocks\nhttps://eslint.vuejs.org/rules/max-lines-per-block.html"
        },
        "eslint-plugin-vue/multi-word-component-names": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignores": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "require component names to be always multi-word\nhttps://eslint.vuejs.org/rules/multi-word-component-names.html"
        },
        "eslint-plugin-vue/multiline-html-element-content-newline": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoreWhenEmpty": {
                      "type": "boolean"
                    },
                    "ignores": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "allowEmptyLines": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "require a line break before and after the contents of a multiline element\nhttps://eslint.vuejs.org/rules/multiline-html-element-content-newline.html"
        },
        "eslint-plugin-vue/multiline-ternary": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce newlines between operands of ternary expressions in `<template>`\nhttps://eslint.vuejs.org/rules/multiline-ternary.html"
        },
        "eslint-plugin-vue/mustache-interpolation-spacing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce unified spacing in mustache interpolations\nhttps://eslint.vuejs.org/rules/mustache-interpolation-spacing.html"
        },
        "eslint-plugin-vue/new-line-between-multi-line-property": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "minLineOfMultilineProperty": {
                      "type": "number",
                      "minimum": 2
                    }
                  }
                }
              ]
            }
          ],
          "description": "enforce new lines between multi-line properties in Vue components\nhttps://eslint.vuejs.org/rules/new-line-between-multi-line-property.html"
        },
        "eslint-plugin-vue/next-tick-style": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce Promise or callback style in `nextTick`\nhttps://eslint.vuejs.org/rules/next-tick-style.html"
        },
        "eslint-plugin-vue/no-arrow-functions-in-watch": {
          "description": "disallow using arrow functions to define watcher\nhttps://eslint.vuejs.org/rules/no-arrow-functions-in-watch.html"
        },
        "eslint-plugin-vue/no-async-in-computed-properties": {
          "description": "disallow asynchronous actions in computed properties\nhttps://eslint.vuejs.org/rules/no-async-in-computed-properties.html"
        },
        "eslint-plugin-vue/no-bare-strings-in-template": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowlist": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "attributes": {
                      "type": "object",
                      "patternProperties": {
                        "^(?:\\S+|/.*/[a-z]*)$": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "uniqueItems": true
                        }
                      },
                      "additionalProperties": false
                    },
                    "directives": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^v-"
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow the use of bare strings in `<template>`\nhttps://eslint.vuejs.org/rules/no-bare-strings-in-template.html"
        },
        "eslint-plugin-vue/no-boolean-default": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "disallow boolean defaults\nhttps://eslint.vuejs.org/rules/no-boolean-default.html"
        },
        "eslint-plugin-vue/no-child-content": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "additionalDirectives": {
                      "type": "array",
                      "uniqueItems": true,
                      "minItems": 1,
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow element's child contents which would be overwritten by a directive like `v-html` or `v-text`\nhttps://eslint.vuejs.org/rules/no-child-content.html"
        },
        "eslint-plugin-vue/no-computed-properties-in-data": {
          "description": "disallow accessing computed properties in `data`.\nhttps://eslint.vuejs.org/rules/no-computed-properties-in-data.html"
        },
        "eslint-plugin-vue/no-console": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allow": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "minItems": 1,
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow the use of `console` in `<template>`\nhttps://eslint.vuejs.org/rules/no-console.html"
        },
        "eslint-plugin-vue/no-constant-condition": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "checkLoops": {
                      "type": "boolean",
                      "default": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow constant expressions in conditions in `<template>`\nhttps://eslint.vuejs.org/rules/no-constant-condition.html"
        },
        "eslint-plugin-vue/no-custom-modifiers-on-v-model": {
          "description": "disallow custom modifiers on v-model used on the component\nhttps://eslint.vuejs.org/rules/no-custom-modifiers-on-v-model.html"
        },
        "eslint-plugin-vue/no-deprecated-data-object-declaration": {
          "description": "disallow using deprecated object declaration on data (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-data-object-declaration.html"
        },
        "eslint-plugin-vue/no-deprecated-destroyed-lifecycle": {
          "description": "disallow using deprecated `destroyed` and `beforeDestroy` lifecycle hooks (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-destroyed-lifecycle.html"
        },
        "eslint-plugin-vue/no-deprecated-dollar-listeners-api": {
          "description": "disallow using deprecated `$listeners` (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-dollar-listeners-api.html"
        },
        "eslint-plugin-vue/no-deprecated-dollar-scopedslots-api": {
          "description": "disallow using deprecated `$scopedSlots` (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-dollar-scopedslots-api.html"
        },
        "eslint-plugin-vue/no-deprecated-events-api": {
          "description": "disallow using deprecated events api (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-events-api.html"
        },
        "eslint-plugin-vue/no-deprecated-filter": {
          "description": "disallow using deprecated filters syntax (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-filter.html"
        },
        "eslint-plugin-vue/no-deprecated-functional-template": {
          "description": "disallow using deprecated the `functional` template (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-functional-template.html"
        },
        "eslint-plugin-vue/no-deprecated-html-element-is": {
          "description": "disallow using deprecated the `is` attribute on HTML elements (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-html-element-is.html"
        },
        "eslint-plugin-vue/no-deprecated-inline-template": {
          "description": "disallow using deprecated `inline-template` attribute (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-inline-template.html"
        },
        "eslint-plugin-vue/no-deprecated-model-definition": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowVue3Compat": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow deprecated `model` definition (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-model-definition.html"
        },
        "eslint-plugin-vue/no-deprecated-props-default-this": {
          "description": "disallow deprecated `this` access in props default function (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-props-default-this.html"
        },
        "eslint-plugin-vue/no-deprecated-router-link-tag-prop": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "components": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true,
                      "minItems": 1
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow using deprecated `tag` property on `RouterLink` (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-router-link-tag-prop.html"
        },
        "eslint-plugin-vue/no-deprecated-scope-attribute": {
          "description": "disallow deprecated `scope` attribute (in Vue.js 2.5.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-scope-attribute.html"
        },
        "eslint-plugin-vue/no-deprecated-slot-attribute": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignore": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow deprecated `slot` attribute (in Vue.js 2.6.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-slot-attribute.html"
        },
        "eslint-plugin-vue/no-deprecated-slot-scope-attribute": {
          "description": "disallow deprecated `slot-scope` attribute (in Vue.js 2.6.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-slot-scope-attribute.html"
        },
        "eslint-plugin-vue/no-deprecated-v-bind-sync": {
          "description": "disallow use of deprecated `.sync` modifier on `v-bind` directive (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-v-bind-sync.html"
        },
        "eslint-plugin-vue/no-deprecated-v-is": {
          "description": "disallow deprecated `v-is` directive (in Vue.js 3.1.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-v-is.html"
        },
        "eslint-plugin-vue/no-deprecated-v-on-native-modifier": {
          "description": "disallow using deprecated `.native` modifiers (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-v-on-native-modifier.html"
        },
        "eslint-plugin-vue/no-deprecated-v-on-number-modifiers": {
          "description": "disallow using deprecated number (keycode) modifiers (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-v-on-number-modifiers.html"
        },
        "eslint-plugin-vue/no-deprecated-vue-config-keycodes": {
          "description": "disallow using deprecated `Vue.config.keyCodes` (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-vue-config-keycodes.html"
        },
        "eslint-plugin-vue/no-dupe-keys": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "groups": {
                      "type": "array"
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow duplication of field names\nhttps://eslint.vuejs.org/rules/no-dupe-keys.html"
        },
        "eslint-plugin-vue/no-dupe-v-else-if": {
          "description": "disallow duplicate conditions in `v-if` / `v-else-if` chains\nhttps://eslint.vuejs.org/rules/no-dupe-v-else-if.html"
        },
        "eslint-plugin-vue/no-duplicate-attr-inheritance": {
          "description": "enforce `inheritAttrs` to be set to `false` when using `v-bind=\"$attrs\"`\nhttps://eslint.vuejs.org/rules/no-duplicate-attr-inheritance.html"
        },
        "eslint-plugin-vue/no-duplicate-attributes": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowCoexistClass": {
                      "type": "boolean"
                    },
                    "allowCoexistStyle": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow duplication of attributes\nhttps://eslint.vuejs.org/rules/no-duplicate-attributes.html"
        },
        "eslint-plugin-vue/no-empty-component-block": {
          "description": "disallow the `<template>` `<script>` `<style>` block to be empty\nhttps://eslint.vuejs.org/rules/no-empty-component-block.html"
        },
        "eslint-plugin-vue/no-empty-pattern": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowObjectPatternsAsParameters": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow empty destructuring patterns in `<template>`\nhttps://eslint.vuejs.org/rules/no-empty-pattern.html"
        },
        "eslint-plugin-vue/no-export-in-script-setup": {
          "description": "disallow `export` in `<script setup>`\nhttps://eslint.vuejs.org/rules/no-export-in-script-setup.html"
        },
        "eslint-plugin-vue/no-expose-after-await": {
          "description": "disallow asynchronously registered `expose`\nhttps://eslint.vuejs.org/rules/no-expose-after-await.html"
        },
        "eslint-plugin-vue/no-extra-parens": {
          "description": "Disallow unnecessary parentheses in `<template>`\nhttps://eslint.vuejs.org/rules/no-extra-parens.html"
        },
        "eslint-plugin-vue/no-invalid-model-keys": {
          "description": "require valid keys in model option\nhttps://eslint.vuejs.org/rules/no-invalid-model-keys.html"
        },
        "eslint-plugin-vue/no-irregular-whitespace": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "skipComments": {
                      "type": "boolean",
                      "default": false
                    },
                    "skipStrings": {
                      "type": "boolean",
                      "default": true
                    },
                    "skipTemplates": {
                      "type": "boolean",
                      "default": false
                    },
                    "skipRegExps": {
                      "type": "boolean",
                      "default": false
                    },
                    "skipHTMLAttributeValues": {
                      "type": "boolean",
                      "default": false
                    },
                    "skipHTMLTextContents": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow irregular whitespace in `.vue` files\nhttps://eslint.vuejs.org/rules/no-irregular-whitespace.html"
        },
        "eslint-plugin-vue/no-lifecycle-after-await": {
          "description": "disallow asynchronously registered lifecycle hooks\nhttps://eslint.vuejs.org/rules/no-lifecycle-after-await.html"
        },
        "eslint-plugin-vue/no-lone-template": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoreAccessible": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow unnecessary `<template>`\nhttps://eslint.vuejs.org/rules/no-lone-template.html"
        },
        "eslint-plugin-vue/no-loss-of-precision": {
          "description": "Disallow literal numbers that lose precision in `<template>`\nhttps://eslint.vuejs.org/rules/no-loss-of-precision.html"
        },
        "eslint-plugin-vue/no-multi-spaces": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoreProperties": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow multiple spaces\nhttps://eslint.vuejs.org/rules/no-multi-spaces.html"
        },
        "eslint-plugin-vue/no-multiple-objects-in-class": {
          "description": "disallow to pass multiple objects into array to class\nhttps://eslint.vuejs.org/rules/no-multiple-objects-in-class.html"
        },
        "eslint-plugin-vue/no-multiple-slot-args": {
          "description": "disallow to pass multiple arguments to scoped slots\nhttps://eslint.vuejs.org/rules/no-multiple-slot-args.html"
        },
        "eslint-plugin-vue/no-multiple-template-root": {
          "description": "disallow adding multiple root nodes to the template\nhttps://eslint.vuejs.org/rules/no-multiple-template-root.html"
        },
        "eslint-plugin-vue/no-mutating-props": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "shallowOnly": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow mutation of component props\nhttps://eslint.vuejs.org/rules/no-mutating-props.html"
        },
        "eslint-plugin-vue/no-parsing-error": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "abrupt-closing-of-empty-comment": {
                      "type": "boolean"
                    },
                    "absence-of-digits-in-numeric-character-reference": {
                      "type": "boolean"
                    },
                    "cdata-in-html-content": {
                      "type": "boolean"
                    },
                    "character-reference-outside-unicode-range": {
                      "type": "boolean"
                    },
                    "control-character-in-input-stream": {
                      "type": "boolean"
                    },
                    "control-character-reference": {
                      "type": "boolean"
                    },
                    "eof-before-tag-name": {
                      "type": "boolean"
                    },
                    "eof-in-cdata": {
                      "type": "boolean"
                    },
                    "eof-in-comment": {
                      "type": "boolean"
                    },
                    "eof-in-tag": {
                      "type": "boolean"
                    },
                    "incorrectly-closed-comment": {
                      "type": "boolean"
                    },
                    "incorrectly-opened-comment": {
                      "type": "boolean"
                    },
                    "invalid-first-character-of-tag-name": {
                      "type": "boolean"
                    },
                    "missing-attribute-value": {
                      "type": "boolean"
                    },
                    "missing-end-tag-name": {
                      "type": "boolean"
                    },
                    "missing-semicolon-after-character-reference": {
                      "type": "boolean"
                    },
                    "missing-whitespace-between-attributes": {
                      "type": "boolean"
                    },
                    "nested-comment": {
                      "type": "boolean"
                    },
                    "noncharacter-character-reference": {
                      "type": "boolean"
                    },
                    "noncharacter-in-input-stream": {
                      "type": "boolean"
                    },
                    "null-character-reference": {
                      "type": "boolean"
                    },
                    "surrogate-character-reference": {
                      "type": "boolean"
                    },
                    "surrogate-in-input-stream": {
                      "type": "boolean"
                    },
                    "unexpected-character-in-attribute-name": {
                      "type": "boolean"
                    },
                    "unexpected-character-in-unquoted-attribute-value": {
                      "type": "boolean"
                    },
                    "unexpected-equals-sign-before-attribute-name": {
                      "type": "boolean"
                    },
                    "unexpected-null-character": {
                      "type": "boolean"
                    },
                    "unexpected-question-mark-instead-of-tag-name": {
                      "type": "boolean"
                    },
                    "unexpected-solidus-in-tag": {
                      "type": "boolean"
                    },
                    "unknown-named-character-reference": {
                      "type": "boolean"
                    },
                    "end-tag-with-attributes": {
                      "type": "boolean"
                    },
                    "duplicate-attribute": {
                      "type": "boolean"
                    },
                    "end-tag-with-trailing-solidus": {
                      "type": "boolean"
                    },
                    "non-void-html-element-start-tag-with-trailing-solidus": {
                      "type": "boolean"
                    },
                    "x-invalid-end-tag": {
                      "type": "boolean"
                    },
                    "x-invalid-namespace": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow parsing errors in `<template>`\nhttps://eslint.vuejs.org/rules/no-parsing-error.html"
        },
        "eslint-plugin-vue/no-potential-component-option-typo": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "presets": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "all",
                          "vue",
                          "vue-router",
                          "nuxt"
                        ]
                      },
                      "uniqueItems": true,
                      "minItems": 0
                    },
                    "custom": {
                      "type": "array",
                      "minItems": 0,
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "threshold": {
                      "type": "number",
                      "minimum": 1
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow a potential typo in your component property\nhttps://eslint.vuejs.org/rules/no-potential-component-option-typo.html"
        },
        "eslint-plugin-vue/no-ref-as-operand": {
          "description": "disallow use of value wrapped by `ref()` (Composition API) as an operand\nhttps://eslint.vuejs.org/rules/no-ref-as-operand.html"
        },
        "eslint-plugin-vue/no-ref-object-destructure": {
          "description": "disallow usages of ref objects that can lead to loss of reactivity\nhttps://eslint.vuejs.org/rules/no-ref-object-destructure.html"
        },
        "eslint-plugin-vue/no-ref-object-reactivity-loss": {
          "description": "disallow usages of ref objects that can lead to loss of reactivity\nhttps://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html"
        },
        "eslint-plugin-vue/no-required-prop-with-default": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "autofix": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "enforce props with default values to be optional\nhttps://eslint.vuejs.org/rules/no-required-prop-with-default.html"
        },
        "eslint-plugin-vue/no-reserved-component-names": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "disallowVueBuiltInComponents": {
                      "type": "boolean"
                    },
                    "disallowVue3BuiltInComponents": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow the use of reserved names in component definitions\nhttps://eslint.vuejs.org/rules/no-reserved-component-names.html"
        },
        "eslint-plugin-vue/no-reserved-keys": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "reserved": {
                      "type": "array"
                    },
                    "groups": {
                      "type": "array"
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow overwriting reserved keys\nhttps://eslint.vuejs.org/rules/no-reserved-keys.html"
        },
        "eslint-plugin-vue/no-reserved-props": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "vueVersion": {
                      "enum": [
                        2,
                        3
                      ]
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow reserved names in props\nhttps://eslint.vuejs.org/rules/no-reserved-props.html"
        },
        "eslint-plugin-vue/no-restricted-block": {
          "description": "disallow specific block\nhttps://eslint.vuejs.org/rules/no-restricted-block.html"
        },
        "eslint-plugin-vue/no-restricted-call-after-await": {
          "description": "disallow asynchronously called restricted methods\nhttps://eslint.vuejs.org/rules/no-restricted-call-after-await.html"
        },
        "eslint-plugin-vue/no-restricted-class": {
          "description": "disallow specific classes in Vue components\nhttps://eslint.vuejs.org/rules/no-restricted-class.html"
        },
        "eslint-plugin-vue/no-restricted-component-names": {
          "description": "disallow specific component names\nhttps://eslint.vuejs.org/rules/no-restricted-component-names.html"
        },
        "eslint-plugin-vue/no-restricted-component-options": {
          "description": "disallow specific component option\nhttps://eslint.vuejs.org/rules/no-restricted-component-options.html"
        },
        "eslint-plugin-vue/no-restricted-custom-event": {
          "description": "disallow specific custom event\nhttps://eslint.vuejs.org/rules/no-restricted-custom-event.html"
        },
        "eslint-plugin-vue/no-restricted-html-elements": {
          "description": "disallow specific HTML elements\nhttps://eslint.vuejs.org/rules/no-restricted-html-elements.html"
        },
        "eslint-plugin-vue/no-restricted-props": {
          "description": "disallow specific props\nhttps://eslint.vuejs.org/rules/no-restricted-props.html"
        },
        "eslint-plugin-vue/no-restricted-static-attribute": {
          "description": "disallow specific attribute\nhttps://eslint.vuejs.org/rules/no-restricted-static-attribute.html"
        },
        "eslint-plugin-vue/no-restricted-syntax": {
          "description": "Disallow specified syntax in `<template>`\nhttps://eslint.vuejs.org/rules/no-restricted-syntax.html"
        },
        "eslint-plugin-vue/no-restricted-v-bind": {
          "description": "disallow specific argument in `v-bind`\nhttps://eslint.vuejs.org/rules/no-restricted-v-bind.html"
        },
        "eslint-plugin-vue/no-restricted-v-on": {
          "description": "disallow specific argument in `v-on`\nhttps://eslint.vuejs.org/rules/no-restricted-v-on.html"
        },
        "eslint-plugin-vue/no-root-v-if": {
          "description": "disallow `v-if` directives on root element\nhttps://eslint.vuejs.org/rules/no-root-v-if.html"
        },
        "eslint-plugin-vue/no-setup-props-destructure": {
          "description": "disallow usages that lose the reactivity of `props` passed to `setup`\nhttps://eslint.vuejs.org/rules/no-setup-props-destructure.html"
        },
        "eslint-plugin-vue/no-setup-props-reactivity-loss": {
          "description": "disallow usages that lose the reactivity of `props` passed to `setup`\nhttps://eslint.vuejs.org/rules/no-setup-props-reactivity-loss.html"
        },
        "eslint-plugin-vue/no-shared-component-data": {
          "description": "enforce component's data property to be a function\nhttps://eslint.vuejs.org/rules/no-shared-component-data.html"
        },
        "eslint-plugin-vue/no-side-effects-in-computed-properties": {
          "description": "disallow side effects in computed properties\nhttps://eslint.vuejs.org/rules/no-side-effects-in-computed-properties.html"
        },
        "eslint-plugin-vue/no-spaces-around-equal-signs-in-attribute": {
          "description": "disallow spaces around equal signs in attribute\nhttps://eslint.vuejs.org/rules/no-spaces-around-equal-signs-in-attribute.html"
        },
        "eslint-plugin-vue/no-sparse-arrays": {
          "description": "Disallow sparse arrays in `<template>`\nhttps://eslint.vuejs.org/rules/no-sparse-arrays.html"
        },
        "eslint-plugin-vue/no-static-inline-styles": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowBinding": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow static inline `style` attributes\nhttps://eslint.vuejs.org/rules/no-static-inline-styles.html"
        },
        "eslint-plugin-vue/no-template-key": {
          "description": "disallow `key` attribute on `<template>`\nhttps://eslint.vuejs.org/rules/no-template-key.html"
        },
        "eslint-plugin-vue/no-template-shadow": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allow": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow variable declarations from shadowing variables declared in the outer scope\nhttps://eslint.vuejs.org/rules/no-template-shadow.html"
        },
        "eslint-plugin-vue/no-template-target-blank": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowReferrer": {
                      "type": "boolean"
                    },
                    "enforceDynamicLinks": {
                      "enum": [
                        "always",
                        "never"
                      ]
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow target=\"_blank\" attribute without rel=\"noopener noreferrer\"\nhttps://eslint.vuejs.org/rules/no-template-target-blank.html"
        },
        "eslint-plugin-vue/no-textarea-mustache": {
          "description": "disallow mustaches in `<textarea>`\nhttps://eslint.vuejs.org/rules/no-textarea-mustache.html"
        },
        "eslint-plugin-vue/no-this-in-before-route-enter": {
          "description": "disallow `this` usage in a `beforeRouteEnter` method\nhttps://eslint.vuejs.org/rules/no-this-in-before-route-enter.html"
        },
        "eslint-plugin-vue/no-undef-components": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignorePatterns": {
                      "type": "array"
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow use of undefined components in `<template>`\nhttps://eslint.vuejs.org/rules/no-undef-components.html"
        },
        "eslint-plugin-vue/no-undef-properties": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignores": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow undefined properties\nhttps://eslint.vuejs.org/rules/no-undef-properties.html"
        },
        "eslint-plugin-vue/no-unsupported-features": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "version": {
                      "type": "string"
                    },
                    "ignores": {
                      "type": "array",
                      "items": {
                        "enum": [
                          "slot-scope-attribute",
                          "dynamic-directive-arguments",
                          "v-slot",
                          "script-setup",
                          "style-css-vars-injection",
                          "v-model-argument",
                          "v-model-custom-modifiers",
                          "v-is",
                          "is-attribute-with-vue-prefix",
                          "v-memo",
                          "v-bind-prop-modifier-shorthand",
                          "v-bind-attr-modifier",
                          "define-options",
                          "define-slots",
                          "define-model",
                          "v-bind-same-name-shorthand"
                        ]
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow unsupported Vue.js syntax on the specified version\nhttps://eslint.vuejs.org/rules/no-unsupported-features.html"
        },
        "eslint-plugin-vue/no-unused-components": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoreWhenBindingPresent": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow registering components that are not used inside templates\nhttps://eslint.vuejs.org/rules/no-unused-components.html"
        },
        "eslint-plugin-vue/no-unused-emit-declarations": {
          "description": "disallow unused emit declarations\nhttps://eslint.vuejs.org/rules/no-unused-emit-declarations.html"
        },
        "eslint-plugin-vue/no-unused-properties": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "groups": {
                      "type": "array",
                      "items": {
                        "enum": [
                          "props",
                          "data",
                          "asyncData",
                          "computed",
                          "methods",
                          "setup"
                        ]
                      },
                      "uniqueItems": true
                    },
                    "deepData": {
                      "type": "boolean"
                    },
                    "ignorePublicMembers": {
                      "type": "boolean"
                    },
                    "unreferencedOptions": {
                      "type": "array",
                      "items": {
                        "enum": [
                          "unknownMemberAsUnreferenced",
                          "returnAsUnreferenced"
                        ]
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow unused properties\nhttps://eslint.vuejs.org/rules/no-unused-properties.html"
        },
        "eslint-plugin-vue/no-unused-refs": {
          "description": "disallow unused refs\nhttps://eslint.vuejs.org/rules/no-unused-refs.html"
        },
        "eslint-plugin-vue/no-unused-vars": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignorePattern": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow unused variable definitions of v-for directives or scope attributes\nhttps://eslint.vuejs.org/rules/no-unused-vars.html"
        },
        "eslint-plugin-vue/no-use-computed-property-like-method": {
          "description": "disallow use computed property like method\nhttps://eslint.vuejs.org/rules/no-use-computed-property-like-method.html"
        },
        "eslint-plugin-vue/no-use-v-else-with-v-for": {
          "description": "disallow using `v-else-if`/`v-else` on the same element as `v-for`\nhttps://eslint.vuejs.org/rules/no-use-v-else-with-v-for.html"
        },
        "eslint-plugin-vue/no-use-v-if-with-v-for": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowUsingIterationVar": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow using `v-if` on the same element as `v-for`\nhttps://eslint.vuejs.org/rules/no-use-v-if-with-v-for.html"
        },
        "eslint-plugin-vue/no-useless-concat": {
          "description": "Disallow unnecessary concatenation of literals or template literals in `<template>`\nhttps://eslint.vuejs.org/rules/no-useless-concat.html"
        },
        "eslint-plugin-vue/no-useless-mustaches": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoreIncludesComment": {
                      "type": "boolean"
                    },
                    "ignoreStringEscape": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow unnecessary mustache interpolations\nhttps://eslint.vuejs.org/rules/no-useless-mustaches.html"
        },
        "eslint-plugin-vue/no-useless-template-attributes": {
          "description": "disallow useless attribute on `<template>`\nhttps://eslint.vuejs.org/rules/no-useless-template-attributes.html"
        },
        "eslint-plugin-vue/no-useless-v-bind": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoreIncludesComment": {
                      "type": "boolean"
                    },
                    "ignoreStringEscape": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow unnecessary `v-bind` directives\nhttps://eslint.vuejs.org/rules/no-useless-v-bind.html"
        },
        "eslint-plugin-vue/no-v-for-template-key-on-child": {
          "description": "disallow key of `<template v-for>` placed on child elements\nhttps://eslint.vuejs.org/rules/no-v-for-template-key-on-child.html"
        },
        "eslint-plugin-vue/no-v-for-template-key": {
          "description": "disallow `key` attribute on `<template v-for>`\nhttps://eslint.vuejs.org/rules/no-v-for-template-key.html"
        },
        "eslint-plugin-vue/no-v-html": {
          "description": "disallow use of v-html to prevent XSS attack\nhttps://eslint.vuejs.org/rules/no-v-html.html"
        },
        "eslint-plugin-vue/no-v-model-argument": {
          "description": "disallow adding an argument to `v-model` used in custom component\nhttps://eslint.vuejs.org/rules/no-v-model-argument.html"
        },
        "eslint-plugin-vue/no-v-text-v-html-on-component": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allow": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "disallow v-text / v-html on component\nhttps://eslint.vuejs.org/rules/no-v-text-v-html-on-component.html"
        },
        "eslint-plugin-vue/no-v-text": {
          "description": "disallow use of v-text\nhttps://eslint.vuejs.org/rules/no-v-text.html"
        },
        "eslint-plugin-vue/no-watch-after-await": {
          "description": "disallow asynchronously registered `watch`\nhttps://eslint.vuejs.org/rules/no-watch-after-await.html"
        },
        "eslint-plugin-vue/object-curly-newline": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent line breaks after opening and before closing braces in `<template>`\nhttps://eslint.vuejs.org/rules/object-curly-newline.html"
        },
        "eslint-plugin-vue/object-curly-spacing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent spacing inside braces in `<template>`\nhttps://eslint.vuejs.org/rules/object-curly-spacing.html"
        },
        "eslint-plugin-vue/object-property-newline": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowAllPropertiesOnSameLine": {
                      "type": "boolean",
                      "default": false
                    },
                    "allowMultiplePropertiesPerLine": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce placing object properties on separate lines in `<template>`\nhttps://eslint.vuejs.org/rules/object-property-newline.html"
        },
        "eslint-plugin-vue/object-shorthand": {
          "description": "Require or disallow method and property shorthand syntax for object literals in `<template>`\nhttps://eslint.vuejs.org/rules/object-shorthand.html"
        },
        "eslint-plugin-vue/one-component-per-file": {
          "description": "enforce that each component should be in its own file\nhttps://eslint.vuejs.org/rules/one-component-per-file.html"
        },
        "eslint-plugin-vue/operator-linebreak": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent linebreak style for operators in `<template>`\nhttps://eslint.vuejs.org/rules/operator-linebreak.html"
        },
        "eslint-plugin-vue/order-in-components": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "order": {
                      "type": "array"
                    }
                  }
                }
              ]
            }
          ],
          "description": "enforce order of properties in components\nhttps://eslint.vuejs.org/rules/order-in-components.html"
        },
        "eslint-plugin-vue/padding-line-between-blocks": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "require or disallow padding lines between blocks\nhttps://eslint.vuejs.org/rules/padding-line-between-blocks.html"
        },
        "eslint-plugin-vue/padding-line-between-tags": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "require or disallow newlines between sibling tags in template\nhttps://eslint.vuejs.org/rules/padding-line-between-tags.html"
        },
        "eslint-plugin-vue/padding-lines-in-component-definition": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "require or disallow padding lines in component definition\nhttps://eslint.vuejs.org/rules/padding-lines-in-component-definition.html"
        },
        "eslint-plugin-vue/prefer-define-options": {
          "description": "enforce use of `defineOptions` instead of default export.\nhttps://eslint.vuejs.org/rules/prefer-define-options.html"
        },
        "eslint-plugin-vue/prefer-import-from-vue": {
          "description": "enforce import from 'vue' instead of import from '@vue/*'\nhttps://eslint.vuejs.org/rules/prefer-import-from-vue.html"
        },
        "eslint-plugin-vue/prefer-prop-type-boolean-first": {
          "description": "enforce `Boolean` comes first in component prop types\nhttps://eslint.vuejs.org/rules/prefer-prop-type-boolean-first.html"
        },
        "eslint-plugin-vue/prefer-separate-static-class": {
          "description": "require static class names in template to be in a separate `class` attribute\nhttps://eslint.vuejs.org/rules/prefer-separate-static-class.html"
        },
        "eslint-plugin-vue/prefer-template": {
          "description": "Require template literals instead of string concatenation in `<template>`\nhttps://eslint.vuejs.org/rules/prefer-template.html"
        },
        "eslint-plugin-vue/prefer-true-attribute-shorthand": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "require shorthand form attribute when `v-bind` value is `true`\nhttps://eslint.vuejs.org/rules/prefer-true-attribute-shorthand.html"
        },
        "eslint-plugin-vue/prop-name-casing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce specific casing for the Prop name in Vue components\nhttps://eslint.vuejs.org/rules/prop-name-casing.html"
        },
        "eslint-plugin-vue/quote-props": {
          "description": "Require quotes around object literal property names in `<template>`\nhttps://eslint.vuejs.org/rules/quote-props.html"
        },
        "eslint-plugin-vue/require-component-is": {
          "description": "require `v-bind:is` of `<component>` elements\nhttps://eslint.vuejs.org/rules/require-component-is.html"
        },
        "eslint-plugin-vue/require-default-prop": {
          "description": "require default value for props\nhttps://eslint.vuejs.org/rules/require-default-prop.html"
        },
        "eslint-plugin-vue/require-direct-export": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "disallowFunctionalComponentFunction": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "require the component to be directly exported\nhttps://eslint.vuejs.org/rules/require-direct-export.html"
        },
        "eslint-plugin-vue/require-emit-validator": {
          "description": "require type definitions in emits\nhttps://eslint.vuejs.org/rules/require-emit-validator.html"
        },
        "eslint-plugin-vue/require-explicit-emits": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowProps": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "require `emits` option with name triggered by `$emit()`\nhttps://eslint.vuejs.org/rules/require-explicit-emits.html"
        },
        "eslint-plugin-vue/require-explicit-slots": {
          "description": "require slots to be explicitly defined\nhttps://eslint.vuejs.org/rules/require-explicit-slots.html"
        },
        "eslint-plugin-vue/require-expose": {
          "description": "require declare public properties using `expose`\nhttps://eslint.vuejs.org/rules/require-expose.html"
        },
        "eslint-plugin-vue/require-macro-variable-name": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "defineProps": {
                      "type": "string",
                      "default": "props"
                    },
                    "defineEmits": {
                      "type": "string",
                      "default": "emit"
                    },
                    "defineSlots": {
                      "type": "string",
                      "default": "slots"
                    },
                    "useSlots": {
                      "type": "string",
                      "default": "slots"
                    },
                    "useAttrs": {
                      "type": "string",
                      "default": "attrs"
                    }
                  }
                }
              ]
            }
          ],
          "description": "require a certain macro variable name\nhttps://eslint.vuejs.org/rules/require-macro-variable-name.html"
        },
        "eslint-plugin-vue/require-name-property": {
          "description": "require a name property in Vue components\nhttps://eslint.vuejs.org/rules/require-name-property.html"
        },
        "eslint-plugin-vue/require-prop-comment": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "type": {
                      "enum": [
                        "JSDoc",
                        "line",
                        "block",
                        "any"
                      ]
                    }
                  }
                }
              ]
            }
          ],
          "description": "require props to have a comment\nhttps://eslint.vuejs.org/rules/require-prop-comment.html"
        },
        "eslint-plugin-vue/require-prop-type-constructor": {
          "description": "require prop type to be a constructor\nhttps://eslint.vuejs.org/rules/require-prop-type-constructor.html"
        },
        "eslint-plugin-vue/require-prop-types": {
          "description": "require type definitions in props\nhttps://eslint.vuejs.org/rules/require-prop-types.html"
        },
        "eslint-plugin-vue/require-render-return": {
          "description": "enforce render function to always return value\nhttps://eslint.vuejs.org/rules/require-render-return.html"
        },
        "eslint-plugin-vue/require-slots-as-functions": {
          "description": "enforce properties of `$slots` to be used as a function\nhttps://eslint.vuejs.org/rules/require-slots-as-functions.html"
        },
        "eslint-plugin-vue/require-toggle-inside-transition": {
          "description": "require control the display of the content inside `<transition>`\nhttps://eslint.vuejs.org/rules/require-toggle-inside-transition.html"
        },
        "eslint-plugin-vue/require-typed-object-prop": {
          "description": "enforce adding type declarations to object props\nhttps://eslint.vuejs.org/rules/require-typed-object-prop.html"
        },
        "eslint-plugin-vue/require-typed-ref": {
          "description": "require `ref` and `shallowRef` functions to be strongly typed\nhttps://eslint.vuejs.org/rules/require-typed-ref.html"
        },
        "eslint-plugin-vue/require-v-for-key": {
          "description": "require `v-bind:key` with `v-for` directives\nhttps://eslint.vuejs.org/rules/require-v-for-key.html"
        },
        "eslint-plugin-vue/require-valid-default-prop": {
          "description": "enforce props default values to be valid\nhttps://eslint.vuejs.org/rules/require-valid-default-prop.html"
        },
        "eslint-plugin-vue/return-in-computed-property": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "treatUndefinedAsUnspecified": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "enforce that a return statement is present in computed property\nhttps://eslint.vuejs.org/rules/return-in-computed-property.html"
        },
        "eslint-plugin-vue/return-in-emits-validator": {
          "description": "enforce that a return statement is present in emits validator\nhttps://eslint.vuejs.org/rules/return-in-emits-validator.html"
        },
        "eslint-plugin-vue/script-indent": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce consistent indentation in `<script>`\nhttps://eslint.vuejs.org/rules/script-indent.html"
        },
        "eslint-plugin-vue/script-setup-uses-vars": {
          "description": "prevent `<script setup>` variables used in `<template>` to be marked as unused\nhttps://eslint.vuejs.org/rules/script-setup-uses-vars.html"
        },
        "eslint-plugin-vue/singleline-html-element-content-newline": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoreWhenNoAttributes": {
                      "type": "boolean"
                    },
                    "ignoreWhenEmpty": {
                      "type": "boolean"
                    },
                    "ignores": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "externalIgnores": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "require a line break before and after the contents of a singleline element\nhttps://eslint.vuejs.org/rules/singleline-html-element-content-newline.html"
        },
        "eslint-plugin-vue/sort-keys": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce sort-keys in a manner that is compatible with order-in-components\nhttps://eslint.vuejs.org/rules/sort-keys.html"
        },
        "eslint-plugin-vue/space-in-parens": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent spacing inside parentheses in `<template>`\nhttps://eslint.vuejs.org/rules/space-in-parens.html"
        },
        "eslint-plugin-vue/space-infix-ops": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "int32Hint": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require spacing around infix operators in `<template>`\nhttps://eslint.vuejs.org/rules/space-infix-ops.html"
        },
        "eslint-plugin-vue/space-unary-ops": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "words": {
                      "type": "boolean",
                      "default": true
                    },
                    "nonwords": {
                      "type": "boolean",
                      "default": false
                    },
                    "overrides": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce consistent spacing before or after unary operators in `<template>`\nhttps://eslint.vuejs.org/rules/space-unary-ops.html"
        },
        "eslint-plugin-vue/static-class-names-order": {
          "description": "enforce static class names order\nhttps://eslint.vuejs.org/rules/static-class-names-order.html"
        },
        "eslint-plugin-vue/template-curly-spacing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Require or disallow spacing around embedded expressions of template strings in `<template>`\nhttps://eslint.vuejs.org/rules/template-curly-spacing.html"
        },
        "eslint-plugin-vue/this-in-template": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "disallow usage of `this` in template\nhttps://eslint.vuejs.org/rules/this-in-template.html"
        },
        "eslint-plugin-vue/use-v-on-exact": {
          "description": "enforce usage of `exact` modifier on `v-on`\nhttps://eslint.vuejs.org/rules/use-v-on-exact.html"
        },
        "eslint-plugin-vue/v-bind-style": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce `v-bind` directive style\nhttps://eslint.vuejs.org/rules/v-bind-style.html"
        },
        "eslint-plugin-vue/v-for-delimiter-style": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce `v-for` directive's delimiter style\nhttps://eslint.vuejs.org/rules/v-for-delimiter-style.html"
        },
        "eslint-plugin-vue/v-if-else-key": {
          "description": "require key attribute for conditionally rendered repeated components\nhttps://eslint.vuejs.org/rules/v-if-else-key.html"
        },
        "eslint-plugin-vue/v-on-event-hyphenation": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce v-on event naming style on custom components in template\nhttps://eslint.vuejs.org/rules/v-on-event-hyphenation.html"
        },
        "eslint-plugin-vue/v-on-function-call": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce or forbid parentheses after method calls without arguments in `v-on` directives\nhttps://eslint.vuejs.org/rules/v-on-function-call.html"
        },
        "eslint-plugin-vue/v-on-handler-style": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce writing style for handlers in `v-on` directives\nhttps://eslint.vuejs.org/rules/v-on-handler-style.html"
        },
        "eslint-plugin-vue/v-on-style": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce `v-on` directive style\nhttps://eslint.vuejs.org/rules/v-on-style.html"
        },
        "eslint-plugin-vue/v-slot-style": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "enforce `v-slot` directive style\nhttps://eslint.vuejs.org/rules/v-slot-style.html"
        },
        "eslint-plugin-vue/valid-attribute-name": {
          "description": "require valid attribute names\nhttps://eslint.vuejs.org/rules/valid-attribute-name.html"
        },
        "eslint-plugin-vue/valid-define-emits": {
          "description": "enforce valid `defineEmits` compiler macro\nhttps://eslint.vuejs.org/rules/valid-define-emits.html"
        },
        "eslint-plugin-vue/valid-define-options": {
          "description": "enforce valid `defineOptions` compiler macro\nhttps://eslint.vuejs.org/rules/valid-define-options.html"
        },
        "eslint-plugin-vue/valid-define-props": {
          "description": "enforce valid `defineProps` compiler macro\nhttps://eslint.vuejs.org/rules/valid-define-props.html"
        },
        "eslint-plugin-vue/valid-model-definition": {
          "description": "require valid keys in model option\nhttps://eslint.vuejs.org/rules/valid-model-definition.html"
        },
        "eslint-plugin-vue/valid-next-tick": {
          "description": "enforce valid `nextTick` function calls\nhttps://eslint.vuejs.org/rules/valid-next-tick.html"
        },
        "eslint-plugin-vue/valid-template-root": {
          "description": "enforce valid template root\nhttps://eslint.vuejs.org/rules/valid-template-root.html"
        },
        "eslint-plugin-vue/valid-v-bind-sync": {
          "description": "enforce valid `.sync` modifier on `v-bind` directives\nhttps://eslint.vuejs.org/rules/valid-v-bind-sync.html"
        },
        "eslint-plugin-vue/valid-v-bind": {
          "description": "enforce valid `v-bind` directives\nhttps://eslint.vuejs.org/rules/valid-v-bind.html"
        },
        "eslint-plugin-vue/valid-v-cloak": {
          "description": "enforce valid `v-cloak` directives\nhttps://eslint.vuejs.org/rules/valid-v-cloak.html"
        },
        "eslint-plugin-vue/valid-v-else-if": {
          "description": "enforce valid `v-else-if` directives\nhttps://eslint.vuejs.org/rules/valid-v-else-if.html"
        },
        "eslint-plugin-vue/valid-v-else": {
          "description": "enforce valid `v-else` directives\nhttps://eslint.vuejs.org/rules/valid-v-else.html"
        },
        "eslint-plugin-vue/valid-v-for": {
          "description": "enforce valid `v-for` directives\nhttps://eslint.vuejs.org/rules/valid-v-for.html"
        },
        "eslint-plugin-vue/valid-v-html": {
          "description": "enforce valid `v-html` directives\nhttps://eslint.vuejs.org/rules/valid-v-html.html"
        },
        "eslint-plugin-vue/valid-v-if": {
          "description": "enforce valid `v-if` directives\nhttps://eslint.vuejs.org/rules/valid-v-if.html"
        },
        "eslint-plugin-vue/valid-v-is": {
          "description": "enforce valid `v-is` directives\nhttps://eslint.vuejs.org/rules/valid-v-is.html"
        },
        "eslint-plugin-vue/valid-v-memo": {
          "description": "enforce valid `v-memo` directives\nhttps://eslint.vuejs.org/rules/valid-v-memo.html"
        },
        "eslint-plugin-vue/valid-v-model": {
          "description": "enforce valid `v-model` directives\nhttps://eslint.vuejs.org/rules/valid-v-model.html"
        },
        "eslint-plugin-vue/valid-v-on": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "modifiers": {
                      "type": "array"
                    }
                  }
                }
              ]
            }
          ],
          "description": "enforce valid `v-on` directives\nhttps://eslint.vuejs.org/rules/valid-v-on.html"
        },
        "eslint-plugin-vue/valid-v-once": {
          "description": "enforce valid `v-once` directives\nhttps://eslint.vuejs.org/rules/valid-v-once.html"
        },
        "eslint-plugin-vue/valid-v-pre": {
          "description": "enforce valid `v-pre` directives\nhttps://eslint.vuejs.org/rules/valid-v-pre.html"
        },
        "eslint-plugin-vue/valid-v-show": {
          "description": "enforce valid `v-show` directives\nhttps://eslint.vuejs.org/rules/valid-v-show.html"
        },
        "eslint-plugin-vue/valid-v-slot": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowModifiers": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "enforce valid `v-slot` directives\nhttps://eslint.vuejs.org/rules/valid-v-slot.html"
        },
        "eslint-plugin-vue/valid-v-text": {
          "description": "enforce valid `v-text` directives\nhttps://eslint.vuejs.org/rules/valid-v-text.html"
        },
        "@typescript-eslint/adjacent-overload-signatures": {
          "description": "Require that function overload signatures be consecutive\nhttps://typescript-eslint.io/rules/adjacent-overload-signatures"
        },
        "@typescript-eslint/array-type": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "default": {
                      "description": "The array type expected for mutable cases."
                    },
                    "readonly": {
                      "description": "The array type expected for readonly cases. If omitted, the value for `default` will be used."
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require consistently using either `T[]` or `Array<T>` for arrays\nhttps://typescript-eslint.io/rules/array-type"
        },
        "@typescript-eslint/await-thenable": {
          "description": "Disallow awaiting a value that is not a Thenable\nhttps://typescript-eslint.io/rules/await-thenable"
        },
        "@typescript-eslint/ban-ts-comment": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ts-expect-error": {},
                    "ts-ignore": {},
                    "ts-nocheck": {},
                    "ts-check": {},
                    "minimumDescriptionLength": {
                      "type": "number",
                      "default": 3
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow `@ts-<directive>` comments or require descriptions after directives\nhttps://typescript-eslint.io/rules/ban-ts-comment"
        },
        "@typescript-eslint/ban-tslint-comment": {
          "description": "Disallow `// tslint:<rule-flag>` comments\nhttps://typescript-eslint.io/rules/ban-tslint-comment"
        },
        "@typescript-eslint/ban-types": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "types": {
                      "type": "object",
                      "additionalProperties": {}
                    },
                    "extendDefaults": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow certain types\nhttps://typescript-eslint.io/rules/ban-types"
        },
        "@typescript-eslint/block-spacing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Disallow or enforce spaces inside of blocks after opening block and before closing block\nhttps://typescript-eslint.io/rules/block-spacing"
        },
        "@typescript-eslint/brace-style": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent brace style for blocks\nhttps://typescript-eslint.io/rules/brace-style"
        },
        "@typescript-eslint/class-literal-property-style": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce that literals on classes are exposed in a consistent style\nhttps://typescript-eslint.io/rules/class-literal-property-style"
        },
        "@typescript-eslint/class-methods-use-this": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "exceptMethods": {
                      "type": "array",
                      "description": "Allows specified method names to be ignored with this rule",
                      "items": {
                        "type": "string"
                      }
                    },
                    "enforceForClassFields": {
                      "type": "boolean",
                      "description": "Enforces that functions used as instance field initializers utilize `this`",
                      "default": true
                    },
                    "ignoreOverrideMethods": {
                      "type": "boolean",
                      "description": "Ignore members marked with the `override` modifier"
                    },
                    "ignoreClassesThatImplementAnInterface": {
                      "oneOf": [
                        {
                          "type": "boolean",
                          "description": "Ignore all classes that implement an interface"
                        },
                        {
                          "type": "string",
                          "enum": [
                            "public-fields"
                          ],
                          "description": "Ignore only the public fields of classes that implement an interface"
                        }
                      ],
                      "description": "Ignore classes that specifically implement some interface"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce that class methods utilize `this`\nhttps://typescript-eslint.io/rules/class-methods-use-this"
        },
        "@typescript-eslint/comma-dangle": {
          "description": "Require or disallow trailing commas\nhttps://typescript-eslint.io/rules/comma-dangle"
        },
        "@typescript-eslint/comma-spacing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "before": {
                      "type": "boolean",
                      "default": false
                    },
                    "after": {
                      "type": "boolean",
                      "default": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce consistent spacing before and after commas\nhttps://typescript-eslint.io/rules/comma-spacing"
        },
        "@typescript-eslint/consistent-generic-constructors": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce specifying generic type arguments on type annotation or constructor name of a constructor call\nhttps://typescript-eslint.io/rules/consistent-generic-constructors"
        },
        "@typescript-eslint/consistent-indexed-object-style": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "record",
                    "index-signature"
                  ],
                  "description": "Whether to only allow the `Record` type or only allow index signatures"
                }
              ]
            }
          ],
          "description": "Require or disallow the `Record` type\nhttps://typescript-eslint.io/rules/consistent-indexed-object-style"
        },
        "@typescript-eslint/consistent-return": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "treatUndefinedAsUnspecified": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require `return` statements to either always or never specify values\nhttps://typescript-eslint.io/rules/consistent-return"
        },
        "@typescript-eslint/consistent-type-assertions": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent usage of type assertions\nhttps://typescript-eslint.io/rules/consistent-type-assertions"
        },
        "@typescript-eslint/consistent-type-definitions": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "string",
                  "description": "This rule accepts the following options: \"interface\" (default): enforce using interfaces for object type definitions. \"type\": enforce using types for object type definitions.",
                  "enum": [
                    "interface",
                    "type"
                  ]
                }
              ]
            }
          ],
          "description": "Enforce type definitions to consistently use either `interface` or `type`\nhttps://typescript-eslint.io/rules/consistent-type-definitions"
        },
        "@typescript-eslint/consistent-type-exports": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "fixMixedExportsWithInlineTypeSpecifier": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce consistent usage of type exports\nhttps://typescript-eslint.io/rules/consistent-type-exports"
        },
        "@typescript-eslint/consistent-type-imports": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "disallowTypeAnnotations": {
                      "type": "boolean"
                    },
                    "fixStyle": {
                      "type": "string",
                      "enum": [
                        "separate-type-imports",
                        "inline-type-imports"
                      ]
                    },
                    "prefer": {
                      "type": "string",
                      "enum": [
                        "type-imports",
                        "no-type-imports"
                      ]
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce consistent usage of type imports\nhttps://typescript-eslint.io/rules/consistent-type-imports"
        },
        "@typescript-eslint/default-param-last": {
          "description": "Enforce default parameters to be last\nhttps://typescript-eslint.io/rules/default-param-last"
        },
        "@typescript-eslint/dot-notation": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowKeywords": {
                      "type": "boolean",
                      "default": true
                    },
                    "allowPattern": {
                      "type": "string",
                      "default": ""
                    },
                    "allowPrivateClassPropertyAccess": {
                      "type": "boolean",
                      "default": false
                    },
                    "allowProtectedClassPropertyAccess": {
                      "type": "boolean",
                      "default": false
                    },
                    "allowIndexSignaturePropertyAccess": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce dot notation whenever possible\nhttps://typescript-eslint.io/rules/dot-notation"
        },
        "@typescript-eslint/explicit-function-return-type": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowConciseArrowFunctionExpressionsStartingWithVoid": {
                      "description": "Whether to allow arrow functions that start with the `void` keyword.",
                      "type": "boolean"
                    },
                    "allowExpressions": {
                      "description": "Whether to ignore function expressions (functions which are not part of a declaration).",
                      "type": "boolean"
                    },
                    "allowHigherOrderFunctions": {
                      "description": "Whether to ignore functions immediately returning another function expression.",
                      "type": "boolean"
                    },
                    "allowTypedFunctionExpressions": {
                      "description": "Whether to ignore type annotations on the variable of function expressions.",
                      "type": "boolean"
                    },
                    "allowDirectConstAssertionInArrowFunctions": {
                      "description": "Whether to ignore arrow functions immediately returning a `as const` value.",
                      "type": "boolean"
                    },
                    "allowFunctionsWithoutTypeParameters": {
                      "description": "Whether to ignore functions that don't have generic type parameters.",
                      "type": "boolean"
                    },
                    "allowedNames": {
                      "description": "An array of function/method names that will not have their arguments or return values checked.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "allowIIFEs": {
                      "description": "Whether to ignore immediately invoked function expressions (IIFEs).",
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require explicit return types on functions and class methods\nhttps://typescript-eslint.io/rules/explicit-function-return-type"
        },
        "@typescript-eslint/explicit-member-accessibility": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "accessibility": {},
                    "overrides": {
                      "type": "object",
                      "properties": {
                        "accessors": {},
                        "constructors": {},
                        "methods": {},
                        "properties": {},
                        "parameterProperties": {}
                      },
                      "additionalProperties": false
                    },
                    "ignoredMethodNames": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require explicit accessibility modifiers on class properties and methods\nhttps://typescript-eslint.io/rules/explicit-member-accessibility"
        },
        "@typescript-eslint/explicit-module-boundary-types": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowArgumentsExplicitlyTypedAsAny": {
                      "description": "Whether to ignore arguments that are explicitly typed as `any`.",
                      "type": "boolean"
                    },
                    "allowDirectConstAssertionInArrowFunctions": {
                      "description": "Whether to ignore return type annotations on body-less arrow functions that return an `as const` type assertion.\nYou must still type the parameters of the function.",
                      "type": "boolean"
                    },
                    "allowedNames": {
                      "description": "An array of function/method names that will not have their arguments or return values checked.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "allowHigherOrderFunctions": {
                      "description": "Whether to ignore return type annotations on functions immediately returning another function expression.\nYou must still type the parameters of the function.",
                      "type": "boolean"
                    },
                    "allowTypedFunctionExpressions": {
                      "description": "Whether to ignore type annotations on the variable of a function expression.",
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require explicit return and argument types on exported functions' and classes' public class methods\nhttps://typescript-eslint.io/rules/explicit-module-boundary-types"
        },
        "@typescript-eslint/func-call-spacing": {
          "description": "Require or disallow spacing between function identifiers and their invocations\nhttps://typescript-eslint.io/rules/func-call-spacing"
        },
        "@typescript-eslint/indent": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent indentation\nhttps://typescript-eslint.io/rules/indent"
        },
        "@typescript-eslint/init-declarations": {
          "description": "Require or disallow initialization in variable declarations\nhttps://typescript-eslint.io/rules/init-declarations"
        },
        "@typescript-eslint/key-spacing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent spacing between property names and type annotations in types and interfaces\nhttps://typescript-eslint.io/rules/key-spacing"
        },
        "@typescript-eslint/keyword-spacing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "before": {
                      "type": "boolean",
                      "default": true
                    },
                    "after": {
                      "type": "boolean",
                      "default": true
                    },
                    "overrides": {
                      "type": "object",
                      "properties": {
                        "abstract": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "as": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "async": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "await": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "boolean": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "break": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "byte": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "case": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "catch": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "char": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "class": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "const": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "continue": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "debugger": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "default": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "delete": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "do": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "double": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "else": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "enum": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "export": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "extends": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "false": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "final": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "finally": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "float": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "for": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "from": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "function": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "get": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "goto": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "if": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "implements": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "import": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "in": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "instanceof": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "int": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "interface": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "let": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "long": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "native": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "new": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "null": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "of": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "package": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "private": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "protected": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "public": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "return": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "set": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "short": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "static": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "super": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "switch": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "synchronized": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "this": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "throw": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "throws": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "transient": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "true": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "try": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "typeof": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "var": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "void": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "volatile": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "while": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "with": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "yield": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        },
                        "type": {
                          "type": "object",
                          "properties": {
                            "before": {
                              "type": "boolean"
                            },
                            "after": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce consistent spacing before and after keywords\nhttps://typescript-eslint.io/rules/keyword-spacing"
        },
        "@typescript-eslint/lines-around-comment": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "beforeBlockComment": {
                      "type": "boolean",
                      "default": true
                    },
                    "afterBlockComment": {
                      "type": "boolean",
                      "default": false
                    },
                    "beforeLineComment": {
                      "type": "boolean",
                      "default": false
                    },
                    "afterLineComment": {
                      "type": "boolean",
                      "default": false
                    },
                    "allowBlockStart": {
                      "type": "boolean",
                      "default": false
                    },
                    "allowBlockEnd": {
                      "type": "boolean",
                      "default": false
                    },
                    "allowClassStart": {
                      "type": "boolean"
                    },
                    "allowClassEnd": {
                      "type": "boolean"
                    },
                    "allowObjectStart": {
                      "type": "boolean"
                    },
                    "allowObjectEnd": {
                      "type": "boolean"
                    },
                    "allowArrayStart": {
                      "type": "boolean"
                    },
                    "allowArrayEnd": {
                      "type": "boolean"
                    },
                    "allowInterfaceStart": {
                      "type": "boolean"
                    },
                    "allowInterfaceEnd": {
                      "type": "boolean"
                    },
                    "allowTypeStart": {
                      "type": "boolean"
                    },
                    "allowTypeEnd": {
                      "type": "boolean"
                    },
                    "allowEnumStart": {
                      "type": "boolean"
                    },
                    "allowEnumEnd": {
                      "type": "boolean"
                    },
                    "allowModuleStart": {
                      "type": "boolean"
                    },
                    "allowModuleEnd": {
                      "type": "boolean"
                    },
                    "ignorePattern": {
                      "type": "string"
                    },
                    "applyDefaultIgnorePatterns": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require empty lines around comments\nhttps://typescript-eslint.io/rules/lines-around-comment"
        },
        "@typescript-eslint/lines-between-class-members": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Require or disallow an empty line between class members\nhttps://typescript-eslint.io/rules/lines-between-class-members"
        },
        "@typescript-eslint/max-params": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "maximum": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "max": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "countVoidThis": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce a maximum number of parameters in function definitions\nhttps://typescript-eslint.io/rules/max-params"
        },
        "@typescript-eslint/member-delimiter-style": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "multiline": {
                      "type": "object",
                      "properties": {
                        "delimiter": {},
                        "requireLast": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "singleline": {
                      "type": "object",
                      "properties": {
                        "delimiter": {},
                        "requireLast": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "overrides": {
                      "type": "object",
                      "properties": {
                        "interface": {},
                        "typeLiteral": {}
                      },
                      "additionalProperties": false
                    },
                    "multilineDetection": {
                      "type": "string",
                      "enum": [
                        "brackets",
                        "last-member"
                      ]
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require a specific member delimiter style for interfaces and type literals\nhttps://typescript-eslint.io/rules/member-delimiter-style"
        },
        "@typescript-eslint/member-ordering": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "default": {},
                    "classes": {},
                    "classExpressions": {},
                    "interfaces": {},
                    "typeLiterals": {}
                  }
                }
              ]
            }
          ],
          "description": "Require a consistent member declaration order\nhttps://typescript-eslint.io/rules/member-ordering"
        },
        "@typescript-eslint/method-signature-style": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce using a particular method signature syntax\nhttps://typescript-eslint.io/rules/method-signature-style"
        },
        "@typescript-eslint/naming-convention": {
          "description": "Enforce naming conventions for everything across a codebase\nhttps://typescript-eslint.io/rules/naming-convention"
        },
        "@typescript-eslint/no-array-constructor": {
          "description": "Disallow generic `Array` constructors\nhttps://typescript-eslint.io/rules/no-array-constructor"
        },
        "@typescript-eslint/no-array-delete": {
          "description": "Disallow using the `delete` operator on array values\nhttps://typescript-eslint.io/rules/no-array-delete"
        },
        "@typescript-eslint/no-base-to-string": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoredTypeNames": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require `.toString()` to only be called on objects which provide useful information when stringified\nhttps://typescript-eslint.io/rules/no-base-to-string"
        },
        "@typescript-eslint/no-confusing-non-null-assertion": {
          "description": "Disallow non-null assertion in locations that may be confusing\nhttps://typescript-eslint.io/rules/no-confusing-non-null-assertion"
        },
        "@typescript-eslint/no-confusing-void-expression": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoreArrowShorthand": {
                      "type": "boolean"
                    },
                    "ignoreVoidOperator": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require expressions of type void to appear in statement position\nhttps://typescript-eslint.io/rules/no-confusing-void-expression"
        },
        "@typescript-eslint/no-dupe-class-members": {
          "description": "Disallow duplicate class members\nhttps://typescript-eslint.io/rules/no-dupe-class-members"
        },
        "@typescript-eslint/no-duplicate-enum-values": {
          "description": "Disallow duplicate enum member values\nhttps://typescript-eslint.io/rules/no-duplicate-enum-values"
        },
        "@typescript-eslint/no-duplicate-type-constituents": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoreIntersections": {
                      "type": "boolean"
                    },
                    "ignoreUnions": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow duplicate constituents of union or intersection types\nhttps://typescript-eslint.io/rules/no-duplicate-type-constituents"
        },
        "@typescript-eslint/no-dynamic-delete": {
          "description": "Disallow using the `delete` operator on computed key expressions\nhttps://typescript-eslint.io/rules/no-dynamic-delete"
        },
        "@typescript-eslint/no-empty-function": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allow": {
                      "type": "array",
                      "items": {
                        "enum": [
                          "functions",
                          "arrowFunctions",
                          "generatorFunctions",
                          "methods",
                          "generatorMethods",
                          "getters",
                          "setters",
                          "constructors",
                          "private-constructors",
                          "protected-constructors",
                          "asyncFunctions",
                          "asyncMethods",
                          "decoratedFunctions",
                          "overrideMethods"
                        ],
                        "type": "string"
                      },
                      "uniqueItems": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow empty functions\nhttps://typescript-eslint.io/rules/no-empty-function"
        },
        "@typescript-eslint/no-empty-interface": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowSingleExtends": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow the declaration of empty interfaces\nhttps://typescript-eslint.io/rules/no-empty-interface"
        },
        "@typescript-eslint/no-explicit-any": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "fixToUnknown": {
                      "description": "Whether to enable auto-fixing in which the `any` type is converted to the `unknown` type.",
                      "type": "boolean"
                    },
                    "ignoreRestArgs": {
                      "description": "Whether to ignore rest parameter arrays.",
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow the `any` type\nhttps://typescript-eslint.io/rules/no-explicit-any"
        },
        "@typescript-eslint/no-extra-non-null-assertion": {
          "description": "Disallow extra non-null assertions\nhttps://typescript-eslint.io/rules/no-extra-non-null-assertion"
        },
        "@typescript-eslint/no-extra-parens": {
          "description": "Disallow unnecessary parentheses\nhttps://typescript-eslint.io/rules/no-extra-parens"
        },
        "@typescript-eslint/no-extra-semi": {
          "description": "Disallow unnecessary semicolons\nhttps://typescript-eslint.io/rules/no-extra-semi"
        },
        "@typescript-eslint/no-extraneous-class": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowConstructorOnly": {
                      "description": "Whether to allow extraneous classes that contain only a constructor.",
                      "type": "boolean"
                    },
                    "allowEmpty": {
                      "description": "Whether to allow extraneous classes that have no body (i.e. are empty).",
                      "type": "boolean"
                    },
                    "allowStaticOnly": {
                      "description": "Whether to allow extraneous classes that only contain static members.",
                      "type": "boolean"
                    },
                    "allowWithDecorator": {
                      "description": "Whether to allow extraneous classes that include a decorator.",
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow classes used as namespaces\nhttps://typescript-eslint.io/rules/no-extraneous-class"
        },
        "@typescript-eslint/no-floating-promises": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoreVoid": {
                      "description": "Whether to ignore `void` expressions.",
                      "type": "boolean"
                    },
                    "ignoreIIFE": {
                      "description": "Whether to ignore async IIFEs (Immediately Invoked Function Expressions).",
                      "type": "boolean"
                    },
                    "allowForKnownSafePromises": {
                      "type": "array",
                      "items": {
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "from": {
                                "type": "string",
                                "enum": [
                                  "file"
                                ]
                              },
                              "name": {
                                "oneOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "array",
                                    "minItems": 1,
                                    "uniqueItems": true,
                                    "items": {
                                      "type": "string"
                                    }
                                  }
                                ]
                              },
                              "path": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "from",
                              "name"
                            ]
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "from": {
                                "type": "string",
                                "enum": [
                                  "lib"
                                ]
                              },
                              "name": {
                                "oneOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "array",
                                    "minItems": 1,
                                    "uniqueItems": true,
                                    "items": {
                                      "type": "string"
                                    }
                                  }
                                ]
                              }
                            },
                            "required": [
                              "from",
                              "name"
                            ]
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "from": {
                                "type": "string",
                                "enum": [
                                  "package"
                                ]
                              },
                              "name": {
                                "oneOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "array",
                                    "minItems": 1,
                                    "uniqueItems": true,
                                    "items": {
                                      "type": "string"
                                    }
                                  }
                                ]
                              },
                              "package": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "from",
                              "name",
                              "package"
                            ]
                          }
                        ]
                      }
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require Promise-like statements to be handled appropriately\nhttps://typescript-eslint.io/rules/no-floating-promises"
        },
        "@typescript-eslint/no-for-in-array": {
          "description": "Disallow iterating over an array with a for-in loop\nhttps://typescript-eslint.io/rules/no-for-in-array"
        },
        "@typescript-eslint/no-implied-eval": {
          "description": "Disallow the use of `eval()`-like methods\nhttps://typescript-eslint.io/rules/no-implied-eval"
        },
        "@typescript-eslint/no-import-type-side-effects": {
          "description": "Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers\nhttps://typescript-eslint.io/rules/no-import-type-side-effects"
        },
        "@typescript-eslint/no-inferrable-types": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoreParameters": {
                      "type": "boolean"
                    },
                    "ignoreProperties": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean\nhttps://typescript-eslint.io/rules/no-inferrable-types"
        },
        "@typescript-eslint/no-invalid-this": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "capIsConstructor": {
                      "type": "boolean",
                      "default": true
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow `this` keywords outside of classes or class-like objects\nhttps://typescript-eslint.io/rules/no-invalid-this"
        },
        "@typescript-eslint/no-invalid-void-type": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowInGenericTypeArguments": {
                      "oneOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "minItems": 1
                        }
                      ]
                    },
                    "allowAsThisParameter": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow `void` type outside of generic or return types\nhttps://typescript-eslint.io/rules/no-invalid-void-type"
        },
        "@typescript-eslint/no-loop-func": {
          "description": "Disallow function declarations that contain unsafe references inside loop statements\nhttps://typescript-eslint.io/rules/no-loop-func"
        },
        "@typescript-eslint/no-loss-of-precision": {
          "description": "Disallow literal numbers that lose precision\nhttps://typescript-eslint.io/rules/no-loss-of-precision"
        },
        "@typescript-eslint/no-magic-numbers": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "detectObjects": {
                      "type": "boolean",
                      "default": false
                    },
                    "enforceConst": {
                      "type": "boolean",
                      "default": false
                    },
                    "ignore": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "type": "number"
                          },
                          {
                            "type": "string",
                            "pattern": "^[+-]?(?:0|[1-9][0-9]*)n$"
                          }
                        ]
                      },
                      "uniqueItems": true
                    },
                    "ignoreArrayIndexes": {
                      "type": "boolean",
                      "default": false
                    },
                    "ignoreDefaultValues": {
                      "type": "boolean",
                      "default": false
                    },
                    "ignoreClassFieldInitialValues": {
                      "type": "boolean",
                      "default": false
                    },
                    "ignoreNumericLiteralTypes": {
                      "type": "boolean"
                    },
                    "ignoreEnums": {
                      "type": "boolean"
                    },
                    "ignoreReadonlyClassProperties": {
                      "type": "boolean"
                    },
                    "ignoreTypeIndexes": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow magic numbers\nhttps://typescript-eslint.io/rules/no-magic-numbers"
        },
        "@typescript-eslint/no-meaningless-void-operator": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "checkNever": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow the `void` operator except when used to discard a value\nhttps://typescript-eslint.io/rules/no-meaningless-void-operator"
        },
        "@typescript-eslint/no-misused-new": {
          "description": "Enforce valid definition of `new` and `constructor`\nhttps://typescript-eslint.io/rules/no-misused-new"
        },
        "@typescript-eslint/no-misused-promises": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "checksConditionals": {
                      "type": "boolean"
                    },
                    "checksVoidReturn": {
                      "oneOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "additionalProperties": false,
                          "properties": {
                            "arguments": {
                              "type": "boolean"
                            },
                            "attributes": {
                              "type": "boolean"
                            },
                            "properties": {
                              "type": "boolean"
                            },
                            "returns": {
                              "type": "boolean"
                            },
                            "variables": {
                              "type": "boolean"
                            }
                          },
                          "type": "object"
                        }
                      ]
                    },
                    "checksSpreads": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow Promises in places not designed to handle them\nhttps://typescript-eslint.io/rules/no-misused-promises"
        },
        "@typescript-eslint/no-mixed-enums": {
          "description": "Disallow enums from having both number and string members\nhttps://typescript-eslint.io/rules/no-mixed-enums"
        },
        "@typescript-eslint/no-namespace": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowDeclarations": {
                      "description": "Whether to allow `declare` with custom TypeScript namespaces.",
                      "type": "boolean"
                    },
                    "allowDefinitionFiles": {
                      "description": "Whether to allow `declare` with custom TypeScript namespaces inside definition files.",
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow TypeScript namespaces\nhttps://typescript-eslint.io/rules/no-namespace"
        },
        "@typescript-eslint/no-non-null-asserted-nullish-coalescing": {
          "description": "Disallow non-null assertions in the left operand of a nullish coalescing operator\nhttps://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing"
        },
        "@typescript-eslint/no-non-null-asserted-optional-chain": {
          "description": "Disallow non-null assertions after an optional chain expression\nhttps://typescript-eslint.io/rules/no-non-null-asserted-optional-chain"
        },
        "@typescript-eslint/no-non-null-assertion": {
          "description": "Disallow non-null assertions using the `!` postfix operator\nhttps://typescript-eslint.io/rules/no-non-null-assertion"
        },
        "@typescript-eslint/no-redeclare": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "builtinGlobals": {
                      "type": "boolean"
                    },
                    "ignoreDeclarationMerge": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow variable redeclaration\nhttps://typescript-eslint.io/rules/no-redeclare"
        },
        "@typescript-eslint/no-redundant-type-constituents": {
          "description": "Disallow members of unions and intersections that do nothing or override type information\nhttps://typescript-eslint.io/rules/no-redundant-type-constituents"
        },
        "@typescript-eslint/no-require-imports": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allow": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Patterns of import paths to allow requiring from."
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow invocation of `require()`\nhttps://typescript-eslint.io/rules/no-require-imports"
        },
        "@typescript-eslint/no-restricted-imports": {
          "description": "Disallow specified modules when loaded by `import`\nhttps://typescript-eslint.io/rules/no-restricted-imports"
        },
        "@typescript-eslint/no-shadow": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "builtinGlobals": {
                      "type": "boolean"
                    },
                    "hoist": {
                      "type": "string",
                      "enum": [
                        "all",
                        "functions",
                        "never"
                      ]
                    },
                    "allow": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "ignoreOnInitialization": {
                      "type": "boolean"
                    },
                    "ignoreTypeValueShadow": {
                      "type": "boolean"
                    },
                    "ignoreFunctionTypeParameterNameValueShadow": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow variable declarations from shadowing variables declared in the outer scope\nhttps://typescript-eslint.io/rules/no-shadow"
        },
        "@typescript-eslint/no-this-alias": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowDestructuring": {
                      "description": "Whether to ignore destructurings, such as `const { props, state } = this`.",
                      "type": "boolean"
                    },
                    "allowedNames": {
                      "description": "Names to ignore, such as [\"self\"] for `const self = this;`.",
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow aliasing `this`\nhttps://typescript-eslint.io/rules/no-this-alias"
        },
        "@typescript-eslint/no-throw-literal": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowThrowingAny": {
                      "type": "boolean"
                    },
                    "allowThrowingUnknown": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow throwing literals as exceptions\nhttps://typescript-eslint.io/rules/no-throw-literal"
        },
        "@typescript-eslint/no-type-alias": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowAliases": {
                      "description": "Whether to allow direct one-to-one type aliases."
                    },
                    "allowCallbacks": {
                      "description": "Whether to allow type aliases for callbacks."
                    },
                    "allowConditionalTypes": {
                      "description": "Whether to allow type aliases for conditional types."
                    },
                    "allowConstructors": {
                      "description": "Whether to allow type aliases with constructors."
                    },
                    "allowLiterals": {
                      "description": "Whether to allow type aliases with object literal types."
                    },
                    "allowMappedTypes": {
                      "description": "Whether to allow type aliases with mapped types."
                    },
                    "allowTupleTypes": {
                      "description": "Whether to allow type aliases with tuple types."
                    },
                    "allowGenerics": {
                      "description": "Whether to allow type aliases with generic types."
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow type aliases\nhttps://typescript-eslint.io/rules/no-type-alias"
        },
        "@typescript-eslint/no-unnecessary-boolean-literal-compare": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowComparingNullableBooleansToTrue": {
                      "description": "Whether to allow comparisons between nullable boolean variables and `true`.",
                      "type": "boolean"
                    },
                    "allowComparingNullableBooleansToFalse": {
                      "description": "Whether to allow comparisons between nullable boolean variables and `false`.",
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow unnecessary equality comparisons against boolean literals\nhttps://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare"
        },
        "@typescript-eslint/no-unnecessary-condition": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowConstantLoopConditions": {
                      "description": "Whether to ignore constant loop conditions, such as `while (true)`.",
                      "type": "boolean"
                    },
                    "allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing": {
                      "description": "Whether to not error when running with a tsconfig that has strictNullChecks turned.",
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow conditionals where the type is always truthy or always falsy\nhttps://typescript-eslint.io/rules/no-unnecessary-condition"
        },
        "@typescript-eslint/no-unnecessary-qualifier": {
          "description": "Disallow unnecessary namespace qualifiers\nhttps://typescript-eslint.io/rules/no-unnecessary-qualifier"
        },
        "@typescript-eslint/no-unnecessary-template-expression": {
          "description": "Disallow unnecessary template expressions\nhttps://typescript-eslint.io/rules/no-unnecessary-template-expression"
        },
        "@typescript-eslint/no-unnecessary-type-arguments": {
          "description": "Disallow type arguments that are equal to the default\nhttps://typescript-eslint.io/rules/no-unnecessary-type-arguments"
        },
        "@typescript-eslint/no-unnecessary-type-assertion": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "typesToIgnore": {
                      "description": "A list of type names to ignore.",
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow type assertions that do not change the type of an expression\nhttps://typescript-eslint.io/rules/no-unnecessary-type-assertion"
        },
        "@typescript-eslint/no-unnecessary-type-constraint": {
          "description": "Disallow unnecessary constraints on generic types\nhttps://typescript-eslint.io/rules/no-unnecessary-type-constraint"
        },
        "@typescript-eslint/no-unsafe-argument": {
          "description": "Disallow calling a function with a value with type `any`\nhttps://typescript-eslint.io/rules/no-unsafe-argument"
        },
        "@typescript-eslint/no-unsafe-assignment": {
          "description": "Disallow assigning a value with type `any` to variables and properties\nhttps://typescript-eslint.io/rules/no-unsafe-assignment"
        },
        "@typescript-eslint/no-unsafe-call": {
          "description": "Disallow calling a value with type `any`\nhttps://typescript-eslint.io/rules/no-unsafe-call"
        },
        "@typescript-eslint/no-unsafe-declaration-merging": {
          "description": "Disallow unsafe declaration merging\nhttps://typescript-eslint.io/rules/no-unsafe-declaration-merging"
        },
        "@typescript-eslint/no-unsafe-enum-comparison": {
          "description": "Disallow comparing an enum value with a non-enum value\nhttps://typescript-eslint.io/rules/no-unsafe-enum-comparison"
        },
        "@typescript-eslint/no-unsafe-member-access": {
          "description": "Disallow member access on a value with type `any`\nhttps://typescript-eslint.io/rules/no-unsafe-member-access"
        },
        "@typescript-eslint/no-unsafe-return": {
          "description": "Disallow returning a value with type `any` from a function\nhttps://typescript-eslint.io/rules/no-unsafe-return"
        },
        "@typescript-eslint/no-unsafe-unary-minus": {
          "description": "Require unary negation to take a number\nhttps://typescript-eslint.io/rules/no-unsafe-unary-minus"
        },
        "@typescript-eslint/no-unused-expressions": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowShortCircuit": {
                      "type": "boolean",
                      "default": false
                    },
                    "allowTernary": {
                      "type": "boolean",
                      "default": false
                    },
                    "allowTaggedTemplates": {
                      "type": "boolean",
                      "default": false
                    },
                    "enforceForJSX": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow unused expressions\nhttps://typescript-eslint.io/rules/no-unused-expressions"
        },
        "@typescript-eslint/no-unused-vars": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Disallow unused variables\nhttps://typescript-eslint.io/rules/no-unused-vars"
        },
        "@typescript-eslint/no-use-before-define": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Disallow the use of variables before they are defined\nhttps://typescript-eslint.io/rules/no-use-before-define"
        },
        "@typescript-eslint/no-useless-constructor": {
          "description": "Disallow unnecessary constructors\nhttps://typescript-eslint.io/rules/no-useless-constructor"
        },
        "@typescript-eslint/no-useless-empty-export": {
          "description": "Disallow empty exports that don't change anything in a module file\nhttps://typescript-eslint.io/rules/no-useless-empty-export"
        },
        "@typescript-eslint/no-useless-template-literals": {
          "description": "Disallow unnecessary template expressions\nhttps://typescript-eslint.io/rules/no-useless-template-literals"
        },
        "@typescript-eslint/no-var-requires": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allow": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Patterns of import paths to allow requiring from."
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow `require` statements except in import statements\nhttps://typescript-eslint.io/rules/no-var-requires"
        },
        "@typescript-eslint/non-nullable-type-assertion-style": {
          "description": "Enforce non-null assertions over explicit type casts\nhttps://typescript-eslint.io/rules/non-nullable-type-assertion-style"
        },
        "@typescript-eslint/object-curly-spacing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent spacing inside braces\nhttps://typescript-eslint.io/rules/object-curly-spacing"
        },
        "@typescript-eslint/only-throw-error": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowThrowingAny": {
                      "type": "boolean"
                    },
                    "allowThrowingUnknown": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow throwing non-`Error` values as exceptions\nhttps://typescript-eslint.io/rules/only-throw-error"
        },
        "@typescript-eslint/padding-line-between-statements": {
          "description": "Require or disallow padding lines between statements\nhttps://typescript-eslint.io/rules/padding-line-between-statements"
        },
        "@typescript-eslint/parameter-properties": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allow": {
                      "type": "array",
                      "items": {}
                    },
                    "prefer": {
                      "type": "string",
                      "enum": [
                        "class-property",
                        "parameter-property"
                      ]
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require or disallow parameter properties in class constructors\nhttps://typescript-eslint.io/rules/parameter-properties"
        },
        "@typescript-eslint/prefer-as-const": {
          "description": "Enforce the use of `as const` over literal type\nhttps://typescript-eslint.io/rules/prefer-as-const"
        },
        "@typescript-eslint/prefer-destructuring": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Require destructuring from arrays and/or objects\nhttps://typescript-eslint.io/rules/prefer-destructuring"
        },
        "@typescript-eslint/prefer-enum-initializers": {
          "description": "Require each enum member value to be explicitly initialized\nhttps://typescript-eslint.io/rules/prefer-enum-initializers"
        },
        "@typescript-eslint/prefer-find": {
          "description": "Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result\nhttps://typescript-eslint.io/rules/prefer-find"
        },
        "@typescript-eslint/prefer-for-of": {
          "description": "Enforce the use of `for-of` loop over the standard `for` loop where possible\nhttps://typescript-eslint.io/rules/prefer-for-of"
        },
        "@typescript-eslint/prefer-function-type": {
          "description": "Enforce using function types instead of interfaces with call signatures\nhttps://typescript-eslint.io/rules/prefer-function-type"
        },
        "@typescript-eslint/prefer-includes": {
          "description": "Enforce `includes` method over `indexOf` method\nhttps://typescript-eslint.io/rules/prefer-includes"
        },
        "@typescript-eslint/prefer-literal-enum-member": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowBitwiseExpressions": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require all enum members to be literal values\nhttps://typescript-eslint.io/rules/prefer-literal-enum-member"
        },
        "@typescript-eslint/prefer-namespace-keyword": {
          "description": "Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules\nhttps://typescript-eslint.io/rules/prefer-namespace-keyword"
        },
        "@typescript-eslint/prefer-nullish-coalescing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing": {
                      "type": "boolean"
                    },
                    "ignoreConditionalTests": {
                      "type": "boolean"
                    },
                    "ignoreMixedLogicalExpressions": {
                      "type": "boolean"
                    },
                    "ignorePrimitives": {
                      "oneOf": [
                        {
                          "type": "object",
                          "properties": {
                            "bigint": {
                              "type": "boolean"
                            },
                            "boolean": {
                              "type": "boolean"
                            },
                            "number": {
                              "type": "boolean"
                            },
                            "string": {
                              "type": "boolean"
                            }
                          }
                        },
                        {
                          "type": "boolean",
                          "enum": [
                            true
                          ]
                        }
                      ]
                    },
                    "ignoreTernaryTests": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce using the nullish coalescing operator instead of logical assignments or chaining\nhttps://typescript-eslint.io/rules/prefer-nullish-coalescing"
        },
        "@typescript-eslint/prefer-optional-chain": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "checkAny": {
                      "type": "boolean",
                      "description": "Check operands that are typed as `any` when inspecting \"loose boolean\" operands."
                    },
                    "checkUnknown": {
                      "type": "boolean",
                      "description": "Check operands that are typed as `unknown` when inspecting \"loose boolean\" operands."
                    },
                    "checkString": {
                      "type": "boolean",
                      "description": "Check operands that are typed as `string` when inspecting \"loose boolean\" operands."
                    },
                    "checkNumber": {
                      "type": "boolean",
                      "description": "Check operands that are typed as `number` when inspecting \"loose boolean\" operands."
                    },
                    "checkBoolean": {
                      "type": "boolean",
                      "description": "Check operands that are typed as `boolean` when inspecting \"loose boolean\" operands."
                    },
                    "checkBigInt": {
                      "type": "boolean",
                      "description": "Check operands that are typed as `bigint` when inspecting \"loose boolean\" operands."
                    },
                    "requireNullish": {
                      "type": "boolean",
                      "description": "Skip operands that are not typed with `null` and/or `undefined` when inspecting \"loose boolean\" operands."
                    },
                    "allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing": {
                      "type": "boolean",
                      "description": "Allow autofixers that will change the return type of the expression. This option is considered unsafe as it may break the build."
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects\nhttps://typescript-eslint.io/rules/prefer-optional-chain"
        },
        "@typescript-eslint/prefer-promise-reject-errors": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowEmptyReject": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require using Error objects as Promise rejection reasons\nhttps://typescript-eslint.io/rules/prefer-promise-reject-errors"
        },
        "@typescript-eslint/prefer-readonly": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "onlyInlineLambdas": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require private members to be marked as `readonly` if they're never modified outside of the constructor\nhttps://typescript-eslint.io/rules/prefer-readonly"
        },
        "@typescript-eslint/prefer-readonly-parameter-types": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allow": {
                      "type": "array",
                      "items": {
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "from": {
                                "type": "string",
                                "enum": [
                                  "file"
                                ]
                              },
                              "name": {
                                "oneOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "array",
                                    "minItems": 1,
                                    "uniqueItems": true,
                                    "items": {
                                      "type": "string"
                                    }
                                  }
                                ]
                              },
                              "path": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "from",
                              "name"
                            ]
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "from": {
                                "type": "string",
                                "enum": [
                                  "lib"
                                ]
                              },
                              "name": {
                                "oneOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "array",
                                    "minItems": 1,
                                    "uniqueItems": true,
                                    "items": {
                                      "type": "string"
                                    }
                                  }
                                ]
                              }
                            },
                            "required": [
                              "from",
                              "name"
                            ]
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "from": {
                                "type": "string",
                                "enum": [
                                  "package"
                                ]
                              },
                              "name": {
                                "oneOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "array",
                                    "minItems": 1,
                                    "uniqueItems": true,
                                    "items": {
                                      "type": "string"
                                    }
                                  }
                                ]
                              },
                              "package": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "from",
                              "name",
                              "package"
                            ]
                          }
                        ]
                      }
                    },
                    "checkParameterProperties": {
                      "type": "boolean"
                    },
                    "ignoreInferredTypes": {
                      "type": "boolean"
                    },
                    "treatMethodsAsReadonly": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs\nhttps://typescript-eslint.io/rules/prefer-readonly-parameter-types"
        },
        "@typescript-eslint/prefer-reduce-type-parameter": {
          "description": "Enforce using type parameter when calling `Array#reduce` instead of casting\nhttps://typescript-eslint.io/rules/prefer-reduce-type-parameter"
        },
        "@typescript-eslint/prefer-regexp-exec": {
          "description": "Enforce `RegExp#exec` over `String#match` if no global flag is provided\nhttps://typescript-eslint.io/rules/prefer-regexp-exec"
        },
        "@typescript-eslint/prefer-return-this-type": {
          "description": "Enforce that `this` is used when only `this` type is returned\nhttps://typescript-eslint.io/rules/prefer-return-this-type"
        },
        "@typescript-eslint/prefer-string-starts-ends-with": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowSingleElementEquality": {
                      "description": "Whether to allow equality checks against the first or last element of a string.",
                      "enum": [
                        "always",
                        "never"
                      ],
                      "type": "string"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings\nhttps://typescript-eslint.io/rules/prefer-string-starts-ends-with"
        },
        "@typescript-eslint/prefer-ts-expect-error": {
          "description": "Enforce using `@ts-expect-error` over `@ts-ignore`\nhttps://typescript-eslint.io/rules/prefer-ts-expect-error"
        },
        "@typescript-eslint/promise-function-async": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowAny": {
                      "description": "Whether to consider `any` and `unknown` to be Promises.",
                      "type": "boolean"
                    },
                    "allowedPromiseNames": {
                      "description": "Any extra names of classes or interfaces to be considered Promises.",
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "checkArrowFunctions": {
                      "type": "boolean"
                    },
                    "checkFunctionDeclarations": {
                      "type": "boolean"
                    },
                    "checkFunctionExpressions": {
                      "type": "boolean"
                    },
                    "checkMethodDeclarations": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require any function or method that returns a Promise to be marked async\nhttps://typescript-eslint.io/rules/promise-function-async"
        },
        "@typescript-eslint/quotes": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "oneOf": [
                {
                  "minItems": 2,
                  "additionalItems": false,
                  "type": "array",
                  "items": [
                    {
                      "oneOf": [
                        {
                          "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                        },
                        {
                          "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                        }
                      ]
                    },
                    {
                      "description": "String option: \"double\" (default) requires the use of double quotes wherever possible; \"single\" requires the use of single quotes wherever possible; \"backtick\" requires the use of backticks wherever possible",
                      "type": "string",
                      "enum": [
                        "double",
                        "single",
                        "backtick"
                      ]
                    }
                  ]
                },
                {
                  "minItems": 3,
                  "additionalItems": false,
                  "type": "array",
                  "items": [
                    {
                      "oneOf": [
                        {
                          "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                        },
                        {
                          "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                        }
                      ]
                    },
                    {
                      "description": "String option: \"double\" (default) requires the use of double quotes wherever possible; \"single\" requires the use of single quotes wherever possible; \"backtick\" requires the use of backticks wherever possible",
                      "type": "string",
                      "enum": [
                        "double",
                        "single",
                        "backtick"
                      ]
                    },
                    {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "avoidEscape": {
                          "description": "allows strings to use single-quotes or double-quotes so long as the string contains a quote that would have to be escaped otherwise",
                          "type": "boolean"
                        },
                        "allowTemplateLiterals": {
                          "description": "allows strings to use backticks",
                          "type": "boolean"
                        },
                        "avoid-escape": {
                          "description": "Deprecated: The object property avoid-escape is deprecated; please use the object property avoidEscape instead.",
                          "type": "boolean"
                        }
                      }
                    }
                  ]
                }
              ]
            }
          ],
          "description": "DEPRECATED. Enforce the consistent use of either backticks, double, or single quotes\nhttps://typescript-eslint.io/rules/quotes"
        },
        "@typescript-eslint/require-array-sort-compare": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoreStringArrays": {
                      "description": "Whether to ignore arrays in which all elements are strings.",
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`\nhttps://typescript-eslint.io/rules/require-array-sort-compare"
        },
        "@typescript-eslint/require-await": {
          "description": "Disallow async functions which do not return promises and have no `await` expression\nhttps://typescript-eslint.io/rules/require-await"
        },
        "@typescript-eslint/restrict-plus-operands": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowAny": {
                      "description": "Whether to allow `any` typed values.",
                      "type": "boolean"
                    },
                    "allowBoolean": {
                      "description": "Whether to allow `boolean` typed values.",
                      "type": "boolean"
                    },
                    "allowNullish": {
                      "description": "Whether to allow potentially `null` or `undefined` typed values.",
                      "type": "boolean"
                    },
                    "allowNumberAndString": {
                      "description": "Whether to allow `bigint`/`number` typed values and `string` typed values to be added together.",
                      "type": "boolean"
                    },
                    "allowRegExp": {
                      "description": "Whether to allow `regexp` typed values.",
                      "type": "boolean"
                    },
                    "skipCompoundAssignments": {
                      "description": "Whether to skip compound assignments such as `+=`.",
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require both operands of addition to be the same type and be `bigint`, `number`, or `string`\nhttps://typescript-eslint.io/rules/restrict-plus-operands"
        },
        "@typescript-eslint/restrict-template-expressions": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowAny": {
                      "description": "Whether to allow `any` typed values in template expressions.",
                      "type": "boolean"
                    },
                    "allowArray": {
                      "description": "Whether to allow `array` typed values in template expressions.",
                      "type": "boolean"
                    },
                    "allowBoolean": {
                      "description": "Whether to allow `boolean` typed values in template expressions.",
                      "type": "boolean"
                    },
                    "allowNullish": {
                      "description": "Whether to allow `nullish` typed values in template expressions.",
                      "type": "boolean"
                    },
                    "allowNumber": {
                      "description": "Whether to allow `number` typed values in template expressions.",
                      "type": "boolean"
                    },
                    "allowRegExp": {
                      "description": "Whether to allow `regexp` typed values in template expressions.",
                      "type": "boolean"
                    },
                    "allowNever": {
                      "description": "Whether to allow `never` typed values in template expressions.",
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce template literal expressions to be of `string` type\nhttps://typescript-eslint.io/rules/restrict-template-expressions"
        },
        "@typescript-eslint/return-await": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "oneOf": [
                    {
                      "const": "never",
                      "description": "Disallows awaiting any returned promises.",
                      "deprecated": true
                    },
                    {
                      "const": "error-handling-correctness-only",
                      "description": "In error-handling contexts, the rule enforces that returned promises must be awaited. In ordinary contexts, the rule does not enforce any particular behavior around whether returned promises are awaited."
                    },
                    {
                      "const": "in-try-catch",
                      "description": "In error-handling contexts, the rule enforces that returned promises must be awaited. In ordinary contexts, the rule enforces that returned promises must not be awaited."
                    },
                    {
                      "const": "always",
                      "description": "Requires that all returned promises be awaited."
                    }
                  ]
                }
              ]
            }
          ],
          "description": "Enforce consistent awaiting of returned promises\nhttps://typescript-eslint.io/rules/return-await"
        },
        "@typescript-eslint/semi": {
          "description": "Require or disallow semicolons instead of ASI\nhttps://typescript-eslint.io/rules/semi"
        },
        "@typescript-eslint/sort-type-constituents": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "checkIntersections": {
                      "description": "Whether to check intersection types.",
                      "type": "boolean"
                    },
                    "checkUnions": {
                      "description": "Whether to check union types.",
                      "type": "boolean"
                    },
                    "caseSensitive": {
                      "description": "Whether to sort using case sensitive sorting.",
                      "type": "boolean"
                    },
                    "groupOrder": {
                      "description": "Ordering of the groups.",
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "conditional",
                          "function",
                          "import",
                          "intersection",
                          "keyword",
                          "nullish",
                          "literal",
                          "named",
                          "object",
                          "operator",
                          "tuple",
                          "union"
                        ]
                      }
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce constituents of a type union/intersection to be sorted alphabetically\nhttps://typescript-eslint.io/rules/sort-type-constituents"
        },
        "@typescript-eslint/space-before-blocks": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent spacing before blocks\nhttps://typescript-eslint.io/rules/space-before-blocks"
        },
        "@typescript-eslint/space-before-function-paren": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                }
              ]
            }
          ],
          "description": "Enforce consistent spacing before function parenthesis\nhttps://typescript-eslint.io/rules/space-before-function-paren"
        },
        "@typescript-eslint/space-infix-ops": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "int32Hint": {
                      "type": "boolean",
                      "default": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require spacing around infix operators\nhttps://typescript-eslint.io/rules/space-infix-ops"
        },
        "@typescript-eslint/strict-boolean-expressions": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowString": {
                      "type": "boolean"
                    },
                    "allowNumber": {
                      "type": "boolean"
                    },
                    "allowNullableObject": {
                      "type": "boolean"
                    },
                    "allowNullableBoolean": {
                      "type": "boolean"
                    },
                    "allowNullableString": {
                      "type": "boolean"
                    },
                    "allowNullableNumber": {
                      "type": "boolean"
                    },
                    "allowNullableEnum": {
                      "type": "boolean"
                    },
                    "allowAny": {
                      "type": "boolean"
                    },
                    "allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow certain types in boolean expressions\nhttps://typescript-eslint.io/rules/strict-boolean-expressions"
        },
        "@typescript-eslint/switch-exhaustiveness-check": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "allowDefaultCaseForExhaustiveSwitch": {
                      "description": "If 'true', allow 'default' cases on switch statements with exhaustive cases.",
                      "type": "boolean"
                    },
                    "requireDefaultForNonUnion": {
                      "description": "If 'true', require a 'default' clause for switches on non-union types.",
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require switch-case statements to be exhaustive\nhttps://typescript-eslint.io/rules/switch-exhaustiveness-check"
        },
        "@typescript-eslint/triple-slash-reference": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "lib": {
                      "type": "string",
                      "enum": [
                        "always",
                        "never"
                      ]
                    },
                    "path": {
                      "type": "string",
                      "enum": [
                        "always",
                        "never"
                      ]
                    },
                    "types": {
                      "type": "string",
                      "enum": [
                        "always",
                        "never",
                        "prefer-import"
                      ]
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow certain triple slash directives in favor of ES6-style import declarations\nhttps://typescript-eslint.io/rules/triple-slash-reference"
        },
        "@typescript-eslint/type-annotation-spacing": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "before": {
                      "type": "boolean"
                    },
                    "after": {
                      "type": "boolean"
                    },
                    "overrides": {
                      "type": "object",
                      "properties": {
                        "colon": {},
                        "arrow": {},
                        "variable": {},
                        "parameter": {},
                        "property": {},
                        "returnType": {}
                      },
                      "additionalProperties": false
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require consistent spacing around type annotations\nhttps://typescript-eslint.io/rules/type-annotation-spacing"
        },
        "@typescript-eslint/typedef": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "arrayDestructuring": {
                      "type": "boolean"
                    },
                    "arrowParameter": {
                      "type": "boolean"
                    },
                    "memberVariableDeclaration": {
                      "type": "boolean"
                    },
                    "objectDestructuring": {
                      "type": "boolean"
                    },
                    "parameter": {
                      "type": "boolean"
                    },
                    "propertyDeclaration": {
                      "type": "boolean"
                    },
                    "variableDeclaration": {
                      "type": "boolean"
                    },
                    "variableDeclarationIgnoreFunction": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Require type annotations in certain places\nhttps://typescript-eslint.io/rules/typedef"
        },
        "@typescript-eslint/unbound-method": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoreStatic": {
                      "description": "Whether to skip checking whether `static` methods are correctly bound.",
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Enforce unbound methods are called with their expected scope\nhttps://typescript-eslint.io/rules/unbound-method"
        },
        "@typescript-eslint/unified-signatures": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
            },
            {
              "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
            },
            {
              "minItems": 2,
              "maxItems": 2,
              "type": "array",
              "items": [
                {
                  "oneOf": [
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleNumber"
                    },
                    {
                      "$ref": "#/definitions/vendored-partial-eslint-plugins/definitions/ruleString"
                    }
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ignoreDifferentlyNamedParameters": {
                      "description": "Whether two parameters with different names at the same index should be considered different even if their types are the same.",
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "description": "Disallow two overloads that could be unified into one with a union or an optional/rest parameter\nhttps://typescript-eslint.io/rules/unified-signatures"
        },
        "@typescript-eslint/use-unknown-in-catch-callback-variable": {
          "description": "Enforce typing arguments in `.catch()` callbacks as `unknown`\nhttps://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable"
        }
      }
    },
    "vendored-prettierrc": {
      "definitions": {
        "optionsDefinition": {
          "type": "object",
          "properties": {
            "arrowParens": {
              "description": "Include parentheses around a sole arrow function parameter.",
              "default": "always",
              "oneOf": [
                {
                  "enum": [
                    "always"
                  ],
                  "description": "Always include parens. Example: `(x) => x`"
                },
                {
                  "enum": [
                    "avoid"
                  ],
                  "description": "Omit parens when possible. Example: `x => x`"
                }
              ]
            },
            "bracketSameLine": {
              "description": "Put > of opening tags on the last line instead of on a new line.",
              "default": false,
              "type": "boolean"
            },
            "bracketSpacing": {
              "description": "Print spaces between brackets.",
              "default": true,
              "type": "boolean"
            },
            "checkIgnorePragma": {
              "description": "Check whether the file's first docblock comment contains '@noprettier' or '@noformat' to determine if it should be formatted.",
              "default": false,
              "type": "boolean"
            },
            "cursorOffset": {
              "description": "Print (to stderr) where a cursor at the given position would move to after formatting.",
              "default": -1,
              "type": "integer"
            },
            "embeddedLanguageFormatting": {
              "description": "Control how Prettier formats quoted code embedded in the file.",
              "default": "auto",
              "oneOf": [
                {
                  "enum": [
                    "auto"
                  ],
                  "description": "Format embedded code if Prettier can automatically identify it."
                },
                {
                  "enum": [
                    "off"
                  ],
                  "description": "Never automatically format embedded code."
                }
              ]
            },
            "endOfLine": {
              "description": "Which end of line characters to apply.",
              "default": "lf",
              "oneOf": [
                {
                  "enum": [
                    "lf"
                  ],
                  "description": "Line Feed only (\\n), common on Linux and macOS as well as inside git repos"
                },
                {
                  "enum": [
                    "crlf"
                  ],
                  "description": "Carriage Return + Line Feed characters (\\r\\n), common on Windows"
                },
                {
                  "enum": [
                    "cr"
                  ],
                  "description": "Carriage Return character only (\\r), used very rarely"
                },
                {
                  "enum": [
                    "auto"
                  ],
                  "description": "Maintain existing\n(mixed values within one file are normalised by looking at what's used after the first line)"
                }
              ]
            },
            "experimentalOperatorPosition": {
              "description": "Where to print operators when binary expressions wrap lines.",
              "default": "end",
              "oneOf": [
                {
                  "enum": [
                    "start"
                  ],
                  "description": "Print operators at the start of new lines."
                },
                {
                  "enum": [
                    "end"
                  ],
                  "description": "Print operators at the end of previous lines."
                }
              ]
            },
            "experimentalTernaries": {
              "description": "Use curious ternaries, with the question mark after the condition.",
              "default": false,
              "type": "boolean"
            },
            "filepath": {
              "description": "Specify the input filepath. This will be used to do parser inference.",
              "type": "string"
            },
            "htmlWhitespaceSensitivity": {
              "description": "How to handle whitespaces in HTML.",
              "default": "css",
              "oneOf": [
                {
                  "enum": [
                    "css"
                  ],
                  "description": "Respect the default value of CSS display property."
                },
                {
                  "enum": [
                    "strict"
                  ],
                  "description": "Whitespaces are considered sensitive."
                },
                {
                  "enum": [
                    "ignore"
                  ],
                  "description": "Whitespaces are considered insensitive."
                }
              ]
            },
            "insertPragma": {
              "description": "Insert @format pragma into file's first docblock comment.",
              "default": false,
              "type": "boolean"
            },
            "jsxSingleQuote": {
              "description": "Use single quotes in JSX.",
              "default": false,
              "type": "boolean"
            },
            "objectWrap": {
              "description": "How to wrap object literals.",
              "default": "preserve",
              "oneOf": [
                {
                  "enum": [
                    "preserve"
                  ],
                  "description": "Keep as multi-line, if there is a newline between the opening brace and first property."
                },
                {
                  "enum": [
                    "collapse"
                  ],
                  "description": "Fit to a single line when possible."
                }
              ]
            },
            "parser": {
              "description": "Which parser to use.",
              "anyOf": [
                {
                  "enum": [
                    "flow"
                  ],
                  "description": "Flow"
                },
                {
                  "enum": [
                    "babel"
                  ],
                  "description": "JavaScript"
                },
                {
                  "enum": [
                    "babel-flow"
                  ],
                  "description": "Flow"
                },
                {
                  "enum": [
                    "babel-ts"
                  ],
                  "description": "TypeScript"
                },
                {
                  "enum": [
                    "typescript"
                  ],
                  "description": "TypeScript"
                },
                {
                  "enum": [
                    "acorn"
                  ],
                  "description": "JavaScript"
                },
                {
                  "enum": [
                    "espree"
                  ],
                  "description": "JavaScript"
                },
                {
                  "enum": [
                    "meriyah"
                  ],
                  "description": "JavaScript"
                },
                {
                  "enum": [
                    "css"
                  ],
                  "description": "CSS"
                },
                {
                  "enum": [
                    "less"
                  ],
                  "description": "Less"
                },
                {
                  "enum": [
                    "scss"
                  ],
                  "description": "SCSS"
                },
                {
                  "enum": [
                    "json"
                  ],
                  "description": "JSON"
                },
                {
                  "enum": [
                    "json5"
                  ],
                  "description": "JSON5"
                },
                {
                  "enum": [
                    "jsonc"
                  ],
                  "description": "JSON with Comments"
                },
                {
                  "enum": [
                    "json-stringify"
                  ],
                  "description": "JSON.stringify"
                },
                {
                  "enum": [
                    "graphql"
                  ],
                  "description": "GraphQL"
                },
                {
                  "enum": [
                    "markdown"
                  ],
                  "description": "Markdown"
                },
                {
                  "enum": [
                    "mdx"
                  ],
                  "description": "MDX"
                },
                {
                  "enum": [
                    "vue"
                  ],
                  "description": "Vue"
                },
                {
                  "enum": [
                    "yaml"
                  ],
                  "description": "YAML"
                },
                {
                  "enum": [
                    "glimmer"
                  ],
                  "description": "Ember / Handlebars"
                },
                {
                  "enum": [
                    "html"
                  ],
                  "description": "HTML"
                },
                {
                  "enum": [
                    "angular"
                  ],
                  "description": "Angular"
                },
                {
                  "enum": [
                    "lwc"
                  ],
                  "description": "Lightning Web Components"
                },
                {
                  "enum": [
                    "mjml"
                  ],
                  "description": "MJML"
                },
                {
                  "type": "string",
                  "description": "Custom parser"
                }
              ]
            },
            "plugins": {
              "description": "Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",
              "default": [],
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "printWidth": {
              "description": "The line length where Prettier will try wrap.",
              "default": 80,
              "type": "integer"
            },
            "proseWrap": {
              "description": "How to wrap prose.",
              "default": "preserve",
              "oneOf": [
                {
                  "enum": [
                    "always"
                  ],
                  "description": "Wrap prose if it exceeds the print width."
                },
                {
                  "enum": [
                    "never"
                  ],
                  "description": "Do not wrap prose."
                },
                {
                  "enum": [
                    "preserve"
                  ],
                  "description": "Wrap prose as-is."
                }
              ]
            },
            "quoteProps": {
              "description": "Change when properties in objects are quoted.",
              "default": "as-needed",
              "oneOf": [
                {
                  "enum": [
                    "as-needed"
                  ],
                  "description": "Only add quotes around object properties where required."
                },
                {
                  "enum": [
                    "consistent"
                  ],
                  "description": "If at least one property in an object requires quotes, quote all properties."
                },
                {
                  "enum": [
                    "preserve"
                  ],
                  "description": "Respect the input use of quotes in object properties."
                }
              ]
            },
            "rangeEnd": {
              "description": "Format code ending at a given character offset (exclusive).\nThe range will extend forwards to the end of the selected statement.",
              "default": null,
              "type": "integer"
            },
            "rangeStart": {
              "description": "Format code starting at a given character offset.\nThe range will extend backwards to the start of the first line containing the selected statement.",
              "default": 0,
              "type": "integer"
            },
            "requirePragma": {
              "description": "Require either '@prettier' or '@format' to be present in the file's first docblock comment in order for it to be formatted.",
              "default": false,
              "type": "boolean"
            },
            "semi": {
              "description": "Print semicolons.",
              "default": true,
              "type": "boolean"
            },
            "singleAttributePerLine": {
              "description": "Enforce single attribute per line in HTML, Vue and JSX.",
              "default": false,
              "type": "boolean"
            },
            "singleQuote": {
              "description": "Use single quotes instead of double quotes.",
              "default": false,
              "type": "boolean"
            },
            "tabWidth": {
              "description": "Number of spaces per indentation level.",
              "default": 2,
              "type": "integer"
            },
            "trailingComma": {
              "description": "Print trailing commas wherever possible when multi-line.",
              "default": "all",
              "oneOf": [
                {
                  "enum": [
                    "all"
                  ],
                  "description": "Trailing commas wherever possible (including function arguments)."
                },
                {
                  "enum": [
                    "es5"
                  ],
                  "description": "Trailing commas where valid in ES5 (objects, arrays, etc.)"
                },
                {
                  "enum": [
                    "none"
                  ],
                  "description": "No trailing commas."
                }
              ]
            },
            "useTabs": {
              "description": "Indent with tabs instead of spaces.",
              "default": false,
              "type": "boolean"
            },
            "vueIndentScriptAndStyle": {
              "description": "Indent script and style tags in Vue files.",
              "default": false,
              "type": "boolean"
            }
          }
        },
        "overridesDefinition": {
          "type": "object",
          "properties": {
            "overrides": {
              "type": "array",
              "description": "Provide a list of patterns to override prettier configuration.",
              "items": {
                "type": "object",
                "required": [
                  "files"
                ],
                "properties": {
                  "files": {
                    "description": "Include these files in this override.",
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    ]
                  },
                  "excludeFiles": {
                    "description": "Exclude these files from this override.",
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    ]
                  },
                  "options": {
                    "$ref": "#/definitions/vendored-prettierrc/definitions/optionsDefinition",
                    "type": "object",
                    "description": "The options to apply for this override."
                  }
                },
                "additionalProperties": false
              }
            }
          }
        }
      },
      "oneOf": [
        {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/definitions/vendored-prettierrc/definitions/optionsDefinition"
            },
            {
              "$ref": "#/definitions/vendored-prettierrc/definitions/overridesDefinition"
            }
          ]
        },
        {
          "type": "string"
        }
      ],
      "title": "Schema for .prettierrc"
    },
    "vendored-stylelintrc": {
      "definitions": {
        "allRules": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/atRule"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/block"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/color"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/comment"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/customMedia"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/customProperty"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/declaration"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/declarationBlock"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/font"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/function"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/generalSheet"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/keyframeDeclaration"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/length"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/lightness"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/mediaFeature"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/mediaQuery"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/mediaQueryList"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/number"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/property"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/rootRule"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/rule"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/selector"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/selectorList"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/shorthandProperty"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/string"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/stylelintDisableComment"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/time"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/unit"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/value"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/valueList"
            }
          ]
        },
        "alwaysMultiLineRule": {
          "type": [
            "null",
            "string",
            "array"
          ],
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "string",
              "enum": [
                "always",
                "always-multi-line",
                []
              ]
            },
            {
              "type": "array",
              "minItems": 2,
              "maxItems": 2,
              "uniqueItems": true,
              "items": {
                "type": [
                  "string",
                  "object"
                ],
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "always",
                      "always-multi-line",
                      {}
                    ]
                  },
                  {
                    "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                  }
                ]
              }
            }
          ]
        },
        "alwaysNeverRule": {
          "type": [
            "null",
            "string",
            "array"
          ],
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "string",
              "enum": [
                "always",
                "never",
                []
              ]
            },
            {
              "type": "array",
              "minItems": 2,
              "maxItems": 2,
              "uniqueItems": true,
              "items": {
                "type": [
                  "string",
                  "object"
                ],
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "always",
                      "never",
                      {}
                    ]
                  },
                  {
                    "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                  }
                ]
              }
            }
          ]
        },
        "arrayStringRule": {
          "type": [
            "null",
            "string",
            "array"
          ],
          "oneOf": [
            {
              "type": [
                "null",
                "string"
              ]
            },
            {
              "type": "array",
              "minItems": 1,
              "uniqueItems": true,
              "items": {
                "type": [
                  "string",
                  "array",
                  "object"
                ],
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      [],
                      {}
                    ]
                  },
                  {
                    "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                  },
                  {
                    "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                  }
                ]
              }
            }
          ]
        },
        "booleanRule": {
          "default": true,
          "type": [
            "null",
            "boolean",
            "array"
          ],
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "boolean"
            },
            {
              "type": "array",
              "minItems": 2,
              "maxItems": 2,
              "uniqueItems": true,
              "items": {
                "type": [
                  "boolean",
                  "object"
                ],
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                  }
                ]
              }
            }
          ]
        },
        "coreRule": {
          "type": "object",
          "properties": {
            "disableFix": {
              "type": "boolean"
            },
            "message": {
              "description": "Custom message that will be used in errors and warnings",
              "type": "string"
            },
            "reportDisables": {
              "type": "boolean"
            },
            "severity": {
              "description": "Message status",
              "type": "string",
              "enum": [
                "warning",
                "error"
              ]
            },
            "url": {
              "type": "string",
              "format": "uri"
            }
          }
        },
        "integerRule": {
          "type": [
            "null",
            "integer",
            "array"
          ],
          "oneOf": [
            {
              "type": [
                "null",
                "integer"
              ]
            },
            {
              "type": "array",
              "minItems": 2,
              "maxItems": 2,
              "uniqueItems": true,
              "items": {
                "type": [
                  "integer",
                  "object"
                ],
                "anyOf": [
                  {
                    "type": "integer",
                    "enum": [
                      {}
                    ]
                  },
                  {
                    "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                  }
                ]
              }
            }
          ]
        },
        "lowerUpperRule": {
          "type": [
            "null",
            "string",
            "array"
          ],
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "string",
              "enum": [
                "lower",
                "upper",
                []
              ]
            },
            {
              "type": "array",
              "minItems": 2,
              "maxItems": 2,
              "uniqueItems": true,
              "items": {
                "type": [
                  "string",
                  "object"
                ],
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "lower",
                      "upper",
                      {}
                    ]
                  },
                  {
                    "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                  }
                ]
              }
            }
          ]
        },
        "newlineRule": {
          "type": [
            "null",
            "string",
            "array"
          ],
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "string",
              "enum": [
                "always",
                "always-multi-line",
                "never-multi-line",
                []
              ]
            },
            {
              "type": "array",
              "minItems": 2,
              "maxItems": 2,
              "uniqueItems": true,
              "items": {
                "type": [
                  "string",
                  "object"
                ],
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "always",
                      "always-multi-line",
                      "never-multi-line",
                      {}
                    ]
                  },
                  {
                    "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                  }
                ]
              }
            }
          ]
        },
        "newlineSpaceRule": {
          "type": [
            "null",
            "string",
            "array"
          ],
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "string",
              "enum": [
                "always",
                "never",
                "always-single-line",
                "never-single-line",
                "always-multi-line",
                "never-multi-line",
                []
              ]
            },
            {
              "type": "array",
              "minItems": 2,
              "maxItems": 2,
              "uniqueItems": true,
              "items": {
                "type": [
                  "string",
                  "object"
                ],
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "always",
                      "never",
                      "always-single-line",
                      "never-single-line",
                      "always-multi-line",
                      "never-multi-line",
                      {}
                    ]
                  },
                  {
                    "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                  }
                ]
              }
            }
          ]
        },
        "newlineSpaceWithIgnoreRule": {
          "type": [
            "null",
            "string",
            "array"
          ],
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "string",
              "enum": [
                "always",
                "never",
                "always-single-line",
                "never-single-line",
                "always-multi-line",
                "never-multi-line",
                []
              ]
            },
            {
              "type": "array",
              "minItems": 2,
              "maxItems": 2,
              "uniqueItems": true,
              "items": {
                "type": [
                  "string",
                  "object"
                ],
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "always",
                      "always-single-line",
                      "never-single-line",
                      "always-multi-line",
                      "never-multi-line",
                      {}
                    ]
                  },
                  {
                    "type": "object",
                    "allOf": [
                      {
                        "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                      }
                    ],
                    "properties": {
                      "ignoreAtRules": {
                        "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleStringOrArrayStringRule"
                      }
                    }
                  }
                ]
              }
            }
          ]
        },
        "objectRule": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "object",
              "additionalProperties": {
                "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleStringOrArrayStringRule"
              }
            },
            {
              "type": "array",
              "minItems": 2,
              "maxItems": 2,
              "items": [
                {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleStringOrArrayStringRule"
                  }
                },
                {
                  "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                }
              ]
            }
          ]
        },
        "simpleArrayStringRule": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "type": "string"
          }
        },
        "simpleStringOrArrayStringRule": {
          "type": [
            "string",
            "array"
          ],
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
            }
          ]
        },
        "singleDoubleRule": {
          "type": [
            "null",
            "string",
            "array"
          ],
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "string",
              "enum": [
                "single",
                "double",
                []
              ]
            },
            {
              "type": "array",
              "minItems": 2,
              "maxItems": 2,
              "uniqueItems": true,
              "items": {
                "type": [
                  "string",
                  "object"
                ],
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "single",
                      "double",
                      {}
                    ]
                  },
                  {
                    "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                  }
                ]
              }
            }
          ]
        },
        "spaceRule": {
          "type": [
            "null",
            "string",
            "array"
          ],
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "string",
              "enum": [
                "always",
                "never",
                "always-single-line",
                "never-single-line",
                []
              ]
            },
            {
              "type": "array",
              "minItems": 2,
              "maxItems": 2,
              "uniqueItems": true,
              "items": {
                "type": [
                  "string",
                  "object"
                ],
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "always",
                      "never",
                      "always-single-line",
                      "never-single-line",
                      {}
                    ]
                  },
                  {
                    "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                  }
                ]
              }
            }
          ]
        },
        "stringRule": {
          "type": [
            "null",
            "string",
            "array"
          ],
          "oneOf": [
            {
              "type": [
                "null",
                "string"
              ]
            },
            {
              "type": "array",
              "minItems": 2,
              "maxItems": 2,
              "uniqueItems": true,
              "items": {
                "type": [
                  "string",
                  "object"
                ],
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                  }
                ]
              }
            }
          ]
        },
        "unitRule": {
          "type": [
            "null",
            "string",
            "array"
          ],
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "string",
              "enum": [
                "em",
                "ex",
                "px",
                "%",
                "rem",
                "vw",
                "vh",
                "vm",
                "vmin",
                "vmax",
                "ch",
                "in",
                "cm",
                "mm",
                "q",
                "pt",
                "pc",
                "deg",
                "grad",
                "rad",
                "turn",
                "ms",
                "s",
                "Hz",
                "kHz",
                "dpi",
                "dpcm",
                "dppx",
                "fr",
                []
              ]
            },
            {
              "type": "array",
              "minItems": 1,
              "uniqueItems": true,
              "items": {
                "type": [
                  "string",
                  "array",
                  "object"
                ],
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "em",
                      "ex",
                      "px",
                      "%",
                      "rem",
                      "vw",
                      "vh",
                      "vm",
                      "vmin",
                      "vmax",
                      "ch",
                      "in",
                      "cm",
                      "mm",
                      "q",
                      "pt",
                      "pc",
                      "deg",
                      "grad",
                      "rad",
                      "turn",
                      "ms",
                      "s",
                      "Hz",
                      "kHz",
                      "dpi",
                      "dpcm",
                      "dppx",
                      "fr",
                      [],
                      {}
                    ]
                  },
                  {
                    "type": "array",
                    "uniqueItems": true,
                    "minItems": 1,
                    "items": {
                      "type": "string",
                      "enum": [
                        "em",
                        "ex",
                        "px",
                        "%",
                        "rem",
                        "vw",
                        "vh",
                        "vm",
                        "vmin",
                        "vmax",
                        "ch",
                        "in",
                        "cm",
                        "mm",
                        "q",
                        "pt",
                        "pc",
                        "deg",
                        "grad",
                        "rad",
                        "turn",
                        "ms",
                        "s",
                        "Hz",
                        "kHz",
                        "dpi",
                        "dpcm",
                        "dppx",
                        "fr"
                      ]
                    }
                  },
                  {
                    "type": "object",
                    "allOf": [
                      {
                        "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                      }
                    ],
                    "properties": {
                      "ignoreProperties": {
                        "description": "Ignore units in the values of declarations with the specified properties",
                        "type": "object",
                        "patternProperties": {
                          "(em|ex|ch|vw|vh|cm|mm|in|pt|pc|px|rem|vmin|vmax|%)": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          ]
        },
        "atRule": {
          "properties": {
            "at-rule-blacklist": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/arrayStringRule",
              "description": "Specify a blacklist of disallowed at-rules"
            },
            "at-rule-empty-line-before": {
              "description": "Require or disallow an empty line before at-rules",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "always",
                    "never",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "always",
                          "never",
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "except": {
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "string",
                              "enum": [
                                "all-nested",
                                "after-same-name",
                                "inside-block",
                                "blockless-after-same-name-blockless",
                                "blockless-after-blockless",
                                "first-nested"
                              ]
                            }
                          },
                          "ignore": {
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "string",
                              "enum": [
                                "after-comment",
                                "first-nested",
                                "inside-block",
                                "blockless-after-same-name-blockless",
                                "blockless-after-blockless"
                              ]
                            }
                          },
                          "ignoreAtRules": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleStringOrArrayStringRule"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "at-rule-name-case": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/lowerUpperRule",
              "description": "Specify lowercase or uppercase for at-rules names",
              "deprecated": true
            },
            "at-rule-name-newline-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysMultiLineRule",
              "description": "Require a newline after at-rule names",
              "deprecated": true
            },
            "at-rule-name-space-after": {
              "description": "Require a single space after at-rule names",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "always",
                    "always-single-line",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "always",
                          "always-single-line",
                          {}
                        ]
                      },
                      {
                        "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                      }
                    ]
                  }
                }
              ],
              "deprecated": true
            },
            "at-rule-no-unknown": {
              "description": "Disallow unknown at-rules",
              "type": [
                "null",
                "boolean",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "boolean",
                  "enum": [
                    true,
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "boolean",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "boolean",
                        "enum": [
                          true,
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "ignoreAtRules": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "at-rule-no-vendor-prefix": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow vendor prefixes for at-rules"
            },
            "at-rule-semicolon-newline-after": {
              "description": "Require a newline after the semicolon of at-rules",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "always",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "always",
                          {}
                        ]
                      },
                      {
                        "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                      }
                    ]
                  }
                }
              ],
              "deprecated": true
            },
            "at-rule-semicolon-space-before": {
              "description": "Require a single space or disallow whitespace before the semicolons of at-rules",
              "deprecated": true
            },
            "at-rule-whitelist": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/arrayStringRule",
              "description": "Specify a whitelist of allowed at-rules"
            }
          }
        },
        "block": {
          "properties": {
            "block-closing-brace-empty-line-before": {
              "description": "Require or disallow an empty line before the closing brace of blocks",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "always-multi-line",
                    "never",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "always-multi-line",
                          "never",
                          {}
                        ]
                      },
                      {
                        "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                      }
                    ]
                  }
                }
              ],
              "deprecated": true
            },
            "block-closing-brace-newline-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineSpaceWithIgnoreRule",
              "description": "Require a newline or disallow whitespace after the closing brace of blocks",
              "deprecated": true
            },
            "block-closing-brace-newline-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineRule",
              "description": "Require a newline or disallow whitespace before the closing brace of blocks",
              "deprecated": true
            },
            "block-closing-brace-space-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineSpaceRule",
              "description": "Require a single space or disallow whitespace after the closing brace of blocks",
              "deprecated": true
            },
            "block-closing-brace-space-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineSpaceRule",
              "description": "Require a single space or disallow whitespace before the closing brace of blocks",
              "deprecated": true
            },
            "block-no-empty": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow empty blocks"
            },
            "block-no-single-line": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow single-line blocks"
            },
            "block-opening-brace-newline-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineRule",
              "description": "Require a newline after the opening brace of blocks",
              "deprecated": true
            },
            "block-opening-brace-newline-before": {
              "description": "Require a newline or disallow whitespace before the opening brace of blocks",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "always",
                    "always-single-line",
                    "never-single-line",
                    "always-multi-line",
                    "never-multi-line",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "always",
                          "always-single-line",
                          "never-single-line",
                          "always-multi-line",
                          "never-multi-line",
                          {}
                        ]
                      },
                      {
                        "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                      }
                    ]
                  }
                }
              ],
              "deprecated": true
            },
            "block-opening-brace-space-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineSpaceRule",
              "description": "Require a single space or disallow whitespace after the opening brace of blocks",
              "deprecated": true
            },
            "block-opening-brace-space-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineSpaceWithIgnoreRule",
              "description": "Require a single space or disallow whitespace before the opening brace of blocks",
              "deprecated": true
            }
          }
        },
        "color": {
          "properties": {
            "color-hex-case": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/lowerUpperRule",
              "description": "Specify lowercase or uppercase for hex colors",
              "deprecated": true
            },
            "color-hex-length": {
              "description": "Specify short or long notation for hex colors",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "short",
                    "long",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "short",
                          "long",
                          {}
                        ]
                      },
                      {
                        "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                      }
                    ]
                  }
                }
              ]
            },
            "color-named": {
              "description": "Require (where possible) or disallow named colors",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "always-where-possible",
                    "never",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "always-where-possible",
                          "never",
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "ignore": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "color-no-hex": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow hex colors"
            },
            "color-no-invalid-hex": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow invalid hex colors"
            }
          }
        },
        "comment": {
          "properties": {
            "comment-empty-line-before": {
              "description": "Require or disallow an empty line before comments",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "always",
                    "never",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "always",
                          "never",
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "except": {
                            "description": "Reverse the primary option for comments that are nested and the first child of their parent node",
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "string",
                              "enum": [
                                "first-nested"
                              ]
                            }
                          },
                          "ignore": {
                            "description": "Don't require an empty line between comments",
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "string",
                              "enum": [
                                "between-comments",
                                "after-comment",
                                "stylelint-command",
                                "stylelint-commands"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "comment-no-empty": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow empty comments"
            },
            "comment-whitespace-inside": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require or disallow whitespace on the inside of comment markers"
            },
            "comment-word-blacklist": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/arrayStringRule",
              "description": "Specify a blacklist of disallowed words within comments"
            }
          }
        },
        "customMedia": {
          "properties": {
            "custom-media-pattern": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/stringRule",
              "description": "Specify a pattern for custom media query names"
            },
            "no-unknown-custom-media": {
              "oneOf": [
                {
                  "oneOf": [
                    {
                      "const": true
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 2,
                  "items": [
                    {
                      "oneOf": [
                        {
                          "const": true
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    {
                      "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule",
                      "type": "object",
                      "additionalProperties": false
                    }
                  ]
                }
              ],
              "description": "Disallow unknown custom media queries"
            }
          }
        },
        "customProperty": {
          "properties": {
            "custom-property-empty-line-before": {
              "description": "Require or disallow an empty line before custom properties",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "always",
                    "never",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "always",
                          "never",
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "except": {
                            "description": "Reverse the primary option for custom properties that come after a comment, custom property or first child of their parent node",
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "string",
                              "enum": [
                                "after-comment",
                                "after-custom-property",
                                "first-nested"
                              ]
                            }
                          },
                          "ignore": {
                            "description": "Ignore custom properties that are preceded by comments or inside single-line blocks",
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "string",
                              "enum": [
                                "after-comment",
                                "inside-single-line-block"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "custom-property-no-outside-root": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow custom properties outside of `:root` rules"
            },
            "custom-property-pattern": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/stringRule",
              "description": "Specify a pattern for custom properties"
            },
            "no-unknown-custom-properties": {
              "oneOf": [
                {
                  "oneOf": [
                    {
                      "const": true
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 2,
                  "items": [
                    {
                      "oneOf": [
                        {
                          "const": true
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    {
                      "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule",
                      "type": "object",
                      "additionalProperties": false
                    }
                  ]
                }
              ],
              "description": "Disallow unknown custom properties"
            }
          }
        },
        "declaration": {
          "properties": {
            "declaration-bang-space-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require a single space or disallow whitespace after the bang of declarations",
              "deprecated": true
            },
            "declaration-bang-space-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require a single space or disallow whitespace before the bang of declarations",
              "deprecated": true
            },
            "declaration-colon-newline-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysMultiLineRule",
              "description": "Require a newline or disallow whitespace after the colon of declarations",
              "deprecated": true
            },
            "declaration-colon-space-after": {
              "description": "Require a single space or disallow whitespace after the colon of declarations",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "always",
                    "never",
                    "always-single-line",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "always",
                          "never",
                          "always-single-line",
                          {}
                        ]
                      },
                      {
                        "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                      }
                    ]
                  }
                }
              ],
              "deprecated": true
            },
            "declaration-colon-space-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require a single space or disallow whitespace before the colon of declarations",
              "deprecated": true
            },
            "declaration-empty-line-before": {
              "description": "Require or disallow an empty line before declarations",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "always",
                    "never",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "always",
                          "never",
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "except": {
                            "type": "array",
                            "minItems": 1,
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "enum": [
                                "after-comment",
                                "after-declaration",
                                "first-nested"
                              ]
                            }
                          },
                          "ignore": {
                            "type": "array",
                            "minItems": 1,
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "enum": [
                                "after-comment",
                                "after-declaration",
                                "first-nested",
                                "inside-single-line-block"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "declaration-no-important": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow `!important` within declarations"
            },
            "declaration-property-unit-blacklist": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/objectRule",
              "description": "Specify a blacklist of disallowed property and unit pairs within declarations"
            },
            "declaration-property-unit-whitelist": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/objectRule",
              "description": "Specify a whitelist of allowed property and unit pairs within declarations"
            },
            "declaration-property-value-blacklist": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/objectRule",
              "description": "Specify a blacklist of disallowed property and value pairs within declarations"
            },
            "declaration-property-value-no-unknown": {
              "oneOf": [
                {
                  "oneOf": [
                    {
                      "const": true
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 2,
                  "items": [
                    {
                      "oneOf": [
                        {
                          "const": true
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "allOf": [
                        {
                          "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                        }
                      ],
                      "properties": {
                        "ignoreProperties": {
                          "type": "object",
                          "additionalProperties": {
                            "anyOf": [
                              {
                                "oneOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "array",
                                    "items": {
                                      "type": "string"
                                    }
                                  }
                                ]
                              },
                              {
                                "oneOf": [
                                  {
                                    "oneOf": [
                                      {
                                        "type": "object"
                                      },
                                      {
                                        "type": "string",
                                        "pattern": "^\\/.+\\/i?$"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "array",
                                    "items": {
                                      "anyOf": [
                                        {
                                          "type": "object"
                                        },
                                        {
                                          "type": "string",
                                          "pattern": "^\\/.+\\/i?$"
                                        }
                                      ]
                                    }
                                  }
                                ]
                              }
                            ]
                          }
                        },
                        "propertiesSyntax": {
                          "type": "object",
                          "additionalProperties": {
                            "oneOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            ]
                          }
                        },
                        "typesSyntax": {
                          "type": "object",
                          "additionalProperties": {
                            "oneOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            ]
                          }
                        }
                      }
                    }
                  ]
                }
              ],
              "description": "Disallow unknown values for properties within declarations"
            },
            "declaration-property-value-whitelist": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/objectRule",
              "description": "Specify a whitelist of allowed property and value pairs within declarations"
            }
          }
        },
        "declarationBlock": {
          "properties": {
            "declaration-block-no-duplicate-properties": {
              "description": "Disallow duplicate properties within declaration blocks",
              "type": [
                "null",
                "boolean",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "boolean",
                  "enum": [
                    true,
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "boolean",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "boolean",
                        "enum": [
                          true,
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "ignore": {
                            "type": "array",
                            "minItems": 1,
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "enum": [
                                "consecutive-duplicates",
                                "consecutive-duplicates-with-different-values",
                                "consecutive-duplicates-with-different-syntaxes",
                                "consecutive-duplicates-with-same-prefixless-values"
                              ]
                            }
                          },
                          "ignoreProperties": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "declaration-block-no-ignored-properties": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow property values that are ignored due to another property value in the same rule"
            },
            "declaration-block-no-redundant-longhand-properties": {
              "description": "Disallow longhand properties that can be combined into one shorthand property",
              "type": [
                "null",
                "boolean",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "boolean",
                  "enum": [
                    true,
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "boolean",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "boolean",
                        "enum": [
                          true,
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "ignoreShorthands": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "declaration-block-no-shorthand-property-overrides": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow shorthand properties that override related longhand properties"
            },
            "declaration-block-properties-order": {
              "description": "Specify the order of properties within declaration blocks",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "alphabetical",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "array",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "alphabetical",
                          [],
                          {}
                        ]
                      },
                      {
                        "type": "string"
                      },
                      {
                        "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "dependencies": {
                          "order": [
                            "properties"
                          ],
                          "properties": [
                            "order"
                          ]
                        },
                        "properties": {
                          "unspecified": {
                            "description": "These options only apply if you've defined your own array of properties",
                            "type": "string",
                            "enum": [
                              "top",
                              "bottom",
                              "bottomAlphabetical",
                              "ignore"
                            ]
                          },
                          "order": {
                            "type": "string",
                            "enum": [
                              "strict",
                              "flexible"
                            ]
                          },
                          "properties": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "declaration-block-semicolon-newline-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineRule",
              "description": "Require a newline or disallow whitespace after the semicolons of declaration blocks",
              "deprecated": true
            },
            "declaration-block-semicolon-newline-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineRule",
              "description": "Require a newline or disallow whitespace before the semicolons of declaration blocks",
              "deprecated": true
            },
            "declaration-block-semicolon-space-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/spaceRule",
              "description": "Require a single space or disallow whitespace after the semicolons of declaration blocks",
              "deprecated": true
            },
            "declaration-block-semicolon-space-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/spaceRule",
              "description": "Require a single space or disallow whitespace before the semicolons of declaration blocks",
              "deprecated": true
            },
            "declaration-block-single-line-max-declarations": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/integerRule",
              "description": "Limit the number of declaration within a single line declaration block"
            },
            "declaration-block-trailing-semicolon": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require or disallow a trailing semicolon within declaration blocks",
              "deprecated": true
            }
          }
        },
        "font": {
          "properties": {
            "font-family-name-quotes": {
              "description": "Specify whether or not quotation marks should be used around font family names",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "always-where-required",
                    "always-where-recommended",
                    "always-unless-keyword",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "always-where-required",
                          "always-where-recommended",
                          "always-unless-keyword",
                          {}
                        ]
                      },
                      {
                        "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                      }
                    ]
                  }
                }
              ]
            },
            "font-weight-notation": {
              "description": "Require numeric or named (where possible) `font-weight` values. Also, when named values are expected, require only valid names",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "numeric",
                    "named-where-possible",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "numeric",
                          "named-where-possible",
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "ignore": {
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "string",
                              "enum": [
                                "relative"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            }
          }
        },
        "function": {
          "properties": {
            "function-blacklist": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/arrayStringRule",
              "description": "Specify a blacklist of disallowed functions"
            },
            "function-calc-no-unspaced-operator": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow an unspaced operator within `calc` functions"
            },
            "function-comma-newline-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineRule",
              "description": "Require a newline or disallow whitespace after the commas of functions",
              "deprecated": true
            },
            "function-comma-newline-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineRule",
              "description": "Require a newline or disallow whitespace before the commas of functions",
              "deprecated": true
            },
            "function-comma-space-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/spaceRule",
              "description": "Require a single space or disallow whitespace after the commas of functions",
              "deprecated": true
            },
            "function-comma-space-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/spaceRule",
              "description": "Require a single space or disallow whitespace before the commas of functions",
              "deprecated": true
            },
            "function-linear-gradient-no-nonstandard-direction": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow direction values in `linear-gradient()` calls that are not valid according to the standard syntax"
            },
            "function-max-empty-lines": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/integerRule",
              "description": "Limit the number of adjacent empty lines within functions",
              "deprecated": true
            },
            "function-name-case": {
              "description": "Specify lowercase or uppercase for function names",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "lower",
                    "upper",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "lower",
                          "upper",
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "description": "Ignore case of function names",
                        "properties": {
                          "ignoreFunctions": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "function-parentheses-newline-inside": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineRule",
              "description": "Require a newline or disallow whitespace on the inside of the parentheses of functions",
              "deprecated": true
            },
            "function-parentheses-space-inside": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/spaceRule",
              "description": "Require a single space or disallow whitespace on the inside of the parentheses of functions",
              "deprecated": true
            },
            "function-url-data-uris": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require or disallow data URIs for urls"
            },
            "function-url-no-scheme-relative": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow scheme-relative urls"
            },
            "function-url-quotes": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require or disallow quotes for urls"
            },
            "function-url-scheme-whitelist": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/arrayStringRule",
              "description": "Specify a whitelist of allowed url schemes"
            },
            "function-whitelist": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/arrayStringRule",
              "description": "Specify a whitelist of allowed functions"
            },
            "function-whitespace-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require or disallow whitespace after functions",
              "deprecated": true
            }
          }
        },
        "generalSheet": {
          "properties": {
            "indentation": {
              "description": "Specify indentation",
              "type": [
                "null",
                "integer",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": [
                    "null",
                    "integer"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "tab",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "integer"
                  }
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "integer",
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "integer"
                      },
                      {
                        "type": "string",
                        "enum": [
                          "tab",
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "indentInsideParens": {
                            "description": "If `true`, the closing brace of a block (rule or at-rule) will be expected at the same indentation level as the block's inner nodes",
                            "type": "string",
                            "enum": [
                              "twice",
                              "once-at-root-twice-in-block"
                            ]
                          },
                          "except": {
                            "description": "Do not indent for these things",
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "string",
                              "enum": [
                                "block",
                                "param",
                                "value"
                              ]
                            }
                          },
                          "ignore": {
                            "description": "Ignore the indentation inside parentheses",
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "string",
                              "enum": [
                                "inside-parens",
                                "param",
                                "value"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              ],
              "deprecated": true
            },
            "linebreaks": {
              "description": "Specify unix or windows linebreaks",
              "deprecated": true
            },
            "max-empty-lines": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/integerRule",
              "description": "Limit the number of adjacent empty lines",
              "deprecated": true
            },
            "max-line-length": {
              "description": "Limit the length of a line",
              "type": [
                "null",
                "integer",
                "array"
              ],
              "oneOf": [
                {
                  "type": [
                    "null",
                    "integer"
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "integer",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "integer"
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "ignore": {
                            "type": [
                              "string",
                              "array"
                            ],
                            "anyOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "non-comments",
                                  "comments"
                                ]
                              },
                              {
                                "type": "array",
                                "uniqueItems": true,
                                "minItems": 1,
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "non-comments",
                                    "comments"
                                  ]
                                }
                              }
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              ],
              "deprecated": true
            },
            "max-nesting-depth": {
              "description": "Limit the allowed nesting depth",
              "type": [
                "null",
                "integer",
                "array"
              ],
              "oneOf": [
                {
                  "type": [
                    "null",
                    "integer"
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "integer",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "integer"
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "ignore": {
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "string",
                              "enum": [
                                "at-rules-without-declaration-blocks",
                                "blockless-at-rules",
                                "pseudo-classes"
                              ]
                            }
                          },
                          "ignoreAtRules": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "no-browser-hacks": {
              "description": "Disallow browser hacks that are irrelevant to the browsers you are targeting",
              "type": [
                "null",
                "boolean",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "boolean",
                  "enum": [
                    true,
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "boolean",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "boolean",
                        "enum": [
                          true,
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "browsers": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleStringOrArrayStringRule"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "no-descending-specificity": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow selectors of lower specificity from coming after overriding selectors of higher specificity"
            },
            "no-duplicate-selectors": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow duplicate selectors within a stylesheet"
            },
            "no-empty-first-line": {
              "description": "Disallow empty first lines",
              "deprecated": true
            },
            "no-empty-source": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow empty sources"
            },
            "no-eol-whitespace": {
              "description": "Disallow end-of-line whitespace",
              "type": [
                "null",
                "boolean",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "boolean",
                  "enum": [
                    true,
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "boolean",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "boolean",
                        "enum": [
                          true,
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "ignore": {
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "string",
                              "enum": [
                                "empty-lines"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              ],
              "deprecated": true
            },
            "no-extra-semicolons": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow extra semicolons",
              "deprecated": true
            },
            "no-indistinguishable-colors": {
              "description": "Disallow colors that are suspiciously close to being identical",
              "type": [
                "null",
                "boolean",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "boolean",
                  "enum": [
                    true,
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "boolean",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "boolean",
                        "enum": [
                          true,
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "threshold": {
                            "type": "integer",
                            "default": 3,
                            "minimum": 0,
                            "maximum": 100
                          },
                          "ignore": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                          },
                          "whitelist": {
                            "description": "An array of color pairs to ignore. Each pair is an array with two items",
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "no-invalid-double-slash-comments": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow double-slash comments `(//...)` which are not supported by CSS and could lead to unexpected results"
            },
            "no-missing-end-of-source-newline": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow missing end-of-source newlines",
              "deprecated": true
            },
            "no-unknown-animations": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow animation names that do not correspond to a `@keyframes` declaration"
            },
            "unicode-bom": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require or disallow Unicode BOM",
              "deprecated": true
            },
            "no-unsupported-browser-features": {
              "description": "Disallow features that are unsupported by the browsers that you are targeting",
              "type": [
                "null",
                "boolean",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "boolean",
                  "enum": [
                    true,
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "boolean",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "boolean",
                        "enum": [
                          true,
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "browsers": {
                            "type": "string"
                          },
                          "ignore": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleStringOrArrayStringRule"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            }
          }
        },
        "keyframeDeclaration": {
          "properties": {
            "keyframe-declaration-no-important": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow !important within keyframe declarations"
            }
          }
        },
        "length": {
          "properties": {
            "length-zero-no-unit": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow units for zero lengths"
            }
          }
        },
        "lightness": {
          "properties": {
            "lightness-notation": {
              "oneOf": [
                {
                  "oneOf": [
                    {
                      "type": "string",
                      "enum": [
                        "percentage",
                        "number"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 2,
                  "items": [
                    {
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "percentage",
                            "number"
                          ]
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    {
                      "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule",
                      "type": "object",
                      "additionalProperties": false
                    }
                  ]
                }
              ],
              "description": "Specify number or percentage notation for lightness"
            }
          }
        },
        "mediaFeature": {
          "properties": {
            "media-feature-colon-space-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require a single space or disallow whitespace after the colon in media features",
              "deprecated": true
            },
            "media-feature-colon-space-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require a single space or disallow whitespace before the colon in media features",
              "deprecated": true
            },
            "media-feature-name-case": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/lowerUpperRule",
              "description": "Specify lowercase or uppercase for media feature names",
              "deprecated": true
            },
            "media-feature-name-no-unknown": {
              "description": "Disallow unknown media feature names",
              "type": [
                "null",
                "boolean",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "boolean",
                  "enum": [
                    true,
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "boolean",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "boolean",
                        "enum": [
                          true,
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "ignoreMediaFeatureNames": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "media-feature-name-value-no-unknown": {
              "oneOf": [
                {
                  "oneOf": [
                    {
                      "const": true
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 2,
                  "items": [
                    {
                      "oneOf": [
                        {
                          "const": true
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    {
                      "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule",
                      "type": "object",
                      "additionalProperties": false
                    }
                  ]
                }
              ],
              "description": "Disallow unknown values for media features"
            },
            "media-feature-name-no-vendor-prefix": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow vendor prefixes for media feature names"
            },
            "media-feature-name-unit-allowed-list": {
              "oneOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "additionalProperties": {
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 2,
                  "items": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "additionalProperties": {
                            "oneOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            ]
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    {
                      "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule",
                      "type": "object",
                      "additionalProperties": false
                    }
                  ]
                }
              ],
              "description": "Specify a list of allowed name and unit pairs within media features"
            },
            "media-feature-no-missing-punctuation": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow missing punctuation for non-boolean media features"
            },
            "media-feature-parentheses-space-inside": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require a single space or disallow whitespace on the inside of the parentheses within media features",
              "deprecated": true
            },
            "media-feature-range-notation": {
              "oneOf": [
                {
                  "oneOf": [
                    {
                      "type": "string",
                      "enum": [
                        "prefix",
                        "context"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 2,
                  "items": [
                    {
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "prefix",
                            "context"
                          ]
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    {
                      "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule",
                      "type": "object",
                      "additionalProperties": false
                    }
                  ]
                }
              ],
              "description": "Specify context or prefix notation for media feature ranges"
            },
            "media-feature-range-operator-space-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require a single space or disallow whitespace after the range operator in media features",
              "deprecated": true
            },
            "media-feature-range-operator-space-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require a single space or disallow whitespace before the range operator in media features",
              "deprecated": true
            }
          }
        },
        "mediaQuery": {
          "properties": {
            "media-query-no-invalid": {
              "oneOf": [
                {
                  "oneOf": [
                    {
                      "const": true
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 2,
                  "items": [
                    {
                      "oneOf": [
                        {
                          "const": true
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    {
                      "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule",
                      "type": "object",
                      "additionalProperties": false
                    }
                  ]
                }
              ],
              "description": "Disallow invalid media queries"
            }
          }
        },
        "mediaQueryList": {
          "properties": {
            "media-query-list-comma-newline-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineRule",
              "description": "Require a newline or disallow whitespace after the commas of media query lists",
              "deprecated": true
            },
            "media-query-list-comma-newline-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineRule",
              "description": "Require a newline or disallow whitespace before the commas of media query lists",
              "deprecated": true
            },
            "media-query-list-comma-space-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/spaceRule",
              "description": "Require a single space or disallow whitespace after the commas of media query lists",
              "deprecated": true
            },
            "media-query-list-comma-space-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/spaceRule",
              "description": "Require a single space or disallow whitespace before the commas of media query lists",
              "deprecated": true
            }
          }
        },
        "number": {
          "properties": {
            "number-leading-zero": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require or disallow a leading zero for fractional numbers less than 1",
              "deprecated": true
            },
            "number-max-precision": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/integerRule",
              "description": "Limit the number of decimal places allowed in numbers"
            },
            "number-no-trailing-zeros": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow trailing zeros in numbers",
              "deprecated": true
            }
          }
        },
        "property": {
          "properties": {
            "property-blacklist": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/arrayStringRule",
              "description": "Specify a blacklist of disallowed properties"
            },
            "property-case": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/lowerUpperRule",
              "description": "Specify lowercase or uppercase for properties",
              "deprecated": true
            },
            "property-no-unknown": {
              "description": "Disallow unknown properties",
              "type": [
                "null",
                "boolean",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "boolean",
                  "enum": [
                    true,
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "boolean",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "boolean",
                        "enum": [
                          true,
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "ignoreProperties": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                          },
                          "checkPrefixed": {
                            "description": "If `true`, this rule will check vendor-prefixed properties",
                            "type": "boolean"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "property-no-vendor-prefix": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow vendor prefixes for properties"
            },
            "property-whitelist": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/arrayStringRule",
              "description": "Specify a whitelist of allowed properties"
            }
          }
        },
        "rootRule": {
          "properties": {
            "root-no-standard-properties": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow standard properties inside `:root` rules"
            }
          }
        },
        "rule": {
          "properties": {
            "rule-nested-empty-line-before": {
              "description": "Require or disallow an empty line before nested rules",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "always",
                    "never",
                    "always-multi-line",
                    "never-multi-line",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "always",
                          "never",
                          "always-multi-line",
                          "never-multi-line",
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "except": {
                            "description": "Reverse the primary option if the rule is the first in a block",
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "string",
                              "enum": [
                                "first-nested"
                              ]
                            }
                          },
                          "ignore": {
                            "description": "Ignore rules that come after a comment",
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "string",
                              "enum": [
                                "after-comment"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "rule-non-nested-empty-line-before": {
              "description": "Require or disallow an empty line before non-nested rules",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "always",
                    "never",
                    "always-multi-line",
                    "never-multi-line",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "always",
                          "never",
                          "always-multi-line",
                          "never-multi-line",
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "except": {
                            "description": "Reverse the primary option if the rule is the first in a block",
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "string",
                              "enum": [
                                "after-single-line-comment"
                              ]
                            }
                          },
                          "ignore": {
                            "description": "Ignore rules that come after a comment",
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "string",
                              "enum": [
                                "after-comment"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            }
          }
        },
        "selector": {
          "properties": {
            "selector-anb-no-unmatchable": {
              "oneOf": [
                {
                  "oneOf": [
                    {
                      "const": true
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 2,
                  "items": [
                    {
                      "oneOf": [
                        {
                          "const": true
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    {
                      "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule",
                      "type": "object",
                      "additionalProperties": false
                    }
                  ]
                }
              ],
              "description": "Disallow unmatchable An+B selectors"
            },
            "selector-attribute-brackets-space-inside": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require a single space or disallow whitespace on the inside of the brackets within attribute selector",
              "deprecated": true
            },
            "selector-attribute-operator-blacklist": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/arrayStringRule",
              "description": "Specify a blacklist of disallowed attribute operators"
            },
            "selector-attribute-operator-space-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require a single space or disallow whitespace after operators within attribute selectors",
              "deprecated": true
            },
            "selector-attribute-operator-space-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require a single space or disallow whitespace before operators within attribute selectors",
              "deprecated": true
            },
            "selector-attribute-operator-whitelist": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/arrayStringRule",
              "description": "Specify a whitelist of allowed attribute operators"
            },
            "selector-attribute-quotes": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require or disallow quotes for attribute values"
            },
            "selector-class-pattern": {
              "description": "Specify a pattern for class selectors",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "resolveNestedSelectors": {
                            "description": "This option will resolve nested selectors with `&` interpolation",
                            "type": "boolean",
                            "default": false
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "selector-combinator-space-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require a single space or disallow whitespace after the combinators of selectors",
              "deprecated": true
            },
            "selector-combinator-space-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require a single space or disallow whitespace before the combinators of selectors",
              "deprecated": true
            },
            "selector-descendant-combinator-no-non-space": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow non-space characters for descendant combinators of selectors",
              "deprecated": true
            },
            "selector-id-pattern": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/stringRule",
              "description": "Specify a pattern for id selectors"
            },
            "selector-max-compound-selectors": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/integerRule",
              "description": "Limit the number of compound selectors in a selector"
            },
            "selector-max-specificity": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/stringRule",
              "description": "Limit the specificity of selectors"
            },
            "selector-nested-pattern": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/stringRule",
              "description": "Specify a pattern for the selectors of rules nested within rules"
            },
            "selector-no-attribute": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow attribute selectors"
            },
            "selector-no-combinator": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow combinators in selectors"
            },
            "selector-no-id": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow id selectors"
            },
            "selector-no-qualifying-type": {
              "description": "Disallow qualifying a selector by type",
              "type": [
                "null",
                "boolean",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "boolean",
                  "enum": [
                    true,
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "boolean",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "boolean",
                        "enum": [
                          true,
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "ignore": {
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "string",
                              "enum": [
                                "attribute",
                                "class",
                                "id"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "selector-no-type": {
              "description": "Disallow type selectors",
              "type": [
                "null",
                "boolean",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "boolean",
                  "enum": [
                    true,
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "boolean",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "boolean",
                        "enum": [
                          true,
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "ignore": {
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "string",
                              "enum": [
                                "compounded",
                                "descendant"
                              ]
                            }
                          },
                          "ignoreTypes": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "selector-no-universal": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow the universal selector"
            },
            "selector-no-vendor-prefix": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow vendor prefixes for selectors"
            },
            "selector-pseudo-class-case": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/lowerUpperRule",
              "description": "Specify lowercase or uppercase for pseudo-class selectors",
              "deprecated": true
            },
            "selector-pseudo-class-no-unknown": {
              "description": "Disallow unknown pseudo-class selectors",
              "type": [
                "null",
                "boolean",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "boolean",
                  "enum": [
                    true,
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "boolean",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "boolean",
                        "enum": [
                          true,
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "ignorePseudoClasses": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "selector-pseudo-class-parentheses-space-inside": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/alwaysNeverRule",
              "description": "Require a single space or disallow whitespace on the inside of the parentheses within pseudo-class selectors",
              "deprecated": true
            },
            "selector-pseudo-class-whitelist": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/arrayStringRule",
              "description": "Specify a whitelist of allowed pseudo-class selectors"
            },
            "selector-pseudo-element-case": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/lowerUpperRule",
              "description": "Specify lowercase or uppercase for pseudo-element selectors",
              "deprecated": true
            },
            "selector-pseudo-element-colon-notation": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/singleDoubleRule",
              "description": "Specify single or double colon notation for applicable pseudo-elements"
            },
            "selector-pseudo-element-no-unknown": {
              "description": "Disallow unknown pseudo-element selectors",
              "type": [
                "null",
                "boolean",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "boolean",
                  "enum": [
                    true,
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "boolean",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "boolean",
                        "enum": [
                          true,
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "ignorePseudoElements": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "selector-root-no-composition": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow the composition of :root in selectors"
            },
            "selector-type-case": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/lowerUpperRule",
              "description": "Specify lowercase or uppercase for type selectors"
            },
            "selector-type-no-unknown": {
              "description": "Disallow unknown type selectors",
              "type": [
                "null",
                "boolean",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "boolean",
                  "enum": [
                    true,
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "boolean",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "boolean",
                        "enum": [
                          true,
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "ignoreTypes": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "selector-max-empty-lines": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/integerRule",
              "description": "Limit the number of adjacent empty lines within selectors",
              "deprecated": true
            }
          }
        },
        "selectorList": {
          "properties": {
            "selector-list-comma-newline-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineRule",
              "description": "Require a newline or disallow whitespace after the commas of selector lists",
              "deprecated": true
            },
            "selector-list-comma-newline-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineRule",
              "description": "Require a newline or disallow whitespace before the commas of selector lists",
              "deprecated": true
            },
            "selector-list-comma-space-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/spaceRule",
              "description": "Require a single space or disallow whitespace after the commas of selector lists",
              "deprecated": true
            },
            "selector-list-comma-space-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/spaceRule",
              "description": "Require a single space or disallow whitespace before the commas of selector lists",
              "deprecated": true
            }
          }
        },
        "shorthandProperty": {
          "properties": {
            "shorthand-property-no-redundant-values": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow redundant values in shorthand properties"
            }
          }
        },
        "string": {
          "properties": {
            "string-no-newline": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow (unescaped) newlines in strings"
            },
            "string-quotes": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/singleDoubleRule",
              "description": "Specify single or double quotes around strings",
              "deprecated": true
            }
          }
        },
        "stylelintDisableComment": {
          "properties": {
            "stylelint-disable-reason": {
              "description": "Require a reason comment before or after `stylelint-disable` comments",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "always-before",
                    "always-after",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "always-before",
                          "always-after",
                          {}
                        ]
                      },
                      {
                        "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                      }
                    ]
                  }
                }
              ]
            }
          }
        },
        "time": {
          "properties": {
            "time-no-imperceptible": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow `animation` and `transition` less than or equal to 100ms"
            }
          }
        },
        "unit": {
          "properties": {
            "unit-blacklist": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/unitRule",
              "description": "Specify a blacklist of disallowed units"
            },
            "unit-case": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/lowerUpperRule",
              "description": "Specify lowercase or uppercase for units",
              "deprecated": true
            },
            "unit-no-unknown": {
              "description": "Disallow unknown units",
              "type": [
                "null",
                "boolean",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "boolean",
                  "enum": [
                    true,
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "boolean",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "boolean",
                        "enum": [
                          true,
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "ignoreUnits": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "unit-whitelist": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/unitRule",
              "description": "Specify a whitelist of allowed units"
            }
          }
        },
        "value": {
          "properties": {
            "value-keyword-case": {
              "description": "Specify lowercase or uppercase for keywords values",
              "type": [
                "null",
                "string",
                "array"
              ],
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "enum": [
                    "lower",
                    "upper",
                    []
                  ]
                },
                {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": [
                      "string",
                      "object"
                    ],
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "lower",
                          "upper",
                          {}
                        ]
                      },
                      {
                        "type": "object",
                        "allOf": [
                          {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/coreRule"
                          }
                        ],
                        "properties": {
                          "ignoreKeywords": {
                            "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule",
                            "description": "Ignore case of keywords values"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "value-no-vendor-prefix": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
              "description": "Disallow vendor prefixes for values"
            }
          }
        },
        "valueList": {
          "properties": {
            "value-list-comma-newline-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineRule",
              "description": "Require a newline or disallow whitespace after the commas of value lists",
              "deprecated": true
            },
            "value-list-comma-newline-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/newlineRule",
              "description": "Require a newline or disallow whitespace before the commas of value lists",
              "deprecated": true
            },
            "value-list-comma-space-after": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/spaceRule",
              "description": "Require a single space or disallow whitespace after the commas of value lists",
              "deprecated": true
            },
            "value-list-comma-space-before": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/spaceRule",
              "description": "Require a single space or disallow whitespace before the commas of value lists",
              "deprecated": true
            },
            "value-list-max-empty-lines": {
              "$ref": "#/definitions/vendored-stylelintrc/definitions/integerRule",
              "description": "Limit the number of adjacent empty lines within value lists",
              "deprecated": true
            }
          }
        }
      },
      "properties": {
        "extends": {
          "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleStringOrArrayStringRule",
          "description": "Your configuration can extend an existing configuration(s) (whether your own or a third-party config)"
        },
        "plugins": {
          "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleArrayStringRule",
          "description": "Plugins are rules or sets of rules built by the community that support methodologies, toolsets, non-standard CSS features, or very specific use cases"
        },
        "customSyntax": {
          "description": "Specify a custom syntax to use on your code.",
          "type": "string"
        },
        "overrides": {
          "description": "Provide rule and behavior overrides for files that match particular glob patterns.",
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "files": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "customSyntax": {
                "type": "string"
              },
              "rules": {
                "$ref": "#/definitions/vendored-stylelintrc/definitions/allRules"
              }
            }
          }
        },
        "processors": {
          "description": "Processors are functions that hook into stylelint's pipeline, modifying code on its way into stylelint and modifying results on their way out",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": [
                  {
                    "type": "string"
                  }
                ],
                "additionalItems": {
                  "type": "object"
                }
              }
            ]
          }
        },
        "ignoreDisables": {
          "description": "Ignore stylelint-disable (e.g. /* stylelint-disable block-no-empty */) comments.",
          "type": "boolean"
        },
        "ignoreFiles": {
          "$ref": "#/definitions/vendored-stylelintrc/definitions/simpleStringOrArrayStringRule",
          "description": "Provide a glob or array of globs to ignore specific files"
        },
        "defaultSeverity": {
          "description": "The default severity level for all rules that do not have a severity specified in their secondary options",
          "type": "string",
          "enum": [
            "warning",
            "error"
          ]
        },
        "reportDescriptionlessDisables": {
          "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
          "description": "Report stylelint-disable comments without a description."
        },
        "reportInvalidScopeDisables": {
          "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
          "description": "Report stylelint-disable comments that don't match rules that are specified in the configuration object."
        },
        "reportNeedlessDisables": {
          "$ref": "#/definitions/vendored-stylelintrc/definitions/booleanRule",
          "description": "Report stylelint-disable comments that don't actually match any lints that need to be disabled"
        },
        "rules": {
          "$ref": "#/definitions/vendored-stylelintrc/definitions/allRules"
        }
      },
      "title": "JSON schema for the Stylelint configuration files",
      "type": "object"
    },
    "vendored-ava": {
      "additionalProperties": false,
      "definitions": {
        "path": {
          "type": "string",
          "minLength": 1
        },
        "array-of-strings": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "array-of-paths": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/vendored-ava/definitions/path"
          }
        }
      },
      "description": "Configuration Schema for the JavaScript test runner AVA",
      "properties": {
        "files": {
          "$ref": "#/definitions/vendored-ava/definitions/array-of-paths",
          "description": "An array of glob patterns to select test files. Files with an underscore prefix are ignored. By default only selects files with `cjs`, `mjs` & `js` extensions, even if the pattern matches other files. Specify `extensions` to allow other file extensions"
        },
        "ignoredByWatcher": {
          "$ref": "#/definitions/vendored-ava/definitions/array-of-paths",
          "description": "An array of glob patterns to match files that, even if changed, are ignored by the watcher"
        },
        "match": {
          "$ref": "#/definitions/vendored-ava/definitions/array-of-paths",
          "description": "Not typically useful in the `package.json` configuration, but equivalent to specifying `--match` on the CLI"
        },
        "cache": {
          "type": "boolean",
          "default": true,
          "description": "Defaults to `true` to cache compiled files under `node_modules/.cache/ava.` If `false`, files are cached in a temporary directory instead"
        },
        "concurrency": {
          "type": "number",
          "description": "Max number of test files running at the same time (default: CPU cores)"
        },
        "workerThreads": {
          "type": "boolean",
          "default": true,
          "description": "Use worker threads to run tests (enabled by default). If `false`, tests will run in child processes"
        },
        "failFast": {
          "type": "boolean",
          "default": false,
          "description": "Stop running further tests once a test fails"
        },
        "failWithoutAssertions": {
          "type": "boolean",
          "default": true,
          "description": "If `false`, does not fail a test if it doesn't run assertions"
        },
        "environmentVariables": {
          "title": "environment variables",
          "type": "object",
          "description": "Specifies environment variables to be made available to the tests. The environment variables defined here override the ones from `process.env`",
          "additionalProperties": {
            "type": "string"
          }
        },
        "serial": {
          "type": "boolean",
          "default": false,
          "description": "if `true`, prevents parallel execution of tests within a file"
        },
        "tap": {
          "type": "boolean",
          "default": false,
          "description": "If `true`, enables the TAP reporter"
        },
        "verbose": {
          "type": "boolean",
          "default": false,
          "description": "If `true`, enables verbose output (though currently non-verbose output is not supported)"
        },
        "snapshotDir": {
          "$ref": "#/definitions/vendored-ava/definitions/path",
          "description": "Specifies a fixed location for storing snapshot files. Use this if your snapshots are ending up in the wrong location"
        },
        "extensions": {
          "anyOf": [
            {
              "$ref": "#/definitions/vendored-ava/definitions/array-of-strings"
            },
            {
              "title": "extensions",
              "type": "object",
              "patternProperties": {
                "^(c|m)?js$": {
                  "enum": [
                    true
                  ]
                }
              },
              "additionalProperties": {
                "enum": [
                  "commonjs",
                  "module"
                ]
              }
            }
          ],
          "default": [
            "cjs",
            "mjs",
            "js"
          ],
          "description": "Extensions of test files. Setting this overrides the default `[\"cjs\", \"mjs\", \"js\"]` value, so make sure to include those extensions in the list. Experimentally you can configure how files are loaded"
        },
        "require": {
          "$ref": "#/definitions/vendored-ava/definitions/array-of-paths",
          "description": "Extra modules to require before tests are run. Modules are required in the worker processes"
        },
        "timeout": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 0
            },
            {
              "type": "string",
              "pattern": "^(\\d+)(s|m)$"
            }
          ],
          "default": "10s",
          "description": "Timeouts in AVA behave differently than in other test frameworks. AVA resets a timer after each test, forcing tests to quit if no new test results were received within the specified timeout. This can be used to handle stalled tests. See our timeout documentation for more options"
        },
        "nodeArguments": {
          "$ref": "#/definitions/vendored-ava/definitions/array-of-strings",
          "description": "Configure Node.js arguments used to launch worker processes"
        },
        "utilizeParallelBuilds": {
          "type": "boolean",
          "default": true,
          "description": "If `false`, disable parallel builds (default: `true`)"
        },
        "typescript": {
          "title": "configuration",
          "type": "object",
          "description": "Configures @ava/typescript for projects that precompile TypeScript. Alternatively, you can use `ts-node` to do live testing without transpiling, in which case you shouldn't use the `typescript` property",
          "properties": {
            "extensions": {
              "$ref": "#/definitions/vendored-ava/definitions/array-of-paths",
              "default": [
                "ts"
              ],
              "description": "You can configure AVA to recognize additional file extensions as TypeScript (e.g., `[\"ts\", \"tsx\"]` to add partial JSX support). Note that the preserve mode for JSX is not (yet) supported. See also AVA's `extensions` object"
            },
            "rewritePaths": {
              "title": "paths",
              "type": "object",
              "description": "AVA searches your entire project for `*.js`, `*.cjs`, `*.mjs` and `*.ts` files (or other extensions you've configured). It will ignore such files found in the `rewritePaths` targets (e.g. `build/`). If you use more specific paths, for instance `build/main/`, you may need to change AVA's `files` configuration to ignore other directories. Paths are relative to your project directory",
              "patternProperties": {
                "/$": {
                  "type": "string",
                  "pattern": "/$"
                }
              }
            },
            "compile": {
              "enum": [
                false,
                "tsc"
              ],
              "default": false,
              "description": "If `false`, AVA will assume you have already compiled your project. If set to `'tsc'`, AVA will run the TypeScript compiler before running your tests. This can be inefficient when using AVA in watch mode"
            }
          }
        }
      },
      "title": "AVA Config Schema",
      "type": "object"
    },
    "vendored-semantic-release": {
      "definitions": {
        "branch-object": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "name"
          ],
          "properties": {
            "name": {
              "type": "string"
            },
            "channel": {
              "type": "string"
            },
            "range": {
              "type": "string"
            },
            "prerelease": {
              "oneOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        }
      },
      "properties": {
        "extends": {
          "description": "List of modules or file paths containing a shareable configuration. If multiple shareable configurations are set, they will be imported in the order defined with each configuration option taking precedence over the options defined in a previous shareable configuration",
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "branches": {
          "description": "The branches on which releases should happen.",
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "#/definitions/vendored-semantic-release/definitions/branch-object"
            },
            {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/definitions/vendored-semantic-release/definitions/branch-object"
                  }
                ]
              }
            }
          ],
          "default": [
            "+([0-9])?(.{+([0-9]),x}).x",
            "master",
            "next",
            "next-major",
            {
              "name": "beta",
              "prerelease": true
            },
            {
              "name": "alpha",
              "prerelease": true
            }
          ]
        },
        "repositoryUrl": {
          "type": "string",
          "description": "The git repository URL"
        },
        "tagFormat": {
          "type": "string",
          "description": "The Git tag format used by semantic-release to identify releases. The tag name is generated with Lodash template and will be compiled with the version variable.",
          "default": "v${version}"
        },
        "plugins": {
          "type": "array",
          "description": "Define the list of plugins to use. Plugins will run in series, in the order defined",
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "array"
              },
              {
                "type": "object",
                "required": [
                  "path"
                ],
                "properties": {
                  "path": {
                    "type": "string"
                  }
                },
                "additionalProperties": true
              }
            ]
          },
          "default": [
            "@semantic-release/commit-analyzer",
            "@semantic-release/release-notes-generator",
            "@semantic-release/npm",
            "@semantic-release/github"
          ]
        },
        "dryRun": {
          "type": "boolean",
          "description": "The objective of the dry-run mode is to get a preview of the pending release. Dry-run mode skips the following steps: prepare, publish, success and fail. In addition to this it prints the next version and release notes to the console"
        },
        "ci": {
          "type": "boolean",
          "description": "Set to false to skip Continuous Integration environment verifications. This allows for making releases from a local machine",
          "default": true
        }
      },
      "title": "semantic-release Schema",
      "type": "object"
    },
    "vendored-jscpd": {
      "additionalProperties": false,
      "definitions": {
        "colorPreset": {
          "enum": [
            "green",
            "blue",
            "red",
            "yellow",
            "orange",
            "purple",
            "pink",
            "grey",
            "gray",
            "cyan",
            "black"
          ]
        },
        "colorHex": {
          "type": "string",
          "pattern": "([0-9a-fA-F]{3}){1,2}"
        },
        "color": {
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-jscpd/definitions/colorPreset"
            },
            {
              "$ref": "#/definitions/vendored-jscpd/definitions/colorHex"
            }
          ]
        },
        "format": {
          "enum": [
            "abap",
            "actionscript",
            "ada",
            "apacheconf",
            "apl",
            "applescript",
            "arduino",
            "arff",
            "asciidoc",
            "asm6502",
            "aspnet",
            "autohotkey",
            "autoit",
            "bash",
            "basic",
            "batch",
            "bison",
            "brainfuck",
            "bro",
            "c",
            "c-header",
            "clike",
            "clojure",
            "coffeescript",
            "comments",
            "cpp",
            "cpp-header",
            "crystal",
            "csharp",
            "csp",
            "css-extras",
            "css",
            "d",
            "dart",
            "diff",
            "django",
            "docker",
            "eiffel",
            "elixir",
            "elm",
            "erb",
            "erlang",
            "flow",
            "fortran",
            "fsharp",
            "gedcom",
            "gherkin",
            "git",
            "glsl",
            "go",
            "graphql",
            "groovy",
            "haml",
            "handlebars",
            "haskell",
            "haxe",
            "hpkp",
            "hsts",
            "http",
            "ichigojam",
            "icon",
            "inform7",
            "ini",
            "io",
            "j",
            "java",
            "javascript",
            "jolie",
            "json",
            "jsx",
            "julia",
            "keymap",
            "kotlin",
            "latex",
            "less",
            "liquid",
            "lisp",
            "livescript",
            "lolcode",
            "lua",
            "makefile",
            "markdown",
            "markup",
            "matlab",
            "mel",
            "mizar",
            "monkey",
            "n4js",
            "nasm",
            "nginx",
            "nim",
            "nix",
            "nsis",
            "objectivec",
            "ocaml",
            "opencl",
            "oz",
            "parigp",
            "pascal",
            "perl",
            "php",
            "plsql",
            "powershell",
            "processing",
            "prolog",
            "properties",
            "protobuf",
            "pug",
            "puppet",
            "pure",
            "python",
            "q",
            "qore",
            "r",
            "reason",
            "renpy",
            "rest",
            "rip",
            "roboconf",
            "ruby",
            "rust",
            "sas",
            "sass",
            "scala",
            "scheme",
            "scss",
            "smalltalk",
            "smarty",
            "soy",
            "sql",
            "stylus",
            "swift",
            "tap",
            "tcl",
            "textile",
            "tsx",
            "tt2",
            "twig",
            "typescript",
            "vbnet",
            "velocity",
            "verilog",
            "vhdl",
            "vim",
            "visual-basic",
            "wasm",
            "url",
            "wiki",
            "xeora",
            "xojo",
            "xquery",
            "yaml"
          ]
        }
      },
      "properties": {
        "minLines": {
          "type": "integer",
          "default": 5,
          "description": "minimum size of code block in lines to check for duplication"
        },
        "maxLines": {
          "type": "integer",
          "default": 1000,
          "description": "maximum size of source file in lines to check for duplication"
        },
        "maxSize": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^\\+?[0-9]+(\\.[0-9]+)? *[kKmMgGtTpP][bB]$"
            },
            {
              "type": "integer"
            }
          ],
          "default": "100kb",
          "description": "maximum size of source file in bytes to check for duplication (e.g.,: 1kb, 1mb, 120kb)"
        },
        "minTokens": {
          "type": "integer",
          "default": 50,
          "description": "minimum size of code block in tokens to check for duplication"
        },
        "threshold": {
          "type": "number",
          "description": "maximum allowed duplicate lines expressed as a percentage; exit with error and exit code 1 when threshold exceeded"
        },
        "formatsExts": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "default": {},
          "description": "custom mapping from formats to file extensions (default: https://github.com/kucherenko/jscpd/blob/master/packages/tokenizer/src/formats.ts); see https://github.com/kucherenko/jscpd/blob/master/supported_formats.md"
        },
        "output": {
          "type": "string",
          "default": "./report",
          "description": "path to directory for non-console reports"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "paths that should be included in duplicate detection (default: [process.cwd()])"
        },
        "pattern": {
          "type": "string",
          "default": "**/*",
          "description": "glob pattern for files that should be included in duplicate detection (e.g., **/*.txt); only used to filter directories configured via path option"
        },
        "ignorePattern": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": [],
          "description": "ignore code blocks matching these regular expressions"
        },
        "mode": {
          "enum": [
            "mild",
            "strict",
            "weak"
          ],
          "default": "mild",
          "description": "mode of detection quality; see https://github.com/kucherenko/jscpd/blob/master/packages/jscpd/README.md#mode"
        },
        "ignore": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": [],
          "description": "glob pattern for files that should be excluded from duplicate detection"
        },
        "format": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/vendored-jscpd/definitions/format"
          },
          "description": "list of formats for which to detect duplication (default: all); see https://github.com/kucherenko/jscpd/blob/master/supported_formats.md"
        },
        "store": {
          "enum": [
            "leveldb",
            "redis"
          ],
          "description": "store used to collect information about code (default: in-memory store); install @jscpd/leveldb-store and use leveldb for big repositories"
        },
        "reporters": {
          "type": "array",
          "items": {
            "enum": [
              "xml",
              "json",
              "csv",
              "markdown",
              "consoleFull",
              "html",
              "console",
              "silent",
              "threshold",
              "xcode"
            ]
          },
          "default": [
            "console"
          ],
          "description": "a list of reporters to use to output information about duplication; see https://github.com/kucherenko/jscpd/blob/master/packages/jscpd/README.md#reporters"
        },
        "blame": {
          "type": "boolean",
          "default": false,
          "description": "get information about authors and dates of duplicated blocks from Git"
        },
        "silent": {
          "type": "boolean",
          "default": false,
          "description": "do not write duplicate detection progress and result to console"
        },
        "verbose": {
          "type": "boolean",
          "default": false,
          "description": "show full information during duplicate detection"
        },
        "absolute": {
          "type": "boolean",
          "default": false,
          "description": "use absolute paths in reports"
        },
        "noSymlinks": {
          "type": "boolean",
          "default": false,
          "description": "do not follow symlinks"
        },
        "skipLocal": {
          "type": "boolean",
          "default": false,
          "description": "skip duplicates within folders; just detect cross-folder duplicates"
        },
        "ignoreCase": {
          "type": "boolean",
          "default": false,
          "description": "ignore case of symbols in code (experimental)"
        },
        "gitignore": {
          "type": "boolean",
          "default": false,
          "description": "ignore all files from .gitignore file"
        },
        "reportersOptions": {
          "type": "object",
          "default": {},
          "additionalProperties": false,
          "properties": {
            "badge": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "path": {
                  "type": "string",
                  "description": "output path for duplication level badge (default: path.join(output, 'jscpd-badge.svg'))"
                },
                "label": {
                  "type": "string",
                  "default": "Copy/Paste",
                  "description": "badge subject text (URL-encoding needed for spaces or special characters)"
                },
                "labelColor": {
                  "$ref": "#/definitions/vendored-jscpd/definitions/color",
                  "default": "555",
                  "description": "badge label color (name or RGB code without #); see https://github.com/badgen/badgen/blob/master/src/color-presets.ts"
                },
                "status": {
                  "type": "string",
                  "description": "badge value text (URL-encoding needed for spaces or special characters, default: duplication %)"
                },
                "color": {
                  "$ref": "#/definitions/vendored-jscpd/definitions/color",
                  "description": "badge color (name or RGB code without #, default: green if beneath threshold, red if above threshold, grey if threshold not set); see https://github.com/badgen/badgen/blob/master/src/color-presets.ts"
                },
                "style": {
                  "enum": [
                    "flat",
                    "classic"
                  ],
                  "default": "classic",
                  "description": "badge look: flat or classic"
                },
                "icon": {
                  "type": "string",
                  "description": "URL for icon to display in front of badge subject text (e.g., data:image/svg+xml;base64,...)"
                },
                "iconWidth": {
                  "type": "number",
                  "default": 13,
                  "description": "SVG width of icon to display in front of badge subject text; set this if icon is not square"
                },
                "scale": {
                  "type": "number",
                  "default": 1,
                  "description": "size of badge relative to default of 1"
                }
              }
            }
          }
        },
        "exitCode": {
          "type": "integer",
          "default": 0,
          "description": "exit code to use when at least one duplicate code block is detected but threshold is not exceeded"
        }
      },
      "type": "object"
    },
    "vendored-nodemon": {
      "definitions": {
        "pathPattern": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "object",
              "properties": {
                "re": {
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "required": [
                "re"
              ],
              "description": "Regular expression"
            }
          ]
        },
        "terminationSignals": {
          "anyOf": [
            {
              "const": "SIGTERM"
            },
            {
              "const": "SIGINT"
            },
            {
              "const": "SIGQUIT"
            },
            {
              "const": "SIGKILL"
            },
            {
              "const": "SIGHUP"
            }
          ]
        },
        "variables": {
          "anyOf": [
            {
              "const": "{{pwd}}",
              "description": "The current directory"
            },
            {
              "const": "{{filename}}",
              "description": "The filename you pass to nodemon"
            }
          ]
        }
      },
      "dependencies": {
        "pollingInterval": {
          "required": [
            "legacyWatch"
          ]
        },
        "nodeArgs": {
          "properties": {
            "exec": {
              "type": "string"
            }
          },
          "required": [
            "exec"
          ]
        }
      },
      "properties": {
        "colours": {
          "default": true,
          "description": "set to false to disable color output",
          "type": "boolean"
        },
        "cwd": {
          "description": "change into <dir> before running the script",
          "type": "string"
        },
        "delay": {
          "default": 0,
          "description": "debounce restart for a number of milliseconds",
          "type": "number"
        },
        "dump": {
          "default": false,
          "description": "print full debug configuration",
          "type": "boolean"
        },
        "exec": {
          "description": "execute script with \"app\", ie. -x \"python -v\".  May use variables.",
          "examples": [
            "{{pwd}}/index.js --some-arg",
            "{{filename}}"
          ],
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "execMap": {
          "description": "The global config file is useful for setting up default executables",
          "type": "object"
        },
        "exitcrash": {
          "description": "Exit nodemon after crash",
          "type": "boolean"
        },
        "ext": {
          "default": "*",
          "description": "extensions to look for, ie. \"js,jade,hbs\"",
          "type": "string"
        },
        "ignore": {
          "description": "Ignore directory or file.  One entry per ignored value.  Wildcards are allowed.",
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-nodemon/definitions/pathPattern"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/definitions/vendored-nodemon/definitions/pathPattern",
                "description": "Path or pattern of file or directory to ignore.  Can also use regular expressions wrapped in an object with a single property named \"re\".",
                "examples": [
                  ".gitignore",
                  ".vscode",
                  "__tests__/*",
                  "__*__/*.js",
                  "*.test.js"
                ]
              }
            }
          ]
        },
        "ignoreRoot": {
          "description": "root paths to ignore",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "legacyWatch": {
          "default": false,
          "description": "use polling to watch for changes (typically needed when watching over a network/Docker)",
          "type": "boolean"
        },
        "noUpdateNotifier": {
          "default": false,
          "description": "opt-out of update version check",
          "type": "boolean"
        },
        "nodeArgs": {
          "description": "arguments to pass to node if exec is \"node\"",
          "type": "array"
        },
        "pollingInterval": {
          "default": 100,
          "description": "combined with legacyWatch, milliseconds to poll for (default 100)",
          "type": "number"
        },
        "quiet": {
          "default": false,
          "description": "minimise nodemon messages to start/stop only",
          "type": "boolean"
        },
        "runOnChangeOnly": {
          "default": false,
          "description": "execute script on change only, not startup",
          "type": "boolean"
        },
        "signal": {
          "$ref": "#/definitions/vendored-nodemon/definitions/terminationSignals",
          "description": "use specified kill signal instead of default (ex. SIGTERM)",
          "type": "string"
        },
        "spawn": {
          "default": false,
          "description": "force nodemon to use spawn (over fork) [node only]",
          "type": "boolean"
        },
        "stdin": {
          "default": true,
          "description": "set to false to have nodemon pass stdin directly to child process",
          "type": "boolean"
        },
        "verbose": {
          "default": false,
          "description": "show detail on what is causing restarts",
          "type": "boolean"
        },
        "watch": {
          "description": "Watch directory or file.  One entry per watched value.  Wildcards are allowed.",
          "oneOf": [
            {
              "$ref": "#/definitions/vendored-nodemon/definitions/pathPattern"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/definitions/vendored-nodemon/definitions/pathPattern",
                "description": "Path or pattern of file or directory to watch.  Can also use regular expressions wrapped in an object with a single property named \"re\".",
                "examples": [
                  "src/index.js",
                  "src",
                  "src/*.js",
                  "*.js"
                ]
              }
            }
          ]
        }
      },
      "title": "JSON Schema for Nodemon Config",
      "type": "object"
    },
    "vendored-quikrun": {
      "title": "quikrun",
      "description": "Configuration for quikrun, a CLI tool to run code files instantly without typing complex commands in terminal.",
      "type": "object",
      "properties": {
        "$schema": {
          "type": "string",
          "description": "Path to the JSON schema"
        },
        "shell": {
          "description": "Custom shell to run commands in",
          "anyOf": [
            {
              "type": "string",
              "description": "Cross-platform custom shell to run commands"
            },
            {
              "type": "object",
              "description": "Platform-specific custom shells",
              "properties": {
                "win": {
                  "type": "string",
                  "description": "Custom shell for Windows"
                },
                "linux": {
                  "type": "string",
                  "description": "Custom shell for Linux"
                },
                "darwin": {
                  "type": "string",
                  "description": "Custom shell for macOS (Darwin)"
                }
              },
              "additionalProperties": false
            }
          ]
        },
        "clear_terminal": {
          "type": "boolean",
          "description": "Clear the terminal before executing commands",
          "default": true
        },
        "show_time_took": {
          "type": "boolean",
          "description": "Show time taken to execute the script",
          "default": true
        },
        "show_command": {
          "type": "boolean",
          "description": "Show the actual command that is being run",
          "default": true
        },
        "show_shell": {
          "type": "boolean",
          "description": "Show the shell being used for execution",
          "default": true
        },
        "show_divider": {
          "type": "boolean",
          "description": "Show the divider line before command stdout/stderr",
          "default": true
        },
        "temp_dir": {
          "type": [
            "string",
            "null"
          ],
          "description": "Directory to store temporary execution files",
          "default": null
        },
        "cd_to_file_dir": {
          "type": "boolean",
          "description": "Change directory to the folder containing the file before execution",
          "default": false
        },
        "keep_artifacts": {
          "type": "boolean",
          "description": "Keep generated binaries or temporary files after execution",
          "default": false
        },
        "auto_close": {
          "description": "Controls closing behavior after execution",
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "always",
                "never",
                "on_success"
              ],
              "description": "always: close immediately, never: wait for Enter, on_success: close only on success"
            },
            {
              "type": "number",
              "minimum": 0,
              "description": "Auto-close delay in seconds before exit (for example: 1, 2.5)."
            }
          ]
        },
        "commands": {
          "type": "object",
          "description": "Command Templates by file extension",
          "additionalProperties": {
            "$ref": "#/definitions/vendored-quikrun/definitions/commandValue"
          }
        }
      },
      "additionalProperties": false,
      "definitions": {
        "compileRun": {
          "type": "object",
          "properties": {
            "compile": {
              "type": "string",
              "description": "Command template to compile the file before running (e.g. 'g++ {file} -o {out}')"
            },
            "run": {
              "type": "string",
              "description": "Command template to execute the compiled binary (e.g. '{out}')"
            }
          },
          "additionalProperties": false
        },
        "osSpecific": {
          "type": "object",
          "properties": {
            "linux": {
              "$ref": "#/definitions/vendored-quikrun/definitions/commandValue",
              "description": "Command for Linux"
            },
            "darwin": {
              "$ref": "#/definitions/vendored-quikrun/definitions/commandValue",
              "description": "Command for macOS (Darwin)"
            },
            "win": {
              "$ref": "#/definitions/vendored-quikrun/definitions/commandValue",
              "description": "Command for Windows"
            }
          },
          "additionalProperties": false
        },
        "shellFamilySpecific": {
          "type": "object",
          "properties": {
            "posix": {
              "anyOf": [
                {
                  "$ref": "#/definitions/vendored-quikrun/definitions/commandValue"
                },
                {
                  "$ref": "#/definitions/vendored-quikrun/definitions/osSpecific"
                }
              ],
              "description": "Command for POSIX shells (bash, zsh, sh, etc.)"
            },
            "cmd": {
              "anyOf": [
                {
                  "$ref": "#/definitions/vendored-quikrun/definitions/commandValue"
                },
                {
                  "$ref": "#/definitions/vendored-quikrun/definitions/osSpecific"
                }
              ],
              "description": "Command for Windows Command Prompt (cmd.exe)"
            },
            "pwsh": {
              "anyOf": [
                {
                  "$ref": "#/definitions/vendored-quikrun/definitions/commandValue"
                },
                {
                  "$ref": "#/definitions/vendored-quikrun/definitions/osSpecific"
                }
              ],
              "description": "Command for PowerShell Core (pwsh)"
            }
          },
          "additionalProperties": false
        },
        "singleCommand": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^@.+$",
              "description": "Inheritance alias starting with @ (e.g., '@js')"
            },
            {
              "type": "string",
              "description": "The command to execute (e.g., 'python {file}')"
            },
            {
              "$ref": "#/definitions/vendored-quikrun/definitions/compileRun"
            }
          ]
        },
        "commandValue": {
          "description": "Command string, fallback array, or platform-specific object",
          "anyOf": [
            {
              "$ref": "#/definitions/vendored-quikrun/definitions/singleCommand"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/definitions/vendored-quikrun/definitions/commandValue"
              }
            },
            {
              "$ref": "#/definitions/vendored-quikrun/definitions/shellFamilySpecific"
            }
          ]
        }
      }
    }
  },
  "type": "object",
  "patternProperties": {
    "^_": {
      "description": "Any property starting with _ is valid.",
      "tsType": "any"
    }
  },
  "properties": {
    "name": {
      "description": "The name of the package.",
      "type": "string",
      "maxLength": 214,
      "minLength": 1
    },
    "version": {
      "description": "Version must be parsable by node-semver, which is bundled with npm as a dependency.",
      "type": "string"
    },
    "description": {
      "description": "This helps people discover your package, as it's listed in 'npm search'.",
      "type": "string"
    },
    "keywords": {
      "description": "This helps people discover your package as it's listed in 'npm search'.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "homepage": {
      "description": "The url to the project homepage.",
      "type": "string"
    },
    "bugs": {
      "description": "The url to your project's issue tracker and / or the email address to which issues should be reported. These are helpful for people who encounter issues with your package.",
      "type": [
        "object",
        "string"
      ],
      "properties": {
        "url": {
          "type": "string",
          "description": "The url to your project's issue tracker.",
          "format": "uri"
        },
        "email": {
          "type": "string",
          "description": "The email address to which issues should be reported.",
          "format": "email"
        }
      }
    },
    "license": {
      "$ref": "#/definitions/license",
      "description": "You should specify a license for your package so that people know how they are permitted to use it, and any restrictions you're placing on it."
    },
    "licenses": {
      "description": "DEPRECATED: Instead, use SPDX expressions, like this: { \"license\": \"ISC\" } or { \"license\": \"(MIT OR Apache-2.0)\" } see: 'https://docs.npmjs.com/files/package.json#license'.",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/definitions/license"
          },
          "url": {
            "type": "string",
            "format": "uri"
          }
        }
      }
    },
    "author": {
      "$ref": "#/definitions/person"
    },
    "contributors": {
      "description": "A list of people who contributed to this package.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/person"
      }
    },
    "maintainers": {
      "description": "A list of people who maintains this package.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/person"
      }
    },
    "files": {
      "description": "The 'files' field is an array of files to include in your project. If you name a folder in the array, then it will also include the files inside that folder.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "main": {
      "description": "The main field is a module ID that is the primary entry point to your program.",
      "type": "string"
    },
    "exports": {
      "description": "The \"exports\" field is used to restrict external access to non-exported module files, also enables a module to import itself using \"name\".",
      "oneOf": [
        {
          "$ref": "#/definitions/packageExportsEntryPath",
          "description": "The module path that is resolved when the module specifier matches \"name\", shadows the \"main\" field."
        },
        {
          "type": "object",
          "properties": {
            ".": {
              "$ref": "#/definitions/packageExportsEntryOrFallback",
              "description": "The module path that is resolved when the module specifier matches \"name\", shadows the \"main\" field."
            }
          },
          "patternProperties": {
            "^\\./.+": {
              "$ref": "#/definitions/packageExportsEntryOrFallback",
              "description": "The module path prefix that is resolved when the module specifier starts with \"name/\", set to \"./*\" to allow external modules to import any subpath."
            }
          },
          "additionalProperties": false
        },
        {
          "$ref": "#/definitions/packageExportsEntryObject",
          "description": "The module path that is resolved when the module specifier matches \"name\", shadows the \"main\" field."
        },
        {
          "$ref": "#/definitions/packageExportsFallback",
          "description": "The module path that is resolved when the module specifier matches \"name\", shadows the \"main\" field."
        }
      ]
    },
    "imports": {
      "description": "The \"imports\" field is used to create private mappings that only apply to import specifiers from within the package itself.",
      "type": "object",
      "patternProperties": {
        "^#.+$": {
          "$ref": "#/definitions/packageImportsEntryOrFallback",
          "description": "The module path that is resolved when this environment matches the property name."
        }
      },
      "additionalProperties": false
    },
    "bin": {
      "type": [
        "string",
        "object"
      ],
      "additionalProperties": {
        "type": "string"
      }
    },
    "type": {
      "description": "When set to \"module\", the type field allows a package to specify all .js files within are ES modules. If the \"type\" field is omitted or set to \"commonjs\", all .js files are treated as CommonJS.",
      "type": "string",
      "enum": [
        "commonjs",
        "module"
      ],
      "default": "commonjs"
    },
    "types": {
      "description": "Set the types property to point to your bundled declaration file.",
      "type": "string"
    },
    "typings": {
      "description": "Note that the \"typings\" field is synonymous with \"types\", and could be used as well.",
      "type": "string"
    },
    "typesVersions": {
      "description": "The \"typesVersions\" field is used since TypeScript 3.1 to support features that were only made available in newer TypeScript versions.",
      "type": "object",
      "additionalProperties": {
        "description": "Contains overrides for the TypeScript version that matches the version range matching the property key.",
        "type": "object",
        "properties": {
          "*": {
            "description": "Maps all file paths to the file paths specified in the array.",
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[^*]*(?:\\*[^*]*)?$"
            }
          }
        },
        "patternProperties": {
          "^[^*]+$": {
            "description": "Maps the file path matching the property key to the file paths specified in the array.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "^[^*]*\\*[^*]*$": {
            "description": "Maps file paths matching the pattern specified in property key to file paths specified in the array.",
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[^*]*(?:\\*[^*]*)?$"
            }
          }
        },
        "additionalProperties": false
      }
    },
    "man": {
      "type": [
        "array",
        "string"
      ],
      "description": "Specify either a single file or an array of filenames to put in place for the man program to find.",
      "items": {
        "type": "string"
      }
    },
    "directories": {
      "type": "object",
      "properties": {
        "bin": {
          "description": "If you specify a 'bin' directory, then all the files in that folder will be used as the 'bin' hash.",
          "type": "string"
        },
        "doc": {
          "description": "Put markdown files in here. Eventually, these will be displayed nicely, maybe, someday.",
          "type": "string"
        },
        "example": {
          "description": "Put example scripts in here. Someday, it might be exposed in some clever way.",
          "type": "string"
        },
        "lib": {
          "description": "Tell people where the bulk of your library is. Nothing special is done with the lib folder in any way, but it's useful meta info.",
          "type": "string"
        },
        "man": {
          "description": "A folder that is full of man pages. Sugar to generate a 'man' array by walking the folder.",
          "type": "string"
        },
        "test": {
          "type": "string"
        }
      }
    },
    "repository": {
      "description": "Specify the place where your code lives. This is helpful for people who want to contribute.",
      "type": [
        "object",
        "string"
      ],
      "properties": {
        "type": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "directory": {
          "type": "string"
        }
      }
    },
    "funding": {
      "oneOf": [
        {
          "$ref": "#/definitions/fundingUrl"
        },
        {
          "$ref": "#/definitions/fundingWay"
        },
        {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "$ref": "#/definitions/fundingUrl"
              },
              {
                "$ref": "#/definitions/fundingWay"
              }
            ]
          },
          "minItems": 1,
          "uniqueItems": true
        }
      ]
    },
    "scripts": {
      "description": "The 'scripts' member is an object hash of script commands that are run at various times in the lifecycle of your package. The key is the lifecycle event, and the value is the command to run at that point.",
      "type": "object",
      "properties": {
        "lint": {
          "type": "string",
          "description": "Run code quality tools, e.g. ESLint, TSLint, etc."
        },
        "prepublish": {
          "type": "string",
          "description": "Run BEFORE the package is published (Also run on local npm install without any arguments)."
        },
        "prepare": {
          "type": "string",
          "description": "Runs BEFORE the package is packed, i.e. during \"npm publish\" and \"npm pack\", and on local \"npm install\" without any arguments. This is run AFTER \"prepublish\", but BEFORE \"prepublishOnly\"."
        },
        "prepublishOnly": {
          "type": "string",
          "description": "Run BEFORE the package is prepared and packed, ONLY on npm publish."
        },
        "prepack": {
          "type": "string",
          "description": "run BEFORE a tarball is packed (on npm pack, npm publish, and when installing git dependencies)."
        },
        "postpack": {
          "type": "string",
          "description": "Run AFTER the tarball has been generated and moved to its final destination."
        },
        "publish": {
          "type": "string",
          "description": "Publishes a package to the registry so that it can be installed by name. See https://docs.npmjs.com/cli/v8/commands/npm-publish"
        },
        "postpublish": {
          "$ref": "#/definitions/scriptsPublishAfter"
        },
        "preinstall": {
          "type": "string",
          "description": "Run BEFORE the package is installed."
        },
        "install": {
          "$ref": "#/definitions/scriptsInstallAfter"
        },
        "postinstall": {
          "$ref": "#/definitions/scriptsInstallAfter"
        },
        "preuninstall": {
          "$ref": "#/definitions/scriptsUninstallBefore"
        },
        "uninstall": {
          "$ref": "#/definitions/scriptsUninstallBefore"
        },
        "postuninstall": {
          "type": "string",
          "description": "Run AFTER the package is uninstalled."
        },
        "preversion": {
          "$ref": "#/definitions/scriptsVersionBefore"
        },
        "version": {
          "$ref": "#/definitions/scriptsVersionBefore"
        },
        "postversion": {
          "type": "string",
          "description": "Run AFTER bump the package version."
        },
        "pretest": {
          "$ref": "#/definitions/scriptsTest"
        },
        "test": {
          "$ref": "#/definitions/scriptsTest"
        },
        "posttest": {
          "$ref": "#/definitions/scriptsTest"
        },
        "prestop": {
          "$ref": "#/definitions/scriptsStop"
        },
        "stop": {
          "$ref": "#/definitions/scriptsStop"
        },
        "poststop": {
          "$ref": "#/definitions/scriptsStop"
        },
        "prestart": {
          "$ref": "#/definitions/scriptsStart"
        },
        "start": {
          "$ref": "#/definitions/scriptsStart"
        },
        "poststart": {
          "$ref": "#/definitions/scriptsStart"
        },
        "prerestart": {
          "$ref": "#/definitions/scriptsRestart"
        },
        "restart": {
          "$ref": "#/definitions/scriptsRestart"
        },
        "postrestart": {
          "$ref": "#/definitions/scriptsRestart"
        },
        "serve": {
          "type": "string",
          "description": "Start dev server to serve application files"
        }
      },
      "additionalProperties": {
        "type": "string",
        "tsType": "string | undefined",
        "x-intellij-language-injection": "Shell Script"
      }
    },
    "config": {
      "description": "A 'config' hash can be used to set configuration parameters used in package scripts that persist across upgrades.",
      "type": "object",
      "additionalProperties": true
    },
    "dependencies": {
      "$ref": "#/definitions/dependency"
    },
    "devDependencies": {
      "$ref": "#/definitions/devDependency"
    },
    "optionalDependencies": {
      "$ref": "#/definitions/optionalDependency"
    },
    "peerDependencies": {
      "$ref": "#/definitions/peerDependency"
    },
    "peerDependenciesMeta": {
      "$ref": "#/definitions/peerDependencyMeta"
    },
    "bundleDependencies": {
      "description": "Array of package names that will be bundled when publishing the package.",
      "oneOf": [
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "type": "boolean"
        }
      ]
    },
    "bundledDependencies": {
      "description": "DEPRECATED: This field is honored, but \"bundleDependencies\" is the correct field name. Ignored if \"bundleDependencies\" is also present.",
      "oneOf": [
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "type": "boolean"
        }
      ]
    },
    "resolutions": {
      "description": "Resolutions is used to support selective version resolutions using yarn, which lets you define custom package versions or ranges inside your dependencies. For npm, use overrides instead. See: https://yarnpkg.com/configuration/manifest#resolutions",
      "type": "object"
    },
    "overrides": {
      "description": "Overrides is used to support selective version overrides using npm, which lets you define custom package versions or ranges inside your dependencies. For yarn, use resolutions instead. See: https://docs.npmjs.com/cli/v9/configuring-npm/package-json#overrides",
      "type": "object"
    },
    "packageManager": {
      "description": "Defines which package manager is expected to be used when working on the current project. This field is currently experimental and needs to be opted-in; see https://nodejs.org/api/corepack.html",
      "type": "string",
      "oneOf": [
        {
          "pattern": "(npm|pnpm|yarn|bun|aube)@\\d+\\.\\d+\\.\\d+(-.+)?"
        },
        {
          "const": "bun"
        }
      ]
    },
    "engines": {
      "type": "object",
      "properties": {
        "node": {
          "type": "string"
        },
        "runtime": {
          "oneOf": [
            {
              "$ref": "#/definitions/runtimeEngineDependency"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/definitions/runtimeEngineDependency"
              }
            }
          ],
          "description": "Specifies which JavaScript runtimes (like Node.js, Deno, Bun) are supported. Values should use WinterCG Runtime Keys (see https://runtime-keys.proposal.wintercg.org/)."
        }
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "volta": {
      "description": "Defines which tools and versions are expected to be used when Volta is installed.",
      "type": "object",
      "properties": {
        "extends": {
          "description": "The value of that entry should be a path to another JSON file which also has a \"volta\" section",
          "type": "string"
        }
      },
      "patternProperties": {
        "(node|npm|pnpm|yarn)": {
          "type": "string"
        }
      }
    },
    "engineStrict": {
      "type": "boolean"
    },
    "os": {
      "description": "Specify which operating systems your module will run on.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "cpu": {
      "description": "Specify that your code only runs on certain cpu architectures.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "devEngines": {
      "description": "Define the runtime and package manager for developing the current project.",
      "type": "object",
      "properties": {
        "os": {
          "oneOf": [
            {
              "$ref": "#/definitions/devEngineDependency"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/definitions/devEngineDependency"
              }
            }
          ],
          "description": "Specifies which operating systems are supported for development"
        },
        "cpu": {
          "oneOf": [
            {
              "$ref": "#/definitions/devEngineDependency"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/definitions/devEngineDependency"
              }
            }
          ],
          "description": "Specifies which CPU architectures are supported for development"
        },
        "libc": {
          "oneOf": [
            {
              "$ref": "#/definitions/devEngineDependency"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/definitions/devEngineDependency"
              }
            }
          ],
          "description": "Specifies which C standard libraries are supported for development"
        },
        "runtime": {
          "oneOf": [
            {
              "$ref": "#/definitions/devEngineDependency"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/definitions/devEngineDependency"
              }
            }
          ],
          "description": "Specifies which JavaScript runtimes (like Node.js, Deno, Bun) are supported for development. Values should use WinterCG Runtime Keys (see https://runtime-keys.proposal.wintercg.org/)"
        },
        "packageManager": {
          "oneOf": [
            {
              "$ref": "#/definitions/devEngineDependency"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/definitions/devEngineDependency"
              }
            }
          ],
          "description": "Specifies which package managers are supported for development"
        }
      }
    },
    "preferGlobal": {
      "type": "boolean",
      "description": "DEPRECATED: This option used to trigger an npm warning, but it will no longer warn. It is purely there for informational purposes. It is now recommended that you install any binaries as local devDependencies wherever possible."
    },
    "private": {
      "description": "If set to true, then npm will refuse to publish it.",
      "oneOf": [
        {
          "type": "boolean"
        },
        {
          "enum": [
            "false",
            "true"
          ]
        }
      ]
    },
    "publishConfig": {
      "type": "object",
      "properties": {
        "access": {
          "type": "string",
          "enum": [
            "public",
            "restricted"
          ]
        },
        "tag": {
          "type": "string"
        },
        "registry": {
          "type": "string",
          "format": "uri"
        },
        "provenance": {
          "type": "boolean"
        }
      },
      "additionalProperties": true
    },
    "dist": {
      "type": "object",
      "properties": {
        "shasum": {
          "type": "string"
        },
        "tarball": {
          "type": "string"
        }
      }
    },
    "readme": {
      "type": "string"
    },
    "module": {
      "description": "An ECMAScript module ID that is the primary entry point to your program.",
      "type": "string"
    },
    "esnext": {
      "description": "A module ID with untranspiled code that is the primary entry point to your program.",
      "type": [
        "string",
        "object"
      ],
      "properties": {
        "main": {
          "type": "string"
        },
        "browser": {
          "type": "string"
        }
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "workspaces": {
      "description": "Allows packages within a directory to depend on one another using direct linking of local files. Additionally, dependencies within a workspace are hoisted to the workspace root when possible to reduce duplication. Note: It's also a good idea to set \"private\" to true when using this feature.",
      "anyOf": [
        {
          "type": "array",
          "description": "Workspace package paths. Glob patterns are supported.",
          "items": {
            "type": "string"
          }
        },
        {
          "type": "object",
          "properties": {
            "packages": {
              "type": "array",
              "description": "Workspace package paths. Glob patterns are supported.",
              "items": {
                "type": "string"
              }
            },
            "nohoist": {
              "type": "array",
              "description": "Packages to block from hoisting to the workspace root. Currently only supported in Yarn only.",
              "items": {
                "type": "string"
              }
            }
          }
        }
      ]
    },
    "jspm": {
      "$ref": "#"
    },
    "eslintConfig": {
      "$ref": "#/definitions/vendored-eslintrc"
    },
    "prettier": {
      "$ref": "#/definitions/vendored-prettierrc"
    },
    "stylelint": {
      "$ref": "#/definitions/vendored-stylelintrc"
    },
    "ava": {
      "$ref": "#/definitions/vendored-ava"
    },
    "release": {
      "$ref": "#/definitions/vendored-semantic-release"
    },
    "jscpd": {
      "$ref": "#/definitions/vendored-jscpd"
    },
    "nodemonConfig": {
      "$ref": "#/definitions/vendored-nodemon"
    },
    "quikrun": {
      "$ref": "#/definitions/vendored-quikrun"
    },
    "pnpm": {
      "description": "Defines pnpm specific configuration.",
      "type": "object",
      "properties": {
        "overrides": {
          "description": "Used to override any dependency in the dependency graph.",
          "type": "object"
        },
        "packageExtensions": {
          "description": "Used to extend the existing package definitions with additional information.",
          "type": "object",
          "patternProperties": {
            "^.+$": {
              "type": "object",
              "properties": {
                "dependencies": {
                  "$ref": "#/definitions/dependency"
                },
                "optionalDependencies": {
                  "$ref": "#/definitions/optionalDependency"
                },
                "peerDependencies": {
                  "$ref": "#/definitions/peerDependency"
                },
                "peerDependenciesMeta": {
                  "$ref": "#/definitions/peerDependencyMeta"
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        },
        "peerDependencyRules": {
          "type": "object",
          "properties": {
            "ignoreMissing": {
              "description": "pnpm will not print warnings about missing peer dependencies from this list.",
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "allowedVersions": {
              "description": "Unmet peer dependency warnings will not be printed for peer dependencies of the specified range.",
              "type": "object"
            },
            "allowAny": {
              "description": "Any peer dependency matching the pattern will be resolved from any version, regardless of the range specified in \"peerDependencies\".",
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "additionalProperties": false
        },
        "neverBuiltDependencies": {
          "description": "A list of dependencies to run builds for.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "onlyBuiltDependencies": {
          "description": "A list of package names that are allowed to be executed during installation.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "onlyBuiltDependenciesFile": {
          "description": "Specifies a JSON file that lists the only packages permitted to run installation scripts during the pnpm install process.",
          "type": "string"
        },
        "ignoredBuiltDependencies": {
          "description": "A list of package names that should not be built during installation.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowedDeprecatedVersions": {
          "description": "A list of deprecated versions that the warnings are suppressed.",
          "type": "object"
        },
        "patchedDependencies": {
          "description": "A list of dependencies that are patched.",
          "type": "object"
        },
        "allowNonAppliedPatches": {
          "description": "When true, installation won't fail if some of the patches from the \"patchedDependencies\" field were not applied.",
          "type": "boolean"
        },
        "allowUnusedPatches": {
          "description": "When true, installation won't fail if some of the patches from the \"patchedDependencies\" field were not applied.",
          "type": "boolean"
        },
        "updateConfig": {
          "type": "object",
          "properties": {
            "ignoreDependencies": {
              "description": "A list of packages that should be ignored when running \"pnpm outdated\" or \"pnpm update --latest\".",
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "additionalProperties": false
        },
        "configDependencies": {
          "type": "object",
          "description": "Configurational dependencies are installed before all the other types of dependencies (before 'dependencies', 'devDependencies', 'optionalDependencies')."
        },
        "auditConfig": {
          "type": "object",
          "properties": {
            "ignoreCves": {
              "description": "A list of CVE IDs that will be ignored by \"pnpm audit\".",
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^CVE-\\d{4}-\\d{4,7}$"
              }
            },
            "ignoreGhsas": {
              "description": "A list of GHSA Codes that will be ignored by \"pnpm audit\".",
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^GHSA(-[23456789cfghjmpqrvwx]{4}){3}$"
              }
            }
          },
          "additionalProperties": false
        },
        "requiredScripts": {
          "description": "A list of scripts that must exist in each project.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "supportedArchitectures": {
          "description": "Specifies architectures for which you'd like to install optional dependencies, even if they don't match the architecture of the system running the install.",
          "type": "object",
          "properties": {
            "os": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "cpu": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "libc": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "additionalProperties": false
        },
        "ignoredOptionalDependencies": {
          "description": "A list of optional dependencies that the install should be skipped.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "executionEnv": {
          "type": "object",
          "properties": {
            "nodeVersion": {
              "description": "Specifies which exact Node.js version should be used for the project's runtime.",
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "stackblitz": {
      "description": "Defines the StackBlitz configuration for the project.",
      "type": "object",
      "properties": {
        "installDependencies": {
          "description": "StackBlitz automatically installs npm dependencies when opening a project.",
          "type": "boolean"
        },
        "startCommand": {
          "description": "A terminal command to be executed when opening the project, after installing npm dependencies.",
          "type": [
            "string",
            "boolean"
          ]
        },
        "compileTrigger": {
          "description": "The compileTrigger option controls how file changes in the editor are written to the WebContainers in-memory filesystem. ",
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "auto",
                "keystroke",
                "save"
              ]
            }
          ]
        },
        "env": {
          "description": "A map of default environment variables that will be set in each top-level shell process.",
          "type": "object"
        }
      },
      "additionalProperties": false
    }
  },
  "$id": "https://json.schemastore.org/package.json"
}
