1{ 2 "extends": ["eslint:recommended", "plugin:node/recommended", "prettier"], 3 "env": { 4 "node": true, 5 "es6": true 6 }, 7 "rules": { 8 "eqeqeq": [2, "smart"], 9 "no-caller": 2, 10 "dot-notation": 2, 11 "no-var": 2, 12 "prefer-const": 2, 13 "prefer-arrow-callback": [2, { "allowNamedFunctions": true }], 14 "arrow-body-style": [2, "as-needed"], 15 "object-shorthand": 2, 16 "prefer-template": 2, 17 "one-var": [2, "never"], 18 "prefer-destructuring": [2, { "object": true }], 19 "capitalized-comments": 2, 20 "multiline-comment-style": [2, "starred-block"], 21 "spaced-comment": 2, 22 "yoda": [2, "never"], 23 "curly": [2, "multi-line"], 24 "no-else-return": 2, 25 26 "node/no-unsupported-features/es-syntax": [ 27 2, 28 { "ignores": ["modules"] } 29 ] 30 }, 31 "overrides": [ 32 { 33 "files": "*.ts", 34 "extends": [ 35 "plugin:@typescript-eslint/eslint-recommended", 36 "plugin:@typescript-eslint/recommended", 37 "prettier" 38 ], 39 "parserOptions": { 40 "sourceType": "module", 41 "project": "./tsconfig.eslint.json" 42 }, 43 "settings": { 44 "node": { 45 "tryExtensions": [".js", ".json", ".node", ".ts"] 46 } 47 }, 48 "rules": { 49 "@typescript-eslint/prefer-for-of": 0, 50 "@typescript-eslint/member-ordering": 0, 51 "@typescript-eslint/explicit-function-return-type": 0, 52 "@typescript-eslint/no-unused-vars": 0, 53 "@typescript-eslint/no-use-before-define": [ 54 2, 55 { "functions": false } 56 ], 57 "@typescript-eslint/consistent-type-definitions": [ 58 2, 59 "interface" 60 ], 61 "@typescript-eslint/prefer-function-type": 2, 62 "@typescript-eslint/no-unnecessary-type-arguments": 2, 63 "@typescript-eslint/prefer-string-starts-ends-with": 2, 64 "@typescript-eslint/prefer-readonly": 2, 65 "@typescript-eslint/prefer-includes": 2, 66 "@typescript-eslint/no-unnecessary-condition": 2, 67 "@typescript-eslint/switch-exhaustiveness-check": 2, 68 "@typescript-eslint/prefer-nullish-coalescing": 2 69 } 70 } 71 ] 72} 73