{
    "rulesDirectory": [
        "codelyzer"
    ],
    "extends": [
        "tslint-angular"
    ],
    "rules": {
        "adjacent-overload-signatures": true,
        "align": [
            true,
            "elements",
            "members",
            "statements"
        ],
        "component-selector": [
            true, 
            "element",
            "mgy",
            "kebab-case"
        ],
        "directive-selector": [
            true,
            "attribute",
            "mgy",
            "camelCase"
        ],
        "file-name-casing": [
            true,
            "kebab-case"
        ],
        "interface-name": [
            true,
            "always-prefix"
        ],
        "new-parens": true,
        "no-console": {
            "severity": "warning",
            "options": [
                "log",
                "debug",
                "info",
                "warn",
                "error",
                "time",
                "timeEnd",
                "trace"
            ]
        },
        "no-consecutive-blank-lines": true,
        "no-duplicate-imports": true,
        "no-duplicate-switch-case": true,
        "no-dynamic-delete": true,
        "no-implicit-dependencies": [
            true,
            "dev"
        ],
        "no-inferrable-types": false,
        "no-invalid-template-strings": true,
        "no-invalid-this": [
            true,
            "check-function-in-method"
        ],
        "no-magic-numbers": true,
        "no-object-literal-type-assertion": true,
        "no-return-await": true,
        "no-sparse-arrays": true,
        "no-unnecessary-callback-wrapper": true,
        "one-line": [
            true,
            "check-open-brace",
            "check-catch",
            "check-finally",
            "check-else",
            "check-whitespace"
        ],
        "prefer-for-of": true,
        "prefer-method-signature": true,
        "prefer-template": [
            true,
            "allow-single-concat"
        ],
        "space-before-function-paren": [
            true,
            {
                "anonymous": "always",
                "asyncArrow": "always",
                "named": "never",
                "method": "never",
                "constructor": "never"
            }
        ],
        "no-trailing-whitespace": false,
        "typedef": [
            true,
            "member-variable-declaration",
            "parameter",
            "property-declaration"
        ],
        "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"
            }
        ]
    }
}