{
  "root": true,
  "ignorePatterns": ["projects/**/*"],
  "overrides": [
    {
      "files": ["*.ts"],
      "parserOptions": {
        "project": ["tsconfig.json", "cypress/tsconfig.json"],
        "createDefaultProgram": true
      },
      "extends": [
        "plugin:@angular-eslint/ng-cli-compat",
        "plugin:@angular-eslint/ng-cli-compat--formatting-add-on",
        "plugin:@angular-eslint/template/process-inline-templates",
        "prettier"
      ],
      "rules": {
        "@angular-eslint/component-selector": [
          "error",
          {
            "type": "element",
            "prefix": "hi",
            "style": "kebab-case"
          }
        ],
        "@angular-eslint/directive-selector": [
          "off",
          {
            "type": "attribute",
            "prefix": "hi",
            "style": "camelCase"
          }
        ],
        "@angular-eslint/no-output-rename": "off",
        "@typescript-eslint/consistent-type-definitions": "error",
        "@typescript-eslint/dot-notation": "off",
        "@typescript-eslint/explicit-member-accessibility": [
          "off",
          {
            "accessibility": "explicit"
          }
        ],
        "@typescript-eslint/member-delimiter-style": [
          "off",
          {
            "multiline": {
              "delimiter": "none",
              "requireLast": true
            },
            "singleline": {
              "delimiter": "semi",
              "requireLast": false
            }
          }
        ],
        "@typescript-eslint/no-shadow": [
          "off",
          {
            "hoist": "all"
          }
        ],
        "@typescript-eslint/semi": ["off", null],
        "eqeqeq": ["off", "smart"],
        "guard-for-in": "off",
        "id-blacklist": "off",
        "id-match": "off",
        "max-len": [
          "off",
          {
            "code": 140
          }
        ],
        "no-redeclare": "error",
        "no-underscore-dangle": "off",
        "radix": "off",
        "arrow-body-style": "off",
        "prefer-arrow/prefer-arrow-functions": "off",
        "@typescript-eslint/naming-convention": "off",
        "@typescript-eslint/member-ordering": "off",
        "@typescript-eslint/consistent-type-assertions": "off",
        "@typescript-eslint/ban-types": "off",
        "@angular-eslint/no-output-native": "off",
        "@typescript-eslint/no-unused-expressions": "off"
      }
    },
    {
      "files": ["*.html"],
      "extends": ["plugin:@angular-eslint/template/recommended", "prettier"],
      "rules": {
        "@angular-eslint/template/eqeqeq": "off"
      }
    }
  ]
}
