{ "env": { "node": true, "browser": false }, "rules": { // 2-space indentation "indent": [2, 2, {"SwitchCase": 1}], // Require strings to use single quotes "quotes": [2, "single"], // Allow only unix line-endings "linebreak-style": [2, "unix"], // Always require semicolons "semi": [2, "always"], // Require curly braces for multi-line control statements "curly": [2, "multi-line"], // Always handle callback error cases "handle-callback-err": [2, "^err"], // Require JSDoc for all function definitions "valid-jsdoc": [2, { "requireReturn": false, "requireReturnDescription": false, "prefer": { "return": "returns" } }], "require-jsdoc": [2, { "require": { "FunctionDeclaration": true } }], "no-redeclare": [2, { "builtinGlobals": true }], "no-shadow": [2, { "builtinGlobals": true, "hoist": "all" }], // Disallow using variables before they've been defined // functions are ok "no-use-before-define": [2, "nofunc"], "no-shadow-restricted-names": 2, "no-extra-semi": 2, // Disallow unused variables "no-unused-vars": 2, "no-undef": 2, // Use if () { } // ^ space "keyword-spacing": 2, // Use if () { } // ^ space "space-before-blocks": [2, "always"], // eslint can't handle this, so the check is disabled. "key-spacing": 0, "strict": 0, // Do not force dot-notation "dot-notation": 0, "eol-last": 0, "no-new": 0, "semi-spacing": 0, // Allow multi spaces around operators since they are // used for alignment. This is not consistent in the // code. "no-multi-spaces": 0, "eqeqeq": 0, "no-mixed-requires": 0, "no-console": 0 } }