Added no unused rule to lint (#517)

* Added linting rule about no unused variables

* Removed all unused warnings

* Removed unused from tests

* Updated package.json

* Added default case

Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>
This commit is contained in:
Andreas Arvidsson 2022-02-13 14:36:00 +01:00 committed by GitHub
parent 029ef345f4
commit a805f8e055
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 236 additions and 199 deletions

View File

@ -11,6 +11,14 @@
"rules": {
"@typescript-eslint/naming-convention": "warn",
"@typescript-eslint/semi": "warn",
"@typescript-eslint/no-unused-vars": [
"warn",
{
"argsIgnorePattern": "^_",
"varsIgnorePattern": "^_",
"ignoreRestSiblings": true
}
],
"curly": "warn",
"eqeqeq": [
"warn",

View File

@ -487,8 +487,8 @@
"@types/semver": "^7.3.9",
"@types/sinon": "^10.0.2",
"@types/vscode": "^1.61.0",
"@typescript-eslint/eslint-plugin": "^4.9.0",
"@typescript-eslint/parser": "^4.9.0",
"@typescript-eslint/eslint-plugin": "^5.11.0",
"@typescript-eslint/parser": "^5.11.0",
"esbuild": "^0.11.12",
"eslint": "^7.15.0",
"fast-xml-parser": "^3.20.0",

View File

@ -62,13 +62,13 @@ class FoldAction implements Action {
}
export class Fold extends FoldAction {
constructor(graph: Graph) {
constructor(_graph: Graph) {
super("editor.fold");
}
}
export class Unfold extends FoldAction {
constructor(graph: Graph) {
constructor(_graph: Graph) {
super("editor.unfold");
}
}

View File

@ -9,7 +9,6 @@ import {
SelectionWithContext,
TypedSelection,
} from "../typings/Types";
import { repeat } from "../util/array";
import displayPendingEditDecorations from "../util/editDisplayUtils";
import { runForEachEditor } from "../util/targetUtils";

View File

@ -1,4 +1,4 @@
import { pull, some } from "lodash";
import { pull } from "lodash";
import {
workspace,
TextDocument,
@ -6,7 +6,7 @@ import {
Disposable,
TextDocumentContentChangeEvent,
} from "vscode";
import { Edit, Graph } from "../../typings/Types";
import { Edit } from "../../typings/Types";
import {
ExtendedTextDocumentChangeEvent,
FullRangeInfo,
@ -19,7 +19,7 @@ export class RangeUpdater {
private replaceEditLists: Map<string, Edit[][]> = new Map();
private disposable!: Disposable;
constructor(graph: Graph) {
constructor() {
this.listenForDocumentChanges();
}

View File

@ -36,7 +36,7 @@ export default function getOffsetsForNonEmptyRangeInsert(
rangeInfo: FullRangeInfo
): RangeOffsets {
const {
event: { text: insertedText, isReplace },
event: { text: insertedText },
originalOffsets: { start: insertOffset },
displacement,
} = changeEventInfo;

View File

@ -44,17 +44,14 @@ export async function activate(context: vscode.ExtensionContext) {
);
// TODO: Do this using the graph once we migrate its dependencies onto the graph
const commandRunner = new CommandRunner(
graph,
thatMark,
sourceMark,
testCaseRecorder
);
new CommandRunner(graph, thatMark, sourceMark, testCaseRecorder);
// Disabled for now.
// See https://github.com/cursorless-dev/cursorless-vscode/issues/320
// vscode.workspace.onDidChangeTextDocument(checkForEditsOutsideViewport)
function checkForEditsOutsideViewport(event: vscode.TextDocumentChangeEvent) {
function _checkForEditsOutsideViewport(
event: vscode.TextDocumentChangeEvent
) {
// TODO: Only activate this code during the course of a cursorless action
// Can register pre/post command hooks the way we do with test case recorder
// TODO: Move this thing to a graph component

View File

@ -12,7 +12,7 @@ import {
} from "../typings/Types";
import { SyntaxNode } from "web-tree-sitter";
import { delimitedSelector } from "../util/nodeSelectors";
import { flow, identity } from "lodash";
import { identity } from "lodash";
import { getChildNodesForFieldName } from "../util/treeSitterUtils";
import { patternFinder } from "../util/nodeFinders";

View File

@ -44,7 +44,7 @@ const textFragmentTypes = ["attribute_value", "raw_text", "text"];
export function stringTextFragmentExtractor(
node: SyntaxNode,
selection: SelectionWithEditor
_selection: SelectionWithEditor
) {
if (textFragmentTypes.includes(node.type)) {
return getNodeRange(node);

View File

@ -25,7 +25,7 @@ export const patternMatchers = createPatternMatchers(nodeMatchers);
export function stringTextFragmentExtractor(
node: SyntaxNode,
selection: SelectionWithEditor
_selection: SelectionWithEditor
) {
if (node.type === "string_content") {
return getNodeRange(node);

View File

@ -3,53 +3,66 @@ import {
argumentMatcher,
leadingMatcher,
conditionMatcher,
trailingMatcher,
cascadingMatcher,
} from '../util/nodeMatchers';
import { NodeMatcherAlternative, ScopeType } from '../typings/Types';
} from "../util/nodeMatchers";
import { NodeMatcherAlternative, ScopeType } from "../typings/Types";
const nodeMatchers: Partial<Record<ScopeType, NodeMatcherAlternative>> = {
// treating classes = classlike
class: ['class_definition', 'object_definition', 'trait_definition'],
className: ['class_definition[name]', 'object_definition[name]', 'trait_definition[name]'],
class: ["class_definition", "object_definition", "trait_definition"],
className: [
"class_definition[name]",
"object_definition[name]",
"trait_definition[name]",
],
ifStatement: 'if_expression',
ifStatement: "if_expression",
string: ['interpolated_string_expression', 'string'],
comment: 'comment',
string: ["interpolated_string_expression", "string"],
comment: "comment",
// list.size(), does not count foo.size (field_expression), or foo size (postfix_expression)
functionCall: 'call_expression',
namedFunction: 'function_definition',
anonymousFunction: 'lambda_expression',
functionCall: "call_expression",
namedFunction: "function_definition",
anonymousFunction: "lambda_expression",
argumentOrParameter: argumentMatcher('arguments', 'parameters', 'class_parameters', 'bindings'),
argumentOrParameter: argumentMatcher(
"arguments",
"parameters",
"class_parameters",
"bindings"
),
name: ['*[name]', '*[pattern]'],
functionName: 'function_definition[name]',
name: ["*[name]", "*[pattern]"],
functionName: "function_definition[name]",
// *[type] does not work here because while we want most of these we don't want "compound" types,
// eg `generic_type[type]`, because that will grab just the inner generic (the String of List[String])
// and as a rule we want to grab entire type definitions.
type: leadingMatcher([
'upper_bound[type]',
'lower_bound[type]',
'view_bound[type]',
'context_bound[type]',
'val_definition[type]',
'val_declaration[type]',
'var_definition[type]',
'var_declaration[type]',
'type_definition',
'extends_clause[type]',
'class_parameter[type]',
'parameter[type]',
'function_definition[return_type]',
'typed_pattern[type]',
'binding[type]',
], [':']),
value: leadingMatcher(['*[value]', '*[default_value]', 'type_definition[type]'], ['=']),
condition: conditionMatcher('*[condition]'),
type: leadingMatcher(
[
"upper_bound[type]",
"lower_bound[type]",
"view_bound[type]",
"context_bound[type]",
"val_definition[type]",
"val_declaration[type]",
"var_definition[type]",
"var_declaration[type]",
"type_definition",
"extends_clause[type]",
"class_parameter[type]",
"parameter[type]",
"function_definition[return_type]",
"typed_pattern[type]",
"binding[type]",
],
[":"]
),
value: leadingMatcher(
["*[value]", "*[default_value]", "type_definition[type]"],
["="]
),
condition: conditionMatcher("*[condition]"),
// Scala features unsupported in Cursorless terminology
// - Pattern matching

View File

@ -11,7 +11,6 @@ import {
import {
NodeMatcher,
NodeMatcherAlternative,
NodeMatcherValue,
ScopeType,
SelectionWithEditor,
} from "../typings/Types";
@ -243,7 +242,7 @@ export const patternMatchers = createPatternMatchers(nodeMatchers);
export function stringTextFragmentExtractor(
node: SyntaxNode,
selection: SelectionWithEditor
_selection: SelectionWithEditor
) {
if (node.type === "string_fragment" || node.type === "regex_pattern") {
return getNodeRange(node);

View File

@ -10,7 +10,6 @@ import {
NodeMatcher,
PrimitiveTarget,
ProcessedTargetsContext,
RawSelectionModifier,
SelectionContext,
SelectionWithEditor,
SubTokenModifier,
@ -55,12 +54,12 @@ export default function (
break;
case "toRawSelection":
result = processRawSelectionModifier(context, selection, modifier);
result = processRawSelectionModifier(context, selection);
break;
default:
// Make sure we haven't missed any cases
const neverCheck: never = modifier;
const _neverCheck: never = modifier;
}
if (result == null) {
@ -245,8 +244,7 @@ export function findNearestContainingAncestorNode(
function processRawSelectionModifier(
context: ProcessedTargetsContext,
selection: SelectionWithEditor,
modifier: RawSelectionModifier
selection: SelectionWithEditor
): SelectionWithEditorWithContext[] | null {
return [
{

View File

@ -16,7 +16,6 @@ import {
SurroundingPairOffsets,
PossibleDelimiterOccurrence,
IndividualDelimiter,
DelimiterSide,
} from "./types";
/**

View File

@ -1,4 +1,3 @@
import { result } from "lodash";
import { Range, Selection } from "vscode";
import {
DecoratedSymbol,
@ -134,10 +133,7 @@ function processDecoratedSymbol(
context: ProcessedTargetsContext,
mark: DecoratedSymbol
) {
const token = context.hatTokenMap.getToken(
mark.symbolColor,
mark.character
);
const token = context.hatTokenMap.getToken(mark.symbolColor, mark.character);
if (token == null) {
throw new Error(
`Couldn't find mark ${mark.symbolColor} '${mark.character}'`

View File

@ -122,7 +122,7 @@ function processDocument(
function processLine(
target: PrimitiveTarget,
selection: SelectionWithEditor,
selectionContext: SelectionContext
_selectionContext: SelectionContext
) {
const { selectionType, insideOutsideType, position } = target;
const { document } = selection.editor;
@ -148,7 +148,7 @@ function processLine(
function processParagraph(
target: PrimitiveTarget,
selection: SelectionWithEditor,
selectionContext: SelectionContext
_selectionContext: SelectionContext
) {
const { selectionType, insideOutsideType, position } = target;
const { document } = selection.editor;

View File

@ -1,7 +1,6 @@
/**
* This script can be used to add hat tweaks to the currently shipping ones
*/
import { sum } from "lodash";
import { HAT_SHAPES } from "../../core/constants";
import {
defaultShapeAdjustments,
@ -74,7 +73,3 @@ function main() {
}
main();
function average(numbers: number[]) {
return sum(numbers) / numbers.length;
}

View File

@ -1,5 +1,5 @@
import * as parser from "fast-xml-parser";
import { promises as fsp, read, readdirSync } from "fs";
import { promises as fsp, readdirSync } from "fs";
import * as path from "path";
async function main() {

View File

@ -1,6 +1,3 @@
import * as path from "path";
import { walkFilesSync } from "../../testUtil/walkSync";
import { updateSurroundingPairTest } from "./transformations/updateSurroundingPairTest";
import { FixtureTransformation } from "./types";
import { upgrade } from "./transformations/upgrade";

View File

@ -2,7 +2,7 @@ import * as assert from "assert";
import * as vscode from "vscode";
import * as sinon from "sinon";
import { getCursorlessApi } from "../../util/getExtensionApi";
import { openNewEditor, openNewNotebookEditor } from "../openNewEditor";
import { openNewNotebookEditor } from "../openNewEditor";
import sleep from "../../util/sleep";
// Check that setSelection is able to focus the correct cell

View File

@ -1,7 +1,6 @@
import * as assert from "assert";
import * as vscode from "vscode";
import * as sinon from "sinon";
import { getCursorlessApi } from "../../util/getExtensionApi";
import { openNewEditor } from "../openNewEditor";
suite("fold", async function () {
@ -17,7 +16,6 @@ suite("fold", async function () {
});
async function foldMade() {
const graph = (await getCursorlessApi()).graph!;
const editor = await openNewEditor("function myFunk() {\n\n}", "typescript");
await vscode.commands.executeCommand(
@ -42,7 +40,6 @@ async function foldMade() {
}
async function unfoldMade() {
const graph = (await getCursorlessApi()).graph!;
const editor = await openNewEditor("function myFunk() {\n\n}", "typescript");
await vscode.commands.executeCommand("editor.fold", {
selectionLines: [0],

View File

@ -1,7 +1,6 @@
import * as assert from "assert";
import serialize from "../../testUtil/serialize";
import { promises as fsp } from "fs";
import * as path from "path";
import * as yaml from "js-yaml";
import * as vscode from "vscode";
import { TestCaseFixture } from "../../testUtil/TestCase";

View File

@ -1,7 +1,6 @@
import * as assert from "assert";
import * as vscode from "vscode";
import * as sinon from "sinon";
import { getCursorlessApi } from "../../util/getExtensionApi";
import { openNewEditor } from "../openNewEditor";
suite("scroll", async function () {
@ -17,7 +16,6 @@ suite("scroll", async function () {
});
async function topWhale() {
const graph = (await getCursorlessApi()).graph!;
const editor = await openNewEditor("hello\nworld");
editor.selections = [new vscode.Selection(1, 0, 1, 0)];
@ -40,7 +38,6 @@ async function topWhale() {
}
async function bottomWhale() {
const graph = (await getCursorlessApi()).graph!;
const editor = await openNewEditor("hello\nworld");
await vscode.commands.executeCommand("revealLine", {
lineNumber: 1,

View File

@ -4,7 +4,7 @@ import { SUBWORD_MATCHER } from "../../core/constants";
import { subtokenFixture } from "./fixtures/subtoken.fixture";
suite("subtoken regex matcher", () => {
subtokenFixture.forEach(({ input, expectedOutput }, index) => {
subtokenFixture.forEach(({ input, expectedOutput }) => {
test(input, () => {
assert.deepStrictEqual(input.match(SUBWORD_MATCHER), expectedOutput);
});

View File

@ -1,7 +1,6 @@
import * as vscode from "vscode";
import HatTokenMap from "../core/HatTokenMap";
import { ThatMark } from "../core/ThatMark";
import { ActionType, PartialTarget, Target, Token } from "../typings/Types";
import { Target, Token } from "../typings/Types";
import {
extractTargetedMarks,
extractTargetKeys,

View File

@ -1,4 +1,3 @@
import { HatStyleName } from "../core/constants";
import { ReadOnlyHatMap } from "../core/IndividualHatMap";
import HatTokenMap from "../core/HatTokenMap";
import { PrimitiveTarget, Target, Token } from "../typings/Types";

View File

@ -7,6 +7,7 @@ type ObjectKeys<T> = T extends object
? string[]
: never;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
interface ObjectConstructor {
keys<T>(o: T): ObjectKeys<T>;
}

View File

@ -48,7 +48,7 @@ export function canonicalizeAndValidateCommand(
const partialTargets = canonicalizeTargets(inputPartialTargets);
const extraArgs = inputExtraArgs;
validateCommand(actionName, partialTargets, extraArgs);
validateCommand(actionName, partialTargets);
return {
...rest,
@ -62,8 +62,7 @@ export function canonicalizeAndValidateCommand(
export function validateCommand(
actionName: ActionType,
partialTargets: PartialTarget[],
extraArgs: any[]
partialTargets: PartialTarget[]
) {
if (
usesSelectionType("notebookCell", partialTargets) &&

View File

@ -1,6 +1,5 @@
import * as vscode from "vscode";
import { tokenize, TOKEN_MATCHER } from "../core/tokenizer";
import { Token } from "../typings/Types";
import { tokenize } from "../core/tokenizer";
import { RangeOffsets } from "../typings/updateSelections";
export interface PartialToken {

View File

@ -140,8 +140,8 @@ export function cascadingMatcher(...matchers: NodeMatcher[]): NodeMatcher {
}
export const notSupported: NodeMatcher = (
selection: SelectionWithEditor,
node: SyntaxNode
_selection: SelectionWithEditor,
_node: SyntaxNode
) => {
throw new Error("Node type not supported");
};

View File

@ -1,11 +1,5 @@
import { range } from "lodash";
import {
commands,
Selection,
TextEditor,
ViewColumn,
window,
} from "vscode";
import { commands, Selection, TextEditor, ViewColumn, window } from "vscode";
import { getCellIndex, getNotebookFromCellDocument } from "./notebook";
const columnFocusCommands = {
@ -84,7 +78,7 @@ export async function focusEditor(editor: TextEditor) {
// This is a hack. We just repeatedly issued the command to move upwards or
// downwards a cell to get to the right cell
for (const index of range(Math.abs(cellOffset))) {
for (const _ of range(Math.abs(cellOffset))) {
await commands.executeCommand(command);
}
}

242
yarn.lock
View File

@ -106,10 +106,10 @@
resolved "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.2.tgz"
integrity sha512-KbeHS/Y4R+k+5sWXEYzAZKuB1yQlZtEghuhRxrVRLaqhtoG5+26JwQsa4HyS3AWX8v1Uwukma5HheduUDskasA==
"@types/json-schema@^7.0.3":
version "7.0.7"
resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz"
integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==
"@types/json-schema@^7.0.9":
version "7.0.9"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d"
integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==
"@types/lodash@^4.14.168":
version "4.14.168"
@ -153,75 +153,85 @@
resolved "https://registry.yarnpkg.com/@types/vscode/-/vscode-1.62.0.tgz#b4d6d192d5aeb75e91d0adef689c3ecef9879da7"
integrity sha512-iGlQJ1w5e3qPUryroO6v4lxg3ql1ztdTCwQW3xEwFawdyPLoeUSv48SYfMwc7kQA7h6ThUqflZIjgKAykeF9oA==
"@typescript-eslint/eslint-plugin@^4.9.0":
version "4.15.0"
resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.0.tgz"
integrity sha512-DJgdGZW+8CFUTz5C/dnn4ONcUm2h2T0itWD85Ob5/V27Ndie8hUoX5HKyGssvR8sUMkAIlUc/AMK67Lqa3kBIQ==
"@typescript-eslint/eslint-plugin@^5.11.0":
version "5.11.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.11.0.tgz#3b866371d8d75c70f9b81535e7f7d3aa26527c7a"
integrity sha512-HJh33bgzXe6jGRocOj4FmefD7hRY4itgjzOrSs3JPrTNXsX7j5+nQPciAUj/1nZtwo2kAc3C75jZO+T23gzSGw==
dependencies:
"@typescript-eslint/experimental-utils" "4.15.0"
"@typescript-eslint/scope-manager" "4.15.0"
debug "^4.1.1"
"@typescript-eslint/scope-manager" "5.11.0"
"@typescript-eslint/type-utils" "5.11.0"
"@typescript-eslint/utils" "5.11.0"
debug "^4.3.2"
functional-red-black-tree "^1.0.1"
lodash "^4.17.15"
regexpp "^3.0.0"
semver "^7.3.2"
tsutils "^3.17.1"
ignore "^5.1.8"
regexpp "^3.2.0"
semver "^7.3.5"
tsutils "^3.21.0"
"@typescript-eslint/experimental-utils@4.15.0":
version "4.15.0"
resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.0.tgz"
integrity sha512-V4vaDWvxA2zgesg4KPgEGiomWEBpJXvY4ZX34Y3qxK8LUm5I87L+qGIOTd9tHZOARXNRt9pLbblSKiYBlGMawg==
"@typescript-eslint/parser@^5.11.0":
version "5.11.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.11.0.tgz#b4fcaf65513f9b34bdcbffdda055724a5efb7e04"
integrity sha512-x0DCjetHZYBRovJdr3U0zG9OOdNXUaFLJ82ehr1AlkArljJuwEsgnud+Q7umlGDFLFrs8tU8ybQDFocp/eX8mQ==
dependencies:
"@types/json-schema" "^7.0.3"
"@typescript-eslint/scope-manager" "4.15.0"
"@typescript-eslint/types" "4.15.0"
"@typescript-eslint/typescript-estree" "4.15.0"
eslint-scope "^5.0.0"
eslint-utils "^2.0.0"
"@typescript-eslint/scope-manager" "5.11.0"
"@typescript-eslint/types" "5.11.0"
"@typescript-eslint/typescript-estree" "5.11.0"
debug "^4.3.2"
"@typescript-eslint/parser@^4.9.0":
version "4.15.0"
resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.15.0.tgz"
integrity sha512-L6Dtbq8Bc7g2aZwnIBETpmUa9XDKCMzKVwAArnGp5Mn7PRNFjf3mUzq8UeBjL3K8t311hvevnyqXAMSmxO8Gpg==
"@typescript-eslint/scope-manager@5.11.0":
version "5.11.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.11.0.tgz#f5aef83ff253f457ecbee5f46f762298f0101e4b"
integrity sha512-z+K4LlahDFVMww20t/0zcA7gq/NgOawaLuxgqGRVKS0PiZlCTIUtX0EJbC0BK1JtR4CelmkPK67zuCgpdlF4EA==
dependencies:
"@typescript-eslint/scope-manager" "4.15.0"
"@typescript-eslint/types" "4.15.0"
"@typescript-eslint/typescript-estree" "4.15.0"
debug "^4.1.1"
"@typescript-eslint/types" "5.11.0"
"@typescript-eslint/visitor-keys" "5.11.0"
"@typescript-eslint/scope-manager@4.15.0":
version "4.15.0"
resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.15.0.tgz"
integrity sha512-CSNBZnCC2jEA/a+pR9Ljh8Y+5TY5qgbPz7ICEk9WCpSEgT6Pi7H2RIjxfrrbUXvotd6ta+i27sssKEH8Azm75g==
"@typescript-eslint/type-utils@5.11.0":
version "5.11.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.11.0.tgz#58be0ba73d1f6ef8983d79f7f0bc2209b253fefe"
integrity sha512-wDqdsYO6ofLaD4DsGZ0jGwxp4HrzD2YKulpEZXmgN3xo4BHJwf7kq49JTRpV0Gx6bxkSUmc9s0EIK1xPbFFpIA==
dependencies:
"@typescript-eslint/types" "4.15.0"
"@typescript-eslint/visitor-keys" "4.15.0"
"@typescript-eslint/utils" "5.11.0"
debug "^4.3.2"
tsutils "^3.21.0"
"@typescript-eslint/types@4.15.0":
version "4.15.0"
resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.15.0.tgz"
integrity sha512-su4RHkJhS+iFwyqyXHcS8EGPlUVoC+XREfy5daivjLur9JP8GhvTmDipuRpcujtGC4M+GYhUOJCPDE3rC5NJrg==
"@typescript-eslint/types@5.11.0":
version "5.11.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.11.0.tgz#ba345818a2540fdf2755c804dc2158517ab61188"
integrity sha512-cxgBFGSRCoBEhvSVLkKw39+kMzUKHlJGVwwMbPcTZX3qEhuXhrjwaZXWMxVfxDgyMm+b5Q5b29Llo2yow8Y7xQ==
"@typescript-eslint/typescript-estree@4.15.0":
version "4.15.0"
resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.0.tgz"
integrity sha512-jG6xTmcNbi6xzZq0SdWh7wQ9cMb2pqXaUp6bUZOMsIlu5aOlxGxgE/t6L/gPybybQGvdguajXGkZKSndZJpksA==
"@typescript-eslint/typescript-estree@5.11.0":
version "5.11.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.11.0.tgz#53f9e09b88368191e52020af77c312a4777ffa43"
integrity sha512-yVH9hKIv3ZN3lw8m/Jy5I4oXO4ZBMqijcXCdA4mY8ull6TPTAoQnKKrcZ0HDXg7Bsl0Unwwx7jcXMuNZc0m4lg==
dependencies:
"@typescript-eslint/types" "4.15.0"
"@typescript-eslint/visitor-keys" "4.15.0"
debug "^4.1.1"
globby "^11.0.1"
is-glob "^4.0.1"
semver "^7.3.2"
tsutils "^3.17.1"
"@typescript-eslint/types" "5.11.0"
"@typescript-eslint/visitor-keys" "5.11.0"
debug "^4.3.2"
globby "^11.0.4"
is-glob "^4.0.3"
semver "^7.3.5"
tsutils "^3.21.0"
"@typescript-eslint/visitor-keys@4.15.0":
version "4.15.0"
resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.0.tgz"
integrity sha512-RnDtJwOwFucWFAMjG3ghCG/ikImFJFEg20DI7mn4pHEx3vC48lIAoyjhffvfHmErRDboUPC7p9Z2il4CLb7qxA==
"@typescript-eslint/utils@5.11.0":
version "5.11.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.11.0.tgz#d91548ef180d74c95d417950336d9260fdbe1dc5"
integrity sha512-g2I480tFE1iYRDyMhxPAtLQ9HAn0jjBtipgTCZmd9I9s11OV8CTsG+YfFciuNDcHqm4csbAgC2aVZCHzLxMSUw==
dependencies:
"@typescript-eslint/types" "4.15.0"
eslint-visitor-keys "^2.0.0"
"@types/json-schema" "^7.0.9"
"@typescript-eslint/scope-manager" "5.11.0"
"@typescript-eslint/types" "5.11.0"
"@typescript-eslint/typescript-estree" "5.11.0"
eslint-scope "^5.1.1"
eslint-utils "^3.0.0"
"@typescript-eslint/visitor-keys@5.11.0":
version "5.11.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.11.0.tgz#888542381f1a2ac745b06d110c83c0b261487ebb"
integrity sha512-E8w/vJReMGuloGxJDkpPlGwhxocxOpSVgSvjiLO5IxZPmxZF30weOeJYyPSEACwM+X4NziYS9q+WkN/2DHYQwA==
dependencies:
"@typescript-eslint/types" "5.11.0"
eslint-visitor-keys "^3.0.0"
"@ungap/promise-all-settled@1.1.2":
version "1.1.2"
@ -535,6 +545,13 @@ debug@4.3.1, debug@^4.0.1, debug@^4.1.1:
dependencies:
ms "2.1.2"
debug@^4.3.2:
version "4.3.3"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
dependencies:
ms "2.1.2"
debuglog@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
@ -616,7 +633,7 @@ escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.5:
resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
eslint-scope@^5.0.0, eslint-scope@^5.1.1:
eslint-scope@^5.1.1:
version "5.1.1"
resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz"
integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
@ -624,13 +641,20 @@ eslint-scope@^5.0.0, eslint-scope@^5.1.1:
esrecurse "^4.3.0"
estraverse "^4.1.1"
eslint-utils@^2.0.0, eslint-utils@^2.1.0:
eslint-utils@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz"
integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
dependencies:
eslint-visitor-keys "^1.1.0"
eslint-utils@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
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.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz"
@ -641,6 +665,11 @@ eslint-visitor-keys@^2.0.0:
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz"
integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
eslint-visitor-keys@^3.0.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
eslint@^7.15.0:
version "7.20.0"
resolved "https://registry.npmjs.org/eslint/-/eslint-7.20.0.tgz"
@ -732,17 +761,16 @@ fast-deep-equal@^3.1.1:
resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
fast-glob@^3.1.1:
version "3.2.5"
resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz"
integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==
fast-glob@^3.2.9:
version "3.2.11"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
dependencies:
"@nodelib/fs.stat" "^2.0.2"
"@nodelib/fs.walk" "^1.2.3"
glob-parent "^5.1.0"
glob-parent "^5.1.2"
merge2 "^1.3.0"
micromatch "^4.0.2"
picomatch "^2.2.1"
micromatch "^4.0.4"
fast-json-stable-stringify@^2.0.0:
version "2.1.0"
@ -848,13 +876,20 @@ github-url-from-username-repo@^1.0.0:
resolved "https://registry.yarnpkg.com/github-url-from-username-repo/-/github-url-from-username-repo-1.0.2.tgz#7dd79330d2abe69c10c2cef79714c97215791dfa"
integrity sha1-fdeTMNKr5pwQws73lxTJchV5Hfo=
glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0:
glob-parent@^5.0.0, glob-parent@~5.1.0:
version "5.1.1"
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz"
integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
dependencies:
is-glob "^4.0.1"
glob-parent@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
dependencies:
is-glob "^4.0.1"
glob@7.1.6:
version "7.1.6"
resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz"
@ -909,16 +944,16 @@ globals@^12.1.0:
dependencies:
type-fest "^0.8.1"
globby@^11.0.1:
version "11.0.2"
resolved "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz"
integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==
globby@^11.0.4:
version "11.1.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
dependencies:
array-union "^2.1.0"
dir-glob "^3.0.1"
fast-glob "^3.1.1"
ignore "^5.1.4"
merge2 "^1.3.0"
fast-glob "^3.2.9"
ignore "^5.2.0"
merge2 "^1.4.1"
slash "^3.0.0"
"graceful-fs@2 || 3":
@ -982,10 +1017,10 @@ ignore@^4.0.6:
resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz"
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
ignore@^5.1.4:
version "5.1.8"
resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz"
integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
ignore@^5.1.8, ignore@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
immutability-helper@^3.1.1:
version "3.1.1"
@ -1047,6 +1082,13 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
dependencies:
is-extglob "^2.1.1"
is-glob@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
dependencies:
is-extglob "^2.1.1"
is-number@^7.0.0:
version "7.0.0"
resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
@ -1171,7 +1213,7 @@ lodash.get@^4.4.2:
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21:
lodash@^4.17.14, lodash@^4.17.20, lodash@^4.17.21:
version "4.17.21"
resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@ -1190,18 +1232,18 @@ lru-cache@^6.0.0:
dependencies:
yallist "^4.0.0"
merge2@^1.3.0:
merge2@^1.3.0, merge2@^1.4.1:
version "1.4.1"
resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
micromatch@^4.0.2:
version "4.0.2"
resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz"
integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
micromatch@^4.0.4:
version "4.0.4"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
dependencies:
braces "^3.0.1"
picomatch "^2.0.5"
picomatch "^2.2.3"
"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.4:
version "3.0.4"
@ -1414,11 +1456,16 @@ path-type@^4.0.0:
resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1:
picomatch@^2.0.4, picomatch@^2.2.1:
version "2.2.2"
resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz"
integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
picomatch@^2.2.3:
version "2.3.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
prelude-ls@^1.2.1:
version "1.2.1"
resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
@ -1506,11 +1553,16 @@ readdirp@~3.5.0:
dependencies:
picomatch "^2.2.1"
regexpp@^3.0.0, regexpp@^3.1.0:
regexpp@^3.1.0:
version "3.1.0"
resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz"
integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
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==
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz"
@ -1567,7 +1619,7 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
integrity sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=
semver@^7.2.1, semver@^7.3.2:
semver@^7.2.1:
version "7.3.4"
resolved "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz"
integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==
@ -1759,10 +1811,10 @@ tslib@^1.8.1:
resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
tsutils@^3.17.1:
version "3.20.0"
resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.20.0.tgz"
integrity sha512-RYbuQuvkhuqVeXweWT3tJLKOEJ/UUw9GjNEZGWdrLLlM+611o1gwLHBpxoFJKKl25fLprp2eVthtKs5JOrNeXg==
tsutils@^3.21.0:
version "3.21.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
dependencies:
tslib "^1.8.1"