{ "root": true, "ignorePatterns": ["**/*"], "plugins": ["@nx"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], "rules": { "@nx/enforce-module-boundaries": [ "warn", { "enforceBuildableLibDependency": true, "allow": [], "depConstraints": [ { "sourceTag": "*", "onlyDependOnLibsWithTags": ["*"] } ] } ], "@typescript-eslint/no-extra-semi": "error", "no-extra-semi": "off" } }, { "files": ["*.ts", "*.tsx"], "extends": ["plugin:@nx/typescript"] }, { "files": ["*.js", "*.jsx"], "extends": ["plugin:@nx/javascript"] }, { "files": ["*.ts"], "plugins": ["eslint-plugin-import", "@typescript-eslint"], "extends": [ "plugin:@typescript-eslint/recommended-type-checked", "plugin:@typescript-eslint/stylistic-type-checked" ], "rules": { "@typescript-eslint/dot-notation": "off", "@typescript-eslint/explicit-member-accessibility": [ "off", { "accessibility": "explicit" } ], "@typescript-eslint/member-ordering": "warn", "@typescript-eslint/naming-convention": [ "off", { "selector": "default", "format": ["camelCase"], "leadingUnderscore": "allow", "trailingUnderscore": "allow" }, { "selector": ["variable", "classProperty", "typeProperty"], "format": ["camelCase", "UPPER_CASE"], "leadingUnderscore": "allow", "trailingUnderscore": "allow" }, { "selector": "objectLiteralProperty", "format": null }, { "selector": "enumMember", "format": ["camelCase", "UPPER_CASE", "PascalCase"] }, { "selector": "typeLike", "format": ["PascalCase"] } ], "@typescript-eslint/no-empty-interface": "warn", "@typescript-eslint/no-inferrable-types": [ "warn", { "ignoreParameters": true } ], "@typescript-eslint/no-non-null-assertion": "warn", "@typescript-eslint/no-shadow": [ "warn", { "hoist": "all" } ], "@typescript-eslint/unified-signatures": "error", "@typescript-eslint/no-loss-of-precision": "warn", "@typescript-eslint/no-var-requires": "warn", "@typescript-eslint/ban-types": "warn", "arrow-body-style": "off", "constructor-super": "error", "eqeqeq": ["error", "smart"], "guard-for-in": "warn", "id-blacklist": "off", "id-match": "off", "import/no-deprecated": "warn", "no-bitwise": "error", "no-caller": "error", "no-debugger": "error", "no-empty": "off", "no-eval": "error", "no-fallthrough": "error", "no-new-wrappers": "error", "no-restricted-imports": ["error", "rxjs/Rx"], "no-undef-init": "error", "no-underscore-dangle": "off", "no-var": "error", "radix": "error", "no-unsafe-optional-chaining": "warn", "no-extra-boolean-cast": "warn", "no-empty-pattern": "warn", "no-useless-catch": "warn", "no-unsafe-finally": "warn", "no-prototype-builtins": "warn", "no-async-promise-executor": "warn", "no-constant-condition": "warn", // The following rules are part of @typescript-eslint/recommended-type-checked // and can be remove once solved "@typescript-eslint/await-thenable": "warn", "@typescript-eslint/ban-ts-comment": "warn", "@typescript-eslint/no-base-to-string": "warn", "@typescript-eslint/no-explicit-any": "warn", "@typescript-eslint/no-floating-promises": "warn", "@typescript-eslint/no-misused-promises": "warn", "@typescript-eslint/no-redundant-type-constituents": "warn", "@typescript-eslint/no-unnecessary-type-assertion": "warn", "@typescript-eslint/no-unsafe-argument": "warn", "@typescript-eslint/no-unsafe-assignment": "warn", "@typescript-eslint/no-unsafe-enum-comparison": "warn", "@typescript-eslint/no-unsafe-member-access": "warn", "@typescript-eslint/no-unsafe-return": "warn", "@typescript-eslint/no-unsafe-call": "warn", "@typescript-eslint/require-await": "warn", "@typescript-eslint/restrict-template-expressions": "warn", "@typescript-eslint/unbound-method": "warn", // The following rules are part of @typescript-eslint/stylistic-type-checked // and can be remove once solved "@typescript-eslint/prefer-nullish-coalescing": "warn", // TODO: Requires strictNullChecks: true "@typescript-eslint/prefer-optional-chain": "warn", "@typescript-eslint/consistent-indexed-object-style": "warn", "@typescript-eslint/consistent-generic-constructors": "warn" } } ], "extends": ["plugin:storybook/recommended"] }