2022-03-16 04:29:35 +00:00
{
"$schema" : "http://json-schema.org/draft-04/schema#" ,
"definitions" : {
"rule" : {
2022-08-17 02:16:44 +00:00
"type" : [ "boolean" , "object" , "array" ] ,
2022-03-16 04:29:35 +00:00
"minItems" : 1 ,
"properties" : {
"severity" : {
"description" : "Severity level. Level \"error\" will cause exit code 2." ,
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "default" , "error" , "warning" , "warn" , "off" , "none" ] ,
2022-03-16 04:29:35 +00:00
"default" : "default"
}
}
} ,
"rules" : {
"properties" : {
"align" : {
"description" : "Enforces vertical alignment." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
"enum" : [
"arguments" ,
"elements" ,
"members" ,
"parameters" ,
"statements"
]
} ,
"minItems" : 1 ,
"maxItems" : 5 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/align/definitions/options/items"
} ,
"maxItems" : 6 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/align/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/align/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"arrow-parens" : {
"description" : "Requires parentheses around the parameters of arrow function definitions." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "ban-single-arg-parens" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/arrow-parens/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/arrow-parens/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/arrow-parens/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"arrow-return-shorthand" : {
"description" : "Suggests to convert `() => { return x; }` to `() => x`." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "multiline" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/arrow-return-shorthand/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/arrow-return-shorthand/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/arrow-return-shorthand/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"ban" : {
"description" : "Bans the use of specific functions or global methods." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"anyOf" : [
{
"type" : "string"
} ,
{
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"minItems" : 1 ,
"maxItems" : 3
} ,
{
"type" : "object" ,
"properties" : {
"name" : {
"anyOf" : [
{
"type" : "string"
} ,
{
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"minItems" : 1 ,
"maxItems" : 3
}
]
} ,
"message" : {
"type" : "string"
}
} ,
2022-08-17 02:16:44 +00:00
"required" : [ "name" ] ,
2022-03-16 04:29:35 +00:00
"additionalProperties" : false
}
]
} ,
"minItems" : 1 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/ban/definitions/options/items"
} ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/ban/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/ban/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"ban-comma-operator" : {
"description" : "Bans the comma operator." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"binary-expression-operand-order" : {
"description" : "In a binary expression, a literal should always be on the right-hand side if possible.\nFor example, prefer 'x + 1' over '1 + x'." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"class-name" : {
"description" : "Enforces PascalCased class and interface names." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"comment-format" : {
"description" : "Enforces formatting rules for single-line comments." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"anyOf" : [
{
"type" : "string" ,
"enum" : [
"check-space" ,
"check-lowercase" ,
"check-uppercase"
] ,
"minItems" : 1 ,
"maxItems" : 3 ,
"uniqueItems" : true
} ,
{
"type" : "object" ,
"properties" : {
"ignore-words" : {
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"uniqueItems" : true
} ,
"ignore-pattern" : {
"type" : "string"
}
} ,
"minProperties" : 1 ,
"maxProperties" : 1
}
]
} ,
"minItems" : 1 ,
"maxItems" : 4 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/comment-format/definitions/options/items"
} ,
"maxItems" : 5 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/comment-format/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/comment-format/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"completed-docs" : {
"description" : "Enforces documentation for important items be filled out." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"oneOf" : [
{
"type" : "string" ,
"enum" : [
"classes" ,
"enums" ,
"enum-members" ,
"functions" ,
"interfaces" ,
"methods" ,
"namespaces" ,
"properties" ,
"types" ,
"variables"
]
} ,
{
"type" : "object" ,
"properties" : {
"classes" : {
"type" : "object" ,
"properties" : {
"visibilities" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "all" , "exported" , "internal" ]
2022-03-16 04:29:35 +00:00
}
} ,
"additionalProperties" : false
} ,
"enums" : {
"type" : "object" ,
"properties" : {
"visibilities" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "all" , "exported" , "internal" ]
2022-03-16 04:29:35 +00:00
}
} ,
"additionalProperties" : false
} ,
"enum-members" : {
"type" : "object" ,
"properties" : {
"visibilities" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "all" , "exported" , "internal" ]
2022-03-16 04:29:35 +00:00
}
} ,
"additionalProperties" : false
} ,
"functions" : {
"type" : "object" ,
"properties" : {
"visibilities" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "all" , "exported" , "internal" ]
2022-03-16 04:29:35 +00:00
}
} ,
"additionalProperties" : false
} ,
"interfaces" : {
"type" : "object" ,
"properties" : {
"visibilities" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "all" , "exported" , "internal" ]
2022-03-16 04:29:35 +00:00
}
} ,
"additionalProperties" : false
} ,
"methods" : {
"type" : "object" ,
"properties" : {
"locations" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "all" , "instance" , "static" ]
2022-03-16 04:29:35 +00:00
} ,
"privacies" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "all" , "private" , "protected" , "public" ]
2022-03-16 04:29:35 +00:00
}
} ,
"additionalProperties" : false
} ,
"namespaces" : {
"type" : "object" ,
"properties" : {
"visibilities" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "all" , "exported" , "internal" ]
2022-03-16 04:29:35 +00:00
}
} ,
"additionalProperties" : false
} ,
"properties" : {
"type" : "object" ,
"properties" : {
"locations" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "all" , "instance" , "static" ]
2022-03-16 04:29:35 +00:00
} ,
"privacies" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "all" , "private" , "protected" , "public" ]
2022-03-16 04:29:35 +00:00
}
} ,
"additionalProperties" : false
} ,
"types" : {
"type" : "object" ,
"properties" : {
"visibilities" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "all" , "exported" , "internal" ]
2022-03-16 04:29:35 +00:00
}
} ,
"additionalProperties" : false
} ,
"variables" : {
"type" : "object" ,
"properties" : {
"visibilities" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "all" , "exported" , "internal" ]
2022-03-16 04:29:35 +00:00
}
} ,
"additionalProperties" : false
}
}
}
]
} ,
"minItems" : 1 ,
"maxItems" : 10 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/completed-docs/definitions/options/items"
} ,
"maxItems" : 11 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/completed-docs/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/completed-docs/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"curly" : {
"description" : "Enforces braces for `if`/`for`/`do`/`while` statements." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "as-needed" , "ignore-same-line" ] ,
2022-03-16 04:29:35 +00:00
"minItems" : 1 ,
"maxItems" : 2 ,
"uniqueItems" : true
}
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/curly/definitions/options/items"
} ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/curly/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/curly/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"cyclomatic-complexity" : {
"description" : "Enforces a threshold of cyclomatic complexity." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "number" ,
"minimum" : 2
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/cyclomatic-complexity/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/cyclomatic-complexity/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/cyclomatic-complexity/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"deprecation" : {
"description" : "Warns when deprecated APIs are used." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"encoding" : {
"description" : "Enforces UTF-8 file encoding." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"eofline" : {
"description" : "Ensures the file ends with a newline." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"file-header" : {
"description" : "Enforces a certain header comment for all files, matched by a regular expression." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"minItems" : 1 ,
"maxItems" : 2
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/file-header/definitions/options/items"
} ,
"maxItems" : 3 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/file-header/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/file-header/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"file-name-casing" : {
"description" : "Enforces a consistent file naming convention." ,
"definitions" : {
"file-name-cases" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "camel-case" , "pascal-case" , "kebab-case" , "snake-case" ]
2022-03-16 04:29:35 +00:00
}
} ,
"type" : "array" ,
"minItems" : 2 ,
"items" : [
{
"type" : "boolean"
} ,
{
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/file-name-casing/definitions/file-name-cases"
} ,
{
"type" : "object" ,
"additionalProperties" : {
"$ref" : "#/definitions/rules/properties/file-name-casing/definitions/file-name-cases"
} ,
"minProperties" : 1
}
]
}
]
} ,
"forin" : {
"description" : "Requires a `for ... in` statement to be filtered with an `if` statement." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"import-blacklist" : {
"description" : "Disallows importing the specified modules directly via `import` and `require`.\nInstead only sub modules may be imported from that module." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"oneOf" : [
{
"type" : "string" ,
"minLength" : 1
} ,
{
"type" : "object" ,
"additionalProperties" : {
"type" : "array" ,
"minItems" : 1 ,
"items" : {
"type" : "string" ,
"minLength" : 1
}
}
} ,
{
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"minLength" : 1
}
]
} ,
"minItems" : 1 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/import-blacklist/definitions/options/items"
} ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/import-blacklist/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/import-blacklist/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"import-spacing" : {
"description" : "Ensures proper spacing between import statement keywords" ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"indent" : {
"description" : "Enforces indentation with tabs or spaces." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : [
{
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "tabs" , "spaces" ]
2022-03-16 04:29:35 +00:00
} ,
{
"type" : "number" ,
2022-08-17 02:16:44 +00:00
"enum" : [ 2 , 4 ]
2022-03-16 04:29:35 +00:00
}
] ,
"minItems" : 1 ,
"maxItems" : 2
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
} ,
{
"$ref" : "#/definitions/rules/properties/indent/definitions/options/items/0"
} ,
{
"$ref" : "#/definitions/rules/properties/indent/definitions/options/items/1"
}
] ,
"maxItems" : 3 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/indent/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/indent/definitions/options/items/0"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"jsdoc-format" : {
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "check-multiline-start" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 0 ,
"maxItems" : 1 ,
"uniqueItems" : true
}
} ,
"description" : "Enforces basic format rules for JSDoc comments." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/jsdoc-format/definitions/options/items"
} ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/jsdoc-format/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/jsdoc-format/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"label-position" : {
"description" : "Only allows labels in sensible locations." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"linebreak-style" : {
"description" : "Enforces a consistent linebreak style." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "LF" , "CRLF" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/linebreak-style/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/linebreak-style/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/linebreak-style/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"max-classes-per-file" : {
"description" : "A file may not contain more than the specified number of classes" ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : [
{
"type" : "number" ,
"minimum" : 1
} ,
{
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "exclude-class-expressions" ]
2022-03-16 04:29:35 +00:00
}
] ,
"minItems" : 1 ,
"maxItems" : 2
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
} ,
{
"$ref" : "#/definitions/rules/properties/max-classes-per-file/definitions/options/items/0"
} ,
{
"$ref" : "#/definitions/rules/properties/max-classes-per-file/definitions/options/items/1"
}
] ,
"additionalItems" : false ,
"minItems" : 2 ,
"maxItems" : 3 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/max-classes-per-file/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/max-classes-per-file/definitions/options/items/0"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"max-file-line-count" : {
"description" : "Requires files to remain under a certain number of lines" ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "number" ,
"minimum" : 1
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/max-file-line-count/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/max-file-line-count/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/max-file-line-count/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"max-line-length" : {
"description" : "Requires lines to be under a certain max length." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"oneOf" : [
{
"type" : "number"
} ,
{
"type" : "object" ,
"properties" : {
"limit" : {
"type" : "number"
} ,
"ignore-pattern" : {
"type" : "string"
} ,
"check-strings" : {
"type" : "boolean"
} ,
"check-regex" : {
"type" : "boolean"
}
} ,
"additionalProperties" : false
}
]
} ,
"minLength" : 1 ,
"maxLength" : 2
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/max-line-length/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/max-line-length/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/max-line-length/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"member-ordering" : {
"description" : "Enforces member ordering." ,
"definitions" : {
"kinds" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
"enum" : [
"static-field" ,
"instance-field" ,
"static-method" ,
"instance-method" ,
"constructor" ,
"public-static-field" ,
"public-static-method" ,
"protected-static-field" ,
"protected-static-method" ,
"private-static-field" ,
"private-static-method" ,
"public-instance-field" ,
"protected-instance-field" ,
"private-instance-field" ,
"public-constructor" ,
"protected-constructor" ,
"private-constructor" ,
"public-instance-method" ,
"protected-instance-method" ,
"private-instance-method" ,
"public-static-accessor" ,
"protected-static-accessor" ,
"private-static-accessor" ,
"public-instance-accessor" ,
"protected-instance-accessor" ,
"private-instance-accessor"
]
} ,
"minItems" : 1 ,
"maxItems" : 15 ,
"uniqueItems" : true
} ,
"options" : {
"type" : "array" ,
"items" : {
"type" : "object" ,
"properties" : {
"order" : {
"oneOf" : [
{
"type" : "string" ,
"enum" : [
"fields-first" ,
"instance-sandwich" ,
"statics-first"
]
} ,
{
"type" : "array" ,
"items" : {
"anyOf" : [
{
"$ref" : "#/definitions/rules/properties/member-ordering/definitions/kinds/items"
} ,
{
"type" : "object" ,
"properties" : {
"name" : {
"type" : "string"
} ,
"kinds" : {
"$ref" : "#/definitions/rules/properties/member-ordering/definitions/kinds"
}
} ,
"additionalProperties" : false
}
]
} ,
"minItems" : 1 ,
"maxItems" : 15 ,
"uniqueItems" : true
}
]
} ,
"alphabetize" : {
"type" : "boolean"
}
} ,
"additionalProperties" : false
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/member-ordering/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/member-ordering/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/member-ordering/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"newline-before-return" : {
"description" : "Enforces blank line before return when not the only line in the block." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"newline-per-chained-call" : {
"description" : "Requires that chained method calls be broken apart onto separate lines." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"new-parens" : {
"description" : "Requires parentheses when invoking a constructor via the `new` keyword." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-arg" : {
"description" : "Disallows use of `arguments.callee`." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-bitwise" : {
"description" : "Disallows bitwise operators." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-conditional-assignment" : {
"description" : "Disallows any type of assignment in conditionals." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-consecutive-blank-lines" : {
"description" : "Disallows one or more blank lines in a row." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "number" ,
"minimum" : 1
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/no-consecutive-blank-lines/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/no-consecutive-blank-lines/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/no-consecutive-blank-lines/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-console" : {
"description" : "Bans the use of specified `console` methods." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"minItems" : 1 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/no-console/definitions/options/items"
} ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/no-console/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/no-console/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-construct" : {
"description" : "Disallows access to the constructors of `String`, `Number`, and `Boolean`." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-debugger" : {
"description" : "Disallows `debugger` statements." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-default-export" : {
"description" : "Disallows default exports in ES6-style modules." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-duplicate-imports" : {
"description" : "Disallows multiple import statements from the same module." ,
"definitions" : {
"options" : {
"type" : "object" ,
"properties" : {
"allow-namespace-imports" : {
"type" : "boolean"
}
} ,
"additionalProperties" : false
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
} ,
{
"$ref" : "#/definitions/rules/properties/no-duplicate-imports/definitions/options"
}
] ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/no-duplicate-imports/definitions/options"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-duplicate-super" : {
"description" : "Warns if 'super()' appears twice in a constructor." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-duplicate-switch-case" : {
"description" : "Prevents duplicate cases in switch statements." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-duplicate-variable" : {
"description" : "Disallows duplicate variable declarations in the same block scope." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "check-parameters" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/no-duplicate-variable/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/no-duplicate-variable/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/no-duplicate-variable/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-dynamic-delete" : {
"description" : "Bans usage of the delete operator with computed key expressions." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-empty" : {
"description" : "Disallows empty blocks." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "allow-empty-catch" , "allow-empty-functions" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 2 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/no-empty/definitions/options/items"
} ,
"maxItems" : 3 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/no-empty/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/no-empty/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-eval" : {
"description" : "Disallows `eval` function invocations." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-for-in-array" : {
"description" : "Disallows iterating over an array with a for-in loop." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-implicit-dependencies" : {
"description" : "Disallows importing modules that are not listed as dependency in the project’ s package.json." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : [
{
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "dev" , "optional" ]
2022-03-16 04:29:35 +00:00
} ,
{
"type" : "array"
}
] ,
"minItems" : 0 ,
"maxItems" : 3
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"maxItems" : 3 ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/no-implicit-dependencies/definitions/options/items"
} ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/no-implicit-dependencies/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/no-implicit-dependencies/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-import-side-effect" : {
"description" : "Avoid import statements with side-effect." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "object" ,
"properties" : {
"ignore-module" : {
"type" : "string"
}
} ,
"additionalProperties" : false
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/no-import-side-effect/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/no-import-side-effect/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/no-import-side-effect/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-invalid-template-strings" : {
"description" : "Warns on use of `${` in non-template strings." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-invalid-this" : {
"description" : "Disallows using the `this` keyword outside of classes." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "check-function-in-method" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/no-invalid-this/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/no-invalid-this/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/no-invalid-this/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-irregular-whitespace" : {
"description" : "Disallow irregular whitespace outside of strings and comments" ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-magic-numbers" : {
"description" : "Disallows the use constant number values outside of variable assignments.\nWhen no list of allowed values is specified, -1, 0 and 1 are allowed by default." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "number"
} ,
"minItems" : 1 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/no-magic-numbers/definitions/options/items"
} ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/no-magic-numbers/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/no-magic-numbers/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-null-keyword" : {
"description" : "Disallows use of the `null` keyword literal." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-parameter-reassignment" : {
"description" : "Disallows reassigning parameters." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-reference" : {
"description" : "Disallows `/// <reference path=>` imports (use ES6-style imports instead)." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-return-await" : {
"description" : "Disallows unnecessary `return await`." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-require-imports" : {
"description" : "Disallows invocation of `require()`." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-shadowed-variable" : {
"description" : "Disallows shadowing variable declarations." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "object" ,
"properties" : {
"class" : {
"type" : "boolean"
} ,
"enum" : {
"type" : "boolean"
} ,
"function" : {
"type" : "boolean"
} ,
"import" : {
"type" : "boolean"
} ,
"interface" : {
"type" : "boolean"
} ,
"namespace" : {
"type" : "boolean"
} ,
"typeAlias" : {
"type" : "boolean"
} ,
"typeParameter" : {
"type" : "boolean"
}
} ,
"additionalProperties" : false
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/no-shadowed-variable/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/no-shadowed-variable/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/no-shadowed-variable/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-sparse-arrays" : {
"description" : "Forbids array literals to contain missing elements." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-string-literal" : {
"description" : "Forbids unnecessary string literal property access.\nAllows `obj[\"prop-erty\"]` (can't be a regular property access).\nDisallows `obj[\"property\"]` (should be `obj.property`)." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-string-throw" : {
"description" : "Flags throwing plain strings or concatenations of strings because only Errors produce proper stack traces." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-submodule-imports" : {
"description" : "Disallows importing any submodule." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"minItems" : 1 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/no-submodule-imports/definitions/options/items"
} ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/no-submodule-imports/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/no-submodule-imports/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-switch-case-fall-through" : {
"description" : "Disallows falling through case statements." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-this-assignment" : {
"description" : "Disallows unnecessary references to `this`." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "object" ,
"properties" : {
"allow-destructuring" : {
"type" : "boolean"
} ,
"allowed-names" : {
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"minItems" : 1 ,
"uniqueItems" : true
}
} ,
"additionalProperties" : false
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/no-this-assignment/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/no-this-assignment/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/no-this-assignment/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-trailing-whitespace" : {
"description" : "Disallows trailing whitespace at the end of a line." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
"enum" : [
"ignore-comments" ,
"ignore-jsdoc" ,
"ignore-template-strings" ,
"ignore-blank-lines"
]
} ,
"minItems" : 1 ,
"maxItems" : 4 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/no-trailing-whitespace/definitions/options/items"
} ,
"maxItems" : 5 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/no-trailing-whitespace/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/no-trailing-whitespace/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-unnecessary-callback-wrapper" : {
"description" : "Replaces `x => f(x)` with just `f`.\nTo catch more cases, enable `only-arrow-functions` and `arrow-return-shorthand` too." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-unnecessary-class" : {
"description" : "Disallows classes that are not strictly necessary." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
"enum" : [
"allow-constructor-only" ,
"allow-empty-class" ,
"allow-static-only"
]
} ,
"minLength" : 0 ,
"maxLength" : 3
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/no-unnecessary-class/definitions/options/items"
} ,
"maxItems" : 4 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/no-unnecessary-class/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/no-unnecessary-class/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-unnecessary-initializer" : {
"description" : "Forbids a 'var'/'let' statement or destructuring initializer to be initialized to 'undefined'." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-unsafe-finally" : {
"description" : "Disallows control flow statements, such as `return`, `continue` `break` and `throws` in finally blocks." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-unused-expression" : {
"description" : "Disallows unused expression statements." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
"enum" : [
"allow-fast-null-checks" ,
"allow-new" ,
"allow-tagged-template"
]
} ,
"minItems" : 1 ,
"maxItems" : 3 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/no-unused-expression/definitions/options/items"
} ,
"maxItems" : 4 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/no-unused-expression/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/no-unused-expression/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-use-before-declare" : {
"description" : "Disallows usage of variables before their declaration." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-var-keyword" : {
"description" : "Disallows usage of the `var` keyword." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-void-expression" : {
"description" : "Requires expressions of type `void` to appear in statement position." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "ignore-arrow-function-shorthand" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/no-void-expression/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/no-void-expression/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/no-void-expression/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"number-literal-format" : {
"description" : "Checks that decimal literals should begin with '0.' instead of just '.', and should not end with a trailing '0'." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"object-literal-key-quotes" : {
"description" : "Enforces consistent object literal property quote style." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
"enum" : [
"always" ,
"as-needed" ,
"consistent" ,
"consistent-as-needed"
]
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/object-literal-key-quotes/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/object-literal-key-quotes/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/object-literal-key-quotes/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"object-literal-shorthand" : {
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 2 ,
"uniqueItems" : true
}
} ,
"description" : "Enforces use of ES6 object literal shorthand when possible." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/object-literal-shorthand/definitions/options/items"
} ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/object-literal-shorthand/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/object-literal-shorthand/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"object-literal-sort-keys" : {
"description" : "Checks ordering of keys in object literals." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
"enum" : [
"ignore-case" ,
"locale-compare" ,
"match-declaration-order" ,
"shorthand-first"
]
} ,
"minItems" : 1 ,
"maxItems" : 4 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/object-literal-sort-keys/definitions/options/items"
} ,
"maxItems" : 5 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/object-literal-sort-keys/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/object-literal-sort-keys/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"one-line" : {
"description" : "Requires the specified tokens to be on the same line as the expression preceding them." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
"enum" : [
"check-catch" ,
"check-finally" ,
"check-else" ,
"check-open-brace" ,
"check-whitespace"
]
} ,
"minItems" : 1 ,
"maxItems" : 5 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/one-line/definitions/options/items"
} ,
"maxItems" : 6 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/one-line/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/one-line/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"one-variable-per-declaration" : {
"description" : "Disallows multiple variable definitions in the same declaration statement." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "ignore-for-loop" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/one-variable-per-declaration/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/one-variable-per-declaration/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/one-variable-per-declaration/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"only-arrow-functions" : {
"description" : "Disallows traditional (non-arrow) function expressions." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "allow-declarations" , "allow-named-functions" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 2 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/only-arrow-functions/definitions/options/items"
} ,
"maxItems" : 3 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/only-arrow-functions/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/only-arrow-functions/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"ordered-imports" : {
"description" : "Requires that import statements be alphabetized." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "object" ,
"properties" : {
"grouped-imports" : {
"type" : "boolean"
} ,
"groups" : {
"type" : "array" ,
"items" : {
"oneOf" : [
{
"type" : "string"
} ,
{
"type" : "object" ,
"properties" : {
"name" : {
"type" : "string"
} ,
"match" : {
"type" : "string"
} ,
"order" : {
"type" : "number"
}
} ,
2022-08-17 02:16:44 +00:00
"required" : [ "match" , "order" ]
2022-03-16 04:29:35 +00:00
}
]
}
} ,
"import-sources-order" : {
"type" : "string" ,
"enum" : [
"case-insensitive" ,
"case-insensitive-legacy" ,
"lowercase-first" ,
"lowercase-last" ,
"any"
]
} ,
"named-imports-order" : {
"type" : "string" ,
"enum" : [
"case-insensitive" ,
"case-insensitive-legacy" ,
"lowercase-first" ,
"lowercase-last" ,
"any"
]
} ,
"module-source-path" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "full" , "basename" ]
2022-03-16 04:29:35 +00:00
}
} ,
"additionalProperties" : false
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/ordered-imports/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/ordered-imports/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/ordered-imports/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"prefer-conditional-expression" : {
"description" : "Recommends to use a conditional expression instead of assigning to the same thing in each branch of an if statement." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "check-else-if" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/prefer-conditional-expression/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/prefer-conditional-expression/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/prefer-conditional-expression/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"prefer-const" : {
"description" : "Requires that variable declarations use `const` instead of `let` and `var` if possible." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "object" ,
"properties" : {
"destructuring" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "all" , "any" ]
2022-03-16 04:29:35 +00:00
}
} ,
"additionalProperties" : false
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/prefer-const/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/prefer-const/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/prefer-const/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"prefer-for-of" : {
"description" : "Recommends a 'for-of' loop over a standard 'for' loop if the index is only used to access the array being iterated." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"prefer-function-over-method" : {
"description" : "Warns for class methods that do not use 'this'." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "allow-public" , "allow-protected" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 2 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/prefer-function-over-method/definitions/options/items"
} ,
"maxItems" : 3 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/prefer-function-over-method/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/prefer-function-over-method/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"prefer-method-signature" : {
"description" : "Prefer `foo(): void` over `foo: () => void` in interfaces and types." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"prefer-object-spread" : {
"description" : "Enforces the use of the ES2015 object spread operator over `Object.assign()` where appropriate." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"prefer-switch" : {
"description" : "Prefer a `switch` statement to an `if` statement with simple `===` comparisons." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "object" ,
"properties" : {
"min-cases" : {
"type" : "number" ,
"minimum" : 0
}
} ,
"additionalProperties" : false
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/prefer-switch/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/prefer-switch/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/prefer-switch/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"prefer-template" : {
"description" : "Prefer a template expression over string literal concatenation." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "allow-single-concat" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/prefer-template/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/prefer-template/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/prefer-template/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"prefer-while" : {
"description" : "Prefer while loops instead of for loops without an initializer and incrementor." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"additionalProperties" : false
}
]
} ,
"promise-function-async" : {
"description" : "Requires any function or method that returns a promise to be marked async." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"quotemark" : {
"description" : "Requires single or double quotes for string literals." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
"enum" : [
"single" ,
"double" ,
"jsx-single" ,
"jsx-double" ,
"avoid-escape" ,
"avoid-template"
]
} ,
"minItems" : 1 ,
"maxItems" : 4 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/quotemark/definitions/options/items"
} ,
"maxItems" : 5 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/quotemark/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/quotemark/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"radix" : {
"description" : "Requires the radix parameter to be specified when calling `parseInt`." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"restrict-plus-operands" : {
"description" : "When adding two variables, operands must both be of type number or of type string." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"return-undefined" : {
"description" : "Prefer `return;` in void functions and `return undefined;` in value-returning functions." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"semicolon" : {
"description" : "Enforces consistent semicolon usage at the end of every statement." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : [
{
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" ]
2022-03-16 04:29:35 +00:00
} ,
{
"type" : "string" ,
"enum" : [
"ignore-interfaces" ,
"ignore-bound-class-methods" ,
"strict-bound-class-methods"
]
}
] ,
"minItems" : 1 ,
"maxItems" : 3
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
} ,
{
"$ref" : "#/definitions/rules/properties/semicolon/definitions/options/items/0"
} ,
{
"$ref" : "#/definitions/rules/properties/semicolon/definitions/options/items/1"
}
] ,
"maxItems" : 3 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/semicolon/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/semicolon/definitions/options/items/0"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"space-before-function-paren" : {
"description" : "Require or disallow a space before function parenthesis" ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "object" ,
"properties" : {
"anonymous" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" ]
2022-03-16 04:29:35 +00:00
} ,
"asyncArrow" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" ]
2022-03-16 04:29:35 +00:00
} ,
"constructor" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" ]
2022-03-16 04:29:35 +00:00
} ,
"method" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" ]
2022-03-16 04:29:35 +00:00
} ,
"named" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" ]
2022-03-16 04:29:35 +00:00
}
} ,
"additionalProperties" : false
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/space-before-function-paren/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/space-before-function-paren/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/space-before-function-paren/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"space-within-parens" : {
"description" : "Enforces spaces within parentheses or disallow them." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "number" ,
"min" : 0
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/space-within-parens/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/space-within-parens/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/space-within-parens/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"switch-default" : {
"description" : "Require a `default` case in all `switch` statements." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"switch-final-break" : {
"description" : "Checks whether the final clause of a switch statement ends in `break;`." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/switch-final-break/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/switch-final-break/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/switch-final-break/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"trailing-comma" : {
"description" : "Requires or disallows trailing commas in array and object literals, destructuring assignments, function typings, named imports and exports and function parameters." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "object" ,
"properties" : {
"multiline" : {
"anyOf" : [
{
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" ]
2022-03-16 04:29:35 +00:00
} ,
{
"type" : "object" ,
"properties" : {
"arrays" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" , "ignore" ]
2022-03-16 04:29:35 +00:00
} ,
"exports" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" , "ignore" ]
2022-03-16 04:29:35 +00:00
} ,
"functions" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" , "ignore" ]
2022-03-16 04:29:35 +00:00
} ,
"imports" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" , "ignore" ]
2022-03-16 04:29:35 +00:00
} ,
"objects" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" , "ignore" ]
2022-03-16 04:29:35 +00:00
} ,
"typeLiterals" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" , "ignore" ]
2022-03-16 04:29:35 +00:00
}
} ,
"additionalProperties" : false
}
]
} ,
"singleline" : {
"anyOf" : [
{
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" ]
2022-03-16 04:29:35 +00:00
} ,
{
"type" : "object" ,
"properties" : {
"arrays" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" , "ignore" ]
2022-03-16 04:29:35 +00:00
} ,
"exports" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" , "ignore" ]
2022-03-16 04:29:35 +00:00
} ,
"functions" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" , "ignore" ]
2022-03-16 04:29:35 +00:00
} ,
"imports" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" , "ignore" ]
2022-03-16 04:29:35 +00:00
} ,
"objects" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" , "ignore" ]
2022-03-16 04:29:35 +00:00
} ,
"typeLiterals" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" , "ignore" ]
2022-03-16 04:29:35 +00:00
}
} ,
"additionalProperties" : false
}
]
} ,
"esSpecCompliant" : {
"description" : "Option to forbid trailing comma after rest" ,
"type" : "boolean"
}
} ,
"additionalProperties" : false
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/trailing-comma/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/trailing-comma/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/trailing-comma/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"triple-equals" : {
"description" : "Requires `===` and `!==` in place of `==` and `!=`." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "allow-null-check" , "allow-undefined-check" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 3 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/triple-equals/definitions/options/items"
} ,
"maxItems" : 3 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/triple-equals/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/triple-equals/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"typeof-compare" : {
"description" : "Makes sure result of `typeof` is compared to correct string values" ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"use-isnan" : {
"description" : "Enforces use of the `isNaN()` function to check for NaN references instead of a comparison to the `NaN` constant." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"variable-name" : {
"description" : "Checks variable names for various errors." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
"enum" : [
"check-format" ,
"require-const-for-all-caps" ,
"allow-leading-underscore" ,
"allow-trailing-underscore" ,
"allow-pascal-case" ,
"allow-snake-case" ,
"ban-keywords"
]
} ,
"minItems" : 1 ,
"maxItems" : 7 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/variable-name/definitions/options/items"
} ,
"maxItems" : 7 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/variable-name/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/variable-name/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"whitespace" : {
"description" : "Enforces whitespace style conventions." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
"enum" : [
"check-branch" ,
"check-decl" ,
"check-operator" ,
"check-module" ,
"check-separator" ,
"check-rest-spread" ,
"check-type" ,
"check-typecast" ,
"check-type-operator" ,
"check-preblock" ,
"check-postbrace"
] ,
"minItems" : 1 ,
"maxItems" : 10 ,
"uniqueItems" : true
}
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/rules/properties/whitespace/definitions/options/items"
} ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/rules/properties/whitespace/definitions/options"
} ,
{
"$ref" : "#/definitions/rules/properties/whitespace/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
}
}
} ,
"tsRules" : {
"properties" : {
"adjacent-overload-signatures" : {
"description" : "Enforces function overloads to be consecutive." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"array-type" : {
"description" : "Requires using either 'T[]' or 'Array<T>' for arrays." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "array" , "generic" , "array-simple" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/tsRules/properties/array-type/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/tsRules/properties/array-type/definitions/options"
} ,
{
"$ref" : "#/definitions/tsRules/properties/array-type/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"await-promise" : {
"description" : "Warns for an awaited value that is not a Promise." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"minItems" : 1 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/tsRules/properties/await-promise/definitions/options/items"
} ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/tsRules/properties/await-promise/definitions/options"
} ,
{
"$ref" : "#/definitions/tsRules/properties/await-promise/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"ban-types" : {
"description" : "Bans specific types from being used. Does not ban the corresponding runtime objects from being used." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"minItems" : 1 ,
"maxItems" : 2
} ,
"minItems" : 1 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/tsRules/properties/ban-types/definitions/options/items"
} ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/tsRules/properties/ban-types/definitions/options"
} ,
{
"$ref" : "#/definitions/tsRules/properties/ban-types/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"callable-types" : {
"description" : "An interface or literal type with just a call signature can be written as a function type." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"interface-name" : {
"description" : "Requires interface names to begin with a capital 'I'" ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always-prefix" , "never-prefix" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/tsRules/properties/interface-name/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/tsRules/properties/interface-name/definitions/options"
} ,
{
"$ref" : "#/definitions/tsRules/properties/interface-name/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"interface-over-type-literal" : {
"description" : "Prefer an interface declaration over a type literal (`type T = { ... }`)" ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"match-default-export-name" : {
"description" : "Requires that a default import have the same name as the declaration it imports.\nDoes nothing for anonymous default exports." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"member-access" : {
"description" : "Requires explicit visibility declarations for class members." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
"enum" : [
"no-public" ,
"check-accessor" ,
"check-constructor" ,
"check-parameter-property"
]
} ,
"minItems" : 1 ,
"maxItems" : 4 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/tsRules/properties/member-access/definitions/options/items"
} ,
"maxItems" : 4 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/tsRules/properties/member-access/definitions/options"
} ,
{
"$ref" : "#/definitions/tsRules/properties/member-access/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-angle-bracket-type-assertion" : {
"description" : "Requires the use of `as Type` for type assertions instead of `<Type>`." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-any" : {
"description" : "Disallows usages of `any` as a type declaration." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
} ,
{
"type" : "object" ,
"properties" : {
"ignore-rest-args" : {
"type" : "boolean"
}
}
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-boolean-literal-compare" : {
"description" : "Warns on comparison to a boolean literal, as in `x === true`." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-empty-interface" : {
"description" : "Forbids empty interfaces." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-floating-promises" : {
"description" : "Promises returned by functions must be handled appropriately." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"minItems" : 1 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/tsRules/properties/no-floating-promises/definitions/options/items"
} ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/tsRules/properties/no-floating-promises/definitions/options"
} ,
{
"$ref" : "#/definitions/tsRules/properties/no-floating-promises/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-inferrable-types" : {
"description" : "Disallows explicit type declarations for variables or parameters initialized to a number, string, or boolean." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "ignore-params" , "ignore-properties" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 2 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/tsRules/properties/no-inferrable-types/definitions/options/items"
} ,
"maxItems" : 3 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/tsRules/properties/no-inferrable-types/definitions/options"
} ,
{
"$ref" : "#/definitions/tsRules/properties/no-inferrable-types/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-inferred-empty-object-type" : {
"description" : "Disallow type inference of {} (empty object type) at function and constructor call sites" ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-internal-module" : {
"description" : "Disallows internal `module`" ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-mergeable-namespace" : {
"description" : "Disallows mergeable namespaces in the same file." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-misused-new" : {
"description" : "Warns on apparent attempts to define constructors for interfaces or `new` for classes." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-namespace" : {
"description" : "Disallows use of internal `module`s and `namespace`s." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "allow-declarations" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/tsRules/properties/no-namespace/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/tsRules/properties/no-namespace/definitions/options"
} ,
{
"$ref" : "#/definitions/tsRules/properties/no-namespace/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-non-null-assertion" : {
"description" : "Disallows non-null assertions." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-object-literal-type-assertion" : {
"description" : "Forbids an object literal to appear in a type assertion expression.\nCasting to `any` is still allowed." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-parameter-properties" : {
"description" : "Disallows parameter properties in class constructors." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-redundant-jsdoc" : {
"description" : "Forbids JSDoc which duplicates TypeScript functionality." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-reference-import" : {
"description" : "Don't `<reference types=\"foo\" />` if you import `foo` anyway." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-unbound-method" : {
"description" : "Warns when a method is used as outside of a method call." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "ignore-static" ]
2022-03-16 04:29:35 +00:00
} ,
"minItems" : 1 ,
"maxItems" : 1
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/tsRules/properties/no-unbound-method/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/tsRules/properties/no-unbound-method/definitions/options"
} ,
{
"$ref" : "#/definitions/tsRules/properties/no-unbound-method/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-unnecessary-qualifier" : {
"description" : "Warns when a namespace qualifier (`A.x`) is unnecessary." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-unnecessary-type-assertion" : {
"description" : "Warns if a type assertion does not change the type of an expression." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"minItems" : 1 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/tsRules/properties/no-unnecessary-type-assertion/definitions/options/items"
} ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/tsRules/properties/no-unnecessary-type-assertion/definitions/options"
} ,
{
"$ref" : "#/definitions/tsRules/properties/no-unnecessary-type-assertion/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-unsafe-any" : {
"description" : "Warns when using an expression of type 'any' in a dynamic way.\nUses are only allowed if they would work for `{} | null | undefined`.\nType casts and tests are allowed.\nExpressions that work on all values (such as `\"\" + x`) are allowed." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-unused-variable" : {
"description" : "Disallows unused imports, variables, functions and private class members. Similar to tsc's --noUnusedParameters and --noUnusedLocals options, but does not interrupt code compilation." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"oneOf" : [
{
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "check-parameters" ]
2022-03-16 04:29:35 +00:00
} ,
{
"type" : "object" ,
"properties" : {
"ignore-pattern" : {
"type" : "string"
}
} ,
"additionalProperties" : false
}
]
} ,
"minItems" : 1 ,
"maxItems" : 2 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/tsRules/properties/no-unused-variable/definitions/options/items"
} ,
"maxItems" : 3 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/tsRules/properties/no-unused-variable/definitions/options"
} ,
{
"$ref" : "#/definitions/tsRules/properties/no-unused-variable/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"no-var-requires" : {
"description" : "Disallows the use of require statements except in import statements." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"prefer-readonly" : {
"description" : "Requires that private variables are marked as `readonly` if they’ re never modified outside of the constructor." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
2022-08-17 02:16:44 +00:00
"enum" : [ "only-inline-lambdas" ] ,
2022-03-16 04:29:35 +00:00
"type" : "string"
}
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/tsRules/properties/prefer-readonly/definitions/options/items"
} ,
"maxItems" : 2 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/tsRules/properties/prefer-readonly/definitions/options"
} ,
{
"$ref" : "#/definitions/tsRules/properties/prefer-readonly/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"strict-boolean-expressions" : {
"description" : "Restricts the types allowed in boolean expressions. By default only booleans are allowed.\n\nThe following nodes are checked:\n* Arguments to the `!`, `&&`, and `||` operators\n* The condition in a conditional expression (`cond ? x : y`)\n* Conditions for `if`, `for`, `while`, and `do-while` statements." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
"enum" : [
"allow-null-union" ,
"allow-undefined-union" ,
"allow-string" ,
"allow-enum" ,
"allow-number" ,
"allow-mix" ,
"allow-boolean-or-undefined" ,
"ignore-rhs"
]
} ,
"minItems" : 1 ,
"maxItems" : 8 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/tsRules/properties/strict-boolean-expressions/definitions/options/items"
} ,
"maxItems" : 6 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/tsRules/properties/strict-boolean-expressions/definitions/options"
} ,
{
"$ref" : "#/definitions/tsRules/properties/strict-boolean-expressions/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"strict-type-predicates" : {
"description" : "Warns for type predicates that are always true or always false.\nWorks for 'typeof' comparisons to constants (e.g. 'typeof foo === \"string\"'), and equality comparison to 'null'/'undefined'.\n(TypeScript won't let you compare '1 === 2', but it has an exception for '1 === undefined'.)\nDoes not yet work for 'instanceof'.\nDoes *not* warn for 'if (x.y)' where 'x.y' is always truthy. For that, see strict-boolean-expressions.\n\nThis rule requires `strictNullChecks` to work properly." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"typedef" : {
"description" : "Requires type definitions to exist." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
"enum" : [
"call-signature" ,
"arrow-call-signature" ,
"parameter" ,
"arrow-parameter" ,
"property-declaration" ,
"variable-declaration" ,
"member-variable-declaration" ,
"object-destructuring" ,
"array-destructuring"
]
} ,
"minItems" : 1 ,
"maxItems" : 9 ,
"uniqueItems" : true
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : {
"$ref" : "#/definitions/tsRules/properties/typedef/definitions/options/items"
} ,
"maxItems" : 10 ,
"uniqueItems" : true ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/tsRules/properties/typedef/definitions/options"
} ,
{
"$ref" : "#/definitions/tsRules/properties/typedef/definitions/options/items"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"typedef-whitespace" : {
"description" : "Requires or disallows whitespace for type definitions." ,
"definitions" : {
"options" : {
"type" : "array" ,
"items" : [
{
"type" : "object" ,
"properties" : {
"call-signature" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "nospace" , "onespace" , "space" ]
2022-03-16 04:29:35 +00:00
} ,
"index-signature" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "nospace" , "onespace" , "space" ]
2022-03-16 04:29:35 +00:00
} ,
"parameter" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "nospace" , "onespace" , "space" ]
2022-03-16 04:29:35 +00:00
} ,
"property-declaration" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "nospace" , "onespace" , "space" ]
2022-03-16 04:29:35 +00:00
} ,
"variable-declaration" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "nospace" , "onespace" , "space" ]
2022-03-16 04:29:35 +00:00
}
} ,
"additionalProperties" : false
} ,
{
"type" : "object" ,
"properties" : {
"call-signature" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "nospace" , "onespace" , "space" ]
2022-03-16 04:29:35 +00:00
} ,
"index-signature" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "nospace" , "onespace" , "space" ]
2022-03-16 04:29:35 +00:00
} ,
"parameter" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "nospace" , "onespace" , "space" ]
2022-03-16 04:29:35 +00:00
} ,
"property-declaration" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "nospace" , "onespace" , "space" ]
2022-03-16 04:29:35 +00:00
} ,
"variable-declaration" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "nospace" , "onespace" , "space" ]
2022-03-16 04:29:35 +00:00
}
} ,
"additionalProperties" : false
}
] ,
"minItems" : 1 ,
"maxItems" : 2
}
} ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
} ,
{
"$ref" : "#/definitions/tsRules/properties/typedef-whitespace/definitions/options/items/0"
} ,
{
"$ref" : "#/definitions/tsRules/properties/typedef-whitespace/definitions/options/items/1"
}
] ,
"maxItems" : 3 ,
"properties" : {
"options" : {
"description" : "An option value or an array of multiple option values." ,
"oneOf" : [
{
"$ref" : "#/definitions/tsRules/properties/typedef-whitespace/definitions/options"
} ,
{
"$ref" : "#/definitions/tsRules/properties/typedef-whitespace/definitions/options/items/0"
}
]
} ,
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"type-literal-delimiter" : {
"description" : "Checks that type literal members are separated by semicolons.\nEnforces a trailing semicolon for multiline type literals." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
} ,
{
"type" : "object" ,
"properties" : {
"singleLine" : {
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "always" , "never" ]
2022-03-16 04:29:35 +00:00
}
}
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"unified-signatures" : {
"description" : "Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
} ,
"use-default-type-parameter" : {
"description" : "Warns if an explicitly specified type argument is the default for that type parameter." ,
"allOf" : [
{
"$ref" : "#/definitions/rule"
} ,
{
"items" : [
{
"type" : "boolean"
}
] ,
"additionalItems" : false ,
"properties" : {
"severity" : { }
} ,
"additionalProperties" : false
}
]
}
}
}
} ,
"properties" : {
"extends" : {
"description" : "The name of a built-in configuration preset, or a path or array of paths to other configuration files which are extended by this configuration. These values are handled using node module resolution semantics." ,
2022-08-17 02:16:44 +00:00
"type" : [ "string" , "array" ] ,
2022-03-16 04:29:35 +00:00
"items" : {
"type" : "string"
}
} ,
"rulesDirectory" : {
"description" : "A path to a directory or an array of paths to directories of custom rules. These values are handled using node module resolution semantics, if an `index.js` is placed in your rules directory." ,
2022-08-17 02:16:44 +00:00
"type" : [ "string" , "array" ] ,
2022-03-16 04:29:35 +00:00
"items" : {
"type" : "string"
}
} ,
"rules" : {
"description" : "A map of rules that will be used to lint TypeScript files. These rules apply to `.ts` and `.tsx` files." ,
"allOf" : [
{
"$ref" : "#/definitions/tsRules"
} ,
{
"$ref" : "#/definitions/rules"
}
]
} ,
"jsRules" : {
"description" : "A map of rules that will be used to lint JavaScript files. These rules apply to `.js` and `.jsx` files." ,
"$ref" : "#/definitions/rules"
} ,
"defaultSeverity" : {
"description" : "The severity level used when a rule specifies \"default\" as its severity level. If undefined, \"error\" is used." ,
"type" : "string" ,
2022-08-17 02:16:44 +00:00
"enum" : [ "error" , "warning" , "warn" , "off" , "none" ] ,
2022-03-16 04:29:35 +00:00
"default" : "error"
} ,
"linterOptions" : {
"description" : "Additional linter options." ,
"type" : "object" ,
"properties" : {
"exclude" : {
"description" : "An array of globs. Any file matching these globs will not be linted. All exclude patterns are relative to the configuration file they were specified in." ,
"type" : "array" ,
"items" : {
"type" : "string"
}
}
}
}
2022-08-17 02:16:44 +00:00
} ,
"title" : "JSON schema for the TSLint configuration files." ,
"type" : "object"
2022-03-16 04:29:35 +00:00
}