{
    "extends": [
        "tslint-eslint-rules"
    ],
    "rules": {
        "arrow-return-shorthand": true,
        "align": [
            true,
            "arguments",
            "elements",
            "members",
            "parameters",
            "statements"
        ],
        "callable-types": true,
        "class-name": true,
        "comment-format": [
            true,
            "check-space"
        ],
        "curly": true,
        "eofline": true,
        "forin": false,
        "import-blacklist": [
            true,
            "rxjs/Observable",
            "rxjs/Rx"
        ],
        "import-spacing": true,
        "indent": [
            true,
            "spaces",
            2
        ],
        "interface-over-type-literal": true,
        "label-position": true,
        "max-file-line-count": [
            true,
            600
        ],
        "max-line-length": [
            true,
            120
        ],
        "member-access": [
            true,
            "no-public"
        ],
        "member-ordering": [
            true,
            {
                "order": [
                    "static-field",
                    "instance-field",
                    "static-method",
                    "instance-method"
                ]
            }
        ],
        "no-arg": true,
        "no-bitwise": true,
        "no-consecutive-blank-lines": true,
        "no-console": [
            true,
            "debug",
            "info",
            "time",
            "timeEnd",
            "trace"
        ],
        "no-construct": true,
        "no-debugger": true,
        "no-duplicate-super": true,
        "no-duplicate-variable": true,
        "no-empty": false,
        "no-empty-interface": true,
        "no-eval": true,
        "no-inferrable-types": [
            true,
            "ignore-params"
        ],
        "no-misused-new": true,
        "no-multi-spaces": [
            true,
            {
                "exceptions": {
                    "PropertyAssignment": true,
                    "VariableDeclaration": true
                }
            }
        ],
        "no-non-null-assertion": true,
        "no-shadowed-variable": true,
        "no-string-literal": false,
        "no-string-throw": true,
        "no-switch-case-fall-through": true,
        "no-trailing-whitespace": true,
        "no-unnecessary-initializer": true,
        "no-unused-expression": true,
        "no-var-keyword": true,
        "object-curly-spacing": "always",
        "object-literal-sort-keys": false,
        "one-line": [
            true,
            "check-open-brace",
            "check-whitespace"
        ],
        "one-variable-per-declaration": true,
        "only-arrow-functions": [
            true,
            "allow-declarations",
            "allow-named-functions"
        ],
        "prefer-const": true,
        "quotemark": [
            true,
            "single",
            "avoid-escape"
        ],
        "radix": true,
        "semicolon": [
            true,
            "always"
        ],
        "space-before-function-paren": [
            true,
            {
                "anonymous": "always",
                "named": "never",
                "asyncArrow": "always"
            }
        ],
        "triple-equals": [
            true,
            "allow-null-check"
        ],
        "typedef-whitespace": [
            true,
            {
                "call-signature": "nospace",
                "index-signature": "nospace",
                "parameter": "nospace",
                "property-declaration": "nospace",
                "variable-declaration": "nospace"
            },
            {
                "call-signature": "onespace",
                "index-signature": "onespace",
                "parameter": "onespace",
                "property-declaration": "onespace",
                "variable-declaration": "onespace"
            }
        ],
        "unified-signatures": true,
        "variable-name": [
            true,
            "ban-keywords",
            "check-format",
            "allow-leading-underscore",
            "allow-pascal-case"
        ],
        "whitespace": [
            true,
            "check-branch",
            "check-decl",
            "check-operator",
            "check-module",
            "check-rest-spread",
            "check-separator",
            "check-type",
            "check-type-operator",
            "check-preblock"
        ],
        "interface-name": [
            true,
            "never-prefix"
        ],
        "no-internal-module": true,
        "ban": [
            true,
            [
                "fit"
            ],
            [
                "fdescribe"
            ],
            [
                "xit"
            ],
            [
                "xdescribe"
            ],
            {
                "name": "Object.assign",
                "message": "Use the spread operator instead."
            }
        ],
        "linebreak-style": [
            false,
            "LF"
        ],
        "no-namespace": true,
        "space-in-parens": [
            true,
            "never"
        ],
        "no-constant-condition": true,
        "no-var-requires": true,
        "ordered-imports": true,
        "no-irregular-whitespace": true
    }
}