{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/coffeelint.json","additionalProperties":true,"definitions":{"base":{"type":"object","properties":{"level":{"description":"Determines the error level","type":"string","enum":["error","warn","ignore"]}}}},"properties":{"arrow_spacing":{"$ref":"#/definitions/base","description":"This rule checks to see that there is spacing before and after the arrow operator that declares a function. [default level: ignore]","type":"object"},"braces_spacing":{"$ref":"#/definitions/base","description":"This rule checks to see that there is the proper spacing inside curly braces. The spacing amount is specified by `spaces`. The spacing amount for empty objects is specified by `empty_object_spaces`. [default level: ignore]","type":"object","properties":{"empty_object_spaces":{"type":"integer","enum":[0,1]},"spaces":{"type":"integer","enum":[0,1]}}},"camel_case_classes":{"$ref":"#/definitions/base","description":"This rule mandates that all class names are CamelCased. Camel casing class names is a generally accepted way of distinguishing constructor functions - which require the `new` prefix to behave properly - from plain old functions. [default level: error]","type":"object"},"coffeescript_error":{"$ref":"#/definitions/base","description":"[default level: error]","type":"object"},"colon_assignment_spacing":{"$ref":"#/definitions/base","description":"This rule checks to see that there is spacing before and after the colon in a colon assignment (i.e., classes, objects). [default level: ignore]","type":"object","properties":{"spacing":{"type":"object","properties":{"left":{"type":"integer","enum":[0,1]},"right":{"type":"integer","enum":[0,1]}}}}},"cyclomatic_complexity":{"$ref":"#/definitions/base","description":"Examine the complexity of your application. [default level: ignore]","type":"object","properties":{"value":{"type":"integer"}}},"duplicate_key":{"$ref":"#/definitions/base","description":"Prevents defining duplicate keys in object literals and classes. [default level: error]","type":"object"},"empty_constructor_needs_parens":{"$ref":"#/definitions/base","description":"Requires constructors with no parameters to include the parens. [default level: ignore]","type":"object"},"ensure_comprehensions":{"$ref":"#/definitions/base","description":"This rule makes sure that parentheses are around comprehensions. [default level: warn]","type":"object"},"eol_last":{"$ref":"#/definitions/base","description":"Checks that the file ends with a single newline. [default level: ignore]","type":"object"},"indentation":{"$ref":"#/definitions/base","description":"This rule imposes a standard number of spaces to be used for indentation. Since whitespace is significant in CoffeeScript, it's critical that a project chooses a standard indentation format and stays consistent. Other roads lead to darkness. [default level: error]","type":"object","properties":{"value":{"type":"integer"}}},"line_endings":{"$ref":"#/definitions/base","description":"This rule ensures your project uses only windows or unix line endings. [default level: ignore]","type":"object","properties":{"value":{"type":"string","enum":["unix","windows"]}}},"max_line_length":{"$ref":"#/definitions/base","description":"This rule imposes a maximum line length on your code. [default level: error]","type":"object","properties":{"value":{"type":"integer"},"limitComments":{"type":"boolean"}}},"missing_fat_arrows":{"$ref":"#/definitions/base","description":"Warns when you use `this` inside a function that wasn't defined with a fat arrow. This rule does not apply to methods defined in a class, since they have `this` bound to the class instance (or the class itself, for class methods). [default level: ignore]","type":"object"},"newlines_after_classes":{"$ref":"#/definitions/base","description":"Checks the number of newlines between classes and other code. [default level: ignore]","type":"object","properties":{"value":{"type":"integer"}}},"no_backticks":{"$ref":"#/definitions/base","description":"Backticks allow snippets of JavaScript to be embedded in CoffeeScript. While some folks consider backticks useful in a few niche circumstances, they should be avoided because so none of JavaScript's 'bad parts', like with and eval, sneak into CoffeeScript. [default level: error]","type":"object"},"no_debugger":{"$ref":"#/definitions/base","description":"This rule detects the `debugger` statement. [default level: warn]","type":"object"},"no_empty_functions":{"$ref":"#/definitions/base","description":"Disallows declaring empty functions. The goal of this rule is that unintentional empty callbacks can be detected. [default level: ignore]","type":"object"},"no_empty_param_list":{"$ref":"#/definitions/base","description":"This rule prohibits empty parameter lists in function definitions. [default level: ignore]","type":"object"},"no_implicit_braces":{"$ref":"#/definitions/base","description":"This rule prohibits implicit braces when declaring object literals. Implicit braces can make code more difficult to understand, especially when used in combination with optional parenthesis. [default level: ignore]","type":"object","properties":{"strict":{"type":"boolean"}}},"no_implicit_parens":{"$ref":"#/definitions/base","description":"This rule prohibits implicit parens on function calls. [default level: ignore]","type":"object"},"no_interpolation_in_single_quotes":{"$ref":"#/definitions/base","description":"This rule prohibits string interpolation in a single quoted string. [default level: ignore]","type":"object"},"no_nested_string_interpolation":{"$ref":"#/definitions/base","description":"This rule warns about nested string interpolation, as it tends to make code harder to read and understand. [default level: warn]","type":"object"},"no_plusplus":{"$ref":"#/definitions/base","description":"This rule forbids the increment and decrement arithmetic operators. Some people believe the `++` and `--` to be cryptic and the cause of bugs due to misunderstandings of their precedence rules. [default level: ignore]","type":"object"},"no_private_function_fat_arrows":{"$ref":"#/definitions/base","description":"Warns when you use the fat arrow for a private function inside a class definition scope. It is not necessary and it does not do anything. [default level: warn]","type":"object"},"no_stand_alone_at":{"$ref":"#/definitions/base","description":"This rule checks that no stand alone `@` are in use, they are discouraged. [default level: ignore]","type":"object"},"no_tabs":{"$ref":"#/definitions/base","description":"This rule forbids tabs in indentation. Enough said. [default level: error]","type":"object"},"no_this":{"$ref":"#/definitions/base","description":"This rule prohibits `this`. Use `@` instead. [default level: ignore]","type":"object"},"no_throwing_strings":{"$ref":"#/definitions/base","description":"This rule forbids throwing string literals or interpolations. While JavaScript (and CoffeeScript by extension) allow any expression to be thrown, it is best to only throw `Error` objects, because they contain valuable debugging information like the stack trace. [default level: error]","type":"object"},"no_trailing_semicolons":{"$ref":"#/definitions/base","description":"This rule prohibits trailing semicolons, since they are needless cruft in CoffeeScript. [default level: error]","type":"object"},"no_trailing_whitespace":{"$ref":"#/definitions/base","description":"This rule forbids trailing whitespace in your code, since it is needless cruft. [default level: error]","type":"object","properties":{"allowed_in_comments":{"type":"boolean"},"allowed_in_empty_lines":{"type":"boolean"}}},"no_unnecessary_double_quotes":{"$ref":"#/definitions/base","description":"This rule prohibits double quotes unless string interpolation is used or the string contains single quotes. [default level: ignore]","type":"object"},"no_unnecessary_fat_arrows":{"$ref":"#/definitions/base","description":"Disallows defining functions with fat arrows when `this` is not used within the function.  [default level: warn]","type":"object"},"non_empty_constructor_needs_parens":{"$ref":"#/definitions/base","description":"Requires constructors with parameters to include the parens. [default level: ignore]","type":"object"},"prefer_english_operator":{"$ref":"#/definitions/base","description":"This rule prohibits `&&`, `||`, `==`, `!=` and `!`. Use `and`, `or`, `is`, `isnt`, and `not` instead. `!!` (for converting to a boolean) is ignored. [default level: ignore]","type":"object"},"space_operators":{"$ref":"#/definitions/base","description":"This rule enforces that operators have space around them.  [default level: ignore]","type":"object"},"spacing_after_comma":{"$ref":"#/definitions/base","description":"This rule checks to make sure you have a space after commas. [default level: ignore]","type":"object"},"transform_messes_up_line_numbers":{"$ref":"#/definitions/base","description":"This rule detects when changes are made by transform function, and warns that line numbers are probably incorrect. [default level: warn]","type":"object"}},"title":"JSON schema for coffeelint.json files","type":"object"}