{
    "esnext": true,
    "verbose": true,

    "validateIndentation": 4,
    "validateQuoteMarks": "'",
    "disallowMixedSpacesAndTabs": true,
    "disallowTrailingWhitespace": true,
    "disallowTrailingComma": true,
    "requireSpaceAfterKeywords": true,
    "requireSpaceBeforeBinaryOperators": true,
    "requireSpaceAfterBinaryOperators": true,
    "requireSpacesInConditionalExpression": true, // Ternary if
    "requireSpaceBeforeBlockStatements": true,
    "requireSpacesInForStatement": true,
    "requireSpacesInFunctionExpression": {
        "beforeOpeningCurlyBrace": true
    },
    "disallowSpaceAfterObjectKeys": true,
    "requireSpaceBeforeObjectValues": true,
    "requireSemicolons": true,
    "validateParameterSeparator": ", ",
    "disallowMultipleVarDecl": {
        "allExcept": ["undefined"]
    },
    "disallowEmptyBlocks": {
        "allExcept": ["comments"]
    },
    "jsDoc": {
        "checkTypes": "strictNativeCase",
        "checkParamExistence": true,
        "checkParamNames": true,
        "requireParamTypes": true,
        "checkRedundantParams": true,
        "checkReturnTypes": true,
        "checkRedundantReturns": true,
        "requireReturnTypes": true,
        "checkTypes": true
    }
}
