{
  "extends": ["../../.eslintrc.json"],
  "ignorePatterns": ["!**/*"],
  "overrides": [
    {
      "files": ["*.ts"],
      "extends": ["plugin:@typescript-eslint/recommended"],
      "rules": {
        "@angular-eslint/directive-selector": [
          "error",
          {
            "type": "attribute",
            "prefix": "red",
            "style": "camelCase"
          }
        ],
        "@angular-eslint/component-selector": [
          "error",
          {
            "type": "element",
            "prefix": "red",
            "style": "kebab-case"
          }
        ],
        "@typescript-eslint/unbound-method": "error",
        "@typescript-eslint/no-floating-promises": "off",
        "@typescript-eslint/naming-convention": [
          "error",
          {
            "selector": "memberLike",
            "modifiers": ["private"],
            "format": ["camelCase"],
            "leadingUnderscore": "allow"
          },
          {
            "selector": "memberLike",
            "modifiers": ["protected"],
            "format": ["camelCase"],
            "leadingUnderscore": "allow"
          },
          {
            "selector": "memberLike",
            "modifiers": ["private"],
            "format": ["UPPER_CASE", "camelCase"],
            "leadingUnderscore": "allow"
          }
        ],
        "no-underscore-dangle": "off",
        "no-param-reassign": "error",
        "consistent-return": "off",
        "@typescript-eslint/restrict-template-expressions": "off"
      }
    }
  ]
}
