|  | 
|  | 1 | +{ | 
|  | 2 | +  "extends": [ | 
|  | 3 | +    "eslint:recommended", | 
|  | 4 | +    "plugin:prettier/recommended" | 
|  | 5 | +  ], | 
|  | 6 | +  "rules": { | 
|  | 7 | +    "curly": [ | 
|  | 8 | +      "error", | 
|  | 9 | +      "all" | 
|  | 10 | +    ], | 
|  | 11 | +    "eqeqeq": [ | 
|  | 12 | +      "error", | 
|  | 13 | +      "smart" | 
|  | 14 | +    ], | 
|  | 15 | +    "import/no-extraneous-dependencies": [ | 
|  | 16 | +      "error", | 
|  | 17 | +      { | 
|  | 18 | +        "devDependencies": true, | 
|  | 19 | +        "optionalDependencies": false, | 
|  | 20 | +        "peerDependencies": false | 
|  | 21 | +      } | 
|  | 22 | +    ], | 
|  | 23 | +    "no-shadow": [ | 
|  | 24 | +      "error", | 
|  | 25 | +      { | 
|  | 26 | +        "hoist": "all" | 
|  | 27 | +      } | 
|  | 28 | +    ], | 
|  | 29 | +    "prefer-const": "error", | 
|  | 30 | +    "import/order": [ | 
|  | 31 | +      "error", | 
|  | 32 | +      { | 
|  | 33 | +        "groups": [ | 
|  | 34 | +          [ | 
|  | 35 | +            "external", | 
|  | 36 | +            "builtin" | 
|  | 37 | +          ], | 
|  | 38 | +          "internal", | 
|  | 39 | +          [ | 
|  | 40 | +            "parent", | 
|  | 41 | +            "sibling", | 
|  | 42 | +            "index" | 
|  | 43 | +          ] | 
|  | 44 | +        ] | 
|  | 45 | +      } | 
|  | 46 | +    ], | 
|  | 47 | +    "sort-imports": [ | 
|  | 48 | +      "error", | 
|  | 49 | +      { | 
|  | 50 | +        "ignoreCase": true, | 
|  | 51 | +        "ignoreDeclarationSort": true, | 
|  | 52 | +        "ignoreMemberSort": false, | 
|  | 53 | +        "memberSyntaxSortOrder": [ | 
|  | 54 | +          "none", | 
|  | 55 | +          "all", | 
|  | 56 | +          "multiple", | 
|  | 57 | +          "single" | 
|  | 58 | +        ] | 
|  | 59 | +      } | 
|  | 60 | +    ], | 
|  | 61 | +    "padding-line-between-statements": [ | 
|  | 62 | +      "error", | 
|  | 63 | +      { | 
|  | 64 | +        "blankLine": "always", | 
|  | 65 | +        "prev": "*", | 
|  | 66 | +        "next": "return" | 
|  | 67 | +      } | 
|  | 68 | +    ] | 
|  | 69 | +  }, | 
|  | 70 | +  "root": true, | 
|  | 71 | +  "plugins": [ | 
|  | 72 | +    "import" | 
|  | 73 | +  ], | 
|  | 74 | +  "env": { | 
|  | 75 | +    "es6": true, | 
|  | 76 | +    "node": true | 
|  | 77 | +  }, | 
|  | 78 | +  "overrides": [ | 
|  | 79 | +    { | 
|  | 80 | +      "files": [ | 
|  | 81 | +        "src/**/*.ts" | 
|  | 82 | +      ], | 
|  | 83 | +      "extends": [ | 
|  | 84 | +        "plugin:@typescript-eslint/recommended", | 
|  | 85 | +        "plugin:@typescript-eslint/recommended-requiring-type-checking", | 
|  | 86 | +        "prettier/@typescript-eslint" | 
|  | 87 | +      ], | 
|  | 88 | +      "parser": "@typescript-eslint/parser", | 
|  | 89 | +      "parserOptions": { | 
|  | 90 | +        "project": "tsconfig.json" | 
|  | 91 | +      }, | 
|  | 92 | +      "rules": { | 
|  | 93 | +        "@typescript-eslint/prefer-optional-chain": "error", | 
|  | 94 | +        "no-shadow": "off", | 
|  | 95 | +        "@typescript-eslint/no-shadow": "error", | 
|  | 96 | +        "@typescript-eslint/prefer-nullish-coalescing": "error", | 
|  | 97 | +        "@typescript-eslint/strict-boolean-expressions": "error", | 
|  | 98 | +        "@typescript-eslint/no-unnecessary-boolean-literal-compare": "error", | 
|  | 99 | +        "@typescript-eslint/no-unnecessary-condition": "error", | 
|  | 100 | +        "@typescript-eslint/no-unnecessary-type-arguments": "error", | 
|  | 101 | +        "@typescript-eslint/prefer-string-starts-ends-with": "error", | 
|  | 102 | +        "@typescript-eslint/switch-exhaustiveness-check": "error" | 
|  | 103 | +      } | 
|  | 104 | +    } | 
|  | 105 | +  ] | 
|  | 106 | +} | 
0 commit comments