markwallsgrove

JSONHint Strict Configuration

Sep 24th, 2015
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 6.45 KB | None | 0 0
  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.     "freeze"        : true,     // true: prohibits overwriting prototypes of native objects such as Array, Date etc.
  14.     "immed"         : false,    // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());`
  15.     "indent"        : 4,        // {int} Number of spaces to use for indentation
  16.     "latedef"       : false,    // true: Require variables/functions to be defined before being used
  17.     "newcap"        : false,    // true: Require capitalization of all constructor functions e.g. `new F()`
  18.     "noarg"         : true,     // true: Prohibit use of `arguments.caller` and `arguments.callee`
  19.     "noempty"       : true,     // true: Prohibit use of empty blocks
  20.     "nonbsp"        : true,     // true: Prohibit "non-breaking whitespace" characters.
  21.     "nonew"         : false,    // true: Prohibit use of constructors for side-effects (without assignment)
  22.     "plusplus"      : false,    // true: Prohibit use of `++` & `--`
  23.     "quotmark"      : false,    // Quotation mark consistency:
  24.                                 //   false    : do nothing (default)
  25.                                 //   true     : ensure whatever is used is consistent
  26.                                 //   "single" : require single quotes
  27.                                 //   "double" : require double quotes
  28.     "undef"         : true,     // true: Require all non-global variables to be declared (prevents global leaks)
  29.     "unused"        : true,     // true: Require all defined variables be used
  30.     "strict"        : true,     // true: Requires all functions run in ES5 Strict Mode
  31.     "maxparams"     : false,    // {int} Max number of formal params allowed per function
  32.     "maxdepth"      : false,    // {int} Max depth of nested blocks (within functions)
  33.     "maxstatements" : false,    // {int} Max number statements per function
  34.     "maxcomplexity" : false,    // {int} Max cyclomatic complexity per function
  35.     "maxlen"        : false,    // {int} Max number of characters per line
  36.  
  37.     // Relaxing
  38.     "asi"           : false,     // true: Tolerate Automatic Semicolon Insertion (no semicolons)
  39.     "boss"          : false,     // true: Tolerate assignments where comparisons would be expected
  40.     "debug"         : false,     // true: Allow debugger statements e.g. browser breakpoints.
  41.     "eqnull"        : true,      // true: Tolerate use of `== null`
  42.     "es5"           : false,     // true: Allow ES5 syntax (ex: getters and setters)
  43.     "esnext"        : false,     // true: Allow ES.next (ES6) syntax (ex: `const`)
  44.     "moz"           : false,     // true: Allow Mozilla specific syntax (extends and overrides esnext features)
  45.                                  // (ex: `for each`, multiple try/catch, function expression…)
  46.     "evil"          : false,     // true: Tolerate use of `eval` and `new Function()`
  47.     "expr"          : false,     // true: Tolerate `ExpressionStatement` as Programs
  48.     "funcscope"     : false,     // true: Tolerate defining variables inside control statements
  49.     "globalstrict"  : false,     // true: Allow global "use strict" (also enables 'strict')
  50.     "iterator"      : false,     // true: Tolerate using the `__iterator__` property
  51.     "lastsemic"     : false,     // true: Tolerate omitting a semicolon for the last statement of a 1-line block
  52.     "laxbreak"      : false,     // true: Tolerate possibly unsafe line breakings
  53.     "laxcomma"      : false,     // true: Tolerate comma-first style coding
  54.     "loopfunc"      : false,     // true: Tolerate functions being defined in loops
  55.     "multistr"      : false,     // true: Tolerate multi-line strings
  56.     "noyield"       : false,     // true: Tolerate generator functions with no yield statement in them.
  57.     "notypeof"      : false,     // true: Tolerate invalid typeof operator values
  58.     "proto"         : false,     // true: Tolerate using the `__proto__` property
  59.     "scripturl"     : false,     // true: Tolerate script-targeted URLs
  60.     "shadow"        : false,     // true: Allows re-define variables later in code e.g. `var x=1; x=2;`
  61.     "sub"           : false,     // true: Tolerate using `[]` notation when it can still be expressed in dot notation
  62.     "supernew"      : false,     // true: Tolerate `new function () { ... };` and `new Object;`
  63.     "validthis"     : false,     // true: Tolerate using this in a non-constructor function
  64.  
  65.     // Environments
  66.     "browser"       : true,     // Web Browser (window, document, etc)
  67.     "browserify"    : false,    // Browserify (node.js code in the browser)
  68.     "couch"         : false,    // CouchDB
  69.     "devel"         : true,     // Development/debugging (alert, confirm, etc)
  70.     "dojo"          : false,    // Dojo Toolkit
  71.     "jasmine"       : true,    // Jasmine
  72.     "jquery"        : true,    // jQuery
  73.     "mocha"         : true,     // Mocha
  74.     "mootools"      : false,    // MooTools
  75.     "node"          : true,    // Node.js
  76.     "nonstandard"   : false,    // Widely adopted globals (escape, unescape, etc)
  77.     "prototypejs"   : false,    // Prototype and Scriptaculous
  78.     "qunit"         : false,    // QUnit
  79.     "rhino"         : false,    // Rhino
  80.     "shelljs"       : false,    // ShellJS
  81.     "worker"        : false,    // Web Workers
  82.     "wsh"           : false,    // Windows Scripting Host
  83.     "yui"           : false,    // Yahoo User Interface
  84.  
  85.     // Custom Globals
  86.     "globals"       : {
  87.         "module" : true,
  88.         "define" : true,
  89.         "requirejs" : true,
  90.         "require" : true,
  91.         "_" : true,
  92.         "angular" : true,
  93.         "mixpanel" : true,
  94.         "moment" : true,
  95.         "Rickshaw" : true,
  96.         "Dropbox" : true,
  97.         "UserVoice" : true,
  98.         "self" : true,
  99.         "browser" : true,
  100.         "element" : true,
  101.         "by" : true,
  102.         "protractor" : true
  103.     }        // additional predefined global variables
  104. }
Advertisement
Add Comment
Please, Sign In to add comment