/* eslint-env node */ module.exports = { env: { node: true, }, overrides: [ { files: ["*.ts", "*.tsx"], // TypeScript files extends: [ "plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/recommended-requiring-type-checking", "plugin:import/recommended", "plugin:import/typescript", ], parserOptions: { project: ["./tsconfig.json"], }, rules: { "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-var-requires": "off", "@typescript-eslint/no-unsafe-call": "off", "@typescript-eslint/no-unsafe-return": "off", "@typescript-eslint/no-unsafe-member-access": "off", "@typescript-eslint/no-unsafe-assignment": "off", "@typescript-eslint/no-unsafe-argument": "off", "@typescript-eslint/restrict-template-expressions": "off", "@typescript-eslint/no-floating-promises": "error", "@typescript-eslint/ban-ts-comment": "off", "import/no-unresolved": "error", "sort-imports": [ "error", { ignoreCase: false, ignoreDeclarationSort: true, ignoreMemberSort: false, memberSyntaxSortOrder: ["none", "all", "multiple", "single"], allowSeparatedGroups: true, }, ], // https://medium.com/weekly-webtips/how-to-sort-imports-like-a-pro-in-typescript-4ee8afd7258a "import/order": [ "error", { groups: [ "builtin", "external", "internal", ["sibling", "parent"], "index", "unknown", ], "newlines-between": "always", alphabetize: { order: "asc", caseInsensitive: true, }, }, ], }, }, ], parser: "@typescript-eslint/parser", plugins: ["@typescript-eslint", "import"], root: true, settings: { "import/resolver": { typescript: { project: "./tsconfig.json", }, }, }, };