{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/jshintrc","properties":{"bitwise":{"description":"Prohibit the use of bitwise operators (&, |, ^, etc.)","type":"boolean","default":false},"curly":{"description":"Requires you to always put curly braces around blocks in loops and conditionals","type":"boolean","default":false},"eqeqeq":{"description":"Prohibits the use of `==` and `!=` in favor of `===` and `!==`","type":"boolean","default":false},"esversion":{"description":"The ECMAScript version to which the code must adhere","type":"integer","default":5,"enum":[3,5,6,7,8,9,10,11]},"forin":{"description":"Requires all `for in` loops to filter object's items with obj.hasOwnProperty()","type":"boolean","default":false},"freeze":{"description":"Prohibits overwriting prototypes of native objects such as Array, Date and so on","type":"boolean","default":false},"funcscope":{"description":"Suppresses warnings about declaring variables inside of control structures while accessing them later from the outside","type":"boolean","default":false},"futurehostile":{"description":"Enables warnings about the use of identifiers which are defined in future versions of JavaScript","type":"boolean","default":false},"iterator":{"description":"Suppresses warnings about the __iterator__ property.","type":"boolean","default":false},"latedef":{"description":"Prohibits the use of a variable before it was defined","enum":[true,false,"nofunc"],"default":false},"leanswitch":{"description":"Prohibits unnecessary clauses within `switch` statements","type":"boolean","default":false},"maxcomplexity":{"description":"Max cyclomatic complexity per function","anyOf":[{"type":"boolean"},{"type":"integer"}],"default":false},"maxdepth":{"description":"Max depth of nested blocks","anyOf":[{"type":"boolean"},{"type":"integer"}],"default":false},"maxerr":{"description":"Maximum amount of warnings JSHint will produce before giving up","type":"integer","default":50},"maxparams":{"description":"Max number of formal parameters allowed per function","anyOf":[{"type":"boolean"},{"type":"integer"}]},"maxstatements":{"description":"Max number statements per function","anyOf":[{"type":"boolean"},{"type":"integer"}],"default":false},"noarg":{"description":"Prohibits the use of `arguments.caller` and `arguments.callee`","type":"boolean","default":false},"nocomma":{"description":"Prohibits the use of the comma operator","type":"boolean","default":false},"nonbsp":{"description":"Warns about `non-breaking whitespace` characters","type":"boolean","default":false},"nonew":{"description":"Prohibits the use of constructors for side-effects (without assignment)","type":"boolean","default":false},"notypeof":{"description":"Suppresses warnings about invalid `typeof`operator values","type":"boolean","default":false},"noreturnawait":{"description":"Async functions resolve on their return value. In most cases, this makes returning the result of an AwaitExpression (which is itself a Promise instance) unnecessary","type":"boolean","default":false},"regexpu":{"description":"Enables warnings for regular expressions which do not include the 'u' flag","type":"boolean","default":false},"shadow":{"description":"Suppresses warnings about variable shadowing. i.e. declaring a variable that had been already declared somewhere in the outer scope","anyOf":[{"type":"boolean"},{"type":"string","enum":["inner","outer"]}],"default":false},"singleGroups":{"description":"Prohibits the use of the grouping operator when it is not strictly required.","type":"boolean","default":false},"strict":{"description":"Requires all code to run in ES5 strict mode","anyOf":[{"type":"boolean"},{"type":"string","enum":["implied","global","func"]}],"default":false},"trailingcomma":{"description":"Warns when a comma is not placed after the last element in an array or object literal","type":"boolean","default":false},"undef":{"description":"Prohibits the use of explicitly undeclared variables","type":"boolean","default":false},"unused":{"description":"Warns when you define and never use your variables","anyOf":[{"type":"boolean"},{"type":"string","enum":["vars","strict"]}],"default":false},"varstmt":{"description":"Forbids the use of VariableStatements (`var`) in favor of `let` and `const`","type":"boolean","default":false},"asi":{"description":"Suppresses warnings about missing semicolons","type":"boolean","default":false},"boss":{"description":"Suppresses warnings about the use of assignments in cases where comparisons are expected","type":"boolean","default":false},"debug":{"description":"Suppresses warnings about the `debugger` statements in your code","type":"boolean","default":false},"elision":{"description":"Tells JSHint that your code uses ES3 array elision elements, or empty elements","type":"boolean","default":false},"eqnull":{"description":"Suppresses warnings about `== null` comparisons","type":"boolean","default":false},"evil":{"description":"Suppresses warnings about the use of `eval`","type":"boolean","default":false},"expr":{"description":"Suppresses warnings about the use of expressions where normally you would expect to see assignments or function calls","type":"boolean","default":false},"lastsemic":{"description":"Suppresses warnings about missing semicolons, but only when the semicolon is omitted for the last statement in a one-line block","type":"boolean","default":false},"loopfunc":{"description":"Suppresses warnings about functions inside of loops","type":"boolean","default":false},"moz":{"description":"Tells JSHint that your code uses Mozilla JavaScript extensions","type":"boolean","default":false},"noyield":{"description":"Suppresses warnings about generator functions with no `yield` statement in them","type":"boolean","default":false},"plusplus":{"description":"Prohibits the use of `++` and `--`","type":"boolean","default":false},"proto":{"description":"Suppresses warnings about the `__proto__` property","type":"boolean","default":false},"scripturl":{"description":"Suppresses warnings about the use of script-targeted URLs","type":"boolean","default":false},"supernew":{"description":"Suppresses warnings about constructions like `new function () { ... };` and `new Object;`","type":"boolean","default":false},"validthis":{"description":"Suppresses warnings about possible strict violations when the code is running in strict mode and you use `this` in a non-constructor function","type":"boolean","default":false},"withstmt":{"description":"Suppresses warnings about the use of the `with` statement","type":"boolean","default":false},"browser":{"description":"[Environment] Web Browser (window, document, etc)","type":"boolean","default":false},"browserify":{"description":"[Environment] Browserify","type":"boolean","default":false},"couch":{"description":"[Environment] CouchDB","type":"boolean","default":false},"devel":{"description":"[Environment] Development/debugging (alert, confirm, etc)","type":"boolean","default":false},"dojo":{"description":"[Environment] Dojo Toolkit","type":"boolean","default":false},"jasmine":{"description":"[Environment] Jasmine unit testing framework","type":"boolean","default":false},"jquery":{"description":"[Environment] jQuery","type":"boolean","default":false},"mocha":{"description":"[Environment] Mocha unit testing framework","type":"boolean","default":false},"module":{"description":"[Environment] ES6 module","type":"boolean","default":false},"mootools":{"description":"[Environment] MooTools","type":"boolean","default":false},"node":{"description":"[Environment] Node.js","type":"boolean","default":false},"nonstandard":{"description":"[Environment] Widely adopted globals (escape, unescape, etc)","type":"boolean","default":false},"phantom":{"description":"[Environment] PhantomJS runtime environment","type":"boolean","default":false},"prototypejs":{"description":"[Environment] Prototype JavaScript framework","type":"boolean","default":false},"rhino":{"description":"[Environment] Rhino","type":"boolean","default":false},"shelljs":{"description":"[Environment] Defines globals exposed by the ShellJS library","type":"boolean","default":false},"typed":{"description":"[Environment] Defines globals for typed array constructors","type":"boolean","default":false},"worker":{"description":"[Environment] Web Workers","type":"boolean","default":false},"wsh":{"description":"[Environment] Windows Scripting Host","type":"boolean","default":false},"yui":{"description":"[Environment] Yahoo User Interface","type":"boolean","default":false},"globals":{"description":"Specify a white list of global variables that are not formally defined in the source code","type":"object","additionalProperties":{"description":"Name of the global. Set to `true` for read/write, `false` for read-only.","type":"boolean"}},"extends":{"description":"Specify the path to another configuration file to use as a base, relative to the current file","type":"string"},"overrides":{"description":"Specify the options that should only be applied to files matching a given path pattern","type":"object","additionalProperties":{"description":"The path pattern to apply the given options to","type":"object"}}},"title":"JSON schema for JSHint configuration files","type":"object"}