{
    "excludeFiles": [
        "*/node_modules/*",
        "*/libs/*",
        "*/lib/*"
    ],

    "validateJSDoc": {
        "checkParamNames": true,
        "checkRedundantParams": true,
        "requireParamTypes": true
    },

    "maximumLineLength": 80,


    "requireCurlyBraces": ["if", "else", "for", "while", "do", "try", "catch"],
    "requireMultipleVarDecl": true,
    "requireBlocksOnNewline": true,
    "requireLineFeedAtFileEnd": true,
    "requireDotNotation": true,
    "requireBlocksOnNewline": 1,
    "requireSpaceAfterLineComment": true,
    "requireSpaceBeforeBlockStatements": true,
    "requireSpacesInConditionalExpression": true,
    "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch"],
    "requireSpacesInFunctionExpression": {
        "beforeOpeningCurlyBrace": true
    },
    "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
    "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],

    "disallowAnonymousFunctions": true,
    "disallowKeywords": ["with"],
    "disallowEmptyBlocks": true,

    "disallowNewlineBeforeBlockStatements": true,
    "disallowSpaceAfterObjectKeys": true,
    "disallowSpacesInsideArrayBrackets": true,
    "disallowSpacesInsideParentheses": true,
    "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
    "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
    "disallowSpaceBeforeBinaryOperators": [","]
}
