Skip to content

Commit ca5cf18

Browse files
committed
Fix type imports and ESLint directives
1 parent 1f89c0a commit ca5cf18

21 files changed

+120
-86
lines changed

src/extension.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { DebugSessionFeature } from "./features/DebugSession";
1010
import { ExamplesFeature } from "./features/Examples";
1111
import { ExpandAliasFeature } from "./features/ExpandAlias";
1212
import { ExtensionCommandsFeature } from "./features/ExtensionCommands";
13-
import { ExternalApiFeature, IPowerShellExtensionClient } from "./features/ExternalApi";
13+
import { ExternalApiFeature, type IPowerShellExtensionClient } from "./features/ExternalApi";
1414
import { GenerateBugReportFeature } from "./features/GenerateBugReport";
1515
import { GetCommandsFeature } from "./features/GetCommands";
1616
import { HelpCompletionFeature } from "./features/HelpCompletion";
@@ -82,7 +82,6 @@ export async function activate(context: vscode.ExtensionContext): Promise<IPower
8282
// e.g. /** | */
8383
// eslint-disable-next-line no-useless-escape
8484
beforeText: /^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,
85-
// eslint-disable-next-line no-useless-escape
8685
afterText: /^\s*\*\/$/,
8786
action: { indentAction: vscode.IndentAction.IndentOutdent, appendText: " * " },
8887
},
@@ -201,7 +200,7 @@ function registerWaitForPsesActivationCommand(context: vscode.ExtensionContext):
201200
const pidFile = vscode.Uri.joinPath(context.globalStorageUri, "sessions", pidFileName);
202201
const fs = vscode.workspace.fs;
203202
// Wait for the file to be created
204-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, no-constant-condition
203+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
205204
while (true) {
206205
try {
207206
const pidContent = await fs.readFile(pidFile);

src/features/CodeActions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// Licensed under the MIT License.
33

44
import vscode = require("vscode");
5-
import { ILogger } from "../logging";
5+
import type { ILogger } from "../logging";
66

77
export class CodeActionsFeature implements vscode.Disposable {
88
private command: vscode.Disposable;

src/features/Console.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@
44
import vscode = require("vscode");
55
import { NotificationType, RequestType } from "vscode-languageclient";
66
import { LanguageClient } from "vscode-languageclient/node";
7-
import { ICheckboxQuickPickItem, showCheckboxQuickPick } from "../controls/checkboxQuickPick";
8-
import { ILogger } from "../logging";
7+
import {
8+
type ICheckboxQuickPickItem,
9+
showCheckboxQuickPick,
10+
} from "../controls/checkboxQuickPick";
11+
import type { ILogger } from "../logging";
912
import { getSettings } from "../settings";
1013
import { LanguageClientConsumer } from "../languageClientConsumer";
1114

src/features/DebugSession.ts

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,39 @@
22
// Licensed under the MIT License.
33

44
import {
5-
debug,
6-
CancellationToken,
7-
CancellationTokenSource,
8-
DebugAdapterDescriptor,
9-
DebugAdapterDescriptorFactory,
10-
DebugAdapterExecutable,
11-
DebugAdapterNamedPipeServer,
12-
DebugConfiguration,
13-
DebugConfigurationProvider,
14-
DebugSession,
15-
ExtensionContext,
16-
WorkspaceFolder,
17-
Disposable,
18-
window,
19-
extensions,
20-
workspace,
21-
commands,
22-
InputBoxOptions,
23-
QuickPickItem,
24-
QuickPickOptions,
25-
DebugConfigurationProviderTriggerKind,
26-
DebugAdapterTrackerFactory,
27-
DebugAdapterTracker,
28-
LogOutputChannel
5+
debug,
6+
type CancellationToken,
7+
CancellationTokenSource,
8+
type DebugAdapterDescriptor,
9+
type DebugAdapterDescriptorFactory,
10+
DebugAdapterExecutable,
11+
DebugAdapterNamedPipeServer,
12+
type DebugConfiguration,
13+
type DebugConfigurationProvider,
14+
type DebugSession,
15+
type ExtensionContext,
16+
type WorkspaceFolder,
17+
Disposable,
18+
window,
19+
extensions,
20+
workspace,
21+
commands,
22+
type InputBoxOptions,
23+
type QuickPickItem,
24+
type QuickPickOptions,
25+
DebugConfigurationProviderTriggerKind,
26+
type DebugAdapterTrackerFactory,
27+
type DebugAdapterTracker,
28+
type LogOutputChannel,
2929
} from "vscode";
3030
import type { DebugProtocol } from "@vscode/debugprotocol";
3131
import { NotificationType, RequestType } from "vscode-languageclient";
3232
import { LanguageClient } from "vscode-languageclient/node";
3333
import { LanguageClientConsumer } from "../languageClientConsumer";
34-
import { ILogger } from "../logging";
34+
import type { ILogger } from "../logging";
3535
import { OperatingSystem, getPlatformDetails } from "../platform";
3636
import { PowerShellProcess } from "../process";
37-
import { IEditorServicesSessionDetails, SessionManager } from "../session";
37+
import { type IEditorServicesSessionDetails, SessionManager } from "../session";
3838
import { getSettings } from "../settings";
3939
import path from "path";
4040
import { checkIfFileExists } from "../utils";
@@ -703,7 +703,6 @@ interface IProcessItem extends QuickPickItem {
703703
processId: number; // payload for the QuickPick UI
704704
}
705705

706-
// eslint-disable-next-line @typescript-eslint/no-empty-interface
707706
interface IGetPSHostProcessesArguments {
708707
}
709708

@@ -722,7 +721,6 @@ interface IRunspaceItem extends QuickPickItem {
722721
id: number; // payload for the QuickPick UI
723722
}
724723

725-
// eslint-disable-next-line @typescript-eslint/no-empty-interface
726724
interface IGetRunspaceRequestArguments {
727725
}
728726

src/features/ExpandAlias.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@ import { RequestType } from "vscode-languageclient";
66
import { LanguageClientConsumer } from "../languageClientConsumer";
77
import type { LanguageClient } from "vscode-languageclient/node";
88

9-
// eslint-disable-next-line @typescript-eslint/no-empty-interface
109
interface IExpandAliasRequestArguments {
1110
}
1211

13-
// eslint-disable-next-line @typescript-eslint/no-empty-interface
1412
interface IExpandAliasRequestResponse {
1513
text: string
1614
}

src/features/ExtensionCommands.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
Position, Range, RequestType
99
} from "vscode-languageclient";
1010
import { LanguageClient } from "vscode-languageclient/node";
11-
import { ILogger } from "../logging";
11+
import type { ILogger } from "../logging";
1212
import { getSettings, validateCwdSetting } from "../settings";
1313
import { LanguageClientConsumer } from "../languageClientConsumer";
1414
import { DebugConfig, DebugConfigurations } from "./DebugSession";
@@ -64,7 +64,6 @@ export const GetEditorContextRequestType =
6464
new RequestType<IGetEditorContextRequestArguments, IEditorContext, void>(
6565
"editor/getEditorContext");
6666

67-
// eslint-disable-next-line @typescript-eslint/no-empty-interface
6867
export interface IGetEditorContextRequestArguments {
6968
}
7069

src/features/ExternalApi.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
import * as vscode from "vscode";
55
import { v4 as uuidv4 } from "uuid";
6-
import { ILogger } from "../logging";
6+
import type { ILogger } from "../logging";
77
import { SessionManager } from "../session";
88

99
export interface IExternalPowerShellDetails {

src/features/HelpCompletion.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,16 @@
33

44
import {
55
Disposable, EndOfLine, Range, SnippetString,
6-
TextDocument, TextDocumentChangeEvent, window, workspace
6+
type TextDocument, type TextDocumentChangeEvent, window, workspace
77
} from "vscode";
88
import { RequestType } from "vscode-languageclient";
99
import { LanguageClient } from "vscode-languageclient/node";
1010
import { Settings, CommentType, getSettings } from "../settings";
1111
import { LanguageClientConsumer } from "../languageClientConsumer";
1212

13-
// eslint-disable-next-line @typescript-eslint/no-empty-interface
1413
interface ICommentHelpRequestArguments {
1514
}
1615

17-
// eslint-disable-next-line @typescript-eslint/no-empty-interface
1816
interface ICommentHelpRequestResponse {
1917
content: string[]
2018
}

src/features/PesterTests.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
import * as path from "path";
55
import vscode = require("vscode");
6-
import { ILogger } from "../logging";
6+
import type { ILogger } from "../logging";
77
import { SessionManager } from "../session";
88
import { getSettings, getChosenWorkspace } from "../settings";
99
import utils = require("../utils");
@@ -53,9 +53,7 @@ export class PesterTestsFeature implements vscode.Disposable {
5353
launchType: LaunchType,
5454
fileUri?: vscode.Uri): Promise<boolean> {
5555

56-
if (fileUri === undefined) {
57-
fileUri = vscode.window.activeTextEditor?.document.uri;
58-
}
56+
fileUri ??= vscode.window.activeTextEditor?.document.uri;
5957

6058
if (fileUri === undefined) {
6159
return false;

src/features/ShowHelp.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import { NotificationType } from "vscode-languageclient";
66
import { LanguageClientConsumer } from "../languageClientConsumer";
77
import type { LanguageClient } from "vscode-languageclient/node";
88

9-
// eslint-disable-next-line @typescript-eslint/no-empty-interface
109
interface IShowHelpNotificationArguments {
1110
}
1211

src/features/UpdatePowerShell.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import fetch from "node-fetch";
55
import { SemVer } from "semver";
66
import vscode = require("vscode");
77

8-
import { ILogger } from "../logging";
9-
import { IPowerShellVersionDetails } from "../session";
8+
import type { ILogger } from "../logging";
9+
import type { IPowerShellVersionDetails } from "../session";
1010
import { changeSetting, Settings } from "../settings";
1111

1212
interface IUpdateMessageItem extends vscode.MessageItem {

src/logging.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT License.
33

4-
import { LogOutputChannel, LogLevel, window, Event } from "vscode";
4+
import { type LogOutputChannel, LogLevel, window, type Event } from "vscode";
55

66
/** Interface for logging operations. New features should use this interface for the "type" of logger.
77
* This will allow for easy mocking of the logger during unit tests.
@@ -140,9 +140,7 @@ export class Logger implements ILogger {
140140
export class LanguageClientOutputChannelAdapter implements LogOutputChannel {
141141
private _channel: LogOutputChannel | undefined;
142142
private get channel(): LogOutputChannel {
143-
if (!this._channel) {
144-
this._channel = window.createOutputChannel(this.channelName, {log: true});
145-
}
143+
this._channel ??= window.createOutputChannel(this.channelName, {log: true});
146144
return this._channel;
147145
}
148146

src/platform.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,11 @@ import * as path from "path";
66
import * as process from "process";
77
import vscode = require("vscode");
88
import { integer } from "vscode-languageserver-protocol";
9-
import { ILogger } from "./logging";
10-
import { changeSetting, getSettings, PowerShellAdditionalExePathSettings } from "./settings";
9+
import type { ILogger } from "./logging";
10+
import { changeSetting, getSettings, type PowerShellAdditionalExePathSettings } from "./settings";
1111
import untildify from "untildify";
1212

1313
// This uses require so we can rewire it in unit tests!
14-
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-var-requires
1514
const utils = require("./utils");
1615

1716
const WindowsPowerShell64BitLabel = "Windows PowerShell (x64)";
@@ -631,9 +630,7 @@ class PossiblePowerShellExe implements IPossiblePowerShellExe {
631630
public readonly suppressWarning = false) { }
632631

633632
public async exists(): Promise<boolean> {
634-
if (this.knownToExist === undefined) {
635-
this.knownToExist = await utils.checkIfFileExists(this.exePath);
636-
}
633+
this.knownToExist ??= await utils.checkIfFileExists(this.exePath);
637634
return this.knownToExist ?? false;
638635
}
639636
}

src/process.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
import cp = require("child_process");
55
import path = require("path");
66
import vscode = require("vscode");
7-
import { ILogger } from "./logging";
7+
import type { ILogger } from "./logging";
88
import { Settings, validateCwdSetting } from "./settings";
99
import utils = require("./utils");
10-
import { IEditorServicesSessionDetails } from "./session";
10+
import type { IEditorServicesSessionDetails } from "./session";
1111
import { promisify } from "util";
1212

1313
export class PowerShellProcess {

src/session.ts

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,49 @@
44
import net = require("net");
55
import path = require("path");
66
import vscode = require("vscode");
7-
import TelemetryReporter, { TelemetryEventProperties, TelemetryEventMeasurements } from "@vscode/extension-telemetry";
7+
import TelemetryReporter, {
8+
type TelemetryEventProperties,
9+
type TelemetryEventMeasurements,
10+
} from "@vscode/extension-telemetry";
811
import { Message } from "vscode-jsonrpc";
9-
import { ILogger, LanguageClientOutputChannelAdapter, LspTraceParser, PsesParser } from "./logging";
12+
import {
13+
type ILogger,
14+
LanguageClientOutputChannelAdapter,
15+
LspTraceParser,
16+
PsesParser,
17+
} from "./logging";
1018
import { PowerShellProcess } from "./process";
11-
import { Settings, changeSetting, getSettings, getEffectiveConfigurationTarget, validateCwdSetting } from "./settings";
19+
import {
20+
Settings,
21+
changeSetting,
22+
getSettings,
23+
getEffectiveConfigurationTarget,
24+
validateCwdSetting,
25+
} from "./settings";
1226
import utils = require("./utils");
1327

1428
import {
15-
CloseAction, CloseHandlerResult, DocumentSelector, ErrorAction, ErrorHandlerResult,
16-
LanguageClientOptions, Middleware, NotificationType,
17-
RequestType0, ResolveCodeLensSignature,
18-
RevealOutputChannelOn,
29+
CloseAction,
30+
type CloseHandlerResult,
31+
DocumentSelector,
32+
ErrorAction,
33+
type ErrorHandlerResult,
34+
type LanguageClientOptions,
35+
type Middleware,
36+
NotificationType,
37+
RequestType0,
38+
type ResolveCodeLensSignature,
39+
RevealOutputChannelOn,
1940
} from "vscode-languageclient";
20-
import { LanguageClient, StreamInfo } from "vscode-languageclient/node";
41+
import { LanguageClient, type StreamInfo } from "vscode-languageclient/node";
2142

2243
import { UpdatePowerShell } from "./features/UpdatePowerShell";
2344
import {
24-
getPlatformDetails, IPlatformDetails, IPowerShellExeDetails,
25-
OperatingSystem, PowerShellExeFinder
45+
getPlatformDetails,
46+
type IPlatformDetails,
47+
type IPowerShellExeDetails,
48+
OperatingSystem,
49+
PowerShellExeFinder,
2650
} from "./platform";
2751
import { LanguageClientConsumer } from "./languageClientConsumer";
2852
import { SemVer, satisfies } from "semver";
@@ -1067,6 +1091,7 @@ class SessionMenuItem implements vscode.QuickPickItem {
10671091

10681092
constructor(
10691093
public readonly label: string,
1094+
10701095
// eslint-disable-next-line @typescript-eslint/no-empty-function
10711096
public readonly callback = async (): Promise<void> => { }) {
10721097
}

src/settings.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import vscode = require("vscode");
55
import utils = require("./utils");
66
import os = require("os");
7-
import { ILogger } from "./logging";
7+
import type { ILogger } from "./logging";
88
import untildify from "untildify";
99
import path = require("path");
1010

test/core/paths.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
import assert from "assert";
55
import * as vscode from "vscode";
6-
import { IPowerShellExtensionClient } from "../../src/features/ExternalApi";
6+
import type { IPowerShellExtensionClient } from "../../src/features/ExternalApi";
77
import utils = require("../utils");
88
import { checkIfDirectoryExists, checkIfFileExists, ShellIntegrationScript } from "../../src/utils";
99

0 commit comments

Comments
 (0)