{ "root": true, "ignorePatterns": ["**/*"], "plugins": ["@nrwl/nx"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], "rules": { "@nrwl/nx/enforce-module-boundaries": [ "error", { "enforceBuildableLibDependency": true, "allow": [ "@redaction/red-ui-http", "@redaction/red-cache", "@services/**", "@components/**", "@guards/**", "@i18n/**", "@state/**", "@utils/**", "@models/**", "@environments/**", "@shared/**", "@app-config/**", "@upload-download/**" ], "depConstraints": [ { "sourceTag": "*", "onlyDependOnLibsWithTags": ["*"] } ] } ] } }, { "files": ["*.ts", "*.tsx"], "extends": ["plugin:@nrwl/nx/typescript"], "rules": {} }, { "files": ["*.js", "*.jsx"], "extends": ["plugin:@nrwl/nx/javascript"], "rules": {} }, { "files": ["*.ts"], "rules": { "@angular-eslint/component-selector": [ "error", { "type": "element", "prefix": "app", "style": "kebab-case" } ], "@angular-eslint/directive-selector": [ "error", { "type": "attribute", "prefix": "app", "style": "camelCase" } ], "@angular-eslint/no-conflicting-lifecycle": "error", "@angular-eslint/no-host-metadata-property": "error", "@angular-eslint/no-input-rename": "error", "@angular-eslint/no-inputs-metadata-property": "error", "@angular-eslint/no-output-native": "error", "@angular-eslint/no-output-on-prefix": "error", "@angular-eslint/no-output-rename": "error", "@angular-eslint/no-outputs-metadata-property": "error", "@angular-eslint/use-lifecycle-interface": "error", "@angular-eslint/use-pipe-transform-interface": "error", "@typescript-eslint/consistent-type-definitions": "error", "@typescript-eslint/dot-notation": "off", "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/ban-types": "off", "@typescript-eslint/explicit-member-accessibility": [ "warn", { "accessibility": "no-public" } ], "@typescript-eslint/member-ordering": "error", "@typescript-eslint/naming-convention": [ "error", { "selector": "memberLike", "modifiers": ["readonly"], "format": ["UPPER_CASE", "camelCase"] }, { "selector": "enumMember", "format": ["UPPER_CASE"] }, { "selector": "memberLike", "modifiers": ["private"], "format": ["camelCase"], "leadingUnderscore": "require" }, { "selector": "memberLike", "modifiers": ["protected"], "format": ["camelCase"], "leadingUnderscore": "require" }, { "selector": "memberLike", "modifiers": ["private", "readonly"], "format": ["UPPER_CASE", "camelCase"], "leadingUnderscore": "require" } ], "@typescript-eslint/no-empty-function": "off", "@typescript-eslint/no-empty-interface": "error", "@typescript-eslint/no-inferrable-types": [ "error", { "ignoreParameters": true } ], "@typescript-eslint/no-misused-new": "error", "@typescript-eslint/no-non-null-assertion": "error", "@typescript-eslint/no-shadow": [ "error", { "hoist": "all" } ], "@typescript-eslint/no-unused-expressions": "error", "@typescript-eslint/prefer-function-type": "error", "@typescript-eslint/unified-signatures": "error", "arrow-body-style": "error", "arrow-parens": ["error", "as-needed"], "constructor-super": "error", "eqeqeq": ["error", "smart"], "guard-for-in": "error", "id-blacklist": "off", "id-match": "off", "import/no-deprecated": "warn", "no-bitwise": "error", "no-caller": "error", "no-console": [ "error", { "allow": [ "log", "warn", "dir", "timeLog", "assert", "clear", "count", "countReset", "group", "groupEnd", "table", "dirxml", "error", "groupCollapsed", "Console", "profile", "profileEnd", "timeStamp", "context" ] } ], "no-debugger": "error", "no-empty": "off", "no-eval": "error", "no-fallthrough": "error", "no-new-wrappers": "error", "no-restricted-imports": ["error", "rxjs/Rx"], "no-throw-literal": "error", "no-undef-init": "error", "no-underscore-dangle": "off", "no-var": "error", "prefer-const": "error", "radix": "error", "max-len": [ "error", { "code": 100, "tabWidth": 4, "ignorePattern": "^import .*" } ] }, "plugins": ["eslint-plugin-import", "@angular-eslint/eslint-plugin", "@typescript-eslint"] }, { "files": ["*.html"], "rules": { "@angular-eslint/template/banana-in-box": "error", "@angular-eslint/template/no-negated-async": "error", "@angular-eslint/template/eqeqeq": "error" }, "plugins": ["@angular-eslint/eslint-plugin-template"] } ] }