{ "extends": [ "eslint:recommended", "plugin:import/recommended", "plugin:jsdoc/recommended", "plugin:promise/recommended", "plugin:react/recommended", "plugin:react/jsx-runtime", "plugin:react-hooks/recommended", "plugin:jest/recommended", "plugin:jest-dom/recommended", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended" ], "env": { "browser": true, "node": true, "es6": true, "jest/globals": true }, "plugins": [ "react", "react-hooks", "only-ascii", "testing-library", "jest", "jest-dom", "jsdoc", "@typescript-eslint" ], "settings": { "react": { "pragma": "React", "version": "18" }, "jsdoc": { "mode": "typescript" } }, "overrides": [ { "files": ["**/__tests__/**/*.[jt]s?(x)", "**/?(*.)+(spec|test).[jt]s?(x)"], "extends": ["plugin:testing-library/react"] } ], "parser": "@typescript-eslint/parser", "parserOptions": { "project": [ "jsconfig.json" ], "sourceType": "module", "ecmaFeatures": { "jsx": true }, "ecmaVersion": 12 }, "rules": { "quotes": ["error", "single"], "no-cond-assign": "warn", "no-unused-vars": "warn", "no-useless-escape": "warn", "only-ascii/only-ascii": ["warn", { "allowedChars": "✓←→♡ ·—©" }], "react/prop-types": "off", "testing-library/no-node-access": "off", "jsdoc/require-jsdoc": ["warn", { "publicOnly" : true }], "jsdoc/require-returns": "off", "jsdoc/require-returns-type": "off", "jsdoc/require-property-description": "off", "jsdoc/require-param-description": "off", "promise/always-return": "off", "semi": ["error", "always"], "semi-style": ["error", "last"], "@typescript-eslint/no-floating-promises": "error" }, "root": true }