From 18bc1e80eb004f059ceb105ed556ac069106d7a8 Mon Sep 17 00:00:00 2001 From: Eric Amodio Date: Sun, 23 May 2021 12:52:12 -0400 Subject: [PATCH] Updates dependencies including TS 4.3-rc --- package.json | 47 +- src/annotations/annotationProvider.ts | 3 +- src/annotations/blameAnnotationProvider.ts | 2 +- src/annotations/gutterBlameAnnotationProvider.ts | 2 +- src/annotations/gutterChangesAnnotationProvider.ts | 4 +- src/commands/browseRepoAtRevision.ts | 2 +- src/commands/closeView.ts | 2 +- src/commands/common.ts | 23 +- src/commands/compareWith.ts | 2 +- src/commands/copyMessageToClipboard.ts | 2 +- src/commands/copyShaToClipboard.ts | 2 +- src/commands/diffWithNext.ts | 2 +- src/commands/diffWithPrevious.ts | 2 +- src/commands/externalDiff.ts | 2 +- src/commands/git/branch.ts | 6 +- src/commands/git/cherry-pick.ts | 4 +- src/commands/git/coauthors.ts | 2 +- src/commands/git/log.ts | 13 +- src/commands/git/merge.ts | 2 +- src/commands/git/rebase.ts | 2 +- src/commands/git/reset.ts | 2 +- src/commands/git/revert.ts | 2 +- src/commands/git/search.ts | 6 +- src/commands/git/show.ts | 4 +- src/commands/git/stash.ts | 6 +- src/commands/git/status.ts | 2 +- src/commands/git/switch.ts | 4 +- src/commands/git/tag.ts | 6 +- src/commands/gitCommands.ts | 2 +- src/commands/inviteToLiveShare.ts | 2 +- src/commands/openBranchOnRemote.ts | 2 +- src/commands/openBranchesOnRemote.ts | 2 +- src/commands/openCommitOnRemote.ts | 2 +- src/commands/openComparisonOnRemote.ts | 2 +- src/commands/openDirectoryCompare.ts | 2 +- src/commands/openFileAtRevision.ts | 2 +- src/commands/openFileOnRemote.ts | 2 +- src/commands/openPullRequestOnRemote.ts | 2 +- src/commands/openRepoOnRemote.ts | 2 +- src/commands/quickCommand.steps.ts | 147 ++-- src/commands/remoteProviders.ts | 4 +- src/commands/searchCommits.ts | 2 +- src/commands/showQuickBranchHistory.ts | 2 +- src/commands/showQuickCommit.ts | 2 +- src/commands/showQuickCommitFile.ts | 2 +- src/commands/showQuickFileHistory.ts | 2 +- src/commands/showView.ts | 2 +- src/commands/stashApply.ts | 2 +- src/commands/stashSave.ts | 2 +- src/commands/toggleFileAnnotations.ts | 4 +- src/git/formatters/commitFormatter.ts | 2 +- src/git/formatters/formatter.ts | 4 +- src/git/git.ts | 5 +- src/git/gitService.ts | 5 +- src/git/gitUri.ts | 8 +- src/git/models/blameCommit.ts | 2 +- src/git/models/logCommit.ts | 8 +- src/git/models/stashCommit.ts | 10 +- src/git/parsers/branchParser.ts | 3 +- src/git/parsers/diffParser.ts | 3 +- src/git/parsers/logParser.ts | 10 +- src/git/parsers/remoteParser.ts | 3 +- src/git/remotes/azure-devops.ts | 16 +- src/git/remotes/bitbucket-server.ts | 8 +- src/git/remotes/bitbucket.ts | 6 +- src/git/remotes/custom.ts | 4 +- src/git/remotes/gitea.ts | 6 +- src/git/remotes/github.ts | 8 +- src/git/remotes/gitlab.ts | 6 +- src/git/remotes/provider.ts | 2 +- src/git/search.ts | 3 +- src/quickpicks/commitQuickPickItems.ts | 44 +- src/quickpicks/quickPicksItems.ts | 6 +- src/quickpicks/remoteProviderPicker.ts | 21 +- src/system/function.ts | 4 +- src/system/promise.ts | 4 +- src/system/searchTree.ts | 4 +- src/system/string.ts | 12 +- src/terminal/linkProvider.ts | 3 +- src/trackers/gitLineTracker.ts | 8 +- src/views/branchesView.ts | 8 +- src/views/commitsView.ts | 12 +- src/views/contributorsView.ts | 10 +- src/views/fileHistoryView.ts | 4 +- src/views/lineHistoryView.ts | 4 +- src/views/nodes/branchNode.ts | 68 +- src/views/nodes/branchOrTagFolderNode.ts | 4 +- src/views/nodes/branchTrackingStatusFilesNode.ts | 2 +- src/views/nodes/branchTrackingStatusNode.ts | 4 +- src/views/nodes/branchesNode.ts | 4 +- src/views/nodes/commitFileNode.ts | 4 +- src/views/nodes/commitNode.ts | 4 +- src/views/nodes/common.ts | 9 +- src/views/nodes/compareBranchNode.ts | 4 +- src/views/nodes/compareResultsNode.ts | 4 +- src/views/nodes/contributorNode.ts | 6 +- src/views/nodes/contributorsNode.ts | 6 +- src/views/nodes/fileHistoryNode.ts | 10 +- src/views/nodes/fileHistoryTrackerNode.ts | 6 +- src/views/nodes/fileRevisionAsCommitNode.ts | 4 +- src/views/nodes/folderNode.ts | 2 +- src/views/nodes/lineHistoryNode.ts | 13 +- src/views/nodes/lineHistoryTrackerNode.ts | 6 +- src/views/nodes/mergeConflictCurrentChangesNode.ts | 2 +- src/views/nodes/mergeConflictFileNode.ts | 4 +- .../nodes/mergeConflictIncomingChangesNode.ts | 2 +- src/views/nodes/mergeStatusNode.ts | 2 +- src/views/nodes/pullRequestNode.ts | 4 +- src/views/nodes/rebaseStatusNode.ts | 6 +- src/views/nodes/reflogNode.ts | 4 +- src/views/nodes/reflogRecordNode.ts | 4 +- src/views/nodes/remoteNode.ts | 4 +- src/views/nodes/remotesNode.ts | 4 +- src/views/nodes/repositoriesNode.ts | 6 +- src/views/nodes/repositoryNode.ts | 8 +- src/views/nodes/resultsCommitsNode.ts | 7 +- src/views/nodes/resultsFileNode.ts | 4 +- src/views/nodes/resultsFilesNode.ts | 4 +- src/views/nodes/searchResultsNode.ts | 6 +- src/views/nodes/stashFileNode.ts | 2 +- src/views/nodes/stashNode.ts | 4 +- src/views/nodes/stashesNode.ts | 4 +- src/views/nodes/statusFileNode.ts | 4 +- src/views/nodes/statusFilesNode.ts | 2 +- src/views/nodes/tagNode.ts | 6 +- src/views/nodes/tagsNode.ts | 4 +- src/views/nodes/viewNode.ts | 22 +- src/views/remotesView.ts | 8 +- src/views/repositoriesView.ts | 4 +- src/views/searchAndCompareView.ts | 6 +- src/views/stashesView.ts | 8 +- src/views/tagsView.ts | 8 +- src/views/viewBase.ts | 5 +- src/webviews/apps/rebase/rebase.ts | 6 +- src/webviews/apps/settings/settings.ts | 10 +- src/webviews/apps/shared/appWithConfigBase.ts | 6 +- src/webviews/apps/shared/colors.ts | 3 +- src/webviews/apps/shared/events.ts | 2 - src/webviews/protocol.ts | 10 +- src/webviews/rebaseEditor.ts | 12 +- src/webviews/settingsWebview.ts | 6 +- src/webviews/welcomeWebview.ts | 2 +- tsconfig.json | 1 + yarn.lock | 948 ++++++++++----------- 144 files changed, 970 insertions(+), 971 deletions(-) diff --git a/package.json b/package.json index ab89934..8d29c06 100644 --- a/package.json +++ b/package.json @@ -9674,7 +9674,7 @@ "build:webviews": "webpack --mode development --config-name webviews", "bundle": "webpack --mode production", "clean": "git clean -Xdf -e !node_modules -e !node_modules/**/*", - "lint": "eslint src/**/*.ts --fix --cache", + "lint": "eslint src/**/*.ts --fix", "pack": "vsce package --yarn", "pack-insiders": "yarn run patch-insiders && yarn run pack", "patch-insiders": "node ./scripts/applyPatchForInsiders.js", @@ -9691,14 +9691,14 @@ "vscode:prepublish": "yarn run bundle" }, "dependencies": { - "@octokit/graphql": "4.6.1", - "chroma-js": "2.1.1", + "@octokit/graphql": "4.6.2", + "chroma-js": "2.1.2", "dayjs": "1.10.4", "iconv-lite": "0.6.2", "lodash-es": "4.17.21", "node-fetch": "3.0.0-beta.9", "sortablejs": "1.13.0", - "vscode-codicons": "0.0.16", + "vscode-codicons": "0.0.17", "vsls": "1.0.3015" }, "devDependencies": { @@ -9707,33 +9707,34 @@ "@types/node": "12.12.70", "@types/sortablejs": "1.10.6", "@types/vscode": "1.55.0", - "@typescript-eslint/eslint-plugin": "4.22.0", - "@typescript-eslint/parser": "4.22.0", + "@typescript-eslint/eslint-plugin": "4.24.0", + "@typescript-eslint/parser": "4.24.0", "circular-dependency-plugin": "5.2.2", "clean-webpack-plugin": "3.0.0", - "copy-webpack-plugin": "8.1.1", + "copy-webpack-plugin": "9.0.0", + "cross-env": "7.0.3", "csp-html-webpack-plugin": "5.1.0", - "css-loader": "5.2.1", - "esbuild-loader": "2.11.1", - "eslint": "7.24.0", + "css-loader": "5.2.5", + "esbuild-loader": "2.13.1", + "eslint": "7.27.0", "eslint-cli": "1.1.1", - "eslint-config-prettier": "8.2.0", - "eslint-plugin-import": "2.22.1", - "fork-ts-checker-webpack-plugin": "6.2.1", + "eslint-config-prettier": "8.3.0", + "eslint-plugin-import": "2.23.3", + "fork-ts-checker-webpack-plugin": "6.2.10", "html-loader": "2.1.2", "html-webpack-plugin": "5.3.1", "image-minimizer-webpack-plugin": "2.2.0", "imagemin-webp": "6.0.0", - "mini-css-extract-plugin": "1.4.1", - "node-sass": "5.0.0", - "prettier": "2.2.1", - "sass-loader": "11.0.1", - "terser-webpack-plugin": "5.1.1", - "ts-loader": "8.1.0", - "typescript": "4.2.4", - "vsce": "1.87.1", - "webpack": "5.33.2", - "webpack-bundle-analyzer": "4.4.1", + "mini-css-extract-plugin": "1.6.0", + "node-sass": "6.0.0", + "prettier": "2.3.0", + "sass-loader": "11.1.1", + "terser-webpack-plugin": "5.1.2", + "ts-loader": "9.2.2", + "typescript": "4.3.1-rc", + "vsce": "1.88.0", + "webpack": "5.37.1", + "webpack-bundle-analyzer": "4.4.2", "webpack-cli": "4.2.0" } } diff --git a/src/annotations/annotationProvider.ts b/src/annotations/annotationProvider.ts index b85d7cf..005991a 100644 --- a/src/annotations/annotationProvider.ts +++ b/src/annotations/annotationProvider.ts @@ -27,7 +27,8 @@ export interface AnnotationContext { export type TextEditorCorrelationKey = string; export abstract class AnnotationProviderBase - implements Disposable { + implements Disposable +{ static getCorrelationKey(editor: TextEditor | undefined): TextEditorCorrelationKey { return `${editor?.document.uri.toString()}|${editor?.viewColumn}`; } diff --git a/src/annotations/blameAnnotationProvider.ts b/src/annotations/blameAnnotationProvider.ts index 9b8a43b..9301f2c 100644 --- a/src/annotations/blameAnnotationProvider.ts +++ b/src/annotations/blameAnnotationProvider.ts @@ -30,7 +30,7 @@ export abstract class BlameAnnotationProviderBase extends AnnotationProviderBase } } - clear() { + override clear() { if (this.hoverProviderDisposable != null) { this.hoverProviderDisposable.dispose(); this.hoverProviderDisposable = undefined; diff --git a/src/annotations/gutterBlameAnnotationProvider.ts b/src/annotations/gutterBlameAnnotationProvider.ts index 9b98f32..7679811 100644 --- a/src/annotations/gutterBlameAnnotationProvider.ts +++ b/src/annotations/gutterBlameAnnotationProvider.ts @@ -18,7 +18,7 @@ export class GutterBlameAnnotationProvider extends BlameAnnotationProviderBase { super(FileAnnotationType.Blame, editor, trackedDocument); } - clear() { + override clear() { super.clear(); if (Decorations.gutterBlameHighlight != null) { diff --git a/src/annotations/gutterChangesAnnotationProvider.ts b/src/annotations/gutterChangesAnnotationProvider.ts index 88ea7de..103fadc 100644 --- a/src/annotations/gutterChangesAnnotationProvider.ts +++ b/src/annotations/gutterChangesAnnotationProvider.ts @@ -36,11 +36,11 @@ export class GutterChangesAnnotationProvider extends AnnotationProviderBase(action: Action, } export function getMarkdownActionCommand(action: Action, args: Omit): string { - return Command.getMarkdownCommandArgsCore(`${Commands.ActionPrefix}${action}` as Commands, { + return Command.getMarkdownCommandArgsCore(`${Commands.ActionPrefix}${action}`, { ...args, type: action, }); @@ -351,9 +351,7 @@ export function isCommandContextViewNodeHasFileCommit( return node.file != null && GitCommit.is(node.commit) && (node.file.repoPath != null || node.repoPath != null); } -export function isCommandContextViewNodeHasFileRefs( - context: CommandContext, -): context is CommandViewNodeContext & { +export function isCommandContextViewNodeHasFileRefs(context: CommandContext): context is CommandViewNodeContext & { node: ViewNode & { file: GitFile; ref1: string; ref2: string; repoPath: string }; } { if (context.type !== 'viewItem') return false; @@ -450,7 +448,10 @@ function isGitTimelineItem(item: any): item is GitTimelineItem { } export abstract class Command implements Disposable { - static getMarkdownCommandArgsCore(command: Commands, args: T): string { + static getMarkdownCommandArgsCore( + command: Commands | `${Commands.ActionPrefix}${ActionContext['type']}`, + args: T, + ): string { return `command:${command}?${encodeURIComponent(JSON.stringify(args))}`; } @@ -579,21 +580,21 @@ export abstract class Command implements Disposable { } export abstract class ActiveEditorCommand extends Command { - protected readonly contextParsingOptions: CommandContextParsingOptions = { expectsEditor: true }; + protected override readonly contextParsingOptions: CommandContextParsingOptions = { expectsEditor: true }; constructor(command: Commands | Commands[]) { super(command); } - protected preExecute(context: CommandContext, ...args: any[]): Promise { + protected override preExecute(context: CommandContext, ...args: any[]): Promise { return this.execute(context.editor, context.uri, ...args); } - protected _execute(command: string, ...args: any[]): any { + protected override _execute(command: string, ...args: any[]): any { return super._execute(command, undefined, ...args); } - abstract execute(editor?: TextEditor, ...args: any[]): any; + abstract override execute(editor?: TextEditor, ...args: any[]): any; } let lastCommand: { command: string; args: any[] } | undefined = undefined; @@ -606,7 +607,7 @@ export abstract class ActiveEditorCachedCommand extends ActiveEditorCommand { super(command); } - protected _execute(command: string, ...args: any[]): any { + protected override _execute(command: string, ...args: any[]): any { lastCommand = { command: command, args: args, @@ -614,7 +615,7 @@ export abstract class ActiveEditorCachedCommand extends ActiveEditorCommand { return super._execute(command, ...args); } - abstract execute(editor: TextEditor, ...args: any[]): any; + abstract override execute(editor: TextEditor, ...args: any[]): any; } export abstract class EditorCommand implements Disposable { diff --git a/src/commands/compareWith.ts b/src/commands/compareWith.ts index b46226c..29fe5ea 100644 --- a/src/commands/compareWith.ts +++ b/src/commands/compareWith.ts @@ -29,7 +29,7 @@ export class CompareWithCommand extends ActiveEditorCommand { ]); } - protected preExecute(context: CommandContext, args?: CompareWithCommandArgs) { + protected override preExecute(context: CommandContext, args?: CompareWithCommandArgs) { switch (context.command) { case Commands.CompareWith: args = { ...args }; diff --git a/src/commands/copyMessageToClipboard.ts b/src/commands/copyMessageToClipboard.ts index c09fc76..0ed9127 100644 --- a/src/commands/copyMessageToClipboard.ts +++ b/src/commands/copyMessageToClipboard.ts @@ -27,7 +27,7 @@ export class CopyMessageToClipboardCommand extends ActiveEditorCommand { super(Commands.CopyMessageToClipboard); } - protected preExecute(context: CommandContext, args?: CopyMessageToClipboardCommandArgs) { + protected override preExecute(context: CommandContext, args?: CopyMessageToClipboardCommandArgs) { if (isCommandContextViewNodeHasCommit(context)) { args = { ...args }; args.sha = context.node.commit.sha; diff --git a/src/commands/copyShaToClipboard.ts b/src/commands/copyShaToClipboard.ts index 7c53cfc..8286954 100644 --- a/src/commands/copyShaToClipboard.ts +++ b/src/commands/copyShaToClipboard.ts @@ -26,7 +26,7 @@ export class CopyShaToClipboardCommand extends ActiveEditorCommand { super(Commands.CopyShaToClipboard); } - protected preExecute(context: CommandContext, args?: CopyShaToClipboardCommandArgs) { + protected override preExecute(context: CommandContext, args?: CopyShaToClipboardCommandArgs) { if (isCommandContextViewNodeHasCommit(context)) { args = { ...args }; args.sha = Container.config.advanced.abbreviateShaOnCopy diff --git a/src/commands/diffWithNext.ts b/src/commands/diffWithNext.ts index 85ed143..6f10c0a 100644 --- a/src/commands/diffWithNext.ts +++ b/src/commands/diffWithNext.ts @@ -23,7 +23,7 @@ export class DiffWithNextCommand extends ActiveEditorCommand { super([Commands.DiffWithNext, Commands.DiffWithNextInDiffLeft, Commands.DiffWithNextInDiffRight]); } - protected preExecute(context: CommandContext, args?: DiffWithNextCommandArgs) { + protected override preExecute(context: CommandContext, args?: DiffWithNextCommandArgs) { if (context.command === Commands.DiffWithNextInDiffLeft) { args = { ...args, inDiffLeftEditor: true }; } diff --git a/src/commands/diffWithPrevious.ts b/src/commands/diffWithPrevious.ts index 6e44b29..f301e83 100644 --- a/src/commands/diffWithPrevious.ts +++ b/src/commands/diffWithPrevious.ts @@ -31,7 +31,7 @@ export class DiffWithPreviousCommand extends ActiveEditorCommand { super([Commands.DiffWithPrevious, Commands.DiffWithPreviousInDiffLeft, Commands.DiffWithPreviousInDiffRight]); } - protected preExecute(context: CommandContext, args?: DiffWithPreviousCommandArgs) { + protected override preExecute(context: CommandContext, args?: DiffWithPreviousCommandArgs) { if (context.command === Commands.DiffWithPreviousInDiffRight) { args = { ...args, inDiffRightEditor: true }; } diff --git a/src/commands/externalDiff.ts b/src/commands/externalDiff.ts index 7ddc5aa..057e73d 100644 --- a/src/commands/externalDiff.ts +++ b/src/commands/externalDiff.ts @@ -65,7 +65,7 @@ export class ExternalDiffCommand extends Command { super([Commands.ExternalDiff, Commands.ExternalDiffAll]); } - protected async preExecute(context: CommandContext, args?: ExternalDiffCommandArgs) { + protected override async preExecute(context: CommandContext, args?: ExternalDiffCommandArgs) { args = { ...args }; if (isCommandContextViewNodeHasFileCommit(context)) { diff --git a/src/commands/git/branch.ts b/src/commands/git/branch.ts index 3ff7692..f1ce4a2 100644 --- a/src/commands/git/branch.ts +++ b/src/commands/git/branch.ts @@ -134,15 +134,15 @@ export class BranchGitCommand extends QuickCommand { }; } - get canConfirm(): boolean { + override get canConfirm(): boolean { return this.subcommand != null; } - get canSkipConfirm(): boolean { + override get canSkipConfirm(): boolean { return this.subcommand === 'delete' || this.subcommand === 'rename' ? false : super.canSkipConfirm; } - get skipConfirmKey() { + override get skipConfirmKey() { return `${this.key}${this.subcommand == null ? '' : `-${this.subcommand}`}:${this.pickedVia}`; } diff --git a/src/commands/git/cherry-pick.ts b/src/commands/git/cherry-pick.ts index 1cef615..daa150c 100644 --- a/src/commands/git/cherry-pick.ts +++ b/src/commands/git/cherry-pick.ts @@ -66,7 +66,7 @@ export class CherryPickGitCommand extends QuickCommand { }; } - get canSkipConfirm(): boolean { + override get canSkipConfirm(): boolean { return false; } @@ -74,7 +74,7 @@ export class CherryPickGitCommand extends QuickCommand { state.repo.cherryPick(...state.flags, ...state.references.map(c => c.ref).reverse()); } - isFuzzyMatch(name: string) { + override isFuzzyMatch(name: string) { return super.isFuzzyMatch(name) || name === 'cherry'; } diff --git a/src/commands/git/coauthors.ts b/src/commands/git/coauthors.ts index 7a817da..ebffa6d 100644 --- a/src/commands/git/coauthors.ts +++ b/src/commands/git/coauthors.ts @@ -55,7 +55,7 @@ export class CoAuthorsGitCommand extends QuickCommand { }; } - get canConfirm() { + override get canConfirm() { return false; } diff --git a/src/commands/git/log.ts b/src/commands/git/log.ts index 0085c5c..0b848b5 100644 --- a/src/commands/git/log.ts +++ b/src/commands/git/log.ts @@ -66,11 +66,11 @@ export class LogGitCommand extends QuickCommand { }; } - get canConfirm(): boolean { + override get canConfirm(): boolean { return false; } - isFuzzyMatch(name: string) { + override isFuzzyMatch(name: string) { return super.isFuzzyMatch(name) || name === 'log'; } @@ -134,11 +134,10 @@ export class LogGitCommand extends QuickCommand { context.selectedBranchOrTag = state.reference; } - context.title = `${this.title}${Strings.pad( - GlyphChars.Dot, - 2, - 2, - )}${GitReference.toString(context.selectedBranchOrTag, { icon: false })}`; + context.title = `${this.title}${Strings.pad(GlyphChars.Dot, 2, 2)}${GitReference.toString( + context.selectedBranchOrTag, + { icon: false }, + )}`; if (state.fileName) { context.title += `${Strings.pad(GlyphChars.Dot, 2, 2)}${GitUri.getFormattedFilename(state.fileName, { diff --git a/src/commands/git/merge.ts b/src/commands/git/merge.ts index 1c29c78..9d476ec 100644 --- a/src/commands/git/merge.ts +++ b/src/commands/git/merge.ts @@ -66,7 +66,7 @@ export class MergeGitCommand extends QuickCommand { }; } - get canSkipConfirm(): boolean { + override get canSkipConfirm(): boolean { return false; } diff --git a/src/commands/git/rebase.ts b/src/commands/git/rebase.ts index ddc5b8a..47e5a17 100644 --- a/src/commands/git/rebase.ts +++ b/src/commands/git/rebase.ts @@ -68,7 +68,7 @@ export class RebaseGitCommand extends QuickCommand { }; } - get canSkipConfirm(): boolean { + override get canSkipConfirm(): boolean { return false; } diff --git a/src/commands/git/reset.ts b/src/commands/git/reset.ts index e9f0c1c..1ff1d14 100644 --- a/src/commands/git/reset.ts +++ b/src/commands/git/reset.ts @@ -61,7 +61,7 @@ export class ResetGitCommand extends QuickCommand { } private _canSkipConfirm: boolean = false; - get canSkipConfirm(): boolean { + override get canSkipConfirm(): boolean { return this._canSkipConfirm; } diff --git a/src/commands/git/revert.ts b/src/commands/git/revert.ts index 09d017e..7fc9749 100644 --- a/src/commands/git/revert.ts +++ b/src/commands/git/revert.ts @@ -63,7 +63,7 @@ export class RevertGitCommand extends QuickCommand { }; } - get canSkipConfirm(): boolean { + override get canSkipConfirm(): boolean { return false; } diff --git a/src/commands/git/search.ts b/src/commands/git/search.ts index d9579d9..9f6c483 100644 --- a/src/commands/git/search.ts +++ b/src/commands/git/search.ts @@ -77,15 +77,15 @@ export class SearchGitCommand extends QuickCommand { }; } - get canConfirm(): boolean { + override get canConfirm(): boolean { return false; } - isMatch(key: string) { + override isMatch(key: string) { return super.isMatch(key) || key === 'grep'; } - isFuzzyMatch(name: string) { + override isFuzzyMatch(name: string) { return super.isFuzzyMatch(name) || name === 'grep'; } diff --git a/src/commands/git/show.ts b/src/commands/git/show.ts index 82fcefa..f0c75aa 100644 --- a/src/commands/git/show.ts +++ b/src/commands/git/show.ts @@ -60,11 +60,11 @@ export class ShowGitCommand extends QuickCommand { }; } - get canConfirm() { + override get canConfirm() { return false; } - protected getStepState(limitBackNavigation: boolean): PartialStepState { + protected override getStepState(limitBackNavigation: boolean): PartialStepState { // This command is special since we want to allow backing up all the way to the commit, // so ensure the startingStep is at most 1 const state = super.getStepState(limitBackNavigation); diff --git a/src/commands/git/stash.ts b/src/commands/git/stash.ts index b09ca88..2fa98a4 100644 --- a/src/commands/git/stash.ts +++ b/src/commands/git/stash.ts @@ -130,15 +130,15 @@ export class StashGitCommand extends QuickCommand { }; } - get canConfirm(): boolean { + override get canConfirm(): boolean { return this.subcommand != null && this.subcommand !== 'list'; } - get canSkipConfirm(): boolean { + override get canSkipConfirm(): boolean { return this.subcommand === 'drop' ? false : super.canSkipConfirm; } - get skipConfirmKey() { + override get skipConfirmKey() { return `${this.key}${this.subcommand == null ? '' : `-${this.subcommand}`}:${this.pickedVia}`; } diff --git a/src/commands/git/status.ts b/src/commands/git/status.ts index 194983e..d26689d 100644 --- a/src/commands/git/status.ts +++ b/src/commands/git/status.ts @@ -49,7 +49,7 @@ export class StatusGitCommand extends QuickCommand { }; } - get canConfirm() { + override get canConfirm() { return false; } diff --git a/src/commands/git/switch.ts b/src/commands/git/switch.ts index 59ee051..c860855 100644 --- a/src/commands/git/switch.ts +++ b/src/commands/git/switch.ts @@ -78,11 +78,11 @@ export class SwitchGitCommand extends QuickCommand { )); } - isMatch(key: string) { + override isMatch(key: string) { return super.isMatch(key) || key === 'checkout'; } - isFuzzyMatch(name: string) { + override isFuzzyMatch(name: string) { return super.isFuzzyMatch(name) || name === 'checkout'; } diff --git a/src/commands/git/tag.ts b/src/commands/git/tag.ts index 57e2b1b..cd64eea 100644 --- a/src/commands/git/tag.ts +++ b/src/commands/git/tag.ts @@ -113,15 +113,15 @@ export class TagGitCommand extends QuickCommand { }; } - get canConfirm(): boolean { + override get canConfirm(): boolean { return this.subcommand != null; } - get canSkipConfirm(): boolean { + override get canSkipConfirm(): boolean { return this.subcommand === 'delete' ? false : super.canSkipConfirm; } - get skipConfirmKey() { + override get skipConfirmKey() { return `${this.key}${this.subcommand == null ? '' : `-${this.subcommand}`}:${this.pickedVia}`; } diff --git a/src/commands/gitCommands.ts b/src/commands/gitCommands.ts index 5f2cd45..1924461 100644 --- a/src/commands/gitCommands.ts +++ b/src/commands/gitCommands.ts @@ -92,7 +92,7 @@ export class GitCommandsCommand extends Command { ]); } - protected preExecute(context: CommandContext, args?: GitCommandsCommandArgs) { + protected override preExecute(context: CommandContext, args?: GitCommandsCommandArgs) { switch (context.command) { case Commands.GitCommandsBranch: args = { command: 'branch' }; diff --git a/src/commands/inviteToLiveShare.ts b/src/commands/inviteToLiveShare.ts index 5b32b38..e3f8806 100644 --- a/src/commands/inviteToLiveShare.ts +++ b/src/commands/inviteToLiveShare.ts @@ -20,7 +20,7 @@ export class InviteToLiveShareCommand extends Command { super(Commands.InviteToLiveShare); } - protected preExecute(context: CommandContext, args?: InviteToLiveShareCommandArgs) { + protected override preExecute(context: CommandContext, args?: InviteToLiveShareCommandArgs) { if (isCommandContextViewNodeHasContributor(context)) { args = { ...args }; args.email = context.node.contributor.email; diff --git a/src/commands/openBranchOnRemote.ts b/src/commands/openBranchOnRemote.ts index 4da081f..37616f9 100644 --- a/src/commands/openBranchOnRemote.ts +++ b/src/commands/openBranchOnRemote.ts @@ -28,7 +28,7 @@ export class OpenBranchOnRemoteCommand extends ActiveEditorCommand { super([Commands.OpenBranchOnRemote, Commands.Deprecated_OpenBranchInRemote, Commands.CopyRemoteBranchUrl]); } - protected preExecute(context: CommandContext, args?: OpenBranchOnRemoteCommandArgs) { + protected override preExecute(context: CommandContext, args?: OpenBranchOnRemoteCommandArgs) { if (isCommandContextViewNodeHasBranch(context)) { args = { ...args, diff --git a/src/commands/openBranchesOnRemote.ts b/src/commands/openBranchesOnRemote.ts index b14a7cd..9569bd9 100644 --- a/src/commands/openBranchesOnRemote.ts +++ b/src/commands/openBranchesOnRemote.ts @@ -30,7 +30,7 @@ export class OpenBranchesOnRemoteCommand extends ActiveEditorCommand { ]); } - protected preExecute(context: CommandContext, args?: OpenBranchesOnRemoteCommandArgs) { + protected override preExecute(context: CommandContext, args?: OpenBranchesOnRemoteCommandArgs) { if (isCommandContextViewNodeHasRemote(context)) { args = { ...args, remote: context.node.remote.name }; } diff --git a/src/commands/openCommitOnRemote.ts b/src/commands/openCommitOnRemote.ts index 888bd65..40f70cb 100644 --- a/src/commands/openCommitOnRemote.ts +++ b/src/commands/openCommitOnRemote.ts @@ -35,7 +35,7 @@ export class OpenCommitOnRemoteCommand extends ActiveEditorCommand { super([Commands.OpenCommitOnRemote, Commands.Deprecated_OpenCommitInRemote, Commands.CopyRemoteCommitUrl]); } - protected preExecute(context: CommandContext, args?: OpenCommitOnRemoteCommandArgs) { + protected override preExecute(context: CommandContext, args?: OpenCommitOnRemoteCommandArgs) { let uri = context.uri; if (isCommandContextViewNodeHasCommit(context)) { diff --git a/src/commands/openComparisonOnRemote.ts b/src/commands/openComparisonOnRemote.ts index 2522a95..53fd98e 100644 --- a/src/commands/openComparisonOnRemote.ts +++ b/src/commands/openComparisonOnRemote.ts @@ -20,7 +20,7 @@ export class OpenComparisonOnRemoteCommand extends Command { super([Commands.OpenComparisonOnRemote, Commands.CopyRemoteComparisonUrl]); } - protected preExecute(context: CommandContext, args?: OpenComparisonOnRemoteCommandArgs) { + protected override preExecute(context: CommandContext, args?: OpenComparisonOnRemoteCommandArgs) { if (context.type === 'viewItem') { if (context.node instanceof ResultsCommitsNode) { args = { diff --git a/src/commands/openDirectoryCompare.ts b/src/commands/openDirectoryCompare.ts index e40b833..dff38a0 100644 --- a/src/commands/openDirectoryCompare.ts +++ b/src/commands/openDirectoryCompare.ts @@ -31,7 +31,7 @@ export class OpenDirectoryCompareCommand extends ActiveEditorCommand { ]); } - protected async preExecute(context: CommandContext, args?: OpenDirectoryCompareCommandArgs) { + protected override async preExecute(context: CommandContext, args?: OpenDirectoryCompareCommandArgs) { switch (context.command) { case Commands.DiffDirectoryWithHead: args = { ...args }; diff --git a/src/commands/openFileAtRevision.ts b/src/commands/openFileAtRevision.ts index 574a941..51b3715 100644 --- a/src/commands/openFileAtRevision.ts +++ b/src/commands/openFileAtRevision.ts @@ -49,7 +49,7 @@ export class OpenFileAtRevisionCommand extends ActiveEditorCommand { super([Commands.OpenFileAtRevision, Commands.OpenBlamePriorToChange]); } - protected async preExecute(context: CommandContext, args?: OpenFileAtRevisionCommandArgs) { + protected override async preExecute(context: CommandContext, args?: OpenFileAtRevisionCommandArgs) { if (context.command === Commands.OpenBlamePriorToChange) { args = { ...args, annotationType: FileAnnotationType.Blame }; if (args.revisionUri == null && context.editor != null) { diff --git a/src/commands/openFileOnRemote.ts b/src/commands/openFileOnRemote.ts index d84e8ac..45dc9ff 100644 --- a/src/commands/openFileOnRemote.ts +++ b/src/commands/openFileOnRemote.ts @@ -43,7 +43,7 @@ export class OpenFileOnRemoteCommand extends ActiveEditorCommand { ]); } - protected async preExecute(context: CommandContext, args?: OpenFileOnRemoteCommandArgs) { + protected override async preExecute(context: CommandContext, args?: OpenFileOnRemoteCommandArgs) { let uri = context.uri; if (context.command === Commands.CopyRemoteFileUrlWithoutRange) { diff --git a/src/commands/openPullRequestOnRemote.ts b/src/commands/openPullRequestOnRemote.ts index eb79cc2..e1bcdb9 100644 --- a/src/commands/openPullRequestOnRemote.ts +++ b/src/commands/openPullRequestOnRemote.ts @@ -17,7 +17,7 @@ export class OpenPullRequestOnRemoteCommand extends Command { super([Commands.OpenPullRequestOnRemote, Commands.CopyRemotePullRequestUrl]); } - protected preExecute(context: CommandContext, args?: OpenPullRequestOnRemoteCommandArgs) { + protected override preExecute(context: CommandContext, args?: OpenPullRequestOnRemoteCommandArgs) { if (context.type === 'viewItem' && context.node instanceof PullRequestNode) { args = { ...args, diff --git a/src/commands/openRepoOnRemote.ts b/src/commands/openRepoOnRemote.ts index b90b418..6b3e0ff 100644 --- a/src/commands/openRepoOnRemote.ts +++ b/src/commands/openRepoOnRemote.ts @@ -26,7 +26,7 @@ export class OpenRepoOnRemoteCommand extends ActiveEditorCommand { super([Commands.OpenRepoOnRemote, Commands.Deprecated_OpenRepoInRemote, Commands.CopyRemoteRepositoryUrl]); } - protected preExecute(context: CommandContext, args?: OpenRepoOnRemoteCommandArgs) { + protected override preExecute(context: CommandContext, args?: OpenRepoOnRemoteCommandArgs) { if (isCommandContextViewNodeHasRemote(context)) { args = { ...args, remote: context.node.remote.name }; } diff --git a/src/commands/quickCommand.steps.ts b/src/commands/quickCommand.steps.ts index f481949..d7b8a41 100644 --- a/src/commands/quickCommand.steps.ts +++ b/src/commands/quickCommand.steps.ts @@ -83,7 +83,7 @@ import { GitActions } from './gitCommands.actions'; export function appendReposToTitle< State extends { repo: Repository } | { repos: Repository[] }, - Context extends { repos: Repository[] } + Context extends { repos: Repository[] }, >(title: string, state: State, context: Context, additionalContext?: string) { if (context.repos.length === 1) { return `${title}${Strings.truncate(additionalContext ?? '', quickPickTitleMaxChars - title.length)}`; @@ -319,7 +319,7 @@ export function getValidateGitReferenceFn(repos: Repository | Repository[], opti export async function* inputBranchNameStep< State extends PartialStepState & ({ repo: Repository } | { repos: Repository[] }), - Context extends { repos: Repository[]; showTags?: boolean; title: string } + Context extends { repos: Repository[]; showTags?: boolean; title: string }, >( state: State, context: Context, @@ -354,7 +354,7 @@ export async function* inputBranchNameStep< export async function* inputTagNameStep< State extends PartialStepState & ({ repo: Repository } | { repos: Repository[] }), - Context extends { repos: Repository[]; showTags?: boolean; title: string } + Context extends { repos: Repository[]; showTags?: boolean; title: string }, >( state: State, context: Context, @@ -389,7 +389,7 @@ export async function* inputTagNameStep< export async function* pickBranchStep< State extends PartialStepState & { repo: Repository }, - Context extends { repos: Repository[]; showTags?: boolean; title: string } + Context extends { repos: Repository[]; showTags?: boolean; title: string }, >( state: State, context: Context, @@ -453,7 +453,7 @@ export async function* pickBranchStep< export async function* pickBranchesStep< State extends PartialStepState & { repo: Repository }, - Context extends { repos: Repository[]; showTags?: boolean; title: string } + Context extends { repos: Repository[]; showTags?: boolean; title: string }, >( state: State, context: Context, @@ -521,7 +521,7 @@ export async function* pickBranchesStep< export async function* pickBranchOrTagStep< State extends PartialStepState & { repo: Repository }, - Context extends { repos: Repository[]; showTags?: boolean; title: string } + Context extends { repos: Repository[]; showTags?: boolean; title: string }, >( state: State, context: Context, @@ -638,7 +638,7 @@ export async function* pickBranchOrTagStep< export async function* pickBranchOrTagStepMultiRepo< State extends StepState & { repos: Repository[]; reference?: GitReference }, - Context extends { repos: Repository[]; showTags?: boolean; title: string } + Context extends { repos: Repository[]; showTags?: boolean; title: string }, >( state: State, context: Context, @@ -753,7 +753,7 @@ export async function* pickBranchOrTagStepMultiRepo< export async function* pickCommitStep< State extends PartialStepState & { repo: Repository }, - Context extends { repos: Repository[]; title: string } + Context extends { repos: Repository[]; title: string }, >( state: State, context: Context, @@ -906,7 +906,7 @@ export async function* pickCommitStep< export function* pickCommitsStep< State extends PartialStepState & { repo: Repository }, - Context extends { repos: Repository[]; title: string } + Context extends { repos: Repository[]; title: string }, >( state: State, context: Context, @@ -1024,7 +1024,7 @@ export function* pickCommitsStep< export async function* pickContributorsStep< State extends PartialStepState & { repo: Repository }, - Context extends { repos: Repository[]; title: string } + Context extends { repos: Repository[]; title: string }, >( state: State, context: Context, @@ -1048,7 +1048,7 @@ export async function* pickContributorsStep< export async function* pickRepositoryStep< State extends PartialStepState & { repo?: string | Repository }, - Context extends { repos: Repository[]; title: string } + Context extends { repos: Repository[]; title: string }, >(state: State, context: Context, placeholder: string = 'Choose a repository'): AsyncStepResultGenerator { if (typeof state.repo === 'string') { state.repo = await Container.git.getRepository(state.repo); @@ -1099,7 +1099,7 @@ export async function* pickRepositoryStep< export async function* pickRepositoriesStep< State extends PartialStepState & { repos?: string[] | Repository[] }, - Context extends { repos: Repository[]; title: string } + Context extends { repos: Repository[]; title: string }, >( state: State, context: Context, @@ -1170,7 +1170,7 @@ export async function* pickRepositoriesStep< export function* pickStashStep< State extends PartialStepState & { repo: Repository }, - Context extends { repos: Repository[]; title: string } + Context extends { repos: Repository[]; title: string }, >( state: State, context: Context, @@ -1262,7 +1262,7 @@ export function* pickStashStep< export async function* pickTagsStep< State extends PartialStepState & { repo: Repository }, - Context extends { repos: Repository[]; showTags?: boolean; title: string } + Context extends { repos: Repository[]; showTags?: boolean; title: string }, >( state: State, context: Context, @@ -1327,75 +1327,74 @@ export async function* pickTagsStep< export async function* showCommitOrStashStep< State extends PartialStepState & { repo: Repository; reference: GitLogCommit | GitStashCommit }, - Context extends { repos: Repository[]; title: string } + Context extends { repos: Repository[]; title: string }, >( state: State, context: Context, ): AsyncStepResultGenerator { - const step: QuickPickStep< - CommitFilesQuickPickItem | GitCommandQuickPickItem | CommandQuickPickItem - > = QuickCommand.createPickStep({ - title: appendReposToTitle( - GitReference.toString(state.reference, { - capitalize: true, - icon: false, - }), - state, - context, - ), - placeholder: GitReference.toString(state.reference, { capitalize: true, icon: false }), - ignoreFocusOut: true, - items: await getShowCommitOrStashStepItems(state), - additionalButtons: GitReference.isStash(state.reference) - ? [QuickCommandButtons.RevealInSideBar] - : [QuickCommandButtons.RevealInSideBar, QuickCommandButtons.SearchInSideBar], - onDidClickButton: (quickpick, button) => { - if (button === QuickCommandButtons.SearchInSideBar) { - void Container.searchAndCompareView.search( - state.repo.path, - { pattern: SearchPattern.fromCommit(state.reference.ref) }, - { - label: { label: `for ${GitReference.toString(state.reference, { icon: false })}` }, - reveal: { - select: true, - focus: false, - expand: true, + const step: QuickPickStep = + QuickCommand.createPickStep({ + title: appendReposToTitle( + GitReference.toString(state.reference, { + capitalize: true, + icon: false, + }), + state, + context, + ), + placeholder: GitReference.toString(state.reference, { capitalize: true, icon: false }), + ignoreFocusOut: true, + items: await getShowCommitOrStashStepItems(state), + additionalButtons: GitReference.isStash(state.reference) + ? [QuickCommandButtons.RevealInSideBar] + : [QuickCommandButtons.RevealInSideBar, QuickCommandButtons.SearchInSideBar], + onDidClickButton: (quickpick, button) => { + if (button === QuickCommandButtons.SearchInSideBar) { + void Container.searchAndCompareView.search( + state.repo.path, + { pattern: SearchPattern.fromCommit(state.reference.ref) }, + { + label: { label: `for ${GitReference.toString(state.reference, { icon: false })}` }, + reveal: { + select: true, + focus: false, + expand: true, + }, }, - }, - ); + ); - return; - } + return; + } - if (button === QuickCommandButtons.RevealInSideBar) { - if (GitReference.isStash(state.reference)) { - void GitActions.Stash.reveal(state.reference, { - select: true, - focus: false, - expand: true, - }); - } else { - void GitActions.Commit.reveal(state.reference, { - select: true, - focus: false, - expand: true, - }); + if (button === QuickCommandButtons.RevealInSideBar) { + if (GitReference.isStash(state.reference)) { + void GitActions.Stash.reveal(state.reference, { + select: true, + focus: false, + expand: true, + }); + } else { + void GitActions.Commit.reveal(state.reference, { + select: true, + focus: false, + expand: true, + }); + } } - } - }, - keys: ['right', 'alt+right', 'ctrl+right'], - onDidPressKey: async (quickpick, key) => { - if (quickpick.activeItems.length === 0) return; + }, + keys: ['right', 'alt+right', 'ctrl+right'], + onDidPressKey: async (quickpick, key) => { + if (quickpick.activeItems.length === 0) return; - void (await quickpick.activeItems[0].onDidPressKey(key)); - }, - }); + void (await quickpick.activeItems[0].onDidPressKey(key)); + }, + }); const selection: StepSelection = yield step; return QuickCommand.canPickStepContinue(step, state, selection) ? selection[0] : StepResult.Break; } async function getShowCommitOrStashStepItems< - State extends PartialStepState & { repo: Repository; reference: GitLogCommit | GitStashCommit } + State extends PartialStepState & { repo: Repository; reference: GitLogCommit | GitStashCommit }, >(state: State) { const items: CommandQuickPickItem[] = [new CommitFilesQuickPickItem(state.reference)]; @@ -1579,7 +1578,7 @@ export function* showCommitOrStashFilesStep< reference: GitLogCommit | GitStashCommit; fileName?: string | undefined; }, - Context extends { repos: Repository[]; title: string } + Context extends { repos: Repository[]; title: string }, >( state: State, context: Context, @@ -1655,7 +1654,7 @@ export async function* showCommitOrStashFileStep< reference: GitLogCommit | GitStashCommit; fileName: string; }, - Context extends { repos: Repository[]; title: string } + Context extends { repos: Repository[]; title: string }, >(state: State, context: Context): AsyncStepResultGenerator { const step: QuickPickStep = QuickCommand.createPickStep({ title: appendReposToTitle( @@ -1726,7 +1725,7 @@ async function getShowCommitOrStashFileStepItems< repo: Repository; reference: GitLogCommit | GitStashCommit; fileName: string; - } + }, >(state: State) { const file = state.reference.files.find(f => f.fileName === state.fileName); if (file == null) return []; @@ -1819,7 +1818,7 @@ async function getShowCommitOrStashFileStepItems< export function* showRepositoryStatusStep< State extends PartialStepState & { repo: Repository }, - Context extends { repos: Repository[]; title: string; status: GitStatus } + Context extends { repos: Repository[]; title: string; status: GitStatus }, >(state: State, context: Context): StepResultGenerator { const upstream = context.status.getUpstreamStatus({ expand: true, separator: ', ' }); const working = context.status.getFormattedDiffStatus({ expand: true, separator: ', ' }); @@ -1841,7 +1840,7 @@ export function* showRepositoryStatusStep< function getShowRepositoryStatusStepItems< State extends PartialStepState & { repo: Repository }, - Context extends { repos: Repository[]; title: string; status: GitStatus } + Context extends { repos: Repository[]; title: string; status: GitStatus }, >(state: State, context: Context) { const items: (DirectiveQuickPickItem | CommandQuickPickItem)[] = []; diff --git a/src/commands/remoteProviders.ts b/src/commands/remoteProviders.ts index 2072cf5..5eabcb0 100644 --- a/src/commands/remoteProviders.ts +++ b/src/commands/remoteProviders.ts @@ -32,7 +32,7 @@ export class ConnectRemoteProviderCommand extends Command { super(Commands.ConnectRemoteProvider); } - protected preExecute(context: CommandContext, args?: ConnectRemoteProviderCommandArgs) { + protected override preExecute(context: CommandContext, args?: ConnectRemoteProviderCommandArgs) { if (isCommandContextViewNodeHasRemote(context)) { args = { ...args, remote: context.node.remote.id, repoPath: context.node.remote.repoPath }; } @@ -121,7 +121,7 @@ export class DisconnectRemoteProviderCommand extends Command { super(Commands.DisconnectRemoteProvider); } - protected preExecute(context: CommandContext, args?: ConnectRemoteProviderCommandArgs) { + protected override preExecute(context: CommandContext, args?: ConnectRemoteProviderCommandArgs) { if (isCommandContextViewNodeHasRemote(context)) { args = { ...args, remote: context.node.remote.id, repoPath: context.node.remote.repoPath }; } diff --git a/src/commands/searchCommits.ts b/src/commands/searchCommits.ts index c6ff127..c6ad301 100644 --- a/src/commands/searchCommits.ts +++ b/src/commands/searchCommits.ts @@ -20,7 +20,7 @@ export class SearchCommitsCommand extends Command { super([Commands.SearchCommits, Commands.SearchCommitsInView]); } - protected preExecute(context: CommandContext, args?: SearchCommitsCommandArgs) { + protected override preExecute(context: CommandContext, args?: SearchCommitsCommandArgs) { if (context.type === 'viewItem') { args = { ...args }; args.showResultsInSideBar = true; diff --git a/src/commands/showQuickBranchHistory.ts b/src/commands/showQuickBranchHistory.ts index a9996ab..87406a6 100644 --- a/src/commands/showQuickBranchHistory.ts +++ b/src/commands/showQuickBranchHistory.ts @@ -18,7 +18,7 @@ export class ShowQuickBranchHistoryCommand extends ActiveEditorCachedCommand { super([Commands.ShowQuickBranchHistory, Commands.ShowQuickCurrentBranchHistory]); } - protected preExecute(context: CommandContext, args?: ShowQuickBranchHistoryCommandArgs) { + protected override preExecute(context: CommandContext, args?: ShowQuickBranchHistoryCommandArgs) { if (context.command === Commands.ShowQuickCurrentBranchHistory) { args = { ...args }; args.branch = 'HEAD'; diff --git a/src/commands/showQuickCommit.ts b/src/commands/showQuickCommit.ts index 6ced37b..3d0e235 100644 --- a/src/commands/showQuickCommit.ts +++ b/src/commands/showQuickCommit.ts @@ -36,7 +36,7 @@ export class ShowQuickCommitCommand extends ActiveEditorCachedCommand { super([Commands.RevealCommitInView, Commands.ShowQuickCommit]); } - protected preExecute(context: CommandContext, args?: ShowQuickCommitCommandArgs) { + protected override preExecute(context: CommandContext, args?: ShowQuickCommitCommandArgs) { if (context.command === Commands.RevealCommitInView) { args = { ...args }; args.revealInView = true; diff --git a/src/commands/showQuickCommitFile.ts b/src/commands/showQuickCommitFile.ts index d47812e..b94bcf1 100644 --- a/src/commands/showQuickCommitFile.ts +++ b/src/commands/showQuickCommitFile.ts @@ -37,7 +37,7 @@ export class ShowQuickCommitFileCommand extends ActiveEditorCachedCommand { ]); } - protected async preExecute(context: CommandContext, args?: ShowQuickCommitFileCommandArgs) { + protected override async preExecute(context: CommandContext, args?: ShowQuickCommitFileCommandArgs) { if (context.editor != null && context.command.startsWith(Commands.ShowQuickCommitRevision)) { args = { ...args }; diff --git a/src/commands/showQuickFileHistory.ts b/src/commands/showQuickFileHistory.ts index 6d11116..e3f5025 100644 --- a/src/commands/showQuickFileHistory.ts +++ b/src/commands/showQuickFileHistory.ts @@ -30,7 +30,7 @@ export class ShowQuickFileHistoryCommand extends ActiveEditorCachedCommand { ]); } - protected preExecute(context: CommandContext, args?: ShowQuickFileHistoryCommandArgs) { + protected override preExecute(context: CommandContext, args?: ShowQuickFileHistoryCommandArgs) { if ( context.command === Commands.OpenFileHistory || context.command === Commands.OpenFolderHistory || diff --git a/src/commands/showView.ts b/src/commands/showView.ts index ae8fac1..ded06e1 100644 --- a/src/commands/showView.ts +++ b/src/commands/showView.ts @@ -22,7 +22,7 @@ export class ShowViewCommand extends Command { ]); } - protected preExecute(context: CommandContext) { + protected override preExecute(context: CommandContext) { return this.execute(context.command as Commands); } diff --git a/src/commands/stashApply.ts b/src/commands/stashApply.ts index 50dca2a..2766879 100644 --- a/src/commands/stashApply.ts +++ b/src/commands/stashApply.ts @@ -25,7 +25,7 @@ export class StashApplyCommand extends Command { super(Commands.StashApply); } - protected preExecute(context: CommandContext, args?: StashApplyCommandArgs) { + protected override preExecute(context: CommandContext, args?: StashApplyCommandArgs) { if (isCommandContextViewNodeHasCommit(context)) { args = { ...args, stashItem: context.node.commit }; } else if (isCommandContextViewNodeHasRepository(context)) { diff --git a/src/commands/stashSave.ts b/src/commands/stashSave.ts index e316b3a..bd53860 100644 --- a/src/commands/stashSave.ts +++ b/src/commands/stashSave.ts @@ -32,7 +32,7 @@ export class StashSaveCommand extends Command { super([Commands.StashSave, Commands.StashSaveFiles]); } - protected async preExecute(context: CommandContext, args?: StashSaveCommandArgs) { + protected override async preExecute(context: CommandContext, args?: StashSaveCommandArgs) { if (isCommandContextViewNodeHasFile(context)) { args = { ...args }; args.repoPath = context.node.file.repoPath ?? context.node.repoPath; diff --git a/src/commands/toggleFileAnnotations.ts b/src/commands/toggleFileAnnotations.ts index fb29673..e2d1a3e 100644 --- a/src/commands/toggleFileAnnotations.ts +++ b/src/commands/toggleFileAnnotations.ts @@ -121,9 +121,7 @@ async function toggleFileAnnotations { return super.fromTemplateCoreAsync(this, template, commit, dateFormatOrOptions); } - static has(template: string, ...tokens: (keyof NonNullable)[]): boolean { + static override has(template: string, ...tokens: (keyof NonNullable)[]): boolean { return super.has(template, ...tokens); } } diff --git a/src/git/formatters/formatter.ts b/src/git/formatters/formatter.ts index a0c9728..52167fa 100644 --- a/src/git/formatters/formatter.ts +++ b/src/git/formatters/formatter.ts @@ -140,7 +140,7 @@ export abstract class Formatter, Item, - Options extends FormatOptions + Options extends FormatOptions, >( formatter: TFormatter | Constructor, template: string, @@ -188,7 +188,7 @@ export abstract class Formatter) as string); + : (`(${tokens.join('|')})` as keyof NonNullable as string); let regex = hasTokenRegexMap.get(token); if (regex == null) { diff --git a/src/git/git.ts b/src/git/git.ts index 5603deb..e47e959 100644 --- a/src/git/git.ts +++ b/src/git/git.ts @@ -22,7 +22,7 @@ export { RunError } from './shell'; export type GitDiffFilter = 'A' | 'C' | 'D' | 'M' | 'R' | 'T' | 'U' | 'X' | 'B' | '*'; -const emptyArray = (Object.freeze([]) as any) as any[]; +const emptyArray = Object.freeze([]) as unknown as any[]; const emptyObj = Object.freeze({}); const emptyStr = ''; export const maxGitCliLength = 30000; @@ -50,7 +50,8 @@ const GitWarnings = { foundButNotInRevision: /Path '.*?' exists on disk, but not in/i, headNotABranch: /HEAD does not point to a branch/i, noUpstream: /no upstream configured for branch '(.*?)'/i, - unknownRevision: /ambiguous argument '.*?': unknown revision or path not in the working tree|not stored as a remote-tracking branch/i, + unknownRevision: + /ambiguous argument '.*?': unknown revision or path not in the working tree|not stored as a remote-tracking branch/i, mustRunInWorkTree: /this operation must be run in a work tree/i, patchWithConflicts: /Applied patch to '.*?' with conflicts/i, noRemoteRepositorySpecified: /No remote repository specified\./i, diff --git a/src/git/gitService.ts b/src/git/gitService.ts index a7c7f54..fa198bf 100644 --- a/src/git/gitService.ts +++ b/src/git/gitService.ts @@ -3238,9 +3238,8 @@ export class GitService implements Disposable { if (remote !== undefined) return remote ?? undefined; } - const remotes = (typeof remotesOrRepoPath === 'string' - ? await this.getRemotes(remotesOrRepoPath) - : remotesOrRepoPath + const remotes = ( + typeof remotesOrRepoPath === 'string' ? await this.getRemotes(remotesOrRepoPath) : remotesOrRepoPath ).filter(r => r.provider != null); if (remotes.length === 0) return undefined; diff --git a/src/git/gitUri.ts b/src/git/gitUri.ts index 0749165..3b2fb89 100644 --- a/src/git/gitUri.ts +++ b/src/git/gitUri.ts @@ -18,7 +18,6 @@ export interface GitCommitish { versionedPath?: string; } -// Taken from https://github.com/Microsoft/vscode/blob/master/src/vs/base/common/uri.ts#L331-L337 interface UriComponents { scheme: string; authority: string; @@ -34,7 +33,7 @@ interface UriEx { new (components: UriComponents): Uri; } -export class GitUri extends ((Uri as any) as UriEx) { +export class GitUri extends (Uri as any as UriEx) { static is(uri: any): uri is GitUri { return uri instanceof GitUri; } @@ -199,9 +198,8 @@ export class GitUri extends ((Uri as any) as UriEx) { } private static ensureValidUNCPath(authority: string, fsPath: string): [string, string] { - // Taken from https://github.com/Microsoft/vscode/blob/e444eaa768a1e8bd8315f2cee265d725e96a8162/src/vs/base/common/uri.ts#L300-L325 - // check for authority as used in UNC shares or use the path as given - if (fsPath.startsWith(slash) && fsPath[1] === slash) { + // Check for authority as used in UNC shares or use the path as given + if (fsPath[0] === slash && fsPath[1] === slash) { const index = fsPath.indexOf(slash, 2); if (index === -1) { authority = fsPath.substring(2); diff --git a/src/git/models/blameCommit.ts b/src/git/models/blameCommit.ts index c41eb3a..3c2e8f8 100644 --- a/src/git/models/blameCommit.ts +++ b/src/git/models/blameCommit.ts @@ -2,7 +2,7 @@ import { GitCommit, GitCommitLine, GitCommitType } from './commit'; export class GitBlameCommit extends GitCommit { - static is(commit: any): commit is GitBlameCommit { + static override is(commit: any): commit is GitBlameCommit { return ( commit instanceof GitBlameCommit //|| (commit.repoPath !== undefined && commit.sha !== undefined && commit.type === GitCommitType.Blame) diff --git a/src/git/models/logCommit.ts b/src/git/models/logCommit.ts index 058ad45..8d7dff6 100644 --- a/src/git/models/logCommit.ts +++ b/src/git/models/logCommit.ts @@ -24,11 +24,11 @@ export interface GitLogCommitLine { } export class GitLogCommit extends GitCommit { - static isOfRefType(commit: GitReference | undefined) { + static override isOfRefType(commit: GitReference | undefined) { return commit?.refType === 'revision'; } - static is(commit: any): commit is GitLogCommit { + static override is(commit: any): commit is GitLogCommit { return ( commit instanceof GitLogCommit // || (commit.repoPath !== undefined && @@ -81,7 +81,7 @@ export class GitLogCommit extends GitCommit { } @memoize() - get hasConflicts() { + override get hasConflicts() { return this.files.some(f => f.conflictStatus != null); } @@ -93,7 +93,7 @@ export class GitLogCommit extends GitCommit { return this.nextFileName ? GitUri.resolveToUri(this.nextFileName, this.repoPath) : this.uri; } - get previousFileSha(): string { + override get previousFileSha(): string { return this.isFile ? this.previousSha! : `${this.sha}^`; } diff --git a/src/git/models/stashCommit.ts b/src/git/models/stashCommit.ts index ef4a736..df05db3 100644 --- a/src/git/models/stashCommit.ts +++ b/src/git/models/stashCommit.ts @@ -9,11 +9,11 @@ import { gate, memoize } from '../../system'; const stashNumberRegex = /stash@{(\d+)}/; export class GitStashCommit extends GitLogCommit { - static isOfRefType(commit: GitReference | undefined) { + static override isOfRefType(commit: GitReference | undefined) { return commit?.refType === 'stash'; } - static is(commit: any): commit is GitStashCommit { + static override is(commit: any): commit is GitStashCommit { return ( commit instanceof GitStashCommit // || (commit.repoPath !== undefined && @@ -22,7 +22,7 @@ export class GitStashCommit extends GitLogCommit { ); } - readonly refType = 'stash'; + override readonly refType = 'stash'; constructor( type: GitCommitType, @@ -46,7 +46,7 @@ export class GitStashCommit extends GitLogCommit { return match[1]; } - get shortSha() { + override get shortSha() { return this.stashName; } @@ -74,7 +74,7 @@ export class GitStashCommit extends GitLogCommit { } } - with(changes: { + override with(changes: { type?: GitCommitType; sha?: string | null; fileName?: string; diff --git a/src/git/parsers/branchParser.ts b/src/git/parsers/branchParser.ts index 1a363f2..da6dc25 100644 --- a/src/git/parsers/branchParser.ts +++ b/src/git/parsers/branchParser.ts @@ -2,7 +2,8 @@ import { GitBranch } from '../models/branch'; import { debug } from '../../system'; -const branchWithTrackingRegex = /^(.+)(.+)(.*)(?:\[(?:ahead ([0-9]+))?[,\s]*(?:behind ([0-9]+))?]|\[(gone)])?(.*)(.*)$/gm; +const branchWithTrackingRegex = + /^(.+)(.+)(.*)(?:\[(?:ahead ([0-9]+))?[,\s]*(?:behind ([0-9]+))?]|\[(gone)])?(.*)(.*)$/gm; // Using %x00 codes because some shells seem to try to expand things if not const lb = '%3c'; // `%${'<'.charCodeAt(0).toString(16)}`; diff --git a/src/git/parsers/diffParser.ts b/src/git/parsers/diffParser.ts index 5fab3e6..332474c 100644 --- a/src/git/parsers/diffParser.ts +++ b/src/git/parsers/diffParser.ts @@ -4,7 +4,8 @@ import { GitFile, GitFileStatus } from '../models/file'; import { debug, Strings } from '../../system'; const nameStatusDiffRegex = /^(.*?)\t(.*?)(?:\t(.*?))?$/gm; -const shortStatDiffRegex = /^\s*(\d+)\sfiles? changed(?:,\s+(\d+)\s+insertions?\(\+\))?(?:,\s+(\d+)\s+deletions?\(-\))?/; +const shortStatDiffRegex = + /^\s*(\d+)\sfiles? changed(?:,\s+(\d+)\s+insertions?\(\+\))?(?:,\s+(\d+)\s+deletions?\(-\))?/; const unifiedDiffRegex = /^@@ -([\d]+)(?:,([\d]+))? \+([\d]+)(?:,([\d]+))? @@(?:.*?)\n([\s\S]*?)(?=^@@)/gm; export class GitDiffParser { diff --git a/src/git/parsers/logParser.ts b/src/git/parsers/logParser.ts index 4f84971..fe46ef2 100644 --- a/src/git/parsers/logParser.ts +++ b/src/git/parsers/logParser.ts @@ -291,9 +291,8 @@ export class GitLogParser { entry.status = (match[4] === 'copy' ? 'C' : 'R') as GitFileIndexStatus; renamedFileName = match[3]; - renamedMatch = fileStatusAndSummaryRenamedFilePathRegex.exec( - renamedFileName, - ); + renamedMatch = + fileStatusAndSummaryRenamedFilePathRegex.exec(renamedFileName); if (renamedMatch != null) { // If there is no new path, the path part was removed so ensure we don't end up with // entry.fileName = @@ -302,9 +301,8 @@ export class GitLogParser { : `${renamedMatch[1]}${renamedMatch[3]}${renamedMatch[4]}`; entry.originalFileName = `${renamedMatch[1]}${renamedMatch[2]}${renamedMatch[4]}`; } else { - renamedMatch = fileStatusAndSummaryRenamedFileRegex.exec( - renamedFileName, - ); + renamedMatch = + fileStatusAndSummaryRenamedFileRegex.exec(renamedFileName); if (renamedMatch != null) { entry.fileName = renamedMatch[2]; entry.originalFileName = renamedMatch[1]; diff --git a/src/git/parsers/remoteParser.ts b/src/git/parsers/remoteParser.ts index b0b81e4..584299a 100644 --- a/src/git/parsers/remoteParser.ts +++ b/src/git/parsers/remoteParser.ts @@ -7,7 +7,8 @@ import { debug } from '../../system'; const emptyStr = ''; const remoteRegex = /^(.*)\t(.*)\s\((.*)\)$/gm; -const urlRegex = /^(?:(git:\/\/)(.*?)\/|(https?:\/\/)(?:.*?@)?(.*?)\/|git@(.*):|(ssh:\/\/)(?:.*@)?(.*?)(?::.*?)?(?:\/|(?=~))|(?:.*?@)(.*?):)(.*)$/; +const urlRegex = + /^(?:(git:\/\/)(.*?)\/|(https?:\/\/)(?:.*?@)?(.*?)\/|git@(.*):|(ssh:\/\/)(?:.*@)?(.*?)(?::.*?)?(?:\/|(?=~))|(?:.*?@)(.*?):)(.*)$/; // Test git urls /* diff --git a/src/git/remotes/azure-devops.ts b/src/git/remotes/azure-devops.ts index dad8ea5..93781da 100644 --- a/src/git/remotes/azure-devops.ts +++ b/src/git/remotes/azure-devops.ts @@ -43,7 +43,7 @@ export class AzureDevOpsRemote extends RemoteProvider { } private _autolinks: (AutolinkReference | DynamicAutolinkReference)[] | undefined; - get autolinks(): (AutolinkReference | DynamicAutolinkReference)[] { + override get autolinks(): (AutolinkReference | DynamicAutolinkReference)[] { if (this._autolinks === undefined) { // Strip off any `_git` part from the repo url const baseUrl = this.baseUrl.replace(gitRegex, '/'); @@ -58,7 +58,7 @@ export class AzureDevOpsRemote extends RemoteProvider { return this._autolinks; } - get icon() { + override get icon() { return 'vsts'; } @@ -71,7 +71,7 @@ export class AzureDevOpsRemote extends RemoteProvider { } private _displayPath: string | undefined; - get displayPath(): string { + override get displayPath(): string { if (this._displayPath === undefined) { this._displayPath = this.path.replace(gitRegex, '/').replace(legacyDefaultCollectionRegex, ''); } @@ -124,7 +124,7 @@ export class AzureDevOpsRemote extends RemoteProvider { return this.encodeUrl(`${this.baseUrl}/commit/${sha}`); } - protected getUrlForComparison(base: string, compare: string, _notation: '..' | '...'): string { + protected override getUrlForComparison(base: string, compare: string, _notation: '..' | '...'): string { return this.encodeUrl(`${this.baseUrl}/branchCompare?baseVersion=GB${base}&targetVersion=GB${compare}`); } @@ -132,9 +132,13 @@ export class AzureDevOpsRemote extends RemoteProvider { let line; if (range != null) { if (range.start.line === range.end.line) { - line = `&line=${range.start.line}&lineStartColumn=${range.start.character + 1}&lineEndColumn=${range.end.character + 1}`; + line = `&line=${range.start.line}&lineStartColumn=${range.start.character + 1}&lineEndColumn=${ + range.end.character + 1 + }`; } else { - line = `&line=${range.start.line}&lineEnd=${range.end.line}&lineStartColumn=${range.start.character + 1}&lineEndColumn=${range.end.character + 1}`; + line = `&line=${range.start.line}&lineEnd=${range.end.line}&lineStartColumn=${ + range.start.character + 1 + }&lineEndColumn=${range.end.character + 1}`; } } else { line = ''; diff --git a/src/git/remotes/bitbucket-server.ts b/src/git/remotes/bitbucket-server.ts index 7907aca..e222068 100644 --- a/src/git/remotes/bitbucket-server.ts +++ b/src/git/remotes/bitbucket-server.ts @@ -15,7 +15,7 @@ export class BitbucketServerRemote extends RemoteProvider { } private _autolinks: (AutolinkReference | DynamicAutolinkReference)[] | undefined; - get autolinks(): (AutolinkReference | DynamicAutolinkReference)[] { + override get autolinks(): (AutolinkReference | DynamicAutolinkReference)[] { if (this._autolinks === undefined) { this._autolinks = [ { @@ -33,14 +33,14 @@ export class BitbucketServerRemote extends RemoteProvider { return this._autolinks; } - protected get baseUrl(): string { + protected override get baseUrl(): string { const [project, repo] = this.path.startsWith('scm/') ? this.path.replace('scm/', '').split('/') : this.splitPath(); return `${this.protocol}://${this.domain}/projects/${project}/repos/${repo}`; } - get icon() { + override get icon() { return 'bitbucket'; } @@ -126,7 +126,7 @@ export class BitbucketServerRemote extends RemoteProvider { return this.encodeUrl(`${this.baseUrl}/commits/${sha}`); } - protected getUrlForComparison(base: string, compare: string, _notation: '..' | '...'): string { + protected override getUrlForComparison(base: string, compare: string, _notation: '..' | '...'): string { return this.encodeUrl(`${this.baseUrl}/branches/compare/${base}%0D${compare}`).replace('%250D', '%0D'); } diff --git a/src/git/remotes/bitbucket.ts b/src/git/remotes/bitbucket.ts index 0da65a1..20adcd7 100644 --- a/src/git/remotes/bitbucket.ts +++ b/src/git/remotes/bitbucket.ts @@ -15,7 +15,7 @@ export class BitbucketRemote extends RemoteProvider { } private _autolinks: (AutolinkReference | DynamicAutolinkReference)[] | undefined; - get autolinks(): (AutolinkReference | DynamicAutolinkReference)[] { + override get autolinks(): (AutolinkReference | DynamicAutolinkReference)[] { if (this._autolinks === undefined) { this._autolinks = [ { @@ -33,7 +33,7 @@ export class BitbucketRemote extends RemoteProvider { return this._autolinks; } - get icon() { + override get icon() { return 'bitbucket'; } @@ -119,7 +119,7 @@ export class BitbucketRemote extends RemoteProvider { return this.encodeUrl(`${this.baseUrl}/commits/${sha}`); } - protected getUrlForComparison(base: string, compare: string, _notation: '..' | '...'): string { + protected override getUrlForComparison(base: string, compare: string, _notation: '..' | '...'): string { return this.encodeUrl(`${this.baseUrl}/branches/compare/${base}%0D${compare}`).replace('%250D', '%0D'); } diff --git a/src/git/remotes/custom.ts b/src/git/remotes/custom.ts index c994379..640ece5 100644 --- a/src/git/remotes/custom.ts +++ b/src/git/remotes/custom.ts @@ -28,7 +28,7 @@ export class CustomRemote extends RemoteProvider { return Promise.resolve(undefined); } - protected getUrlForRepository(): string { + protected override getUrlForRepository(): string { return this.encodeUrl(Strings.interpolate(this.urls.repository, this.getContext())); } @@ -44,7 +44,7 @@ export class CustomRemote extends RemoteProvider { return this.encodeUrl(Strings.interpolate(this.urls.commit, this.getContext({ id: sha }))); } - protected getUrlForComparison(base: string, compare: string, notation: '..' | '...'): string | undefined { + protected override getUrlForComparison(base: string, compare: string, notation: '..' | '...'): string | undefined { if (this.urls.comparison == null) return undefined; return this.encodeUrl( diff --git a/src/git/remotes/gitea.ts b/src/git/remotes/gitea.ts index 9498a3a..8d8fde5 100644 --- a/src/git/remotes/gitea.ts +++ b/src/git/remotes/gitea.ts @@ -15,7 +15,7 @@ export class GiteaRemote extends RemoteProvider { } private _autolinks: (AutolinkReference | DynamicAutolinkReference)[] | undefined; - get autolinks(): (AutolinkReference | DynamicAutolinkReference)[] { + override get autolinks(): (AutolinkReference | DynamicAutolinkReference)[] { if (this._autolinks === undefined) { this._autolinks = [ { @@ -28,7 +28,7 @@ export class GiteaRemote extends RemoteProvider { return this._autolinks; } - get icon() { + override get icon() { return 'gitea'; } @@ -123,7 +123,7 @@ export class GiteaRemote extends RemoteProvider { return `${this.baseUrl}/commit/${sha}`; } - protected getUrlForComparison(ref1: string, ref2: string, _notation: '..' | '...'): string { + protected override getUrlForComparison(ref1: string, ref2: string, _notation: '..' | '...'): string { return `${this.baseUrl}/compare/${ref1}...${ref2}`; } diff --git a/src/git/remotes/github.ts b/src/git/remotes/github.ts index 5b16074..6928f51 100644 --- a/src/git/remotes/github.ts +++ b/src/git/remotes/github.ts @@ -35,7 +35,7 @@ export class GitHubRemote extends RichRemoteProvider { } private _autolinks: (AutolinkReference | DynamicAutolinkReference)[] | undefined; - get autolinks(): (AutolinkReference | DynamicAutolinkReference)[] { + override get autolinks(): (AutolinkReference | DynamicAutolinkReference)[] { if (this._autolinks === undefined) { this._autolinks = [ { @@ -61,7 +61,7 @@ export class GitHubRemote extends RichRemoteProvider { return this._autolinks; } - get icon() { + override get icon() { return 'github'; } @@ -147,11 +147,11 @@ export class GitHubRemote extends RichRemoteProvider { return this.encodeUrl(`${this.baseUrl}/commit/${sha}`); } - protected getUrlForComparison(base: string, compare: string, notation: '..' | '...'): string { + protected override getUrlForComparison(base: string, compare: string, notation: '..' | '...'): string { return this.encodeUrl(`${this.baseUrl}/compare/${base}${notation}${compare}`); } - protected getUrlForCreatePullRequest( + protected override getUrlForCreatePullRequest( base: { branch?: string; remote: { path: string; url: string } }, compare: { branch: string; remote: { path: string; url: string } }, ): string | undefined { diff --git a/src/git/remotes/gitlab.ts b/src/git/remotes/gitlab.ts index 1cdeafe..f3f557e 100644 --- a/src/git/remotes/gitlab.ts +++ b/src/git/remotes/gitlab.ts @@ -15,7 +15,7 @@ export class GitLabRemote extends RemoteProvider { } private _autolinks: (AutolinkReference | DynamicAutolinkReference)[] | undefined; - get autolinks(): (AutolinkReference | DynamicAutolinkReference)[] { + override get autolinks(): (AutolinkReference | DynamicAutolinkReference)[] { if (this._autolinks === undefined) { this._autolinks = [ { @@ -28,7 +28,7 @@ export class GitLabRemote extends RemoteProvider { return this._autolinks; } - get icon() { + override get icon() { return 'gitlab'; } @@ -114,7 +114,7 @@ export class GitLabRemote extends RemoteProvider { return this.encodeUrl(`${this.baseUrl}/commit/${sha}`); } - protected getUrlForComparison(base: string, compare: string, notation: '..' | '...'): string { + protected override getUrlForComparison(base: string, compare: string, notation: '..' | '...'): string { return this.encodeUrl(`${this.baseUrl}/-/compare/${base}${notation}${compare}`); } diff --git a/src/git/remotes/provider.ts b/src/git/remotes/provider.ts index 05c3ca5..df1a92f 100644 --- a/src/git/remotes/provider.ts +++ b/src/git/remotes/provider.ts @@ -265,7 +265,7 @@ export class ClientError extends Error { // TODO@eamodio revisit how once authenticated, all remotes are always connected, even after a restart export abstract class RichRemoteProvider extends RemoteProvider { - readonly type: 'simple' | 'rich' = 'rich'; + override readonly type: 'simple' | 'rich' = 'rich'; static is(provider: RemoteProvider | undefined): provider is RichRemoteProvider { return provider?.type === 'rich'; diff --git a/src/git/search.ts b/src/git/search.ts index a9f2c7e..0712e14 100644 --- a/src/git/search.ts +++ b/src/git/search.ts @@ -41,7 +41,8 @@ export namespace SearchPattern { const searchMessageOperationRegex = /(?=(.*?)\s?(?:(?:=:|message:|@:|author:|#:|commit:|\?:|file:|~:|change:)|$))/; const searchMessageValuesRegex = /(".+"|[^\b\s]+)/g; - const searchOperationRegex = /((?:=|message|@|author|#|commit|\?|file|~|change):)\s?(?=(.*?)\s?(?:(?:=:|message:|@:|author:|#:|commit:|\?:|file:|~:|change:)|$))/g; + const searchOperationRegex = + /((?:=|message|@|author|#|commit|\?|file|~|change):)\s?(?=(.*?)\s?(?:(?:=:|message:|@:|author:|#:|commit:|\?:|file:|~:|change:)|$))/g; export function fromCommit(ref: string): string; export function fromCommit(commit: GitRevisionReference): string; diff --git a/src/quickpicks/commitQuickPickItems.ts b/src/quickpicks/commitQuickPickItems.ts index 7fc180d..a7d619f 100644 --- a/src/quickpicks/commitQuickPickItems.ts +++ b/src/quickpicks/commitQuickPickItems.ts @@ -50,7 +50,7 @@ export class CommitFileQuickPickItem extends CommandQuickPickItem { return this.commit.sha; } - execute(options?: { preserveFocus?: boolean; preview?: boolean }): Promise { + override execute(options?: { preserveFocus?: boolean; preview?: boolean }): Promise { return GitActions.Commit.openChanges(this.file, this.commit, options); // const fileCommit = this.commit.toFileCommit(this.file)!; @@ -88,7 +88,7 @@ export class CommitBrowseRepositoryFromHereCommandQuickPickItem extends CommandQ ); } - execute(_options: { preserveFocus?: boolean; preview?: boolean }): Promise { + override execute(_options: { preserveFocus?: boolean; preview?: boolean }): Promise { return GitActions.browseAtRevision(this.commit.toGitUri(), { before: this.executeOptions?.before, openInNewWindow: this.executeOptions?.openInNewWindow, @@ -101,7 +101,7 @@ export class CommitCompareWithHEADCommandQuickPickItem extends CommandQuickPickI super(item ?? '$(compare-changes) Compare with HEAD'); } - execute(_options: { preserveFocus?: boolean; preview?: boolean }): Promise { + override execute(_options: { preserveFocus?: boolean; preview?: boolean }): Promise { return Container.searchAndCompareView.compare(this.commit.repoPath, this.commit.ref, 'HEAD'); } } @@ -111,7 +111,7 @@ export class CommitCompareWithWorkingCommandQuickPickItem extends CommandQuickPi super(item ?? '$(compare-changes) Compare with Working Tree'); } - execute(_options: { preserveFocus?: boolean; preview?: boolean }): Promise { + override execute(_options: { preserveFocus?: boolean; preview?: boolean }): Promise { return Container.searchAndCompareView.compare(this.commit.repoPath, this.commit.ref, ''); } } @@ -121,11 +121,11 @@ export class CommitCopyIdQuickPickItem extends CommandQuickPickItem { super(item ?? '$(clippy) Copy SHA'); } - execute(): Promise { + override execute(): Promise { return GitActions.Commit.copyIdToClipboard(this.commit); } - async onDidPressKey(key: Keys): Promise { + override async onDidPressKey(key: Keys): Promise { await super.onDidPressKey(key); void window.showInformationMessage('Commit SHA copied to the clipboard'); } @@ -136,11 +136,11 @@ export class CommitCopyMessageQuickPickItem extends CommandQuickPickItem { super(item ?? '$(clippy) Copy Message'); } - execute(): Promise { + override execute(): Promise { return GitActions.Commit.copyMessageToClipboard(this.commit); } - async onDidPressKey(key: Keys): Promise { + override async onDidPressKey(key: Keys): Promise { await super.onDidPressKey(key); void window.showInformationMessage( `${this.commit.isStash ? 'Stash' : 'Commit'} Message copied to the clipboard`, @@ -153,7 +153,7 @@ export class CommitOpenAllChangesCommandQuickPickItem extends CommandQuickPickIt super(item ?? '$(git-compare) Open All Changes'); } - execute(options: { preserveFocus?: boolean; preview?: boolean }): Promise { + override execute(options: { preserveFocus?: boolean; preview?: boolean }): Promise { return GitActions.Commit.openAllChanges(this.commit, options); } } @@ -163,7 +163,7 @@ export class CommitOpenAllChangesWithDiffToolCommandQuickPickItem extends Comman super(item ?? '$(git-compare) Open All Changes (difftool)'); } - execute(): Promise { + override execute(): Promise { return GitActions.Commit.openAllChangesWithDiffTool(this.commit); } } @@ -173,7 +173,7 @@ export class CommitOpenAllChangesWithWorkingCommandQuickPickItem extends Command super(item ?? '$(git-compare) Open All Changes with Working Tree'); } - execute(options: { preserveFocus?: boolean; preview?: boolean }): Promise { + override execute(options: { preserveFocus?: boolean; preview?: boolean }): Promise { return GitActions.Commit.openAllChangesWithWorking(this.commit, options); } } @@ -183,7 +183,7 @@ export class CommitOpenChangesCommandQuickPickItem extends CommandQuickPickItem super(item ?? '$(git-compare) Open Changes'); } - execute(options: { preserveFocus?: boolean; preview?: boolean }): Promise { + override execute(options: { preserveFocus?: boolean; preview?: boolean }): Promise { return GitActions.Commit.openChanges(this.file, this.commit, options); } } @@ -193,7 +193,7 @@ export class CommitOpenChangesWithDiffToolCommandQuickPickItem extends CommandQu super(item ?? '$(git-compare) Open Changes (difftool)'); } - execute(): Promise { + override execute(): Promise { return GitActions.Commit.openChangesWithDiffTool(this.file, this.commit); } } @@ -203,7 +203,7 @@ export class CommitOpenChangesWithWorkingCommandQuickPickItem extends CommandQui super(item ?? '$(git-compare) Open Changes with Working File'); } - execute(options: { preserveFocus?: boolean; preview?: boolean }): Promise { + override execute(options: { preserveFocus?: boolean; preview?: boolean }): Promise { return GitActions.Commit.openChangesWithWorking(this.file, this.commit, options); } } @@ -213,7 +213,7 @@ export class CommitOpenDirectoryCompareCommandQuickPickItem extends CommandQuick super(item ?? '$(git-compare) Open Directory Compare'); } - execute(): Promise { + override execute(): Promise { return GitActions.Commit.openDirectoryCompareWithPrevious(this.commit); } } @@ -223,7 +223,7 @@ export class CommitOpenDirectoryCompareWithWorkingCommandQuickPickItem extends C super(item ?? '$(git-compare) Open Directory Compare with Working Tree'); } - execute(): Promise { + override execute(): Promise { return GitActions.Commit.openDirectoryCompareWithWorking(this.commit); } } @@ -233,7 +233,7 @@ export class CommitOpenFilesCommandQuickPickItem extends CommandQuickPickItem { super(item ?? '$(files) Open Files'); } - execute(_options: { preserveFocus?: boolean; preview?: boolean }): Promise { + override execute(_options: { preserveFocus?: boolean; preview?: boolean }): Promise { return GitActions.Commit.openFiles(this.commit); } } @@ -243,7 +243,7 @@ export class CommitOpenFileCommandQuickPickItem extends CommandQuickPickItem { super(item ?? '$(file) Open File'); } - execute(options?: { preserveFocus?: boolean; preview?: boolean }): Promise { + override execute(options?: { preserveFocus?: boolean; preview?: boolean }): Promise { return GitActions.Commit.openFile(this.file, this.commit, options); } } @@ -253,7 +253,7 @@ export class CommitOpenRevisionsCommandQuickPickItem extends CommandQuickPickIte super(item ?? '$(files) Open Files at Revision'); } - execute(_options: { preserveFocus?: boolean; preview?: boolean }): Promise { + override execute(_options: { preserveFocus?: boolean; preview?: boolean }): Promise { return GitActions.Commit.openFilesAtRevision(this.commit); } } @@ -263,7 +263,7 @@ export class CommitOpenRevisionCommandQuickPickItem extends CommandQuickPickItem super(item ?? '$(file) Open File at Revision'); } - execute(options?: { preserveFocus?: boolean; preview?: boolean }): Promise { + override execute(options?: { preserveFocus?: boolean; preview?: boolean }): Promise { return GitActions.Commit.openFileAtRevision(this.file, this.commit, options); } } @@ -273,7 +273,7 @@ export class CommitApplyFileChangesCommandQuickPickItem extends CommandQuickPick super(item ?? 'Apply Changes'); } - async execute(): Promise { + override async execute(): Promise { return GitActions.Commit.applyChanges(this.file, this.commit); } } @@ -288,7 +288,7 @@ export class CommitRestoreFileChangesCommandQuickPickItem extends CommandQuickPi ); } - execute(): Promise { + override execute(): Promise { return GitActions.Commit.restoreFile(this.file, this.commit); } } diff --git a/src/quickpicks/quickPicksItems.ts b/src/quickpicks/quickPicksItems.ts index 6066ac7..97cd770 100644 --- a/src/quickpicks/quickPicksItems.ts +++ b/src/quickpicks/quickPicksItems.ts @@ -168,7 +168,7 @@ export class ActionQuickPickItem extends CommandQuickPickItem { super(labelOrItem, undefined, undefined); } - async execute(options?: { preserveFocus?: boolean; preview?: boolean }): Promise { + override async execute(options?: { preserveFocus?: boolean; preview?: boolean }): Promise { return this.action(options); } } @@ -198,7 +198,7 @@ export class RevealInSideBarQuickPickItem extends CommandQuickPickItem { super(item, undefined, undefined); } - async execute(options?: { preserveFocus?: boolean; preview?: boolean }): Promise { + override async execute(options?: { preserveFocus?: boolean; preview?: boolean }): Promise { if (GitStashCommit.is(this.reference)) { void (await GitActions.Stash.reveal(this.reference, { select: true, @@ -225,7 +225,7 @@ export class SearchForCommitQuickPickItem extends CommandQuickPickItem { super(item, undefined, undefined); } - async execute(options?: { preserveFocus?: boolean; preview?: boolean }): Promise { + override async execute(options?: { preserveFocus?: boolean; preview?: boolean }): Promise { void (await Container.searchAndCompareView.search( this.reference.repoPath, { diff --git a/src/quickpicks/remoteProviderPicker.ts b/src/quickpicks/remoteProviderPicker.ts index f7e59e4..3329d6d 100644 --- a/src/quickpicks/remoteProviderPicker.ts +++ b/src/quickpicks/remoteProviderPicker.ts @@ -19,7 +19,7 @@ export class ConfigureCustomRemoteProviderCommandQuickPickItem extends CommandQu super({ label: 'See how to configure a custom remote provider...' }); } - async execute(): Promise { + override async execute(): Promise { await env.openExternal( Uri.parse('https://github.com/eamodio/vscode-gitlens#remote-provider-integration-settings-'), ); @@ -38,7 +38,7 @@ export class CopyOrOpenRemoteCommandQuickPickItem extends CommandQuickPickItem { }); } - async execute(): Promise { + override async execute(): Promise { let resource = this.resource; if (resource.type === RemoteResourceType.Comparison) { if (GitBranch.getRemote(resource.base) === this.remote.name) { @@ -102,7 +102,7 @@ export class CopyRemoteResourceCommandQuickPickItem extends CommandQuickPickItem ); } - async onDidPressKey(key: Keys): Promise { + override async onDidPressKey(key: Keys): Promise { await super.onDidPressKey(key); void window.showInformationMessage('Url copied to the clipboard'); } @@ -133,7 +133,7 @@ export class SetADefaultRemoteCommandQuickPickItem extends CommandQuickPickItem super({ label: 'Set a Default Remote...' }); } - async execute(): Promise | undefined> { + override async execute(): Promise | undefined> { return RemoteProviderPicker.setADefaultRemote(this.remotes); } } @@ -146,7 +146,7 @@ export class SetRemoteAsDefaultCommandQuickPickItem extends CommandQuickPickItem }); } - async execute(): Promise> { + override async execute(): Promise> { void (await this.remote.setAsDefault(true)); return this.remote; } @@ -193,11 +193,12 @@ export namespace RemoteProviderPicker { // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions if (autoPick && remotes.length === 1) return items[0]; - const quickpick = window.createQuickPick< - | ConfigureCustomRemoteProviderCommandQuickPickItem - | CopyOrOpenRemoteCommandQuickPickItem - | SetADefaultRemoteCommandQuickPickItem - >(); + const quickpick = + window.createQuickPick< + | ConfigureCustomRemoteProviderCommandQuickPickItem + | CopyOrOpenRemoteCommandQuickPickItem + | SetADefaultRemoteCommandQuickPickItem + >(); quickpick.ignoreFocusOut = getQuickPickIgnoreFocusOut(); const disposables: Disposable[] = []; diff --git a/src/system/function.ts b/src/system/function.ts index dd4ed1a..821bf10 100644 --- a/src/system/function.ts +++ b/src/system/function.ts @@ -49,10 +49,10 @@ export function debounce any>( let pending = false; const debounced = _debounce( - (function (this: any, ...args: any[]) { + function (this: any, ...args: any[]) { pending = false; return fn.apply(this, args); - } as any) as T, + } as any as T, wait, options, ); diff --git a/src/system/promise.ts b/src/system/promise.ts index 9ee0414..4cf3267 100644 --- a/src/system/promise.ts +++ b/src/system/promise.ts @@ -105,9 +105,7 @@ export async function raceAll( ) { let promises; if (timeoutOrFn != null && typeof timeoutOrFn !== 'number') { - promises = new Map( - map]>(promisesOrIds as Iterable, id => [id, timeoutOrFn(id)]), - ); + promises = new Map(map]>(promisesOrIds as Iterable, id => [id, timeoutOrFn(id)])); } else { timeout = timeoutOrFn; promises = promisesOrIds as Promise[] | Map>; diff --git a/src/system/searchTree.ts b/src/system/searchTree.ts index c8f29d7..0f12caf 100644 --- a/src/system/searchTree.ts +++ b/src/system/searchTree.ts @@ -3,8 +3,6 @@ import { count, map, some } from './iterable'; import { CharCode, compareSubstring, compareSubstringIgnoreCase } from './string'; -// Code stolen from https://github.com/Microsoft/vscode/blob/b3e6d5bb039a4a9362b52a2c8726267ca68cf64e/src/vs/base/common/map.ts#L352 - const FIN = { done: true, value: undefined }; // eslint-disable-next-line @typescript-eslint/naming-convention @@ -331,7 +329,7 @@ export class TernarySearchTree { this._forEach(node, value => data.push(value), limit); } if (idx >= data.length) { - return (FIN as unknown) as IteratorResult; + return FIN as unknown as IteratorResult; } if (!res) { diff --git a/src/system/string.ts b/src/system/string.ts index 4ac17be..54f673a 100644 --- a/src/system/string.ts +++ b/src/system/string.ts @@ -438,12 +438,13 @@ export function truncateMiddle(s: string, truncateTo: number, ellipsis: string = return `${s.slice(0, Math.floor(truncateTo / 2) - 1)}${ellipsis}${s.slice(width - Math.ceil(truncateTo / 2))}`; } -// Lifted from https://github.com/chalk/ansi-regex -// eslint-disable-next-line no-control-regex -const ansiRegex = /[\u001B\u009B][[\]()#;?]*(?:(?:(?:[a-zA-Z\d]*(?:;[-a-zA-Z\d/#&.:=?%@~_]*)*)?\u0007)|(?:(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PR-TZcf-ntqry=><~]))/g; +// See chalk/ansi-regex +const ansiRegex = + // eslint-disable-next-line no-control-regex + /[\u001B\u009B][[\]()#;?]*(?:(?:(?:[a-zA-Z\d]*(?:;[-a-zA-Z\d/#&.:=?%@~_]*)*)?\u0007)|(?:(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PR-TZcf-ntqry=><~]))/g; const containsNonAsciiRegex = /[^\x20-\x7F\u00a0\u2026]/; -// Originally from https://github.com/sindresorhus/string-width +// See sindresorhus/string-width export function getWidth(s: string): number { if (s == null || s.length === 0) return 0; @@ -466,7 +467,6 @@ export function getWidth(s: string): number { // Ignore combining characters if (code >= 0x300 && code <= 0x36f) continue; - // https://stackoverflow.com/questions/30757193/find-out-if-character-in-string-is-emoji if ( (code >= 0x1f600 && code <= 0x1f64f) || // Emoticons (code >= 0x1f300 && code <= 0x1f5ff) || // Misc Symbols and Pictographs @@ -507,7 +507,7 @@ export function getWidth(s: string): number { return count; } -// Originally from https://github.com/sindresorhus/is-fullwidth-code-point +// See sindresorhus/is-fullwidth-code-point function isFullwidthCodePoint(cp: number) { // code points are derived from: // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt diff --git a/src/terminal/linkProvider.ts b/src/terminal/linkProvider.ts index 893e971..9bf5653 100644 --- a/src/terminal/linkProvider.ts +++ b/src/terminal/linkProvider.ts @@ -9,7 +9,8 @@ import { import { Container } from '../container'; import { GitReference } from '../git/git'; -const commandsRegexShared = /\b(g(?:it)?\b\s*)\b(branch|checkout|cherry-pick|fetch|grep|log|merge|pull|push|rebase|reset|revert|show|stash|status|tag)\b/gi; +const commandsRegexShared = + /\b(g(?:it)?\b\s*)\b(branch|checkout|cherry-pick|fetch|grep|log|merge|pull|push|rebase|reset|revert|show|stash|status|tag)\b/gi; // Since negative lookbehind isn't supported in all browsers, leave out the negative lookbehind condition `(? { - protected async fireLinesChanged(e: LinesChangeEvent) { + protected override async fireLinesChanged(e: LinesChangeEvent) { this.reset(); let updated = false; @@ -34,7 +34,7 @@ export class GitLineTracker extends LineTracker { private _subscriptionOnlyWhenActive: Disposable | undefined; - protected onStart(): Disposable | undefined { + protected override onStart(): Disposable | undefined { this.onResume(); return Disposable.from( @@ -45,13 +45,13 @@ export class GitLineTracker extends LineTracker { ); } - protected onResume(): void { + protected override onResume(): void { if (this._subscriptionOnlyWhenActive == null) { this._subscriptionOnlyWhenActive = Container.tracker.onDidChangeContent(this.onContentChanged, this); } } - protected onSuspend(): void { + protected override onSuspend(): void { this._subscriptionOnlyWhenActive?.dispose(); this._subscriptionOnlyWhenActive = undefined; } diff --git a/src/views/branchesView.ts b/src/views/branchesView.ts index 158e1e9..352b951 100644 --- a/src/views/branchesView.ts +++ b/src/views/branchesView.ts @@ -62,7 +62,7 @@ export class BranchesRepositoryNode extends RepositoryFolderNode { - protected splatted = true; + protected override splatted = true; private children: BranchesRepositoryNode[] | undefined; constructor(view: BranchesView) { @@ -117,7 +117,7 @@ export class BranchesViewNode extends ViewNode { return item; } - async getSplattedChild() { + override async getSplattedChild() { if (this.children == null) { await this.getChildren(); } @@ -127,7 +127,7 @@ export class BranchesViewNode extends ViewNode { @gate() @debug() - refresh(reset: boolean = false) { + override refresh(reset: boolean = false) { if (reset && this.children != null) { for (const child of this.children) { child.dispose(); @@ -213,7 +213,7 @@ export class BranchesView extends ViewBase ); } - protected filterConfigurationChanged(e: ConfigurationChangeEvent) { + protected override filterConfigurationChanged(e: ConfigurationChangeEvent) { const changed = super.filterConfigurationChanged(e); if ( !changed && diff --git a/src/views/commitsView.ts b/src/views/commitsView.ts index 2feae34..66adc7a 100644 --- a/src/views/commitsView.ts +++ b/src/views/commitsView.ts @@ -68,7 +68,7 @@ export class CommitsRepositoryNode extends RepositoryFolderNode { - protected splatted = true; + protected override splatted = true; private children: CommitsRepositoryNode[] | undefined; constructor(view: CommitsView) { @@ -177,7 +177,7 @@ export class CommitsViewNode extends ViewNode { return item; } - async getSplattedChild() { + override async getSplattedChild() { if (this.children == null) { await this.getChildren(); } @@ -187,7 +187,7 @@ export class CommitsViewNode extends ViewNode { @gate() @debug() - refresh(reset: boolean = false) { + override refresh(reset: boolean = false) { if (reset && this.children != null) { for (const child of this.children) { child.dispose(); @@ -282,7 +282,7 @@ export class CommitsView extends ViewBase { ); } - protected filterConfigurationChanged(e: ConfigurationChangeEvent) { + protected override filterConfigurationChanged(e: ConfigurationChangeEvent) { const changed = super.filterConfigurationChanged(e); if ( !changed && diff --git a/src/views/contributorsView.ts b/src/views/contributorsView.ts index 690a43c..7ae111f 100644 --- a/src/views/contributorsView.ts +++ b/src/views/contributorsView.ts @@ -20,7 +20,7 @@ export class ContributorsRepositoryNode extends RepositoryFolderNode this.child?.updateAvatar(e.email)), @@ -39,7 +39,7 @@ export class ContributorsRepositoryNode extends RepositoryFolderNode { - protected splatted = true; + protected override splatted = true; private children: ContributorsRepositoryNode[] | undefined; constructor(view: ContributorsView) { @@ -107,7 +107,7 @@ export class ContributorsViewNode extends ViewNode { return item; } - async getSplattedChild() { + override async getSplattedChild() { if (this.children == null) { await this.getChildren(); } @@ -117,7 +117,7 @@ export class ContributorsViewNode extends ViewNode { @gate() @debug() - refresh(reset: boolean = false) { + override refresh(reset: boolean = false) { if (reset && this.children != null) { for (const child of this.children) { child.dispose(); @@ -185,7 +185,7 @@ export class ContributorsView extends ViewBase this.setShowAvatars(false), this); } - protected filterConfigurationChanged(e: ConfigurationChangeEvent) { + protected override filterConfigurationChanged(e: ConfigurationChangeEvent) { const changed = super.filterConfigurationChanged(e); if ( !changed && diff --git a/src/views/fileHistoryView.ts b/src/views/fileHistoryView.ts index b16cba7..7be8788 100644 --- a/src/views/fileHistoryView.ts +++ b/src/views/fileHistoryView.ts @@ -22,7 +22,7 @@ export class FileHistoryView extends ViewBase this.setShowAvatars(false), this); } - protected filterConfigurationChanged(e: ConfigurationChangeEvent) { + protected override filterConfigurationChanged(e: ConfigurationChangeEvent) { const changed = super.filterConfigurationChanged(e); if ( !changed && diff --git a/src/views/lineHistoryView.ts b/src/views/lineHistoryView.ts index ea4a694..7499024 100644 --- a/src/views/lineHistoryView.ts +++ b/src/views/lineHistoryView.ts @@ -17,7 +17,7 @@ export class LineHistoryView extends ViewBase this.setShowAvatars(false), this); } - protected filterConfigurationChanged(e: ConfigurationChangeEvent) { + protected override filterConfigurationChanged(e: ConfigurationChangeEvent) { const changed = super.filterConfigurationChanged(e); if ( !changed && diff --git a/src/views/nodes/branchNode.ts b/src/views/nodes/branchNode.ts index a182e53..53079eb 100644 --- a/src/views/nodes/branchNode.ts +++ b/src/views/nodes/branchNode.ts @@ -31,7 +31,8 @@ import { ContextValues, PageableViewNode, ViewNode, ViewRefNode } from './viewNo export class BranchNode extends ViewRefNode - implements PageableViewNode { + implements PageableViewNode +{ static key = ':branch'; static getId(repoPath: string, name: string, root: boolean): string { return `${RepositoryNode.getId(repoPath)}${this.key}(${name})${root ? ':root' : ''}`; @@ -48,7 +49,7 @@ export class BranchNode showTracking: boolean; authors?: string[]; }; - protected splatted = true; + protected override splatted = true; constructor( uri: GitUri, @@ -86,11 +87,11 @@ export class BranchNode }; } - toClipboard(): string { + override toClipboard(): string { return this.branch.name; } - get id(): string { + override get id(): string { return BranchNode.getId(this.branch.repoPath, this.branch.name, this.root); } @@ -131,38 +132,31 @@ export class BranchNode const children = []; const range = await Container.git.getBranchAheadRange(this.branch); - const [ - log, - getBranchAndTagTips, - status, - mergeStatus, - rebaseStatus, - pr, - unpublishedCommits, - ] = await Promise.all([ - this.getLog(), - Container.git.getBranchesAndTagsTipsFn(this.uri.repoPath, this.branch.name), - this.options.showStatus && this.branch.current - ? Container.git.getStatusForRepo(this.uri.repoPath) - : undefined, - this.options.showStatus && this.branch.current - ? Container.git.getMergeStatus(this.uri.repoPath!) - : undefined, - this.options.showStatus ? Container.git.getRebaseStatus(this.uri.repoPath!) : undefined, - this.view.config.pullRequests.enabled && - this.view.config.pullRequests.showForBranches && - (this.branch.upstream != null || this.branch.remote) - ? this.branch.getAssociatedPullRequest( - this.root ? { include: [PullRequestState.Open, PullRequestState.Merged] } : undefined, - ) - : undefined, - range && !this.branch.remote - ? Container.git.getLogRefsOnly(this.uri.repoPath!, { - limit: 0, - ref: range, - }) - : undefined, - ]); + const [log, getBranchAndTagTips, status, mergeStatus, rebaseStatus, pr, unpublishedCommits] = + await Promise.all([ + this.getLog(), + Container.git.getBranchesAndTagsTipsFn(this.uri.repoPath, this.branch.name), + this.options.showStatus && this.branch.current + ? Container.git.getStatusForRepo(this.uri.repoPath) + : undefined, + this.options.showStatus && this.branch.current + ? Container.git.getMergeStatus(this.uri.repoPath!) + : undefined, + this.options.showStatus ? Container.git.getRebaseStatus(this.uri.repoPath!) : undefined, + this.view.config.pullRequests.enabled && + this.view.config.pullRequests.showForBranches && + (this.branch.upstream != null || this.branch.remote) + ? this.branch.getAssociatedPullRequest( + this.root ? { include: [PullRequestState.Open, PullRequestState.Merged] } : undefined, + ) + : undefined, + range && !this.branch.remote + ? Container.git.getLogRefsOnly(this.uri.repoPath!, { + limit: 0, + ref: range, + }) + : undefined, + ]); if (log == null) return [new MessageNode(this.view, this, 'No commits could be found.')]; if (this.options.showComparison !== false && !(this.view instanceof RemotesView)) { @@ -436,7 +430,7 @@ export class BranchNode @gate() @debug() - refresh(reset?: boolean) { + override refresh(reset?: boolean) { this._children = undefined; if (reset) { this._log = undefined; diff --git a/src/views/nodes/branchOrTagFolderNode.ts b/src/views/nodes/branchOrTagFolderNode.ts index b73f719..911ff24 100644 --- a/src/views/nodes/branchOrTagFolderNode.ts +++ b/src/views/nodes/branchOrTagFolderNode.ts @@ -29,11 +29,11 @@ export class BranchOrTagFolderNode extends ViewNode { super(GitUri.fromRepoPath(repoPath), view, parent); } - toClipboard(): string { + override toClipboard(): string { return this.folderName; } - get id(): string { + override get id(): string { return BranchOrTagFolderNode.getId(this.repoPath, this._key, this.type, this.relativePath); } diff --git a/src/views/nodes/branchTrackingStatusFilesNode.ts b/src/views/nodes/branchTrackingStatusFilesNode.ts index 52450dc..fe4ce15 100644 --- a/src/views/nodes/branchTrackingStatusFilesNode.ts +++ b/src/views/nodes/branchTrackingStatusFilesNode.ts @@ -34,7 +34,7 @@ export class BranchTrackingStatusFilesNode extends ViewNode { this.repoPath = status.repoPath; } - get id(): string { + override get id(): string { return BranchTrackingStatusFilesNode.getId( this.status.repoPath, this.status.ref, diff --git a/src/views/nodes/branchTrackingStatusNode.ts b/src/views/nodes/branchTrackingStatusNode.ts index 231e691..7ed6e78 100644 --- a/src/views/nodes/branchTrackingStatusNode.ts +++ b/src/views/nodes/branchTrackingStatusNode.ts @@ -53,7 +53,7 @@ export class BranchTrackingStatusNode extends ViewNode impleme this.options = { showAheadCommits: false, ...options }; } - get id(): string { + override get id(): string { return BranchTrackingStatusNode.getId( this.status.repoPath, this.status.ref, @@ -260,7 +260,7 @@ export class BranchTrackingStatusNode extends ViewNode impleme @gate() @debug() - refresh(reset?: boolean) { + override refresh(reset?: boolean) { if (reset) { this._log = undefined; } diff --git a/src/views/nodes/branchesNode.ts b/src/views/nodes/branchesNode.ts index 51fe4f8..f920093 100644 --- a/src/views/nodes/branchesNode.ts +++ b/src/views/nodes/branchesNode.ts @@ -29,7 +29,7 @@ export class BranchesNode extends ViewNode { super(uri, view, parent); } - get id(): string { + override get id(): string { return BranchesNode.getId(this.repo.path); } @@ -98,7 +98,7 @@ export class BranchesNode extends ViewNode { @gate() @debug() - refresh() { + override refresh() { this._children = undefined; } } diff --git a/src/views/nodes/commitFileNode.ts b/src/views/nodes/commitFileNode.ts index 71c342a..95f2ab4 100644 --- a/src/views/nodes/commitFileNode.ts +++ b/src/views/nodes/commitFileNode.ts @@ -24,7 +24,7 @@ export class CommitFileNode { + override getTreeItem(): TreeItem | Promise { const item = super.getTreeItem(); if (item instanceof TreeItem) { item.command = this._command; @@ -73,10 +73,12 @@ export class CommandMessageNode extends MessageNode { } export class UpdateableMessageNode extends ViewNode { + override readonly id: string; + constructor( view: View, parent: ViewNode, - public readonly id: string, + id: string, private _message: string, private _tooltip?: string, private _iconPath?: @@ -89,6 +91,7 @@ export class UpdateableMessageNode extends ViewNode { | ThemeIcon, ) { super(unknownGitUri, view, parent); + this.id = id; } getChildren(): ViewNode[] | Promise { @@ -176,7 +179,7 @@ export abstract class PagerNode extends ViewNode { return item; } - getCommand(): Command | undefined { + override getCommand(): Command | undefined { return { title: 'Load more', command: 'gitlens.views.loadMoreChildren', diff --git a/src/views/nodes/compareBranchNode.ts b/src/views/nodes/compareBranchNode.ts index 6aeca6b..7a90dcd 100644 --- a/src/views/nodes/compareBranchNode.ts +++ b/src/views/nodes/compareBranchNode.ts @@ -52,7 +52,7 @@ export class CompareBranchNode extends ViewNode { }; } - get id(): string { + override get id(): string { return CompareResultsNode.getId(this.repoPath, this._ref.ref, this._compareWith.ref, this._instanceId); } @@ -185,7 +185,7 @@ export class CompareResultsNode extends ViewNode { @gate() @debug() - refresh(reset: boolean = false) { + override refresh(reset: boolean = false) { if (!reset) return; this._children = undefined; diff --git a/src/views/nodes/contributorNode.ts b/src/views/nodes/contributorNode.ts index 106491a..7c044b1 100644 --- a/src/views/nodes/contributorNode.ts +++ b/src/views/nodes/contributorNode.ts @@ -34,11 +34,11 @@ export class ContributorNode extends ViewNode` : ''}`; } - get id(): string { + override get id(): string { return ContributorNode.getId(this.contributor.repoPath, this.contributor.name, this.contributor.email); } @@ -97,7 +97,7 @@ export class ContributorNode extends ViewNode impl return `${RepositoryNode.getId(repoPath)}${this.key}(${uri})`; } - protected splatted = true; + protected override splatted = true; constructor( uri: GitUri, @@ -42,11 +42,11 @@ export class FileHistoryNode extends SubscribeableViewNode impl super(uri, view, parent); } - toClipboard(): string { + override toClipboard(): string { return this.uri.fileName; } - get id(): string { + override get id(): string { return FileHistoryNode.getId(this.uri.repoPath!, this.uri.toString(true)); } @@ -172,7 +172,7 @@ export class FileHistoryNode extends SubscribeableViewNode impl return subscription; } - protected get requiresResetOnVisible(): boolean { + protected override get requiresResetOnVisible(): boolean { return true; } @@ -209,7 +209,7 @@ export class FileHistoryNode extends SubscribeableViewNode impl @gate() @debug() - refresh(reset?: boolean) { + override refresh(reset?: boolean) { if (reset) { this._log = undefined; } diff --git a/src/views/nodes/fileHistoryTrackerNode.ts b/src/views/nodes/fileHistoryTrackerNode.ts index 32f2fd0..0d73514 100644 --- a/src/views/nodes/fileHistoryTrackerNode.ts +++ b/src/views/nodes/fileHistoryTrackerNode.ts @@ -15,13 +15,13 @@ import { ContextValues, SubscribeableViewNode, unknownGitUri, ViewNode } from '. export class FileHistoryTrackerNode extends SubscribeableViewNode { private _base: string | undefined; private _child: FileHistoryNode | undefined; - protected splatted = true; + protected override splatted = true; constructor(view: FileHistoryView) { super(unknownGitUri, view); } - dispose() { + override dispose() { super.dispose(); this.resetChild(); @@ -126,7 +126,7 @@ export class FileHistoryTrackerNode extends SubscribeableViewNode `returned ${r}`, }) - async refresh(reset: boolean = false) { + override async refresh(reset: boolean = false) { const cc = Logger.getCorrelationContext(); if (!this.canSubscribe) return false; diff --git a/src/views/nodes/fileRevisionAsCommitNode.ts b/src/views/nodes/fileRevisionAsCommitNode.ts index 4e9e001..0f7f930 100644 --- a/src/views/nodes/fileRevisionAsCommitNode.ts +++ b/src/views/nodes/fileRevisionAsCommitNode.ts @@ -35,7 +35,7 @@ export class FileRevisionAsCommitNode extends ViewRefFileNode - implements PageableViewNode { + implements PageableViewNode +{ static key = ':history:line'; static getId(repoPath: string, uri: string, selection: Selection): string { return `${RepositoryNode.getId(repoPath)}${this.key}(${uri}[${selection.start.line},${ @@ -36,7 +37,7 @@ export class LineHistoryNode }-${selection.end.line},${selection.end.character}])`; } - protected splatted = true; + protected override splatted = true; constructor( uri: GitUri, @@ -49,11 +50,11 @@ export class LineHistoryNode super(uri, view, parent); } - toClipboard(): string { + override toClipboard(): string { return this.uri.fileName; } - get id(): string { + override get id(): string { return LineHistoryNode.getId(this.uri.repoPath!, this.uri.toString(true), this.selection); } @@ -270,7 +271,7 @@ export class LineHistoryNode return subscription; } - protected get requiresResetOnVisible(): boolean { + protected override get requiresResetOnVisible(): boolean { return true; } @@ -303,7 +304,7 @@ export class LineHistoryNode @gate() @debug() - refresh(reset?: boolean) { + override refresh(reset?: boolean) { if (reset) { this._log = undefined; } diff --git a/src/views/nodes/lineHistoryTrackerNode.ts b/src/views/nodes/lineHistoryTrackerNode.ts index 18855e8..cc429d1 100644 --- a/src/views/nodes/lineHistoryTrackerNode.ts +++ b/src/views/nodes/lineHistoryTrackerNode.ts @@ -19,13 +19,13 @@ export class LineHistoryTrackerNode extends SubscribeableViewNode `returned ${r}`, }) - async refresh(reset: boolean = false) { + override async refresh(reset: boolean = false) { const cc = Logger.getCorrelationContext(); if (!this.canSubscribe) return false; diff --git a/src/views/nodes/mergeConflictCurrentChangesNode.ts b/src/views/nodes/mergeConflictCurrentChangesNode.ts index c09fc6a..f9b50f0 100644 --- a/src/views/nodes/mergeConflictCurrentChangesNode.ts +++ b/src/views/nodes/mergeConflictCurrentChangesNode.ts @@ -61,7 +61,7 @@ export class MergeConflictCurrentChangesNode extends ViewNode implements super(GitUri.fromFile(file, status.repoPath, status.HEAD.ref), view, parent); } - toClipboard(): string { + override toClipboard(): string { return this.fileName; } @@ -110,7 +110,7 @@ export class MergeConflictFileNode extends ViewNode implements this._description = undefined; } - getCommand(): Command | undefined { + override getCommand(): Command | undefined { return { title: 'Open File', command: BuiltInCommands.Open, diff --git a/src/views/nodes/mergeConflictIncomingChangesNode.ts b/src/views/nodes/mergeConflictIncomingChangesNode.ts index 4316fbb..b930514 100644 --- a/src/views/nodes/mergeConflictIncomingChangesNode.ts +++ b/src/views/nodes/mergeConflictIncomingChangesNode.ts @@ -73,7 +73,7 @@ export class MergeConflictIncomingChangesNode extends ViewNode { super(GitUri.fromRepoPath(mergeStatus.repoPath), view, parent); } - get id(): string { + override get id(): string { return MergeStatusNode.getId(this.mergeStatus.repoPath, this.mergeStatus.current.name, this.root); } diff --git a/src/views/nodes/pullRequestNode.ts b/src/views/nodes/pullRequestNode.ts index 2eec36d..15def01 100644 --- a/src/views/nodes/pullRequestNode.ts +++ b/src/views/nodes/pullRequestNode.ts @@ -29,11 +29,11 @@ export class PullRequestNode extends ViewNode< super(GitUri.fromRepoPath(branchOrCommit.repoPath), view, parent); } - toClipboard(): string { + override toClipboard(): string { return this.pullRequest.url; } - get id(): string { + override get id(): string { return PullRequestNode.getId(this.branchOrCommit.repoPath, this.pullRequest.id, this.branchOrCommit.ref); } diff --git a/src/views/nodes/rebaseStatusNode.ts b/src/views/nodes/rebaseStatusNode.ts index d72e459..0c9689d 100644 --- a/src/views/nodes/rebaseStatusNode.ts +++ b/src/views/nodes/rebaseStatusNode.ts @@ -50,7 +50,7 @@ export class RebaseStatusNode extends ViewNode { super(GitUri.fromRepoPath(rebaseStatus.repoPath), view, parent); } - get id(): string { + override get id(): string { return RebaseStatusNode.getId(this.rebaseStatus.repoPath, this.rebaseStatus.incoming.name, this.root); } @@ -138,7 +138,7 @@ export class RebaseCommitNode extends ViewRefNode implements PageableVi super(uri, view, parent); } - get id(): string { + override get id(): string { return ReflogNode.getId(this.repo.path); } @@ -61,7 +61,7 @@ export class ReflogNode extends ViewNode implements PageableVi @gate() @debug() - refresh(reset?: boolean) { + override refresh(reset?: boolean) { this._children = undefined; if (reset) { this._reflog = undefined; diff --git a/src/views/nodes/reflogRecordNode.ts b/src/views/nodes/reflogRecordNode.ts index 45dd82d..e428611 100644 --- a/src/views/nodes/reflogRecordNode.ts +++ b/src/views/nodes/reflogRecordNode.ts @@ -30,7 +30,7 @@ export class ReflogRecordNode extends ViewNode implements Page super(GitUri.fromRepoPath(record.repoPath), view, parent); } - get id(): string { + override get id(): string { return ReflogRecordNode.getId( this.uri.repoPath!, this.record.sha, @@ -80,7 +80,7 @@ export class ReflogRecordNode extends ViewNode implements Page @gate() @debug() - refresh(reset?: boolean) { + override refresh(reset?: boolean) { if (reset) { this._log = undefined; } diff --git a/src/views/nodes/remoteNode.ts b/src/views/nodes/remoteNode.ts index de74f80..92ff865 100644 --- a/src/views/nodes/remoteNode.ts +++ b/src/views/nodes/remoteNode.ts @@ -30,11 +30,11 @@ export class RemoteNode extends ViewNode { super(uri, view, parent); } - toClipboard(): string { + override toClipboard(): string { return this.remote.name; } - get id(): string { + override get id(): string { return RemoteNode.getId(this.remote.repoPath, this.remote.name, this.remote.id); } diff --git a/src/views/nodes/remotesNode.ts b/src/views/nodes/remotesNode.ts index 5b0c9d3..85f168c 100644 --- a/src/views/nodes/remotesNode.ts +++ b/src/views/nodes/remotesNode.ts @@ -22,7 +22,7 @@ export class RemotesNode extends ViewNode { super(uri, view, parent); } - get id(): string { + override get id(): string { return RemotesNode.getId(this.repo.path); } @@ -54,7 +54,7 @@ export class RemotesNode extends ViewNode { @gate() @debug() - refresh() { + override refresh() { this._children = undefined; } } diff --git a/src/views/nodes/repositoriesNode.ts b/src/views/nodes/repositoriesNode.ts index e9829a5..cb9a6ad 100644 --- a/src/views/nodes/repositoriesNode.ts +++ b/src/views/nodes/repositoriesNode.ts @@ -16,7 +16,7 @@ export class RepositoriesNode extends SubscribeableViewNode { super(unknownGitUri, view); } - dispose() { + override dispose() { super.dispose(); this.resetChildren(); @@ -54,7 +54,7 @@ export class RepositoriesNode extends SubscribeableViewNode { @gate() @debug() - async refresh(reset: boolean = false) { + override async refresh(reset: boolean = false) { if (this._children === undefined) return; if (reset) { @@ -109,7 +109,7 @@ export class RepositoriesNode extends SubscribeableViewNode { return Disposable.from(...subscriptions); } - protected get requiresResetOnVisible(): boolean { + protected override get requiresResetOnVisible(): boolean { return true; } diff --git a/src/views/nodes/repositoryNode.ts b/src/views/nodes/repositoryNode.ts index 70cec77..5569c79 100644 --- a/src/views/nodes/repositoryNode.ts +++ b/src/views/nodes/repositoryNode.ts @@ -45,11 +45,11 @@ export class RepositoryNode extends SubscribeableViewNode { this._status = this.repo.getStatus(); } - toClipboard(): string { + override toClipboard(): string { return this.repo.path; } - get id(): string { + override get id(): string { return RepositoryNode.getId(this.repo.path); } @@ -290,7 +290,7 @@ export class RepositoryNode extends SubscribeableViewNode { @gate() @debug() - async refresh(reset: boolean = false) { + override async refresh(reset: boolean = false) { if (reset) { this._status = this.repo.getStatus(); @@ -346,7 +346,7 @@ export class RepositoryNode extends SubscribeableViewNode { return Disposable.from(...disposables); } - protected get requiresResetOnVisible(): boolean { + protected override get requiresResetOnVisible(): boolean { return this._repoUpdatedAt !== this.repo.updatedAt; } diff --git a/src/views/nodes/resultsCommitsNode.ts b/src/views/nodes/resultsCommitsNode.ts index f8aacaa..0520bb4 100644 --- a/src/views/nodes/resultsCommitsNode.ts +++ b/src/views/nodes/resultsCommitsNode.ts @@ -20,7 +20,8 @@ export interface CommitsQueryResults { export class ResultsCommitsNode extends ViewNode - implements PageableViewNode { + implements PageableViewNode +{ constructor( view: View, parent: ViewNode, @@ -60,7 +61,7 @@ export class ResultsCommitsNode { this._options = { expand: true, ..._options }; } - get id(): string { + override get id(): string { return `${this.parent!.id}:results:files`; } @@ -145,7 +145,7 @@ export class ResultsFilesNode extends ViewNode { @gate() @debug() - refresh(reset: boolean = false) { + override refresh(reset: boolean = false) { if (!reset) return; this._filterResults = undefined; diff --git a/src/views/nodes/searchResultsNode.ts b/src/views/nodes/searchResultsNode.ts index 06c3b7b..9e6719c 100644 --- a/src/views/nodes/searchResultsNode.ts +++ b/src/views/nodes/searchResultsNode.ts @@ -31,7 +31,7 @@ export class SearchResultsNode extends ViewNode implements return Strings.sha1(`${repoPath}|${SearchPattern.toKey(search)}`); } - static is(node: any): node is SearchResultsNode { + static override is(node: any): node is SearchResultsNode { return node instanceof SearchResultsNode; } @@ -65,7 +65,7 @@ export class SearchResultsNode extends ViewNode implements this._order = Date.now(); } - get id(): string { + override get id(): string { return SearchResultsNode.getId(this.repoPath, this.search, this._instanceId); } @@ -199,7 +199,7 @@ export class SearchResultsNode extends ViewNode implements @gate() @debug() - refresh(reset: boolean = false) { + override refresh(reset: boolean = false) { this._resultsNode?.refresh(reset); } diff --git a/src/views/nodes/stashFileNode.ts b/src/views/nodes/stashFileNode.ts index 8bb3d7f..78e91ee 100644 --- a/src/views/nodes/stashFileNode.ts +++ b/src/views/nodes/stashFileNode.ts @@ -10,7 +10,7 @@ export class StashFileNode extends CommitFileNode { super(uri, view, parent); } - get id(): string { + override get id(): string { return StashesNode.getId(this.repo.path); } @@ -53,7 +53,7 @@ export class StashesNode extends ViewNode { @gate() @debug() - refresh() { + override refresh() { this._children = undefined; } } diff --git a/src/views/nodes/statusFileNode.ts b/src/views/nodes/statusFileNode.ts index 4cb0742..a7b4a7e 100644 --- a/src/views/nodes/statusFileNode.ts +++ b/src/views/nodes/statusFileNode.ts @@ -54,7 +54,7 @@ export class StatusFileNode extends ViewNode implements FileNo this._hasUnstagedChanges = hasUnstagedChanges; } - toClipboard(): string { + override toClipboard(): string { return this.fileName; } @@ -225,7 +225,7 @@ export class StatusFileNode extends ViewNode implements FileNo return changedIn.join(changedIn.length > 2 ? ', ' : ' and '); } - getCommand(): Command | undefined { + override getCommand(): Command | undefined { if ((this._hasStagedChanges || this._hasUnstagedChanges) && this.commits.length === 1) { const commandArgs: DiffWithPreviousCommandArgs = { commit: this.commit, diff --git a/src/views/nodes/statusFilesNode.ts b/src/views/nodes/statusFilesNode.ts index 89a5ce6..c8f7ecd 100644 --- a/src/views/nodes/statusFilesNode.ts +++ b/src/views/nodes/statusFilesNode.ts @@ -46,7 +46,7 @@ export class StatusFilesNode extends ViewNode { this.repoPath = status.repoPath; } - get id(): string { + override get id(): string { return StatusFilesNode.getId(this.repoPath); } diff --git a/src/views/nodes/tagNode.ts b/src/views/nodes/tagNode.ts index 9007035..4c4fbab 100644 --- a/src/views/nodes/tagNode.ts +++ b/src/views/nodes/tagNode.ts @@ -25,11 +25,11 @@ export class TagNode extends ViewRefNode { super(uri, view, parent); } - get id(): string { + override get id(): string { return TagsNode.getId(this.repo.path); } @@ -75,7 +75,7 @@ export class TagsNode extends ViewNode { @gate() @debug() - refresh() { + override refresh() { this._children = undefined; } } diff --git a/src/views/nodes/viewNode.ts b/src/views/nodes/viewNode.ts index 504c43c..ae1409b 100644 --- a/src/views/nodes/viewNode.ts +++ b/src/views/nodes/viewNode.ts @@ -144,7 +144,7 @@ export abstract class ViewNode { export abstract class ViewRefNode< TView extends View = View, - TReference extends GitReference = GitReference + TReference extends GitReference = GitReference, > extends ViewNode { abstract get ref(): TReference; @@ -152,7 +152,7 @@ export abstract class ViewRefNode< return this.uri.repoPath!; } - toString(): string { + override toString(): string { return `${super.toString()}:${GitReference.toString(this.ref, false)}`; } } @@ -161,7 +161,7 @@ export abstract class ViewRefFileNode extends ViewRef abstract get file(): GitFile; abstract get fileName(): string; - toString(): string { + override toString(): string { return `${super.toString()}:${this.fileName}`; } } @@ -223,7 +223,7 @@ export abstract class SubscribeableViewNode extends V @gate() @debug() - async triggerChange(reset: boolean = false, force: boolean = false): Promise { + override async triggerChange(reset: boolean = false, force: boolean = false): Promise { if (!this.loaded) return; await super.triggerChange(reset, force); @@ -318,14 +318,14 @@ export abstract class SubscribeableViewNode extends V export abstract class RepositoryFolderNode< TView extends View = View, - TChild extends ViewNode = ViewNode + TChild extends ViewNode = ViewNode, > extends SubscribeableViewNode { static key = ':repository'; static getId(repoPath: string): string { return `gitlens${this.key}(${repoPath})`; } - protected splatted = true; + protected override splatted = true; protected child: TChild | undefined; constructor( @@ -341,11 +341,11 @@ export abstract class RepositoryFolderNode< this.splatted = splatted; } - toClipboard(): string { + override toClipboard(): string { return this.repo.path; } - get id(): string { + override get id(): string { return RepositoryFolderNode.getId(this.repo.path); } @@ -445,7 +445,7 @@ export abstract class RepositoryFolderNode< return item; } - async getSplattedChild() { + override async getSplattedChild() { if (this.child == null) { await this.getChildren(); } @@ -455,7 +455,7 @@ export abstract class RepositoryFolderNode< @gate() @debug() - async refresh(reset: boolean = false) { + override async refresh(reset: boolean = false) { await this.child?.triggerChange(reset, false, this); await this.ensureSubscription(); @@ -478,7 +478,7 @@ export abstract class RepositoryFolderNode< return this.repo.onDidChange(this.onRepositoryChanged, this); } - protected get requiresResetOnVisible(): boolean { + protected override get requiresResetOnVisible(): boolean { return this._repoUpdatedAt !== this.repo.updatedAt; } diff --git a/src/views/remotesView.ts b/src/views/remotesView.ts index cbe15b9..b25bdb5 100644 --- a/src/views/remotesView.ts +++ b/src/views/remotesView.ts @@ -56,7 +56,7 @@ export class RemotesRepositoryNode extends RepositoryFolderNode { - protected splatted = true; + protected override splatted = true; private children: RemotesRepositoryNode[] | undefined; constructor(view: RemotesView) { @@ -111,7 +111,7 @@ export class RemotesViewNode extends ViewNode { return item; } - async getSplattedChild() { + override async getSplattedChild() { if (this.children == null) { await this.getChildren(); } @@ -121,7 +121,7 @@ export class RemotesViewNode extends ViewNode { @gate() @debug() - refresh(reset: boolean = false) { + override refresh(reset: boolean = false) { if (reset && this.children != null) { for (const child of this.children) { child.dispose(); @@ -197,7 +197,7 @@ export class RemotesView extends ViewBase { ); } - protected filterConfigurationChanged(e: ConfigurationChangeEvent) { + protected override filterConfigurationChanged(e: ConfigurationChangeEvent) { const changed = super.filterConfigurationChanged(e); if ( !changed && diff --git a/src/views/repositoriesView.ts b/src/views/repositoriesView.ts index 09a75c3..f5cef75 100644 --- a/src/views/repositoriesView.ts +++ b/src/views/repositoriesView.ts @@ -230,7 +230,7 @@ export class RepositoriesView extends ViewBase { - protected splatted = true; + protected override splatted = true; private comparePicker: ComparePickerNode | undefined; constructor(view: SearchAndCompareView) { @@ -117,7 +117,7 @@ export class SearchAndCompareViewNode extends ViewNode { @gate() @debug() - async refresh() { + override async refresh() { if (this.children.length === 0) return; const promises: Promise[] = [ @@ -321,7 +321,7 @@ export class SearchAndCompareView extends ViewBase { - protected splatted = true; + protected override splatted = true; private children: StashesRepositoryNode[] | undefined; constructor(view: StashesView) { @@ -93,7 +93,7 @@ export class StashesViewNode extends ViewNode { return item; } - async getSplattedChild() { + override async getSplattedChild() { if (this.children == null) { await this.getChildren(); } @@ -103,7 +103,7 @@ export class StashesViewNode extends ViewNode { @gate() @debug() - refresh(reset: boolean = false) { + override refresh(reset: boolean = false) { if (reset && this.children != null) { for (const child of this.children) { child.dispose(); @@ -157,7 +157,7 @@ export class StashesView extends ViewBase { ); } - protected filterConfigurationChanged(e: ConfigurationChangeEvent) { + protected override filterConfigurationChanged(e: ConfigurationChangeEvent) { const changed = super.filterConfigurationChanged(e); if ( !changed && diff --git a/src/views/tagsView.ts b/src/views/tagsView.ts index 72a8bb1..0e7782a 100644 --- a/src/views/tagsView.ts +++ b/src/views/tagsView.ts @@ -45,7 +45,7 @@ export class TagsRepositoryNode extends RepositoryFolderNode } export class TagsViewNode extends ViewNode { - protected splatted = true; + protected override splatted = true; private children: TagsRepositoryNode[] | undefined; constructor(view: TagsView) { @@ -100,7 +100,7 @@ export class TagsViewNode extends ViewNode { return item; } - async getSplattedChild() { + override async getSplattedChild() { if (this.children == null) { await this.getChildren(); } @@ -110,7 +110,7 @@ export class TagsViewNode extends ViewNode { @gate() @debug() - refresh(reset: boolean = false) { + override refresh(reset: boolean = false) { if (reset && this.children != null) { for (const child of this.children) { child.dispose(); @@ -176,7 +176,7 @@ export class TagsView extends ViewBase { commands.registerCommand(this.getQualifiedCommand('setShowAvatarsOff'), () => this.setShowAvatars(false), this); } - protected filterConfigurationChanged(e: ConfigurationChangeEvent) { + protected override filterConfigurationChanged(e: ConfigurationChangeEvent) { const changed = super.filterConfigurationChanged(e); if ( !changed && diff --git a/src/views/viewBase.ts b/src/views/viewBase.ts index 378f770..a590a8e 100644 --- a/src/views/viewBase.ts +++ b/src/views/viewBase.ts @@ -83,8 +83,9 @@ export abstract class ViewBase< | RepositoriesViewConfig | SearchAndCompareViewConfig | StashesViewConfig - | TagsViewConfig -> implements TreeDataProvider, Disposable { + | TagsViewConfig, +> implements TreeDataProvider, Disposable +{ protected _onDidChangeTreeData = new EventEmitter(); get onDidChangeTreeData(): Event { return this._onDidChangeTreeData.event; diff --git a/src/webviews/apps/rebase/rebase.ts b/src/webviews/apps/rebase/rebase.ts index c37ec21..aad25d9 100644 --- a/src/webviews/apps/rebase/rebase.ts +++ b/src/webviews/apps/rebase/rebase.ts @@ -44,14 +44,14 @@ class RebaseEditor extends App { (window as any).bootstrap = undefined; } - protected onInitialize() { + protected override onInitialize() { this.state = this.getState() ?? this.state; if (this.state != null) { this.refresh(this.state); } } - protected onBind() { + protected override onBind() { const disposables = super.onBind?.() ?? []; // eslint-disable-next-line @typescript-eslint/no-this-alias @@ -252,7 +252,7 @@ class RebaseEditor extends App { this.sendCommand(RebaseDidSwitchCommandType, {}); } - protected onMessageReceived(e: MessageEvent) { + protected override onMessageReceived(e: MessageEvent) { const msg = e.data; switch (msg.method) { diff --git a/src/webviews/apps/settings/settings.ts b/src/webviews/apps/settings/settings.ts index 97c42aa..da9e955 100644 --- a/src/webviews/apps/settings/settings.ts +++ b/src/webviews/apps/settings/settings.ts @@ -18,7 +18,7 @@ export class SettingsApp extends AppWithConfig { (window as any).bootstrap = undefined; } - protected onInitialize() { + protected override onInitialize() { // Add scopes if available const scopes = document.getElementById('scopes') as HTMLSelectElement; if (scopes != null && this.state.scopes.length > 1) { @@ -53,7 +53,7 @@ export class SettingsApp extends AppWithConfig { } } - protected onBind() { + protected override onBind() { const disposables = super.onBind?.() ?? []; // eslint-disable-next-line @typescript-eslint/no-this-alias @@ -85,7 +85,7 @@ export class SettingsApp extends AppWithConfig { return disposables; } - protected onMessageReceived(e: MessageEvent) { + protected override onMessageReceived(e: MessageEvent) { const msg = e.data as IpcMessage; switch (msg.method) { @@ -142,7 +142,7 @@ export class SettingsApp extends AppWithConfig { this.toggleJumpLink(this._activeSection, true); } - protected getSettingsScope(): 'user' | 'workspace' { + protected override getSettingsScope(): 'user' | 'workspace' { return this._scopes != null ? (this._scopes.options[this._scopes.selectedIndex].value as 'user' | 'workspace') : 'user'; @@ -173,7 +173,7 @@ export class SettingsApp extends AppWithConfig { e.stopPropagation(); } - protected onInputSelected(element: HTMLSelectElement) { + protected override onInputSelected(element: HTMLSelectElement) { if (element === this._scopes) return; super.onInputSelected(element); diff --git a/src/webviews/apps/shared/appWithConfigBase.ts b/src/webviews/apps/shared/appWithConfigBase.ts index 42d8c28..6327393 100644 --- a/src/webviews/apps/shared/appWithConfigBase.ts +++ b/src/webviews/apps/shared/appWithConfigBase.ts @@ -34,11 +34,11 @@ export abstract class AppWithConfig extends A super(appName, state); } - protected onInitialized() { + protected override onInitialized() { this.updateState(); } - protected onBind() { + protected override onBind() { const disposables = super.onBind?.() ?? []; // eslint-disable-next-line @typescript-eslint/no-this-alias @@ -80,7 +80,7 @@ export abstract class AppWithConfig extends A return disposables; } - protected onMessageReceived(e: MessageEvent) { + protected override onMessageReceived(e: MessageEvent) { const msg = e.data as IpcMessage; switch (msg.method) { diff --git a/src/webviews/apps/shared/colors.ts b/src/webviews/apps/shared/colors.ts index d746975..f0943c4 100644 --- a/src/webviews/apps/shared/colors.ts +++ b/src/webviews/apps/shared/colors.ts @@ -1,6 +1,7 @@ 'use strict'; -const cssColorRegex = /^(?:(#?)([0-9a-f]{3}|[0-9a-f]{6})|((?:rgb|hsl)a?)\((-?\d+%?)[,\s]+(-?\d+%?)[,\s]+(-?\d+%?)[,\s]*(-?[\d.]+%?)?\))$/i; +const cssColorRegex = + /^(?:(#?)([0-9a-f]{3}|[0-9a-f]{6})|((?:rgb|hsl)a?)\((-?\d+%?)[,\s]+(-?\d+%?)[,\s]+(-?\d+%?)[,\s]*(-?[\d.]+%?)?\))$/i; function adjustLight(color: number, amount: number) { const cc = color + amount; diff --git a/src/webviews/apps/shared/events.ts b/src/webviews/apps/shared/events.ts index 2f607ea..b6509f9 100644 --- a/src/webviews/apps/shared/events.ts +++ b/src/webviews/apps/shared/events.ts @@ -1,7 +1,5 @@ 'use strict'; -// Taken from github.com/microsoft/vscode/src/vs/base/common/event.ts - export interface Disposable { dispose(): void; } diff --git a/src/webviews/protocol.ts b/src/webviews/protocol.ts index 05b9582..b7b9208 100644 --- a/src/webviews/protocol.ts +++ b/src/webviews/protocol.ts @@ -74,16 +74,14 @@ export interface DidPreviewConfigurationNotificationParams { id: string; preview: string; } -export const DidPreviewConfigurationNotificationType = new IpcNotificationType( - 'configuration/didPreview', -); +export const DidPreviewConfigurationNotificationType = + new IpcNotificationType('configuration/didPreview'); export interface SettingsDidRequestJumpToNotificationParams { anchor: string; } -export const SettingsDidRequestJumpToNotificationType = new IpcNotificationType( - 'settings/jumpTo', -); +export const SettingsDidRequestJumpToNotificationType = + new IpcNotificationType('settings/jumpTo'); export interface AppStateWithConfig { config: Config; diff --git a/src/webviews/rebaseEditor.ts b/src/webviews/rebaseEditor.ts index 098c375..9d74437 100644 --- a/src/webviews/rebaseEditor.ts +++ b/src/webviews/rebaseEditor.ts @@ -113,9 +113,10 @@ export class RebaseEditorProvider implements CustomTextEditorProvider, Disposabl } get enabled(): boolean { - const associations = configuration.inspectAny<{ viewType: string; filenamePattern: string }[]>( - 'workbench.editorAssociations', - )?.globalValue; + const associations = + configuration.inspectAny<{ viewType: string; filenamePattern: string }[]>( + 'workbench.editorAssociations', + )?.globalValue; if (associations == null || associations.length === 0) return true; const association = associations.find(a => a.filenamePattern === 'git-rebase-todo'); @@ -133,9 +134,8 @@ export class RebaseEditorProvider implements CustomTextEditorProvider, Disposabl async setEnabled(enabled: boolean): Promise { this._disableAfterNextUse = false; - const inspection = configuration.inspectAny<{ viewType: string; filenamePattern: string }[]>( - 'workbench.editorAssociations', - ); + const inspection = + configuration.inspectAny<{ viewType: string; filenamePattern: string }[]>('workbench.editorAssociations'); let associations = inspection?.globalValue; if (associations == null || associations.length === 0) { diff --git a/src/webviews/settingsWebview.ts b/src/webviews/settingsWebview.ts index 7c1228c..6a6f197 100644 --- a/src/webviews/settingsWebview.ts +++ b/src/webviews/settingsWebview.ts @@ -46,14 +46,14 @@ export class SettingsWebview extends WebviewBase { ); } - protected onShowCommand(anchor?: string) { + protected override onShowCommand(anchor?: string) { if (anchor) { this._pendingJumpToAnchor = anchor; } super.onShowCommand(); } - protected onMessageReceived(e: IpcMessage) { + protected override onMessageReceived(e: IpcMessage) { switch (e.method) { case ReadyCommandType.method: onIpcCommand(ReadyCommandType, e, _params => { @@ -86,7 +86,7 @@ export class SettingsWebview extends WebviewBase { return 'GitLens Settings'; } - renderEndOfBody() { + override renderEndOfBody() { const scopes: ['user' | 'workspace', string][] = [['user', 'User']]; if (workspace.workspaceFolders?.length) { scopes.push(['workspace', 'Workspace']); diff --git a/src/webviews/welcomeWebview.ts b/src/webviews/welcomeWebview.ts index 32f1bbe..ce72fb9 100644 --- a/src/webviews/welcomeWebview.ts +++ b/src/webviews/welcomeWebview.ts @@ -21,7 +21,7 @@ export class WelcomeWebview extends WebviewBase { return 'Welcome to GitLens'; } - renderEndOfBody() { + override renderEndOfBody() { const bootstrap: WelcomeState = { config: Container.config, }; diff --git a/tsconfig.json b/tsconfig.json index 7d89fee..9d2515d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,6 +9,7 @@ "module": "esnext", "moduleResolution": "node", "noFallthroughCasesInSwitch": true, + "noImplicitOverride": true, "noImplicitReturns": true, "noUnusedLocals": false, "outDir": "dist", diff --git a/yarn.lock b/yarn.lock index 76f7535..f168685 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16,24 +16,24 @@ dependencies: "@babel/highlight" "^7.12.13" -"@babel/helper-validator-identifier@^7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" - integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== +"@babel/helper-validator-identifier@^7.14.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" + integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== "@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": - version "7.13.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" - integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf" + integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg== dependencies: - "@babel/helper-validator-identifier" "^7.12.11" + "@babel/helper-validator-identifier" "^7.14.0" chalk "^2.0.0" js-tokens "^4.0.0" -"@eslint/eslintrc@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547" - integrity sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog== +"@eslint/eslintrc@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.1.tgz#442763b88cecbe3ee0ec7ca6d6dd6168550cbf14" + integrity sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ== dependencies: ajv "^6.12.4" debug "^4.1.1" @@ -86,19 +86,19 @@ is-plain-object "^5.0.0" universal-user-agent "^6.0.0" -"@octokit/graphql@4.6.1": - version "4.6.1" - resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.6.1.tgz#f975486a46c94b7dbe58a0ca751935edc7e32cc9" - integrity sha512-2lYlvf4YTDgZCTXTW4+OX+9WTLFtEUc6hGm4qM1nlZjzxj+arizM4aHWzBVBCxY9glh7GIs0WEuiSgbVzv8cmA== +"@octokit/graphql@4.6.2": + version "4.6.2" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.6.2.tgz#ec44abdfa87f2b9233282136ae33e4ba446a04e7" + integrity sha512-WmsIR1OzOr/3IqfG9JIczI8gMJUMzzyx5j0XXQ4YihHtKlQc+u35VpVoOXhlKAlaBntvry1WpAzPl/a+s3n89Q== dependencies: "@octokit/request" "^5.3.0" "@octokit/types" "^6.0.3" universal-user-agent "^6.0.0" -"@octokit/openapi-types@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-6.0.0.tgz#7da8d7d5a72d3282c1a3ff9f951c8133a707480d" - integrity sha512-CnDdK7ivHkBtJYzWzZm7gEkanA7gKH6a09Eguz7flHw//GacPJLmkHA3f3N++MJmlxD1Fl+mB7B32EEpSCwztQ== +"@octokit/openapi-types@^7.2.0": + version "7.2.1" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-7.2.1.tgz#3ba1abe8906863edd403e185bc12e2bf79b3e240" + integrity sha512-IHQJpLciwzwDvciLxiFj3IEV5VYn7lSVcj5cu0jbTwMfK4IG6/g8SPrVp3Le1VRzIiYSRcBzm1dA7vgWelYP3Q== "@octokit/request-error@^2.0.0": version "2.0.5" @@ -122,11 +122,11 @@ universal-user-agent "^6.0.0" "@octokit/types@^6.0.3", "@octokit/types@^6.7.1": - version "6.13.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.13.0.tgz#779e5b7566c8dde68f2f6273861dd2f0409480d0" - integrity sha512-W2J9qlVIU11jMwKHUp5/rbVUeErqelCsO5vW5PKNb7wAXQVUz87Rc+imjlEvpvbH8yUb+KHmv8NEjVZdsdpyxA== + version "6.16.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.16.0.tgz#15f71e391ca74e91a21b70e3a1b033c89625dca4" + integrity sha512-EktqSNq8EKXE82a7Vw33ozOEhFXIRik+rZHJTHAgVZRm/p2K5r5ecn5fVpRkLCm3CAVFwchRvt3yvtmfbt2LCQ== dependencies: - "@octokit/openapi-types" "^6.0.0" + "@octokit/openapi-types" "^7.2.0" "@polka/url@^1.0.0-next.9": version "1.0.0-next.12" @@ -138,11 +138,6 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow== -"@types/anymatch@*": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" - integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== - "@types/chroma-js@2.1.3": version "2.1.3" resolved "https://registry.yarnpkg.com/@types/chroma-js/-/chroma-js-2.1.3.tgz#0b03d737ff28fad10eb884e0c6cedd5ffdc4ba0a" @@ -157,23 +152,18 @@ "@types/estree" "*" "@types/eslint@*": - version "7.2.10" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.10.tgz#4b7a9368d46c0f8cd5408c23288a59aa2394d917" - integrity sha512-kUEPnMKrqbtpCq/KTaGFFKAcz6Ethm2EjCoKIDaCmfRBWLbFuTcOJfTlorwbnboXBzahqWLgUp1BQeKHiJzPUQ== + version "7.2.11" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.11.tgz#180b58f5bb7d7376e39d22496e2b08901aa52fd2" + integrity sha512-WYhv//5K8kQtsSc9F1Kn2vHzhYor6KpwPbARH7hwYe3C3ETD0EVx/3P5qQybUoaBEuUa9f/02JjBiXFWalYUmw== dependencies: "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*": +"@types/estree@*", "@types/estree@^0.0.47": version "0.0.47" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.47.tgz#d7a51db20f0650efec24cd04994f523d93172ed4" integrity sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg== -"@types/estree@^0.0.46": - version "0.0.46" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe" - integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg== - "@types/glob@^7.1.1": version "7.1.3" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" @@ -205,9 +195,9 @@ "@types/lodash" "*" "@types/lodash@*": - version "4.14.168" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.168.tgz#fe24632e79b7ade3f132891afff86caa5e5ce008" - integrity sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q== + version "4.14.170" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.170.tgz#0d67711d4bf7f4ca5147e9091b847479b87925d6" + integrity sha512-bpcvu/MKHHeYX+qeEN8GE7DIravODWdACVA1ctevD8CN24RhPZIKMn9ntfAsrvLfSX3cR5RrBKAbYm9bGs0A+Q== "@types/minimatch@*": version "3.0.4" @@ -215,9 +205,9 @@ integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== "@types/node@*": - version "14.14.41" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.41.tgz#d0b939d94c1d7bd53d04824af45f1139b8c45615" - integrity sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g== + version "15.6.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-15.6.0.tgz#f0ddca5a61e52627c9dcb771a6039d44694597bc" + integrity sha512-gCYSfQpy+LYhOFTKAeE8BkyGqaxmlFxe+n4DKM6DR0wzw/HISUE/hAmkC/KT8Sw5PCJblqg062b3z9gucv3k0A== "@types/node@12.12.70": version "12.12.70" @@ -266,24 +256,24 @@ source-map "^0.7.3" "@types/webpack@^4.4.31": - version "4.41.27" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.27.tgz#f47da488c8037e7f1b2dbf2714fbbacb61ec0ffc" - integrity sha512-wK/oi5gcHi72VMTbOaQ70VcDxSQ1uX8S2tukBK9ARuGXrYM/+u4ou73roc7trXDNmCxCoerE8zruQqX/wuHszA== + version "4.41.29" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.29.tgz#2e66c1de8223c440366469415c50a47d97625773" + integrity sha512-6pLaORaVNZxiB3FSHbyBiWM7QdazAWda1zvAq4SbZObZqHSDbWLi62iFdblVea6SK9eyBIVp5yHhKt/yNQdR7Q== dependencies: - "@types/anymatch" "*" "@types/node" "*" "@types/tapable" "^1" "@types/uglify-js" "*" "@types/webpack-sources" "*" + anymatch "^3.0.0" source-map "^0.6.0" -"@typescript-eslint/eslint-plugin@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.22.0.tgz#3d5f29bb59e61a9dba1513d491b059e536e16dbc" - integrity sha512-U8SP9VOs275iDXaL08Ln1Fa/wLXfj5aTr/1c0t0j6CdbOnxh+TruXu1p4I0NAvdPBQgoPjHsgKn28mOi0FzfoA== +"@typescript-eslint/eslint-plugin@4.24.0": + version "4.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.24.0.tgz#03801ffc25b2af9d08f3dc9bccfc0b7ce3780d0f" + integrity sha512-qbCgkPM7DWTsYQGjx9RTuQGswi+bEt0isqDBeo+CKV0953zqI0Tp7CZ7Fi9ipgFA6mcQqF4NOVNwS/f2r6xShw== dependencies: - "@typescript-eslint/experimental-utils" "4.22.0" - "@typescript-eslint/scope-manager" "4.22.0" + "@typescript-eslint/experimental-utils" "4.24.0" + "@typescript-eslint/scope-manager" "4.24.0" debug "^4.1.1" functional-red-black-tree "^1.0.1" lodash "^4.17.15" @@ -291,60 +281,60 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.0.tgz#68765167cca531178e7b650a53456e6e0bef3b1f" - integrity sha512-xJXHHl6TuAxB5AWiVrGhvbGL8/hbiCQ8FiWwObO3r0fnvBdrbWEDy1hlvGQOAWc6qsCWuWMKdVWlLAEMpxnddg== +"@typescript-eslint/experimental-utils@4.24.0": + version "4.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.24.0.tgz#c23ead9de44b99c3a5fd925c33a106b00165e172" + integrity sha512-IwTT2VNDKH1h8RZseMH4CcYBz6lTvRoOLDuuqNZZoThvfHEhOiZPQCow+5El3PtyxJ1iDr6UXZwYtE3yZQjhcw== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.22.0" - "@typescript-eslint/types" "4.22.0" - "@typescript-eslint/typescript-estree" "4.22.0" + "@typescript-eslint/scope-manager" "4.24.0" + "@typescript-eslint/types" "4.24.0" + "@typescript-eslint/typescript-estree" "4.24.0" eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.22.0.tgz#e1637327fcf796c641fe55f73530e90b16ac8fe8" - integrity sha512-z/bGdBJJZJN76nvAY9DkJANYgK3nlRstRRi74WHm3jjgf2I8AglrSY+6l7ogxOmn55YJ6oKZCLLy+6PW70z15Q== +"@typescript-eslint/parser@4.24.0": + version "4.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.24.0.tgz#2e5f1cc78ffefe43bfac7e5659309a92b09a51bd" + integrity sha512-dj1ZIh/4QKeECLb2f/QjRwMmDArcwc2WorWPRlB8UNTZlY1KpTVsbX7e3ZZdphfRw29aTFUSNuGB8w9X5sS97w== dependencies: - "@typescript-eslint/scope-manager" "4.22.0" - "@typescript-eslint/types" "4.22.0" - "@typescript-eslint/typescript-estree" "4.22.0" + "@typescript-eslint/scope-manager" "4.24.0" + "@typescript-eslint/types" "4.24.0" + "@typescript-eslint/typescript-estree" "4.24.0" debug "^4.1.1" -"@typescript-eslint/scope-manager@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.22.0.tgz#ed411545e61161a8d702e703a4b7d96ec065b09a" - integrity sha512-OcCO7LTdk6ukawUM40wo61WdeoA7NM/zaoq1/2cs13M7GyiF+T4rxuA4xM+6LeHWjWbss7hkGXjFDRcKD4O04Q== +"@typescript-eslint/scope-manager@4.24.0": + version "4.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.24.0.tgz#38088216f0eaf235fa30ed8cabf6948ec734f359" + integrity sha512-9+WYJGDnuC9VtYLqBhcSuM7du75fyCS/ypC8c5g7Sdw7pGL4NDTbeH38eJPfzIydCHZDoOgjloxSAA3+4l/zsA== dependencies: - "@typescript-eslint/types" "4.22.0" - "@typescript-eslint/visitor-keys" "4.22.0" + "@typescript-eslint/types" "4.24.0" + "@typescript-eslint/visitor-keys" "4.24.0" -"@typescript-eslint/types@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.22.0.tgz#0ca6fde5b68daf6dba133f30959cc0688c8dd0b6" - integrity sha512-sW/BiXmmyMqDPO2kpOhSy2Py5w6KvRRsKZnV0c4+0nr4GIcedJwXAq+RHNK4lLVEZAJYFltnnk1tJSlbeS9lYA== +"@typescript-eslint/types@4.24.0": + version "4.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.24.0.tgz#6d0cca2048cbda4e265e0c4db9c2a62aaad8228c" + integrity sha512-tkZUBgDQKdvfs8L47LaqxojKDE+mIUmOzdz7r+u+U54l3GDkTpEbQ1Jp3cNqqAU9vMUCBA1fitsIhm7yN0vx9Q== -"@typescript-eslint/typescript-estree@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.0.tgz#b5d95d6d366ff3b72f5168c75775a3e46250d05c" - integrity sha512-TkIFeu5JEeSs5ze/4NID+PIcVjgoU3cUQUIZnH3Sb1cEn1lBo7StSV5bwPuJQuoxKXlzAObjYTilOEKRuhR5yg== +"@typescript-eslint/typescript-estree@4.24.0": + version "4.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.24.0.tgz#b49249679a98014d8b03e8d4b70864b950e3c90f" + integrity sha512-kBDitL/by/HK7g8CYLT7aKpAwlR8doshfWz8d71j97n5kUa5caHWvY0RvEUEanL/EqBJoANev8Xc/mQ6LLwXGA== dependencies: - "@typescript-eslint/types" "4.22.0" - "@typescript-eslint/visitor-keys" "4.22.0" + "@typescript-eslint/types" "4.24.0" + "@typescript-eslint/visitor-keys" "4.24.0" debug "^4.1.1" globby "^11.0.1" is-glob "^4.0.1" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.0.tgz#169dae26d3c122935da7528c839f42a8a42f6e47" - integrity sha512-nnMu4F+s4o0sll6cBSsTeVsT4cwxB7zECK3dFxzEjPBii9xLpq4yqqsy/FU5zMfan6G60DKZSCXAa3sHJZrcYw== +"@typescript-eslint/visitor-keys@4.24.0": + version "4.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.24.0.tgz#a8fafdc76cad4e04a681a945fbbac4e35e98e297" + integrity sha512-4ox1sjmGHIxjEDBnMCtWFFhErXtKA1Ec0sBpuz0fqf3P+g3JFGyTxxbF06byw0FRsPnnbq44cKivH7Ks1/0s6g== dependencies: - "@typescript-eslint/types" "4.22.0" + "@typescript-eslint/types" "4.24.0" eslint-visitor-keys "^2.0.0" "@webassemblyjs/ast@1.11.0": @@ -469,16 +459,16 @@ "@xtuc/long" "4.2.2" "@webpack-cli/info@^1.1.0": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.3.tgz#ef819d10ace2976b6d134c7c823a3e79ee31a92c" - integrity sha512-lLek3/T7u40lTqzCGpC6CAbY6+vXhdhmwFRxZLMnRm6/sIF/7qMpT8MocXCRQfz0JAh63wpbXLMnsQ5162WS7Q== + version "1.2.4" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.4.tgz#7381fd41c9577b2d8f6c2594fad397ef49ad5573" + integrity sha512-ogE2T4+pLhTTPS/8MM3IjHn0IYplKM4HbVNMCWA9N4NrdPzunwenpCsqKEXyejMfRu6K8mhauIPYf8ZxWG5O6g== dependencies: envinfo "^7.7.3" "@webpack-cli/serve@^1.1.0": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.3.1.tgz#911d1b3ff4a843304b9c3bacf67bb34672418441" - integrity sha512-0qXvpeYO6vaNoRBI52/UsbcaBydJCggoBBnIo/ovQQdn6fug0BgwsjorV1hVS7fMqGVTZGcVxv8334gjmbj5hw== + version "1.4.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.4.0.tgz#f84fd07bcacefe56ce762925798871092f0f228e" + integrity sha512-xgT/HqJ+uLWGX+Mzufusl3cgjAcnqYYskaB7o0vRcwOEfuu6hMzSILQpnIzFMGsTaeaX4Nnekl+6fadLbl1/Vg== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -501,19 +491,19 @@ acorn-jsx@^5.3.1: integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== acorn-walk@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.0.2.tgz#d4632bfc63fd93d0f15fd05ea0e984ffd3f5a8c3" - integrity sha512-+bpA9MJsHdZ4bgfDcpk0ozQyhhVct7rzOmO0s1IIr0AGGgKBljss8n2zp11rRP2wid5VGeh04CgeKzgat5/25A== + version "8.1.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.1.0.tgz#d3c6a9faf00987a5e2b9bdb506c2aa76cd707f83" + integrity sha512-mjmzmv12YIG/G8JQdQuz2MUDShEJ6teYpT5bmWA4q7iwoGen8xtt3twF3OvzIUl+Q06aWIjvnwQUKvQ6TtMRjg== 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.0.4: - version "8.1.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.1.1.tgz#fb0026885b9ac9f48bac1e185e4af472971149ff" - integrity sha512-xYiIVjNuqtKXMxlRMDc6mZUhXehod4a3gbZ1qRlM7icK4EbxUFNLhWoPblCvFtB2Y9CIqHP3CF/rdxLItaQv8g== +acorn@^8.0.4, acorn@^8.2.1: + version "8.2.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.2.4.tgz#caba24b08185c3b56e3168e97d15ed17f4d31fd0" + integrity sha512-Ibt84YwBDDA890eDiDCEqcbwvHlBvzzDkU2cGBBDDI1QWT12jTiXIOn2CIw5KK4i6N5Z2HUxwYjzriDyqaqqZg== ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" @@ -531,9 +521,9 @@ ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: uri-js "^4.2.2" ajv@^8.0.1: - version "8.1.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.1.0.tgz#45d5d3d36c7cdd808930cc3e603cf6200dbeb736" - integrity sha512-B/Sk2Ix7A36fs/ZkuGLIR86EdjbgR6fsAcbx9lOP/QBSXujDNbVmIS/U4Itz5k8fPFDeVZl/zQ/gJW4Jrq6XjQ== + version "8.5.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.5.0.tgz#695528274bcb5afc865446aa275484049a18ae4b" + integrity sha512-Y2l399Tt1AguU3BPRP9Fn4eN+Or+StUGWCUpbnFyXSo8NZ9S4uj+AG2pjs5apK+ZMOwYOz1+a+VKvKH7CudXgQ== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" @@ -589,7 +579,7 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -anymatch@~3.1.1: +anymatch@^3.0.0, anymatch@~3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== @@ -630,16 +620,16 @@ argparse@^1.0.7: sprintf-js "~1.0.2" array-back@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.1.tgz#9b80312935a52062e1a233a9c7abeb5481b30e90" - integrity sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg== + version "4.0.2" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" + integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== array-find-index@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= -array-includes@^3.1.1: +array-includes@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== @@ -667,7 +657,7 @@ array-uniq@^1.0.1: resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= -array.prototype.flat@^1.2.3: +array.prototype.flat@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== @@ -723,15 +713,13 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== -azure-devops-node-api@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/azure-devops-node-api/-/azure-devops-node-api-7.2.0.tgz#131d4e01cf12ebc6e45569b5e0c5c249e4114d6d" - integrity sha512-pMfGJ6gAQ7LRKTHgiRF+8iaUUeGAI0c8puLaqHLc7B8AR7W6GJLozK9RFeUHFjEGybC9/EB3r67WPd7e46zQ8w== +azure-devops-node-api@^10.2.2: + version "10.2.2" + resolved "https://registry.yarnpkg.com/azure-devops-node-api/-/azure-devops-node-api-10.2.2.tgz#9f557e622dd07bbaa9bd5e7e84e17c761e2151b2" + integrity sha512-4TVv2X7oNStT0vLaEfExmy3J4/CzfuXolEcQl/BRUmvGySqKStTG2O55/hUQ0kM7UJlZBLgniM0SBq4d/WkKow== dependencies: - os "0.1.1" - tunnel "0.0.4" - typed-rest-client "1.2.0" - underscore "1.8.3" + tunnel "0.0.6" + typed-rest-client "^1.8.4" balanced-match@^1.0.0: version "1.0.2" @@ -837,13 +825,13 @@ braces@^3.0.1, braces@~3.0.2: fill-range "^7.0.1" browserslist@^4.14.5: - version "4.16.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.4.tgz#7ebf913487f40caf4637b892b268069951c35d58" - integrity sha512-d7rCxYV8I9kj41RH8UKYnvDYCRENUlHRgyXy/Rhr/1BaeLGfiCptEdFE8MIrvGfWbBFNjVYx76SQWvNX1j+/cQ== + version "4.16.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" + integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== dependencies: - caniuse-lite "^1.0.30001208" + caniuse-lite "^1.0.30001219" colorette "^1.2.2" - electron-to-chromium "^1.3.712" + electron-to-chromium "^1.3.723" escalade "^3.1.1" node-releases "^1.1.71" @@ -935,20 +923,15 @@ camelcase@^5.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - cancellationtoken@^2.0.1: version "2.2.0" resolved "https://registry.yarnpkg.com/cancellationtoken/-/cancellationtoken-2.2.0.tgz#a3d93cb8675f29dd1574a358b72adbde3da89aeb" integrity sha512-uF4sHE5uh2VdEZtIRJKGoXAD9jm7bFY0tDRCzH4iLp262TOJ2lrtNHjMG2zc8H+GICOpELIpM7CGW5JeWnb3Hg== -caniuse-lite@^1.0.30001208: - version "1.0.30001208" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001208.tgz#a999014a35cebd4f98c405930a057a0d75352eb9" - integrity sha512-OE5UE4+nBOro8Dyvv0lfx+SRtfVIOM9uhKqFmJeUbGriqhhStgp1A0OyBpgy3OUF8AhYCT+PVwPC1gMl2ZcQMA== +caniuse-lite@^1.0.30001219: + version "1.0.30001228" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz#bfdc5942cd3326fa51ee0b42fbef4da9d492a7fa" + integrity sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A== caseless@~0.12.0: version "0.12.0" @@ -991,35 +974,36 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2: supports-color "^5.3.0" chalk@^4.0.0, chalk@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + version "4.1.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" + integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" -cheerio-select@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-1.3.0.tgz#26a50968260b7e4281238c1e7da7ed2766652f3b" - integrity sha512-mLgqdHxVOQyhOIkG5QnRkDg7h817Dkf0dAvlCio2TJMmR72cJKH0bF28SHXvLkVrGcGOiub0/Bs/CMnPeQO7qw== +cheerio-select@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-1.4.0.tgz#3a16f21e37a2ef0f211d6d1aa4eff054bb22cdc9" + integrity sha512-sobR3Yqz27L553Qa7cK6rtJlMDbiKPdNywtR95Sj/YgfpLfy0u6CGJuaBKe5YE/vTc23SCRKxWSdlon/w6I/Ew== dependencies: - css-select "^4.0.0" + css-select "^4.1.2" css-what "^5.0.0" domelementtype "^2.2.0" - domhandler "^4.1.0" - domutils "^2.5.2" + domhandler "^4.2.0" + domutils "^2.6.0" cheerio@^1.0.0-rc.1, cheerio@^1.0.0-rc.5: - version "1.0.0-rc.6" - resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.6.tgz#a5ae81ab483aeefa1280c325543c601145506240" - integrity sha512-hjx1XE1M/D5pAtMgvWwE21QClmAEeGHOIDfycgmndisdNgI6PE1cGRQkMGBcsbUbmEQyWu5PJLUcAOjtQS8DWw== + version "1.0.0-rc.9" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.9.tgz#a3ae6b7ce7af80675302ff836f628e7cb786a67f" + integrity sha512-QF6XVdrLONO6DXRF5iaolY+odmhj2CLj+xzNod7INPWMi/x9X4SOylH0S/vaPpX+AUU6t04s34SQNh7DbkuCng== dependencies: - cheerio-select "^1.3.0" + cheerio-select "^1.4.0" dom-serializer "^1.3.1" - domhandler "^4.1.0" + domhandler "^4.2.0" htmlparser2 "^6.1.0" parse5 "^6.0.1" parse5-htmlparser2-tree-adapter "^6.0.1" + tslib "^2.2.0" chokidar@^3.4.2: version "3.5.1" @@ -1041,10 +1025,10 @@ chownr@^2.0.0: resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== -chroma-js@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/chroma-js/-/chroma-js-2.1.1.tgz#413c8fbcc4c0988dc7c77bb59c4de36573b8fe97" - integrity sha512-gYc5/Dooshun2OikK7oY/hYnoEiZ0dxqRpXosEdYRYm505vU5mRsHFqIW062C9nMtr32DVErP6mlxuepo2kNkw== +chroma-js@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/chroma-js/-/chroma-js-2.1.2.tgz#1075cb9ae25bcb2017c109394168b5cf3aa500ec" + integrity sha512-ri/ouYDWuxfus3UcaMxC1Tfp3IE9K5iQzxc2hSxbBRVNQFut1UuGAsZmiAf2mOUubzGJwgMSv9lHg+XqLaz1QQ== dependencies: cross-env "^6.0.3" @@ -1178,11 +1162,6 @@ console-stream@^0.1.1: resolved "https://registry.yarnpkg.com/console-stream/-/console-stream-0.1.1.tgz#a095fe07b20465955f2fafd28b5d72bccd949d44" integrity sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ= -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - content-disposition@^0.5.2: version "0.5.3" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" @@ -1190,13 +1169,13 @@ content-disposition@^0.5.2: dependencies: safe-buffer "5.1.2" -copy-webpack-plugin@8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-8.1.1.tgz#3f697e162764925c2f0d235f380676125508fd26" - integrity sha512-rYM2uzRxrLRpcyPqGceRBDpxxUV8vcDqIKxAUKfcnFpcrPxT5+XvhTxv7XLjo5AvEJFPdAE3zCogG2JVahqgSQ== +copy-webpack-plugin@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-9.0.0.tgz#2bf592785d2fcdde9342dfed3676490fe0aa7ce8" + integrity sha512-k8UB2jLIb1Jip2nZbCz83T/XfhfjX6mB1yLJNYKrpYi7FQimfOoFv/0//iT6HV1K8FwUB5yUbCcnpLebJXJTug== dependencies: fast-glob "^3.2.5" - glob-parent "^5.1.1" + glob-parent "^6.0.0" globby "^11.0.3" normalize-path "^3.0.0" p-limit "^3.1.0" @@ -1219,6 +1198,13 @@ cosmiconfig@^6.0.0: path-type "^4.0.0" yaml "^1.7.2" +cross-env@7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" + integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== + dependencies: + cross-spawn "^7.0.1" + cross-env@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-6.0.3.tgz#4256b71e49b3a40637a0ce70768a6ef5c72ae941" @@ -1246,7 +1232,7 @@ cross-spawn@^6.0.0: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -1263,23 +1249,21 @@ csp-html-webpack-plugin@5.1.0: cheerio "^1.0.0-rc.5" lodash "^4.17.20" -css-loader@5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.1.tgz#15fbd5b6ac4c1b170a098f804c5abd0722f2aa73" - integrity sha512-YCyRzlt/jgG1xanXZDG/DHqAueOtXFHeusP9TS478oP1J++JSKOyEgGW1GHVoCj/rkS+GWOlBwqQJBr9yajQ9w== +css-loader@5.2.5: + version "5.2.5" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.5.tgz#cdd18d6fe42748990793b4a7ec32eb16f36ba9d7" + integrity sha512-bH6QQacvSRtLX0lycAOs43S173n+lfXxB5cx4FjVkTLw5tAEwk5bxNLbkt5K1iETd5KxazRx70GpqOxsuwKiFA== dependencies: - camelcase "^6.2.0" - cssesc "^3.0.0" icss-utils "^5.1.0" loader-utils "^2.0.0" - postcss "^8.2.8" + postcss "^8.2.15" postcss-modules-extract-imports "^3.0.0" postcss-modules-local-by-default "^4.0.0" postcss-modules-scope "^3.0.0" postcss-modules-values "^4.0.0" postcss-value-parser "^4.1.0" schema-utils "^3.0.0" - semver "^7.3.4" + semver "^7.3.5" css-select@^2.0.2: version "2.1.0" @@ -1291,15 +1275,15 @@ css-select@^2.0.2: domutils "^1.7.0" nth-check "^1.0.2" -css-select@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.0.0.tgz#9b7b53bd82e4b348a6e0924ce37645e5db43af8e" - integrity sha512-I7favumBlDP/nuHBKLfL5RqvlvRdn/W29evvWJ+TaoGPm7QD+xSIN5eY2dyGjtkUmemh02TZrqJb4B8DWo6PoQ== +css-select@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.2.tgz#8b52b6714ed3a80d8221ec971c543f3b12653286" + integrity sha512-nu5ye2Hg/4ISq4XqdLY2bEatAcLIdt3OYGFc9Tm9n7VSlFBcfRv0gBNksHRgSdUDQGtN3XrZ94ztW+NfzkFSUw== dependencies: boolbase "^1.0.0" css-what "^5.0.0" - domhandler "^4.1.0" - domutils "^2.5.1" + domhandler "^4.2.0" + domutils "^2.6.0" nth-check "^2.0.0" css-what@^3.2.1: @@ -1357,6 +1341,13 @@ debug@^2.6.8, debug@^2.6.9: dependencies: ms "2.0.0" +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + debug@^4.0.1, debug@^4.1.1: version "4.3.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" @@ -1496,13 +1487,12 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" - isarray "^1.0.0" doctrine@^3.0.0: version "3.0.0" @@ -1527,12 +1517,12 @@ dom-serializer@0: entities "^2.0.0" dom-serializer@^1.0.1, dom-serializer@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.1.tgz#d845a1565d7c041a95e5dab62184ab41e3a519be" - integrity sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q== + version "1.3.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== dependencies: domelementtype "^2.0.1" - domhandler "^4.0.0" + domhandler "^4.2.0" entities "^2.0.0" domelementtype@1, domelementtype@^1.3.1: @@ -1552,10 +1542,10 @@ domhandler@^2.3.0: dependencies: domelementtype "1" -domhandler@^4.0.0, domhandler@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.1.0.tgz#c1d8d494d5ec6db22de99e46a149c2a4d23ddd43" - integrity sha512-/6/kmsGlMY4Tup/nGVutdrK9yQi4YjWVcVeoQmixpzjOUK1U7pQkvAPHBJeUxOgxF0J8f8lwCJSlCfD0V4CMGQ== +domhandler@^4.0.0, domhandler@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059" + integrity sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA== dependencies: domelementtype "^2.2.0" @@ -1567,14 +1557,14 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" -domutils@^2.5.1, domutils@^2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.5.2.tgz#37ef8ba087dff1a17175e7092e8a042e4b050e6c" - integrity sha512-MHTthCb1zj8f1GVfRpeZUbohQf/HdBos0oX5gZcQFepOZPLLRyj6Wn7XS7EMnY7CVpwv8863u2vyE83Hfu28HQ== +domutils@^2.5.2, domutils@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.6.0.tgz#2e15c04185d43fb16ae7057cb76433c6edb938b7" + integrity sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA== dependencies: dom-serializer "^1.0.1" domelementtype "^2.2.0" - domhandler "^4.1.0" + domhandler "^4.2.0" dot-case@^3.0.4: version "3.0.4" @@ -1637,10 +1627,10 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" -electron-to-chromium@^1.3.712: - version "1.3.717" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.717.tgz#78d4c857070755fb58ab64bcc173db1d51cbc25f" - integrity sha512-OfzVPIqD1MkJ7fX+yTl2nKyOE4FReeVfMCzzxQS+Kp43hZYwHwThlGP+EGIZRXJsxCM7dqo8Y65NOX/HP12iXQ== +electron-to-chromium@^1.3.723: + version "1.3.735" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.735.tgz#fa1a8660f2790662291cb2136f0e446a444cdfdc" + integrity sha512-cp7MWzC3NseUJV2FJFgaiesdrS+A8ZUjX5fLAxdRlcaPDkaPGFplX930S5vf84yqDp4LjuLdKouWuVOTwUfqHQ== emoji-regex@^7.0.1: version "7.0.3" @@ -1664,19 +1654,10 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^4.0.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -enhanced-resolve@^5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz#525c5d856680fbd5052de453ac83e32049958b5c" - integrity sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw== +enhanced-resolve@^5.0.0, enhanced-resolve@^5.8.0: + version "5.8.2" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz#15ddc779345cbb73e97c611cd00c01c1e7bf4d8b" + integrity sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -1713,13 +1694,6 @@ envinfo@^7.7.3: resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== -errno@^0.1.3: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -1763,22 +1737,23 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild-loader@2.11.1: - version "2.11.1" - resolved "https://registry.yarnpkg.com/esbuild-loader/-/esbuild-loader-2.11.1.tgz#1cbdb43bdfac9e0a760bad84a22159ea5f99fd8c" - integrity sha512-8267NJpao4Niw91iDvxTv63lgN4vNpSISngvy5ZK514ZZDLGfDXXyQG14FUjvIid3QOLArXBWp0mNTKvear1Tw== +esbuild-loader@2.13.1: + version "2.13.1" + resolved "https://registry.yarnpkg.com/esbuild-loader/-/esbuild-loader-2.13.1.tgz#9c89e654390a9a25d99b2f6d803ade30f4335418" + integrity sha512-Tzc5nB5tVUmigXz6m4j1OYozJCjdix7E9vtd5RaE54fqz2Rz34Is9S8FbAf8uqR4xvQUBAXIi6Jkn1OeMxw2aQ== dependencies: - esbuild "^0.10.2" + esbuild "^0.11.19" joycon "^3.0.1" json5 "^2.2.0" loader-utils "^2.0.0" + tapable "^2.2.0" type-fest "^1.0.1" webpack-sources "^2.2.0" -esbuild@^0.10.2: - version "0.10.2" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.10.2.tgz#caa65a8f3096d547d89159918039df6c5c6c90be" - integrity sha512-/5vsZD7wTJJHC3yNXLUjXNvUDwqwNoIMvFvLd9tcDQ9el5l13pspYm3yufavjIeYvNtAbo+6N/6uoWx9dGA6ug== +esbuild@^0.11.19: + version "0.11.23" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.11.23.tgz#c42534f632e165120671d64db67883634333b4b8" + integrity sha512-iaiZZ9vUF5wJV8ob1tl+5aJTrwDczlvGP0JoMmnpC2B0ppiMCu8n8gmy5ZTGl5bcG081XBVn+U+jP+mPFm5T5Q== escalade@^3.1.1: version "3.1.1" @@ -1790,6 +1765,11 @@ escape-string-regexp@^1.0.2, 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= +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + eslint-cli@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/eslint-cli/-/eslint-cli-1.1.1.tgz#ae6979edd8ee6e78c6d413b525f4052cb2a94cfd" @@ -1799,10 +1779,10 @@ eslint-cli@1.1.1: debug "^2.6.8" resolve "^1.3.3" -eslint-config-prettier@8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.2.0.tgz#78de77d63bca8e9e59dae75a614b5299925bb7b3" - integrity sha512-dWV9EVeSo2qodOPi1iBYU/x6F6diHv8uujxbxr77xExs3zTAlNXvVZKiyLsQGNz7yPV2K49JY5WjPzNIuDc2Bw== +eslint-config-prettier@8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" + integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== eslint-import-resolver-node@^0.3.4: version "0.3.4" @@ -1812,31 +1792,33 @@ eslint-import-resolver-node@^0.3.4: debug "^2.6.9" resolve "^1.13.1" -eslint-module-utils@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" - integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== +eslint-module-utils@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz#b51be1e473dd0de1c5ea638e22429c2490ea8233" + integrity sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A== dependencies: - debug "^2.6.9" + debug "^3.2.7" pkg-dir "^2.0.0" -eslint-plugin-import@2.22.1: - version "2.22.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" - integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== +eslint-plugin-import@2.23.3: + version "2.23.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.23.3.tgz#8a1b073289fff03c4af0f04b6df956b7d463e191" + integrity sha512-wDxdYbSB55F7T5CC7ucDjY641VvKmlRwT0Vxh7PkY1mI4rclVRFWYfsrjDgZvwYYDZ5ee0ZtfFKXowWjqvEoRQ== dependencies: - array-includes "^3.1.1" - array.prototype.flat "^1.2.3" - contains-path "^0.1.0" + array-includes "^3.1.3" + array.prototype.flat "^1.2.4" debug "^2.6.9" - doctrine "1.5.0" + doctrine "^2.1.0" eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.0" + eslint-module-utils "^2.6.1" + find-up "^2.0.0" has "^1.0.3" + is-core-module "^2.4.0" minimatch "^3.0.4" - object.values "^1.1.1" - read-pkg-up "^2.0.0" - resolve "^1.17.0" + object.values "^1.1.3" + pkg-up "^2.0.0" + read-pkg-up "^3.0.0" + resolve "^1.20.0" tsconfig-paths "^3.9.0" eslint-scope@^5.0.0, eslint-scope@^5.1.1: @@ -1860,29 +1842,31 @@ eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint-visitor-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" - integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + 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.24.0: - version "7.24.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.24.0.tgz#2e44fa62d93892bfdb100521f17345ba54b8513a" - integrity sha512-k9gaHeHiFmGCDQ2rEfvULlSLruz6tgfA8DEn+rY9/oYPFFTlz55mM/Q/Rij1b2Y42jwZiK3lXvNTw6w6TXzcKQ== +eslint@7.27.0: + version "7.27.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.27.0.tgz#665a1506d8f95655c9274d84bd78f7166b07e9c7" + integrity sha512-JZuR6La2ZF0UD384lcbnd0Cgg6QJjiCwhMD6eU4h/VGPcVGwawNNzKU41tgokGXnfjOOyI6QIffthhJTPzzuRA== dependencies: "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.0" + "@eslint/eslintrc" "^0.4.1" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.0.1" 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" 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.0.0" @@ -1894,7 +1878,7 @@ eslint@7.24.0: js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.21" + lodash.merge "^4.6.2" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" @@ -1903,7 +1887,7 @@ eslint@7.24.0: semver "^7.2.1" strip-ansi "^6.0.0" strip-json-comments "^3.1.0" - table "^6.0.4" + table "^6.0.9" text-table "^0.2.0" v8-compile-cache "^2.0.3" @@ -2049,7 +2033,7 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -fast-deep-equal@^3.1.1: +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== @@ -2091,9 +2075,9 @@ fd-slicer@~1.1.0: pend "~1.2.0" fetch-blob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-2.1.1.tgz#a54ab0d5ed7ccdb0691db77b6674308b23fb2237" - integrity sha512-Uf+gxPCe1hTOFXwkxYyckn8iUSk6CFXGy5VENZKifovUTZC9eUODWSBhOBS7zICGrAetKzdwLMr85KhIcePMAQ== + version "2.1.2" + resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-2.1.2.tgz#a7805db1361bd44c1ef62bb57fb5fe8ea173ef3c" + integrity sha512-YKqtUDwqLyfyMnmbw8XD6Q8j9i/HggKtPEI+pZ1+8bvheBu78biSmNaXWusx1TauGqtUUGx/cBb1mKdq2rLYow== figures@^1.3.5: version "1.7.0" @@ -2221,10 +2205,10 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= -fork-ts-checker-webpack-plugin@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.1.tgz#e3a7e64c90e5490a75d43d86d47f02e538c0a13e" - integrity sha512-Pyhn2kav/Y2g6I7aInABgcph/B78jjdXc4kGHzaAUBL4UVthknxM6aMH47JwpnuTJmdOuf6p5vMbIahsBHuWGg== +fork-ts-checker-webpack-plugin@6.2.10: + version "6.2.10" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.10.tgz#800ab1fa523c76011a3413bc4e7815e45b63e826" + integrity sha512-HveFCHWSH2WlYU1tU3PkrupvW8lNFMTfH3Jk0TfC2mtktE9ibHGcifhCsCFvj+kqlDfNIlwmNLiNqR9jnSA7OQ== dependencies: "@babel/code-frame" "^7.8.3" "@types/json-schema" "^7.0.5" @@ -2233,6 +2217,7 @@ fork-ts-checker-webpack-plugin@6.2.1: cosmiconfig "^6.0.0" deepmerge "^4.2.2" fs-extra "^9.0.0" + glob "^7.1.6" memfs "^3.1.2" minimatch "^3.0.4" schema-utils "2.7.0" @@ -2384,22 +2369,29 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.0: +glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: 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-parent@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.0.tgz#f851b59b388e788f3a44d63fab50382b2859c33c" + integrity sha512-Hdd4287VEJcZXUwv1l8a+vXC1GjOQqXe+VS30w/ypihpcnu9M1n3xeYeJu5CBpeEQj2nAab2xxz28GuA3vp4Ww== + dependencies: + is-glob "^4.0.1" + glob-to-regexp@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^7.0.0, glob@^7.0.3, glob@^7.0.6, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== +glob@^7.0.0, glob@^7.0.3, glob@^7.0.6, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -2763,11 +2755,6 @@ indent-string@^2.1.0: dependencies: repeating "^2.0.0" -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -2810,9 +2797,9 @@ is-arrayish@^0.2.1: integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= is-bigint@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2" - integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg== + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a" + integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== is-binary-path@~2.1.0: version "2.1.0" @@ -2822,21 +2809,21 @@ is-binary-path@~2.1.0: binary-extensions "^2.0.0" is-boolean-object@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0" - integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA== + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8" + integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" is-callable@^1.1.4, is-callable@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== -is-core-module@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" - integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== +is-core-module@^2.2.0, is-core-module@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" + integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== dependencies: has "^1.0.3" @@ -2848,9 +2835,9 @@ is-cwebp-readable@^3.0.0: file-type "^10.5.0" is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5" + integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== is-extglob@^2.1.1: version "2.1.1" @@ -2897,9 +2884,9 @@ is-negative-zero@^2.0.1: integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== is-number-object@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" - integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb" + integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== is-number@^7.0.0: version "7.0.0" @@ -2941,12 +2928,12 @@ is-plain-object@^5.0.0: integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== is-regex@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" - integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" + integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== dependencies: call-bind "^1.0.2" - has-symbols "^1.0.1" + has-symbols "^1.0.2" is-retry-allowed@^1.0.0, is-retry-allowed@^1.1.0: version "1.2.0" @@ -2964,16 +2951,16 @@ is-stream@^2.0.0: integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" + integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: - has-symbols "^1.0.1" + has-symbols "^1.0.2" is-typedarray@~1.0.0: version "1.0.0" @@ -3050,7 +3037,7 @@ json-buffer@3.0.0: resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= -json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== @@ -3171,14 +3158,14 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= dependencies: graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" + parse-json "^4.0.0" + pify "^3.0.0" strip-bom "^3.0.0" loader-runner@^4.2.0: @@ -3228,17 +3215,17 @@ lodash.clonedeep@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= -lodash.flatten@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= +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= -lodash@^4.0.0, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@~4.17.10: +lodash@^4.0.0, lodash@^4.17.15, lodash@^4.17.20, lodash@~4.17.10: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -3348,14 +3335,6 @@ memfs@^3.1.2: dependencies: fs-monkey "1.0.3" -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - meow@^3.3.0, meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" @@ -3422,10 +3401,10 @@ mimic-response@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== -mini-css-extract-plugin@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.4.1.tgz#975e27c1d0bd8e052972415f47c79cea5ed37548" - integrity sha512-COAGbpAsU0ioFzj+/RRfO5Qv177L1Z/XAx2EmCF33b8GDDqKygMffBTws2lit8iaPdrbKEY5P+zsseBUCREZWQ== +mini-css-extract-plugin@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.0.tgz#b4db2525af2624899ed64a23b0016e0036411893" + integrity sha512-nPFKI7NSy6uONUo9yn2hIfb9vyYvkFu95qki0e21DQ9uaqNKDP15DGpK0KnV6wDroWxPHtExrdEwx/yDQ8nVRw== dependencies: loader-utils "^2.0.0" schema-utils "^3.0.0" @@ -3480,6 +3459,11 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + msgpack-lite@^0.1.26: version "0.1.26" resolved "https://registry.yarnpkg.com/msgpack-lite/-/msgpack-lite-0.1.26.tgz#dd3c50b26f059f25e7edee3644418358e2a9ad89" @@ -3500,10 +3484,10 @@ nan@^2.13.2: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== -nanoid@^3.1.22: - version "3.1.22" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz#b35f8fb7d151990a8aebd5aa5015c03cf726f844" - integrity sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ== +nanoid@^3.1.23: + version "3.1.23" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" + integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== natural-compare@^1.4.0: version "1.4.0" @@ -3568,14 +3552,14 @@ node-gyp@^7.1.0: which "^2.0.2" node-releases@^1.1.71: - version "1.1.71" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" - integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== + version "1.1.72" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.72.tgz#14802ab6b1039a79a0c7d662b610a5bbd76eacbe" + integrity sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw== -node-sass@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-5.0.0.tgz#4e8f39fbef3bac8d2dc72ebe3b539711883a78d2" - integrity sha512-opNgmlu83ZCF792U281Ry7tak9IbVC+AKnXGovcQ8LG8wFaJv6cLnRlc6DIHlmNxWEexB5bZxi9SZ9JyUuOYjw== +node-sass@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-6.0.0.tgz#f30da3e858ad47bfd138bc0e0c6f924ed2f734af" + integrity sha512-GDzDmNgWNc9GNzTcSLTi6DU6mzSPupVJoStIi7cF3GjwSE9q1cVakbvAAVSt59vzUjV9JJoSZFKoo9krbjKd2g== dependencies: async-foreach "^0.1.3" chalk "^1.1.1" @@ -3687,9 +3671,9 @@ object-assign@^4.0.1, object-assign@^4.1.0: integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= object-inspect@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" - integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== + version "1.10.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369" + integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw== object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" @@ -3706,7 +3690,7 @@ object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.values@^1.1.1: +object.values@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== @@ -3764,11 +3748,6 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.1: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -os@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/os/-/os-0.1.1.tgz#208845e89e193ad4d971474b93947736a56d13f3" - integrity sha1-IIhF6J4ZOtTZcUdLk5R3NqVtE/M= - osenv@^0.1.3: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" @@ -3921,6 +3900,14 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + parse-json@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -4009,12 +3996,12 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== dependencies: - pify "^2.0.0" + pify "^3.0.0" path-type@^4.0.0: version "4.0.0" @@ -4032,9 +4019,9 @@ performance-now@^2.1.0: integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d" - integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg== + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== pify@^2.0.0, pify@^2.2.0, pify@^2.3.0: version "2.3.0" @@ -4077,6 +4064,13 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" +pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + dependencies: + find-up "^2.1.0" + postcss-modules-extract-imports@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" @@ -4106,13 +4100,11 @@ postcss-modules-values@^4.0.0: icss-utils "^5.0.0" postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" - integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== + version "6.0.6" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" + integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== dependencies: cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" util-deprecate "^1.0.2" postcss-value-parser@^4.1.0: @@ -4120,14 +4112,14 @@ postcss-value-parser@^4.1.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== -postcss@^8.2.8: - version "8.2.10" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.10.tgz#ca7a042aa8aff494b334d0ff3e9e77079f6f702b" - integrity sha512-b/h7CPV7QEdrqIxtAf2j31U5ef05uBDuvoXv6L51Q4rcS1jdlXAVKJv+atCFdUXYl9dyTHGyoMzIepwowRJjFw== +postcss@^8.2.15: + version "8.3.0" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.0.tgz#b1a713f6172ca427e3f05ef1303de8b65683325f" + integrity sha512-+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ== dependencies: colorette "^1.2.2" - nanoid "^3.1.22" - source-map "^0.6.1" + nanoid "^3.1.23" + source-map-js "^0.6.2" prelude-ls@^1.2.1: version "1.2.1" @@ -4144,10 +4136,10 @@ prepend-http@^2.0.0: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= -prettier@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" - integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== +prettier@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.0.tgz#b6a5bf1284026ae640f17f7ff5658a7567fc0d18" + integrity sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w== pretty-error@^2.1.1: version "2.1.2" @@ -4172,11 +4164,6 @@ proto-list@~1.2.1: resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" @@ -4200,6 +4187,13 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== +qs@^6.9.1: + version "6.10.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a" + integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg== + dependencies: + side-channel "^1.0.4" + qs@~6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" @@ -4234,13 +4228,13 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= dependencies: find-up "^2.0.0" - read-pkg "^2.0.0" + read-pkg "^3.0.0" read-pkg@^1.0.0: version "1.1.0" @@ -4251,14 +4245,14 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= dependencies: - load-json-file "^2.0.0" + load-json-file "^4.0.0" normalize-package-data "^2.3.2" - path-type "^2.0.0" + path-type "^3.0.0" read@^1.0.7: version "1.0.7" @@ -4407,7 +4401,7 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve@^1.10.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.3, resolve@^1.9.0: +resolve@^1.10.0, resolve@^1.13.1, resolve@^1.20.0, resolve@^1.3.3, resolve@^1.9.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -4473,10 +4467,10 @@ sass-graph@2.2.5: scss-tokenizer "^0.2.3" yargs "^13.3.2" -sass-loader@11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-11.0.1.tgz#8672f896593466573b904f47693e0695368e38c9" - integrity sha512-Vp1LcP4slTsTNLEiDkTcm8zGN/XYYrZz2BZybQbliWA8eXveqA/AxsEjllQTpJbg2MzCsx/qNO48sHdZtOaxTw== +sass-loader@11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-11.1.1.tgz#0db441bbbe197b2af96125bebb7f4be6476b13a7" + integrity sha512-fOCp/zLmj1V1WHDZbUbPgrZhA7HKXHEqkslzB+05U5K9SbSbcmH91C7QLW31AsXikxUMaxXRhhcqWZAxUMLDyA== dependencies: klona "^2.0.4" neo-async "^2.6.2" @@ -4536,7 +4530,7 @@ semver@^6.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.2, semver@^7.3.4: +semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -4579,6 +4573,15 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" @@ -4638,6 +4641,11 @@ source-list-map@^2.0.0, source-list-map@^2.0.1: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== +source-map-js@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" + integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== + source-map-support@~0.5.12, source-map-support@~0.5.19: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" @@ -4685,9 +4693,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.7" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" - integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== + version "3.0.9" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz#8a595135def9592bda69709474f1cbeea7c2467f" + integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ== sprintf-js@~1.0.2: version "1.0.3" @@ -4905,20 +4913,17 @@ table-layout@^1.0.1: typical "^5.2.0" wordwrapjs "^4.0.0" -table@^6.0.4: - version "6.1.0" - resolved "https://registry.yarnpkg.com/table/-/table-6.1.0.tgz#676a0cfb206008b59e783fcd94ef8ba7d67d966c" - integrity sha512-T4G5KMmqIk6X87gLKWyU5exPpTjLjY5KyrFWaIjv3SvgaIUGXV7UEzGEnZJdTA38/yUS6f9PlKezQ0bYXG3iIQ== +table@^6.0.9: + version "6.7.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" + integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== dependencies: ajv "^8.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" lodash.clonedeep "^4.5.0" - lodash.flatten "^4.4.0" lodash.truncate "^4.4.2" slice-ansi "^4.0.0" string-width "^4.2.0" + strip-ansi "^6.0.0" tapable@^1.0.0: version "1.1.3" @@ -4968,17 +4973,17 @@ tempfile@^2.0.0: temp-dir "^1.0.0" uuid "^3.0.1" -terser-webpack-plugin@5.1.1, terser-webpack-plugin@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz#7effadee06f7ecfa093dbbd3e9ab23f5f3ed8673" - integrity sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q== +terser-webpack-plugin@5.1.2, terser-webpack-plugin@^5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.2.tgz#51d295eb7cc56785a67a372575fdc46e42d5c20c" + integrity sha512-6QhDaAiVHIQr5Ab3XUWZyDmrIPCHMiqJVljMF91YKyqwKkL5QHnYMkrMBy96v9Z7ev1hGhSEw1HQZc2p/s5Z8Q== dependencies: jest-worker "^26.6.2" p-limit "^3.1.0" schema-utils "^3.0.0" serialize-javascript "^5.0.1" source-map "^0.6.1" - terser "^5.5.1" + terser "^5.7.0" terser@^4.6.3: version "4.8.0" @@ -4989,10 +4994,10 @@ terser@^4.6.3: source-map "~0.6.1" source-map-support "~0.5.12" -terser@^5.5.1: - version "5.6.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.6.1.tgz#a48eeac5300c0a09b36854bf90d9c26fb201973c" - integrity sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw== +terser@^5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.0.tgz#a761eeec206bc87b605ab13029876ead938ae693" + integrity sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g== dependencies: commander "^2.20.0" source-map "~0.7.2" @@ -5064,14 +5069,13 @@ trim-repeated@^1.0.0: dependencies: glob "^7.1.2" -ts-loader@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.1.0.tgz#d6292487df279c7cc79b6d3b70bb9d31682b693e" - integrity sha512-YiQipGGAFj2zBfqLhp28yUvPP9jUGqHxRzrGYuc82Z2wM27YIHbElXiaZDc93c3x0mz4zvBmS6q/DgExpdj37A== +ts-loader@9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.2.2.tgz#416333900621c82d5eb1b1f6dea4114111f096bf" + integrity sha512-hNIhGTQHtNKjOzR2ZtQ2OSVbXPykOae+zostf1IlHCf61Mt41GMJurKNqrYUbzHgpmj6UWRu8eBfb7q0XliV0g== dependencies: chalk "^4.1.0" - enhanced-resolve "^4.0.0" - loader-utils "^2.0.0" + enhanced-resolve "^5.0.0" micromatch "^4.0.0" semver "^7.3.4" @@ -5090,7 +5094,7 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.3: +tslib@^2.0.3, tslib@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c" integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== @@ -5109,10 +5113,10 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -tunnel@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.4.tgz#2d3785a158c174c9a16dc2c046ec5fc5f1742213" - integrity sha1-LTeFoVjBdMmhbcLARuxfxfF0IhM= +tunnel@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" + integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" @@ -5137,22 +5141,23 @@ type-fest@^0.8.1: integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== type-fest@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.0.2.tgz#3f9c39982859f385c77c38b7e5f1432b8a3661c6" - integrity sha512-a720oz3Kjbp3ll0zkeN9qjRhO7I34MKMhPGQiQJAmaZQZQ1lo+NWThK322f7sXV+kTg9B1Ybt16KgBXWgteT8w== + version "1.1.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.1.3.tgz#ea1a602e98e5a968a56a289886a52f04c686fc81" + integrity sha512-CsiQeFMR1jZEq8R+H59qe+bBevnjoV5N2WZTTdlyqxeoODQOOepN2+msQOywcieDq5sBjabKzTn3U+sfHZlMdw== -typed-rest-client@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/typed-rest-client/-/typed-rest-client-1.2.0.tgz#723085d203f38d7d147271e5ed3a75488eb44a02" - integrity sha512-FrUshzZ1yxH8YwGR29PWWnfksLEILbWJydU7zfIRkyH7kAEzB62uMAl2WY6EyolWpLpVHeJGgQm45/MaruaHpw== +typed-rest-client@^1.8.4: + version "1.8.4" + resolved "https://registry.yarnpkg.com/typed-rest-client/-/typed-rest-client-1.8.4.tgz#ba3fb788e5b9322547406392533f12d660a5ced6" + integrity sha512-MyfKKYzk3I6/QQp6e1T50py4qg+c+9BzOEl2rBmQIpStwNUoqQ73An+Tkfy9YuV7O+o2mpVVJpe+fH//POZkbg== dependencies: - tunnel "0.0.4" - underscore "1.8.3" + qs "^6.9.1" + tunnel "0.0.6" + underscore "^1.12.1" -typescript@4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" - integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== +typescript@4.3.1-rc: + version "4.3.1-rc" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.1-rc.tgz#925149c8d8514e20a6bd8d4bd7f42adac67ab59c" + integrity sha512-L3uJ0gcntaRaKni9aV2amYB+pCDVodKe/B5+IREyvtKGsDOF7cYjchHb/B894skqkgD52ykRuWatIZMqEsHIqA== typical@^5.2.0: version "5.2.0" @@ -5182,15 +5187,10 @@ unbzip2-stream@^1.0.9: buffer "^5.2.1" through "^2.3.8" -underscore@1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" - integrity sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI= - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= +underscore@^1.12.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.1.tgz#0c1c6bd2df54b6b69f2314066d65b6cde6fcf9d1" + integrity sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g== universal-user-agent@^6.0.0: version "6.0.0" @@ -5270,12 +5270,12 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vsce@1.87.1: - version "1.87.1" - resolved "https://registry.yarnpkg.com/vsce/-/vsce-1.87.1.tgz#22b1dae5412b200aa3c43455e4c798a04d631ddd" - integrity sha512-3tSUWZl9AmhZrqy/UVUpdPODSzBiCGjIr/AMSSgF2PuFLSdrh+6kiOr2Ath7bpQEXOxf55hNgz3qdO5MuEJmww== +vsce@1.88.0: + version "1.88.0" + resolved "https://registry.yarnpkg.com/vsce/-/vsce-1.88.0.tgz#748dc9f75996d97a5953408848c56c4c1b4dca6b" + integrity sha512-FS5ou3G+WRnPPr/tWVs8b/jVzeDacgZHy/y7/QQW7maSPFEAmRt2bFGUJtJVEUDLBqtDm/3VGMJ7D31cF2U1tw== dependencies: - azure-devops-node-api "^7.2.0" + azure-devops-node-api "^10.2.2" chalk "^2.4.2" cheerio "^1.0.0-rc.1" commander "^6.1.0" @@ -5291,15 +5291,15 @@ vsce@1.87.1: read "^1.0.7" semver "^5.1.0" tmp "0.0.29" - typed-rest-client "1.2.0" + typed-rest-client "^1.8.4" url-join "^1.1.0" yauzl "^2.3.1" yazl "^2.2.2" -vscode-codicons@0.0.16: - version "0.0.16" - resolved "https://registry.yarnpkg.com/vscode-codicons/-/vscode-codicons-0.0.16.tgz#0bef18bfc0e9378ceb77213326495960cb53561f" - integrity sha512-OUijQNEJ78cmipWUR/LlUeTF9xAUW3/23YhgF3fNOKXKbajGTctUL8+sarVY1dZzv1ii7ilHXYkSJwh/d90XuA== +vscode-codicons@0.0.17: + version "0.0.17" + resolved "https://registry.yarnpkg.com/vscode-codicons/-/vscode-codicons-0.0.17.tgz#5ab4f2015641adaa1a73136195ba916aebf8764d" + integrity sha512-Hzclzhz9ouj5sfjDbXE78fciSGwDrlOMimkRIxFNy0pmHoexzLH1+OKTbrlR+Gz17C9ZCfX7Mlpq21jGsyhgSg== vscode-jsonrpc@^4.0.0: version "4.0.0" @@ -5314,17 +5314,17 @@ vsls@1.0.3015: "@microsoft/servicehub-framework" "^2.6.74" watchpack@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.1.tgz#e99630550fca07df9f90a06056987baa40a689c7" - integrity sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw== + version "2.2.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.2.0.tgz#47d78f5415fe550ecd740f99fe2882323a58b1ce" + integrity sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" -webpack-bundle-analyzer@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.1.tgz#c71fb2eaffc10a4754d7303b224adb2342069da1" - integrity sha512-j5m7WgytCkiVBoOGavzNokBOqxe6Mma13X1asfVYtKWM3wxBiRRu1u1iG0Iol5+qp9WgyhkMmBAcvjEfJ2bdDw== +webpack-bundle-analyzer@4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz#39898cf6200178240910d629705f0f3493f7d666" + integrity sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ== dependencies: acorn "^8.0.4" acorn-walk "^8.0.0" @@ -5378,20 +5378,20 @@ webpack-sources@^2.1.1, webpack-sources@^2.2.0: source-list-map "^2.0.1" source-map "^0.6.1" -webpack@5.33.2: - version "5.33.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.33.2.tgz#c049717c9b038febf5a72fd2f53319ad59a8c1fc" - integrity sha512-X4b7F1sYBmJx8mlh2B7mV5szEkE0jYNJ2y3akgAP0ERi0vLCG1VvdsIxt8lFd4st6SUy0lf7W0CCQS566MBpJg== +webpack@5.37.1: + version "5.37.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.37.1.tgz#2deb5acd350583c1ab9338471f323381b0b0c14b" + integrity sha512-btZjGy/hSjCAAVHw+cKG+L0M+rstlyxbO2C+BOTaQ5/XAnxkDrP5sVbqWhXgo4pL3X2dcOib6rqCP20Zr9PLow== dependencies: "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.46" + "@types/estree" "^0.0.47" "@webassemblyjs/ast" "1.11.0" "@webassemblyjs/wasm-edit" "1.11.0" "@webassemblyjs/wasm-parser" "1.11.0" - acorn "^8.0.4" + acorn "^8.2.1" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.7.0" + enhanced-resolve "^5.8.0" es-module-lexer "^0.4.0" eslint-scope "^5.1.1" events "^3.2.0" @@ -5472,9 +5472,9 @@ wrappy@1: integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= ws@^7.3.1: - version "7.4.4" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.4.tgz#383bc9742cb202292c9077ceab6f6047b17f2d59" - integrity sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw== + version "7.4.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1" + integrity sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g== xtend@^4.0.0: version "4.0.2"