{ "env": { "browser": true, "es2021": true }, "extends": ["airbnb-base", "airbnb-typescript/base", "plugin:@typescript-eslint/recommended", "prettier"], "plugins": ["@typescript-eslint", "prettier", "unused-imports", "import"], "overrides": [ { "files": ["test/**/*.ts", "**/*.test.ts"], "rules": { "@typescript-eslint/no-non-null-assertion": "off", "no-param-reassign": "off", "@typescript-eslint/no-explicit-any": "off", "no-continue": "off", "@typescript-eslint/no-unused-vars": "off" } } ], "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaVersion": "latest", "sourceType": "module", "project": "./tsconfig.json" }, "ignorePatterns": ["tsup.config.ts"], "rules": { "no-use-before-define": "off", "no-useless-constructor": "off", "import/extensions": [ "error", "ignorePackages", { "js": "never", "jsx": "never", "ts": "never", "tsx": "never" } ], "import/order": [ "error", { "groups": [ "builtin", "external", "internal", ["sibling", "parent"], "index", "unknown" ], "newlines-between": "always", "alphabetize": { "order": "asc", "caseInsensitive": true } } ], "import/prefer-default-export": "off", "no-shadow": "off", "@typescript-eslint/no-shadow": "error", "@typescript-eslint/naming-convention": "error", "prettier/prettier": "error", "@typescript-eslint/no-explicit-any": "off", "no-underscore-dangle": "off", "no-await-in-loop": "off", "max-classes-per-file": "off", "no-plusplus": "off", "no-continue": "off", "@typescript-eslint/no-unused-vars": "error", "no-unused-vars": "off", "unused-imports/no-unused-imports": "error", "unused-imports/no-unused-vars": [ "warn", { "vars": "all", "varsIgnorePattern": "^_", "args": "after-used", "argsIgnorePattern": "^_" } ], "class-methods-use-this": "off", "curly": ["error", "all"], "no-console": "off", "@typescript-eslint/no-use-before-define": "off" }, "settings": { "import/resolver": { "typescript": {} } } }