{ // Configuration for JavaScript files "extends": [ "airbnb-base", "plugin:prettier/recommended" ], "rules": { "prettier/prettier": [ "error", { "singleQuote": true, "endOfLine": "auto" } ] }, "overrides": [ // Configuration for TypeScript files { "files": ["**/*.ts", "**/__tests__/*.test.ts"], "plugins": [ "@typescript-eslint", "unused-imports", "simple-import-sort" ], "extends": [ "airbnb-typescript", "plugin:prettier/recommended" ], "parserOptions": { "project": "./tsconfig.json" }, "rules": { "prettier/prettier": [ "error", { "singleQuote": true, "endOfLine": "auto" } ], "@typescript-eslint/comma-dangle": "off", // Avoid conflict rule between Eslint and Prettier "@typescript-eslint/consistent-type-imports": "error", // Ensure `import type` is used when it's necessary "import/prefer-default-export": "off", // Named export is easier to refactor automatically "simple-import-sort/imports": "error", // Import configuration for `eslint-plugin-simple-import-sort` "simple-import-sort/exports": "error", // Export configuration for `eslint-plugin-simple-import-sort` "@typescript-eslint/no-unused-vars": "off", "react/jsx-filename-extension": "off", // Gives error "unused-imports/no-unused-imports": "error", "unused-imports/no-unused-vars": [ "error", { "argsIgnorePattern": "^_" } ] } } ] }