{
  "extends": ["codelyzer"],
  "rules": {
    // Codelyzer recommended rules
    "angular-whitespace": [true, "check-interpolation", "check-semicolon"],
    "component-class-suffix": [true, "Component"],
    "component-selector": [true, "element", "", "kebab-case"],
    "directive-class-suffix": [true, "Directive"],
    "directive-selector": [true, "attribute", "", "camelCase"],
    "enforce-component-selector": true,
    "max-inline-declarations": true,
    "no-attribute-parameter-decorator": true,
    "no-conflicting-life-cycle-hooks": true,
    "no-forward-ref": true,
    "no-input-rename": true,
    "no-life-cycle-call": true,
    "no-output-on-prefix": true,
    "no-output-rename": true,
    "no-output-named-after-standard-event": true,
    "no-queries-parameter": true,
    "prefer-output-readonly": true,
    "use-host-property-decorator": true,
    "use-input-property-decorator": true,
    "use-life-cycle-interface": true,
    "use-output-property-decorator": true,
    "use-pipe-transform-interface": true,

    // Codelyzer rules
    "banana-in-box": true,
    "contextual-life-cycle": true,
    "decorator-not-allowed": true,
    "no-unused-css": true,
    "pipe-impure": true,
    "template-conditional-complexity": [true, 4],
    "template-cyclomatic-complexity": [true, 10],
    "templates-no-negated-async": true,
    "trackBy-function": true,
    "use-pipe-decorator": true,
    "use-view-encapsulation": true
  }
}
