1
+ {
2
+ // JSHint Default Configuration File (as on JSHint website)
3
+ // See http://jshint.com/docs/ for more details
4
+
5
+ "maxerr" : 50 , // {int} Maximum error before stopping
6
+
7
+ // Enforcing
8
+ "bitwise" : true , // true: Prohibit bitwise operators (&, |, ^, etc.)
9
+ "camelcase" : false , // true: Identifiers must be in camelCase
10
+ "curly" : true , // true: Require {} for every new block or scope
11
+ "eqeqeq" : true , // true: Require triple equals (===) for comparison
12
+ "forin" : true , // true: Require filtering for..in loops with obj.hasOwnProperty()
13
+ "immed" : false , // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());`
14
+ "indent" : 4 , // {int} Number of spaces to use for indentation
15
+ "latedef" : true , // true: Require variables/functions to be defined before being used; (DEFAULT:false)
16
+ "newcap" : false , // true: Require capitalization of all constructor functions e.g. `new F()`
17
+ "noarg" : true , // true: Prohibit use of `arguments.caller` and `arguments.callee`
18
+ "noempty" : false , // true: Prohibit use of empty blocks; (DEFAULT:true)
19
+ "nonew" : false , // true: Prohibit use of constructors for side-effects (without assignment)
20
+ "plusplus" : false , // true: Prohibit use of `++` & `--`
21
+ "quotmark" : false , // Quotation mark consistency:
22
+ // false : do nothing (default)
23
+ // true : ensure whatever is used is consistent
24
+ // "single" : require single quotes
25
+ // "double" : require double quotes
26
+ "undef" : true , // true: Require all non-global variables to be declared (prevents global leaks)
27
+ "unused" : false , // true: Require all defined variables be used (DEFAULT:true)
28
+ "strict" : true , // true: Requires all functions run in ES5 Strict Mode
29
+ "trailing" : false , // true: Prohibit trailing whitespaces
30
+ "maxparams" : false , // {int} Max number of formal params allowed per function
31
+ "maxdepth" : false , // {int} Max depth of nested blocks (within functions)
32
+ "maxstatements" : false , // {int} Max number statements per function
33
+ "maxcomplexity" : false , // {int} Max cyclomatic complexity per function
34
+ "maxlen" : false , // {int} Max number of characters per line
35
+
36
+ // Relaxing
37
+ "asi" : false , // true: Tolerate Automatic Semicolon Insertion (no semicolons)
38
+ "boss" : false , // true: Tolerate assignments where comparisons would be expected
39
+ "debug" : false , // true: Allow debugger statements e.g. browser breakpoints.
40
+ "eqnull" : false , // true: Tolerate use of `== null`
41
+ "es5" : false , // true: Allow ES5 syntax (ex: getters and setters)
42
+ "esnext" : false , // true: Allow ES.next (ES6) syntax (ex: `const`)
43
+ "evil" : false , // true: Tolerate use of `eval` and `new Function()`
44
+ "expr" : true , // true: Tolerate `ExpressionStatement` as Programs (had to switch to true for sinon chai statments...calledOnce)
45
+ "funcscope" : false , // true: Tolerate defining variables inside control statements"
46
+ "globalstrict" : false , // true: Allow global "use strict" (also enables 'strict')
47
+ "iterator" : false , // true: Tolerate using the `__iterator__` property
48
+ "lastsemic" : false , // true: Tolerate omitting a semicolon for the last statement of a 1-line block
49
+ "laxbreak" : false , // true: Tolerate possibly unsafe line breakings
50
+ "laxcomma" : false , // true: Tolerate comma-first style coding
51
+ "loopfunc" : true , // true: Tolerate functions being defined in loops (DEFAULT:false)
52
+ "multistr" : false , // true: Tolerate multi-line strings
53
+ "proto" : false , // true: Tolerate using the `__proto__` property
54
+ "scripturl" : false , // true: Tolerate script-targeted URLs
55
+ "smarttabs" : false , // true: Tolerate mixed tabs/spaces when used for alignment
56
+ "shadow" : false , // true: Allows re-define variables later in code e.g. `var x=1; x=2;`
57
+ "sub" : false , // true: Tolerate using `[]` notation when it can still be expressed in dot notation
58
+ "supernew" : false , // true: Tolerate `new function () { ... };` and `new Object;`
59
+ "validthis" : false , // true: Tolerate using this in a non-constructor function
60
+
61
+ // Environments
62
+ "browser" : true , // Web Browser (window, document, etc)
63
+ "couch" : false , // CouchDB
64
+ "devel" : true , // Development/debugging (alert, confirm, etc)
65
+ "dojo" : false , // Dojo Toolkit
66
+ "jquery" : true , // jQuery (DEFAULT:false)
67
+ "mootools" : false , // MooTools
68
+ "node" : true , // Node.js (DEFAULT:false)
69
+ "nonstandard" : false , // Widely adopted globals (escape, unescape, etc)
70
+ "prototypejs" : false , // Prototype and Scriptaculous
71
+ "rhino" : false , // Rhino
72
+ "worker" : false , // Web Workers
73
+ "wsh" : false , // Windows Scripting Host
74
+ "yui" : false , // Yahoo User Interface
75
+
76
+ // Legacy
77
+ "nomen" : false , // true: Prohibit dangling `_` in variables
78
+ "onevar" : false , // true: Allow only one `var` statement per function
79
+ "passfail" : false , // true: Stop on first error
80
+ "white" : false , // true: Check against strict whitespace and indentation rules
81
+
82
+ // Custom Globals
83
+ // additional predefined global variables
84
+ "predef" : [
85
+ " process" ,
86
+
87
+ // mocha testing
88
+ " should" ,
89
+ " describe" ,
90
+ " it" ,
91
+ " beforeEach" ,
92
+ " afterEach" ,
93
+ " before" ,
94
+ " after"
95
+ ]
96
+ }
0 commit comments