{ "plugins": ["@typescript-eslint/eslint-plugin", "import", "react"], "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:react-hooks/recommended" ], "rules": { "@typescript-eslint/no-unused-vars": [ "error", { "argsIgnorePattern": "^_", "varsIgnorePattern": "^_", "caughtErrorsIgnorePattern": "^_" } ], "import/newline-after-import": "error", "import/order": [ "error", { "groups": [ "builtin", // Built-in imports (come from NodeJS native) go first "external", // <- External imports "unknown", // <- unknown "index", // <- index imports "internal", // <- Absolute imports ["sibling", "parent"] // <- Relative imports, the sibling and parent types they can be mingled together ], "newlines-between": "always", "alphabetize": { /* sort in ascending order. Options: ["ignore", "asc", "desc"] */ "order": "asc", /* ignore case. Options: [true, false] */ "caseInsensitive": true } } ], "newline-after-var": "error", "newline-before-return": "error", "no-console": "error", "no-duplicate-imports": "error", "object-shorthand": "error", "padding-line-between-statements": [ "error", { "blankLine": "never", "prev": ["const"], "next": "const" } ], "react/jsx-curly-brace-presence": "warn", "react/self-closing-comp": "error" }, "settings": { "react": { "version": "detect" } } }