{
    "extends": ["tslint"],
    "defaultSeverity": "warning",
    "rules": {
        "ban": false,
        "class-name": true,
        "comment-format": [true, "check-space"],
        "curly": true,
        "eofline": false,
        "forin": true,
        "interface-name": [true, "never-prefix"],
        "jsdoc-format": false,
        "label-position": true,
        "member-ordering": [
            true,
            {
                "order": [
                    "public-before-private",
                    "static-before-instance", 
                    "variables-before-functions"
                ]
            }
        ],
        "no-any": true,
        "no-arg": true,
        "no-bitwise": true,
        "no-console": [true, "log", "error", "debug", "info", "time", "timeEnd", "trace"],
        "no-consecutive-blank-lines": true,
        "no-construct": true,
        "no-debugger": true,
        "no-duplicate-variable": true,
        "no-empty": true,
        "no-eval": true,
        "no-implicit-dependencies": {
            "options": [true, "dev"],
            "severity": "error"
        },
        "no-shadowed-variable": true,
        "no-string-literal": true,
        "no-switch-case-fall-through": true,
        "no-trailing-whitespace": true,
        "no-unused-expression": true,
        "no-use-before-declare": true,
        "one-line": [true, "check-catch", "check-else", "check-open-brace", "check-whitespace"],
        "radix": true,
        "semicolon": [true, "always"],
        "strict-boolean-expressions": [
            true,
            "allow-null-union",
            "allow-undefined-union",
            "allow-string",
            "allow-number",
            "ignore-rhs"
        ],
        "strict-type-predicates": true,
        "switch-default": true,
        "trailing-comma": false,

        "triple-equals": [true, "allow-null-check"],
        "typedef": [true, "parameter", "property-declaration"],
        "typedef-whitespace": [
            true,
            {
                "call-signature": "nospace",
                "index-signature": "nospace",
                "parameter": "nospace",
                "property-declaration": "nospace",
                "variable-declaration": "nospace"
            }
        ],
        "variable-name": [true, "ban-keywords", "check-format", "allow-leading-underscore", "allow-pascal-case"],
        "whitespace": [
            true,
            "check-branch",
            "check-decl",
            "check-module",
            "check-operator",
            "check-separator",
            "check-type",
            "check-typecast"
        ]
    }
}