From c827e02a64c2a23db01f70347a2f001b294a3b60 Mon Sep 17 00:00:00 2001 From: Nicholas Jamieson Date: Sun, 17 Oct 2021 11:43:24 +1000 Subject: [PATCH] chore: Upgrade dependencies. --- package.json | 17 +- source/rules/no-assign-mutated-array.ts | 35 ++-- source/rules/no-commented-out-code.ts | 2 +- source/rules/no-const-enum.ts | 2 +- source/rules/no-deprecated.ts | 2 +- source/rules/no-enum.ts | 2 +- source/rules/no-foreach.ts | 2 +- source/rules/no-implicit-any-catch.ts | 2 +- source/rules/no-internal.ts | 2 +- source/rules/no-misused-generics.ts | 2 +- source/rules/no-t.ts | 2 +- source/rules/prefer-interface.ts | 7 +- source/rules/prefer-less-than.ts | 2 +- source/rules/throw-error.ts | 41 ++-- source/rules/underscore-internal.ts | 4 +- tests/rules/no-implicit-any-catch.ts | 28 +-- tests/rules/prefer-interface.ts | 10 +- tests/rules/prefer-less-than.ts | 16 +- yarn.lock | 260 ++++++++++-------------- 19 files changed, 193 insertions(+), 245 deletions(-) diff --git a/package.json b/package.json index 7108b18..a696749 100644 --- a/package.json +++ b/package.json @@ -5,22 +5,22 @@ }, "dependencies": { "@phenomnomnominal/tsquery": "^4.0.0", - "@typescript-eslint/experimental-utils": "^4.0.0", - "eslint-etc": "^4.0.4", + "@typescript-eslint/experimental-utils": "^5.0.0", + "eslint-etc": "^5.0.0", "requireindex": "~1.2.0", "tslib": "^2.0.0", "tsutils": "^3.0.0" }, "description": "More general-purpose ESLint rules", "devDependencies": { - "@cartant/eslint-config": "^2.0.0", + "@cartant/eslint-config": "^3.0.0", "@types/common-tags": "^1.8.0", "@types/eslint": "^7.0.0", "@types/mocha": "^9.0.0", "@types/node": "^16.0.0", - "@typescript-eslint/parser": "^4.0.0", + "@typescript-eslint/parser": "^5.0.0", "common-tags": "^1.8.0", - "eslint": "^7.0.0", + "eslint": "^8.0.0", "husky": "^7.0.0", "lint-staged": "^11.0.0", "mocha": "^9.0.0", @@ -29,9 +29,6 @@ "ts-node": "^10.0.0", "typescript": "~4.4.2" }, - "engines": { - "node": ">=10" - }, "files": [ "dist", "docs", @@ -51,8 +48,8 @@ "name": "eslint-plugin-etc", "optionalDependencies": {}, "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^ 7.0.0", - "typescript": "^3.0.0 || ^4.0.0" + "eslint": "^8.0.0", + "typescript": "^4.0.0" }, "private": false, "publishConfig": { diff --git a/source/rules/no-assign-mutated-array.ts b/source/rules/no-assign-mutated-array.ts index fe5ce70..7edbadd 100644 --- a/source/rules/no-assign-mutated-array.ts +++ b/source/rules/no-assign-mutated-array.ts @@ -23,11 +23,11 @@ const rule = ruleCreator({ defaultOptions: [], meta: { docs: { - category: "Possible Errors", description: "Forbids the assignment of returned, mutated arrays.", recommended: false, }, fixable: undefined, + hasSuggestions: false, messages: { forbidden: "Assignment of mutated arrays is forbidden.", }, @@ -38,23 +38,24 @@ const rule = ruleCreator({ create: (context) => { const { couldBeType } = getTypeServices(context); return { - [`CallExpression > MemberExpression[property.name=${mutatorRegExp.toString()}]`]: ( - memberExpression: es.MemberExpression - ) => { - const callExpression = getParent(memberExpression) as es.CallExpression; - const parent = getParent(callExpression); - if (parent && !isExpressionStatement(parent)) { - if ( - couldBeType(memberExpression.object, "Array") && - mutatesReferencedArray(callExpression) - ) { - context.report({ - messageId: "forbidden", - node: memberExpression.property, - }); + [`CallExpression > MemberExpression[property.name=${mutatorRegExp.toString()}]`]: + (memberExpression: es.MemberExpression) => { + const callExpression = getParent( + memberExpression + ) as es.CallExpression; + const parent = getParent(callExpression); + if (parent && !isExpressionStatement(parent)) { + if ( + couldBeType(memberExpression.object, "Array") && + mutatesReferencedArray(callExpression) + ) { + context.report({ + messageId: "forbidden", + node: memberExpression.property, + }); + } } - } - }, + }, }; function isNewArray(node: es.LeftHandSideExpression): boolean { diff --git a/source/rules/no-commented-out-code.ts b/source/rules/no-commented-out-code.ts index 2a42825..b51d8f1 100644 --- a/source/rules/no-commented-out-code.ts +++ b/source/rules/no-commented-out-code.ts @@ -10,11 +10,11 @@ const rule = ruleCreator({ defaultOptions: [], meta: { docs: { - category: "Best Practices", description: "Forbids commented-out code.", recommended: false, }, fixable: undefined, + hasSuggestions: false, messages: { forbidden: "Commented-out code is forbidden.", }, diff --git a/source/rules/no-const-enum.ts b/source/rules/no-const-enum.ts index 35104e0..633d4a6 100644 --- a/source/rules/no-const-enum.ts +++ b/source/rules/no-const-enum.ts @@ -17,11 +17,11 @@ const rule = ruleCreator({ defaultOptions, meta: { docs: { - category: "Best Practices", description: "Forbids the use of `const enum`.", recommended: false, }, fixable: undefined, + hasSuggestions: false, messages: { forbidden: "`const enum` is forbidden.", }, diff --git a/source/rules/no-deprecated.ts b/source/rules/no-deprecated.ts index 236f029..1d69078 100644 --- a/source/rules/no-deprecated.ts +++ b/source/rules/no-deprecated.ts @@ -20,11 +20,11 @@ const rule = ruleCreator({ defaultOptions, meta: { docs: { - category: "Best Practices", description: "Forbids the use of deprecated APIs.", recommended: false, }, fixable: undefined, + hasSuggestions: false, messages: { forbidden: `"{{name}}" is deprecated: {{comment}}`, }, diff --git a/source/rules/no-enum.ts b/source/rules/no-enum.ts index 9611ed4..82891df 100644 --- a/source/rules/no-enum.ts +++ b/source/rules/no-enum.ts @@ -12,11 +12,11 @@ const rule = ruleCreator({ defaultOptions: [], meta: { docs: { - category: "Best Practices", description: "Forbids the use of `enum`.", recommended: false, }, fixable: undefined, + hasSuggestions: false, messages: { forbidden: "`enum` is forbidden.", }, diff --git a/source/rules/no-foreach.ts b/source/rules/no-foreach.ts index e592007..70718bd 100644 --- a/source/rules/no-foreach.ts +++ b/source/rules/no-foreach.ts @@ -15,11 +15,11 @@ const rule = ruleCreator({ defaultOptions, meta: { docs: { - category: "Best Practices", description: "Forbids calling `forEach`.", recommended: false, }, fixable: undefined, + hasSuggestions: false, messages: { forbidden: "Calling `forEach` is forbidden.", }, diff --git a/source/rules/no-implicit-any-catch.ts b/source/rules/no-implicit-any-catch.ts index c914300..bda7717 100644 --- a/source/rules/no-implicit-any-catch.ts +++ b/source/rules/no-implicit-any-catch.ts @@ -41,13 +41,13 @@ const rule = ruleCreator({ defaultOptions, meta: { docs: { - category: "Possible Errors", description: "Forbids implicit `any` error parameters in promise rejections.", recommended: false, suggestion: true, }, fixable: "code", + hasSuggestions: true, messages: { explicitAny: "Explicit `any` in promise rejection.", implicitAny: "Implicit `any` in promise rejection.", diff --git a/source/rules/no-internal.ts b/source/rules/no-internal.ts index 8a61b82..247184e 100644 --- a/source/rules/no-internal.ts +++ b/source/rules/no-internal.ts @@ -22,11 +22,11 @@ const rule = ruleCreator({ defaultOptions, meta: { docs: { - category: "Best Practices", description: "Forbids the use of internal APIs.", recommended: false, }, fixable: undefined, + hasSuggestions: false, messages: { forbidden: `"{{name}}" is internal.`, }, diff --git a/source/rules/no-misused-generics.ts b/source/rules/no-misused-generics.ts index 69972c1..a1c0d2d 100644 --- a/source/rules/no-misused-generics.ts +++ b/source/rules/no-misused-generics.ts @@ -15,12 +15,12 @@ const rule = ruleCreator({ defaultOptions: [], meta: { docs: { - category: "Best Practices", description: "Forbids type parameters without inference sites and type parameters that don't add type safety to declarations.", recommended: false, }, fixable: undefined, + hasSuggestions: false, messages: { canReplace: "Type parameter '{{name}}' is not used to enforce a constraint between types and can be replaced with '{{replacement}}'.", diff --git a/source/rules/no-t.ts b/source/rules/no-t.ts index aa8fdfb..3694206 100644 --- a/source/rules/no-t.ts +++ b/source/rules/no-t.ts @@ -14,11 +14,11 @@ const rule = ruleCreator({ defaultOptions, meta: { docs: { - category: "Best Practices", description: "Forbids single-character type parameters.", recommended: false, }, fixable: undefined, + hasSuggestions: false, messages: { forbidden: `Single-character type parameters are forbidden. Choose a more descriptive name for "{{name}}"`, prefix: `Type parameter "{{name}}" does not have prefix "{{prefix}}"`, diff --git a/source/rules/prefer-interface.ts b/source/rules/prefer-interface.ts index 2b83fce..aec5cf9 100644 --- a/source/rules/prefer-interface.ts +++ b/source/rules/prefer-interface.ts @@ -27,11 +27,11 @@ const rule = ruleCreator({ defaultOptions: defaultOptions, meta: { docs: { - category: "Best Practices", description: "Forbids type aliases where interfaces can be used.", recommended: false, }, fixable: "code", + hasSuggestions: true, messages: { forbidden: "Type can be declared using an interface.", suggest: "Use an interface instead of a type alias.", @@ -48,9 +48,8 @@ const rule = ruleCreator({ }, name: "prefer-interface", create: (context, unused: typeof defaultOptions) => { - const [ - { allowIntersection = true, allowLocal = false } = {}, - ] = context.options; + const [{ allowIntersection = true, allowLocal = false } = {}] = + context.options; function formatTypeParameters( typeParameters?: diff --git a/source/rules/prefer-less-than.ts b/source/rules/prefer-less-than.ts index 5565eb5..9f51f0c 100644 --- a/source/rules/prefer-less-than.ts +++ b/source/rules/prefer-less-than.ts @@ -13,11 +13,11 @@ const rule = ruleCreator({ defaultOptions: [], meta: { docs: { - category: "Best Practices", description: "Forbids greater-than comparisons.", recommended: false, }, fixable: "code", + hasSuggestions: true, messages: { forbiddenGT: "Greater-than comparisons are forbidden.", forbiddenGTE: "Greater-than-or-equal comparisons are forbidden.", diff --git a/source/rules/throw-error.ts b/source/rules/throw-error.ts index e491f96..7cc005d 100644 --- a/source/rules/throw-error.ts +++ b/source/rules/throw-error.ts @@ -11,11 +11,11 @@ const rule = ruleCreator({ defaultOptions: [], meta: { docs: { - category: "Best Practices", description: "Forbids throwing - or rejecting with - non-`Error` values.", recommended: false, }, fixable: undefined, + hasSuggestions: false, messages: { forbidden: "{{usage}} non-`Error` values is forbidden.", }, @@ -49,27 +49,26 @@ const rule = ruleCreator({ } checkRejection(getParent(node) as es.CallExpression); }, - "NewExpression[callee.name='Promise'] > ArrowFunctionExpression, NewExpression[callee.name='Promise'] > FunctionExpression": ( - node: es.ArrowFunctionExpression | es.FunctionExpression - ) => { - const [, param] = node.params; - if (!param) { - return; - } - const text = sourceCode.getText(param); - const variable = context - .getDeclaredVariables(node) - .find((variable) => variable.name === text); - if (!variable) { - return; - } - variable.references.forEach(({ identifier }) => { - const parent = getParent(identifier) as es.Node; - if (isCallExpression(parent) && identifier === parent.callee) { - checkRejection(parent); + "NewExpression[callee.name='Promise'] > ArrowFunctionExpression, NewExpression[callee.name='Promise'] > FunctionExpression": + (node: es.ArrowFunctionExpression | es.FunctionExpression) => { + const [, param] = node.params; + if (!param) { + return; } - }); - }, + const text = sourceCode.getText(param); + const variable = context + .getDeclaredVariables(node) + .find((variable) => variable.name === text); + if (!variable) { + return; + } + variable.references.forEach(({ identifier }) => { + const parent = getParent(identifier) as es.Node; + if (isCallExpression(parent) && identifier === parent.callee) { + checkRejection(parent); + } + }); + }, ThrowStatement: (node: es.ThrowStatement) => { if ( node.argument && diff --git a/source/rules/underscore-internal.ts b/source/rules/underscore-internal.ts index 0bff667..889d357 100644 --- a/source/rules/underscore-internal.ts +++ b/source/rules/underscore-internal.ts @@ -13,12 +13,12 @@ const rule = ruleCreator({ defaultOptions: [], meta: { docs: { - category: "Best Practices", description: "Forbids internal APIs that are not prefixed with underscores.", recommended: false, }, fixable: undefined, + hasSuggestions: false, messages: { forbidden: "Internal APIs not prefixed with underscores are forbidden.", }, @@ -45,7 +45,7 @@ const rule = ruleCreator({ checkDeclaration(node.id, esTreeNodeToTSNodeMap.get(node)); } }, - "ClassProperty[key.name=/^[^_]/]": (node: es.ClassProperty) => { + "PropertyDefinition[key.name=/^[^_]/]": (node: es.PropertyDefinition) => { if (isIdentifier(node.key)) { checkDeclaration(node.key, esTreeNodeToTSNodeMap.get(node)); } diff --git a/tests/rules/no-implicit-any-catch.ts b/tests/rules/no-implicit-any-catch.ts index 5bf8413..13df4f3 100644 --- a/tests/rules/no-implicit-any-catch.ts +++ b/tests/rules/no-implicit-any-catch.ts @@ -161,7 +161,7 @@ ruleTester({ types: true }).run("no-implicit-any-catch", rule, { // arrow; implicit any Promise.reject("Kaboom!").catch( (error) => console.error(error) - ~~~~~ [implicitAny] + ~~~~~ [implicitAny suggest] ); `, { @@ -189,7 +189,7 @@ ruleTester({ types: true }).run("no-implicit-any-catch", rule, { // arrow; no parentheses; implicit any Promise.reject("Kaboom!").catch( error => console.error(error) - ~~~~~ [implicitAny] + ~~~~~ [implicitAny suggest] ); `, { @@ -217,7 +217,7 @@ ruleTester({ types: true }).run("no-implicit-any-catch", rule, { // non-arrow; implicit any Promise.reject("Kaboom!").catch( function (error) { console.error(error); } - ~~~~~ [implicitAny] + ~~~~~ [implicitAny suggest] ); `, { @@ -245,7 +245,7 @@ ruleTester({ types: true }).run("no-implicit-any-catch", rule, { // arrow; explicit any; default option Promise.reject("Kaboom!").catch( (error: any) => console.error(error) - ~~~~~~~~~~ [explicitAny] + ~~~~~~~~~~ [explicitAny suggest] ); `, { @@ -273,7 +273,7 @@ ruleTester({ types: true }).run("no-implicit-any-catch", rule, { // non-arrow; explicit any; default option Promise.reject("Kaboom!").catch( function (error: any) { console.error(error); } - ~~~~~~~~~~ [explicitAny] + ~~~~~~~~~~ [explicitAny suggest] ); `, { @@ -301,7 +301,7 @@ ruleTester({ types: true }).run("no-implicit-any-catch", rule, { // arrow; explicit any; explicit option Promise.reject("Kaboom!").catch( (error: any) => console.error(error) - ~~~~~~~~~~ [explicitAny] + ~~~~~~~~~~ [explicitAny suggest] ); `, { @@ -330,7 +330,7 @@ ruleTester({ types: true }).run("no-implicit-any-catch", rule, { // non-arrow; explicit any; explicit option Promise.reject("Kaboom!").catch( function (error: any) { console.error(error); } - ~~~~~~~~~~ [explicitAny] + ~~~~~~~~~~ [explicitAny suggest] ); `, { @@ -378,7 +378,7 @@ ruleTester({ types: true }).run("no-implicit-any-catch", rule, { Promise.reject("Kaboom!").then( () => {}, (error) => console.error(error) - ~~~~~ [implicitAny] + ~~~~~ [implicitAny suggest] ); `, { @@ -409,7 +409,7 @@ ruleTester({ types: true }).run("no-implicit-any-catch", rule, { Promise.reject("Kaboom!").then( () => {}, error => console.error(error) - ~~~~~ [implicitAny] + ~~~~~ [implicitAny suggest] ); `, { @@ -440,7 +440,7 @@ ruleTester({ types: true }).run("no-implicit-any-catch", rule, { Promise.reject("Kaboom!").then( function () {}, function (error) { console.error(error); } - ~~~~~ [implicitAny] + ~~~~~ [implicitAny suggest] ); `, { @@ -471,7 +471,7 @@ ruleTester({ types: true }).run("no-implicit-any-catch", rule, { Promise.reject("Kaboom!").then( () => {}, (error: any) => console.error(error) - ~~~~~~~~~~ [explicitAny] + ~~~~~~~~~~ [explicitAny suggest] ); `, { @@ -502,7 +502,7 @@ ruleTester({ types: true }).run("no-implicit-any-catch", rule, { Promise.reject("Kaboom!").then( function () {}, function (error: any) { console.error(error); } - ~~~~~~~~~~ [explicitAny] + ~~~~~~~~~~ [explicitAny suggest] ); `, { @@ -533,7 +533,7 @@ ruleTester({ types: true }).run("no-implicit-any-catch", rule, { Promise.reject("Kaboom!").then( () => {}, (error: any) => console.error(error) - ~~~~~~~~~~ [explicitAny] + ~~~~~~~~~~ [explicitAny suggest] ); `, { @@ -565,7 +565,7 @@ ruleTester({ types: true }).run("no-implicit-any-catch", rule, { Promise.reject("Kaboom!").then( function () {}, function (error: any) { console.error(error); } - ~~~~~~~~~~ [explicitAny] + ~~~~~~~~~~ [explicitAny suggest] ); `, { diff --git a/tests/rules/prefer-interface.ts b/tests/rules/prefer-interface.ts index af01e68..629174d 100644 --- a/tests/rules/prefer-interface.ts +++ b/tests/rules/prefer-interface.ts @@ -180,7 +180,7 @@ ruleTester({ types: true }).run("prefer-interface", rule, { interface Name { name: string; } interface Age { age: number; } type T = Name & Age; - ~ [forbidden] + ~ [forbidden suggest] `, { options: [{ allowIntersection: false }], @@ -209,7 +209,7 @@ ruleTester({ types: true }).run("prefer-interface", rule, { interface Name { name: S; } interface Age { age: N; } type T = Name & Age; - ~ [forbidden] + ~ [forbidden suggest] `, { options: [{ allowIntersection: false }], @@ -237,7 +237,7 @@ ruleTester({ types: true }).run("prefer-interface", rule, { // interface-literal intersection interface Name { name: string; } type T = Name & { age: number; }; - ~ [forbidden] + ~ [forbidden suggest] `, { options: [{ allowIntersection: false }], @@ -263,7 +263,7 @@ ruleTester({ types: true }).run("prefer-interface", rule, { // literal-interface intersection interface Age { age: number; } type T = { name: string; } & Age; - ~ [forbidden] + ~ [forbidden suggest] `, { options: [{ allowIntersection: false }], @@ -290,7 +290,7 @@ ruleTester({ types: true }).run("prefer-interface", rule, { interface Name { name: string; } interface Role { role: string; } type T = Name & { age: number; } & Role; - ~ [forbidden] + ~ [forbidden suggest] `, { options: [{ allowIntersection: false }], diff --git a/tests/rules/prefer-less-than.ts b/tests/rules/prefer-less-than.ts index 3bfa84e..fe9269c 100644 --- a/tests/rules/prefer-less-than.ts +++ b/tests/rules/prefer-less-than.ts @@ -23,7 +23,7 @@ ruleTester({ types: false }).run("prefer-less-than", rule, { fromFixture( stripIndent` const result = 54 > 42; - ~~~~~~~ [forbiddenGT] + ~~~~~~~ [forbiddenGT suggest] `, { output: stripIndent` @@ -42,7 +42,7 @@ ruleTester({ types: false }).run("prefer-less-than", rule, { fromFixture( stripIndent` const result = 54 >= 42; - ~~~~~~~~ [forbiddenGTE] + ~~~~~~~~ [forbiddenGTE suggest] `, { output: stripIndent` @@ -61,7 +61,7 @@ ruleTester({ types: false }).run("prefer-less-than", rule, { fromFixture( stripIndent` const result = 54.0 > 42; - ~~~~~~~~~ [forbiddenGT] + ~~~~~~~~~ [forbiddenGT suggest] `, { output: stripIndent` @@ -80,7 +80,7 @@ ruleTester({ types: false }).run("prefer-less-than", rule, { fromFixture( stripIndent` const result = 54.0 >= 42; - ~~~~~~~~~~ [forbiddenGTE] + ~~~~~~~~~~ [forbiddenGTE suggest] `, { output: stripIndent` @@ -99,7 +99,7 @@ ruleTester({ types: false }).run("prefer-less-than", rule, { fromFixture( stripIndent` const result = 54 > 42.0; - ~~~~~~~~~ [forbiddenGT] + ~~~~~~~~~ [forbiddenGT suggest] `, { output: stripIndent` @@ -118,7 +118,7 @@ ruleTester({ types: false }).run("prefer-less-than", rule, { fromFixture( stripIndent` const result = 54 >= 42.0; - ~~~~~~~~~~ [forbiddenGTE] + ~~~~~~~~~~ [forbiddenGTE suggest] `, { output: stripIndent` @@ -137,7 +137,7 @@ ruleTester({ types: false }).run("prefer-less-than", rule, { fromFixture( stripIndent` if (x > a && x < b) { /* .. */ } - ~~~~~ [forbiddenGT] + ~~~~~ [forbiddenGT suggest] `, { output: stripIndent` @@ -156,7 +156,7 @@ ruleTester({ types: false }).run("prefer-less-than", rule, { fromFixture( stripIndent` if (x >= a && x <= b) { /* .. */ } - ~~~~~~ [forbiddenGTE] + ~~~~~~ [forbiddenGTE suggest] `, { output: stripIndent` diff --git a/yarn.lock b/yarn.lock index 4100aa0..b8834a9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,13 +2,6 @@ # yarn lockfile v1 -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - "@babel/code-frame@^7.0.0": version "7.15.8" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.15.8.tgz#45990c47adadb00c03677baa89221f7cc23d2503" @@ -21,7 +14,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== -"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": +"@babel/highlight@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== @@ -30,12 +23,12 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@cartant/eslint-config@^2.0.0": - version "2.1.10" - resolved "https://registry.yarnpkg.com/@cartant/eslint-config/-/eslint-config-2.1.10.tgz#0f55be8ebaec29c0b501e20a33d3312466d286d7" - integrity sha512-ladCKZYmSb1UDBcIhcHmLqhf6gmiXt8yMikD8NEP2kqL8vCoYqgA7Mn4+8mvMx7gh9rsHrIYePF+UGXavjB+4g== +"@cartant/eslint-config@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@cartant/eslint-config/-/eslint-config-3.0.0.tgz#5fd957406b071b9f60b24a7a43596081bdc519c1" + integrity sha512-KSJ88hP6dG/dSfE0Z+tNPB2rYI65d+99Hi9iyAiUeptiF8Ys6Xmqw+BiF0OLBHOfFX9ZZTuWyooroUqOSmO2gw== dependencies: - "@typescript-eslint/eslint-plugin" "^4.0.0" + "@typescript-eslint/eslint-plugin" "^5.0.0" eslint-plugin-import "^2.20.2" "@cspotcode/source-map-consumer@0.8.0": @@ -50,14 +43,14 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== +"@eslint/eslintrc@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.3.tgz#41f08c597025605f672251dcc4e8be66b5ed7366" + integrity sha512-DHI1wDPoKCBPoLZA3qDR91+3te/wDSc1YhKg3jR8NxKKRJq2hwHwcWv31cSwSYvIBrmbENoYMWcenW8uproQqg== dependencies: ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" + debug "^4.3.2" + espree "^9.0.0" globals "^13.9.0" ignore "^4.0.6" import-fresh "^3.2.1" @@ -65,10 +58,10 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== +"@humanwhocodes/config-array@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.6.0.tgz#b5621fdb3b32309d2d16575456cbc277fa8f021a" + integrity sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A== dependencies: "@humanwhocodes/object-schema" "^1.2.0" debug "^4.1.1" @@ -182,13 +175,13 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^4.0.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" - integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== +"@typescript-eslint/eslint-plugin@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.0.0.tgz#ecc7cc69d1e6f342beb6ea9cf9fbc02c97a212ac" + integrity sha512-T6V6fCD2U0YesOedvydTnrNtsC8E+c2QzpawIpDdlaObX0OX5dLo7tLU5c64FhTZvA1Xrdim+cXDI7NPsVx8Cg== dependencies: - "@typescript-eslint/experimental-utils" "4.33.0" - "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/experimental-utils" "5.0.0" + "@typescript-eslint/scope-manager" "5.0.0" debug "^4.3.1" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -196,61 +189,61 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/experimental-utils@4.33.0", "@typescript-eslint/experimental-utils@^4.0.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" - integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== +"@typescript-eslint/experimental-utils@5.0.0", "@typescript-eslint/experimental-utils@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.0.0.tgz#c7d7e67443dfb9fd93a5d060fb72c9e9b5638bbc" + integrity sha512-Dnp4dFIsZcPawD6CT1p5NibNUQyGSEz80sULJZkyhyna8AEqArmfwMwJPbmKzWVo4PabqNVzHYlzmcdLQWk+pg== dependencies: "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" + "@typescript-eslint/scope-manager" "5.0.0" + "@typescript-eslint/types" "5.0.0" + "@typescript-eslint/typescript-estree" "5.0.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/parser@^4.0.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" - integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== +"@typescript-eslint/parser@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.0.0.tgz#50d1be2e0def82d73e863cceba74aeeac9973592" + integrity sha512-B6D5rmmQ14I1fdzs71eL3DAuvnPHTY/t7rQABrL9BLnx/H51Un8ox1xqYAchs0/V2trcoyxB1lMJLlrwrJCDgw== dependencies: - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" + "@typescript-eslint/scope-manager" "5.0.0" + "@typescript-eslint/types" "5.0.0" + "@typescript-eslint/typescript-estree" "5.0.0" debug "^4.3.1" -"@typescript-eslint/scope-manager@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" - integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== +"@typescript-eslint/scope-manager@5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.0.0.tgz#aea0fb0e2480c1169a02e89d9005ac3f2835713f" + integrity sha512-5RFjdA/ain/MDUHYXdF173btOKncIrLuBmA9s6FJhzDrRAyVSA+70BHg0/MW6TE+UiKVyRtX91XpVS0gVNwVDQ== dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" + "@typescript-eslint/types" "5.0.0" + "@typescript-eslint/visitor-keys" "5.0.0" -"@typescript-eslint/types@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" - integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== +"@typescript-eslint/types@5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.0.0.tgz#25d93f6d269b2d25fdc51a0407eb81ccba60eb0f" + integrity sha512-dU/pKBUpehdEqYuvkojmlv0FtHuZnLXFBn16zsDmlFF3LXkOpkAQ2vrKc3BidIIve9EMH2zfTlxqw9XM0fFN5w== -"@typescript-eslint/typescript-estree@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" - integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== +"@typescript-eslint/typescript-estree@5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.0.0.tgz#bc20f413c6e572c7309dbe5fa3be027984952af3" + integrity sha512-V/6w+PPQMhinWKSn+fCiX5jwvd1vRBm7AX7SJQXEGQtwtBvjMPjaU3YTQ1ik2UF1u96X7tsB96HMnulG3eLi9Q== dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" + "@typescript-eslint/types" "5.0.0" + "@typescript-eslint/visitor-keys" "5.0.0" debug "^4.3.1" globby "^11.0.3" is-glob "^4.0.1" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/visitor-keys@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" - integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== +"@typescript-eslint/visitor-keys@5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.0.0.tgz#b789f7cd105e59bee5c0983a353942a5a48f56df" + integrity sha512-yRyd2++o/IrJdyHuYMxyFyBhU762MRHQ/bAGQeTnN3pGikfh+nEmM61XTqaDH1XDp53afZ+waXrk0ZvenoZ6xw== dependencies: - "@typescript-eslint/types" "4.33.0" - eslint-visitor-keys "^2.0.0" + "@typescript-eslint/types" "5.0.0" + eslint-visitor-keys "^3.0.0" "@ungap/promise-all-settled@1.1.2": version "1.1.2" @@ -267,12 +260,7 @@ acorn-walk@^8.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.4.1: +acorn@^8.4.1, acorn@^8.5.0: version "8.5.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== @@ -295,16 +283,6 @@ ajv@^6.10.0, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.1: - version "8.6.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.3.tgz#11a66527761dc3e9a3845ea775d2d3c0414e8764" - integrity sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - ansi-colors@4.1.1, ansi-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -569,7 +547,7 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -debug@4.3.2, debug@^4.0.1, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: +debug@4.3.2, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== @@ -707,12 +685,12 @@ escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -eslint-etc@^4.0.4: - version "4.2.6" - resolved "https://registry.yarnpkg.com/eslint-etc/-/eslint-etc-4.2.6.tgz#e81425652a621223cb0c07b5b72c1ee50f34d37c" - integrity sha512-/gg8U0SgBz6OQ2QKsvhmSF1WTL53nSD5qYHx/reNPnaKAUfH6qR0AIZQ7NNCRRSICRFagqf1nO8A7WmRFwcAJQ== +eslint-etc@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eslint-etc/-/eslint-etc-5.0.1.tgz#c2caa5993cafb82fd6b57994a0ad231d7b0fe207" + integrity sha512-QfRKA46LdQTOT7T0rwZJJ2kirGJSP49GgyrtxRMaFF+m04efkqDYxfrhImpP1a/gh/XQzfWBvbU2Qr2vLJk4wQ== dependencies: - "@typescript-eslint/experimental-utils" "^4.0.0" + "@typescript-eslint/experimental-utils" "^5.0.0" tsutils "^3.17.1" tsutils-etc "^1.3.4" @@ -760,12 +738,13 @@ eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== +eslint-scope@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-6.0.0.tgz#9cf45b13c5ac8f3d4c50f46a5121f61b3e318978" + integrity sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA== dependencies: - eslint-visitor-keys "^1.1.0" + esrecurse "^4.3.0" + estraverse "^5.2.0" eslint-utils@^3.0.0: version "3.0.0" @@ -774,47 +753,46 @@ eslint-utils@^3.0.0: dependencies: eslint-visitor-keys "^2.0.0" -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - eslint-visitor-keys@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint@^7.0.0: - version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== +eslint-visitor-keys@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.0.0.tgz#e32e99c6cdc2eb063f204eda5db67bfe58bb4186" + integrity sha512-mJOZa35trBTb3IyRmo8xmKBZlxf+N7OnUl4+ZhJHs/r+0770Wh/LEACE2pqMGMe27G/4y8P2bYGk4J70IC5k1Q== + +eslint@^8.0.0: + version "8.0.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.0.1.tgz#3610e7fe4a05c2154669515ca60835a76a19f700" + integrity sha512-LsgcwZgQ72vZ+SMp4K6pAnk2yFDWL7Ti4pJaRvsZ0Hsw2h8ZjUIW38a9AFn2cZXdBMlScMFYYgsSp4ttFI/0bA== dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" + "@eslint/eslintrc" "^1.0.3" + "@humanwhocodes/config-array" "^0.6.0" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" - debug "^4.0.1" + debug "^4.3.2" doctrine "^3.0.0" enquirer "^2.3.5" escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" + eslint-scope "^6.0.0" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.0.0" + espree "^9.0.0" esquery "^1.4.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" + glob-parent "^6.0.1" globals "^13.6.0" ignore "^4.0.6" import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - js-yaml "^3.13.1" + js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" @@ -822,22 +800,21 @@ eslint@^7.0.0: natural-compare "^1.4.0" optionator "^0.9.1" progress "^2.0.0" - regexpp "^3.1.0" + regexpp "^3.2.0" semver "^7.2.1" strip-ansi "^6.0.0" strip-json-comments "^3.1.0" - table "^6.0.9" text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== +espree@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.0.0.tgz#e90a2965698228502e771c7a58489b1a9d107090" + integrity sha512-r5EQJcYZ2oaGbeR0jR0fFVijGOcwai07/690YRXLINuhmVeRY4UKSAsQPe/0BNuDgwP7Ophoc1PRsr2E3tkbdQ== dependencies: - acorn "^7.4.0" + acorn "^8.5.0" acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" + eslint-visitor-keys "^3.0.0" esprima@^4.0.0: version "4.0.1" @@ -1027,6 +1004,13 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + glob@7.1.7: version "7.1.7" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" @@ -1323,7 +1307,7 @@ js-tokens@^4.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@4.1.0: +js-yaml@4.1.0, js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== @@ -1348,11 +1332,6 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" @@ -1426,21 +1405,11 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - log-symbols@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" @@ -1773,7 +1742,7 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -regexpp@^3.1.0: +regexpp@^3.1.0, regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== @@ -1783,11 +1752,6 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - requireindex@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.2.0.tgz#3463cdb22ee151902635aa6c9535d4de9c2ef1ef" @@ -1923,7 +1887,7 @@ string-argv@0.3.1: resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -2000,18 +1964,6 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -table@^6.0.9: - version "6.7.2" - resolved "https://registry.yarnpkg.com/table/-/table-6.7.2.tgz#a8d39b9f5966693ca8b0feba270a78722cbaf3b0" - integrity sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g== - dependencies: - ajv "^8.0.1" - lodash.clonedeep "^4.5.0" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"