{
    "rulesDirectory": ["node_modules/codelyzer"],
    "linterOptions": {
        "exclude": [
            "src/polyfills.ts",
            "src/test.ts",
            "src/app/shared/shared.module.ts"
        ]
    },
    "rules": {
        "array-type": [true, "array"],
        "arrow-return-shorthand": true,
        "arrow-parens": false,
        "callable-types": true,
        "class-name": true,
        "deprecation": {
            "severity": "warn"
        },
        "forin": true,
        "import-blacklist": [true, "rxjs/Rx"],
        "interface-name": false,
        "interface-over-type-literal": true,
        "label-position": true,
        "member-access": false,
        "member-ordering": [
            true,
            {
                "order": ["static-field", "instance-field", "static-method", "instance-method"]
            }
        ],
        "no-arg": true,
        "no-bitwise": true,
        "no-console": [true, "table", "clear", "count", "countReset", "info", "time", "timeEnd", "timeline", "timelineEnd", "trace"],
        "no-consecutive-blank-lines": false,
        "no-construct": true,
        "no-debugger": true,
        "no-duplicate-super": true,
        "no-empty": false,
        "no-empty-interface": false,
        "no-eval": true,
        "no-inferrable-types": [true, "ignore-params"],
        "no-misused-new": 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-unnecessary-initializer": true,
        "no-unused-expression": true,
        "no-use-before-declare": true,
        "no-var-keyword": true,
        "object-literal-key-quotes": [true, "as-needed"],
        "object-literal-sort-keys": false,
        "ordered-imports": [true, {
            "import-source-order": "case-sensitive",
            "grouped-imports": true,
            "groups": [{
                "name": "angular",
                "match": "^@angular",
                "order": 10
            },{
                "name": "internal dependencies",
                "match": "^(app/|\\.?\\./).*",
                "order": 30
            },{
                "name": "external dependencies",
                "_match": "^(?!(app/|\\.?\\./)).*",
                "match": ".*",
                "order": 20
            }],
            "named-imports-order": "case-insensitive",
            "module-source-path": "basename"
        }],
        "prefer-const": true,
        "radix": true,
        "triple-equals": [true, "allow-null-check"],
        "unified-signatures": true,
        "variable-name": false,
        "whitespace": [true, "check-branch", "check-decl", "check-operator", "check-separator", "check-type"],
        "no-output-on-prefix": true,
        "no-inputs-metadata-property": true,
        "no-outputs-metadata-property": true,
        "no-host-metadata-property": true,
        "no-input-rename": true,
        "no-output-rename": true,
        "use-lifecycle-interface": true,
        "use-pipe-transform-interface": true,
        "component-class-suffix": true,
        "directive-class-suffix": true
    }
}
