summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ROADMAP.md10
-rw-r--r--package.json8
-rw-r--r--src/rules/typescript/default.json54
-rw-r--r--yarn.lock49
4 files changed, 93 insertions, 28 deletions
diff --git a/ROADMAP.md b/ROADMAP.md
index 4ab6b9c..d47b7fb 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -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": [
diff --git a/yarn.lock b/yarn.lock
index eb928f7..2ce11af 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -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"