{ "env": { "es2020": true, "node": true, "jest": true }, "extends": ["eslint:recommended", "prettier", "plugin:unicorn/recommended"], "rules": { "no-console": "error", "curly": ["error", "all"], "prefer-arrow-callback": "error", "one-var": ["error", "never"], "no-var": "error", "prefer-const": "error", "object-shorthand": "error", "prefer-destructuring": [ "error", { "object": true, "array": false } ], "prefer-template": "error", "arrow-body-style": ["error", "as-needed"], "unicorn/no-null": "off", "unicorn/prevent-abbreviations": "off", "unicorn/prefer-string-slice": "off", "unicorn/prefer-code-point": "off", "unicorn/no-array-push-push": "off", "unicorn/no-for-loop": "off", "unicorn/consistent-destructuring": "off", "unicorn/prefer-switch": ["error", { "emptyDefaultCase": "do-nothing-comment" }] }, "parserOptions": { "sourceType": "module" }, "overrides": [ { "files": "*.ts", "extends": [ "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended", "prettier" ], "rules": { "@typescript-eslint/no-non-null-assertion": "warn", "@typescript-eslint/no-explicit-any": "warn", "@typescript-eslint/explicit-function-return-type": "error", "@typescript-eslint/no-duplicate-imports": "error", "@typescript-eslint/consistent-type-imports": "error", "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }] } } ] }