{ "root": true, "ignorePatterns": ["dist"], "overrides": [ { "files": ["*.ts"], "parserOptions": { "project": ["tsconfig.json", "e2e/tsconfig.json"], "createDefaultProgram": true }, "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:@angular-eslint/recommended", "plugin:@angular-eslint/template/process-inline-templates" ], "rules": { "dot-notation": ["warn"], "max-len": [ "warn", { "code": 100, "ignoreComments": true, "ignoreStrings": true, "ignoreTemplateLiterals": true } ], "object-shorthand": [ "warn", "always", { "avoidQuotes": true } ], "quote-props": ["warn", "consistent-as-needed"], "quotes": [ "warn", "single", { "allowTemplateLiterals": true } ], "semi": ["warn", "always"], "@typescript-eslint/explicit-module-boundary-types": "off", "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-empty-function": "off", "@typescript-eslint/no-non-null-assertion": "off", "@typescript-eslint/no-unused-vars": "off", "@angular-eslint/component-selector": [ "error", { "type": "element", "style": "kebab-case" } ], "@angular-eslint/directive-selector": [ "error", { "type": "attribute", "style": "camelCase" } ], "@angular-eslint/no-empty-lifecycle-method": "off" } }, { "files": ["*.html"], "extends": ["plugin:@angular-eslint/template/recommended"], "rules": {} }, { "files": ["*.js"], "parserOptions": { "ecmaVersion": 11 }, "env": { "node": true, "amd": true }, "extends": ["eslint:recommended"], "rules": {} } ] }