{ "root": true, "ignorePatterns": ["**/*"], "plugins": ["@nx", "eslint-plugin-unicorn", "jsx-a11y", "jest"], "settings": { "jsx-a11y": { "components": { "Button": "button", "Input": "input", "Select": "select", "Radio": "radio", "TextArea": "textarea" } } }, "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], "extends": ["plugin:jsx-a11y/strict"], "rules": { "@nx/enforce-module-boundaries": [ "error", { "enforceBuildableLibDependency": true, "allow": [], "depConstraints": [ { "sourceTag": "*", "onlyDependOnLibsWithTags": ["*"] } ] } ], "unicorn/filename-case": [ "error", { "case": "kebabCase", "ignore": ["\\[[a-zA-Z]+\\]\\.page"] } ], "no-restricted-imports": [ "warn", { "name": "lodash", "message": "Import the specific methods you need from lodash e.g. `import get from 'lodash/get'`. This helps with bundle sizing." } ], "jsx-a11y/no-redundant-roles": [ "error", { "ul": ["list"], "ol": ["list"] } ], "no-console": ["error", { "allow": ["warn", "error"] }] } }, { "files": ["*.ts", "*.tsx"], "extends": ["plugin:@nx/typescript"], "rules": { "@typescript-eslint/ban-ts-comment": [ "error", { "ts-expect-error": "allow-with-description", "ts-ignore": "allow-with-description", "ts-nocheck": true, "ts-check": false, "minimumDescriptionLength": 10 } ], "@typescript-eslint/consistent-type-imports": [ "error", { "prefer": "type-imports", "disallowTypeAnnotations": true, "fixStyle": "inline-type-imports" } ], "@typescript-eslint/no-useless-constructor": 0, "curly": ["error", "multi-line"] } }, { "files": ["*.spec.ts", "*.spec.tsx"], "extends": ["plugin:@nx/typescript", "plugin:jest/recommended"], "rules": { "jest/consistent-test-it": [ "error", { "fn": "it" } ] } }, { "files": ["*.js", "*.jsx"], "extends": ["plugin:@nx/javascript"], "rules": {} } ] }