{
    "rules" : {
        "no-any" : true,
        "no-empty-interface": true,
        "only-arrow-functions": [
            true,
            "allow-declarations"
        ],
        "prefer-for-of": true,
        "no-for-in-array": true,
        "no-construct": true,
        "no-duplicate-super": true,
        "no-duplicate-variable": true,
        "no-empty": true,
        "no-invalid-this": true,
        "no-unused-variable": [
            true,
            "react",
            { "ignore_pattern": "^_" }
        ],
        "no-use-before-declare": true,
        "no-var-keyword": true,
        "restrict-plus-operands": true,
        "strict-type-predicates": true,
        "switch-default": true,
        "triple-equals": true,
        "typeof-compare": true,
        "use-isnan": true,
        "eofline": true,
        "indent": [
            true,
            "spaces"
        ],
        "no-require-imports": true,
        "prefer-const": true,
        "trailing-comma": [
            true,
            { "multiline": "never", "singleline": "never" }
        ],
        "arrow-return-shorthand": [
            true
        ],
        "class-name": true,
        "comment-format": [
            true,
            { "ignore-words": [ "TODO" ] }
        ],
        "interface-name": [
            true,
            "always-prefix"
        ],
        "interface-over-type-literal": true,
        "no-angle-bracket-type-assertion": false,
        "no-boolean-literal-compare": true,
        "no-consecutive-blank-lines": [
            true,
            2
        ],
        "no-trailing-whitespace": true,
        "object-literal-shorthand": true,
        "one-variable-per-declaration": [ true ],
        "prefer-method-signature": true,
        "quotemark": [
            true,
            "single",
            "avoid-escape"
        ],
        "semicolon": [
            true,
            "always"
        ],
        "space-before-function-paren": [
            true,
            { "anonymous": "never", "named": "never", "asyncArrow": "always", "method": "never", "constructor": "never" }
        ],
        "variable-name": [
            true,
            "ban-keywords",
            "check-format",
            "allow-leading-underscore",
            "allow-pascal-case"
        ],
        "max-file-line-count": [
            true,
            280     //  general rule of thumb for code maintainability
        ],
        "max-line-length": [
            true,
            160     //  no lengthy ternaries 
        ],
        "align": [
            true,
            "statements"
        ],
        "newline-before-return": true
    }
}