{ "root": true, "ignorePatterns": [ "projects/**/*" ], "overrides": [ { "files": [ "*.ts" ], "parserOptions": { "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" ], "plugins": [ "eslint-plugin-rxjs", "eslint-plugin-unicorn", "prettier", "ban" ], "rules": { "ban/ban": [ "error", { "name": "eval", "message": "Calls to eval is not allowed." }, { "name": "fdescribe", "message": "Calls to fdescribe is not allowed" }, { "name": "fit", "message": "Calls to fit is not allowed" }, { "name": "xit", "message": "Calls to xit is not allowed" }, { "name": "xdescribe", "message": "Calls to xdescribe is not allowed" }, { "name": ["test", "only"], "message": "Calls to test.only is not allowed" }, { "name": ["describe", "only"], "message": "Calls to describe.only is not allowed" } ], "prettier/prettier": "error", "no-shadow": "off", "@typescript-eslint/no-shadow": "error", "prefer-arrow/prefer-arrow-functions": [ "warn", { "disallowPrototype": true, "singleReturnOnly": true, "classPropertiesAllowed": false } ], "@angular-eslint/component-selector": [ "error", { "type": "element", "prefix": [ "app", "aca", "adf" ], "style": "kebab-case" } ], "@angular-eslint/directive-selector": [ "error", { "type": "attribute", "prefix": "aca", "style": "camelCase" } ], "@angular-eslint/no-host-metadata-property": "off", "@typescript-eslint/consistent-type-definitions": "error", "@typescript-eslint/dot-notation": "off", "@typescript-eslint/member-ordering": "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/semi": [ "off", null ], "@typescript-eslint/naming-convention": [ "error", { "selector": "enum", "format": [ "PascalCase" ] } ], "@typescript-eslint/type-annotation-spacing": "off", "arrow-parents": [ "off", "always" ], "brace-style": [ "off", "off" ], "eol-last": "off", "id-blacklist": "off", "id-match": "off", "linebreak-style": "off", "max-len": "off", "new-parens": "off", "newline-per-chained-call": "off", "no-duplicate-imports": "error", "no-extra-semi": "off", "no-irregular-whitespace": "off", "no-return-await": "error", "no-underscore-dangle": "off", "quote-props": "off", "rxjs/no-create": "error", "rxjs/no-subject-unsubscribe": "error", "rxjs/no-subject-value": "error", "rxjs/no-unsafe-takeuntil": "error", "space-before-function-paren": "off", "space-in-parens": [ "off", "never" ], "unicorn/filename-case": "error" } }, { "files": [ "*.html" ], "extends": [ "plugin:@angular-eslint/template/recommended" ], "rules": { "@angular-eslint/template/no-autofocus": "error", "@angular-eslint/template/no-negated-async": "off", "@angular-eslint/template/no-positive-tabindex": "error", "@angular-eslint/template/accessibility-alt-text": "error", "@angular-eslint/template/accessibility-elements-content": "error", "@angular-eslint/template/accessibility-table-scope": "error", "@angular-eslint/template/accessibility-valid-aria": "error", "@angular-eslint/template/click-events-have-key-events": "error", "@angular-eslint/template/mouse-events-have-key-events": "error", "@angular-eslint/template/no-distracting-elements": "error", "@angular-eslint/template/accessibility-label-has-associated-control": "error", "@angular-eslint/template/eqeqeq": "error" } } ] }