diff options
-rw-r--r-- | ROADMAP.md | 10 | ||||
-rw-r--r-- | package.json | 8 | ||||
-rw-r--r-- | src/rules/typescript/default.json | 54 | ||||
-rw-r--r-- | yarn.lock | 49 |
4 files changed, 93 insertions, 28 deletions
@@ -389,6 +389,7 @@ - [ ] "ban-types" - [ ] "brace-style" - [ ] "camelcase" +- [X] "class-literal-property-style" - [ ] "class-name-casing" - [X] "comma-spacing" - [ ] "consistent-type-assertions" @@ -406,6 +407,7 @@ - [ ] "member-ordering" - [ ] "naming-convention" - [ ] "no-array-constructor" +- [X] "no-base-to-string" - [ ] "no-dupe-class-members" - [ ] "no-dynamic-delete" - [ ] "no-empty-function" @@ -431,10 +433,13 @@ - [ ] "no-throw-literal" - [X] "no-type-alias" - [ ] "no-unnecessary-boolean-literal-compare" -- [ ] "no-unnecessary-condition" +- [X] "no-unnecessary-condition" - [ ] "no-unnecessary-qualifier" - [ ] "no-unnecessary-type-arguments" -- [ ] "no-unnecessary-type-assertion" +- [X] "no-unnecessary-type-assertion" +- [X] "no-unsafe-call" +- [X] "no-unsafe-member-access" +- [X] "no-unsafe-return" - [X] "no-untyped-public-signature" - [ ] "no-unused-expressions" - [X] "no-unused-vars" @@ -450,6 +455,7 @@ - [ ] "prefer-nullish-coalescing" - [ ] "prefer-optional-chain" - [ ] "prefer-readonly" +- [X] "prefer-readonly-parameter-types" - [ ] "prefer-regexp-exec" - [ ] "prefer-string-starts-ends-with" - [ ] "promise-function-async" diff --git a/package.json b/package.json index 37b6584..ac8bae0 100644 --- a/package.json +++ b/package.json @@ -13,8 +13,8 @@ "devDependencies": { "@rollup/plugin-json": "^4.0.2", "@rollup/plugin-typescript": "^3.0.0", - "@typescript-eslint/eslint-plugin": "^2.20.0", - "@typescript-eslint/parser": "^2.20.0", + "@typescript-eslint/eslint-plugin": "^2.25.0", + "@typescript-eslint/parser": "^2.25.0", "eslint": "^6.8.0", "eslint-plugin-eslint-comments": "^3.1.2", "eslint-plugin-import": "^2.20.1", @@ -28,8 +28,8 @@ "typescript": "^3.7.5" }, "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^2.19.0", - "@typescript-eslint/parser": "^2.19.0", + "@typescript-eslint/eslint-plugin": "^2.25.0", + "@typescript-eslint/parser": "^2.25.0", "eslint": "^6.8.0", "eslint-plugin-eslint-comments": "^3.1.2", "eslint-plugin-import": "^2.20.1", diff --git a/src/rules/typescript/default.json b/src/rules/typescript/default.json index 43ad740..a580318 100644 --- a/src/rules/typescript/default.json +++ b/src/rules/typescript/default.json @@ -2,6 +2,10 @@ "@typescript-eslint/await-thenable": [ "error" ], + "@typescript-eslint/class-literal-property-style": [ + "error", + "getters" + ], "@typescript-eslint/comma-spacing": [ "error", { @@ -64,6 +68,9 @@ "prefixWithI": "always" } ], + "@typescript-eslint/no-base-to-string": [ + "error" + ], "@typescript-eslint/no-empty-interface": [ "warn", { @@ -115,6 +122,26 @@ "allowTupleTypes": "in-unions-and-intersections" } ], + "@typescript-eslint/no-unnecessary-condition": [ + "error", + { + "allowConstantLoopConditions": false, + "checkArrayPredicates": true, + "ignoreRhs": true + } + ], + "@typescript-eslint/no-unnecessary-type-assertion": [ + "error" + ], + "@typescript-eslint/no-unsafe-call": [ + "error" + ], + "@typescript-eslint/no-unsafe-member-access": [ + "error" + ], + "@typescript-eslint/no-unsafe-return": [ + "error" + ], "@typescript-eslint/no-untyped-public-signature": [ "warn", { @@ -151,6 +178,12 @@ "@typescript-eslint/no-var-requires": [ "error" ], + "@typescript-eslint/prefer-readonly-parameter-types": [ + "error", + { + "checkParameterProperties": true + } + ], "@typescript-eslint/quotes": [ "error", "double", @@ -188,6 +221,8 @@ "@typescript-eslint/type-annotation-spacing": [ "error", { + "after": true, + "before": true, "overrides": { "arrow": { "after": true, @@ -196,6 +231,22 @@ "colon": { "after": true, "before": false + }, + "parameter": { + "after": true, + "before": true + }, + "property": { + "after": true, + "before": true + }, + "returnType": { + "after": true, + "before": true + }, + "variable": { + "after": true, + "before": true } } } @@ -209,7 +260,8 @@ "objectDestructuring": true, "parameter": true, "propertyDeclaration": true, - "variableDeclaration": true + "variableDeclaration": true, + "variableDeclarationIgnoreFunction": false } ], "comma-spacing": [ @@ -65,40 +65,40 @@ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== -"@typescript-eslint/eslint-plugin@^2.20.0": - version "2.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.20.0.tgz#a522d0e1e4898f7c9c6a8e1ed3579b60867693fa" - integrity sha512-cimIdVDV3MakiGJqMXw51Xci6oEDEoPkvh8ggJe2IIzcc0fYqAxOXN6Vbeanahz6dLZq64W+40iUEc9g32FLDQ== +"@typescript-eslint/eslint-plugin@^2.25.0": + version "2.25.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.25.0.tgz#0b60917332f20dcff54d0eb9be2a9e9f4c9fbd02" + integrity sha512-W2YyMtjmlrOjtXc+FtTelVs9OhuR6OlYc4XKIslJ8PUJOqgYYAPRJhAqkYRQo3G4sjvG8jSodsNycEn4W2gHUw== dependencies: - "@typescript-eslint/experimental-utils" "2.20.0" - eslint-utils "^1.4.3" + "@typescript-eslint/experimental-utils" "2.25.0" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@2.20.0": - version "2.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.20.0.tgz#3b6fa5a6b8885f126d5a4280e0d44f0f41e73e32" - integrity sha512-fEBy9xYrwG9hfBLFEwGW2lKwDRTmYzH3DwTmYbT+SMycmxAoPl0eGretnBFj/s+NfYBG63w/5c3lsvqqz5mYag== +"@typescript-eslint/experimental-utils@2.25.0": + version "2.25.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.25.0.tgz#13691c4fe368bd377b1e5b1e4ad660b220bf7714" + integrity sha512-0IZ4ZR5QkFYbaJk+8eJ2kYeA+1tzOE1sBjbwwtSV85oNWYUBep+EyhlZ7DLUCyhMUGuJpcCCFL0fDtYAP1zMZw== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.20.0" + "@typescript-eslint/typescript-estree" "2.25.0" eslint-scope "^5.0.0" + eslint-utils "^2.0.0" -"@typescript-eslint/parser@^2.20.0": - version "2.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.20.0.tgz#608e5bb06ba98a415b64ace994c79ab20f9772a9" - integrity sha512-o8qsKaosLh2qhMZiHNtaHKTHyCHc3Triq6aMnwnWj7budm3xAY9owSZzV1uon5T9cWmJRJGzTFa90aex4m77Lw== +"@typescript-eslint/parser@^2.25.0": + version "2.25.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.25.0.tgz#abfb3d999084824d9a756d9b9c0f36fba03adb76" + integrity sha512-mccBLaBSpNVgp191CP5W+8U1crTyXsRziWliCqzj02kpxdjKMvFHGJbK33NroquH3zB/gZ8H511HEsJBa2fNEg== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.20.0" - "@typescript-eslint/typescript-estree" "2.20.0" + "@typescript-eslint/experimental-utils" "2.25.0" + "@typescript-eslint/typescript-estree" "2.25.0" eslint-visitor-keys "^1.1.0" -"@typescript-eslint/typescript-estree@2.20.0": - version "2.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.20.0.tgz#90a0f5598826b35b966ca83483b1a621b1a4d0c9" - integrity sha512-WlFk8QtI8pPaE7JGQGxU7nGcnk1ccKAJkhbVookv94ZcAef3m6oCE/jEDL6dGte3JcD7reKrA0o55XhBRiVT3A== +"@typescript-eslint/typescript-estree@2.25.0": + version "2.25.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.25.0.tgz#b790497556734b7476fa7dd3fa539955a5c79e2c" + integrity sha512-VUksmx5lDxSi6GfmwSK7SSoIKSw9anukWWNitQPqt58LuYrKalzsgeuignbqnB+rK/xxGlSsCy8lYnwFfB6YJg== dependencies: debug "^4.1.1" eslint-visitor-keys "^1.1.0" @@ -481,6 +481,13 @@ eslint-utils@^1.4.3: dependencies: eslint-visitor-keys "^1.1.0" +eslint-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.0.0.tgz#7be1cc70f27a72a76cd14aa698bcabed6890e1cd" + integrity sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA== + dependencies: + eslint-visitor-keys "^1.1.0" + eslint-visitor-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" |