{ "extends": ["airbnb", "prettier", "plugin:node/recommended", "plugin:import/react"], "plugins": ["prettier", "import", "@typescript-eslint"], "ignorePatterns": ["solr-8.3.1/*", "deploy/*"], // <<< ignore all files in test folder "settings": { "import/parsers": { "@typescript-eslint/parser": [".ts", ".tsx"] }, "import/resolver": { "typescript": { "alwaysTryTypes": true // always try to resolve types under `@types` directory even it doesn't contain any source code, like `@types/unist` }, "node": { "extensions": [".js", ".ts", ".tsx"] } }, "import/extensions": [".js", ".jsx", ".ts", ".tsx"] }, "rules": { "import/extensions": [ "warn", "ignorePackages", { "": "never", "js": "never", "ts": "never", "tsx": "never" } ], "node/no-missing-import": 0, "prettier/prettier": "error", "no-console": "off", "func-names": "off", "no-process-exit": "off", "object-shorthand": "off", "class-methods-use-this": "off", "single-quote": "off", "max-classes-per-file": 0, "node/no-unsupported-features/es-syntax": ["error", { "ignores": ["modules"] }], "react/jsx-filename-extension": [2, { "extensions": [".js", ".jsx", ".ts", ".tsx"] }], "import/prefer-default-export": "off", "no-unused-expressions": "warn", "@typescript-eslint/no-unused-expressions": "warn", "prefer-template": "off", "no-inner-declarations": "off", "no-plusplus": "off", "no-multi-assign": "off", "no-underscore-dangle": "off", "no-nested-ternary": "off", "lines-between-class-members": "off", "no-explicit-any": "on", // Note: you must disable the base rule as it can report incorrect errors "no-shadow": "off", "@typescript-eslint/no-shadow": "warn", "no-unused-vars": "off", "@typescript-eslint/no-unused-vars": "error", "@typescript-eslint/no-namespace": 0, "react/destructuring-assignment": 0, "no-restricted-globals": ["error", "event"], "no-param-reassign": ["error", { "props": false }], // "import/no-cycle": 0, "no-alert": 0, "radix": "off" }, "overrides": [ { "files": ["*.ts", "*.tsx"], "rules": { "no-undef": "off" } } ], "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaVersion": 11, "sourceType": "module", "ecmaFeatures": { "jsx": true, "modules": true }, "useJSXTextNode": false } }