{ "root": true, "ignorePatterns": ["projects/**/*"], "plugins": ["import", "prettier"], "overrides": [ { "files": ["*.ts"], "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:@angular-eslint/recommended", "plugin:@angular-eslint/template/process-inline-templates", "prettier", "plugin:prettier/recommended" ], "rules": { "prettier/prettier": ["error", { "printWidth": 80 }], "@angular-eslint/directive-selector": [ "error", { "type": "attribute", "prefix": "app", "style": "camelCase" } ], "@angular-eslint/component-selector": [ "error", { "type": "element", "prefix": "app", "style": "kebab-case" } ], "@typescript-eslint/explicit-member-accessibility": [ "error", { "accessibility": "explicit" } ], "@typescript-eslint/explicit-function-return-type": [ "error", { "allowExpressions": false, "allowTypedFunctionExpressions": true, "allowHigherOrderFunctions": false, "allowDirectConstAssertionInArrowFunctions": false, "allowConciseArrowFunctionExpressionsStartingWithVoid": false } ], "@typescript-eslint/member-ordering": [ "error", { "default": [ "public-static-field", "protected-static-field", "private-static-field", "public-instance-field", "protected-instance-field", "private-instance-field", "public-constructor", "protected-constructor", "private-constructor", "public-static-method", "protected-static-method", "private-static-method", "public-instance-method", "protected-instance-method", "private-instance-method" ] } ], "import/order": [ "error", { "groups": [ "builtin", "external", "internal", "parent", "sibling", "index" ], "pathGroups": [ { "pattern": "@angular/**", "group": "external", "position": "before" }, { "pattern": "@app/**", "group": "internal", "position": "before" }, { "pattern": "@env/**", "group": "internal", "position": "before" } ], "pathGroupsExcludedImportTypes": ["builtin"], "newlines-between": "always", "alphabetize": { "order": "asc", "caseInsensitive": true } } ] } }, { "files": ["*.html"], "extends": [ "plugin:@angular-eslint/template/recommended", "plugin:@angular-eslint/template/accessibility" ], "rules": { "@angular-eslint/template/elements-content": [ "error", { "allowList": ["label"] } ] } } ] }