1{ 2 "env": { 3 "es2020": true, 4 "node": true, 5 "jest": true 6 }, 7 "extends": ["eslint:recommended", "prettier", "plugin:unicorn/recommended"], 8 "rules": { 9 "no-console": "error", 10 "curly": ["error", "all"], 11 "prefer-arrow-callback": "error", 12 "one-var": ["error", "never"], 13 "no-var": "error", 14 "prefer-const": "error", 15 "object-shorthand": "error", 16 "prefer-destructuring": [ 17 "error", 18 { 19 "object": true, 20 "array": false 21 } 22 ], 23 "prefer-template": "error", 24 "arrow-body-style": ["error", "as-needed"], 25 26 "unicorn/no-null": "off", 27 "unicorn/prevent-abbreviations": "off", 28 "unicorn/prefer-string-slice": "off", 29 "unicorn/prefer-code-point": "off", 30 "unicorn/no-array-push-push": "off", 31 "unicorn/no-for-loop": "off", 32 "unicorn/consistent-destructuring": "off", 33 "unicorn/prefer-switch": ["error", { "emptyDefaultCase": "do-nothing-comment" }] 34 }, 35 "parserOptions": { 36 "sourceType": "module" 37 }, 38 "overrides": [ 39 { 40 "files": "*.ts", 41 "extends": [ 42 "plugin:@typescript-eslint/eslint-recommended", 43 "plugin:@typescript-eslint/recommended", 44 "prettier" 45 ], 46 "rules": { 47 "@typescript-eslint/no-non-null-assertion": "warn", 48 "@typescript-eslint/no-explicit-any": "warn", 49 "@typescript-eslint/explicit-function-return-type": "error", 50 "@typescript-eslint/no-duplicate-imports": "error", 51 "@typescript-eslint/consistent-type-imports": "error", 52 53 "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }] 54 } 55 } 56 ] 57} 58