Skip to content

Commit eb9e7c3

Browse files
committed
Updates dependencies & TypeScript
Works around microsoft/TypeScript#41428
1 parent 20b1920 commit eb9e7c3

16 files changed

+161
-133
lines changed

package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9010,12 +9010,12 @@
90109010
"@types/node": "12.12.70",
90119011
"@types/sortablejs": "1.10.6",
90129012
"@types/vscode": "1.52.0",
9013-
"@typescript-eslint/eslint-plugin": "4.12.0",
9014-
"@typescript-eslint/parser": "4.12.0",
9013+
"@typescript-eslint/eslint-plugin": "4.13.0",
9014+
"@typescript-eslint/parser": "4.13.0",
90159015
"circular-dependency-plugin": "5.2.2",
90169016
"clean-webpack-plugin": "3.0.0",
90179017
"copy-webpack-plugin": "7.0.0",
9018-
"csp-html-webpack-plugin": "5.0.1",
9018+
"csp-html-webpack-plugin": "5.1.0",
90199019
"css-loader": "5.0.1",
90209020
"eslint": "7.17.0",
90219021
"eslint-cli": "1.1.1",
@@ -9027,15 +9027,15 @@
90279027
"html-webpack-skip-assets-plugin": "0.0.2",
90289028
"image-minimizer-webpack-plugin": "2.2.0",
90299029
"imagemin-webp": "6.0.0",
9030-
"mini-css-extract-plugin": "1.3.3",
9030+
"mini-css-extract-plugin": "1.3.4",
90319031
"node-sass": "5.0.0",
90329032
"prettier": "2.2.1",
9033-
"sass-loader": "10.1.0",
9033+
"sass-loader": "10.1.1",
90349034
"terser-webpack-plugin": "5.1.1",
90359035
"ts-loader": "8.0.14",
9036-
"typescript": "4.0.5",
9036+
"typescript": "4.2.0-beta",
90379037
"vsce": "1.83.0",
9038-
"webpack": "5.12.3",
9038+
"webpack": "5.14.0",
90399039
"webpack-bundle-analyzer": "4.3.0",
90409040
"webpack-cli": "4.2.0"
90419041
}

src/commands/git/branch.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { Container } from '../../container';
44
import { GitBranchReference, GitReference, Repository } from '../../git/git';
55
import {
66
appendReposToTitle,
7+
AsyncStepResultGenerator,
78
inputBranchNameStep,
89
PartialStepState,
910
pickBranchesStep,
@@ -244,7 +245,7 @@ export class BranchGitCommand extends QuickCommand<State> {
244245
return QuickCommand.canPickStepContinue(step, state, selection) ? selection[0].item : StepResult.Break;
245246
}
246247

247-
private async *createCommandSteps(state: CreateStepState, context: Context): StepResultGenerator<void> {
248+
private async *createCommandSteps(state: CreateStepState, context: Context): AsyncStepResultGenerator<void> {
248249
if (state.flags == null) {
249250
state.flags = [];
250251
}
@@ -317,8 +318,7 @@ export class BranchGitCommand extends QuickCommand<State> {
317318
return QuickCommand.canPickStepContinue(step, state, selection) ? selection[0].item : StepResult.Break;
318319
}
319320

320-
// eslint-disable-next-line @typescript-eslint/require-await
321-
private async *deleteCommandSteps(state: DeleteStepState, context: Context): StepResultGenerator<void> {
321+
private async *deleteCommandSteps(state: DeleteStepState, context: Context): AsyncStepResultGenerator<void> {
322322
if (state.flags == null) {
323323
state.flags = [];
324324
}
@@ -422,8 +422,7 @@ export class BranchGitCommand extends QuickCommand<State> {
422422
return QuickCommand.canPickStepContinue(step, state, selection) ? selection[0].item : StepResult.Break;
423423
}
424424

425-
// eslint-disable-next-line @typescript-eslint/require-await
426-
private async *renameCommandSteps(state: RenameStepState, context: Context): StepResultGenerator<void> {
425+
private async *renameCommandSteps(state: RenameStepState, context: Context): AsyncStepResultGenerator<void> {
427426
if (state.flags == null) {
428427
state.flags = [];
429428
}

src/commands/git/fetch.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ import { Container } from '../../container';
44
import { GitBranchReference, GitReference, Repository } from '../../git/git';
55
import {
66
appendReposToTitle,
7+
AsyncStepResultGenerator,
78
PartialStepState,
89
pickRepositoriesStep,
910
QuickCommand,
1011
QuickPickStep,
1112
StepGenerator,
1213
StepResult,
13-
StepResultGenerator,
1414
StepSelection,
1515
StepState,
1616
} from '../quickCommand';
@@ -130,7 +130,7 @@ export class FetchGitCommand extends QuickCommand<State> {
130130
return state.counter < 0 ? StepResult.Break : undefined;
131131
}
132132

133-
private async *confirmStep(state: FetchStepState, context: Context): StepResultGenerator<Flags[]> {
133+
private async *confirmStep(state: FetchStepState, context: Context): AsyncStepResultGenerator<Flags[]> {
134134
let lastFetchedOn = '';
135135
if (state.repos.length === 1) {
136136
const lastFetched = await state.repos[0].getLastFetched();

src/commands/git/merge.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { Container } from '../../container';
33
import { GitBranch, GitLog, GitReference, GitRevision, Repository } from '../../git/git';
44
import {
55
appendReposToTitle,
6+
AsyncStepResultGenerator,
67
PartialStepState,
78
pickBranchOrTagStep,
89
pickCommitStep,
@@ -12,7 +13,6 @@ import {
1213
QuickPickStep,
1314
StepGenerator,
1415
StepResult,
15-
StepResultGenerator,
1616
StepSelection,
1717
StepState,
1818
} from '../quickCommand';
@@ -194,7 +194,7 @@ export class MergeGitCommand extends QuickCommand<State> {
194194
return state.counter < 0 ? StepResult.Break : undefined;
195195
}
196196

197-
private async *confirmStep(state: MergeStepState, context: Context): StepResultGenerator<Flags[]> {
197+
private async *confirmStep(state: MergeStepState, context: Context): AsyncStepResultGenerator<Flags[]> {
198198
const aheadBehind = await Container.git.getAheadBehindCommitCount(state.repo.path, [
199199
GitRevision.createRange(context.destination.name, state.reference.name),
200200
]);

src/commands/git/pull.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ import { Container } from '../../container';
33
import { GitBranch, GitBranchReference, GitReference, Repository } from '../../git/git';
44
import {
55
appendReposToTitle,
6+
AsyncStepResultGenerator,
67
PartialStepState,
78
pickRepositoriesStep,
89
QuickCommand,
910
QuickCommandButtons,
1011
QuickPickStep,
1112
StepGenerator,
1213
StepResult,
13-
StepResultGenerator,
1414
StepSelection,
1515
StepState,
1616
} from '../quickCommand';
@@ -136,7 +136,7 @@ export class PullGitCommand extends QuickCommand<State> {
136136
return state.counter < 0 ? StepResult.Break : undefined;
137137
}
138138

139-
private async *confirmStep(state: PullStepState, context: Context): StepResultGenerator<Flags[]> {
139+
private async *confirmStep(state: PullStepState, context: Context): AsyncStepResultGenerator<Flags[]> {
140140
let step: QuickPickStep<FlagsQuickPickItem<Flags>>;
141141

142142
if (state.repos.length > 1) {

src/commands/git/push.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { Container } from '../../container';
55
import { GitBranch, GitBranchReference, GitReference, Repository } from '../../git/git';
66
import {
77
appendReposToTitle,
8+
AsyncStepResultGenerator,
89
PartialStepState,
910
pickRepositoriesStep,
1011
pickRepositoryStep,
@@ -13,7 +14,6 @@ import {
1314
QuickPickStep,
1415
StepGenerator,
1516
StepResult,
16-
StepResultGenerator,
1717
StepSelection,
1818
StepState,
1919
} from '../quickCommand';
@@ -151,7 +151,7 @@ export class PushGitCommand extends QuickCommand<State> {
151151
return state.counter < 0 ? StepResult.Break : undefined;
152152
}
153153

154-
private async *confirmStep(state: PushStepState, context: Context): StepResultGenerator<Flags[]> {
154+
private async *confirmStep(state: PushStepState, context: Context): AsyncStepResultGenerator<Flags[]> {
155155
const useForceWithLease = configuration.getAny<boolean>('git.useForcePushWithLease') ?? false;
156156

157157
let step: QuickPickStep<FlagsQuickPickItem<Flags>>;

src/commands/git/rebase.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { Container } from '../../container';
44
import { GitBranch, GitLog, GitReference, GitRevision, Repository } from '../../git/git';
55
import {
66
appendReposToTitle,
7+
AsyncStepResultGenerator,
78
PartialStepState,
89
pickBranchOrTagStep,
910
pickCommitStep,
@@ -13,7 +14,6 @@ import {
1314
QuickPickStep,
1415
StepGenerator,
1516
StepResult,
16-
StepResultGenerator,
1717
StepSelection,
1818
StepState,
1919
} from '../quickCommand';
@@ -226,7 +226,7 @@ export class RebaseGitCommand extends QuickCommand<State> {
226226
return state.counter < 0 ? StepResult.Break : undefined;
227227
}
228228

229-
private async *confirmStep(state: RebaseStepState, context: Context): StepResultGenerator<Flags[]> {
229+
private async *confirmStep(state: RebaseStepState, context: Context): AsyncStepResultGenerator<Flags[]> {
230230
const aheadBehind = await Container.git.getAheadBehindCommitCount(state.repo.path, [
231231
state.reference.refType === 'revision'
232232
? GitRevision.createRange(state.reference.ref, context.destination.ref)

src/commands/git/stash.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { GitUri } from '../../git/gitUri';
77
import { GitActions, GitCommandsCommand } from '../gitCommands';
88
import {
99
appendReposToTitle,
10+
AsyncStepResultGenerator,
1011
PartialStepState,
1112
pickRepositoryStep,
1213
pickStashStep,
@@ -510,7 +511,10 @@ export class StashGitCommand extends QuickCommand<State> {
510511
}
511512
}
512513

513-
private async *pushCommandInputMessageStep(state: PushStepState, context: Context): StepResultGenerator<string> {
514+
private async *pushCommandInputMessageStep(
515+
state: PushStepState,
516+
context: Context,
517+
): AsyncStepResultGenerator<string> {
514518
const step = QuickCommand.createInputStep({
515519
title: appendReposToTitle(
516520
context.title,

src/commands/git/tag.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { Container } from '../../container';
44
import { GitReference, GitTagReference, Repository } from '../../git/git';
55
import {
66
appendReposToTitle,
7+
AsyncStepResultGenerator,
78
inputTagNameStep,
89
PartialStepState,
910
pickBranchOrTagStep,
@@ -213,7 +214,7 @@ export class TagGitCommand extends QuickCommand<State> {
213214
return QuickCommand.canPickStepContinue(step, state, selection) ? selection[0].item : StepResult.Break;
214215
}
215216

216-
private async *createCommandSteps(state: CreateStepState, context: Context): StepResultGenerator<void> {
217+
private async *createCommandSteps(state: CreateStepState, context: Context): AsyncStepResultGenerator<void> {
217218
if (state.flags == null) {
218219
state.flags = [];
219220
}
@@ -270,7 +271,7 @@ export class TagGitCommand extends QuickCommand<State> {
270271
private async *createCommandInputMessageStep(
271272
state: CreateStepState,
272273
context: Context,
273-
): StepResultGenerator<string> {
274+
): AsyncStepResultGenerator<string> {
274275
const step = QuickCommand.createInputStep({
275276
title: appendReposToTitle(
276277
`${context.title} at ${GitReference.toString(state.reference, { capitalize: true, icon: false })}`,
@@ -324,7 +325,6 @@ export class TagGitCommand extends QuickCommand<State> {
324325
return QuickCommand.canPickStepContinue(step, state, selection) ? selection[0].item : StepResult.Break;
325326
}
326327

327-
// eslint-disable-next-line @typescript-eslint/require-await
328328
private async *deleteCommandSteps(state: DeleteStepState, context: Context): StepGenerator {
329329
while (this.canStepsContinue(state)) {
330330
if (state.references != null && !Array.isArray(state.references)) {

src/commands/quickCommand.steps.ts

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import {
2626
} from '../git/git';
2727
import { GitService } from '../git/gitService';
2828
import {
29+
AsyncStepResultGenerator,
2930
PartialStepState,
3031
QuickCommand,
3132
QuickCommandButtons,
@@ -313,7 +314,7 @@ export async function* inputBranchNameStep<
313314
state: State,
314315
context: Context,
315316
options: { placeholder: string; titleContext?: string; value?: string },
316-
): StepResultGenerator<string> {
317+
): AsyncStepResultGenerator<string> {
317318
const step = QuickCommand.createInputStep({
318319
title: appendReposToTitle(`${context.title}${options.titleContext ?? ''}`, state, context),
319320
placeholder: options.placeholder,
@@ -348,7 +349,7 @@ export async function* inputTagNameStep<
348349
state: State,
349350
context: Context,
350351
options: { placeholder: string; titleContext?: string; value?: string },
351-
): StepResultGenerator<string> {
352+
): AsyncStepResultGenerator<string> {
352353
const step = QuickCommand.createInputStep({
353354
title: appendReposToTitle(`${context.title}${options.titleContext ?? ''}`, state, context),
354355
placeholder: options.placeholder,
@@ -393,7 +394,7 @@ export async function* pickBranchStep<
393394
placeholder: string;
394395
titleContext?: string;
395396
},
396-
): StepResultGenerator<GitBranchReference> {
397+
): AsyncStepResultGenerator<GitBranchReference> {
397398
const branches = await getBranches(state.repo, {
398399
filterBranches: filterBranches,
399400
picked: picked,
@@ -457,7 +458,7 @@ export async function* pickBranchesStep<
457458
placeholder: string;
458459
titleContext?: string;
459460
},
460-
): StepResultGenerator<GitBranchReference[]> {
461+
): AsyncStepResultGenerator<GitBranchReference[]> {
461462
const branches = await getBranches(state.repo, {
462463
filterBranches: filterBranches,
463464
picked: picked,
@@ -528,7 +529,7 @@ export async function* pickBranchOrTagStep<
528529
additionalButtons?: QuickInputButton[];
529530
ranges?: boolean;
530531
},
531-
): StepResultGenerator<GitReference> {
532+
): AsyncStepResultGenerator<GitReference> {
532533
context.showTags = true;
533534

534535
const showTagsButton = new QuickCommandButtons.ShowTagsToggle(context.showTags);
@@ -641,7 +642,7 @@ export async function* pickBranchOrTagStepMultiRepo<
641642
titleContext?: string;
642643
value?: string;
643644
},
644-
): StepResultGenerator<GitReference> {
645+
): AsyncStepResultGenerator<GitReference> {
645646
context.showTags = state.repos.length === 1;
646647

647648
const showTagsButton = new QuickCommandButtons.ShowTagsToggle(context.showTags);
@@ -765,7 +766,7 @@ export async function* pickCommitStep<
765766
};
766767
titleContext?: string;
767768
},
768-
): StepResultGenerator<GitLogCommit> {
769+
): AsyncStepResultGenerator<GitLogCommit> {
769770
function getItems(log: GitLog | undefined) {
770771
return log == null
771772
? [DirectiveQuickPickItem.create(Directive.Back, true), DirectiveQuickPickItem.create(Directive.Cancel)]
@@ -1011,7 +1012,11 @@ export function* pickCommitsStep<
10111012
export async function* pickContributorsStep<
10121013
State extends PartialStepState & { repo: Repository },
10131014
Context extends { repos: Repository[]; title: string }
1014-
>(state: State, context: Context, placeholder: string = 'Choose contributors'): StepResultGenerator<GitContributor[]> {
1015+
>(
1016+
state: State,
1017+
context: Context,
1018+
placeholder: string = 'Choose contributors',
1019+
): AsyncStepResultGenerator<GitContributor[]> {
10151020
const message = (await GitService.getBuiltInGitRepository(state.repo.path))?.inputBox.value;
10161021

10171022
const step = QuickCommand.createPickStep<ContributorQuickPickItem>({
@@ -1031,7 +1036,7 @@ export async function* pickContributorsStep<
10311036
export async function* pickRepositoryStep<
10321037
State extends PartialStepState & { repo?: string | Repository },
10331038
Context extends { repos: Repository[]; title: string }
1034-
>(state: State, context: Context, placeholder: string = 'Choose a repository'): StepResultGenerator<Repository> {
1039+
>(state: State, context: Context, placeholder: string = 'Choose a repository'): AsyncStepResultGenerator<Repository> {
10351040
if (typeof state.repo === 'string') {
10361041
state.repo = await Container.git.getRepository(state.repo);
10371042
if (state.repo != null) return state.repo;
@@ -1086,7 +1091,7 @@ export async function* pickRepositoriesStep<
10861091
state: State,
10871092
context: Context,
10881093
options?: { placeholder?: string; skipIfPossible?: boolean },
1089-
): StepResultGenerator<Repository[]> {
1094+
): AsyncStepResultGenerator<Repository[]> {
10901095
options = { placeholder: 'Choose repositories', skipIfPossible: false, ...options };
10911096

10921097
let actives: Repository[];
@@ -1259,7 +1264,7 @@ export async function* pickTagsStep<
12591264
placeholder: string;
12601265
titleContext?: string;
12611266
},
1262-
): StepResultGenerator<GitTagReference[]> {
1267+
): AsyncStepResultGenerator<GitTagReference[]> {
12631268
const tags = await getTags(state.repo, {
12641269
filterTags: filterTags,
12651270
picked: picked,
@@ -1313,7 +1318,7 @@ export async function* showCommitOrStashStep<
13131318
>(
13141319
state: State,
13151320
context: Context,
1316-
): StepResultGenerator<CommitFilesQuickPickItem | GitCommandQuickPickItem | CommandQuickPickItem> {
1321+
): AsyncStepResultGenerator<CommitFilesQuickPickItem | GitCommandQuickPickItem | CommandQuickPickItem> {
13171322
const step: QuickPickStep<
13181323
CommitFilesQuickPickItem | GitCommandQuickPickItem | CommandQuickPickItem
13191324
> = QuickCommand.createPickStep({
@@ -1638,7 +1643,7 @@ export async function* showCommitOrStashFileStep<
16381643
fileName: string;
16391644
},
16401645
Context extends { repos: Repository[]; title: string }
1641-
>(state: State, context: Context): StepResultGenerator<CommandQuickPickItem> {
1646+
>(state: State, context: Context): AsyncStepResultGenerator<CommandQuickPickItem> {
16421647
const step: QuickPickStep<CommandQuickPickItem> = QuickCommand.createPickStep<CommandQuickPickItem>({
16431648
title: appendReposToTitle(
16441649
GitReference.toString(state.reference, {

src/commands/quickCommand.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,16 @@ export namespace StepResult {
6666
export const Break = Symbol('BreakStep');
6767
}
6868
export type StepResult<T> = typeof StepResult.Break | T;
69-
export type StepResultGenerator<T> =
70-
| Generator<QuickPickStep | QuickInputStep, StepResult<T>, any | undefined>
71-
| AsyncGenerator<QuickPickStep | QuickInputStep, StepResult<T>, any | undefined>;
69+
export type StepResultGenerator<T> = Generator<QuickPickStep | QuickInputStep, StepResult<T>, any | undefined>;
70+
export type AsyncStepResultGenerator<T> = AsyncGenerator<
71+
QuickPickStep | QuickInputStep,
72+
StepResult<T>,
73+
any | undefined
74+
>;
75+
// Can't use this union type because of https://github.com/microsoft/TypeScript/issues/41428
76+
// export type StepResultGenerator<T> =
77+
// | Generator<QuickPickStep | QuickInputStep, StepResult<T>, any | undefined>
78+
// | AsyncGenerator<QuickPickStep | QuickInputStep, StepResult<T>, any | undefined>;
7279
export type StepSelection<T> = T extends QuickPickStep<infer U>
7380
? U[] | Directive
7481
: T extends QuickInputStep

0 commit comments

Comments
 (0)