aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.editorconfig2
-rw-r--r--.github/workflows/publish.yml19
-rw-r--r--.gitlab-ci.yml19
-rw-r--r--README.md55
-rw-r--r--ROADMAP.md65
-rw-r--r--package.json18
-rw-r--r--src/javascript.ts2
-rw-r--r--src/rules/import/default.json25
-rw-r--r--src/rules/sonarjs/default.json81
-rw-r--r--src/rules/typescript/default.json56
-rw-r--r--src/rules/unicorn/default.json9
-rw-r--r--src/typescript.ts3
-rw-r--r--src/vue-typescript.ts1
-rw-r--r--yarn.lock110
14 files changed, 338 insertions, 127 deletions
diff --git a/.editorconfig b/.editorconfig
index d058e45..2c83ce3 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -12,9 +12,7 @@ tab_width = 4
trim_trailing_whitespace = true
[*.json]
-indent_size = 2
indent_style = space
[*.yml]
-indent_size = 2
indent_style = space
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
new file mode 100644
index 0000000..a588b42
--- /dev/null
+++ b/.github/workflows/publish.yml
@@ -0,0 +1,19 @@
+name: Publish
+
+on:
+ create:
+ tags:
+ - v*
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-node@v1
+ with:
+ node-version: '13.x'
+ - run: yarn install
+ - run: yarn run build
+ - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_AUTH_TOKEN }}" > ~/.npmrc
+ - run: npm publish
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
deleted file mode 100644
index 6c8df84..0000000
--- a/.gitlab-ci.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-image: "node:latest"
-
-cache:
- paths:
- - node_modules/
-
-job-publish:
- only:
- - tags
-
- before_script:
- - curl -o- -L https://yarnpkg.com/install.sh | bash
- - export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"
-
- script:
- - yarn install
- - yarn run build
- - echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc
- - npm publish
diff --git a/README.md b/README.md
index fbbcddd..d2dc37c 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,56 @@
# Personal ESLint configuration
+
+## Configurations
+
+* `javascript`
+* `typescript`
+* `vue-javascript`
+* `vue-typescript`
+
+## Example
+
+* Install dependencies:
+
+```shell script
+npm install --save-dev @typescript-eslint/eslint-plugin @typescript-eslint/parser \
+ @valentineus/eslint-config eslint eslint-plugin-eslint-comments \
+ eslint-plugin-import eslint-plugin-security eslint-plugin-sonarjs \
+ eslint-plugin-unicorn eslint-plugin-vue
+
+# or
+yarn add --dev @typescript-eslint/eslint-plugin @typescript-eslint/parser \
+ @valentineus/eslint-config eslint eslint-plugin-eslint-comments \
+ eslint-plugin-import eslint-plugin-security eslint-plugin-sonarjs \
+ eslint-plugin-unicorn eslint-plugin-vue
+```
+
+* Create config file:
+
+```json
+{
+ "env": {
+ "browser": true,
+ "es6": true
+ },
+ "extends": [
+ "@valentineus/eslint-config/vue-typescript"
+ ],
+ "globals": {
+ "Atomics": "readonly",
+ "SharedArrayBuffer": "readonly"
+ },
+ "parserOptions": {
+ "createDefaultProgram": true,
+ "ecmaVersion": 2020,
+ "project": "tsconfig.json",
+ "sourceType": "module",
+ "tsconfigRootDir": "."
+ },
+ "rules": {}
+}
+```
+
+## License
+
+[Apache-2.0](LICENSE.txt).
+Copyright (c) [Valentin Popov](mailto:info@valentineus.link).
diff --git a/ROADMAP.md b/ROADMAP.md
index edca367..89a27b1 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -331,7 +331,7 @@
- [ ] "no-unused-modules"
- [ ] "no-useless-path-segments"
- [X] "no-webpack-loader-syntax"
-- [ ] "order"
+- [X] "order"
- [ ] "prefer-default-export"
- [ ] "unambiguous"
@@ -353,31 +353,31 @@
## SonarJS
-- [ ] "cognitive-complexity"
-- [ ] "max-switch-cases"
-- [ ] "no-all-duplicated-branches"
-- [ ] "no-collapsible-if"
-- [ ] "no-collection-size-mischeck"
-- [ ] "no-duplicate-string"
-- [ ] "no-duplicated-branches"
-- [ ] "no-element-overwrite"
-- [ ] "no-extra-arguments"
-- [ ] "no-identical-conditions"
-- [ ] "no-identical-expressions"
-- [ ] "no-identical-functions"
-- [ ] "no-inverted-boolean-check"
-- [ ] "no-one-iteration-loop"
-- [ ] "no-redundant-boolean"
-- [ ] "no-redundant-jump"
-- [ ] "no-same-line-conditional"
-- [ ] "no-small-switch"
-- [ ] "no-unused-collection"
-- [ ] "no-use-of-empty-return-value"
-- [ ] "no-useless-catch"
-- [ ] "prefer-immediate-return"
-- [ ] "prefer-object-literal"
-- [ ] "prefer-single-boolean-return"
-- [ ] "prefer-while"
+- [X] "cognitive-complexity"
+- [X] "max-switch-cases"
+- [X] "no-all-duplicated-branches"
+- [X] "no-collapsible-if"
+- [X] "no-collection-size-mischeck"
+- [X] "no-duplicate-string"
+- [X] "no-duplicated-branches"
+- [X] "no-element-overwrite"
+- [X] "no-extra-arguments"
+- [X] "no-identical-conditions"
+- [X] "no-identical-expressions"
+- [X] "no-identical-functions"
+- [X] "no-inverted-boolean-check"
+- [X] "no-one-iteration-loop"
+- [X] "no-redundant-boolean"
+- [X] "no-redundant-jump"
+- [X] "no-same-line-conditional"
+- [X] "no-small-switch"
+- [X] "no-unused-collection"
+- [X] "no-use-of-empty-return-value"
+- [X] "no-useless-catch"
+- [X] "prefer-immediate-return"
+- [X] "prefer-object-literal"
+- [X] "prefer-single-boolean-return"
+- [X] "prefer-while"
## TypeScript
@@ -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"
@@ -507,9 +513,11 @@
- [ ] "prefer-negative-index"
- [ ] "prefer-node-append"
- [ ] "prefer-node-remove"
+- [X] "prefer-number-properties"
- [ ] "prefer-query-selector"
- [ ] "prefer-reflect-apply"
- [ ] "prefer-replace-all"
+- [X] "prefer-set-has"
- [ ] "prefer-spread"
- [ ] "prefer-starts-ends-with"
- [ ] "prefer-string-slice"
@@ -517,7 +525,6 @@
- [ ] "prefer-trim-start-end"
- [ ] "prefer-type-error"
- [X] "prevent-abbreviations"
-- [ ] "regex-shorthand"
- [ ] "throw-new-error"
## Vue
diff --git a/package.json b/package.json
index 441bed8..d9ff48a 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@valentineus/eslint-config",
- "version": "0.0.13",
+ "version": "0.0.14",
"description": "Personal ESLint configuration",
"main": "index.js",
"repository": "git@code.valentineus.link:eslint-config.git",
@@ -13,30 +13,30 @@
"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",
"eslint-plugin-security": "^1.4.0",
"eslint-plugin-sonarjs": "^0.5.0",
- "eslint-plugin-unicorn": "^16.1.1",
- "eslint-plugin-vue": "^6.2.1",
+ "eslint-plugin-unicorn": "^18.0.0",
+ "eslint-plugin-vue": "^6.2.2",
"rollup": "^1.31.1",
"rollup-plugin-terser": "^5.2.0",
"tslib": "^1.10.0",
"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",
"eslint-plugin-security": "^1.4.0",
"eslint-plugin-sonarjs": "^0.5.0",
- "eslint-plugin-unicorn": "^16.1.1",
- "eslint-plugin-vue": "^6.1.2"
+ "eslint-plugin-unicorn": "^18.0.0",
+ "eslint-plugin-vue": "^6.2.2"
},
"dependencies": {}
}
diff --git a/src/javascript.ts b/src/javascript.ts
index bd02c45..b7917e2 100644
--- a/src/javascript.ts
+++ b/src/javascript.ts
@@ -1,6 +1,6 @@
import rComments from "./rules/eslint-comments/default.json";
-import rDefault from "./rules/javascript/default.json";
import rImport from "./rules/import/default.json";
+import rDefault from "./rules/javascript/default.json";
import rSecurity from "./rules/security/default.json";
import rSonarJS from "./rules/sonarjs/default.json";
import rUnicorn from "./rules/unicorn/default.json";
diff --git a/src/rules/import/default.json b/src/rules/import/default.json
index 77ec282..291e45f 100644
--- a/src/rules/import/default.json
+++ b/src/rules/import/default.json
@@ -13,5 +13,30 @@
],
"import/no-webpack-loader-syntax": [
"error"
+ ],
+ "import/order": [
+ "error",
+ {
+ "alphabetize": {
+ "caseInsensitive": false,
+ "order": "asc"
+ },
+ "groups": [
+ [
+ "builtin",
+ "external"
+ ],
+ [
+ "internal",
+ "parent",
+ "sibling"
+ ],
+ [
+ "index"
+ ],
+ "unknown"
+ ],
+ "newlines-between": "always"
+ }
]
}
diff --git a/src/rules/sonarjs/default.json b/src/rules/sonarjs/default.json
index 0967ef4..5c39836 100644
--- a/src/rules/sonarjs/default.json
+++ b/src/rules/sonarjs/default.json
@@ -1 +1,80 @@
-{}
+{
+ "sonarjs/cognitive-complexity": [
+ "warn",
+ 25
+ ],
+ "sonarjs/max-switch-cases": [
+ "warn",
+ 30
+ ],
+ "sonarjs/no-all-duplicated-branches": [
+ "error"
+ ],
+ "sonarjs/no-collapsible-if": [
+ "error"
+ ],
+ "sonarjs/no-collection-size-mischeck": [
+ "error"
+ ],
+ "sonarjs/no-duplicate-string": [
+ "warn",
+ 5
+ ],
+ "sonarjs/no-duplicated-branches": [
+ "error"
+ ],
+ "sonarjs/no-element-overwrite": [
+ "error"
+ ],
+ "sonarjs/no-extra-arguments": [
+ "error"
+ ],
+ "sonarjs/no-identical-conditions": [
+ "error"
+ ],
+ "sonarjs/no-identical-expressions": [
+ "error"
+ ],
+ "sonarjs/no-identical-functions": [
+ "error"
+ ],
+ "sonarjs/no-inverted-boolean-check": [
+ "error"
+ ],
+ "sonarjs/no-one-iteration-loop": [
+ "error"
+ ],
+ "sonarjs/no-redundant-boolean": [
+ "error"
+ ],
+ "sonarjs/no-redundant-jump": [
+ "error"
+ ],
+ "sonarjs/no-same-line-conditional": [
+ "error"
+ ],
+ "sonarjs/no-small-switch": [
+ "error"
+ ],
+ "sonarjs/no-unused-collection": [
+ "error"
+ ],
+ "sonarjs/no-use-of-empty-return-value": [
+ "error"
+ ],
+ "sonarjs/no-useless-catch": [
+ "warn"
+ ],
+ "sonarjs/prefer-immediate-return": [
+ "error"
+ ],
+ "sonarjs/prefer-object-literal": [
+ "error"
+ ],
+ "sonarjs/prefer-single-boolean-return": [
+ "error"
+ ],
+ "sonarjs/prefer-while": [
+ "error"
+ ]
+}
diff --git a/src/rules/typescript/default.json b/src/rules/typescript/default.json
index 43ad740..fe556bc 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",
{
@@ -73,7 +80,7 @@
"@typescript-eslint/no-explicit-any": [
"warn",
{
- "fixToUnknown": false,
+ "fixToUnknown": true,
"ignoreRestArgs": false
}
],
@@ -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/src/rules/unicorn/default.json b/src/rules/unicorn/default.json
index 435ef7e..bf11b2b 100644
--- a/src/rules/unicorn/default.json
+++ b/src/rules/unicorn/default.json
@@ -17,6 +17,12 @@
"unicorn/no-console-spaces": [
"error"
],
+ "unicorn/prefer-number-properties": [
+ "error"
+ ],
+ "unicorn/prefer-set-has": [
+ "error"
+ ],
"unicorn/prevent-abbreviations": [
"error",
{
@@ -31,5 +37,8 @@
"replacements": {},
"whitelist": {}
}
+ ],
+ "unicorn/string-content": [
+ "error"
]
}
diff --git a/src/typescript.ts b/src/typescript.ts
index ace7ad7..6295159 100644
--- a/src/typescript.ts
+++ b/src/typescript.ts
@@ -9,6 +9,9 @@ module.exports = {
"plugin:import/typescript",
],
"parser": "@typescript-eslint/parser",
+ "parserOptions": {
+ createDefaultProgram: true,
+ },
"plugins": [
"@typescript-eslint",
],
diff --git a/src/vue-typescript.ts b/src/vue-typescript.ts
index bbef943..f44c6f2 100644
--- a/src/vue-typescript.ts
+++ b/src/vue-typescript.ts
@@ -10,6 +10,7 @@ module.exports = {
],
"parser": "vue-eslint-parser",
"parserOptions": {
+ createDefaultProgram: true,
extraFileExtensions: [
".vue",
],
diff --git a/yarn.lock b/yarn.lock
index 785b572..f618377 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"
@@ -431,32 +431,27 @@ eslint-plugin-sonarjs@^0.5.0:
resolved "https://registry.yarnpkg.com/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.5.0.tgz#ce17b2daba65a874c2862213a9e38e8986ad7d7d"
integrity sha512-XW5MnzlRjhXpIdbULC/qAdJYHWw3rRLws/DyawdlPU/IdVr9AmRK1r2LaCvabwKOAW2XYYSo3kDX58E4MrB7PQ==
-eslint-plugin-unicorn@^16.1.1:
- version "16.1.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-16.1.1.tgz#012c598d71914ef30f5d386dd85110e59f2ef999"
- integrity sha512-IMxCsntb0T8s660Irc40gtzXtxuXHcOn36G9G8OYKfiseBD/kNrA1cNJhsJ0xQteDASGrFwqdzBsYEkUvczhOA==
+eslint-plugin-unicorn@^18.0.0:
+ version "18.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-18.0.0.tgz#94a8477d47f4d25fc931a27658dff44c0fcbc192"
+ integrity sha512-2mk3Cz6H2LCsKSEmJ7Wmqm/XbMAQ55+PjSBFM2Yh1/A7uk2gryNNhdfbFDycsjs/ylqk0m7LJ4qPpK9OlP8f9A==
dependencies:
ci-info "^2.0.0"
clean-regexp "^1.0.0"
eslint-ast-utils "^1.1.0"
eslint-template-visitor "^1.1.0"
import-modules "^2.0.0"
- lodash.camelcase "^4.3.0"
- lodash.defaultsdeep "^4.6.1"
- lodash.kebabcase "^4.1.1"
- lodash.snakecase "^4.1.1"
- lodash.upperfirst "^4.3.1"
+ lodash "^4.17.15"
read-pkg-up "^7.0.1"
- regexp-tree "^0.1.17"
- regexpp "^3.0.0"
+ regexp-tree "^0.1.21"
reserved-words "^0.1.2"
safe-regex "^2.1.1"
- semver "^7.1.2"
+ semver "^7.1.3"
-eslint-plugin-vue@^6.2.1:
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-6.2.1.tgz#ca802df5c33146aed1e56bb21d250c1abb6120a3"
- integrity sha512-MiIDOotoWseIfLIfGeDzF6sDvHkVvGd2JgkvjyHtN3q4RoxdAXrAMuI3SXTOKatljgacKwpNAYShmcKZa4yZzw==
+eslint-plugin-vue@^6.2.2:
+ version "6.2.2"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz#27fecd9a3a24789b0f111ecdd540a9e56198e0fe"
+ integrity sha512-Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==
dependencies:
natural-compare "^1.4.0"
semver "^5.6.0"
@@ -486,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"
@@ -929,36 +931,11 @@ locate-path@^5.0.0:
dependencies:
p-locate "^4.1.0"
-lodash.camelcase@^4.3.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
- integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
-
-lodash.defaultsdeep@^4.6.1:
- version "4.6.1"
- resolved "https://registry.yarnpkg.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6"
- integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==
-
lodash.get@^4.4.2:
version "4.4.2"
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
-lodash.kebabcase@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36"
- integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY=
-
-lodash.snakecase@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d"
- integrity sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=
-
-lodash.upperfirst@^4.3.1:
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce"
- integrity sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984=
-
lodash.zip@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/lodash.zip/-/lodash.zip-4.2.0.tgz#ec6662e4896408ed4ab6c542a3990b72cc080020"
@@ -1256,7 +1233,12 @@ read-pkg@^5.2.0:
parse-json "^5.0.0"
type-fest "^0.6.0"
-regexp-tree@^0.1.17, regexp-tree@~0.1.1:
+regexp-tree@^0.1.21:
+ version "0.1.21"
+ resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.21.tgz#55e2246b7f7d36f1b461490942fa780299c400d7"
+ integrity sha512-kUUXjX4AnqnR8KRTCrayAo9PzYMRKmVoGgaz2tBuz0MF3g1ZbGebmtW0yFHfFK9CmBjQKeYIgoL22pFLBJY7sw==
+
+regexp-tree@~0.1.1:
version "0.1.19"
resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.19.tgz#9326e91d8d1d23298dd33a78cf5e788f57cdc359"
integrity sha512-mVeVLF/qg5qFbZSW0f7pXbuVX73dKIjuhOyC2JLKxzmpya75O4qLcvI9j0jp31Iz7IAkEVHa1UErDCAqaLKo5A==
@@ -1378,7 +1360,7 @@ semver@^6.1.2, semver@^6.3.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
-semver@^7.1.2:
+semver@^7.1.3:
version "7.1.3"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.1.3.tgz#e4345ce73071c53f336445cfc19efb1c311df2a6"
integrity sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==