From 92a2bff08a840bb671516d671f3024d2a5417f51 Mon Sep 17 00:00:00 2001 From: Matthew Bastien Date: Fri, 29 Aug 2025 16:44:59 -0400 Subject: [PATCH 1/4] add the concept of test tags to set timeouts --- .vscode-test.js | 22 +-- .vscode/launch.json | 2 +- test/common.ts | 3 + .../BackgroundCompilation.test.ts | 7 +- .../DiagnosticsManager.test.ts | 5 +- .../ExtensionActivation.test.ts | 5 +- test/integration-tests/SwiftPackage.test.ts | 4 +- test/integration-tests/SwiftSnippet.test.ts | 5 +- .../WorkspaceContext.test.ts | 30 +-- test/integration-tests/commands/build.test.ts | 6 +- .../commands/captureDiagnostics.test.ts | 5 +- .../commands/dependency.test.ts | 7 +- .../DocumentationLivePreview.test.ts | 6 +- test/integration-tests/extension.test.ts | 18 +- .../LanguageClientIntegration.test.ts | 5 +- .../tasks/SwiftPluginTaskProvider.test.ts | 2 - .../tasks/SwiftTaskProvider.test.ts | 5 +- .../integration-tests/tasks/TaskQueue.test.ts | 5 +- .../TestExplorerIntegration.test.ts | 33 +--- .../ui/ProjectPanelProvider.test.ts | 4 +- test/sleep.test.ts | 19 -- test/tags.ts | 183 ++++++++++++++++++ test/tsconfig.json | 3 +- 23 files changed, 244 insertions(+), 140 deletions(-) delete mode 100644 test/sleep.test.ts create mode 100644 test/tags.ts diff --git a/.vscode-test.js b/.vscode-test.js index c920896e3..0b4f7769c 100644 --- a/.vscode-test.js +++ b/.vscode-test.js @@ -11,27 +11,29 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// +// @ts-check const { defineConfig } = require("@vscode/test-cli"); const path = require("path"); const { version, publisher, name } = require("./package.json"); const isCIBuild = process.env["CI"] === "1"; -const isFastTestRun = process.env["FAST_TEST_RUN"] === "1"; const dataDir = process.env["VSCODE_DATA_DIR"]; -// "env" in launch.json doesn't seem to work with vscode-test +// Check if we're debugging by looking at the process executable. Unfortunately, the VS Code debugger +// doesn't seem to allow setting environment variables on a launched extension host. const isDebugRun = !(process.env["_"] ?? "").endsWith("node_modules/.bin/vscode-test"); -function log(...args) { +function log(/** @type {string} */ message) { if (!isDebugRun) { - console.log(...args); + console.log(message); } } -// so tests don't timeout when a breakpoint is hit -const timeout = isDebugRun ? Number.MAX_SAFE_INTEGER : 3000; +// Remove the default timeout when debugging to avoid test failures when a breakpoint is hit. +// Keep this up to date with the timeout of a 'small' test in 'test/tags.ts'. +const timeout = isDebugRun ? 0 : 2000; const launchArgs = [ "--disable-updates", @@ -96,6 +98,7 @@ for (const ext of installExtensions) { const env = { ...process.env, RUNNING_UNDER_VSCODE_TEST_CLI: "1", + VSCODE_DEBUG: isDebugRun ? "1" : "0", }; log("Running tests against environment:\n" + JSON.stringify(env, undefined, 2)); @@ -115,8 +118,6 @@ module.exports = defineConfig({ color: true, timeout, forbidOnly: isCIBuild, - grep: isFastTestRun ? "@slow" : undefined, - invert: isFastTestRun, slow: 10000, retries: 1, reporter: path.join(__dirname, ".mocha-reporter.js"), @@ -128,7 +129,6 @@ module.exports = defineConfig({ }, installExtensions: extensionDependencies, skipExtensionDependencies: installConfigs.length > 0, - reuseMachineInstall: !isCIBuild, }, { label: "codeWorkspaceTests", @@ -151,8 +151,6 @@ module.exports = defineConfig({ color: true, timeout, forbidOnly: isCIBuild, - grep: isFastTestRun ? "@slow" : undefined, - invert: isFastTestRun, slow: 10000, retries: 1, reporter: path.join(__dirname, ".mocha-reporter.js"), @@ -164,7 +162,6 @@ module.exports = defineConfig({ }, installExtensions: extensionDependencies, skipExtensionDependencies: installConfigs.length > 0, - reuseMachineInstall: !isCIBuild, }, { label: "unitTests", @@ -186,7 +183,6 @@ module.exports = defineConfig({ }, }, skipExtensionDependencies: true, - reuseMachineInstall: !isCIBuild, }, // you can specify additional test configurations, too ], diff --git a/.vscode/launch.json b/.vscode/launch.json index 14beaaaeb..b101f2537 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -17,7 +17,7 @@ "preLaunchTask": "Build Extension" }, { - "name": "Extension Tests", + "name": "Integration Tests", "type": "extensionHost", "request": "launch", "testConfiguration": "${workspaceFolder}/.vscode-test.js", diff --git a/test/common.ts b/test/common.ts index 3daba987d..21c6ec9f4 100644 --- a/test/common.ts +++ b/test/common.ts @@ -19,7 +19,10 @@ import * as chai from "chai"; import * as sinonChai from "sinon-chai"; import * as chaiAsPromised from "chai-as-promised"; import * as chaiSubset from "chai-subset"; +import { installTagSupport } from "./tags"; chai.use(sinonChai); chai.use(chaiAsPromised); chai.use(chaiSubset); + +installTagSupport(); diff --git a/test/integration-tests/BackgroundCompilation.test.ts b/test/integration-tests/BackgroundCompilation.test.ts index 7dca31886..50acfcc1d 100644 --- a/test/integration-tests/BackgroundCompilation.test.ts +++ b/test/integration-tests/BackgroundCompilation.test.ts @@ -18,8 +18,9 @@ import { WorkspaceContext } from "../../src/WorkspaceContext"; import { testAssetUri } from "../fixtures"; import { activateExtensionForTest, updateSettings } from "./utilities/testutilities"; import { closeAllEditors } from "../utilities/commands"; +import { tag } from "../tags"; -suite("BackgroundCompilation Test Suite", () => { +tag("large").suite("BackgroundCompilation Test Suite", () => { let workspaceContext: WorkspaceContext; activateExtensionForTest({ @@ -36,7 +37,7 @@ suite("BackgroundCompilation Test Suite", () => { await closeAllEditors(); }); - test("build all on save @slow", async () => { + test("build all on save", async () => { const taskPromise = new Promise(res => { vscode.tasks.onDidStartTask(e => { const task = e.execution.task; @@ -56,5 +57,5 @@ suite("BackgroundCompilation Test Suite", () => { await vscode.workspace.save(uri); await taskPromise; - }).timeout(180000); + }); }); diff --git a/test/integration-tests/DiagnosticsManager.test.ts b/test/integration-tests/DiagnosticsManager.test.ts index e3ba5961e..3047ab4c0 100644 --- a/test/integration-tests/DiagnosticsManager.test.ts +++ b/test/integration-tests/DiagnosticsManager.test.ts @@ -33,6 +33,7 @@ import { } from "./utilities/testutilities"; import { DiagnosticStyle } from "../../src/configuration"; import { expect } from "chai"; +import { tag } from "../tags"; const isEqual = (d1: vscode.Diagnostic, d2: vscode.Diagnostic) => { return ( @@ -66,9 +67,7 @@ function assertWithoutDiagnostic(uri: vscode.Uri, expected: vscode.Diagnostic) { ); } -suite("DiagnosticsManager Test Suite", function () { - this.timeout(60 * 1000 * 5); // Allow up to 5 minutes for build - +tag("medium").suite("DiagnosticsManager Test Suite", function () { let workspaceContext: WorkspaceContext; let folderContext: FolderContext; let cFolderContext: FolderContext; diff --git a/test/integration-tests/ExtensionActivation.test.ts b/test/integration-tests/ExtensionActivation.test.ts index 755a396ec..387cddf6d 100644 --- a/test/integration-tests/ExtensionActivation.test.ts +++ b/test/integration-tests/ExtensionActivation.test.ts @@ -24,6 +24,7 @@ import { import { WorkspaceContext } from "../../src/WorkspaceContext"; import { testAssetUri } from "../fixtures"; import { assertContains } from "./testexplorer/utilities"; +import { tag } from "../tags"; suite("Extension Activation/Deactivation Tests", () => { suite("Extension Activation", () => { @@ -101,9 +102,7 @@ suite("Extension Activation/Deactivation Tests", () => { }); }); - suite("Activates for cmake projects", function () { - this.timeout(60000); - + tag("medium").suite("Activates for cmake projects", function () { let workspaceContext: WorkspaceContext; activateExtensionForTest({ diff --git a/test/integration-tests/SwiftPackage.test.ts b/test/integration-tests/SwiftPackage.test.ts index 30bfefa43..01932250d 100644 --- a/test/integration-tests/SwiftPackage.test.ts +++ b/test/integration-tests/SwiftPackage.test.ts @@ -17,9 +17,9 @@ import { testAssetUri } from "../fixtures"; import { SwiftPackage } from "../../src/SwiftPackage"; import { SwiftToolchain } from "../../src/toolchain/toolchain"; import { Version } from "../../src/utilities/version"; +import { tag } from "../tags"; -suite("SwiftPackage Test Suite", function () { - this.timeout(5 * 60 * 1000); // 5 minute timeout +tag("medium").suite("SwiftPackage Test Suite", function () { let toolchain: SwiftToolchain; setup(async () => { diff --git a/test/integration-tests/SwiftSnippet.test.ts b/test/integration-tests/SwiftSnippet.test.ts index e1f349e29..287bccf33 100644 --- a/test/integration-tests/SwiftSnippet.test.ts +++ b/test/integration-tests/SwiftSnippet.test.ts @@ -29,10 +29,9 @@ import { import { WorkspaceContext } from "../../src/WorkspaceContext"; import { closeAllEditors } from "../utilities/commands"; import { Commands } from "../../src/commands"; +import { tag } from "../tags"; -suite("SwiftSnippet Test Suite @slow", function () { - this.timeout(180000); - +tag("large").suite("SwiftSnippet Test Suite", function () { const uri = testAssetUri("defaultPackage/Snippets/hello.swift"); const breakpoints = [ new vscode.SourceBreakpoint(new vscode.Location(uri, new vscode.Position(2, 0))), diff --git a/test/integration-tests/WorkspaceContext.test.ts b/test/integration-tests/WorkspaceContext.test.ts index c665b8de7..1c28c3833 100644 --- a/test/integration-tests/WorkspaceContext.test.ts +++ b/test/integration-tests/WorkspaceContext.test.ts @@ -28,6 +28,7 @@ import { import { FolderContext } from "../../src/FolderContext"; import { assertContains } from "./testexplorer/utilities"; import { resolveScope } from "../../src/utilities/tasks"; +import { tag } from "../tags"; function assertContainsArg(execution: SwiftExecution, arg: string) { assert(execution?.args.find(a => a === arg)); @@ -40,7 +41,7 @@ function assertNotContainsArg(execution: SwiftExecution, arg: string) { ); } -suite("WorkspaceContext Test Suite", () => { +tag("medium").suite("WorkspaceContext Test Suite", () => { let workspaceContext: WorkspaceContext; const packageFolder: vscode.Uri = testAssetUri("defaultPackage"); @@ -88,7 +89,7 @@ suite("WorkspaceContext Test Suite", () => { } finally { observer?.dispose(); } - }).timeout(60000 * 2); + }); }); suite("Tasks", function () { @@ -106,9 +107,6 @@ suite("WorkspaceContext Test Suite", () => { } }); - // Was hitting a timeout in suiteSetup during CI build once in a while - this.timeout(15000); - test("Default Task values", async () => { const folder = workspaceContext.folders.find( f => f.folder.fsPath === packageFolder.fsPath @@ -190,32 +188,16 @@ suite("WorkspaceContext Test Suite", () => { const execution = buildAllTask.execution as SwiftExecution; assertContainsArg(execution, "--replace-scm-with-registry"); }); - - test("Swift Path", async () => { - /* Temporarily disabled (need swift path to update immediately for this to work) - const folder = workspaceContext.folders.find( - f => f.folder.fsPath === packageFolder.fsPath - ); - assert(folder); - await swiftConfig.update("path", "/usr/bin/swift"); - const buildAllTask = createBuildAllTask(folder); - const execution = buildAllTask.execution as SwiftExecution; - assert.strictEqual(execution?.command, "/usr/bin/swift"); - await swiftConfig.update("path", "");*/ - }); }); suite("Toolchain", function () { - // Increase the timeout as this takes several seconds longer for the codeWorkspaceTests variant - this.timeout(60000); - activateExtensionForSuite({ async setup(ctx) { workspaceContext = ctx; }, }); - test("get project templates", async () => { + tag("small").test("get project templates", async () => { // This is only supported in swift versions >=5.8.0 const swiftVersion = workspaceContext.globalToolchain.swiftVersion; if (swiftVersion.isLessThan(new Version(5, 8, 0))) { @@ -248,6 +230,6 @@ suite("WorkspaceContext Test Suite", () => { name: "Build Tool Plugin", description: "A package that vends a build tool plugin.", }); - }).timeout(1000); + }); }); -}).timeout(15000); +}); diff --git a/test/integration-tests/commands/build.test.ts b/test/integration-tests/commands/build.test.ts index 6698aa797..ef73f1797 100644 --- a/test/integration-tests/commands/build.test.ts +++ b/test/integration-tests/commands/build.test.ts @@ -23,11 +23,9 @@ import { Commands } from "../../../src/commands"; import { continueSession, waitForDebugAdapterRequest } from "../../utilities/debug"; import { activateExtensionForSuite, folderInRootWorkspace } from "../utilities/testutilities"; import { Version } from "../../../src/utilities/version"; +import { tag } from "../../tags"; -suite("Build Commands @slow", function () { - // Default timeout is a bit too short, give it a little bit more time - this.timeout(3 * 60 * 1000); - +tag("large").suite("Build Commands", function () { let folderContext: FolderContext; let workspaceContext: WorkspaceContext; const uri = testAssetUri("defaultPackage/Sources/PackageExe/main.swift"); diff --git a/test/integration-tests/commands/captureDiagnostics.test.ts b/test/integration-tests/commands/captureDiagnostics.test.ts index 5e5cca2e4..66023c501 100644 --- a/test/integration-tests/commands/captureDiagnostics.test.ts +++ b/test/integration-tests/commands/captureDiagnostics.test.ts @@ -27,6 +27,7 @@ import { updateSettings, } from "../utilities/testutilities"; import { Version } from "../../../src/utilities/version"; +import { tag } from "../../tags"; suite("captureDiagnostics Test Suite", () => { let workspaceContext: WorkspaceContext; @@ -88,9 +89,7 @@ suite("captureDiagnostics Test Suite", () => { }); }); - suite("Full @slow", function () { - this.timeout(2 * 60 * 1000); - + tag("large").suite("Full", function () { activateExtensionForSuite({ async setup(ctx) { workspaceContext = ctx; diff --git a/test/integration-tests/commands/dependency.test.ts b/test/integration-tests/commands/dependency.test.ts index 303e41115..1577118ce 100644 --- a/test/integration-tests/commands/dependency.test.ts +++ b/test/integration-tests/commands/dependency.test.ts @@ -21,12 +21,9 @@ import { WorkspaceContext } from "../../../src/WorkspaceContext"; import { Commands } from "../../../src/commands"; import { activateExtensionForSuite, findWorkspaceFolder } from "../utilities/testutilities"; import { waitForNoRunningTasks } from "../../utilities/tasks"; +import { tag } from "../../tags"; -suite("Dependency Commmands Test Suite @slow", function () { - // full workflow's interaction with spm is longer than the default timeout - // 3 minutes for each test should be more than enough - this.timeout(3 * 60 * 1000); - +tag("large").suite("Dependency Commmands Test Suite", function () { let depsContext: FolderContext; let workspaceContext: WorkspaceContext; diff --git a/test/integration-tests/documentation/DocumentationLivePreview.test.ts b/test/integration-tests/documentation/DocumentationLivePreview.test.ts index 95385d89a..f77a3d8fa 100644 --- a/test/integration-tests/documentation/DocumentationLivePreview.test.ts +++ b/test/integration-tests/documentation/DocumentationLivePreview.test.ts @@ -27,11 +27,9 @@ import { WebviewContent, } from "../../../src/documentation/webview/WebviewMessage"; import { PreviewEditorConstant } from "../../../src/documentation/DocumentationPreviewEditor"; +import { tag } from "../../tags"; -suite("Documentation Live Preview", function () { - // Tests are short, but rely on SourceKit-LSP: give 30 seconds for each one - this.timeout(30 * 1000); - +tag("medium").suite("Documentation Live Preview", function () { let folderContext: FolderContext; let workspaceContext: WorkspaceContext; diff --git a/test/integration-tests/extension.test.ts b/test/integration-tests/extension.test.ts index ea1217508..37523e883 100644 --- a/test/integration-tests/extension.test.ts +++ b/test/integration-tests/extension.test.ts @@ -21,7 +21,6 @@ import { activateExtensionForTest, findWorkspaceFolder } from "./utilities/testu import { expect } from "chai"; suite("Extension Test Suite", function () { - this.timeout(60000); let workspaceContext: WorkspaceContext; activateExtensionForTest({ @@ -30,22 +29,7 @@ suite("Extension Test Suite", function () { }, }); - suite("Temporary Folder Test Suite", () => { - /*test("Create/Delete File", async () => { - const fileContents = "Test file"; - //const tempFolder = await TemporaryFolder.create(); - const fileName = workspaceContext.tempFolder.filename("test"); - assert.doesNotThrow(async () => await fs.writeFile(fileName, fileContents)); - assert.doesNotThrow(async () => { - const contents = await fs.readFile(fileName, "utf8"); - assert.strictEqual(contents, fileContents); - }); - assert.doesNotThrow(async () => await fs.rm(fileName)); - }).timeout(5000);*/ - }); - suite("Workspace", function () { - this.timeout(60000); /** Verify tasks.json is being loaded */ test("Tasks.json", async () => { const folder = findWorkspaceFolder("defaultPackage", workspaceContext); @@ -62,6 +46,6 @@ suite("Extension Test Suite", function () { ])) { assert.ok(execution?.args.find(item => item === arg)); } - }).timeout(60000); + }); }); }); diff --git a/test/integration-tests/language/LanguageClientIntegration.test.ts b/test/integration-tests/language/LanguageClientIntegration.test.ts index 655834cd6..151e97600 100644 --- a/test/integration-tests/language/LanguageClientIntegration.test.ts +++ b/test/integration-tests/language/LanguageClientIntegration.test.ts @@ -23,6 +23,7 @@ import { createBuildAllTask } from "../../../src/tasks/SwiftTaskProvider"; import { activateExtensionForSuite, folderInRootWorkspace } from "../utilities/testutilities"; import { waitForClientState } from "../utilities/lsputilities"; import { FolderContext } from "../../../src/FolderContext"; +import { tag } from "../../tags"; async function buildProject(ctx: WorkspaceContext, name: string) { await waitForNoRunningTasks(); @@ -33,9 +34,7 @@ async function buildProject(ctx: WorkspaceContext, name: string) { return folderContext; } -suite("Language Client Integration Suite @slow", function () { - this.timeout(3 * 60 * 1000); - +tag("large").suite("Language Client Integration Suite", function () { let clientManager: LanguageClientManager; let folderContext: FolderContext; diff --git a/test/integration-tests/tasks/SwiftPluginTaskProvider.test.ts b/test/integration-tests/tasks/SwiftPluginTaskProvider.test.ts index ab0623abc..763ab8dbe 100644 --- a/test/integration-tests/tasks/SwiftPluginTaskProvider.test.ts +++ b/test/integration-tests/tasks/SwiftPluginTaskProvider.test.ts @@ -37,8 +37,6 @@ suite("SwiftPluginTaskProvider Test Suite", function () { let workspaceContext: WorkspaceContext; let folderContext: FolderContext; - this.timeout(120000); // Mostly only when running suite with .only - activateExtensionForSuite({ async setup(ctx) { workspaceContext = ctx; diff --git a/test/integration-tests/tasks/SwiftTaskProvider.test.ts b/test/integration-tests/tasks/SwiftTaskProvider.test.ts index e2cd6f33e..d44e3e0cf 100644 --- a/test/integration-tests/tasks/SwiftTaskProvider.test.ts +++ b/test/integration-tests/tasks/SwiftTaskProvider.test.ts @@ -31,6 +31,7 @@ import { folderInRootWorkspace, updateSettings, } from "../utilities/testutilities"; +import { tag } from "../../tags"; suite("SwiftTaskProvider Test Suite", () => { let workspaceContext: WorkspaceContext; @@ -115,13 +116,13 @@ suite("SwiftTaskProvider Test Suite", () => { expect(task?.detail).to.include("swift build --build-tests"); }); - test("executes @slow", async () => { + tag("large").test("executes", async () => { assert(task); const exitPromise = waitForEndTaskProcess(task); await vscode.tasks.executeTask(task); const exitCode = await exitPromise; expect(exitCode).to.equal(0); - }).timeout(180000); // 3 minutes to build + }); }); suite("includes build all task from tasks.json", () => { diff --git a/test/integration-tests/tasks/TaskQueue.test.ts b/test/integration-tests/tasks/TaskQueue.test.ts index 2e17f9deb..3e56029f7 100644 --- a/test/integration-tests/tasks/TaskQueue.test.ts +++ b/test/integration-tests/tasks/TaskQueue.test.ts @@ -18,6 +18,7 @@ import { testAssetPath } from "../../fixtures"; import { WorkspaceContext } from "../../../src/WorkspaceContext"; import { SwiftExecOperation, TaskOperation, TaskQueue } from "../../../src/tasks/TaskQueue"; import { activateExtensionForSuite, findWorkspaceFolder } from "../utilities/testutilities"; +import { tag } from "../../tags"; suite("TaskQueue Test Suite", () => { let workspaceContext: WorkspaceContext; @@ -129,7 +130,7 @@ suite("TaskQueue Test Suite", () => { // Queue two tasks. The first one taking longer than the second. If they // are queued correctly the first will still finish before the second - test("Test execution order", async () => { + tag("medium").test("Test execution order", async () => { const sleepScript = testAssetPath("sleep.sh"); const results: (number | undefined)[] = []; const task1 = new vscode.Task( @@ -151,7 +152,7 @@ suite("TaskQueue Test Suite", () => { taskQueue.queueOperation(new TaskOperation(task2)).then(rt => results.push(rt)), ]); assert.notStrictEqual(results, [1, 2]); - }).timeout(15000); + }); // check queuing task will return expected value test("swift exec", async () => { diff --git a/test/integration-tests/testexplorer/TestExplorerIntegration.test.ts b/test/integration-tests/testexplorer/TestExplorerIntegration.test.ts index 7de6cd84b..ef62ec93c 100644 --- a/test/integration-tests/testexplorer/TestExplorerIntegration.test.ts +++ b/test/integration-tests/testexplorer/TestExplorerIntegration.test.ts @@ -52,12 +52,9 @@ import { createBuildAllTask } from "../../../src/tasks/SwiftTaskProvider"; import { FolderContext } from "../../../src/FolderContext"; import { lineBreakRegex } from "../../../src/utilities/tasks"; import { randomString } from "../../../src/utilities/utilities"; +import { tag } from "../../tags"; -suite("Test Explorer Suite", function () { - const MAX_TEST_RUN_TIME_MINUTES = 6; - - this.timeout(1000 * 60 * MAX_TEST_RUN_TIME_MINUTES); - +tag("large").suite("Test Explorer Suite", function () { let workspaceContext: WorkspaceContext; let folderContext: FolderContext; let testExplorer: TestExplorer; @@ -157,9 +154,7 @@ suite("Test Explorer Suite", function () { } }); - test("Debugs specified XCTest test @slow", async function () { - this.timeout(1000 * 60 * MAX_TEST_RUN_TIME_MINUTES * 2); - + test("Debugs specified XCTest test", async function () { // CodeLLDB tests stall out on 5.9 and below. if (folderContext.swiftVersion.isLessThan(new Version(5, 10, 0))) { this.skip(); @@ -373,7 +368,7 @@ suite("Test Explorer Suite", function () { }); }); - test("tests run in debug mode @slow", async function () { + test("tests run in debug mode", async function () { const testRun = await runTest( testExplorer, TestKind.standard, @@ -385,10 +380,7 @@ suite("Test Explorer Suite", function () { }); }); - test("test run in release mode @slow", async function () { - // Building in release takes a long time. - this.timeout(1000 * 60 * MAX_TEST_RUN_TIME_MINUTES * 2); - + test("test run in release mode", async function () { const passingRun = await runTest( testExplorer, TestKind.release, @@ -426,9 +418,7 @@ suite("Test Explorer Suite", function () { suite("Runs multiple", function () { const numIterations = 5; - this.timeout(1000 * 60 * MAX_TEST_RUN_TIME_MINUTES * 5); - - test("@slow runs an swift-testing test multiple times", async function () { + test("runs an swift-testing test multiple times", async function () { const testItems = gatherTests( testExplorer.controller, "PackageTests.MixedXCTestSuite/testPassing" @@ -562,7 +552,7 @@ suite("Test Explorer Suite", function () { assertContains(testRun.runState.output, "\r\nTest run cancelled."); }); - test("tests run in debug mode @slow", async function () { + test("tests run in debug mode", async function () { const testRun = await runTest( testExplorer, TestKind.standard, @@ -577,10 +567,7 @@ suite("Test Explorer Suite", function () { }); }); - test("tests run in release mode @slow", async function () { - // Building in release takes a long time. - this.timeout(1000 * 60 * MAX_TEST_RUN_TIME_MINUTES * 2); - + test("tests run in release mode", async function () { const passingRun = await runTest( testExplorer, TestKind.release, @@ -598,9 +585,7 @@ suite("Test Explorer Suite", function () { suite("Runs multiple", function () { const numIterations = 5; - this.timeout(1000 * 60 * MAX_TEST_RUN_TIME_MINUTES * 5); - - test("@slow runs an XCTest multiple times", async function () { + test("runs an XCTest multiple times", async function () { const testItems = gatherTests( testExplorer.controller, "PackageTests.PassingXCTestSuite/testPassing" diff --git a/test/integration-tests/ui/ProjectPanelProvider.test.ts b/test/integration-tests/ui/ProjectPanelProvider.test.ts index 2ede4266a..aa04c5f54 100644 --- a/test/integration-tests/ui/ProjectPanelProvider.test.ts +++ b/test/integration-tests/ui/ProjectPanelProvider.test.ts @@ -34,11 +34,11 @@ import { WorkspaceContext } from "../../../src/WorkspaceContext"; import { Version } from "../../../src/utilities/version"; import { wait } from "../../../src/utilities/utilities"; import { Commands } from "../../../src/commands"; +import { tag } from "../../tags"; -suite("ProjectPanelProvider Test Suite", function () { +tag("medium").suite("ProjectPanelProvider Test Suite", function () { let workspaceContext: WorkspaceContext; let treeProvider: ProjectPanelProvider; - this.timeout(5 * 60 * 1000); // Allow up to 5 minutes to build activateExtensionForSuite({ async setup(ctx) { diff --git a/test/sleep.test.ts b/test/sleep.test.ts deleted file mode 100644 index a69e895e4..000000000 --- a/test/sleep.test.ts +++ /dev/null @@ -1,19 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// This source file is part of the VS Code Swift open source project -// -// Copyright (c) 2025 the VS Code Swift project authors -// Licensed under Apache License v2.0 -// -// See LICENSE.txt for license information -// See CONTRIBUTORS.txt for the list of VS Code Swift project authors -// -// SPDX-License-Identifier: Apache-2.0 -// -//===----------------------------------------------------------------------===// - -suite("Sleep", () => { - test("Wait 5 seconds...", async () => { - await new Promise(r => setTimeout(r, 5000)); - }).timeout(10000); -}); diff --git a/test/tags.ts b/test/tags.ts new file mode 100644 index 000000000..c788b0b24 --- /dev/null +++ b/test/tags.ts @@ -0,0 +1,183 @@ +//===----------------------------------------------------------------------===// +// +// This source file is part of the VS Code Swift open source project +// +// Copyright (c) 2025 the VS Code Swift project authors +// Licensed under Apache License v2.0 +// +// See LICENSE.txt for license information +// See CONTRIBUTORS.txt for the list of VS Code Swift project authors +// +// SPDX-License-Identifier: Apache-2.0 +// +//===----------------------------------------------------------------------===// +import type { AsyncFunc, Func, Suite, Test } from "mocha"; + +/** The set of all available test sizes that can be applied to a test or suite. */ +export type TestSize = "small" | "medium" | "large"; + +export interface MochaFunctions { + suite: Mocha.SuiteFunction; + test: Mocha.TestFunction; +} + +interface TaggedSuite extends Suite { + __VSCode_Swift_size?: TestSize; +} + +interface TaggedTest extends Test { + __VSCode_Swift_size?: TestSize; +} + +function getTimeout(size: TestSize): number { + // Don't time out when debugging. + // The 'VSCODE_DEBUG' environment variable gets set by '.vscode-test.js'. + const isDebugRun = process.env["VSCODE_DEBUG"] === "1"; + if (isDebugRun) { + return 0; + } + + const SECOND = 1000; + const MINUTE = 60 * SECOND; + switch (size) { + case "small": + // Keep this up to date with the default timeout in 'vscode-test.js'. + return 2 * SECOND; + case "medium": + return 2 * MINUTE; + case "large": + return 10 * MINUTE; + } +} + +/** + * Installs functionality into Mocha that is required to enable support for the tag() function. + */ +export function installTagSupport() { + const isFastTestRun = process.env["FAST_TEST_RUN"] === "1"; + + setup(function () { + const currentTest: TaggedTest | undefined = this.currentTest; + if (!currentTest) { + return; + } + + // Retrieve tags either from the current test or one of its parent suites. + // By default all tests/suites are tagged small. + let testSize: TestSize = "small"; + if (currentTest.__VSCode_Swift_size) { + testSize = currentTest.__VSCode_Swift_size; + } else { + let parent: TaggedSuite | undefined = currentTest.parent; + while (parent) { + if (parent.__VSCode_Swift_size) { + testSize = parent.__VSCode_Swift_size; + break; + } + parent = parent.parent; + } + } + + // Skip large tests during a fast test run. + if (testSize === "large" && isFastTestRun) { + currentTest.skip(); + } + }); +} + +/** + * Creates a wrapper around Mocha's suite() and test() functions with the provided tags. At the + * moment we only support a single test size tag, but more could be added in the future. + * + * Tags are used to identify how long a test is expected to run. There are three categories: + * - **small:** 2 second timeout used primarily for unit tests. + * - **medium:** 2 minute timeout used for the majority of integration tests. + * - **large:** 10 minute timeout used for very long running tests that should only be run + * in the nightly CI. + * + * When applied to a suite, all child tests and suites will inherit the tag(s) unless they + * are tagged otherwise. For example: + * + * ```typescript + * tag("medium").suite("A suite that contains medium sized tests by default", () => { + * tag("large").test("Explicitly applies the large tag to the test", () => { + * // 10 minute timeout + * }); + * + * test("Inherits the default tag of medium from the suite", () => { + * // 2 minute timeout + * }); + * + * suite("All tests in this suite will also inherit the medium tag", () => { + * // 2 minute timeout + * }); + * }); + * ``` + * + * @param size The size that will be tagged onto the suite or test. + * @returns A wrapper that can be used to create Mocha tests and suites. + */ +export function tag(size: TestSize): MochaFunctions { + function applyTags(obj: T): T { + if (!obj) { + return obj; + } + + obj.__VSCode_Swift_size = size; + obj.timeout(getTimeout(size)); + + return obj; + } + + // Create a mocha suite() function that applies the provided tag(s) to the suite. + // + // The timeouts need to be set within the suite function or they won't propagate to + // to contained suites and tests: https://github.com/mochajs/mocha/issues/5422 + const wrappedSuite = (title: string, fn?: (this: Suite) => void): Suite => { + if (fn) { + return suite(title, function () { + applyTags(this); + fn.call(this); + }); + } + return suite(title); + }; + wrappedSuite.only = (title: string, fn?: (this: Suite) => void): Suite => { + if (fn) { + return suite.only(title, function () { + applyTags(this); + fn.call(this); + }); + } + return suite.only(title); + }; + wrappedSuite.skip = (title: string, fn: (this: Suite) => void): Suite | void => { + return suite.skip(title, function () { + applyTags(this); + fn.call(this); + }); + }; + + // Create a mocha test() function that applies the provided tag(s) to the test. + const wrappedTest = (titleOrFn: string | AsyncFunc | Func, fn?: AsyncFunc | Func): Test => { + return applyTags(typeof titleOrFn === "string" ? test(titleOrFn, fn) : test(titleOrFn)); + }; + wrappedTest.only = (titleOrFn: string | AsyncFunc | Func, fn?: AsyncFunc | Func): Test => { + return applyTags( + typeof titleOrFn === "string" ? test.only(titleOrFn, fn) : test.only(titleOrFn) + ); + }; + wrappedTest.skip = (titleOrFn: string | AsyncFunc | Func, fn?: AsyncFunc | Func): Test => { + return applyTags( + typeof titleOrFn === "string" ? test.skip(titleOrFn, fn) : test.skip(titleOrFn) + ); + }; + wrappedTest.retries = (n: number): void => { + return test.retries(n); + }; + + return { + suite: wrappedSuite, + test: wrappedTest, + }; +} diff --git a/test/tsconfig.json b/test/tsconfig.json index 9c5b152a8..eb3aa259e 100644 --- a/test/tsconfig.json +++ b/test/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../tsconfig-base.json", "compilerOptions": { - "types": ["node", "mocha"] + "types": ["node"], + "experimentalDecorators": true }, "include": ["**/*"], "references": [{ "path": "../src" }] From e867577fc4c0e123a32e87e36414eba2a59ed23b Mon Sep 17 00:00:00 2001 From: Matthew Bastien Date: Wed, 3 Sep 2025 11:33:42 -0400 Subject: [PATCH 2/4] shorten imports in tests by using `@src/` to import files from `src/` --- package-lock.json | 43 +++++++++++++++++++ package.json | 1 + test/common.ts | 12 ++++++ test/fixtures.ts | 8 ++-- .../BackgroundCompilation.test.ts | 2 +- .../DiagnosticsManager.test.ts | 14 +++--- .../ExtensionActivation.test.ts | 2 +- test/integration-tests/FolderContext.test.ts | 8 ++-- test/integration-tests/SwiftPackage.test.ts | 6 +-- test/integration-tests/SwiftSnippet.test.ts | 6 +-- .../WorkspaceContext.test.ts | 12 +++--- test/integration-tests/commands/build.test.ts | 8 ++-- .../commands/captureDiagnostics.test.ts | 6 +-- .../commands/dependency.test.ts | 8 ++-- .../generateSourcekitConfiguration.test.ts | 12 +++--- .../commands/runTestMultipleTimes.test.ts | 8 ++-- test/integration-tests/configuration.test.ts | 6 +-- test/integration-tests/debugger/lldb.test.ts | 8 ++-- .../DocumentationLivePreview.test.ts | 15 +++---- .../editor/CommentCompletion.test.ts | 2 +- test/integration-tests/extension.test.ts | 6 +-- .../LanguageClientIntegration.test.ts | 8 ++-- .../process-list/processList.test.ts | 2 +- .../tasks/SwiftExecution.test.ts | 4 +- .../tasks/SwiftPluginTaskProvider.test.ts | 10 ++--- .../tasks/SwiftPseudoterminal.test.ts | 2 +- .../tasks/SwiftTaskProvider.test.ts | 14 +++--- .../tasks/TaskManager.test.ts | 4 +- .../integration-tests/tasks/TaskQueue.test.ts | 4 +- .../DocumentSymbolTestDiscovery.test.ts | 4 +- .../testexplorer/LSPTestDiscovery.test.ts | 12 +++--- .../testexplorer/MockTestRunState.ts | 2 +- .../SPMTestListOutputParser.test.ts | 4 +- .../SwiftTestingOutputParser.test.ts | 2 +- .../testexplorer/TestDiscovery.test.ts | 10 ++--- .../TestExplorerIntegration.test.ts | 27 ++++++------ .../testexplorer/TestRunArguments.test.ts | 4 +- .../testexplorer/XCTestOutputParser.test.ts | 10 ++--- .../testexplorer/utilities.ts | 10 ++--- .../ui/ProjectPanelProvider.test.ts | 12 +++--- .../ui/SwiftOutputChannel.test.ts | 4 +- .../utilities/filesystem.test.ts | 2 +- .../utilities/lsputilities.ts | 2 +- .../utilities/testutilities.ts | 16 +++---- .../utilities/utilities.test.ts | 6 +-- .../utilities/workspace.test.ts | 2 +- test/tsconfig.json | 5 ++- test/unit-tests/MockUtils.test.ts | 4 +- test/unit-tests/commands/newSwiftFile.test.ts | 6 +-- test/unit-tests/commands/openPackage.test.ts | 6 +-- .../unit-tests/commands/runPluginTask.test.ts | 2 +- .../commands/runSwiftScript.test.ts | 10 ++--- .../commands/runTestMultipleTimes.test.ts | 2 +- .../commands/switchPlatform.test.ts | 10 ++--- test/unit-tests/debugger/debugAdapter.test.ts | 6 +-- .../debugger/debugAdapterFactory.test.ts | 22 +++++----- test/unit-tests/debugger/launch.test.ts | 10 ++--- test/unit-tests/debugger/lldb.test.ts | 6 +-- .../LanguageClientManager.test.ts | 28 ++++++------ .../sourcekit-lsp/uriConverters.test.ts | 2 +- .../tasks/SwiftPluginTaskProvider.test.ts | 16 +++---- .../tasks/SwiftTaskProvider.test.ts | 18 ++++---- test/unit-tests/terminal.test.ts | 4 +- .../testexplorer/TestCodeLensProvider.test.ts | 8 ++-- test/unit-tests/toolchain/BuildFlags.test.ts | 8 ++-- .../toolchain/SelectedXcodeWatcher.test.ts | 10 ++--- .../toolchain/ToolchainVersion.test.ts | 2 +- test/unit-tests/toolchain/swiftly.test.ts | 6 +-- test/unit-tests/toolchain/toolchain.test.ts | 8 ++-- .../ui/PackageDependencyProvider.test.ts | 2 +- test/unit-tests/ui/ReloadExtension.test.ts | 4 +- test/unit-tests/ui/SwiftBuildStatus.test.ts | 8 ++-- test/unit-tests/ui/ToolchainSelection.test.ts | 12 +++--- test/unit-tests/utilities/filesystem.test.ts | 2 +- test/unit-tests/utilities/shell.test.ts | 4 +- test/unit-tests/utilities/utilities.test.ts | 2 +- test/unit-tests/utilities/version.test.ts | 2 +- test/unit-tests/utilities/workspace.test.ts | 2 +- test/utilities/commands.ts | 2 +- test/utilities/debug.ts | 6 +-- test/utilities/tasks.ts | 2 +- 81 files changed, 331 insertions(+), 286 deletions(-) diff --git a/package-lock.json b/package-lock.json index d1c7f28cd..41d5ca6d5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -73,6 +73,7 @@ "source-map-support": "^0.5.21", "strip-ansi": "^6.0.1", "svgo": "^4.0.0", + "tsconfig-paths": "^4.2.0", "tsx": "^4.20.5", "typescript": "^5.9.2", "winston": "^3.17.0", @@ -9843,6 +9844,16 @@ "node": ">=8" } }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/strip-dirs": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", @@ -10399,6 +10410,21 @@ "typescript": ">=4.8.4" } }, + "node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", @@ -18203,6 +18229,12 @@ "ansi-regex": "^5.0.1" } }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, "strip-dirs": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", @@ -18606,6 +18638,17 @@ "dev": true, "requires": {} }, + "tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "requires": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, "tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", diff --git a/package.json b/package.json index c6a56e1b7..6021298ed 100644 --- a/package.json +++ b/package.json @@ -2040,6 +2040,7 @@ "source-map-support": "^0.5.21", "strip-ansi": "^6.0.1", "svgo": "^4.0.0", + "tsconfig-paths": "^4.2.0", "tsx": "^4.20.5", "typescript": "^5.9.2", "winston": "^3.17.0", diff --git a/test/common.ts b/test/common.ts index 21c6ec9f4..eabe6d145 100644 --- a/test/common.ts +++ b/test/common.ts @@ -15,11 +15,23 @@ // Use source-map-support to get better stack traces import "source-map-support/register"; +import * as fs from "fs"; +import * as path from "path"; import * as chai from "chai"; import * as sinonChai from "sinon-chai"; import * as chaiAsPromised from "chai-as-promised"; import * as chaiSubset from "chai-subset"; import { installTagSupport } from "./tags"; +import * as tsConfigPaths from "tsconfig-paths"; + +const tsConfig = JSON.parse( + // __dirname points to dist/test when transpiled, but we need the tsconfig.json in the real test/ + fs.readFileSync(path.join(__dirname, "../../test/tsconfig.json"), "utf-8") +); +tsConfigPaths.register({ + baseUrl: __dirname, + paths: tsConfig.compilerOptions.paths, +}); chai.use(sinonChai); chai.use(chaiAsPromised); diff --git a/test/fixtures.ts b/test/fixtures.ts index de382779f..03f7d70ab 100644 --- a/test/fixtures.ts +++ b/test/fixtures.ts @@ -14,10 +14,10 @@ import * as vscode from "vscode"; import * as path from "path"; -import { SwiftProcess } from "../src/tasks/SwiftProcess"; -import { SwiftExecution } from "../src/tasks/SwiftExecution"; -import { SwiftTask, createSwiftTask } from "../src/tasks/SwiftTaskProvider"; -import { SwiftToolchain } from "../src/toolchain/toolchain"; +import { SwiftProcess } from "@src/tasks/SwiftProcess"; +import { SwiftExecution } from "@src/tasks/SwiftExecution"; +import { SwiftTask, createSwiftTask } from "@src/tasks/SwiftTaskProvider"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; /** Workspace folder class */ class TestWorkspaceFolder implements vscode.WorkspaceFolder { diff --git a/test/integration-tests/BackgroundCompilation.test.ts b/test/integration-tests/BackgroundCompilation.test.ts index 50acfcc1d..9062b6c4c 100644 --- a/test/integration-tests/BackgroundCompilation.test.ts +++ b/test/integration-tests/BackgroundCompilation.test.ts @@ -14,7 +14,7 @@ import * as assert from "assert"; import * as vscode from "vscode"; -import { WorkspaceContext } from "../../src/WorkspaceContext"; +import { WorkspaceContext } from "@src/WorkspaceContext"; import { testAssetUri } from "../fixtures"; import { activateExtensionForTest, updateSettings } from "./utilities/testutilities"; import { closeAllEditors } from "../utilities/commands"; diff --git a/test/integration-tests/DiagnosticsManager.test.ts b/test/integration-tests/DiagnosticsManager.test.ts index 3047ab4c0..8b814a185 100644 --- a/test/integration-tests/DiagnosticsManager.test.ts +++ b/test/integration-tests/DiagnosticsManager.test.ts @@ -14,24 +14,24 @@ import * as assert from "assert"; import * as vscode from "vscode"; -import { SwiftToolchain } from "../../src/toolchain/toolchain"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; import { executeTaskAndWaitForResult, waitForNoRunningTasks, waitForStartTaskProcess, } from "../utilities/tasks"; -import { WorkspaceContext } from "../../src/WorkspaceContext"; +import { WorkspaceContext } from "@src/WorkspaceContext"; import { testAssetUri, testSwiftTask } from "../fixtures"; -import { createBuildAllTask, resetBuildAllTaskCache } from "../../src/tasks/SwiftTaskProvider"; -import { DiagnosticsManager } from "../../src/DiagnosticsManager"; -import { FolderContext } from "../../src/FolderContext"; -import { Version } from "../../src/utilities/version"; +import { createBuildAllTask, resetBuildAllTaskCache } from "@src/tasks/SwiftTaskProvider"; +import { DiagnosticsManager } from "@src/DiagnosticsManager"; +import { FolderContext } from "@src/FolderContext"; +import { Version } from "@src/utilities/version"; import { activateExtensionForSuite, folderInRootWorkspace, updateSettings, } from "./utilities/testutilities"; -import { DiagnosticStyle } from "../../src/configuration"; +import { DiagnosticStyle } from "@src/configuration"; import { expect } from "chai"; import { tag } from "../tags"; diff --git a/test/integration-tests/ExtensionActivation.test.ts b/test/integration-tests/ExtensionActivation.test.ts index 387cddf6d..97367cb68 100644 --- a/test/integration-tests/ExtensionActivation.test.ts +++ b/test/integration-tests/ExtensionActivation.test.ts @@ -21,7 +21,7 @@ import { activateExtensionForTest, deactivateExtension, } from "./utilities/testutilities"; -import { WorkspaceContext } from "../../src/WorkspaceContext"; +import { WorkspaceContext } from "@src/WorkspaceContext"; import { testAssetUri } from "../fixtures"; import { assertContains } from "./testexplorer/utilities"; import { tag } from "../tags"; diff --git a/test/integration-tests/FolderContext.test.ts b/test/integration-tests/FolderContext.test.ts index 8e46e118a..ed69f6b7f 100644 --- a/test/integration-tests/FolderContext.test.ts +++ b/test/integration-tests/FolderContext.test.ts @@ -13,13 +13,13 @@ //===----------------------------------------------------------------------===// import * as assert from "assert"; -import * as toolchain from "../../src/ui/ToolchainSelection"; +import * as toolchain from "@src/ui/ToolchainSelection"; import { afterEach } from "mocha"; import { stub, restore } from "sinon"; import { testAssetUri } from "../fixtures"; -import { WorkspaceContext } from "../../src/WorkspaceContext"; -import { FolderContext } from "../../src/FolderContext"; -import { SwiftToolchain } from "../../src/toolchain/toolchain"; +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { FolderContext } from "@src/FolderContext"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; import { activateExtensionForSuite, getRootWorkspaceFolder } from "./utilities/testutilities"; import { MockedFunction, mockGlobalValue } from "../MockUtils"; diff --git a/test/integration-tests/SwiftPackage.test.ts b/test/integration-tests/SwiftPackage.test.ts index 01932250d..7e4b05d30 100644 --- a/test/integration-tests/SwiftPackage.test.ts +++ b/test/integration-tests/SwiftPackage.test.ts @@ -14,9 +14,9 @@ import * as assert from "assert"; import { testAssetUri } from "../fixtures"; -import { SwiftPackage } from "../../src/SwiftPackage"; -import { SwiftToolchain } from "../../src/toolchain/toolchain"; -import { Version } from "../../src/utilities/version"; +import { SwiftPackage } from "@src/SwiftPackage"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; +import { Version } from "@src/utilities/version"; import { tag } from "../tags"; tag("medium").suite("SwiftPackage Test Suite", function () { diff --git a/test/integration-tests/SwiftSnippet.test.ts b/test/integration-tests/SwiftSnippet.test.ts index 287bccf33..429103d19 100644 --- a/test/integration-tests/SwiftSnippet.test.ts +++ b/test/integration-tests/SwiftSnippet.test.ts @@ -20,15 +20,15 @@ import { waitForDebugAdapterRequest, waitUntilDebugSessionTerminates, } from "../utilities/debug"; -import { Version } from "../../src/utilities/version"; +import { Version } from "@src/utilities/version"; import { activateExtensionForSuite, folderInRootWorkspace, updateSettings, } from "./utilities/testutilities"; -import { WorkspaceContext } from "../../src/WorkspaceContext"; +import { WorkspaceContext } from "@src/WorkspaceContext"; import { closeAllEditors } from "../utilities/commands"; -import { Commands } from "../../src/commands"; +import { Commands } from "@src/commands"; import { tag } from "../tags"; tag("large").suite("SwiftSnippet Test Suite", function () { diff --git a/test/integration-tests/WorkspaceContext.test.ts b/test/integration-tests/WorkspaceContext.test.ts index 1c28c3833..99c20588b 100644 --- a/test/integration-tests/WorkspaceContext.test.ts +++ b/test/integration-tests/WorkspaceContext.test.ts @@ -16,18 +16,18 @@ import * as vscode from "vscode"; import * as assert from "assert"; import { afterEach } from "mocha"; import { testAssetUri } from "../fixtures"; -import { FolderOperation, WorkspaceContext } from "../../src/WorkspaceContext"; -import { createBuildAllTask } from "../../src/tasks/SwiftTaskProvider"; -import { Version } from "../../src/utilities/version"; -import { SwiftExecution } from "../../src/tasks/SwiftExecution"; +import { FolderOperation, WorkspaceContext } from "@src/WorkspaceContext"; +import { createBuildAllTask } from "@src/tasks/SwiftTaskProvider"; +import { Version } from "@src/utilities/version"; +import { SwiftExecution } from "@src/tasks/SwiftExecution"; import { activateExtensionForSuite, getRootWorkspaceFolder, updateSettings, } from "./utilities/testutilities"; -import { FolderContext } from "../../src/FolderContext"; +import { FolderContext } from "@src/FolderContext"; import { assertContains } from "./testexplorer/utilities"; -import { resolveScope } from "../../src/utilities/tasks"; +import { resolveScope } from "@src/utilities/tasks"; import { tag } from "../tags"; function assertContainsArg(execution: SwiftExecution, arg: string) { diff --git a/test/integration-tests/commands/build.test.ts b/test/integration-tests/commands/build.test.ts index ef73f1797..908d8b568 100644 --- a/test/integration-tests/commands/build.test.ts +++ b/test/integration-tests/commands/build.test.ts @@ -17,12 +17,12 @@ import * as fs from "fs/promises"; import * as path from "path"; import { expect } from "chai"; import { testAssetUri } from "../../fixtures"; -import { FolderContext } from "../../../src/FolderContext"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; -import { Commands } from "../../../src/commands"; +import { FolderContext } from "@src/FolderContext"; +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { Commands } from "@src/commands"; import { continueSession, waitForDebugAdapterRequest } from "../../utilities/debug"; import { activateExtensionForSuite, folderInRootWorkspace } from "../utilities/testutilities"; -import { Version } from "../../../src/utilities/version"; +import { Version } from "@src/utilities/version"; import { tag } from "../../tags"; tag("large").suite("Build Commands", function () { diff --git a/test/integration-tests/commands/captureDiagnostics.test.ts b/test/integration-tests/commands/captureDiagnostics.test.ts index 66023c501..c2cfdccc3 100644 --- a/test/integration-tests/commands/captureDiagnostics.test.ts +++ b/test/integration-tests/commands/captureDiagnostics.test.ts @@ -18,15 +18,15 @@ import * as os from "os"; import { mkdir, rm } from "fs/promises"; import * as decompress from "decompress"; import { expect } from "chai"; -import { captureDiagnostics } from "../../../src/commands/captureDiagnostics"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; +import { captureDiagnostics } from "@src/commands/captureDiagnostics"; +import { WorkspaceContext } from "@src/WorkspaceContext"; import { mockGlobalObject } from "../../MockUtils"; import { activateExtensionForSuite, folderInRootWorkspace, updateSettings, } from "../utilities/testutilities"; -import { Version } from "../../../src/utilities/version"; +import { Version } from "@src/utilities/version"; import { tag } from "../../tags"; suite("captureDiagnostics Test Suite", () => { diff --git a/test/integration-tests/commands/dependency.test.ts b/test/integration-tests/commands/dependency.test.ts index 1577118ce..29243c616 100644 --- a/test/integration-tests/commands/dependency.test.ts +++ b/test/integration-tests/commands/dependency.test.ts @@ -14,11 +14,11 @@ import { expect } from "chai"; import * as vscode from "vscode"; -import { PackageNode, ProjectPanelProvider } from "../../../src/ui/ProjectPanelProvider"; +import { PackageNode, ProjectPanelProvider } from "@src/ui/ProjectPanelProvider"; import { testAssetUri } from "../../fixtures"; -import { FolderContext } from "../../../src/FolderContext"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; -import { Commands } from "../../../src/commands"; +import { FolderContext } from "@src/FolderContext"; +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { Commands } from "@src/commands"; import { activateExtensionForSuite, findWorkspaceFolder } from "../utilities/testutilities"; import { waitForNoRunningTasks } from "../../utilities/tasks"; import { tag } from "../../tags"; diff --git a/test/integration-tests/commands/generateSourcekitConfiguration.test.ts b/test/integration-tests/commands/generateSourcekitConfiguration.test.ts index 5d5aae848..ab50e0ecd 100644 --- a/test/integration-tests/commands/generateSourcekitConfiguration.test.ts +++ b/test/integration-tests/commands/generateSourcekitConfiguration.test.ts @@ -14,9 +14,9 @@ import * as vscode from "vscode"; import { expect } from "chai"; -import { FolderContext } from "../../../src/FolderContext"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; -import { Commands } from "../../../src/commands"; +import { FolderContext } from "@src/FolderContext"; +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { Commands } from "@src/commands"; import { activateExtensionForSuite, folderInRootWorkspace, @@ -29,10 +29,10 @@ import { handleSchemaUpdate, sourcekitConfigFilePath, sourcekitFolderPath, -} from "../../../src/commands/generateSourcekitConfiguration"; -import { Version } from "../../../src/utilities/version"; +} from "@src/commands/generateSourcekitConfiguration"; +import { Version } from "@src/utilities/version"; import { mockGlobalObject, mockGlobalModule } from "../../MockUtils"; -import * as restartLSPServerModule from "../../../src/commands/restartLSPServer"; +import * as restartLSPServerModule from "@src/commands/restartLSPServer"; suite("Generate SourceKit-LSP configuration Command", function () { let folderContext: FolderContext; diff --git a/test/integration-tests/commands/runTestMultipleTimes.test.ts b/test/integration-tests/commands/runTestMultipleTimes.test.ts index dbf3e7a4f..ccb55bba2 100644 --- a/test/integration-tests/commands/runTestMultipleTimes.test.ts +++ b/test/integration-tests/commands/runTestMultipleTimes.test.ts @@ -14,11 +14,11 @@ import * as vscode from "vscode"; import { expect } from "chai"; -import { runTestMultipleTimes } from "../../../src/commands/testMultipleTimes"; -import { FolderContext } from "../../../src/FolderContext"; -import { TestRunProxy } from "../../../src/TestExplorer/TestRunner"; +import { runTestMultipleTimes } from "@src/commands/testMultipleTimes"; +import { FolderContext } from "@src/FolderContext"; +import { TestRunProxy } from "@src/TestExplorer/TestRunner"; import { activateExtensionForSuite, folderInRootWorkspace } from "../utilities/testutilities"; -import { TestKind } from "../../../src/TestExplorer/TestKind"; +import { TestKind } from "@src/TestExplorer/TestKind"; suite("Test Multiple Times Command Test Suite", () => { let folderContext: FolderContext; diff --git a/test/integration-tests/configuration.test.ts b/test/integration-tests/configuration.test.ts index 5baaff6b7..6557801f9 100644 --- a/test/integration-tests/configuration.test.ts +++ b/test/integration-tests/configuration.test.ts @@ -20,9 +20,9 @@ import { } from "./utilities/testutilities"; import { expect } from "chai"; import { afterEach } from "mocha"; -import configuration from "../../src/configuration"; -import { createBuildAllTask } from "../../src/tasks/SwiftTaskProvider"; -import { WorkspaceContext } from "../../src/WorkspaceContext"; +import configuration from "@src/configuration"; +import { createBuildAllTask } from "@src/tasks/SwiftTaskProvider"; +import { WorkspaceContext } from "@src/WorkspaceContext"; suite("Configuration Test Suite", function () { let workspaceContext: WorkspaceContext; diff --git a/test/integration-tests/debugger/lldb.test.ts b/test/integration-tests/debugger/lldb.test.ts index 0e07007d1..6d09df048 100644 --- a/test/integration-tests/debugger/lldb.test.ts +++ b/test/integration-tests/debugger/lldb.test.ts @@ -13,11 +13,11 @@ //===----------------------------------------------------------------------===// import { expect } from "chai"; -import { getLLDBLibPath } from "../../../src/debugger/lldb"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; +import { getLLDBLibPath } from "@src/debugger/lldb"; +import { WorkspaceContext } from "@src/WorkspaceContext"; import { activateExtensionForTest } from "../utilities/testutilities"; -import { Version } from "../../../src/utilities/version"; -import { IS_RUNNING_UNDER_DOCKER } from "../../../src/utilities/utilities"; +import { Version } from "@src/utilities/version"; +import { IS_RUNNING_UNDER_DOCKER } from "@src/utilities/utilities"; suite("lldb contract test suite", () => { let workspaceContext: WorkspaceContext; diff --git a/test/integration-tests/documentation/DocumentationLivePreview.test.ts b/test/integration-tests/documentation/DocumentationLivePreview.test.ts index f77a3d8fa..eadefa05e 100644 --- a/test/integration-tests/documentation/DocumentationLivePreview.test.ts +++ b/test/integration-tests/documentation/DocumentationLivePreview.test.ts @@ -18,15 +18,12 @@ import { expect } from "chai"; import { activateExtensionForSuite, folderInRootWorkspace } from "../utilities/testutilities"; import { waitForNoRunningTasks } from "../../utilities/tasks"; import { testAssetUri } from "../../fixtures"; -import { FolderContext } from "../../../src/FolderContext"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; -import { Commands } from "../../../src/commands"; -import { Workbench } from "../../../src/utilities/commands"; -import { - RenderNodeContent, - WebviewContent, -} from "../../../src/documentation/webview/WebviewMessage"; -import { PreviewEditorConstant } from "../../../src/documentation/DocumentationPreviewEditor"; +import { FolderContext } from "@src/FolderContext"; +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { Commands } from "@src/commands"; +import { Workbench } from "@src/utilities/commands"; +import { RenderNodeContent, WebviewContent } from "@src/documentation/webview/WebviewMessage"; +import { PreviewEditorConstant } from "@src/documentation/DocumentationPreviewEditor"; import { tag } from "../../tags"; tag("medium").suite("Documentation Live Preview", function () { diff --git a/test/integration-tests/editor/CommentCompletion.test.ts b/test/integration-tests/editor/CommentCompletion.test.ts index 7ac1b6595..9eba2e659 100644 --- a/test/integration-tests/editor/CommentCompletion.test.ts +++ b/test/integration-tests/editor/CommentCompletion.test.ts @@ -14,7 +14,7 @@ import * as assert from "assert"; import * as vscode from "vscode"; -import { CommentCompletionProviders } from "../../../src/editor/CommentCompletion"; +import { CommentCompletionProviders } from "@src/editor/CommentCompletion"; suite("CommentCompletion Test Suite", () => { let provider: CommentCompletionProviders; diff --git a/test/integration-tests/extension.test.ts b/test/integration-tests/extension.test.ts index 37523e883..4bd293730 100644 --- a/test/integration-tests/extension.test.ts +++ b/test/integration-tests/extension.test.ts @@ -14,9 +14,9 @@ import * as assert from "assert"; import * as vscode from "vscode"; -import { WorkspaceContext } from "../../src/WorkspaceContext"; -import { getBuildAllTask } from "../../src/tasks/SwiftTaskProvider"; -import { SwiftExecution } from "../../src/tasks/SwiftExecution"; +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { getBuildAllTask } from "@src/tasks/SwiftTaskProvider"; +import { SwiftExecution } from "@src/tasks/SwiftExecution"; import { activateExtensionForTest, findWorkspaceFolder } from "./utilities/testutilities"; import { expect } from "chai"; diff --git a/test/integration-tests/language/LanguageClientIntegration.test.ts b/test/integration-tests/language/LanguageClientIntegration.test.ts index 151e97600..7653d5770 100644 --- a/test/integration-tests/language/LanguageClientIntegration.test.ts +++ b/test/integration-tests/language/LanguageClientIntegration.test.ts @@ -15,14 +15,14 @@ import * as vscode from "vscode"; import * as langclient from "vscode-languageclient/node"; import { expect } from "chai"; -import { LanguageClientManager } from "../../../src/sourcekit-lsp/LanguageClientManager"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; +import { LanguageClientManager } from "@src/sourcekit-lsp/LanguageClientManager"; +import { WorkspaceContext } from "@src/WorkspaceContext"; import { testAssetUri } from "../../fixtures"; import { executeTaskAndWaitForResult, waitForNoRunningTasks } from "../../utilities/tasks"; -import { createBuildAllTask } from "../../../src/tasks/SwiftTaskProvider"; +import { createBuildAllTask } from "@src/tasks/SwiftTaskProvider"; import { activateExtensionForSuite, folderInRootWorkspace } from "../utilities/testutilities"; import { waitForClientState } from "../utilities/lsputilities"; -import { FolderContext } from "../../../src/FolderContext"; +import { FolderContext } from "@src/FolderContext"; import { tag } from "../../tags"; async function buildProject(ctx: WorkspaceContext, name: string) { diff --git a/test/integration-tests/process-list/processList.test.ts b/test/integration-tests/process-list/processList.test.ts index ae94b90f1..b2d7df3b7 100644 --- a/test/integration-tests/process-list/processList.test.ts +++ b/test/integration-tests/process-list/processList.test.ts @@ -14,7 +14,7 @@ import * as path from "path"; import { expect } from "chai"; -import { createProcessList, Process } from "../../../src/process-list"; +import { createProcessList, Process } from "@src/process-list"; suite("ProcessList Tests", () => { function expectProcessName(processes: Process[], command: string) { diff --git a/test/integration-tests/tasks/SwiftExecution.test.ts b/test/integration-tests/tasks/SwiftExecution.test.ts index a6cf8f0f5..27b0adfb6 100644 --- a/test/integration-tests/tasks/SwiftExecution.test.ts +++ b/test/integration-tests/tasks/SwiftExecution.test.ts @@ -15,9 +15,9 @@ import * as vscode from "vscode"; import * as assert from "assert"; import { testSwiftTask } from "../../fixtures"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; +import { WorkspaceContext } from "@src/WorkspaceContext"; import { executeTaskAndWaitForResult, waitForStartTaskProcess } from "../../utilities/tasks"; -import { SwiftToolchain } from "../../../src/toolchain/toolchain"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; import { activateExtensionForSuite } from "../utilities/testutilities"; suite("SwiftExecution Tests Suite", () => { diff --git a/test/integration-tests/tasks/SwiftPluginTaskProvider.test.ts b/test/integration-tests/tasks/SwiftPluginTaskProvider.test.ts index 763ab8dbe..891b0fd01 100644 --- a/test/integration-tests/tasks/SwiftPluginTaskProvider.test.ts +++ b/test/integration-tests/tasks/SwiftPluginTaskProvider.test.ts @@ -16,9 +16,9 @@ import * as vscode from "vscode"; import * as assert from "assert"; import { beforeEach, afterEach } from "mocha"; import { expect } from "chai"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; -import { SwiftPluginTaskProvider } from "../../../src/tasks/SwiftPluginTaskProvider"; -import { FolderContext } from "../../../src/FolderContext"; +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { SwiftPluginTaskProvider } from "@src/tasks/SwiftPluginTaskProvider"; +import { FolderContext } from "@src/FolderContext"; import { activateExtensionForSuite, folderInRootWorkspace, @@ -30,8 +30,8 @@ import { waitForEndTaskProcess, } from "../../utilities/tasks"; import { mutable } from "../../utilities/types"; -import { SwiftExecution } from "../../../src/tasks/SwiftExecution"; -import { SwiftTask } from "../../../src/tasks/SwiftTaskProvider"; +import { SwiftExecution } from "@src/tasks/SwiftExecution"; +import { SwiftTask } from "@src/tasks/SwiftTaskProvider"; suite("SwiftPluginTaskProvider Test Suite", function () { let workspaceContext: WorkspaceContext; diff --git a/test/integration-tests/tasks/SwiftPseudoterminal.test.ts b/test/integration-tests/tasks/SwiftPseudoterminal.test.ts index a9a3afb85..7daee4c79 100644 --- a/test/integration-tests/tasks/SwiftPseudoterminal.test.ts +++ b/test/integration-tests/tasks/SwiftPseudoterminal.test.ts @@ -16,7 +16,7 @@ import * as assert from "assert"; import * as vscode from "vscode"; import { TestSwiftProcess } from "../../fixtures"; import { waitForClose, waitForWrite } from "../../utilities/tasks"; -import { SwiftPseudoterminal } from "../../../src/tasks/SwiftPseudoterminal"; +import { SwiftPseudoterminal } from "@src/tasks/SwiftPseudoterminal"; suite("SwiftPseudoterminal Tests Suite", () => { test("Close event handler fires", async () => { diff --git a/test/integration-tests/tasks/SwiftTaskProvider.test.ts b/test/integration-tests/tasks/SwiftTaskProvider.test.ts index d44e3e0cf..8d3eb77f2 100644 --- a/test/integration-tests/tasks/SwiftTaskProvider.test.ts +++ b/test/integration-tests/tasks/SwiftTaskProvider.test.ts @@ -15,16 +15,12 @@ import { expect } from "chai"; import * as vscode from "vscode"; import * as assert from "assert"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; -import { - createSwiftTask, - createBuildAllTask, - getBuildAllTask, -} from "../../../src/tasks/SwiftTaskProvider"; -import { SwiftToolchain } from "../../../src/toolchain/toolchain"; +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { createSwiftTask, createBuildAllTask, getBuildAllTask } from "@src/tasks/SwiftTaskProvider"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; import { executeTaskAndWaitForResult, waitForEndTaskProcess } from "../../utilities/tasks"; -import { Version } from "../../../src/utilities/version"; -import { FolderContext } from "../../../src/FolderContext"; +import { Version } from "@src/utilities/version"; +import { FolderContext } from "@src/FolderContext"; import { mockGlobalObject } from "../../MockUtils"; import { activateExtensionForSuite, diff --git a/test/integration-tests/tasks/TaskManager.test.ts b/test/integration-tests/tasks/TaskManager.test.ts index 74eb1a9f8..f2c7423a1 100644 --- a/test/integration-tests/tasks/TaskManager.test.ts +++ b/test/integration-tests/tasks/TaskManager.test.ts @@ -14,8 +14,8 @@ import * as vscode from "vscode"; import * as assert from "assert"; -import { TaskManager } from "../../../src/tasks/TaskManager"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; +import { TaskManager } from "@src/tasks/TaskManager"; +import { WorkspaceContext } from "@src/WorkspaceContext"; import { activateExtensionForSuite } from "../utilities/testutilities"; suite("TaskManager Test Suite", () => { diff --git a/test/integration-tests/tasks/TaskQueue.test.ts b/test/integration-tests/tasks/TaskQueue.test.ts index 3e56029f7..fd4ea48c9 100644 --- a/test/integration-tests/tasks/TaskQueue.test.ts +++ b/test/integration-tests/tasks/TaskQueue.test.ts @@ -15,8 +15,8 @@ import * as vscode from "vscode"; import * as assert from "assert"; import { testAssetPath } from "../../fixtures"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; -import { SwiftExecOperation, TaskOperation, TaskQueue } from "../../../src/tasks/TaskQueue"; +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { SwiftExecOperation, TaskOperation, TaskQueue } from "@src/tasks/TaskQueue"; import { activateExtensionForSuite, findWorkspaceFolder } from "../utilities/testutilities"; import { tag } from "../../tags"; diff --git a/test/integration-tests/testexplorer/DocumentSymbolTestDiscovery.test.ts b/test/integration-tests/testexplorer/DocumentSymbolTestDiscovery.test.ts index e6c715fc5..3c75d6848 100644 --- a/test/integration-tests/testexplorer/DocumentSymbolTestDiscovery.test.ts +++ b/test/integration-tests/testexplorer/DocumentSymbolTestDiscovery.test.ts @@ -14,8 +14,8 @@ import * as assert from "assert"; import * as vscode from "vscode"; -import { parseTestsFromDocumentSymbols } from "../../../src/TestExplorer/DocumentSymbolTestDiscovery"; -import { TestClass } from "../../../src/TestExplorer/TestDiscovery"; +import { parseTestsFromDocumentSymbols } from "@src/TestExplorer/DocumentSymbolTestDiscovery"; +import { TestClass } from "@src/TestExplorer/TestDiscovery"; suite("DocumentSymbolTestDiscovery Suite", () => { const mockRange = new vscode.Range(new vscode.Position(0, 0), new vscode.Position(0, 0)); diff --git a/test/integration-tests/testexplorer/LSPTestDiscovery.test.ts b/test/integration-tests/testexplorer/LSPTestDiscovery.test.ts index e34f0e71e..6ebe39dfc 100644 --- a/test/integration-tests/testexplorer/LSPTestDiscovery.test.ts +++ b/test/integration-tests/testexplorer/LSPTestDiscovery.test.ts @@ -25,17 +25,17 @@ import { Position, } from "vscode-languageclient/node"; import * as p2c from "vscode-languageclient/lib/common/protocolConverter"; -import { LSPTestDiscovery } from "../../../src/TestExplorer/LSPTestDiscovery"; -import { SwiftPackage, Target, TargetType } from "../../../src/SwiftPackage"; -import { TestClass } from "../../../src/TestExplorer/TestDiscovery"; -import { SwiftToolchain } from "../../../src/toolchain/toolchain"; +import { LSPTestDiscovery } from "@src/TestExplorer/LSPTestDiscovery"; +import { SwiftPackage, Target, TargetType } from "@src/SwiftPackage"; +import { TestClass } from "@src/TestExplorer/TestDiscovery"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; import { LSPTestItem, TextDocumentTestsRequest, WorkspaceTestsRequest, -} from "../../../src/sourcekit-lsp/extensions"; +} from "@src/sourcekit-lsp/extensions"; import { instance, mockFn, mockObject } from "../../MockUtils"; -import { LanguageClientManager } from "../../../src/sourcekit-lsp/LanguageClientManager"; +import { LanguageClientManager } from "@src/sourcekit-lsp/LanguageClientManager"; class TestLanguageClient { private responses = new Map(); diff --git a/test/integration-tests/testexplorer/MockTestRunState.ts b/test/integration-tests/testexplorer/MockTestRunState.ts index 91335235e..4caddfd3c 100644 --- a/test/integration-tests/testexplorer/MockTestRunState.ts +++ b/test/integration-tests/testexplorer/MockTestRunState.ts @@ -13,7 +13,7 @@ //===----------------------------------------------------------------------===// import * as vscode from "vscode"; -import { ITestRunState, TestIssueDiff } from "../../../src/TestExplorer/TestParsers/TestRunState"; +import { ITestRunState, TestIssueDiff } from "@src/TestExplorer/TestParsers/TestRunState"; /** TestStatus */ export enum TestStatus { diff --git a/test/integration-tests/testexplorer/SPMTestListOutputParser.test.ts b/test/integration-tests/testexplorer/SPMTestListOutputParser.test.ts index b0f05c2d2..f04dd9570 100644 --- a/test/integration-tests/testexplorer/SPMTestListOutputParser.test.ts +++ b/test/integration-tests/testexplorer/SPMTestListOutputParser.test.ts @@ -13,8 +13,8 @@ //===----------------------------------------------------------------------===// import * as assert from "assert"; -import { parseTestsFromSwiftTestListOutput } from "../../../src/TestExplorer/SPMTestDiscovery"; -import { TestClass } from "../../../src/TestExplorer/TestDiscovery"; +import { parseTestsFromSwiftTestListOutput } from "@src/TestExplorer/SPMTestDiscovery"; +import { TestClass } from "@src/TestExplorer/TestDiscovery"; suite("SPMTestListOutputParser Suite", () => { const basicXCTest: TestClass = { diff --git a/test/integration-tests/testexplorer/SwiftTestingOutputParser.test.ts b/test/integration-tests/testexplorer/SwiftTestingOutputParser.test.ts index fd38f817b..d6959306f 100644 --- a/test/integration-tests/testexplorer/SwiftTestingOutputParser.test.ts +++ b/test/integration-tests/testexplorer/SwiftTestingOutputParser.test.ts @@ -24,7 +24,7 @@ import { SourceLocation, TestSymbol, MessageRenderer, -} from "../../../src/TestExplorer/TestParsers/SwiftTestingOutputParser"; +} from "@src/TestExplorer/TestParsers/SwiftTestingOutputParser"; import { TestRunState, TestStatus } from "./MockTestRunState"; import { Readable } from "stream"; diff --git a/test/integration-tests/testexplorer/TestDiscovery.test.ts b/test/integration-tests/testexplorer/TestDiscovery.test.ts index be904af83..ea6678fde 100644 --- a/test/integration-tests/testexplorer/TestDiscovery.test.ts +++ b/test/integration-tests/testexplorer/TestDiscovery.test.ts @@ -20,11 +20,11 @@ import { updateTests, updateTestsForTarget, updateTestsFromClasses, -} from "../../../src/TestExplorer/TestDiscovery"; -import { reduceTestItemChildren } from "../../../src/TestExplorer/TestUtils"; -import { SwiftPackage, Target, TargetType } from "../../../src/SwiftPackage"; -import { SwiftToolchain } from "../../../src/toolchain/toolchain"; -import { TestStyle } from "../../../src/sourcekit-lsp/extensions"; +} from "@src/TestExplorer/TestDiscovery"; +import { reduceTestItemChildren } from "@src/TestExplorer/TestUtils"; +import { SwiftPackage, Target, TargetType } from "@src/SwiftPackage"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; +import { TestStyle } from "@src/sourcekit-lsp/extensions"; suite("TestDiscovery Suite", () => { let testController: vscode.TestController; diff --git a/test/integration-tests/testexplorer/TestExplorerIntegration.test.ts b/test/integration-tests/testexplorer/TestExplorerIntegration.test.ts index ef62ec93c..ffede9ce9 100644 --- a/test/integration-tests/testexplorer/TestExplorerIntegration.test.ts +++ b/test/integration-tests/testexplorer/TestExplorerIntegration.test.ts @@ -17,7 +17,7 @@ import * as vscode from "vscode"; import * as path from "path"; import * as fs from "fs"; import { beforeEach, afterEach } from "mocha"; -import { TestExplorer } from "../../../src/TestExplorer/TestExplorer"; +import { TestExplorer } from "@src/TestExplorer/TestExplorer"; import { assertContains, assertContainsTrimmed, @@ -29,29 +29,26 @@ import { runTest, waitForTestExplorerReady, } from "./utilities"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; -import { Version } from "../../../src/utilities/version"; -import { TestKind } from "../../../src/TestExplorer/TestKind"; +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { Version } from "@src/utilities/version"; +import { TestKind } from "@src/TestExplorer/TestKind"; import { MessageRenderer, TestSymbol, -} from "../../../src/TestExplorer/TestParsers/SwiftTestingOutputParser"; -import { - flattenTestItemCollection, - reduceTestItemChildren, -} from "../../../src/TestExplorer/TestUtils"; -import { runnableTag } from "../../../src/TestExplorer/TestDiscovery"; +} from "@src/TestExplorer/TestParsers/SwiftTestingOutputParser"; +import { flattenTestItemCollection, reduceTestItemChildren } from "@src/TestExplorer/TestUtils"; +import { runnableTag } from "@src/TestExplorer/TestDiscovery"; import { activateExtensionForSuite, folderInRootWorkspace, updateSettings, } from "../utilities/testutilities"; -import { Commands } from "../../../src/commands"; +import { Commands } from "@src/commands"; import { executeTaskAndWaitForResult } from "../../utilities/tasks"; -import { createBuildAllTask } from "../../../src/tasks/SwiftTaskProvider"; -import { FolderContext } from "../../../src/FolderContext"; -import { lineBreakRegex } from "../../../src/utilities/tasks"; -import { randomString } from "../../../src/utilities/utilities"; +import { createBuildAllTask } from "@src/tasks/SwiftTaskProvider"; +import { FolderContext } from "@src/FolderContext"; +import { lineBreakRegex } from "@src/utilities/tasks"; +import { randomString } from "@src/utilities/utilities"; import { tag } from "../../tags"; tag("large").suite("Test Explorer Suite", function () { diff --git a/test/integration-tests/testexplorer/TestRunArguments.test.ts b/test/integration-tests/testexplorer/TestRunArguments.test.ts index cfeea8473..cd6dd23bd 100644 --- a/test/integration-tests/testexplorer/TestRunArguments.test.ts +++ b/test/integration-tests/testexplorer/TestRunArguments.test.ts @@ -15,8 +15,8 @@ import * as vscode from "vscode"; import * as assert from "assert"; import { beforeEach, afterEach } from "mocha"; -import { TestRunArguments } from "../../../src/TestExplorer/TestRunArguments"; -import { flattenTestItemCollection } from "../../../src/TestExplorer/TestUtils"; +import { TestRunArguments } from "@src/TestExplorer/TestRunArguments"; +import { flattenTestItemCollection } from "@src/TestExplorer/TestUtils"; suite("TestRunArguments Suite", () => { // Helper function to create a test item tree from a DSL string. diff --git a/test/integration-tests/testexplorer/XCTestOutputParser.test.ts b/test/integration-tests/testexplorer/XCTestOutputParser.test.ts index 58bfa893b..9ea016692 100644 --- a/test/integration-tests/testexplorer/XCTestOutputParser.test.ts +++ b/test/integration-tests/testexplorer/XCTestOutputParser.test.ts @@ -18,13 +18,13 @@ import { darwinTestRegex, nonDarwinTestRegex, XCTestOutputParser, -} from "../../../src/TestExplorer/TestParsers/XCTestOutputParser"; +} from "@src/TestExplorer/TestParsers/XCTestOutputParser"; import { TestRunState, TestRunTestItem, TestStatus } from "./MockTestRunState"; -import { sourceLocationToVSCodeLocation } from "../../../src/utilities/utilities"; -import { TestXUnitParser } from "../../../src/TestExplorer/TestXUnitParser"; +import { sourceLocationToVSCodeLocation } from "@src/utilities/utilities"; +import { TestXUnitParser } from "@src/TestExplorer/TestXUnitParser"; import { activateExtensionForSuite } from "../utilities/testutilities"; -import { lineBreakRegex } from "../../../src/utilities/tasks"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; +import { lineBreakRegex } from "@src/utilities/tasks"; +import { WorkspaceContext } from "@src/WorkspaceContext"; enum ParserTestKind { Regular = "Regular Test Run", diff --git a/test/integration-tests/testexplorer/utilities.ts b/test/integration-tests/testexplorer/utilities.ts index ce38dc69e..5ae4d7e6c 100644 --- a/test/integration-tests/testexplorer/utilities.ts +++ b/test/integration-tests/testexplorer/utilities.ts @@ -14,11 +14,11 @@ import * as vscode from "vscode"; import * as assert from "assert"; -import { reduceTestItemChildren } from "../../../src/TestExplorer/TestUtils"; -import { TestRunProxy } from "../../../src/TestExplorer/TestRunner"; -import { TestExplorer } from "../../../src/TestExplorer/TestExplorer"; -import { TestKind } from "../../../src/TestExplorer/TestKind"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; +import { reduceTestItemChildren } from "@src/TestExplorer/TestUtils"; +import { TestRunProxy } from "@src/TestExplorer/TestRunner"; +import { TestExplorer } from "@src/TestExplorer/TestExplorer"; +import { TestKind } from "@src/TestExplorer/TestKind"; +import { WorkspaceContext } from "@src/WorkspaceContext"; import { testAssetUri } from "../../fixtures"; import { activateExtension, diff --git a/test/integration-tests/ui/ProjectPanelProvider.test.ts b/test/integration-tests/ui/ProjectPanelProvider.test.ts index aa04c5f54..777a68954 100644 --- a/test/integration-tests/ui/ProjectPanelProvider.test.ts +++ b/test/integration-tests/ui/ProjectPanelProvider.test.ts @@ -21,19 +21,19 @@ import { PackageNode, FileNode, TreeNode, -} from "../../../src/ui/ProjectPanelProvider"; +} from "@src/ui/ProjectPanelProvider"; import { executeTaskAndWaitForResult, waitForNoRunningTasks } from "../../utilities/tasks"; -import { createBuildAllTask } from "../../../src/tasks/SwiftTaskProvider"; +import { createBuildAllTask } from "@src/tasks/SwiftTaskProvider"; import { testAssetPath } from "../../fixtures"; import { activateExtensionForSuite, folderInRootWorkspace, updateSettings, } from "../utilities/testutilities"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; -import { Version } from "../../../src/utilities/version"; -import { wait } from "../../../src/utilities/utilities"; -import { Commands } from "../../../src/commands"; +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { Version } from "@src/utilities/version"; +import { wait } from "@src/utilities/utilities"; +import { Commands } from "@src/commands"; import { tag } from "../../tags"; tag("medium").suite("ProjectPanelProvider Test Suite", function () { diff --git a/test/integration-tests/ui/SwiftOutputChannel.test.ts b/test/integration-tests/ui/SwiftOutputChannel.test.ts index 8b9decb28..65a1f1c82 100644 --- a/test/integration-tests/ui/SwiftOutputChannel.test.ts +++ b/test/integration-tests/ui/SwiftOutputChannel.test.ts @@ -13,8 +13,8 @@ //===----------------------------------------------------------------------===// import * as assert from "assert"; -import { SwiftOutputChannel } from "../../../src/logging/SwiftOutputChannel"; -import { TemporaryFolder } from "../../../src/utilities/tempFolder"; +import { SwiftOutputChannel } from "@src/logging/SwiftOutputChannel"; +import { TemporaryFolder } from "@src/utilities/tempFolder"; import { join } from "path"; suite("SwiftOutputChannel", function () { diff --git a/test/integration-tests/utilities/filesystem.test.ts b/test/integration-tests/utilities/filesystem.test.ts index 067dea575..e2da96ada 100644 --- a/test/integration-tests/utilities/filesystem.test.ts +++ b/test/integration-tests/utilities/filesystem.test.ts @@ -14,7 +14,7 @@ import * as assert from "assert"; import * as path from "path"; -import { fileExists, pathExists } from "../../../src/utilities/filesystem"; +import { fileExists, pathExists } from "@src/utilities/filesystem"; suite("File System Utilities Test Suite", () => { test("fileExists", async () => { diff --git a/test/integration-tests/utilities/lsputilities.ts b/test/integration-tests/utilities/lsputilities.ts index b0673a955..a474b1d0d 100644 --- a/test/integration-tests/utilities/lsputilities.ts +++ b/test/integration-tests/utilities/lsputilities.ts @@ -14,7 +14,7 @@ import * as vscode from "vscode"; import * as langclient from "vscode-languageclient/node"; -import { LanguageClientManager } from "../../../src/sourcekit-lsp/LanguageClientManager"; +import { LanguageClientManager } from "@src/sourcekit-lsp/LanguageClientManager"; export async function waitForClient( languageClientManager: LanguageClientManager, diff --git a/test/integration-tests/utilities/testutilities.ts b/test/integration-tests/utilities/testutilities.ts index 458597d64..4f0f8ab13 100644 --- a/test/integration-tests/utilities/testutilities.ts +++ b/test/integration-tests/utilities/testutilities.ts @@ -15,18 +15,18 @@ import * as vscode from "vscode"; import * as assert from "assert"; import * as mocha from "mocha"; -import { Api } from "../../../src/extension"; +import { Api } from "@src/extension"; import { testAssetPath, testAssetUri } from "../../fixtures"; -import { FolderOperation, WorkspaceContext } from "../../../src/WorkspaceContext"; -import { FolderContext } from "../../../src/FolderContext"; +import { FolderOperation, WorkspaceContext } from "@src/WorkspaceContext"; +import { FolderContext } from "@src/FolderContext"; import { waitForNoRunningTasks } from "../../utilities/tasks"; import { closeAllEditors } from "../../utilities/commands"; import { isDeepStrictEqual } from "util"; -import { Version } from "../../../src/utilities/version"; -import configuration from "../../../src/configuration"; -import { buildAllTaskName, resetBuildAllTaskCache } from "../../../src/tasks/SwiftTaskProvider"; -import { SwiftLogger } from "../../../src/logging/SwiftLogger"; -import { Extension } from "../../../src/utilities/extensions"; +import { Version } from "@src/utilities/version"; +import configuration from "@src/configuration"; +import { buildAllTaskName, resetBuildAllTaskCache } from "@src/tasks/SwiftTaskProvider"; +import { SwiftLogger } from "@src/logging/SwiftLogger"; +import { Extension } from "@src/utilities/extensions"; export function getRootWorkspaceFolder(): vscode.WorkspaceFolder { const result = vscode.workspace.workspaceFolders?.at(0); diff --git a/test/integration-tests/utilities/utilities.test.ts b/test/integration-tests/utilities/utilities.test.ts index 357cee524..47866cb39 100644 --- a/test/integration-tests/utilities/utilities.test.ts +++ b/test/integration-tests/utilities/utilities.test.ts @@ -14,11 +14,7 @@ import * as assert from "assert"; import * as Stream from "stream"; -import { - execFileStreamOutput, - execSwift, - getSwiftExecutable, -} from "../../../src/utilities/utilities"; +import { execFileStreamOutput, execSwift, getSwiftExecutable } from "@src/utilities/utilities"; suite("Utilities Test Suite", () => { test("execFileStreamOutput", async () => { diff --git a/test/integration-tests/utilities/workspace.test.ts b/test/integration-tests/utilities/workspace.test.ts index 8093186e0..b3300890c 100644 --- a/test/integration-tests/utilities/workspace.test.ts +++ b/test/integration-tests/utilities/workspace.test.ts @@ -13,7 +13,7 @@ //===----------------------------------------------------------------------===// import * as vscode from "vscode"; -import { searchForPackages } from "../../../src/utilities/workspace"; +import { searchForPackages } from "@src/utilities/workspace"; import { expect } from "chai"; suite("Workspace Utilities Test Suite", () => { diff --git a/test/tsconfig.json b/test/tsconfig.json index eb3aa259e..0b5734825 100644 --- a/test/tsconfig.json +++ b/test/tsconfig.json @@ -2,7 +2,10 @@ "extends": "../tsconfig-base.json", "compilerOptions": { "types": ["node"], - "experimentalDecorators": true + "experimentalDecorators": true, + "paths": { + "@src/*": ["../src/*"] + } }, "include": ["**/*"], "references": [{ "path": "../src" }] diff --git a/test/unit-tests/MockUtils.test.ts b/test/unit-tests/MockUtils.test.ts index d580fc4aa..4d739d8ed 100644 --- a/test/unit-tests/MockUtils.test.ts +++ b/test/unit-tests/MockUtils.test.ts @@ -26,8 +26,8 @@ import { mockObject, waitForReturnedPromises, } from "../MockUtils"; -import { Version } from "../../src/utilities/version"; -import configuration from "../../src/configuration"; +import { Version } from "@src/utilities/version"; +import configuration from "@src/configuration"; // eslint-disable-next-line @typescript-eslint/no-unused-vars function emptyFunction(..._: any): any { diff --git a/test/unit-tests/commands/newSwiftFile.test.ts b/test/unit-tests/commands/newSwiftFile.test.ts index 9760173e9..e24b77492 100644 --- a/test/unit-tests/commands/newSwiftFile.test.ts +++ b/test/unit-tests/commands/newSwiftFile.test.ts @@ -16,10 +16,10 @@ import * as vscode from "vscode"; import { expect } from "chai"; import { match } from "sinon"; import * as path from "path"; -import { newSwiftFile } from "../../../src/commands/newFile"; +import { newSwiftFile } from "@src/commands/newFile"; import { mockGlobalObject } from "../../MockUtils"; -import { TemporaryFolder } from "../../../src/utilities/tempFolder"; -import { fileExists } from "../../../src/utilities/filesystem"; +import { TemporaryFolder } from "@src/utilities/tempFolder"; +import { fileExists } from "@src/utilities/filesystem"; suite("newSwiftFile Command Test Suite", () => { const workspaceMock = mockGlobalObject(vscode, "workspace"); diff --git a/test/unit-tests/commands/openPackage.test.ts b/test/unit-tests/commands/openPackage.test.ts index bc16f3710..7494f5482 100644 --- a/test/unit-tests/commands/openPackage.test.ts +++ b/test/unit-tests/commands/openPackage.test.ts @@ -18,9 +18,9 @@ import * as path from "path"; import { expect } from "chai"; import { match } from "sinon"; import { mockGlobalModule, mockGlobalObject } from "../../MockUtils"; -import { openPackage } from "../../../src/commands/openPackage"; -import { Version } from "../../../src/utilities/version"; -import * as fs from "../../../src/utilities/filesystem"; +import { openPackage } from "@src/commands/openPackage"; +import { Version } from "@src/utilities/version"; +import * as fs from "@src/utilities/filesystem"; suite("openPackage Command Test Suite", () => { const windowMock = mockGlobalObject(vscode, "window"); diff --git a/test/unit-tests/commands/runPluginTask.test.ts b/test/unit-tests/commands/runPluginTask.test.ts index 1f16c98cb..cc0004a4f 100644 --- a/test/unit-tests/commands/runPluginTask.test.ts +++ b/test/unit-tests/commands/runPluginTask.test.ts @@ -16,7 +16,7 @@ import * as vscode from "vscode"; import { mockGlobalObject } from "../../MockUtils"; import { expect } from "chai"; import { match } from "sinon"; -import { runPluginTask } from "../../../src/commands/runPluginTask"; +import { runPluginTask } from "@src/commands/runPluginTask"; suite("runPluginTask Test Suite", () => { const commandsMock = mockGlobalObject(vscode, "commands"); diff --git a/test/unit-tests/commands/runSwiftScript.test.ts b/test/unit-tests/commands/runSwiftScript.test.ts index 9d7d0e945..0b4ca10c6 100644 --- a/test/unit-tests/commands/runSwiftScript.test.ts +++ b/test/unit-tests/commands/runSwiftScript.test.ts @@ -17,11 +17,11 @@ import { beforeEach } from "mocha"; import { expect } from "chai"; import { match, stub } from "sinon"; import { instance, mockFn, mockGlobalObject, mockGlobalValue, mockObject } from "../../MockUtils"; -import { runSwiftScript } from "../../../src/commands/runSwiftScript"; -import { TaskManager } from "../../../src/tasks/TaskManager"; -import { SwiftToolchain } from "../../../src/toolchain/toolchain"; -import { BuildFlags } from "../../../src/toolchain/BuildFlags"; -import configuration from "../../../src/configuration"; +import { runSwiftScript } from "@src/commands/runSwiftScript"; +import { TaskManager } from "@src/tasks/TaskManager"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; +import { BuildFlags } from "@src/toolchain/BuildFlags"; +import configuration from "@src/configuration"; suite("runSwiftScript Test Suite", () => { const mockTaskManager = mockObject({ executeTaskAndWait: stub().resolves() }); diff --git a/test/unit-tests/commands/runTestMultipleTimes.test.ts b/test/unit-tests/commands/runTestMultipleTimes.test.ts index 217e96d9b..7aa426b53 100644 --- a/test/unit-tests/commands/runTestMultipleTimes.test.ts +++ b/test/unit-tests/commands/runTestMultipleTimes.test.ts @@ -14,7 +14,7 @@ import * as vscode from "vscode"; import { expect } from "chai"; -import { extractTestItemsAndCount } from "../../../src/commands/testMultipleTimes"; +import { extractTestItemsAndCount } from "@src/commands/testMultipleTimes"; suite("Run Tests Multiple Times", () => { suite("extractTestItemsAndCount()", () => { diff --git a/test/unit-tests/commands/switchPlatform.test.ts b/test/unit-tests/commands/switchPlatform.test.ts index f2c54f105..40361c25b 100644 --- a/test/unit-tests/commands/switchPlatform.test.ts +++ b/test/unit-tests/commands/switchPlatform.test.ts @@ -26,11 +26,11 @@ import { DarwinCompatibleTarget, SwiftToolchain, getDarwinTargetTriple, -} from "../../../src/toolchain/toolchain"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; -import { switchPlatform } from "../../../src/commands/switchPlatform"; -import { StatusItem } from "../../../src/ui/StatusItem"; -import configuration from "../../../src/configuration"; +} from "@src/toolchain/toolchain"; +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { switchPlatform } from "@src/commands/switchPlatform"; +import { StatusItem } from "@src/ui/StatusItem"; +import configuration from "@src/configuration"; suite("Switch Target Platform Unit Tests", () => { const mockedConfiguration = mockGlobalModule(configuration); diff --git a/test/unit-tests/debugger/debugAdapter.test.ts b/test/unit-tests/debugger/debugAdapter.test.ts index a136db764..7a3290eae 100644 --- a/test/unit-tests/debugger/debugAdapter.test.ts +++ b/test/unit-tests/debugger/debugAdapter.test.ts @@ -15,9 +15,9 @@ import { expect } from "chai"; import * as mockFS from "mock-fs"; import { MockedObject, mockObject, instance, mockGlobalModule } from "../../MockUtils"; -import configuration from "../../../src/configuration"; -import { DebugAdapter, LaunchConfigType } from "../../../src/debugger/debugAdapter"; -import { Version } from "../../../src/utilities/version"; +import configuration from "@src/configuration"; +import { DebugAdapter, LaunchConfigType } from "@src/debugger/debugAdapter"; +import { Version } from "@src/utilities/version"; suite("DebugAdapter Unit Test Suite", () => { const mockConfiguration = mockGlobalModule(configuration); diff --git a/test/unit-tests/debugger/debugAdapterFactory.test.ts b/test/unit-tests/debugger/debugAdapterFactory.test.ts index 5265bde8e..5203eb9f3 100644 --- a/test/unit-tests/debugger/debugAdapterFactory.test.ts +++ b/test/unit-tests/debugger/debugAdapterFactory.test.ts @@ -14,8 +14,8 @@ import * as vscode from "vscode"; import { expect } from "chai"; -import { LLDBDebugConfigurationProvider } from "../../../src/debugger/debugAdapterFactory"; -import { Version } from "../../../src/utilities/version"; +import { LLDBDebugConfigurationProvider } from "@src/debugger/debugAdapterFactory"; +import { Version } from "@src/utilities/version"; import { mockGlobalObject, MockedObject, @@ -25,15 +25,15 @@ import { mockFn, } from "../../MockUtils"; import * as mockFS from "mock-fs"; -import { LaunchConfigType, SWIFT_LAUNCH_CONFIG_TYPE } from "../../../src/debugger/debugAdapter"; -import * as lldb from "../../../src/debugger/lldb"; -import { SwiftToolchain } from "../../../src/toolchain/toolchain"; -import * as debugAdapter from "../../../src/debugger/debugAdapter"; -import { Result } from "../../../src/utilities/result"; -import configuration from "../../../src/configuration"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; -import { FolderContext } from "../../../src/FolderContext"; -import { SwiftLogger } from "../../../src/logging/SwiftLogger"; +import { LaunchConfigType, SWIFT_LAUNCH_CONFIG_TYPE } from "@src/debugger/debugAdapter"; +import * as lldb from "@src/debugger/lldb"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; +import * as debugAdapter from "@src/debugger/debugAdapter"; +import { Result } from "@src/utilities/result"; +import configuration from "@src/configuration"; +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { FolderContext } from "@src/FolderContext"; +import { SwiftLogger } from "@src/logging/SwiftLogger"; suite("LLDBDebugConfigurationProvider Tests", () => { let mockWorkspaceContext: MockedObject; diff --git a/test/unit-tests/debugger/launch.test.ts b/test/unit-tests/debugger/launch.test.ts index 693b4d5e8..3d99ee0a4 100644 --- a/test/unit-tests/debugger/launch.test.ts +++ b/test/unit-tests/debugger/launch.test.ts @@ -14,9 +14,9 @@ import * as vscode from "vscode"; import { expect } from "chai"; -import configuration, { FolderConfiguration } from "../../../src/configuration"; -import { makeDebugConfigurations } from "../../../src/debugger/launch"; -import { FolderContext } from "../../../src/FolderContext"; +import configuration, { FolderConfiguration } from "@src/configuration"; +import { makeDebugConfigurations } from "@src/debugger/launch"; +import { FolderContext } from "@src/FolderContext"; import { instance, MockedObject, @@ -25,8 +25,8 @@ import { mockGlobalObject, mockObject, } from "../../MockUtils"; -import { Product, SwiftPackage } from "../../../src/SwiftPackage"; -import { SWIFT_LAUNCH_CONFIG_TYPE } from "../../../src/debugger/debugAdapter"; +import { Product, SwiftPackage } from "@src/SwiftPackage"; +import { SWIFT_LAUNCH_CONFIG_TYPE } from "@src/debugger/debugAdapter"; suite("Launch Configurations Test", () => { const mockConfiguration = mockGlobalModule(configuration); diff --git a/test/unit-tests/debugger/lldb.test.ts b/test/unit-tests/debugger/lldb.test.ts index c3bd582df..c7245aa78 100644 --- a/test/unit-tests/debugger/lldb.test.ts +++ b/test/unit-tests/debugger/lldb.test.ts @@ -12,8 +12,8 @@ // //===----------------------------------------------------------------------===// -import * as util from "../../../src/utilities/utilities"; -import * as lldb from "../../../src/debugger/lldb"; +import * as util from "@src/utilities/utilities"; +import * as lldb from "@src/debugger/lldb"; import * as fs from "fs/promises"; import * as sinon from "sinon"; import { expect } from "chai"; @@ -26,7 +26,7 @@ import { MockedFunction, mockGlobalValue, } from "../../MockUtils"; -import { SwiftToolchain } from "../../../src/toolchain/toolchain"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; suite("debugger.lldb Tests", () => { suite("getLLDBLibPath Tests", () => { diff --git a/test/unit-tests/sourcekit-lsp/LanguageClientManager.test.ts b/test/unit-tests/sourcekit-lsp/LanguageClientManager.test.ts index 7ed6c2bd9..8410cdf7b 100644 --- a/test/unit-tests/sourcekit-lsp/LanguageClientManager.test.ts +++ b/test/unit-tests/sourcekit-lsp/LanguageClientManager.test.ts @@ -16,10 +16,10 @@ import * as vscode from "vscode"; import * as path from "path"; import { expect } from "chai"; import { match } from "sinon"; -import { FolderEvent, FolderOperation, WorkspaceContext } from "../../../src/WorkspaceContext"; -import { Version } from "../../../src/utilities/version"; -import { SwiftToolchain } from "../../../src/toolchain/toolchain"; -import { BuildFlags } from "../../../src/toolchain/BuildFlags"; +import { FolderEvent, FolderOperation, WorkspaceContext } from "@src/WorkspaceContext"; +import { Version } from "@src/utilities/version"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; +import { BuildFlags } from "@src/toolchain/BuildFlags"; import { MockedObject, mockObject, @@ -40,19 +40,19 @@ import { State, StateChangeEvent, } from "vscode-languageclient/node"; -import { LanguageClientManager } from "../../../src/sourcekit-lsp/LanguageClientManager"; -import { LanguageClientToolchainCoordinator } from "../../../src/sourcekit-lsp/LanguageClientToolchainCoordinator"; -import configuration from "../../../src/configuration"; -import { FolderContext } from "../../../src/FolderContext"; -import { LanguageClientFactory } from "../../../src/sourcekit-lsp/LanguageClientFactory"; -import { LSPActiveDocumentManager } from "../../../src/sourcekit-lsp/didChangeActiveDocument"; +import { LanguageClientManager } from "@src/sourcekit-lsp/LanguageClientManager"; +import { LanguageClientToolchainCoordinator } from "@src/sourcekit-lsp/LanguageClientToolchainCoordinator"; +import configuration from "@src/configuration"; +import { FolderContext } from "@src/FolderContext"; +import { LanguageClientFactory } from "@src/sourcekit-lsp/LanguageClientFactory"; +import { LSPActiveDocumentManager } from "@src/sourcekit-lsp/didChangeActiveDocument"; import { DidChangeActiveDocumentNotification, DidChangeActiveDocumentParams, -} from "../../../src/sourcekit-lsp/extensions/DidChangeActiveDocumentRequest"; -import { SwiftLogger } from "../../../src/logging/SwiftLogger"; -import { SwiftOutputChannel } from "../../../src/logging/SwiftOutputChannel"; -import { SwiftLoggerFactory } from "../../../src/logging/SwiftLoggerFactory"; +} from "@src/sourcekit-lsp/extensions/DidChangeActiveDocumentRequest"; +import { SwiftLogger } from "@src/logging/SwiftLogger"; +import { SwiftOutputChannel } from "@src/logging/SwiftOutputChannel"; +import { SwiftLoggerFactory } from "@src/logging/SwiftLoggerFactory"; suite("LanguageClientManager Suite", () => { let languageClientFactoryMock: MockedObject; diff --git a/test/unit-tests/sourcekit-lsp/uriConverters.test.ts b/test/unit-tests/sourcekit-lsp/uriConverters.test.ts index 82750c02e..1594a2c22 100644 --- a/test/unit-tests/sourcekit-lsp/uriConverters.test.ts +++ b/test/unit-tests/sourcekit-lsp/uriConverters.test.ts @@ -14,7 +14,7 @@ import { expect } from "chai"; import * as vscode from "vscode"; -import { uriConverters } from "../../../src/sourcekit-lsp/uriConverters"; +import { uriConverters } from "@src/sourcekit-lsp/uriConverters"; /// Check that decoding the given URI string and re-encoding it results in the original string and that the decoded Uri /// does not cause any assertion failures in `verifyUri`. diff --git a/test/unit-tests/tasks/SwiftPluginTaskProvider.test.ts b/test/unit-tests/tasks/SwiftPluginTaskProvider.test.ts index 9f637eec2..cda69ecbd 100644 --- a/test/unit-tests/tasks/SwiftPluginTaskProvider.test.ts +++ b/test/unit-tests/tasks/SwiftPluginTaskProvider.test.ts @@ -17,15 +17,15 @@ import * as assert from "assert"; import * as os from "os"; import * as path from "path"; import { match } from "sinon"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; -import { SwiftPluginTaskProvider } from "../../../src/tasks/SwiftPluginTaskProvider"; -import { SwiftToolchain } from "../../../src/toolchain/toolchain"; -import { SwiftExecution } from "../../../src/tasks/SwiftExecution"; -import { Version } from "../../../src/utilities/version"; -import { BuildFlags } from "../../../src/toolchain/BuildFlags"; +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { SwiftPluginTaskProvider } from "@src/tasks/SwiftPluginTaskProvider"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; +import { SwiftExecution } from "@src/tasks/SwiftExecution"; +import { Version } from "@src/utilities/version"; +import { BuildFlags } from "@src/toolchain/BuildFlags"; import { instance, MockedObject, mockFn, mockGlobalValue, mockObject } from "../../MockUtils"; -import { FolderContext } from "../../../src/FolderContext"; -import configuration from "../../../src/configuration"; +import { FolderContext } from "@src/FolderContext"; +import configuration from "@src/configuration"; suite("SwiftPluginTaskProvider Unit Test Suite", () => { let workspaceContext: MockedObject; diff --git a/test/unit-tests/tasks/SwiftTaskProvider.test.ts b/test/unit-tests/tasks/SwiftTaskProvider.test.ts index ed2352f94..626a5feea 100644 --- a/test/unit-tests/tasks/SwiftTaskProvider.test.ts +++ b/test/unit-tests/tasks/SwiftTaskProvider.test.ts @@ -16,18 +16,18 @@ import * as vscode from "vscode"; import * as assert from "assert"; import * as os from "os"; import { match } from "sinon"; -import { WorkspaceContext } from "../../../src/WorkspaceContext"; +import { WorkspaceContext } from "@src/WorkspaceContext"; import { SwiftTaskProvider, buildOptions, createSwiftTask, getBuildAllTask, platformDebugBuildOptions, -} from "../../../src/tasks/SwiftTaskProvider"; -import { SwiftToolchain } from "../../../src/toolchain/toolchain"; -import { SwiftExecution } from "../../../src/tasks/SwiftExecution"; -import { Version } from "../../../src/utilities/version"; -import { BuildFlags } from "../../../src/toolchain/BuildFlags"; +} from "@src/tasks/SwiftTaskProvider"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; +import { SwiftExecution } from "@src/tasks/SwiftExecution"; +import { Version } from "@src/utilities/version"; +import { BuildFlags } from "@src/toolchain/BuildFlags"; import { mockObject, mockGlobalObject, @@ -36,9 +36,9 @@ import { instance, mockFn, } from "../../MockUtils"; -import configuration from "../../../src/configuration"; -import { Sanitizer } from "../../../src/toolchain/Sanitizer"; -import { FolderContext } from "../../../src/FolderContext"; +import configuration from "@src/configuration"; +import { Sanitizer } from "@src/toolchain/Sanitizer"; +import { FolderContext } from "@src/FolderContext"; suite("SwiftTaskProvider Unit Test Suite", () => { let workspaceContext: MockedObject; diff --git a/test/unit-tests/terminal.test.ts b/test/unit-tests/terminal.test.ts index 92fd2e348..42733ac88 100644 --- a/test/unit-tests/terminal.test.ts +++ b/test/unit-tests/terminal.test.ts @@ -21,8 +21,8 @@ import { instance, mockGlobalObject, } from "../MockUtils"; -import { SwiftEnvironmentVariablesManager, SwiftTerminalProfileProvider } from "../../src/terminal"; -import configuration from "../../src/configuration"; +import { SwiftEnvironmentVariablesManager, SwiftTerminalProfileProvider } from "@src/terminal"; +import configuration from "@src/configuration"; suite("Terminal", () => { const mockedPlatform = mockGlobalValue(process, "platform"); diff --git a/test/unit-tests/testexplorer/TestCodeLensProvider.test.ts b/test/unit-tests/testexplorer/TestCodeLensProvider.test.ts index 4a3be1c89..6cdf30e01 100644 --- a/test/unit-tests/testexplorer/TestCodeLensProvider.test.ts +++ b/test/unit-tests/testexplorer/TestCodeLensProvider.test.ts @@ -14,12 +14,12 @@ import * as vscode from "vscode"; import * as sinon from "sinon"; -import * as TestUtils from "../../../src/TestExplorer/TestUtils"; +import * as TestUtils from "@src/TestExplorer/TestUtils"; import { expect } from "chai"; -import { TestCodeLensProvider } from "../../../src/TestExplorer/TestCodeLensProvider"; -import { TestExplorer } from "../../../src/TestExplorer/TestExplorer"; +import { TestCodeLensProvider } from "@src/TestExplorer/TestCodeLensProvider"; +import { TestExplorer } from "@src/TestExplorer/TestExplorer"; import { instance, mockObject } from "../../MockUtils"; -import configuration from "../../../src/configuration"; +import configuration from "@src/configuration"; suite("TestCodeLensProvider", () => { let sandbox: sinon.SinonSandbox; diff --git a/test/unit-tests/toolchain/BuildFlags.test.ts b/test/unit-tests/toolchain/BuildFlags.test.ts index a6ece857d..5f17add9c 100644 --- a/test/unit-tests/toolchain/BuildFlags.test.ts +++ b/test/unit-tests/toolchain/BuildFlags.test.ts @@ -14,10 +14,10 @@ import * as path from "path"; import { expect } from "chai"; -import { DarwinCompatibleTarget, SwiftToolchain } from "../../../src/toolchain/toolchain"; -import { ArgumentFilter, BuildFlags } from "../../../src/toolchain/BuildFlags"; -import { Version } from "../../../src/utilities/version"; -import configuration from "../../../src/configuration"; +import { DarwinCompatibleTarget, SwiftToolchain } from "@src/toolchain/toolchain"; +import { ArgumentFilter, BuildFlags } from "@src/toolchain/BuildFlags"; +import { Version } from "@src/utilities/version"; +import configuration from "@src/configuration"; import { mockObject, mockGlobalValue, MockedObject, instance } from "../../MockUtils"; suite("BuildFlags Test Suite", () => { diff --git a/test/unit-tests/toolchain/SelectedXcodeWatcher.test.ts b/test/unit-tests/toolchain/SelectedXcodeWatcher.test.ts index 99d9c0da7..ac3ba3067 100644 --- a/test/unit-tests/toolchain/SelectedXcodeWatcher.test.ts +++ b/test/unit-tests/toolchain/SelectedXcodeWatcher.test.ts @@ -14,7 +14,7 @@ import * as vscode from "vscode"; import { expect } from "chai"; -import { SelectedXcodeWatcher } from "../../../src/toolchain/SelectedXcodeWatcher"; +import { SelectedXcodeWatcher } from "@src/toolchain/SelectedXcodeWatcher"; import { instance, MockedObject, @@ -24,10 +24,10 @@ import { mockObject, mockGlobalModule, } from "../../MockUtils"; -import configuration from "../../../src/configuration"; -import { Commands } from "../../../src/commands"; -import { SwiftLogger } from "../../../src/logging/SwiftLogger"; -import * as ReloadExtension from "../../../src/ui/ReloadExtension"; +import configuration from "@src/configuration"; +import { Commands } from "@src/commands"; +import { SwiftLogger } from "@src/logging/SwiftLogger"; +import * as ReloadExtension from "@src/ui/ReloadExtension"; suite("Selected Xcode Watcher", () => { const mockedVSCodeWindow = mockGlobalObject(vscode, "window"); diff --git a/test/unit-tests/toolchain/ToolchainVersion.test.ts b/test/unit-tests/toolchain/ToolchainVersion.test.ts index 288159788..e0f98d8a2 100644 --- a/test/unit-tests/toolchain/ToolchainVersion.test.ts +++ b/test/unit-tests/toolchain/ToolchainVersion.test.ts @@ -13,7 +13,7 @@ //===----------------------------------------------------------------------===// import { expect } from "chai"; -import { ToolchainVersion } from "../../../src/toolchain/ToolchainVersion"; +import { ToolchainVersion } from "@src/toolchain/ToolchainVersion"; suite("ToolchainVersion Unit Test Suite", () => { test("Parses snapshot", () => { diff --git a/test/unit-tests/toolchain/swiftly.test.ts b/test/unit-tests/toolchain/swiftly.test.ts index 96783ebbd..fd2cbff5f 100644 --- a/test/unit-tests/toolchain/swiftly.test.ts +++ b/test/unit-tests/toolchain/swiftly.test.ts @@ -16,12 +16,12 @@ import { expect } from "chai"; import * as mockFS from "mock-fs"; import * as os from "os"; import { match } from "sinon"; -import { Swiftly } from "../../../src/toolchain/swiftly"; -import * as utilities from "../../../src/utilities/utilities"; +import { Swiftly } from "@src/toolchain/swiftly"; +import * as utilities from "@src/utilities/utilities"; import { mockGlobalModule, mockGlobalValue, mockGlobalObject } from "../../MockUtils"; import * as vscode from "vscode"; import * as fs from "fs/promises"; -import * as SwiftOutputChannelModule from "../../../src/logging/SwiftOutputChannel"; +import * as SwiftOutputChannelModule from "@src/logging/SwiftOutputChannel"; suite("Swiftly Unit Tests", () => { const mockUtilities = mockGlobalModule(utilities); diff --git a/test/unit-tests/toolchain/toolchain.test.ts b/test/unit-tests/toolchain/toolchain.test.ts index fcc089138..f05c38f4a 100644 --- a/test/unit-tests/toolchain/toolchain.test.ts +++ b/test/unit-tests/toolchain/toolchain.test.ts @@ -15,11 +15,11 @@ import { expect } from "chai"; import * as path from "path"; import * as mockFS from "mock-fs"; -import * as utilities from "../../../src/utilities/utilities"; -import { SwiftToolchain } from "../../../src/toolchain/toolchain"; -import { Version } from "../../../src/utilities/version"; +import * as utilities from "@src/utilities/utilities"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; +import { Version } from "@src/utilities/version"; import { mockGlobalModule, mockGlobalValue } from "../../MockUtils"; -import { Swiftly } from "../../../src/toolchain/swiftly"; +import { Swiftly } from "@src/toolchain/swiftly"; suite("SwiftToolchain Unit Test Suite", () => { const mockedUtilities = mockGlobalModule(utilities); diff --git a/test/unit-tests/ui/PackageDependencyProvider.test.ts b/test/unit-tests/ui/PackageDependencyProvider.test.ts index 3d8758a22..fce586b43 100644 --- a/test/unit-tests/ui/PackageDependencyProvider.test.ts +++ b/test/unit-tests/ui/PackageDependencyProvider.test.ts @@ -16,7 +16,7 @@ import { expect } from "chai"; import * as path from "path"; import * as vscode from "vscode"; import * as fs from "fs/promises"; -import { FileNode, PackageNode } from "../../../src/ui/ProjectPanelProvider"; +import { FileNode, PackageNode } from "@src/ui/ProjectPanelProvider"; import { mockGlobalModule } from "../../MockUtils"; suite("PackageDependencyProvider Unit Test Suite", function () { diff --git a/test/unit-tests/ui/ReloadExtension.test.ts b/test/unit-tests/ui/ReloadExtension.test.ts index 49c05b36b..5a10cb233 100644 --- a/test/unit-tests/ui/ReloadExtension.test.ts +++ b/test/unit-tests/ui/ReloadExtension.test.ts @@ -15,8 +15,8 @@ import { beforeEach } from "mocha"; import { expect } from "chai"; import { mockGlobalObject } from "../../MockUtils"; import * as vscode from "vscode"; -import { showReloadExtensionNotificationInstance } from "../../../src/ui/ReloadExtension"; -import { Workbench } from "../../../src/utilities/commands"; +import { showReloadExtensionNotificationInstance } from "@src/ui/ReloadExtension"; +import { Workbench } from "@src/utilities/commands"; suite("showReloadExtensionNotification()", function () { const mockedVSCodeWindow = mockGlobalObject(vscode, "window"); diff --git a/test/unit-tests/ui/SwiftBuildStatus.test.ts b/test/unit-tests/ui/SwiftBuildStatus.test.ts index 050a14910..d41c2af94 100644 --- a/test/unit-tests/ui/SwiftBuildStatus.test.ts +++ b/test/unit-tests/ui/SwiftBuildStatus.test.ts @@ -12,7 +12,7 @@ // //===----------------------------------------------------------------------===// import { expect } from "chai"; -import configuration from "../../../src/configuration"; +import configuration from "@src/configuration"; import * as vscode from "vscode"; import { mockGlobalValue, @@ -23,10 +23,10 @@ import { instance, mockFn, } from "../../MockUtils"; -import { SwiftExecution } from "../../../src/tasks/SwiftExecution"; +import { SwiftExecution } from "@src/tasks/SwiftExecution"; import { TestSwiftProcess } from "../../fixtures"; -import { StatusItem } from "../../../src/ui/StatusItem"; -import { SwiftBuildStatus } from "../../../src/ui/SwiftBuildStatus"; +import { StatusItem } from "@src/ui/StatusItem"; +import { SwiftBuildStatus } from "@src/ui/SwiftBuildStatus"; suite("SwiftBuildStatus Unit Test Suite", function () { const windowMock = mockGlobalObject(vscode, "window"); diff --git a/test/unit-tests/ui/ToolchainSelection.test.ts b/test/unit-tests/ui/ToolchainSelection.test.ts index 2ac30090d..b9910d78c 100644 --- a/test/unit-tests/ui/ToolchainSelection.test.ts +++ b/test/unit-tests/ui/ToolchainSelection.test.ts @@ -17,13 +17,13 @@ import * as vscode from "vscode"; import * as mockFS from "mock-fs"; import * as sinon from "sinon"; import { match, stub } from "sinon"; -import { SwiftToolchain } from "../../../src/toolchain/toolchain"; -import { SwiftLogger } from "../../../src/logging/SwiftLogger"; -import { Swiftly } from "../../../src/toolchain/swiftly"; -import { Version } from "../../../src/utilities/version"; -import * as utilities from "../../../src/utilities/utilities"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; +import { SwiftLogger } from "@src/logging/SwiftLogger"; +import { Swiftly } from "@src/toolchain/swiftly"; +import { Version } from "@src/utilities/version"; +import * as utilities from "@src/utilities/utilities"; import { mockGlobalModule, mockGlobalValue, mockGlobalObject } from "../../MockUtils"; -import * as ToolchainSelectionModule from "../../../src/ui/ToolchainSelection"; +import * as ToolchainSelectionModule from "@src/ui/ToolchainSelection"; suite("ToolchainSelection Unit Test Suite", () => { const mockedUtilities = mockGlobalModule(utilities); diff --git a/test/unit-tests/utilities/filesystem.test.ts b/test/unit-tests/utilities/filesystem.test.ts index 231a23101..4add4af8c 100644 --- a/test/unit-tests/utilities/filesystem.test.ts +++ b/test/unit-tests/utilities/filesystem.test.ts @@ -19,7 +19,7 @@ import { expandFilePathTilde, isExcluded, isIncluded, -} from "../../../src/utilities/filesystem"; +} from "@src/utilities/filesystem"; import { expect } from "chai"; suite("File System Utilities Unit Test Suite", () => { diff --git a/test/unit-tests/utilities/shell.test.ts b/test/unit-tests/utilities/shell.test.ts index cbbd2a5e6..38b7cba33 100644 --- a/test/unit-tests/utilities/shell.test.ts +++ b/test/unit-tests/utilities/shell.test.ts @@ -15,8 +15,8 @@ import { beforeEach, afterEach } from "mocha"; import { expect } from "chai"; import * as sinon from "sinon"; -import { findBinaryPath } from "../../../src/utilities/shell"; -import * as utilities from "../../../src/utilities/utilities"; +import { findBinaryPath } from "@src/utilities/shell"; +import * as utilities from "@src/utilities/utilities"; suite("Shell Unit Test Suite", () => { let execFileStub: sinon.SinonStub; diff --git a/test/unit-tests/utilities/utilities.test.ts b/test/unit-tests/utilities/utilities.test.ts index ba5ced70b..b86fdf10c 100644 --- a/test/unit-tests/utilities/utilities.test.ts +++ b/test/unit-tests/utilities/utilities.test.ts @@ -22,7 +22,7 @@ import { swiftPlatformLibraryPathKey, runtimeEnv, sourceLocationToVSCodeLocation, -} from "../../../src/utilities/utilities"; +} from "@src/utilities/utilities"; import { Range } from "vscode"; suite("Utilities Unit Test Suite", () => { diff --git a/test/unit-tests/utilities/version.test.ts b/test/unit-tests/utilities/version.test.ts index b930dbe4d..957a5a29e 100644 --- a/test/unit-tests/utilities/version.test.ts +++ b/test/unit-tests/utilities/version.test.ts @@ -13,7 +13,7 @@ //===----------------------------------------------------------------------===// import { expect } from "chai"; -import { Version } from "../../../src/utilities/version"; +import { Version } from "@src/utilities/version"; suite("Version Suite", () => { suite("fromString", () => { diff --git a/test/unit-tests/utilities/workspace.test.ts b/test/unit-tests/utilities/workspace.test.ts index 7ca500fc0..b473f5658 100644 --- a/test/unit-tests/utilities/workspace.test.ts +++ b/test/unit-tests/utilities/workspace.test.ts @@ -13,7 +13,7 @@ //===----------------------------------------------------------------------===// import * as vscode from "vscode"; -import { searchForPackages } from "../../../src/utilities/workspace"; +import { searchForPackages } from "@src/utilities/workspace"; import { testAssetUri } from "../../fixtures"; import { expect } from "chai"; diff --git a/test/utilities/commands.ts b/test/utilities/commands.ts index 0b52378d4..ea1861738 100644 --- a/test/utilities/commands.ts +++ b/test/utilities/commands.ts @@ -13,7 +13,7 @@ //===----------------------------------------------------------------------===// import * as vscode from "vscode"; -import { Workbench } from "../../src/utilities/commands"; +import { Workbench } from "@src/utilities/commands"; export async function closeAllEditors() { await vscode.commands.executeCommand(Workbench.ACTION_CLOSEALLEDITORS); diff --git a/test/utilities/debug.ts b/test/utilities/debug.ts index 0b475b74c..9dbc09df0 100644 --- a/test/utilities/debug.ts +++ b/test/utilities/debug.ts @@ -13,9 +13,9 @@ //===----------------------------------------------------------------------===// import * as vscode from "vscode"; import { DebugProtocol } from "@vscode/debugprotocol"; -import { Workbench } from "../../src/utilities/commands"; -import { DebugAdapter } from "../../src/debugger/debugAdapter"; -import { Version } from "../../src/utilities/version"; +import { Workbench } from "@src/utilities/commands"; +import { DebugAdapter } from "@src/debugger/debugAdapter"; +import { Version } from "@src/utilities/version"; export async function continueSession(): Promise { await vscode.commands.executeCommand(Workbench.ACTION_DEBUG_CONTINUE); diff --git a/test/utilities/tasks.ts b/test/utilities/tasks.ts index 6b455765e..d821c034e 100644 --- a/test/utilities/tasks.ts +++ b/test/utilities/tasks.ts @@ -16,7 +16,7 @@ import * as vscode from "vscode"; // eslint-disable-next-line @typescript-eslint/no-require-imports import stripAnsi = require("strip-ansi"); import { SwiftTaskFixture } from "../fixtures"; -import { SwiftTask } from "../../src/tasks/SwiftTaskProvider"; +import { SwiftTask } from "@src/tasks/SwiftTaskProvider"; export type Mutable = { -readonly [K in keyof T]: T[K]; From 244dddd34d18a64ccab2450e89f0f1f6ae7a4686 Mon Sep 17 00:00:00 2001 From: Matthew Bastien Date: Wed, 3 Sep 2025 11:49:25 -0400 Subject: [PATCH 3/4] sort imports in all TypeScript files using prettier --- .prettierrc.json | 6 + package-lock.json | 302 +++++++++++++++++- package.json | 1 + scripts/check_package_json.ts | 1 - scripts/compile_icons.ts | 8 +- scripts/dev_package.ts | 1 - scripts/download_vsix.ts | 2 +- scripts/lib/utilities.ts | 5 +- scripts/package.ts | 1 - scripts/update_swift_docc_render.ts | 6 +- src/BackgroundCompilation.ts | 9 +- src/DiagnosticsManager.ts | 13 +- src/FolderContext.ts | 14 +- src/LinuxMain.ts | 2 +- src/PackageWatcher.ts | 10 +- src/SwiftPackage.ts | 17 +- src/SwiftSnippets.ts | 6 +- .../DocumentSymbolTestDiscovery.ts | 4 +- src/TestExplorer/LSPTestDiscovery.ts | 12 +- src/TestExplorer/SPMTestDiscovery.ts | 1 - src/TestExplorer/TestCodeLensProvider.ts | 4 +- src/TestExplorer/TestDiscovery.ts | 2 +- src/TestExplorer/TestExplorer.ts | 24 +- .../TestParsers/SwiftTestingOutputParser.ts | 12 +- .../TestParsers/TestEventStreamReader.ts | 1 - src/TestExplorer/TestParsers/TestRunState.ts | 1 - .../TestParsers/XCTestOutputParser.ts | 7 +- src/TestExplorer/TestRunArguments.ts | 4 +- src/TestExplorer/TestRunManager.ts | 4 +- src/TestExplorer/TestRunner.ts | 63 ++-- src/TestExplorer/TestUtils.ts | 1 - src/TestExplorer/TestXUnitParser.ts | 4 +- src/WorkspaceContext.ts | 38 +-- src/commands.ts | 58 ++-- src/commands/attachDebugger.ts | 2 +- src/commands/build.ts | 10 +- src/commands/captureDiagnostics.ts | 16 +- src/commands/createNewProject.ts | 6 +- src/commands/dependencies/edit.ts | 8 +- src/commands/dependencies/resolve.ts | 6 +- src/commands/dependencies/unedit.ts | 6 +- src/commands/dependencies/update.ts | 6 +- .../dependencies/updateDepViewList.ts | 1 - src/commands/dependencies/useLocal.ts | 4 +- src/commands/generateLaunchConfigurations.ts | 5 +- .../generateSourcekitConfiguration.ts | 4 +- src/commands/insertFunctionComment.ts | 2 +- src/commands/installSwiftlyToolchain.ts | 6 +- src/commands/newFile.ts | 1 - src/commands/openDocumentation.ts | 1 - src/commands/openEducationalNote.ts | 1 - src/commands/openInExternalEditor.ts | 2 +- src/commands/openInWorkspace.ts | 2 +- src/commands/openPackage.ts | 4 +- src/commands/pickProcess.ts | 2 +- src/commands/reindexProject.ts | 2 +- src/commands/resetPackage.ts | 6 +- src/commands/restartLSPServer.ts | 4 +- src/commands/runAllTests.ts | 4 +- src/commands/runPluginTask.ts | 1 - src/commands/runSwiftScript.ts | 8 +- src/commands/runTask.ts | 2 +- src/commands/runTest.ts | 2 +- src/commands/switchPlatform.ts | 6 +- src/commands/testMultipleTimes.ts | 6 +- src/commands/utilities.ts | 4 +- src/configuration.ts | 6 +- src/contextKeys.ts | 2 +- src/debugger/buildConfig.ts | 20 +- src/debugger/debugAdapter.ts | 3 +- src/debugger/debugAdapterFactory.ts | 14 +- src/debugger/launch.ts | 8 +- src/debugger/lldb.ts | 11 +- src/debugger/logTracker.ts | 4 +- src/documentation/DocumentationManager.ts | 4 +- .../DocumentationPreviewEditor.ts | 9 +- .../webview/CommunicationBridge.ts | 1 - src/documentation/webview/webview.ts | 3 +- src/editor/CommentCompletion.ts | 2 +- src/editor/DocumentParser.ts | 1 - src/extension.ts | 34 +- src/logging/RollingLogTransport.ts | 1 + src/logging/SwiftLogger.ts | 8 +- src/logging/SwiftLoggerFactory.ts | 4 +- src/logging/SwiftOutputChannel.ts | 2 +- src/process-list/BaseProcessList.ts | 6 +- src/process-list/index.ts | 1 - .../platforms/DarwinProcessList.ts | 1 - .../platforms/LinuxProcessList.ts | 1 - .../platforms/WindowsProcessList.ts | 1 - src/sourcekit-lsp/LSPOutputChannel.ts | 1 - .../LanguageClientConfiguration.ts | 13 +- src/sourcekit-lsp/LanguageClientFactory.ts | 1 - src/sourcekit-lsp/LanguageClientManager.ts | 20 +- .../LanguageClientToolchainCoordinator.ts | 8 +- src/sourcekit-lsp/didChangeActiveDocument.ts | 2 +- .../DidChangeActiveDocumentRequest.ts | 1 - .../extensions/DocCDocumentationRequest.ts | 6 +- .../extensions/GetReferenceDocumentRequest.ts | 2 - .../extensions/GetTestsRequest.ts | 4 +- .../extensions/LegacyInlayHintRequest.ts | 8 +- .../extensions/PeekDocumentsRequest.ts | 4 +- .../extensions/PollIndexRequest.ts | 2 - .../extensions/ReIndexProjectRequest.ts | 2 - .../SourceKitLogMessageNotification.ts | 2 - .../extensions/SymbolInfoRequest.ts | 8 +- src/sourcekit-lsp/getReferenceDocument.ts | 2 +- src/sourcekit-lsp/inlayHints.ts | 4 +- src/sourcekit-lsp/peekDocuments.ts | 2 +- src/sourcekit-lsp/uriConverters.ts | 1 - src/tasks/SwiftExecution.ts | 2 +- src/tasks/SwiftPluginTaskProvider.ts | 14 +- src/tasks/SwiftProcess.ts | 4 +- src/tasks/SwiftPseudoterminal.ts | 2 +- src/tasks/SwiftTaskProvider.ts | 14 +- src/tasks/TaskManager.ts | 2 +- src/tasks/TaskQueue.ts | 2 +- src/terminal.ts | 2 +- src/toolchain/BuildFlags.ts | 4 +- src/toolchain/Sanitizer.ts | 2 +- src/toolchain/SelectedXcodeWatcher.ts | 6 +- src/toolchain/swiftly.ts | 12 +- src/toolchain/toolchain.ts | 13 +- src/ui/LanguageStatusItems.ts | 6 +- src/ui/ProjectPanelProvider.ts | 16 +- src/ui/ReadOnlyDocumentProvider.ts | 3 +- src/ui/ReloadExtension.ts | 3 +- src/ui/SelectFolderQuickPick.ts | 4 +- src/ui/StatusItem.ts | 1 - src/ui/SwiftBuildStatus.ts | 9 +- src/ui/ToolchainSelection.ts | 14 +- src/ui/win32.ts | 6 +- src/utilities/cancellation.ts | 1 - src/utilities/filesystem.ts | 6 +- src/utilities/shell.ts | 1 - src/utilities/tasks.ts | 3 +- src/utilities/tempFolder.ts | 6 +- src/utilities/utilities.ts | 6 +- src/utilities/workspace.ts | 4 +- test/MockUtils.ts | 2 +- test/common.ts | 10 +- test/fixtures.ts | 6 +- .../BackgroundCompilation.test.ts | 7 +- .../DiagnosticsManager.test.ts | 21 +- .../ExtensionActivation.test.ts | 13 +- test/integration-tests/FolderContext.test.ts | 13 +- test/integration-tests/SwiftPackage.test.ts | 5 +- test/integration-tests/SwiftSnippet.test.ts | 15 +- .../WorkspaceContext.test.ts | 17 +- test/integration-tests/commands/build.test.ts | 13 +- .../commands/captureDiagnostics.test.ts | 19 +- .../commands/dependency.test.ts | 11 +- .../generateSourcekitConfiguration.test.ts | 21 +- .../commands/runTestMultipleTimes.test.ts | 9 +- test/integration-tests/configuration.test.ts | 13 +- test/integration-tests/debugger/lldb.test.ts | 9 +- .../DocumentationLivePreview.test.ts | 17 +- .../editor/CommentCompletion.test.ts | 2 +- test/integration-tests/extension.test.ts | 7 +- .../LanguageClientIntegration.test.ts | 15 +- .../process-list/processList.test.ts | 6 +- .../tasks/SwiftExecution.test.ts | 9 +- .../tasks/SwiftPluginTaskProvider.test.ts | 23 +- .../tasks/SwiftPseudoterminal.test.ts | 5 +- .../tasks/SwiftTaskProvider.test.ts | 13 +- .../tasks/TaskManager.test.ts | 7 +- .../integration-tests/tasks/TaskQueue.test.ts | 9 +- .../DocumentSymbolTestDiscovery.test.ts | 2 +- .../testexplorer/LSPTestDiscovery.test.ts | 19 +- .../testexplorer/MockTestRunState.ts | 2 +- .../SPMTestListOutputParser.test.ts | 2 +- .../SwiftTestingOutputParser.test.ts | 15 +- .../testexplorer/TestDiscovery.test.ts | 8 +- .../TestExplorerIntegration.test.ts | 51 +-- .../testexplorer/TestRunArguments.test.ts | 6 +- .../testexplorer/XCTestOutputParser.test.ts | 13 +- .../testexplorer/utilities.ts | 12 +- .../ui/ProjectPanelProvider.test.ts | 25 +- .../ui/SwiftOutputChannel.test.ts | 4 +- .../utilities/filesystem.test.ts | 2 +- .../utilities/lsputilities.ts | 2 +- .../utilities/testutilities.test.ts | 2 +- .../utilities/testutilities.ts | 21 +- .../utilities/utilities.test.ts | 2 +- .../utilities/workspace.test.ts | 4 +- test/unit-tests/MockUtils.test.ts | 9 +- test/unit-tests/commands/newSwiftFile.test.ts | 11 +- test/unit-tests/commands/openPackage.test.ts | 11 +- .../unit-tests/commands/runPluginTask.test.ts | 7 +- .../commands/runSwiftScript.test.ts | 13 +- .../commands/runTestMultipleTimes.test.ts | 4 +- .../commands/switchPlatform.test.ts | 25 +- test/unit-tests/debugger/debugAdapter.test.ts | 5 +- .../debugger/debugAdapterFactory.test.ts | 31 +- test/unit-tests/debugger/launch.test.ts | 13 +- test/unit-tests/debugger/lldb.test.ts | 17 +- .../LanguageClientManager.test.ts | 49 +-- .../sourcekit-lsp/uriConverters.test.ts | 2 +- .../tasks/SwiftPluginTaskProvider.test.ts | 15 +- .../tasks/SwiftTaskProvider.test.ts | 21 +- test/unit-tests/terminal.test.ts | 13 +- .../testexplorer/TestCodeLensProvider.test.ts | 11 +- test/unit-tests/toolchain/BuildFlags.test.ts | 11 +- .../toolchain/SelectedXcodeWatcher.test.ts | 17 +- .../toolchain/ToolchainVersion.test.ts | 2 +- test/unit-tests/toolchain/swiftly.test.ts | 11 +- test/unit-tests/toolchain/toolchain.test.ts | 9 +- .../ui/PackageDependencyProvider.test.ts | 5 +- test/unit-tests/ui/ReloadExtension.test.ts | 6 +- test/unit-tests/ui/SwiftBuildStatus.test.ts | 18 +- test/unit-tests/ui/ToolchainSelection.test.ts | 13 +- test/unit-tests/utilities/filesystem.test.ts | 6 +- test/unit-tests/utilities/shell.test.ts | 4 +- test/unit-tests/utilities/utilities.test.ts | 12 +- test/unit-tests/utilities/version.test.ts | 2 +- test/unit-tests/utilities/workspace.test.ts | 5 +- test/utilities/commands.ts | 2 +- test/utilities/debug.ts | 5 +- test/utilities/tasks.ts | 8 +- 219 files changed, 1199 insertions(+), 895 deletions(-) diff --git a/.prettierrc.json b/.prettierrc.json index 08ab77154..518940860 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -1,8 +1,14 @@ { + "plugins": ["@trivago/prettier-plugin-sort-imports"], + "endOfLine": "auto", "trailingComma": "es5", "printWidth": 100, "tabWidth": 4, "arrowParens": "avoid", + "importOrder": ["^@src/(.*)$", "^\\.(\\.)?/(.*)$"], + "importOrderSeparation": true, + "importOrderSortSpecifiers": true, + "importOrderSideEffects": false, "overrides": [ { "files": "*.json", diff --git a/package-lock.json b/package-lock.json index 41d5ca6d5..bbfff7484 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "zod": "^4.1.5" }, "devDependencies": { + "@trivago/prettier-plugin-sort-imports": "^5.2.2", "@types/archiver": "^6.0.3", "@types/chai": "^4.3.19", "@types/chai-as-promised": "^7.1.8", @@ -338,6 +339,43 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/generator": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", @@ -347,6 +385,70 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/parser": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz", + "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz", + "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.2", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", @@ -1010,6 +1112,17 @@ "node": ">=8" } }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", @@ -1020,16 +1133,18 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz", + "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -1889,6 +2004,41 @@ "node": ">= 10" } }, + "node_modules/@trivago/prettier-plugin-sort-imports": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@trivago/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-5.2.2.tgz", + "integrity": "sha512-fYDQA9e6yTNmA13TLVSA+WMQRc5Bn/c0EUBditUHNfMMxN7M82c38b1kEggVE3pLpZ0FwkwJkUEKMiOi52JXFA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/generator": "^7.26.5", + "@babel/parser": "^7.26.7", + "@babel/traverse": "^7.26.7", + "@babel/types": "^7.26.7", + "javascript-natural-sort": "^0.7.1", + "lodash": "^4.17.21" + }, + "engines": { + "node": ">18.12" + }, + "peerDependencies": { + "@vue/compiler-sfc": "3.x", + "prettier": "2.x - 3.x", + "prettier-plugin-svelte": "3.x", + "svelte": "4.x || 5.x" + }, + "peerDependenciesMeta": { + "@vue/compiler-sfc": { + "optional": true + }, + "prettier-plugin-svelte": { + "optional": true + }, + "svelte": { + "optional": true + } + } + }, "node_modules/@types/archiver": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-6.0.3.tgz", @@ -6628,6 +6778,13 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/javascript-natural-sort": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz", + "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==", + "dev": true, + "license": "MIT" + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -6653,6 +6810,19 @@ "dev": true, "license": "MIT" }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/json-parse-even-better-errors": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", @@ -11428,12 +11598,82 @@ "picocolors": "^1.1.1" } }, + "@babel/generator": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "dev": true, + "requires": { + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + } + }, + "@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true + }, + "@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true + }, "@babel/helper-validator-identifier": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true }, + "@babel/parser": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz", + "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==", + "dev": true, + "requires": { + "@babel/types": "^7.28.2" + } + }, + "@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + } + }, + "@babel/traverse": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz", + "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.2", + "debug": "^4.3.1" + } + }, + "@babel/types": { + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + } + }, "@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", @@ -11785,6 +12025,16 @@ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, + "@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, "@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", @@ -11792,15 +12042,15 @@ "dev": true }, "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz", + "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.1.0", @@ -12480,6 +12730,20 @@ "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true }, + "@trivago/prettier-plugin-sort-imports": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@trivago/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-5.2.2.tgz", + "integrity": "sha512-fYDQA9e6yTNmA13TLVSA+WMQRc5Bn/c0EUBditUHNfMMxN7M82c38b1kEggVE3pLpZ0FwkwJkUEKMiOi52JXFA==", + "dev": true, + "requires": { + "@babel/generator": "^7.26.5", + "@babel/parser": "^7.26.7", + "@babel/traverse": "^7.26.7", + "@babel/types": "^7.26.7", + "javascript-natural-sort": "^0.7.1", + "lodash": "^4.17.21" + } + }, "@types/archiver": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-6.0.3.tgz", @@ -15913,6 +16177,12 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "javascript-natural-sort": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz", + "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==", + "dev": true + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -15934,6 +16204,12 @@ "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", "dev": true }, + "jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true + }, "json-parse-even-better-errors": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", diff --git a/package.json b/package.json index 6021298ed..f598f0569 100644 --- a/package.json +++ b/package.json @@ -1986,6 +1986,7 @@ "**/*": "prettier --write --ignore-unknown" }, "devDependencies": { + "@trivago/prettier-plugin-sort-imports": "^5.2.2", "@types/archiver": "^6.0.3", "@types/chai": "^4.3.19", "@types/chai-as-promised": "^7.1.8", diff --git a/scripts/check_package_json.ts b/scripts/check_package_json.ts index 394708a67..e056449ad 100644 --- a/scripts/check_package_json.ts +++ b/scripts/check_package_json.ts @@ -12,7 +12,6 @@ // //===----------------------------------------------------------------------===// /* eslint-disable no-console */ - import { getExtensionVersion, main } from "./lib/utilities"; main(async () => { diff --git a/scripts/compile_icons.ts b/scripts/compile_icons.ts index f72f912ba..22a153fb9 100644 --- a/scripts/compile_icons.ts +++ b/scripts/compile_icons.ts @@ -12,14 +12,14 @@ // //===----------------------------------------------------------------------===// /* eslint-disable no-console */ - -import { mkdir, readdir, readFile, rm, writeFile } from "fs/promises"; -import * as path from "path"; import { FontAssetType, generateFonts } from "fantasticon"; import { CodepointsMap } from "fantasticon/lib/utils/codepoints"; +import { mkdir, readFile, readdir, rm, writeFile } from "fs/promises"; +import * as path from "path"; import * as svgo from "svgo"; -import { main, withTemporaryDirectory } from "./lib/utilities"; + import { config } from "../src/icons/config"; +import { main, withTemporaryDirectory } from "./lib/utilities"; /** * Minifies and colors the provided icon. diff --git a/scripts/dev_package.ts b/scripts/dev_package.ts index 4e8932af7..fdc4d678d 100644 --- a/scripts/dev_package.ts +++ b/scripts/dev_package.ts @@ -12,7 +12,6 @@ // //===----------------------------------------------------------------------===// /* eslint-disable no-console */ - import { getExtensionVersion, main, packageExtension } from "./lib/utilities"; main(async () => { diff --git a/scripts/download_vsix.ts b/scripts/download_vsix.ts index 1e03dbd2c..4b87d036f 100644 --- a/scripts/download_vsix.ts +++ b/scripts/download_vsix.ts @@ -12,12 +12,12 @@ // //===----------------------------------------------------------------------===// /* eslint-disable no-console */ - import decompress from "decompress"; import { createWriteStream } from "node:fs"; import { appendFile, unlink } from "node:fs/promises"; import { pipeline } from "node:stream/promises"; import { Octokit } from "octokit"; + import { main } from "./lib/utilities"; const artifact_id = process.env["VSCODE_SWIFT_VSIX_ID"]; diff --git a/scripts/lib/utilities.ts b/scripts/lib/utilities.ts index 244e04601..f0ad0c461 100644 --- a/scripts/lib/utilities.ts +++ b/scripts/lib/utilities.ts @@ -12,13 +12,12 @@ // //===----------------------------------------------------------------------===// /* eslint-disable no-console */ - import * as child_process from "child_process"; import { copyFile, mkdtemp, readFile, rm } from "fs/promises"; -import * as path from "path"; import * as os from "os"; -import * as semver from "semver"; +import * as path from "path"; import { replaceInFile } from "replace-in-file"; +import * as semver from "semver"; /** * Executes the provided main function for the script while logging any errors. diff --git a/scripts/package.ts b/scripts/package.ts index e6d6c3030..df118654b 100644 --- a/scripts/package.ts +++ b/scripts/package.ts @@ -12,7 +12,6 @@ // //===----------------------------------------------------------------------===// /* eslint-disable no-console */ - import { getExtensionVersion, main, packageExtension } from "./lib/utilities"; main(async () => { diff --git a/scripts/update_swift_docc_render.ts b/scripts/update_swift_docc_render.ts index d30ddc970..8ea6eb9af 100644 --- a/scripts/update_swift_docc_render.ts +++ b/scripts/update_swift_docc_render.ts @@ -12,11 +12,11 @@ // //===----------------------------------------------------------------------===// /* eslint-disable no-console */ - -import simpleGit, { ResetMode } from "simple-git"; -import { stat, mkdir, rm, readdir } from "fs/promises"; +import { mkdir, readdir, rm, stat } from "fs/promises"; import * as path from "path"; import * as semver from "semver"; +import simpleGit, { ResetMode } from "simple-git"; + import { exec, getRootDirectory, main, withTemporaryDirectory } from "./lib/utilities"; function checkNodeVersion() { diff --git a/src/BackgroundCompilation.ts b/src/BackgroundCompilation.ts index cc82a2e8c..12c9f57ed 100644 --- a/src/BackgroundCompilation.ts +++ b/src/BackgroundCompilation.ts @@ -11,15 +11,16 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; -import { getBuildAllTask } from "./tasks/SwiftTaskProvider"; -import configuration from "./configuration"; + import { FolderContext } from "./FolderContext"; +import configuration from "./configuration"; +import { getBuildAllTask } from "./tasks/SwiftTaskProvider"; import { TaskOperation } from "./tasks/TaskQueue"; +import { validFileTypes } from "./utilities/filesystem"; + // eslint-disable-next-line @typescript-eslint/no-require-imports import debounce = require("lodash.debounce"); -import { validFileTypes } from "./utilities/filesystem"; export class BackgroundCompilation implements vscode.Disposable { private workspaceFileWatcher?: vscode.FileSystemWatcher; diff --git a/src/DiagnosticsManager.ts b/src/DiagnosticsManager.ts index 11133c9b5..87b700482 100644 --- a/src/DiagnosticsManager.ts +++ b/src/DiagnosticsManager.ts @@ -11,17 +11,18 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as fs from "fs"; import * as path from "path"; -// eslint-disable-next-line @typescript-eslint/no-require-imports -import stripAnsi = require("strip-ansi"); +import * as vscode from "vscode"; + +import { WorkspaceContext } from "./WorkspaceContext"; import configuration from "./configuration"; import { SwiftExecution } from "./tasks/SwiftExecution"; -import { WorkspaceContext } from "./WorkspaceContext"; -import { checkIfBuildComplete, lineBreakRegex } from "./utilities/tasks"; import { validFileTypes } from "./utilities/filesystem"; +import { checkIfBuildComplete, lineBreakRegex } from "./utilities/tasks"; + +// eslint-disable-next-line @typescript-eslint/no-require-imports +import stripAnsi = require("strip-ansi"); interface ParsedDiagnostic { uri: string; diff --git a/src/FolderContext.ts b/src/FolderContext.ts index 8a8171df6..d5190a70c 100644 --- a/src/FolderContext.ts +++ b/src/FolderContext.ts @@ -11,22 +11,22 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as path from "path"; +import * as vscode from "vscode"; + +import { BackgroundCompilation } from "./BackgroundCompilation"; import { LinuxMain } from "./LinuxMain"; import { PackageWatcher } from "./PackageWatcher"; import { SwiftPackage, Target, TargetType } from "./SwiftPackage"; import { TestExplorer } from "./TestExplorer/TestExplorer"; import { TestRunManager } from "./TestExplorer/TestRunManager"; -import { WorkspaceContext, FolderOperation } from "./WorkspaceContext"; -import { BackgroundCompilation } from "./BackgroundCompilation"; +import { TestRunProxy } from "./TestExplorer/TestRunner"; +import { FolderOperation, WorkspaceContext } from "./WorkspaceContext"; +import { SwiftLogger } from "./logging/SwiftLogger"; import { TaskQueue } from "./tasks/TaskQueue"; -import { isPathInsidePath } from "./utilities/filesystem"; import { SwiftToolchain } from "./toolchain/toolchain"; -import { SwiftLogger } from "./logging/SwiftLogger"; -import { TestRunProxy } from "./TestExplorer/TestRunner"; import { showToolchainError } from "./ui/ToolchainSelection"; +import { isPathInsidePath } from "./utilities/filesystem"; export class FolderContext implements vscode.Disposable { public backgroundCompilation: BackgroundCompilation; diff --git a/src/LinuxMain.ts b/src/LinuxMain.ts index 06e6215e2..44d3b17b0 100644 --- a/src/LinuxMain.ts +++ b/src/LinuxMain.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { pathExists } from "./utilities/filesystem"; /** diff --git a/src/PackageWatcher.ts b/src/PackageWatcher.ts index 1626df428..96d18364a 100644 --- a/src/PackageWatcher.ts +++ b/src/PackageWatcher.ts @@ -11,17 +11,17 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as path from "path"; import * as fs from "fs/promises"; +import * as path from "path"; import * as vscode from "vscode"; + import { FolderContext } from "./FolderContext"; import { FolderOperation } from "./WorkspaceContext"; +import { SwiftLogger } from "./logging/SwiftLogger"; import { BuildFlags } from "./toolchain/BuildFlags"; -import { Version } from "./utilities/version"; -import { fileExists } from "./utilities/filesystem"; import { showReloadExtensionNotification } from "./ui/ReloadExtension"; -import { SwiftLogger } from "./logging/SwiftLogger"; +import { fileExists } from "./utilities/filesystem"; +import { Version } from "./utilities/version"; /** * Watches for changes to **Package.swift** and **Package.resolved**. diff --git a/src/SwiftPackage.ts b/src/SwiftPackage.ts index 1824ffe1e..d4b6c318a 100644 --- a/src/SwiftPackage.ts +++ b/src/SwiftPackage.ts @@ -11,16 +11,16 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as fs from "fs/promises"; import * as path from "path"; -import { execSwift, getErrorDescription, hashString } from "./utilities/utilities"; -import { isPathInsidePath } from "./utilities/filesystem"; -import { SwiftToolchain } from "./toolchain/toolchain"; +import * as vscode from "vscode"; + +import { SwiftLogger } from "./logging/SwiftLogger"; import { BuildFlags } from "./toolchain/BuildFlags"; +import { SwiftToolchain } from "./toolchain/toolchain"; +import { isPathInsidePath } from "./utilities/filesystem"; import { lineBreakRegex } from "./utilities/tasks"; -import { SwiftLogger } from "./logging/SwiftLogger"; +import { execSwift, getErrorDescription, hashString } from "./utilities/utilities"; /** Swift Package Manager contents */ interface PackageContents { @@ -75,9 +75,8 @@ export class PackageResolved { readonly version: number; constructor(fileContents: string) { - const json = JSON.parse(fileContents); - const version = <{ version: number }>json; - this.version = version.version; + const json = JSON.parse(fileContents) as { version: number }; + this.version = json.version; this.fileHash = hashString(fileContents); if (this.version === 1) { diff --git a/src/SwiftSnippets.ts b/src/SwiftSnippets.ts index 1e133b17a..8ad075ba9 100644 --- a/src/SwiftSnippets.ts +++ b/src/SwiftSnippets.ts @@ -11,12 +11,12 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as path from "path"; -import { createSwiftTask } from "./tasks/SwiftTaskProvider"; +import * as vscode from "vscode"; + import { WorkspaceContext } from "./WorkspaceContext"; import { createSnippetConfiguration, debugLaunchConfig } from "./debugger/launch"; +import { createSwiftTask } from "./tasks/SwiftTaskProvider"; import { TaskOperation } from "./tasks/TaskQueue"; /** diff --git a/src/TestExplorer/DocumentSymbolTestDiscovery.ts b/src/TestExplorer/DocumentSymbolTestDiscovery.ts index 15ff36e76..789bb77ba 100644 --- a/src/TestExplorer/DocumentSymbolTestDiscovery.ts +++ b/src/TestExplorer/DocumentSymbolTestDiscovery.ts @@ -11,10 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; -import { TestClass } from "./TestDiscovery"; + import { parseTestsFromSwiftTestListOutput } from "./SPMTestDiscovery"; +import { TestClass } from "./TestDiscovery"; export function parseTestsFromDocumentSymbols( target: string, diff --git a/src/TestExplorer/LSPTestDiscovery.ts b/src/TestExplorer/LSPTestDiscovery.ts index 4a6b5f903..a244d7a82 100644 --- a/src/TestExplorer/LSPTestDiscovery.ts +++ b/src/TestExplorer/LSPTestDiscovery.ts @@ -11,18 +11,18 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; -import * as TestDiscovery from "./TestDiscovery"; +import { LanguageClient } from "vscode-languageclient/node"; + +import { SwiftPackage } from "../SwiftPackage"; +import { checkExperimentalCapability } from "../sourcekit-lsp/LanguageClientManager"; +import { LanguageClientManager } from "../sourcekit-lsp/LanguageClientManager"; import { LSPTestItem, TextDocumentTestsRequest, WorkspaceTestsRequest, } from "../sourcekit-lsp/extensions"; -import { checkExperimentalCapability } from "../sourcekit-lsp/LanguageClientManager"; -import { SwiftPackage } from "../SwiftPackage"; -import { LanguageClientManager } from "../sourcekit-lsp/LanguageClientManager"; -import { LanguageClient } from "vscode-languageclient/node"; +import * as TestDiscovery from "./TestDiscovery"; /** * Used to augment test discovery via `swift test --list-tests`. diff --git a/src/TestExplorer/SPMTestDiscovery.ts b/src/TestExplorer/SPMTestDiscovery.ts index 8616e1910..cbc03d0f4 100644 --- a/src/TestExplorer/SPMTestDiscovery.ts +++ b/src/TestExplorer/SPMTestDiscovery.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { TestStyle } from "../sourcekit-lsp/extensions"; import { TestClass } from "./TestDiscovery"; diff --git a/src/TestExplorer/TestCodeLensProvider.ts b/src/TestExplorer/TestCodeLensProvider.ts index 3699ffe04..70440c8b9 100644 --- a/src/TestExplorer/TestCodeLensProvider.ts +++ b/src/TestExplorer/TestCodeLensProvider.ts @@ -11,11 +11,11 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + +import configuration, { ValidCodeLens } from "../configuration"; import { TestExplorer } from "./TestExplorer"; import { flattenTestItemCollection } from "./TestUtils"; -import configuration, { ValidCodeLens } from "../configuration"; export class TestCodeLensProvider implements vscode.CodeLensProvider, vscode.Disposable { private onDidChangeCodeLensesEmitter = new vscode.EventEmitter(); diff --git a/src/TestExplorer/TestDiscovery.ts b/src/TestExplorer/TestDiscovery.ts index 80d18011d..98dd2ed1d 100644 --- a/src/TestExplorer/TestDiscovery.ts +++ b/src/TestExplorer/TestDiscovery.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { SwiftPackage, TargetType } from "../SwiftPackage"; import { LSPTestItem } from "../sourcekit-lsp/extensions"; import { reduceTestItemChildren } from "./TestUtils"; diff --git a/src/TestExplorer/TestExplorer.ts b/src/TestExplorer/TestExplorer.ts index 66b55dcce..b17ad7cc9 100644 --- a/src/TestExplorer/TestExplorer.ts +++ b/src/TestExplorer/TestExplorer.ts @@ -11,25 +11,25 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; -import * as TestDiscovery from "./TestDiscovery"; + import { FolderContext } from "../FolderContext"; -import { compositeDisposable, getErrorDescription } from "../utilities/utilities"; +import { TargetType } from "../SwiftPackage"; import { FolderOperation, SwiftFileEvent, WorkspaceContext } from "../WorkspaceContext"; -import { TestRunProxy, TestRunner } from "./TestRunner"; -import { LSPTestDiscovery } from "./LSPTestDiscovery"; -import { Version } from "../utilities/version"; +import configuration from "../configuration"; +import { SwiftLogger } from "../logging/SwiftLogger"; import { buildOptions, getBuildAllTask } from "../tasks/SwiftTaskProvider"; +import { TaskManager } from "../tasks/TaskManager"; import { SwiftExecOperation, TaskOperation } from "../tasks/TaskQueue"; -import { TargetType } from "../SwiftPackage"; -import { parseTestsFromSwiftTestListOutput } from "./SPMTestDiscovery"; +import { compositeDisposable, getErrorDescription } from "../utilities/utilities"; +import { Version } from "../utilities/version"; import { parseTestsFromDocumentSymbols } from "./DocumentSymbolTestDiscovery"; -import { flattenTestItemCollection } from "./TestUtils"; +import { LSPTestDiscovery } from "./LSPTestDiscovery"; +import { parseTestsFromSwiftTestListOutput } from "./SPMTestDiscovery"; import { TestCodeLensProvider } from "./TestCodeLensProvider"; -import { SwiftLogger } from "../logging/SwiftLogger"; -import { TaskManager } from "../tasks/TaskManager"; -import configuration from "../configuration"; +import * as TestDiscovery from "./TestDiscovery"; +import { TestRunProxy, TestRunner } from "./TestRunner"; +import { flattenTestItemCollection } from "./TestUtils"; /** Build test explorer UI */ export class TestExplorer { diff --git a/src/TestExplorer/TestParsers/SwiftTestingOutputParser.ts b/src/TestExplorer/TestParsers/SwiftTestingOutputParser.ts index c241b1bfb..769c5bdf4 100644 --- a/src/TestExplorer/TestParsers/SwiftTestingOutputParser.ts +++ b/src/TestExplorer/TestParsers/SwiftTestingOutputParser.ts @@ -11,20 +11,20 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; +import { exec } from "child_process"; import * as readline from "readline"; import { Readable } from "stream"; +import * as vscode from "vscode"; + +import { lineBreakRegex } from "../../utilities/tasks"; +import { colorize, sourceLocationToVSCodeLocation } from "../../utilities/utilities"; +import { TestClass } from "../TestDiscovery"; import { INamedPipeReader, UnixNamedPipeReader, WindowsNamedPipeReader, } from "./TestEventStreamReader"; import { ITestRunState } from "./TestRunState"; -import { TestClass } from "../TestDiscovery"; -import { colorize, sourceLocationToVSCodeLocation } from "../../utilities/utilities"; -import { exec } from "child_process"; -import { lineBreakRegex } from "../../utilities/tasks"; // All events produced by a swift-testing run will be one of these three types. // Detailed information about swift-testing's JSON schema is available here: diff --git a/src/TestExplorer/TestParsers/TestEventStreamReader.ts b/src/TestExplorer/TestParsers/TestEventStreamReader.ts index 9278fb4b9..6a9c3b5ea 100644 --- a/src/TestExplorer/TestParsers/TestEventStreamReader.ts +++ b/src/TestExplorer/TestParsers/TestEventStreamReader.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as fs from "fs"; import * as net from "net"; import { Readable } from "stream"; diff --git a/src/TestExplorer/TestParsers/TestRunState.ts b/src/TestExplorer/TestParsers/TestRunState.ts index 61ffcfd57..cbcc0139e 100644 --- a/src/TestExplorer/TestParsers/TestRunState.ts +++ b/src/TestExplorer/TestParsers/TestRunState.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; /** diff --git a/src/TestExplorer/TestParsers/XCTestOutputParser.ts b/src/TestExplorer/TestParsers/XCTestOutputParser.ts index ee4be7ac4..f582645f9 100644 --- a/src/TestExplorer/TestParsers/XCTestOutputParser.ts +++ b/src/TestExplorer/TestParsers/XCTestOutputParser.ts @@ -11,13 +11,14 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// +import { Location, MarkdownString } from "vscode"; -import { ITestRunState, TestIssueDiff } from "./TestRunState"; +import { lineBreakRegex } from "../../utilities/tasks"; import { sourceLocationToVSCodeLocation } from "../../utilities/utilities"; -import { MarkdownString, Location } from "vscode"; +import { ITestRunState, TestIssueDiff } from "./TestRunState"; + // eslint-disable-next-line @typescript-eslint/no-require-imports import stripAnsi = require("strip-ansi"); -import { lineBreakRegex } from "../../utilities/tasks"; /** Regex for parsing XCTest output */ interface TestRegex { diff --git a/src/TestExplorer/TestRunArguments.ts b/src/TestExplorer/TestRunArguments.ts index 8ffa52b09..c92cbfcc9 100644 --- a/src/TestExplorer/TestRunArguments.ts +++ b/src/TestExplorer/TestRunArguments.ts @@ -11,10 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; -import { reduceTestItemChildren } from "./TestUtils"; + import { TestRunProxy } from "./TestRunner"; +import { reduceTestItemChildren } from "./TestUtils"; type ProcessResult = { testItems: vscode.TestItem[]; diff --git a/src/TestExplorer/TestRunManager.ts b/src/TestExplorer/TestRunManager.ts index 0e203394d..436dc253c 100644 --- a/src/TestExplorer/TestRunManager.ts +++ b/src/TestExplorer/TestRunManager.ts @@ -11,10 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; -import { TestRunProxy } from "./TestRunner"; + import { FolderContext } from "../FolderContext"; +import { TestRunProxy } from "./TestRunner"; /** * Manages active test runs and provides functionality to check if a test run is in progress diff --git a/src/TestExplorer/TestRunner.ts b/src/TestExplorer/TestRunner.ts index ccaaa621a..ae42eee5f 100644 --- a/src/TestExplorer/TestRunner.ts +++ b/src/TestExplorer/TestRunner.ts @@ -11,55 +11,56 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; +import * as asyncfs from "fs/promises"; +import * as os from "os"; import * as path from "path"; import * as stream from "stream"; -import * as os from "os"; -import * as asyncfs from "fs/promises"; +import * as vscode from "vscode"; + import { FolderContext } from "../FolderContext"; +import { WorkspaceContext } from "../WorkspaceContext"; +import configuration from "../configuration"; +import { TestCoverage } from "../coverage/LcovResults"; +import { + BuildConfigurationFactory, + SwiftTestingBuildAguments, + SwiftTestingConfigurationSetup, + TestingConfigurationFactory, +} from "../debugger/buildConfig"; +import { LoggingDebugAdapterTracker } from "../debugger/logTracker"; +import { createSwiftTask } from "../tasks/SwiftTaskProvider"; +import { TaskOperation } from "../tasks/TaskQueue"; +import { + CompositeCancellationToken, + CompositeCancellationTokenSource, +} from "../utilities/cancellation"; +import { packageName, resolveScope } from "../utilities/tasks"; +import { TemporaryFolder } from "../utilities/tempFolder"; import { + IS_RUNNING_UNDER_TEST, compactMap, execFile, getErrorDescription, - IS_RUNNING_UNDER_TEST, } from "../utilities/utilities"; -import { createSwiftTask } from "../tasks/SwiftTaskProvider"; -import configuration from "../configuration"; -import { WorkspaceContext } from "../WorkspaceContext"; -import { - IXCTestOutputParser, - ParallelXCTestOutputParser, - XCTestOutputParser, -} from "./TestParsers/XCTestOutputParser"; +import { TestClass, runnableTag, upsertTestItem } from "./TestDiscovery"; +import { TestKind, isDebugging, isRelease } from "./TestKind"; import { SwiftTestingOutputParser, SymbolRenderer, TestSymbol, } from "./TestParsers/SwiftTestingOutputParser"; -import { LoggingDebugAdapterTracker } from "../debugger/logTracker"; -import { TaskOperation } from "../tasks/TaskQueue"; -import { TestXUnitParser } from "./TestXUnitParser"; import { ITestRunState, TestIssueDiff } from "./TestParsers/TestRunState"; -import { TestRunArguments } from "./TestRunArguments"; -import { TemporaryFolder } from "../utilities/tempFolder"; -import { TestClass, runnableTag, upsertTestItem } from "./TestDiscovery"; -import { TestCoverage } from "../coverage/LcovResults"; import { - BuildConfigurationFactory, - SwiftTestingBuildAguments, - SwiftTestingConfigurationSetup, - TestingConfigurationFactory, -} from "../debugger/buildConfig"; -import { TestKind, isDebugging, isRelease } from "./TestKind"; + IXCTestOutputParser, + ParallelXCTestOutputParser, + XCTestOutputParser, +} from "./TestParsers/XCTestOutputParser"; +import { TestRunArguments } from "./TestRunArguments"; import { reduceTestItemChildren } from "./TestUtils"; -import { - CompositeCancellationToken, - CompositeCancellationTokenSource, -} from "../utilities/cancellation"; +import { TestXUnitParser } from "./TestXUnitParser"; + // eslint-disable-next-line @typescript-eslint/no-require-imports import stripAnsi = require("strip-ansi"); -import { packageName, resolveScope } from "../utilities/tasks"; export enum TestLibrary { xctest = "XCTest", diff --git a/src/TestExplorer/TestUtils.ts b/src/TestExplorer/TestUtils.ts index a8974847b..5abe0f63e 100644 --- a/src/TestExplorer/TestUtils.ts +++ b/src/TestExplorer/TestUtils.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; /** diff --git a/src/TestExplorer/TestXUnitParser.ts b/src/TestExplorer/TestXUnitParser.ts index efbd27253..f464b8af6 100644 --- a/src/TestExplorer/TestXUnitParser.ts +++ b/src/TestExplorer/TestXUnitParser.ts @@ -11,10 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as xml2js from "xml2js"; -import { ITestRunState } from "./TestParsers/TestRunState"; + import { SwiftLogger } from "../logging/SwiftLogger"; +import { ITestRunState } from "./TestParsers/TestRunState"; export interface TestResults { tests: number; diff --git a/src/WorkspaceContext.ts b/src/WorkspaceContext.ts index 4d3184757..a4ba93909 100644 --- a/src/WorkspaceContext.ts +++ b/src/WorkspaceContext.ts @@ -11,33 +11,33 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as path from "path"; +import * as vscode from "vscode"; + +import { DiagnosticsManager } from "./DiagnosticsManager"; import { FolderContext } from "./FolderContext"; -import { StatusItem } from "./ui/StatusItem"; -import { swiftLibraryPathKey } from "./utilities/utilities"; -import { isExcluded, isPathInsidePath } from "./utilities/filesystem"; -import { LanguageClientToolchainCoordinator } from "./sourcekit-lsp/LanguageClientToolchainCoordinator"; -import { TaskManager } from "./tasks/TaskManager"; -import { makeDebugConfigurations } from "./debugger/launch"; +import { setSnippetContextKey } from "./SwiftSnippets"; +import { TestKind } from "./TestExplorer/TestKind"; +import { TestRunManager } from "./TestExplorer/TestRunManager"; import configuration from "./configuration"; import { ContextKeys } from "./contextKeys"; -import { setSnippetContextKey } from "./SwiftSnippets"; -import { CommentCompletionProviders } from "./editor/CommentCompletion"; -import { SwiftBuildStatus } from "./ui/SwiftBuildStatus"; -import { SwiftToolchain } from "./toolchain/toolchain"; -import { DiagnosticsManager } from "./DiagnosticsManager"; +import { LLDBDebugConfigurationProvider } from "./debugger/debugAdapterFactory"; +import { makeDebugConfigurations } from "./debugger/launch"; import { DocumentationManager } from "./documentation/DocumentationManager"; +import { CommentCompletionProviders } from "./editor/CommentCompletion"; +import { SwiftLogger } from "./logging/SwiftLogger"; +import { SwiftLoggerFactory } from "./logging/SwiftLoggerFactory"; +import { LanguageClientToolchainCoordinator } from "./sourcekit-lsp/LanguageClientToolchainCoordinator"; import { DocCDocumentationRequest, ReIndexProjectRequest } from "./sourcekit-lsp/extensions"; -import { TestKind } from "./TestExplorer/TestKind"; -import { isValidWorkspaceFolder, searchForPackages } from "./utilities/workspace"; import { SwiftPluginTaskProvider } from "./tasks/SwiftPluginTaskProvider"; import { SwiftTaskProvider } from "./tasks/SwiftTaskProvider"; -import { LLDBDebugConfigurationProvider } from "./debugger/debugAdapterFactory"; -import { SwiftLogger } from "./logging/SwiftLogger"; -import { SwiftLoggerFactory } from "./logging/SwiftLoggerFactory"; -import { TestRunManager } from "./TestExplorer/TestRunManager"; +import { TaskManager } from "./tasks/TaskManager"; +import { SwiftToolchain } from "./toolchain/toolchain"; +import { StatusItem } from "./ui/StatusItem"; +import { SwiftBuildStatus } from "./ui/SwiftBuildStatus"; +import { isExcluded, isPathInsidePath } from "./utilities/filesystem"; +import { swiftLibraryPathKey } from "./utilities/utilities"; +import { isValidWorkspaceFolder, searchForPackages } from "./utilities/workspace"; /** * Context for whole workspace. Holds array of contexts for each workspace folder diff --git a/src/commands.ts b/src/commands.ts index 02576ff94..76f713a1d 100644 --- a/src/commands.ts +++ b/src/commands.ts @@ -11,50 +11,50 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as path from "path"; import * as vscode from "vscode"; -import { WorkspaceContext } from "./WorkspaceContext"; -import { PackageNode } from "./ui/ProjectPanelProvider"; -import { SwiftToolchain } from "./toolchain/toolchain"; + import { debugSnippet, runSnippet } from "./SwiftSnippets"; -import { showToolchainSelectionQuickPick } from "./ui/ToolchainSelection"; -import { captureDiagnostics } from "./commands/captureDiagnostics"; +import { TestKind } from "./TestExplorer/TestKind"; +import { WorkspaceContext } from "./WorkspaceContext"; import { attachDebugger } from "./commands/attachDebugger"; -import { reindexProject } from "./commands/reindexProject"; import { cleanBuild, debugBuild, runBuild } from "./commands/build"; -import { runSwiftScript } from "./commands/runSwiftScript"; -import { useLocalDependency } from "./commands/dependencies/useLocal"; +import { captureDiagnostics } from "./commands/captureDiagnostics"; +import { createNewProject } from "./commands/createNewProject"; import { editDependency } from "./commands/dependencies/edit"; +import { resolveDependencies } from "./commands/dependencies/resolve"; import { uneditDependency } from "./commands/dependencies/unedit"; -import { openInWorkspace } from "./commands/openInWorkspace"; -import { openInExternalEditor } from "./commands/openInExternalEditor"; -import { switchPlatform } from "./commands/switchPlatform"; +import { updateDependencies } from "./commands/dependencies/update"; +import { updateDependenciesViewList } from "./commands/dependencies/updateDepViewList"; +import { useLocalDependency } from "./commands/dependencies/useLocal"; +import { generateLaunchConfigurations } from "./commands/generateLaunchConfigurations"; +import { generateSourcekitConfiguration } from "./commands/generateSourcekitConfiguration"; import { insertFunctionComment } from "./commands/insertFunctionComment"; -import { createNewProject } from "./commands/createNewProject"; +import { + installSwiftlySnapshotToolchain, + installSwiftlyToolchain, +} from "./commands/installSwiftlyToolchain"; +import { newSwiftFile } from "./commands/newFile"; +import { openDocumentation } from "./commands/openDocumentation"; import { openEducationalNote } from "./commands/openEducationalNote"; +import { openInExternalEditor } from "./commands/openInExternalEditor"; +import { openInWorkspace } from "./commands/openInWorkspace"; import { openPackage } from "./commands/openPackage"; -import { resolveDependencies } from "./commands/dependencies/resolve"; +import { pickProcess } from "./commands/pickProcess"; +import { reindexProject } from "./commands/reindexProject"; import { resetPackage } from "./commands/resetPackage"; -import { updateDependencies } from "./commands/dependencies/update"; -import { runPluginTask } from "./commands/runPluginTask"; -import { extractTestItemsAndCount, runTestMultipleTimes } from "./commands/testMultipleTimes"; -import { newSwiftFile } from "./commands/newFile"; +import restartLSPServer from "./commands/restartLSPServer"; import { runAllTests } from "./commands/runAllTests"; -import { updateDependenciesViewList } from "./commands/dependencies/updateDepViewList"; +import { runPluginTask } from "./commands/runPluginTask"; +import { runSwiftScript } from "./commands/runSwiftScript"; import { runTask } from "./commands/runTask"; -import { TestKind } from "./TestExplorer/TestKind"; -import { pickProcess } from "./commands/pickProcess"; -import { openDocumentation } from "./commands/openDocumentation"; -import restartLSPServer from "./commands/restartLSPServer"; -import { generateLaunchConfigurations } from "./commands/generateLaunchConfigurations"; import { runTest } from "./commands/runTest"; -import { generateSourcekitConfiguration } from "./commands/generateSourcekitConfiguration"; +import { switchPlatform } from "./commands/switchPlatform"; +import { extractTestItemsAndCount, runTestMultipleTimes } from "./commands/testMultipleTimes"; import { SwiftLogger } from "./logging/SwiftLogger"; -import { - installSwiftlyToolchain, - installSwiftlySnapshotToolchain, -} from "./commands/installSwiftlyToolchain"; +import { SwiftToolchain } from "./toolchain/toolchain"; +import { PackageNode } from "./ui/ProjectPanelProvider"; +import { showToolchainSelectionQuickPick } from "./ui/ToolchainSelection"; /** * References: diff --git a/src/commands/attachDebugger.ts b/src/commands/attachDebugger.ts index 558910015..a145e8c37 100644 --- a/src/commands/attachDebugger.ts +++ b/src/commands/attachDebugger.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { SWIFT_LAUNCH_CONFIG_TYPE } from "../debugger/debugAdapter"; /** diff --git a/src/commands/build.ts b/src/commands/build.ts index e88a496bb..0708884b6 100644 --- a/src/commands/build.ts +++ b/src/commands/build.ts @@ -11,15 +11,15 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; -import { WorkspaceContext } from "../WorkspaceContext"; -import { createSwiftTask, SwiftTaskProvider } from "../tasks/SwiftTaskProvider"; -import { debugLaunchConfig, getLaunchConfiguration } from "../debugger/launch"; -import { executeTaskWithUI } from "./utilities"; + import { FolderContext } from "../FolderContext"; import { Target } from "../SwiftPackage"; +import { WorkspaceContext } from "../WorkspaceContext"; +import { debugLaunchConfig, getLaunchConfiguration } from "../debugger/launch"; +import { SwiftTaskProvider, createSwiftTask } from "../tasks/SwiftTaskProvider"; import { packageName } from "../utilities/tasks"; +import { executeTaskWithUI } from "./utilities"; /** * Executes a {@link vscode.Task task} to run swift target. diff --git a/src/commands/captureDiagnostics.ts b/src/commands/captureDiagnostics.ts index 4489c557c..5f31e66c2 100644 --- a/src/commands/captureDiagnostics.ts +++ b/src/commands/captureDiagnostics.ts @@ -11,22 +11,22 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as archiver from "archiver"; +import { exec } from "child_process"; import * as fs from "fs"; import * as fsPromises from "fs/promises"; -import * as path from "path"; -import * as vscode from "vscode"; import { tmpdir } from "os"; -import { exec } from "child_process"; +import * as path from "path"; import { Writable } from "stream"; +import * as vscode from "vscode"; + +import { FolderContext } from "../FolderContext"; import { WorkspaceContext } from "../WorkspaceContext"; -import { Version } from "../utilities/version"; -import { destructuredPromise, execFileStreamOutput } from "../utilities/utilities"; import configuration from "../configuration"; -import { FolderContext } from "../FolderContext"; -import { Extension } from "../utilities/extensions"; import { DebugAdapter } from "../debugger/debugAdapter"; +import { Extension } from "../utilities/extensions"; +import { destructuredPromise, execFileStreamOutput } from "../utilities/utilities"; +import { Version } from "../utilities/version"; export async function captureDiagnostics( ctx: WorkspaceContext, diff --git a/src/commands/createNewProject.ts b/src/commands/createNewProject.ts index 016bd346d..8cd6f9b7e 100644 --- a/src/commands/createNewProject.ts +++ b/src/commands/createNewProject.ts @@ -11,11 +11,11 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as fs from "fs/promises"; +import * as vscode from "vscode"; + import configuration from "../configuration"; -import { SwiftToolchain, SwiftProjectTemplate } from "../toolchain/toolchain"; +import { SwiftProjectTemplate, SwiftToolchain } from "../toolchain/toolchain"; import { showToolchainError } from "../ui/ToolchainSelection"; import { withDelayedProgress } from "../ui/withDelayedProgress"; import { execSwift } from "../utilities/utilities"; diff --git a/src/commands/dependencies/edit.ts b/src/commands/dependencies/edit.ts index 376ec3dc3..0051164a2 100644 --- a/src/commands/dependencies/edit.ts +++ b/src/commands/dependencies/edit.ts @@ -11,13 +11,13 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; -import { createSwiftTask } from "../../tasks/SwiftTaskProvider"; + +import { FolderContext } from "../../FolderContext"; import { FolderOperation, WorkspaceContext } from "../../WorkspaceContext"; -import { executeTaskWithUI } from "../utilities"; +import { createSwiftTask } from "../../tasks/SwiftTaskProvider"; import { packageName } from "../../utilities/tasks"; -import { FolderContext } from "../../FolderContext"; +import { executeTaskWithUI } from "../utilities"; /** * Setup package dependency to be edited diff --git a/src/commands/dependencies/resolve.ts b/src/commands/dependencies/resolve.ts index 45e13bbbb..e2d28f7a9 100644 --- a/src/commands/dependencies/resolve.ts +++ b/src/commands/dependencies/resolve.ts @@ -11,13 +11,13 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { FolderContext } from "../../FolderContext"; -import { createSwiftTask, SwiftTaskProvider } from "../../tasks/SwiftTaskProvider"; import { WorkspaceContext } from "../../WorkspaceContext"; -import { executeTaskWithUI, updateAfterError } from "../utilities"; +import { SwiftTaskProvider, createSwiftTask } from "../../tasks/SwiftTaskProvider"; import { packageName } from "../../utilities/tasks"; +import { executeTaskWithUI, updateAfterError } from "../utilities"; /** * Executes a {@link vscode.Task task} to resolve this package's dependencies. diff --git a/src/commands/dependencies/unedit.ts b/src/commands/dependencies/unedit.ts index f254298b6..346029737 100644 --- a/src/commands/dependencies/unedit.ts +++ b/src/commands/dependencies/unedit.ts @@ -11,12 +11,12 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as fs from "fs/promises"; +import * as vscode from "vscode"; + +import { FolderContext } from "../../FolderContext"; import { FolderOperation, WorkspaceContext } from "../../WorkspaceContext"; import { SwiftExecOperation } from "../../tasks/TaskQueue"; -import { FolderContext } from "../../FolderContext"; /** * Stop local editing of package dependency diff --git a/src/commands/dependencies/update.ts b/src/commands/dependencies/update.ts index 86325ce4b..3a5c4ef45 100644 --- a/src/commands/dependencies/update.ts +++ b/src/commands/dependencies/update.ts @@ -11,13 +11,13 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { FolderContext } from "../../FolderContext"; import { WorkspaceContext } from "../../WorkspaceContext"; -import { createSwiftTask, SwiftTaskProvider } from "../../tasks/SwiftTaskProvider"; -import { executeTaskWithUI, updateAfterError } from "./../utilities"; +import { SwiftTaskProvider, createSwiftTask } from "../../tasks/SwiftTaskProvider"; import { packageName } from "../../utilities/tasks"; +import { executeTaskWithUI, updateAfterError } from "./../utilities"; /** * Executes a {@link vscode.Task task} to update this package's dependencies. diff --git a/src/commands/dependencies/updateDepViewList.ts b/src/commands/dependencies/updateDepViewList.ts index 0cb0d566c..f925113ff 100644 --- a/src/commands/dependencies/updateDepViewList.ts +++ b/src/commands/dependencies/updateDepViewList.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { FolderOperation, WorkspaceContext } from "../../WorkspaceContext"; export function updateDependenciesViewList(ctx: WorkspaceContext, flatList: boolean) { diff --git a/src/commands/dependencies/useLocal.ts b/src/commands/dependencies/useLocal.ts index d4256d203..f69543f97 100644 --- a/src/commands/dependencies/useLocal.ts +++ b/src/commands/dependencies/useLocal.ts @@ -11,12 +11,12 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { FolderOperation, WorkspaceContext } from "../../WorkspaceContext"; import { createSwiftTask } from "../../tasks/SwiftTaskProvider"; -import { executeTaskWithUI } from "../utilities"; import { packageName } from "../../utilities/tasks"; +import { executeTaskWithUI } from "../utilities"; /** * Use local version of package dependency diff --git a/src/commands/generateLaunchConfigurations.ts b/src/commands/generateLaunchConfigurations.ts index 59313d810..ee7ad9269 100644 --- a/src/commands/generateLaunchConfigurations.ts +++ b/src/commands/generateLaunchConfigurations.ts @@ -11,11 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import { makeDebugConfigurations } from "../debugger/launch"; import { FolderContext } from "../FolderContext"; -import { selectFolder } from "../ui/SelectFolderQuickPick"; import { WorkspaceContext } from "../WorkspaceContext"; +import { makeDebugConfigurations } from "../debugger/launch"; +import { selectFolder } from "../ui/SelectFolderQuickPick"; export async function generateLaunchConfigurations(ctx: WorkspaceContext): Promise { if (ctx.folders.length === 0) { diff --git a/src/commands/generateSourcekitConfiguration.ts b/src/commands/generateSourcekitConfiguration.ts index 6df83e001..8ea269d29 100644 --- a/src/commands/generateSourcekitConfiguration.ts +++ b/src/commands/generateSourcekitConfiguration.ts @@ -11,13 +11,13 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { basename, dirname, join } from "path"; import * as vscode from "vscode"; + import { FolderContext } from "../FolderContext"; -import { selectFolder } from "../ui/SelectFolderQuickPick"; import { WorkspaceContext } from "../WorkspaceContext"; import configuration from "../configuration"; +import { selectFolder } from "../ui/SelectFolderQuickPick"; import restartLSPServer from "./restartLSPServer"; export const sourcekitDotFolder: string = ".sourcekit-lsp"; diff --git a/src/commands/insertFunctionComment.ts b/src/commands/insertFunctionComment.ts index 8e2614440..2bb7bde59 100644 --- a/src/commands/insertFunctionComment.ts +++ b/src/commands/insertFunctionComment.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { WorkspaceContext } from "../WorkspaceContext"; /** diff --git a/src/commands/installSwiftlyToolchain.ts b/src/commands/installSwiftlyToolchain.ts index efdf99d1e..929d8aab9 100644 --- a/src/commands/installSwiftlyToolchain.ts +++ b/src/commands/installSwiftlyToolchain.ts @@ -11,16 +11,16 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; import { QuickPickItem } from "vscode"; + import { WorkspaceContext } from "../WorkspaceContext"; import { AvailableToolchain, - isSnapshotVersion, - isStableVersion, Swiftly, SwiftlyProgressData, + isSnapshotVersion, + isStableVersion, } from "../toolchain/swiftly"; import { showReloadExtensionNotification } from "../ui/ReloadExtension"; diff --git a/src/commands/newFile.ts b/src/commands/newFile.ts index 69af38926..19a97b3a6 100644 --- a/src/commands/newFile.ts +++ b/src/commands/newFile.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as fs from "fs/promises"; import * as path from "path"; import * as vscode from "vscode"; diff --git a/src/commands/openDocumentation.ts b/src/commands/openDocumentation.ts index 7a8fa9d75..09bf1b830 100644 --- a/src/commands/openDocumentation.ts +++ b/src/commands/openDocumentation.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; /** diff --git a/src/commands/openEducationalNote.ts b/src/commands/openEducationalNote.ts index 9f5e75b91..10543ad53 100644 --- a/src/commands/openEducationalNote.ts +++ b/src/commands/openEducationalNote.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; /** diff --git a/src/commands/openInExternalEditor.ts b/src/commands/openInExternalEditor.ts index 5137dc534..8c0479532 100644 --- a/src/commands/openInExternalEditor.ts +++ b/src/commands/openInExternalEditor.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { PackageNode } from "../ui/ProjectPanelProvider"; /** diff --git a/src/commands/openInWorkspace.ts b/src/commands/openInWorkspace.ts index dda3903c0..0281a9053 100644 --- a/src/commands/openInWorkspace.ts +++ b/src/commands/openInWorkspace.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { PackageNode } from "../ui/ProjectPanelProvider"; /** diff --git a/src/commands/openPackage.ts b/src/commands/openPackage.ts index c6c25aef7..316af8742 100644 --- a/src/commands/openPackage.ts +++ b/src/commands/openPackage.ts @@ -11,10 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; -import { Version } from "../utilities/version"; + import { fileExists } from "../utilities/filesystem"; +import { Version } from "../utilities/version"; /** * Open Package.swift for in focus project. If there is a version specific manifest that diff --git a/src/commands/pickProcess.ts b/src/commands/pickProcess.ts index e18e8b791..3682e9342 100644 --- a/src/commands/pickProcess.ts +++ b/src/commands/pickProcess.ts @@ -11,9 +11,9 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as path from "path"; import * as vscode from "vscode"; + import { createProcessList } from "../process-list"; interface ProcessQuickPick extends vscode.QuickPickItem { diff --git a/src/commands/reindexProject.ts b/src/commands/reindexProject.ts index fa5ddc58a..4ea174bfe 100644 --- a/src/commands/reindexProject.ts +++ b/src/commands/reindexProject.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { WorkspaceContext } from "../WorkspaceContext"; import { ReIndexProjectRequest } from "../sourcekit-lsp/extensions"; diff --git a/src/commands/resetPackage.ts b/src/commands/resetPackage.ts index 8be64ee74..1bccb02b3 100644 --- a/src/commands/resetPackage.ts +++ b/src/commands/resetPackage.ts @@ -11,13 +11,13 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { FolderContext } from "../FolderContext"; -import { createSwiftTask, SwiftTaskProvider } from "../tasks/SwiftTaskProvider"; import { WorkspaceContext } from "../WorkspaceContext"; -import { executeTaskWithUI } from "./utilities"; +import { SwiftTaskProvider, createSwiftTask } from "../tasks/SwiftTaskProvider"; import { packageName } from "../utilities/tasks"; +import { executeTaskWithUI } from "./utilities"; /** * Executes a {@link vscode.Task task} to reset the complete cache/build directory. diff --git a/src/commands/restartLSPServer.ts b/src/commands/restartLSPServer.ts index 3284d9af7..b401e14e2 100644 --- a/src/commands/restartLSPServer.ts +++ b/src/commands/restartLSPServer.ts @@ -11,10 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; -import { WorkspaceContext } from "../WorkspaceContext"; + import { FolderContext } from "../FolderContext"; +import { WorkspaceContext } from "../WorkspaceContext"; /** * Restart the sourcekit-lsp server. If multiple sourcekit-lsp instances diff --git a/src/commands/runAllTests.ts b/src/commands/runAllTests.ts index f629417ad..122b58015 100644 --- a/src/commands/runAllTests.ts +++ b/src/commands/runAllTests.ts @@ -11,11 +11,11 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { TestKind } from "../TestExplorer/TestKind"; -import { WorkspaceContext } from "../WorkspaceContext"; import { flattenTestItemCollection } from "../TestExplorer/TestUtils"; +import { WorkspaceContext } from "../WorkspaceContext"; export async function runAllTests(ctx: WorkspaceContext, testKind: TestKind, target?: string) { const testExplorer = ctx.currentFolder?.testExplorer; diff --git a/src/commands/runPluginTask.ts b/src/commands/runPluginTask.ts index 8318dc0fa..cfe898904 100644 --- a/src/commands/runPluginTask.ts +++ b/src/commands/runPluginTask.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; export async function runPluginTask() { diff --git a/src/commands/runSwiftScript.ts b/src/commands/runSwiftScript.ts index 009d5c6b8..0f66ee7c9 100644 --- a/src/commands/runSwiftScript.ts +++ b/src/commands/runSwiftScript.ts @@ -11,15 +11,15 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; -import * as path from "path"; import * as fs from "fs/promises"; +import * as path from "path"; +import * as vscode from "vscode"; + import configuration from "../configuration"; import { createSwiftTask } from "../tasks/SwiftTaskProvider"; -import { TemporaryFolder } from "../utilities/tempFolder"; import { TaskManager } from "../tasks/TaskManager"; import { SwiftToolchain } from "../toolchain/toolchain"; +import { TemporaryFolder } from "../utilities/tempFolder"; /** * Runs the Swift code in the supplied document. diff --git a/src/commands/runTask.ts b/src/commands/runTask.ts index 5f3e03281..e74e5bd73 100644 --- a/src/commands/runTask.ts +++ b/src/commands/runTask.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { WorkspaceContext } from "../WorkspaceContext"; import { TaskOperation } from "../tasks/TaskQueue"; diff --git a/src/commands/runTest.ts b/src/commands/runTest.ts index 9b90cdd06..2521c57f3 100644 --- a/src/commands/runTest.ts +++ b/src/commands/runTest.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { TestKind } from "../TestExplorer/TestKind"; import { WorkspaceContext } from "../WorkspaceContext"; diff --git a/src/commands/switchPlatform.ts b/src/commands/switchPlatform.ts index 8bc1cfea7..da067832c 100644 --- a/src/commands/switchPlatform.ts +++ b/src/commands/switchPlatform.ts @@ -11,15 +11,15 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + +import { WorkspaceContext } from "../WorkspaceContext"; +import configuration from "../configuration"; import { DarwinCompatibleTarget, SwiftToolchain, getDarwinTargetTriple, } from "../toolchain/toolchain"; -import configuration from "../configuration"; -import { WorkspaceContext } from "../WorkspaceContext"; /** * Switches the appropriate SDK setting to the platform selected in a QuickPick UI. diff --git a/src/commands/testMultipleTimes.ts b/src/commands/testMultipleTimes.ts index 9986e0638..c3c62b6e5 100644 --- a/src/commands/testMultipleTimes.ts +++ b/src/commands/testMultipleTimes.ts @@ -11,11 +11,11 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; -import { isDebugging, TestKind } from "../TestExplorer/TestKind"; -import { TestRunner, TestRunnerTestRunState, TestRunState } from "../TestExplorer/TestRunner"; + import { FolderContext } from "../FolderContext"; +import { TestKind, isDebugging } from "../TestExplorer/TestKind"; +import { TestRunState, TestRunner, TestRunnerTestRunState } from "../TestExplorer/TestRunner"; import { colorize } from "../utilities/utilities"; /** diff --git a/src/commands/utilities.ts b/src/commands/utilities.ts index 1131ca0c2..155820acb 100644 --- a/src/commands/utilities.ts +++ b/src/commands/utilities.ts @@ -11,11 +11,11 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { FolderContext } from "../FolderContext"; -import { TaskOperation } from "../tasks/TaskQueue"; import { FolderOperation } from "../WorkspaceContext"; +import { TaskOperation } from "../tasks/TaskQueue"; /** * Execute task and show UI while running. diff --git a/src/configuration.ts b/src/configuration.ts index 145435980..00c24b298 100644 --- a/src/configuration.ts +++ b/src/configuration.ts @@ -11,12 +11,12 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as os from "os"; import * as path from "path"; -import { showReloadExtensionNotification } from "./ui/ReloadExtension"; +import * as vscode from "vscode"; + import { WorkspaceContext } from "./WorkspaceContext"; +import { showReloadExtensionNotification } from "./ui/ReloadExtension"; export type DebugAdapters = "auto" | "lldb-dap" | "CodeLLDB"; export type SetupCodeLLDBOptions = diff --git a/src/contextKeys.ts b/src/contextKeys.ts index 8d7160a5c..c6be7ccd1 100644 --- a/src/contextKeys.ts +++ b/src/contextKeys.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { Version } from "./utilities/version"; /** diff --git a/src/debugger/buildConfig.ts b/src/debugger/buildConfig.ts index f51ab39d3..e326c84b2 100644 --- a/src/debugger/buildConfig.ts +++ b/src/debugger/buildConfig.ts @@ -11,24 +11,24 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - +import * as fs from "fs/promises"; import * as os from "os"; import * as path from "path"; import * as vscode from "vscode"; -import * as fs from "fs/promises"; -import configuration from "../configuration"; + import { FolderContext } from "../FolderContext"; -import { BuildFlags } from "../toolchain/BuildFlags"; -import { regexEscapedString, swiftRuntimeEnv } from "../utilities/utilities"; -import { SWIFT_LAUNCH_CONFIG_TYPE } from "./debugAdapter"; import { TargetType } from "../SwiftPackage"; -import { Version } from "../utilities/version"; -import { TestLibrary } from "../TestExplorer/TestRunner"; import { TestKind, isDebugging, isRelease } from "../TestExplorer/TestKind"; +import { TestLibrary } from "../TestExplorer/TestRunner"; +import configuration from "../configuration"; +import { SwiftLogger } from "../logging/SwiftLogger"; import { buildOptions } from "../tasks/SwiftTaskProvider"; -import { updateLaunchConfigForCI } from "./lldb"; +import { BuildFlags } from "../toolchain/BuildFlags"; import { packageName } from "../utilities/tasks"; -import { SwiftLogger } from "../logging/SwiftLogger"; +import { regexEscapedString, swiftRuntimeEnv } from "../utilities/utilities"; +import { Version } from "../utilities/version"; +import { SWIFT_LAUNCH_CONFIG_TYPE } from "./debugAdapter"; +import { updateLaunchConfigForCI } from "./lldb"; export class BuildConfigurationFactory { public static buildAll( diff --git a/src/debugger/debugAdapter.ts b/src/debugger/debugAdapter.ts index fdaa7b03d..1863352c6 100644 --- a/src/debugger/debugAdapter.ts +++ b/src/debugger/debugAdapter.ts @@ -11,10 +11,9 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import configuration from "../configuration"; -import { Version } from "../utilities/version"; import { SwiftToolchain } from "../toolchain/toolchain"; +import { Version } from "../utilities/version"; /** * The launch configuration type added by the Swift extension that will delegate to the appropriate diff --git a/src/debugger/debugAdapterFactory.ts b/src/debugger/debugAdapterFactory.ts index 28abb7cde..7fdc0d0af 100644 --- a/src/debugger/debugAdapterFactory.ts +++ b/src/debugger/debugAdapterFactory.ts @@ -11,18 +11,18 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as path from "path"; +import * as vscode from "vscode"; + import { WorkspaceContext } from "../WorkspaceContext"; -import { DebugAdapter, LaunchConfigType, SWIFT_LAUNCH_CONFIG_TYPE } from "./debugAdapter"; -import { registerLoggingDebugAdapterTracker } from "./logTracker"; +import configuration from "../configuration"; +import { SwiftLogger } from "../logging/SwiftLogger"; import { SwiftToolchain } from "../toolchain/toolchain"; import { fileExists } from "../utilities/filesystem"; -import { updateLaunchConfigForCI, getLLDBLibPath } from "./lldb"; import { getErrorDescription, swiftRuntimeEnv } from "../utilities/utilities"; -import configuration from "../configuration"; -import { SwiftLogger } from "../logging/SwiftLogger"; +import { DebugAdapter, LaunchConfigType, SWIFT_LAUNCH_CONFIG_TYPE } from "./debugAdapter"; +import { getLLDBLibPath, updateLaunchConfigForCI } from "./lldb"; +import { registerLoggingDebugAdapterTracker } from "./logTracker"; /** * Registers the active debugger with the extension, and reregisters it diff --git a/src/debugger/launch.ts b/src/debugger/launch.ts index b1760609e..b0a2603ba 100644 --- a/src/debugger/launch.ts +++ b/src/debugger/launch.ts @@ -11,16 +11,16 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as path from "path"; -import * as vscode from "vscode"; import { isDeepStrictEqual } from "util"; +import * as vscode from "vscode"; + import { FolderContext } from "../FolderContext"; +import configuration from "../configuration"; import { BuildFlags } from "../toolchain/BuildFlags"; import { stringArrayInEnglish } from "../utilities/utilities"; -import { SWIFT_LAUNCH_CONFIG_TYPE } from "./debugAdapter"; import { getFolderAndNameSuffix } from "./buildConfig"; -import configuration from "../configuration"; +import { SWIFT_LAUNCH_CONFIG_TYPE } from "./debugAdapter"; /** Options used to configure {@link makeDebugConfigurations}. */ export interface WriteLaunchConfigurationsOptions { diff --git a/src/debugger/lldb.ts b/src/debugger/lldb.ts index 7d56b79ba..0a3cf6d80 100644 --- a/src/debugger/lldb.ts +++ b/src/debugger/lldb.ts @@ -11,16 +11,15 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - // Based on code taken from CodeLLDB https://github.com/vadimcn/vscode-lldb/ // LICENSED with MIT License - -import * as vscode from "vscode"; -import * as path from "path"; import * as fs from "fs/promises"; -import { execFile, IS_RUNNING_UNDER_TEST } from "../utilities/utilities"; -import { Result } from "../utilities/result"; +import * as path from "path"; +import * as vscode from "vscode"; + import { SwiftToolchain } from "../toolchain/toolchain"; +import { Result } from "../utilities/result"; +import { IS_RUNNING_UNDER_TEST, execFile } from "../utilities/utilities"; /** * Updates the provided debug configuration to be compatible with running in CI. diff --git a/src/debugger/logTracker.ts b/src/debugger/logTracker.ts index 548bf3649..5b34b9c27 100644 --- a/src/debugger/logTracker.ts +++ b/src/debugger/logTracker.ts @@ -11,10 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; -import { LaunchConfigType } from "./debugAdapter"; + import { SwiftLogger } from "../logging/SwiftLogger"; +import { LaunchConfigType } from "./debugAdapter"; /** * Factory class for building LoggingDebugAdapterTracker diff --git a/src/documentation/DocumentationManager.ts b/src/documentation/DocumentationManager.ts index 703beac69..82a81d342 100644 --- a/src/documentation/DocumentationManager.ts +++ b/src/documentation/DocumentationManager.ts @@ -11,10 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; -import { DocumentationPreviewEditor } from "./DocumentationPreviewEditor"; + import { WorkspaceContext } from "../WorkspaceContext"; +import { DocumentationPreviewEditor } from "./DocumentationPreviewEditor"; import { WebviewContent } from "./webview/WebviewMessage"; export class DocumentationManager implements vscode.Disposable { diff --git a/src/documentation/DocumentationPreviewEditor.ts b/src/documentation/DocumentationPreviewEditor.ts index 3f971d048..ea0381a35 100644 --- a/src/documentation/DocumentationPreviewEditor.ts +++ b/src/documentation/DocumentationPreviewEditor.ts @@ -11,14 +11,15 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as fs from "fs/promises"; import * as path from "path"; -import { RenderNode, WebviewContent, WebviewMessage } from "./webview/WebviewMessage"; +import * as vscode from "vscode"; +import { LSPErrorCodes, ResponseError } from "vscode-languageclient"; + import { WorkspaceContext } from "../WorkspaceContext"; import { DocCDocumentationRequest, DocCDocumentationResponse } from "../sourcekit-lsp/extensions"; -import { LSPErrorCodes, ResponseError } from "vscode-languageclient"; +import { RenderNode, WebviewContent, WebviewMessage } from "./webview/WebviewMessage"; + // eslint-disable-next-line @typescript-eslint/no-require-imports import throttle = require("lodash.throttle"); diff --git a/src/documentation/webview/CommunicationBridge.ts b/src/documentation/webview/CommunicationBridge.ts index 3a28dc988..5d6e21a52 100644 --- a/src/documentation/webview/CommunicationBridge.ts +++ b/src/documentation/webview/CommunicationBridge.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { Disposable } from "./Disposable"; /** diff --git a/src/documentation/webview/webview.ts b/src/documentation/webview/webview.ts index 7ee31c63a..638253593 100644 --- a/src/documentation/webview/webview.ts +++ b/src/documentation/webview/webview.ts @@ -12,11 +12,10 @@ // //===----------------------------------------------------------------------===// /* eslint-disable @typescript-eslint/no-floating-promises */ - -import { RenderNode, WebviewContent, WebviewMessage } from "./WebviewMessage"; import { createCommunicationBridge } from "./CommunicationBridge"; import { ErrorMessage } from "./ErrorMessage"; import { ThemeObserver } from "./ThemeObserver"; +import { RenderNode, WebviewContent, WebviewMessage } from "./WebviewMessage"; // Remove VS Code's default styles as they conflict with swift-docc-render document.getElementById("_defaultStyles")?.remove(); diff --git a/src/editor/CommentCompletion.ts b/src/editor/CommentCompletion.ts index 27e359ad1..495efd595 100644 --- a/src/editor/CommentCompletion.ts +++ b/src/editor/CommentCompletion.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { DocumentParser } from "./DocumentParser"; function isLineComment(document: vscode.TextDocument, line: number): boolean { diff --git a/src/editor/DocumentParser.ts b/src/editor/DocumentParser.ts index f05efff85..d91721c82 100644 --- a/src/editor/DocumentParser.ts +++ b/src/editor/DocumentParser.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; /** diff --git a/src/extension.ts b/src/extension.ts index 7d2adaad6..614d4b911 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -11,33 +11,33 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - // Use source-map-support to get better stack traces import "source-map-support/register"; import * as vscode from "vscode"; -import * as commands from "./commands"; -import * as debug from "./debugger/launch"; -import { ProjectPanelProvider } from "./ui/ProjectPanelProvider"; -import { FolderEvent, FolderOperation, WorkspaceContext } from "./WorkspaceContext"; + import { FolderContext } from "./FolderContext"; import { TestExplorer } from "./TestExplorer/TestExplorer"; -import { LanguageStatusItems } from "./ui/LanguageStatusItems"; -import { getErrorDescription } from "./utilities/utilities"; -import { Version } from "./utilities/version"; -import { getReadOnlyDocumentProvider } from "./ui/ReadOnlyDocumentProvider"; -import { registerDebugger } from "./debugger/debugAdapterFactory"; -import { showToolchainError } from "./ui/ToolchainSelection"; -import { SwiftToolchain } from "./toolchain/toolchain"; -import { checkAndWarnAboutWindowsSymlinks } from "./ui/win32"; -import { SwiftEnvironmentVariablesManager, SwiftTerminalProfileProvider } from "./terminal"; +import { FolderEvent, FolderOperation, WorkspaceContext } from "./WorkspaceContext"; +import * as commands from "./commands"; import { resolveFolderDependencies } from "./commands/dependencies/resolve"; -import { SelectedXcodeWatcher } from "./toolchain/SelectedXcodeWatcher"; -import configuration, { handleConfigurationChangeEvent } from "./configuration"; import { registerSourceKitSchemaWatcher } from "./commands/generateSourcekitConfiguration"; +import configuration, { handleConfigurationChangeEvent } from "./configuration"; +import { ContextKeys, createContextKeys } from "./contextKeys"; +import { registerDebugger } from "./debugger/debugAdapterFactory"; +import * as debug from "./debugger/launch"; import { SwiftLogger } from "./logging/SwiftLogger"; import { SwiftLoggerFactory } from "./logging/SwiftLoggerFactory"; -import { ContextKeys, createContextKeys } from "./contextKeys"; +import { SwiftEnvironmentVariablesManager, SwiftTerminalProfileProvider } from "./terminal"; +import { SelectedXcodeWatcher } from "./toolchain/SelectedXcodeWatcher"; +import { SwiftToolchain } from "./toolchain/toolchain"; +import { LanguageStatusItems } from "./ui/LanguageStatusItems"; +import { ProjectPanelProvider } from "./ui/ProjectPanelProvider"; +import { getReadOnlyDocumentProvider } from "./ui/ReadOnlyDocumentProvider"; +import { showToolchainError } from "./ui/ToolchainSelection"; +import { checkAndWarnAboutWindowsSymlinks } from "./ui/win32"; +import { getErrorDescription } from "./utilities/utilities"; +import { Version } from "./utilities/version"; /** * External API as exposed by the extension. Can be queried by other extensions diff --git a/src/logging/RollingLogTransport.ts b/src/logging/RollingLogTransport.ts index 520803e72..acf2e5557 100644 --- a/src/logging/RollingLogTransport.ts +++ b/src/logging/RollingLogTransport.ts @@ -12,6 +12,7 @@ // //===----------------------------------------------------------------------===// import * as TransportType from "winston-transport"; + import { RollingLog } from "./RollingLog"; // Compile error if don't use "require": https://github.com/swiftlang/vscode-swift/actions/runs/16529946578/job/46752753379?pr=1746 diff --git a/src/logging/SwiftLogger.ts b/src/logging/SwiftLogger.ts index 4a1f79c6a..006009a23 100644 --- a/src/logging/SwiftLogger.ts +++ b/src/logging/SwiftLogger.ts @@ -11,14 +11,14 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; import * as winston from "winston"; -import { RollingLog } from "./RollingLog"; -import { RollingLogTransport } from "./RollingLogTransport"; + +import configuration from "../configuration"; import { IS_RUNNING_UNDER_TEST } from "../utilities/utilities"; import { OutputChannelTransport } from "./OutputChannelTransport"; -import configuration from "../configuration"; +import { RollingLog } from "./RollingLog"; +import { RollingLogTransport } from "./RollingLogTransport"; // Winston work off of "any" as meta data so creating this // type so we don't have to disable ESLint many times below diff --git a/src/logging/SwiftLoggerFactory.ts b/src/logging/SwiftLoggerFactory.ts index f87ae2844..a4f3fa2e8 100644 --- a/src/logging/SwiftLoggerFactory.ts +++ b/src/logging/SwiftLoggerFactory.ts @@ -11,12 +11,12 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { join } from "path"; import * as vscode from "vscode"; + import { TemporaryFolder } from "../utilities/tempFolder"; -import { SwiftOutputChannel } from "./SwiftOutputChannel"; import { SwiftLogger } from "./SwiftLogger"; +import { SwiftOutputChannel } from "./SwiftOutputChannel"; export class SwiftLoggerFactory { constructor(public readonly logFolderUri: vscode.Uri) {} diff --git a/src/logging/SwiftOutputChannel.ts b/src/logging/SwiftOutputChannel.ts index 52fe143b8..99fab8951 100644 --- a/src/logging/SwiftOutputChannel.ts +++ b/src/logging/SwiftOutputChannel.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { SwiftLogger } from "./SwiftLogger"; export class SwiftOutputChannel extends SwiftLogger implements vscode.OutputChannel { diff --git a/src/process-list/BaseProcessList.ts b/src/process-list/BaseProcessList.ts index ec48d1fa0..8586bf210 100644 --- a/src/process-list/BaseProcessList.ts +++ b/src/process-list/BaseProcessList.ts @@ -11,10 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as util from "util"; -import * as child_process from "child_process"; import { Process, ProcessList } from "."; +import * as child_process from "child_process"; +import * as util from "util"; + import { lineBreakRegex } from "../utilities/tasks"; const exec = util.promisify(child_process.execFile); diff --git a/src/process-list/index.ts b/src/process-list/index.ts index e1efa2cd6..04af33aa2 100644 --- a/src/process-list/index.ts +++ b/src/process-list/index.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { DarwinProcessList } from "./platforms/DarwinProcessList"; import { LinuxProcessList } from "./platforms/LinuxProcessList"; import { WindowsProcessList } from "./platforms/WindowsProcessList"; diff --git a/src/process-list/platforms/DarwinProcessList.ts b/src/process-list/platforms/DarwinProcessList.ts index 2fbc60033..2b5890c10 100644 --- a/src/process-list/platforms/DarwinProcessList.ts +++ b/src/process-list/platforms/DarwinProcessList.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { LinuxProcessList } from "./LinuxProcessList"; export class DarwinProcessList extends LinuxProcessList { diff --git a/src/process-list/platforms/LinuxProcessList.ts b/src/process-list/platforms/LinuxProcessList.ts index 9db94a8e7..31f359b85 100644 --- a/src/process-list/platforms/LinuxProcessList.ts +++ b/src/process-list/platforms/LinuxProcessList.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { BaseProcessList, ProcessListParser } from "../BaseProcessList"; export class LinuxProcessList extends BaseProcessList { diff --git a/src/process-list/platforms/WindowsProcessList.ts b/src/process-list/platforms/WindowsProcessList.ts index ce7d77698..9861b1ca5 100644 --- a/src/process-list/platforms/WindowsProcessList.ts +++ b/src/process-list/platforms/WindowsProcessList.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { BaseProcessList, ProcessListParser } from "../BaseProcessList"; export class WindowsProcessList extends BaseProcessList { diff --git a/src/sourcekit-lsp/LSPOutputChannel.ts b/src/sourcekit-lsp/LSPOutputChannel.ts index 2bd7ef175..52ef8d4d3 100644 --- a/src/sourcekit-lsp/LSPOutputChannel.ts +++ b/src/sourcekit-lsp/LSPOutputChannel.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; export interface LSPLogger { diff --git a/src/sourcekit-lsp/LanguageClientConfiguration.ts b/src/sourcekit-lsp/LanguageClientConfiguration.ts index 104ed99bf..7a08b060b 100644 --- a/src/sourcekit-lsp/LanguageClientConfiguration.ts +++ b/src/sourcekit-lsp/LanguageClientConfiguration.ts @@ -11,22 +11,23 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// -import * as vscode from "vscode"; import * as path from "path"; +import * as vscode from "vscode"; import { DocumentSelector, LanguageClientOptions, RevealOutputChannelOn, vsdiag, } from "vscode-languageclient"; -import configuration from "../configuration"; -import { Version } from "../utilities/version"; -import { WorkspaceContext } from "../WorkspaceContext"; + import { DiagnosticsManager } from "../DiagnosticsManager"; +import { WorkspaceContext } from "../WorkspaceContext"; import { promptForDiagnostics } from "../commands/captureDiagnostics"; -import { uriConverters } from "./uriConverters"; -import { LSPActiveDocumentManager } from "./didChangeActiveDocument"; +import configuration from "../configuration"; +import { Version } from "../utilities/version"; import { SourceKitLSPErrorHandler } from "./LanguageClientManager"; +import { LSPActiveDocumentManager } from "./didChangeActiveDocument"; +import { uriConverters } from "./uriConverters"; /* eslint-disable @typescript-eslint/no-explicit-any */ function initializationOptions(swiftVersion: Version): any { diff --git a/src/sourcekit-lsp/LanguageClientFactory.ts b/src/sourcekit-lsp/LanguageClientFactory.ts index ef22cbcf9..3dc9981a7 100644 --- a/src/sourcekit-lsp/LanguageClientFactory.ts +++ b/src/sourcekit-lsp/LanguageClientFactory.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { LanguageClient, LanguageClientOptions, ServerOptions } from "vscode-languageclient/node"; /** diff --git a/src/sourcekit-lsp/LanguageClientManager.ts b/src/sourcekit-lsp/LanguageClientManager.ts index aa4152299..9d987aecd 100644 --- a/src/sourcekit-lsp/LanguageClientManager.ts +++ b/src/sourcekit-lsp/LanguageClientManager.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; import { CloseAction, @@ -25,23 +24,24 @@ import { MessageType, State, } from "vscode-languageclient"; +import { Executable, LanguageClient, ServerOptions } from "vscode-languageclient/node"; + +import { FolderContext } from "../FolderContext"; import configuration from "../configuration"; +import { SwiftOutputChannel } from "../logging/SwiftOutputChannel"; +import { ArgumentFilter, BuildFlags } from "../toolchain/BuildFlags"; import { swiftRuntimeEnv } from "../utilities/utilities"; import { Version } from "../utilities/version"; -import { activateLegacyInlayHints } from "./inlayHints"; -import { activatePeekDocuments } from "./peekDocuments"; -import { FolderContext } from "../FolderContext"; -import { Executable, LanguageClient, ServerOptions } from "vscode-languageclient/node"; -import { ArgumentFilter, BuildFlags } from "../toolchain/BuildFlags"; import { LSPLogger, LSPOutputChannel } from "./LSPOutputChannel"; -import { activateGetReferenceDocument } from "./getReferenceDocument"; +import { lspClientOptions } from "./LanguageClientConfiguration"; import { LanguageClientFactory } from "./LanguageClientFactory"; -import { SourceKitLogMessageNotification, SourceKitLogMessageParams } from "./extensions"; import { LSPActiveDocumentManager } from "./didChangeActiveDocument"; +import { SourceKitLogMessageNotification, SourceKitLogMessageParams } from "./extensions"; import { DidChangeActiveDocumentNotification } from "./extensions/DidChangeActiveDocumentRequest"; -import { lspClientOptions } from "./LanguageClientConfiguration"; -import { SwiftOutputChannel } from "../logging/SwiftOutputChannel"; import { PollIndexRequest, WorkspaceSynchronizeRequest } from "./extensions/PollIndexRequest"; +import { activateGetReferenceDocument } from "./getReferenceDocument"; +import { activateLegacyInlayHints } from "./inlayHints"; +import { activatePeekDocuments } from "./peekDocuments"; interface LanguageClientManageOptions { /** diff --git a/src/sourcekit-lsp/LanguageClientToolchainCoordinator.ts b/src/sourcekit-lsp/LanguageClientToolchainCoordinator.ts index 348184807..44800f876 100644 --- a/src/sourcekit-lsp/LanguageClientToolchainCoordinator.ts +++ b/src/sourcekit-lsp/LanguageClientToolchainCoordinator.ts @@ -11,14 +11,14 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; -import { Version } from "../utilities/version"; + import { FolderContext } from "../FolderContext"; -import { LanguageClientFactory } from "./LanguageClientFactory"; -import { LanguageClientManager } from "./LanguageClientManager"; import { FolderOperation, WorkspaceContext } from "../WorkspaceContext"; import { isExcluded } from "../utilities/filesystem"; +import { Version } from "../utilities/version"; +import { LanguageClientFactory } from "./LanguageClientFactory"; +import { LanguageClientManager } from "./LanguageClientManager"; /** * Manages the creation of LanguageClient instances for workspace folders. diff --git a/src/sourcekit-lsp/didChangeActiveDocument.ts b/src/sourcekit-lsp/didChangeActiveDocument.ts index 6fab63455..4389b4da2 100644 --- a/src/sourcekit-lsp/didChangeActiveDocument.ts +++ b/src/sourcekit-lsp/didChangeActiveDocument.ts @@ -11,9 +11,9 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; import * as langclient from "vscode-languageclient/node"; + import { checkExperimentalCapability } from "./LanguageClientManager"; import { DidChangeActiveDocumentNotification } from "./extensions/DidChangeActiveDocumentRequest"; diff --git a/src/sourcekit-lsp/extensions/DidChangeActiveDocumentRequest.ts b/src/sourcekit-lsp/extensions/DidChangeActiveDocumentRequest.ts index 75189c5bd..f2c4ee31b 100644 --- a/src/sourcekit-lsp/extensions/DidChangeActiveDocumentRequest.ts +++ b/src/sourcekit-lsp/extensions/DidChangeActiveDocumentRequest.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { MessageDirection, NotificationType, TextDocumentIdentifier } from "vscode-languageclient"; // We use namespaces to store request information just like vscode-languageclient diff --git a/src/sourcekit-lsp/extensions/DocCDocumentationRequest.ts b/src/sourcekit-lsp/extensions/DocCDocumentationRequest.ts index 86feee752..e798a095e 100644 --- a/src/sourcekit-lsp/extensions/DocCDocumentationRequest.ts +++ b/src/sourcekit-lsp/extensions/DocCDocumentationRequest.ts @@ -11,15 +11,13 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - // We use namespaces to store request information just like vscode-languageclient /* eslint-disable @typescript-eslint/no-namespace */ - import { - TextDocumentIdentifier, - Position, MessageDirection, + Position, RequestType, + TextDocumentIdentifier, } from "vscode-languageclient"; /** Parameters used to make a {@link DocCDocumentationRequest}. */ diff --git a/src/sourcekit-lsp/extensions/GetReferenceDocumentRequest.ts b/src/sourcekit-lsp/extensions/GetReferenceDocumentRequest.ts index eff0c4b9a..f420ac85d 100644 --- a/src/sourcekit-lsp/extensions/GetReferenceDocumentRequest.ts +++ b/src/sourcekit-lsp/extensions/GetReferenceDocumentRequest.ts @@ -11,10 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - // We use namespaces to store request information just like vscode-languageclient /* eslint-disable @typescript-eslint/no-namespace */ - import { DocumentUri, MessageDirection, RequestType } from "vscode-languageclient"; /** Parameters used to make a {@link GetReferenceDocumentRequest}. */ diff --git a/src/sourcekit-lsp/extensions/GetTestsRequest.ts b/src/sourcekit-lsp/extensions/GetTestsRequest.ts index 21da8317e..09e745203 100644 --- a/src/sourcekit-lsp/extensions/GetTestsRequest.ts +++ b/src/sourcekit-lsp/extensions/GetTestsRequest.ts @@ -11,16 +11,14 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - // We use namespaces to store request information just like vscode-languageclient /* eslint-disable @typescript-eslint/no-namespace */ - import { Location, - TextDocumentIdentifier, MessageDirection, RequestType0, RequestType, + TextDocumentIdentifier, } from "vscode-languageclient"; /** Test styles where test-target represents a test target that contains tests. */ diff --git a/src/sourcekit-lsp/extensions/LegacyInlayHintRequest.ts b/src/sourcekit-lsp/extensions/LegacyInlayHintRequest.ts index 1c23386b6..98d3b8916 100644 --- a/src/sourcekit-lsp/extensions/LegacyInlayHintRequest.ts +++ b/src/sourcekit-lsp/extensions/LegacyInlayHintRequest.ts @@ -11,16 +11,14 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - // We use namespaces to store request information just like vscode-languageclient /* eslint-disable @typescript-eslint/no-namespace */ - import { - TextDocumentIdentifier, - Range, - Position, MessageDirection, + Position, + Range, RequestType, + TextDocumentIdentifier, } from "vscode-languageclient"; /** Parameters used to make a {@link LegacyInlayHintRequest}. */ diff --git a/src/sourcekit-lsp/extensions/PeekDocumentsRequest.ts b/src/sourcekit-lsp/extensions/PeekDocumentsRequest.ts index ef4b8b821..3da0448fb 100644 --- a/src/sourcekit-lsp/extensions/PeekDocumentsRequest.ts +++ b/src/sourcekit-lsp/extensions/PeekDocumentsRequest.ts @@ -11,15 +11,13 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - // We use namespaces to store request information just like vscode-languageclient /* eslint-disable @typescript-eslint/no-namespace */ - import { DocumentUri, - Position, Location, MessageDirection, + Position, RequestType, } from "vscode-languageclient"; diff --git a/src/sourcekit-lsp/extensions/PollIndexRequest.ts b/src/sourcekit-lsp/extensions/PollIndexRequest.ts index 754167985..c5b64645d 100644 --- a/src/sourcekit-lsp/extensions/PollIndexRequest.ts +++ b/src/sourcekit-lsp/extensions/PollIndexRequest.ts @@ -11,10 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - // We use namespaces to store request information just like vscode-languageclient /* eslint-disable @typescript-eslint/no-namespace */ - import { MessageDirection, RequestType } from "vscode-languageclient"; // eslint-disable-next-line @typescript-eslint/no-namespace diff --git a/src/sourcekit-lsp/extensions/ReIndexProjectRequest.ts b/src/sourcekit-lsp/extensions/ReIndexProjectRequest.ts index 184ef12ab..6b46311ca 100644 --- a/src/sourcekit-lsp/extensions/ReIndexProjectRequest.ts +++ b/src/sourcekit-lsp/extensions/ReIndexProjectRequest.ts @@ -11,10 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - // We use namespaces to store request information just like vscode-languageclient /* eslint-disable @typescript-eslint/no-namespace */ - import { MessageDirection, RequestType0 } from "vscode-languageclient"; /** diff --git a/src/sourcekit-lsp/extensions/SourceKitLogMessageNotification.ts b/src/sourcekit-lsp/extensions/SourceKitLogMessageNotification.ts index f81412817..e40db72ca 100644 --- a/src/sourcekit-lsp/extensions/SourceKitLogMessageNotification.ts +++ b/src/sourcekit-lsp/extensions/SourceKitLogMessageNotification.ts @@ -11,10 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - // We use namespaces to store request information just like vscode-languageclient /* eslint-disable @typescript-eslint/no-namespace */ - import { LogMessageParams, MessageDirection, NotificationType } from "vscode-languageclient"; /** Parameters sent in a {@link SourceKitLogMessageNotification}. */ diff --git a/src/sourcekit-lsp/extensions/SymbolInfoRequest.ts b/src/sourcekit-lsp/extensions/SymbolInfoRequest.ts index fb2288b09..fcfb2c703 100644 --- a/src/sourcekit-lsp/extensions/SymbolInfoRequest.ts +++ b/src/sourcekit-lsp/extensions/SymbolInfoRequest.ts @@ -11,17 +11,15 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - // We use namespaces to store request information just like vscode-languageclient /* eslint-disable @typescript-eslint/no-namespace */ - import { - TextDocumentIdentifier, - Position, Location, - SymbolKind, MessageDirection, + Position, RequestType, + SymbolKind, + TextDocumentIdentifier, } from "vscode-languageclient"; /** Parameters used to make a {@link SymbolInfoRequest}. */ diff --git a/src/sourcekit-lsp/getReferenceDocument.ts b/src/sourcekit-lsp/getReferenceDocument.ts index 7a29b98be..40e388eee 100644 --- a/src/sourcekit-lsp/getReferenceDocument.ts +++ b/src/sourcekit-lsp/getReferenceDocument.ts @@ -11,9 +11,9 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; import * as langclient from "vscode-languageclient/node"; + import { GetReferenceDocumentParams, GetReferenceDocumentRequest } from "./extensions"; export function activateGetReferenceDocument(client: langclient.LanguageClient): vscode.Disposable { diff --git a/src/sourcekit-lsp/inlayHints.ts b/src/sourcekit-lsp/inlayHints.ts index e403a5dde..d3ae806d7 100644 --- a/src/sourcekit-lsp/inlayHints.ts +++ b/src/sourcekit-lsp/inlayHints.ts @@ -11,12 +11,12 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; import * as langclient from "vscode-languageclient/node"; + import configuration from "../configuration"; -import { LegacyInlayHintRequest } from "./extensions"; import { LanguagerClientDocumentSelectors } from "./LanguageClientConfiguration"; +import { LegacyInlayHintRequest } from "./extensions"; /** Provide Inlay Hints using sourcekit-lsp */ class SwiftLegacyInlayHintsProvider implements vscode.InlayHintsProvider { diff --git a/src/sourcekit-lsp/peekDocuments.ts b/src/sourcekit-lsp/peekDocuments.ts index 9b25866f8..497968617 100644 --- a/src/sourcekit-lsp/peekDocuments.ts +++ b/src/sourcekit-lsp/peekDocuments.ts @@ -11,9 +11,9 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; import * as langclient from "vscode-languageclient/node"; + import { PeekDocumentsParams, PeekDocumentsRequest } from "./extensions"; /** diff --git a/src/sourcekit-lsp/uriConverters.ts b/src/sourcekit-lsp/uriConverters.ts index 995af7d33..91de6547f 100644 --- a/src/sourcekit-lsp/uriConverters.ts +++ b/src/sourcekit-lsp/uriConverters.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; export const uriConverters = { diff --git a/src/tasks/SwiftExecution.ts b/src/tasks/SwiftExecution.ts index ce298e97f..78f6d6a04 100644 --- a/src/tasks/SwiftExecution.ts +++ b/src/tasks/SwiftExecution.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { ReadOnlySwiftProcess, SwiftProcess, SwiftPtyProcess } from "./SwiftProcess"; import { SwiftPseudoterminal } from "./SwiftPseudoterminal"; diff --git a/src/tasks/SwiftPluginTaskProvider.ts b/src/tasks/SwiftPluginTaskProvider.ts index ffb02cd9c..30d7e707d 100644 --- a/src/tasks/SwiftPluginTaskProvider.ts +++ b/src/tasks/SwiftPluginTaskProvider.ts @@ -11,20 +11,20 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as path from "path"; -import { WorkspaceContext } from "../WorkspaceContext"; +import * as vscode from "vscode"; + import { PackagePlugin } from "../SwiftPackage"; -import { swiftRuntimeEnv } from "../utilities/utilities"; -import { SwiftExecution } from "../tasks/SwiftExecution"; -import { packageName, resolveTaskCwd } from "../utilities/tasks"; +import { WorkspaceContext } from "../WorkspaceContext"; import configuration, { PluginPermissionConfiguration, substituteVariablesInString, } from "../configuration"; -import { SwiftTask } from "./SwiftTaskProvider"; +import { SwiftExecution } from "../tasks/SwiftExecution"; import { SwiftToolchain } from "../toolchain/toolchain"; +import { packageName, resolveTaskCwd } from "../utilities/tasks"; +import { swiftRuntimeEnv } from "../utilities/utilities"; +import { SwiftTask } from "./SwiftTaskProvider"; // Interface class for defining task configuration interface TaskConfig { diff --git a/src/tasks/SwiftProcess.ts b/src/tasks/SwiftProcess.ts index 918d9d22b..0dc9e345d 100644 --- a/src/tasks/SwiftProcess.ts +++ b/src/tasks/SwiftProcess.ts @@ -11,12 +11,12 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import type * as nodePty from "node-pty"; import * as child_process from "child_process"; +import type * as nodePty from "node-pty"; import * as vscode from "vscode"; import { requireNativeModule } from "../utilities/native"; + const { spawn } = requireNativeModule("node-pty"); export interface SwiftProcess extends vscode.Disposable { diff --git a/src/tasks/SwiftPseudoterminal.ts b/src/tasks/SwiftPseudoterminal.ts index 4932aeda8..79055d7d8 100644 --- a/src/tasks/SwiftPseudoterminal.ts +++ b/src/tasks/SwiftPseudoterminal.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { SwiftProcess } from "./SwiftProcess"; /** diff --git a/src/tasks/SwiftTaskProvider.ts b/src/tasks/SwiftTaskProvider.ts index 3065227af..95d062f4a 100644 --- a/src/tasks/SwiftTaskProvider.ts +++ b/src/tasks/SwiftTaskProvider.ts @@ -11,21 +11,21 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; -import { WorkspaceContext } from "../WorkspaceContext"; + import { FolderContext } from "../FolderContext"; -import { isAutomatic, Product } from "../SwiftPackage"; +import { Product, isAutomatic } from "../SwiftPackage"; +import { WorkspaceContext } from "../WorkspaceContext"; import configuration, { ShowBuildStatusOptions, substituteVariablesInString, } from "../configuration"; -import { swiftRuntimeEnv } from "../utilities/utilities"; -import { Version } from "../utilities/version"; -import { SwiftToolchain } from "../toolchain/toolchain"; +import { BuildConfigurationFactory } from "../debugger/buildConfig"; import { SwiftExecution } from "../tasks/SwiftExecution"; +import { SwiftToolchain } from "../toolchain/toolchain"; import { getPlatformConfig, packageName, resolveScope, resolveTaskCwd } from "../utilities/tasks"; -import { BuildConfigurationFactory } from "../debugger/buildConfig"; +import { swiftRuntimeEnv } from "../utilities/utilities"; +import { Version } from "../utilities/version"; /** * References: diff --git a/src/tasks/TaskManager.ts b/src/tasks/TaskManager.ts index 623ccde45..fb527ea0f 100644 --- a/src/tasks/TaskManager.ts +++ b/src/tasks/TaskManager.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { WorkspaceContext } from "../WorkspaceContext"; /** Manage task execution and completion handlers */ diff --git a/src/tasks/TaskQueue.ts b/src/tasks/TaskQueue.ts index f2861189f..0d04ac8e1 100644 --- a/src/tasks/TaskQueue.ts +++ b/src/tasks/TaskQueue.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { FolderContext } from "../FolderContext"; import { WorkspaceContext } from "../WorkspaceContext"; import { execSwift, poll } from "../utilities/utilities"; diff --git a/src/terminal.ts b/src/terminal.ts index 6d614c0e4..aeec3144d 100644 --- a/src/terminal.ts +++ b/src/terminal.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import configuration from "./configuration"; /** The separator to use between paths in the PATH environment variable */ diff --git a/src/toolchain/BuildFlags.ts b/src/toolchain/BuildFlags.ts index 1c4f3a6ee..854af2e91 100644 --- a/src/toolchain/BuildFlags.ts +++ b/src/toolchain/BuildFlags.ts @@ -11,11 +11,11 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as path from "path"; + import configuration from "../configuration"; -import { SwiftToolchain, DarwinCompatibleTarget, getDarwinTargetTriple } from "./toolchain"; import { Version } from "../utilities/version"; +import { DarwinCompatibleTarget, SwiftToolchain, getDarwinTargetTriple } from "./toolchain"; /** Target info */ export interface DarwinTargetInfo { diff --git a/src/toolchain/Sanitizer.ts b/src/toolchain/Sanitizer.ts index 52b412e0c..b56e7e76a 100644 --- a/src/toolchain/Sanitizer.ts +++ b/src/toolchain/Sanitizer.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as path from "path"; + import { SwiftToolchain } from "./toolchain"; export class Sanitizer { diff --git a/src/toolchain/SelectedXcodeWatcher.ts b/src/toolchain/SelectedXcodeWatcher.ts index 04ccafcbe..c6f89450c 100644 --- a/src/toolchain/SelectedXcodeWatcher.ts +++ b/src/toolchain/SelectedXcodeWatcher.ts @@ -11,13 +11,13 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as fs from "fs/promises"; import * as vscode from "vscode"; -import { showReloadExtensionNotification } from "../ui/ReloadExtension"; + import configuration from "../configuration"; -import { removeToolchainPath, selectToolchain } from "../ui/ToolchainSelection"; import { SwiftLogger } from "../logging/SwiftLogger"; +import { showReloadExtensionNotification } from "../ui/ReloadExtension"; +import { removeToolchainPath, selectToolchain } from "../ui/ToolchainSelection"; export class SelectedXcodeWatcher implements vscode.Disposable { private xcodePath: string | undefined; diff --git a/src/toolchain/swiftly.ts b/src/toolchain/swiftly.ts index ce7f80154..b041125ee 100644 --- a/src/toolchain/swiftly.ts +++ b/src/toolchain/swiftly.ts @@ -11,20 +11,20 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as path from "path"; -import { SwiftlyConfig } from "./ToolchainVersion"; -import * as fs from "fs/promises"; import * as fsSync from "fs"; +import * as fs from "fs/promises"; import * as os from "os"; +import * as path from "path"; import * as readline from "readline"; import * as Stream from "stream"; -import { execFile, ExecFileError, execFileStreamOutput } from "../utilities/utilities"; import * as vscode from "vscode"; -import { Version } from "../utilities/version"; import { z } from "zod/v4/mini"; + import { SwiftLogger } from "../logging/SwiftLogger"; import { findBinaryPath } from "../utilities/shell"; +import { ExecFileError, execFile, execFileStreamOutput } from "../utilities/utilities"; +import { Version } from "../utilities/version"; +import { SwiftlyConfig } from "./ToolchainVersion"; const ListResult = z.object({ toolchains: z.array( diff --git a/src/toolchain/toolchain.ts b/src/toolchain/toolchain.ts index 2efc92683..aa4f0e88c 100644 --- a/src/toolchain/toolchain.ts +++ b/src/toolchain/toolchain.ts @@ -11,22 +11,23 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as fs from "fs/promises"; -import * as path from "path"; import * as os from "os"; +import * as path from "path"; import * as plist from "plist"; import * as vscode from "vscode"; + import configuration from "../configuration"; -import { execFile, execSwift } from "../utilities/utilities"; +import { SwiftLogger } from "../logging/SwiftLogger"; import { expandFilePathTilde, fileExists, pathExists } from "../utilities/filesystem"; +import { findBinaryPath } from "../utilities/shell"; +import { lineBreakRegex } from "../utilities/tasks"; +import { execFile, execSwift } from "../utilities/utilities"; import { Version } from "../utilities/version"; import { BuildFlags } from "./BuildFlags"; import { Sanitizer } from "./Sanitizer"; -import { lineBreakRegex } from "../utilities/tasks"; import { Swiftly } from "./swiftly"; -import { SwiftLogger } from "../logging/SwiftLogger"; -import { findBinaryPath } from "../utilities/shell"; + /** * Contents of **Info.plist** on Windows. */ diff --git a/src/ui/LanguageStatusItems.ts b/src/ui/LanguageStatusItems.ts index a8f0e32ae..746e04592 100644 --- a/src/ui/LanguageStatusItems.ts +++ b/src/ui/LanguageStatusItems.ts @@ -11,12 +11,12 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; import { Command } from "vscode-languageclient"; -import { WorkspaceContext, FolderOperation } from "../WorkspaceContext"; -import { LanguagerClientDocumentSelectors } from "../sourcekit-lsp/LanguageClientConfiguration"; + +import { FolderOperation, WorkspaceContext } from "../WorkspaceContext"; import { Commands } from "../commands"; +import { LanguagerClientDocumentSelectors } from "../sourcekit-lsp/LanguageClientConfiguration"; export class LanguageStatusItems implements vscode.Disposable { constructor(workspaceContext: WorkspaceContext) { diff --git a/src/ui/ProjectPanelProvider.ts b/src/ui/ProjectPanelProvider.ts index aa74daa7b..512c53bd8 100644 --- a/src/ui/ProjectPanelProvider.ts +++ b/src/ui/ProjectPanelProvider.ts @@ -11,20 +11,20 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; +import { convertPathToPattern, glob } from "fast-glob"; +import { existsSync } from "fs"; import * as fs from "fs/promises"; import * as path from "path"; -import configuration from "../configuration"; +import * as vscode from "vscode"; + +import { FolderContext } from "../FolderContext"; +import { Dependency, ResolvedDependency, Target } from "../SwiftPackage"; import { WorkspaceContext } from "../WorkspaceContext"; import { FolderOperation } from "../WorkspaceContext"; -import { Dependency, ResolvedDependency, Target } from "../SwiftPackage"; -import { FolderContext } from "../FolderContext"; -import { getPlatformConfig, resolveTaskCwd } from "../utilities/tasks"; +import configuration from "../configuration"; import { SwiftTask, TaskPlatformSpecificConfig } from "../tasks/SwiftTaskProvider"; -import { convertPathToPattern, glob } from "fast-glob"; +import { getPlatformConfig, resolveTaskCwd } from "../utilities/tasks"; import { Version } from "../utilities/version"; -import { existsSync } from "fs"; const LOADING_ICON = "loading~spin"; diff --git a/src/ui/ReadOnlyDocumentProvider.ts b/src/ui/ReadOnlyDocumentProvider.ts index 9c4cfcc90..1674378eb 100644 --- a/src/ui/ReadOnlyDocumentProvider.ts +++ b/src/ui/ReadOnlyDocumentProvider.ts @@ -11,9 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as fs from "fs/promises"; +import * as vscode from "vscode"; /** * Registers a {@link vscode.TextDocumentContentProvider TextDocumentContentProvider} that will display diff --git a/src/ui/ReloadExtension.ts b/src/ui/ReloadExtension.ts index a23de1628..e02157656 100644 --- a/src/ui/ReloadExtension.ts +++ b/src/ui/ReloadExtension.ts @@ -11,9 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { Workbench } from "../utilities/commands"; + // eslint-disable-next-line @typescript-eslint/no-require-imports import debounce = require("lodash.debounce"); diff --git a/src/ui/SelectFolderQuickPick.ts b/src/ui/SelectFolderQuickPick.ts index ed97d8cf7..fce83ee70 100644 --- a/src/ui/SelectFolderQuickPick.ts +++ b/src/ui/SelectFolderQuickPick.ts @@ -11,10 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import { WorkspaceContext } from "../WorkspaceContext"; import * as vscode from "vscode"; + import { FolderContext } from "../FolderContext"; +import { WorkspaceContext } from "../WorkspaceContext"; type SelectFolderQuickPick = AllQuickPickItem | FolderQuickPickItem; diff --git a/src/ui/StatusItem.ts b/src/ui/StatusItem.ts index a40858885..cbea6aa89 100644 --- a/src/ui/StatusItem.ts +++ b/src/ui/StatusItem.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; export class RunningTask { diff --git a/src/ui/SwiftBuildStatus.ts b/src/ui/SwiftBuildStatus.ts index 7e08f280c..b90a48ef5 100644 --- a/src/ui/SwiftBuildStatus.ts +++ b/src/ui/SwiftBuildStatus.ts @@ -11,14 +11,15 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -// eslint-disable-next-line @typescript-eslint/no-require-imports -import stripAnsi = require("strip-ansi"); import * as vscode from "vscode"; + import configuration, { ShowBuildStatusOptions } from "../configuration"; -import { RunningTask, StatusItem } from "./StatusItem"; import { SwiftExecution } from "../tasks/SwiftExecution"; import { checkIfBuildComplete, lineBreakRegex } from "../utilities/tasks"; +import { RunningTask, StatusItem } from "./StatusItem"; + +// eslint-disable-next-line @typescript-eslint/no-require-imports +import stripAnsi = require("strip-ansi"); /** * Progress of `swift` build, parsed from the diff --git a/src/ui/ToolchainSelection.ts b/src/ui/ToolchainSelection.ts index c4d5e01a6..8176cdc3e 100644 --- a/src/ui/ToolchainSelection.ts +++ b/src/ui/ToolchainSelection.ts @@ -11,16 +11,16 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as path from "path"; -import { showReloadExtensionNotification } from "./ReloadExtension"; -import { SwiftToolchain } from "../toolchain/toolchain"; -import configuration from "../configuration"; +import * as vscode from "vscode"; + +import { FolderContext } from "../FolderContext"; import { Commands } from "../commands"; -import { Swiftly } from "../toolchain/swiftly"; +import configuration from "../configuration"; import { SwiftLogger } from "../logging/SwiftLogger"; -import { FolderContext } from "../FolderContext"; +import { Swiftly } from "../toolchain/swiftly"; +import { SwiftToolchain } from "../toolchain/toolchain"; +import { showReloadExtensionNotification } from "./ReloadExtension"; /** * Open the installation page on Swift.org diff --git a/src/ui/win32.ts b/src/ui/win32.ts index a93a451ee..4a514e78f 100644 --- a/src/ui/win32.ts +++ b/src/ui/win32.ts @@ -11,12 +11,12 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as fs from "fs/promises"; -import { TemporaryFolder } from "../utilities/tempFolder"; -import configuration from "../configuration"; import * as vscode from "vscode"; + +import configuration from "../configuration"; import { SwiftLogger } from "../logging/SwiftLogger"; +import { TemporaryFolder } from "../utilities/tempFolder"; /** * Warns the user about lack of symbolic link support on Windows. Performs the diff --git a/src/utilities/cancellation.ts b/src/utilities/cancellation.ts index 9c7a5fcf5..7ab18083e 100644 --- a/src/utilities/cancellation.ts +++ b/src/utilities/cancellation.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; /** diff --git a/src/utilities/filesystem.ts b/src/utilities/filesystem.ts index 2dce7fe89..9aeeeab7c 100644 --- a/src/utilities/filesystem.ts +++ b/src/utilities/filesystem.ts @@ -11,12 +11,12 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import { contains } from "micromatch"; +import { Options, convertPathToPattern, glob as fastGlob } from "fast-glob"; import * as fs from "fs/promises"; +import { contains } from "micromatch"; import * as path from "path"; import * as vscode from "vscode"; -import { convertPathToPattern, glob as fastGlob, Options } from "fast-glob"; + import configuration from "../configuration"; export const validFileTypes = ["swift", "c", "cpp", "h", "hpp", "m", "mm"]; diff --git a/src/utilities/shell.ts b/src/utilities/shell.ts index 77a6aa295..ef0954e26 100644 --- a/src/utilities/shell.ts +++ b/src/utilities/shell.ts @@ -11,7 +11,6 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { execFile } from "./utilities"; // use `type swift` to find `swift`. Run inside /bin/sh to ensure diff --git a/src/utilities/tasks.ts b/src/utilities/tasks.ts index e66cef873..e4020cf41 100644 --- a/src/utilities/tasks.ts +++ b/src/utilities/tasks.ts @@ -13,8 +13,9 @@ //===----------------------------------------------------------------------===// import * as path from "path"; import * as vscode from "vscode"; -import { substituteVariablesInString } from "../configuration"; + import { FolderContext } from "../FolderContext"; +import { substituteVariablesInString } from "../configuration"; export const lineBreakRegex = /\r\n|\n|\r/gm; diff --git a/src/utilities/tempFolder.ts b/src/utilities/tempFolder.ts index ee5fa7ac1..921f257d1 100644 --- a/src/utilities/tempFolder.ts +++ b/src/utilities/tempFolder.ts @@ -11,13 +11,13 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - +import * as fs from "fs/promises"; import { tmpdir } from "os"; import * as path from "path"; -import * as fs from "fs/promises"; -import { randomString } from "./utilities"; import { Disposable } from "vscode"; +import { randomString } from "./utilities"; + export class TemporaryFolder { private constructor(public path: string) {} diff --git a/src/utilities/utilities.ts b/src/utilities/utilities.ts index 2b57c17ec..6083c8ac1 100644 --- a/src/utilities/utilities.ts +++ b/src/utilities/utilities.ts @@ -11,13 +11,13 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as cp from "child_process"; import * as path from "path"; import * as Stream from "stream"; -import configuration from "../configuration"; +import * as vscode from "vscode"; + import { FolderContext } from "../FolderContext"; +import configuration from "../configuration"; import { SwiftToolchain } from "../toolchain/toolchain"; /** diff --git a/src/utilities/workspace.ts b/src/utilities/workspace.ts index 97d6b8c4d..b22cc671e 100644 --- a/src/utilities/workspace.ts +++ b/src/utilities/workspace.ts @@ -11,10 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - +import { basename } from "path"; import * as vscode from "vscode"; + import { globDirectory, pathExists } from "./filesystem"; -import { basename } from "path"; export async function searchForPackages( folder: vscode.Uri, diff --git a/test/MockUtils.ts b/test/MockUtils.ts index ee2f1318b..66c44d568 100644 --- a/test/MockUtils.ts +++ b/test/MockUtils.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// +import { SinonStub, stub } from "sinon"; import * as vscode from "vscode"; -import { stub, SinonStub } from "sinon"; /** * Waits for all promises returned by a MockedFunction to resolve. Useful when diff --git a/test/common.ts b/test/common.ts index eabe6d145..3d8043a31 100644 --- a/test/common.ts +++ b/test/common.ts @@ -11,19 +11,19 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - // Use source-map-support to get better stack traces import "source-map-support/register"; -import * as fs from "fs"; -import * as path from "path"; import * as chai from "chai"; -import * as sinonChai from "sinon-chai"; import * as chaiAsPromised from "chai-as-promised"; import * as chaiSubset from "chai-subset"; -import { installTagSupport } from "./tags"; +import * as fs from "fs"; +import * as path from "path"; +import * as sinonChai from "sinon-chai"; import * as tsConfigPaths from "tsconfig-paths"; +import { installTagSupport } from "./tags"; + const tsConfig = JSON.parse( // __dirname points to dist/test when transpiled, but we need the tsconfig.json in the real test/ fs.readFileSync(path.join(__dirname, "../../test/tsconfig.json"), "utf-8") diff --git a/test/fixtures.ts b/test/fixtures.ts index 03f7d70ab..304dd303e 100644 --- a/test/fixtures.ts +++ b/test/fixtures.ts @@ -11,11 +11,11 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as path from "path"; -import { SwiftProcess } from "@src/tasks/SwiftProcess"; +import * as vscode from "vscode"; + import { SwiftExecution } from "@src/tasks/SwiftExecution"; +import { SwiftProcess } from "@src/tasks/SwiftProcess"; import { SwiftTask, createSwiftTask } from "@src/tasks/SwiftTaskProvider"; import { SwiftToolchain } from "@src/toolchain/toolchain"; diff --git a/test/integration-tests/BackgroundCompilation.test.ts b/test/integration-tests/BackgroundCompilation.test.ts index 9062b6c4c..557795f50 100644 --- a/test/integration-tests/BackgroundCompilation.test.ts +++ b/test/integration-tests/BackgroundCompilation.test.ts @@ -11,14 +11,15 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as assert from "assert"; import * as vscode from "vscode"; + import { WorkspaceContext } from "@src/WorkspaceContext"; + import { testAssetUri } from "../fixtures"; -import { activateExtensionForTest, updateSettings } from "./utilities/testutilities"; -import { closeAllEditors } from "../utilities/commands"; import { tag } from "../tags"; +import { closeAllEditors } from "../utilities/commands"; +import { activateExtensionForTest, updateSettings } from "./utilities/testutilities"; tag("large").suite("BackgroundCompilation Test Suite", () => { let workspaceContext: WorkspaceContext; diff --git a/test/integration-tests/DiagnosticsManager.test.ts b/test/integration-tests/DiagnosticsManager.test.ts index 8b814a185..fc541f8c0 100644 --- a/test/integration-tests/DiagnosticsManager.test.ts +++ b/test/integration-tests/DiagnosticsManager.test.ts @@ -11,29 +11,30 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as assert from "assert"; +import { expect } from "chai"; import * as vscode from "vscode"; + +import { DiagnosticsManager } from "@src/DiagnosticsManager"; +import { FolderContext } from "@src/FolderContext"; +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { DiagnosticStyle } from "@src/configuration"; +import { createBuildAllTask, resetBuildAllTaskCache } from "@src/tasks/SwiftTaskProvider"; import { SwiftToolchain } from "@src/toolchain/toolchain"; +import { Version } from "@src/utilities/version"; + +import { testAssetUri, testSwiftTask } from "../fixtures"; +import { tag } from "../tags"; import { executeTaskAndWaitForResult, waitForNoRunningTasks, waitForStartTaskProcess, } from "../utilities/tasks"; -import { WorkspaceContext } from "@src/WorkspaceContext"; -import { testAssetUri, testSwiftTask } from "../fixtures"; -import { createBuildAllTask, resetBuildAllTaskCache } from "@src/tasks/SwiftTaskProvider"; -import { DiagnosticsManager } from "@src/DiagnosticsManager"; -import { FolderContext } from "@src/FolderContext"; -import { Version } from "@src/utilities/version"; import { activateExtensionForSuite, folderInRootWorkspace, updateSettings, } from "./utilities/testutilities"; -import { DiagnosticStyle } from "@src/configuration"; -import { expect } from "chai"; -import { tag } from "../tags"; const isEqual = (d1: vscode.Diagnostic, d2: vscode.Diagnostic) => { return ( diff --git a/test/integration-tests/ExtensionActivation.test.ts b/test/integration-tests/ExtensionActivation.test.ts index 97367cb68..dd9b69d6b 100644 --- a/test/integration-tests/ExtensionActivation.test.ts +++ b/test/integration-tests/ExtensionActivation.test.ts @@ -11,20 +11,21 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as assert from "assert"; import { afterEach } from "mocha"; +import * as vscode from "vscode"; + +import { WorkspaceContext } from "@src/WorkspaceContext"; + +import { testAssetUri } from "../fixtures"; +import { tag } from "../tags"; +import { assertContains } from "./testexplorer/utilities"; import { activateExtension, activateExtensionForSuite, activateExtensionForTest, deactivateExtension, } from "./utilities/testutilities"; -import { WorkspaceContext } from "@src/WorkspaceContext"; -import { testAssetUri } from "../fixtures"; -import { assertContains } from "./testexplorer/utilities"; -import { tag } from "../tags"; suite("Extension Activation/Deactivation Tests", () => { suite("Extension Activation", () => { diff --git a/test/integration-tests/FolderContext.test.ts b/test/integration-tests/FolderContext.test.ts index ed69f6b7f..d5b537485 100644 --- a/test/integration-tests/FolderContext.test.ts +++ b/test/integration-tests/FolderContext.test.ts @@ -11,17 +11,18 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as assert from "assert"; -import * as toolchain from "@src/ui/ToolchainSelection"; import { afterEach } from "mocha"; -import { stub, restore } from "sinon"; -import { testAssetUri } from "../fixtures"; -import { WorkspaceContext } from "@src/WorkspaceContext"; +import { restore, stub } from "sinon"; + import { FolderContext } from "@src/FolderContext"; +import { WorkspaceContext } from "@src/WorkspaceContext"; import { SwiftToolchain } from "@src/toolchain/toolchain"; -import { activateExtensionForSuite, getRootWorkspaceFolder } from "./utilities/testutilities"; +import * as toolchain from "@src/ui/ToolchainSelection"; + import { MockedFunction, mockGlobalValue } from "../MockUtils"; +import { testAssetUri } from "../fixtures"; +import { activateExtensionForSuite, getRootWorkspaceFolder } from "./utilities/testutilities"; suite("FolderContext Error Handling Test Suite", () => { let workspaceContext: WorkspaceContext; diff --git a/test/integration-tests/SwiftPackage.test.ts b/test/integration-tests/SwiftPackage.test.ts index 7e4b05d30..6aeee600e 100644 --- a/test/integration-tests/SwiftPackage.test.ts +++ b/test/integration-tests/SwiftPackage.test.ts @@ -11,12 +11,13 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as assert from "assert"; -import { testAssetUri } from "../fixtures"; + import { SwiftPackage } from "@src/SwiftPackage"; import { SwiftToolchain } from "@src/toolchain/toolchain"; import { Version } from "@src/utilities/version"; + +import { testAssetUri } from "../fixtures"; import { tag } from "../tags"; tag("medium").suite("SwiftPackage Test Suite", function () { diff --git a/test/integration-tests/SwiftSnippet.test.ts b/test/integration-tests/SwiftSnippet.test.ts index 429103d19..626c7caf5 100644 --- a/test/integration-tests/SwiftSnippet.test.ts +++ b/test/integration-tests/SwiftSnippet.test.ts @@ -11,25 +11,26 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - +import { expect } from "chai"; import * as vscode from "vscode"; + +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { Commands } from "@src/commands"; +import { Version } from "@src/utilities/version"; + import { testAssetUri } from "../fixtures"; -import { expect } from "chai"; +import { tag } from "../tags"; +import { closeAllEditors } from "../utilities/commands"; import { continueSession, waitForDebugAdapterRequest, waitUntilDebugSessionTerminates, } from "../utilities/debug"; -import { Version } from "@src/utilities/version"; import { activateExtensionForSuite, folderInRootWorkspace, updateSettings, } from "./utilities/testutilities"; -import { WorkspaceContext } from "@src/WorkspaceContext"; -import { closeAllEditors } from "../utilities/commands"; -import { Commands } from "@src/commands"; -import { tag } from "../tags"; tag("large").suite("SwiftSnippet Test Suite", function () { const uri = testAssetUri("defaultPackage/Snippets/hello.swift"); diff --git a/test/integration-tests/WorkspaceContext.test.ts b/test/integration-tests/WorkspaceContext.test.ts index 99c20588b..6dfe8dc6d 100644 --- a/test/integration-tests/WorkspaceContext.test.ts +++ b/test/integration-tests/WorkspaceContext.test.ts @@ -11,24 +11,25 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as assert from "assert"; import { afterEach } from "mocha"; -import { testAssetUri } from "../fixtures"; +import * as vscode from "vscode"; + +import { FolderContext } from "@src/FolderContext"; import { FolderOperation, WorkspaceContext } from "@src/WorkspaceContext"; +import { SwiftExecution } from "@src/tasks/SwiftExecution"; import { createBuildAllTask } from "@src/tasks/SwiftTaskProvider"; +import { resolveScope } from "@src/utilities/tasks"; import { Version } from "@src/utilities/version"; -import { SwiftExecution } from "@src/tasks/SwiftExecution"; + +import { testAssetUri } from "../fixtures"; +import { tag } from "../tags"; +import { assertContains } from "./testexplorer/utilities"; import { activateExtensionForSuite, getRootWorkspaceFolder, updateSettings, } from "./utilities/testutilities"; -import { FolderContext } from "@src/FolderContext"; -import { assertContains } from "./testexplorer/utilities"; -import { resolveScope } from "@src/utilities/tasks"; -import { tag } from "../tags"; function assertContainsArg(execution: SwiftExecution, arg: string) { assert(execution?.args.find(a => a === arg)); diff --git a/test/integration-tests/commands/build.test.ts b/test/integration-tests/commands/build.test.ts index 908d8b568..ba78c312e 100644 --- a/test/integration-tests/commands/build.test.ts +++ b/test/integration-tests/commands/build.test.ts @@ -11,19 +11,20 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; +import { expect } from "chai"; import * as fs from "fs/promises"; import * as path from "path"; -import { expect } from "chai"; -import { testAssetUri } from "../../fixtures"; +import * as vscode from "vscode"; + import { FolderContext } from "@src/FolderContext"; import { WorkspaceContext } from "@src/WorkspaceContext"; import { Commands } from "@src/commands"; -import { continueSession, waitForDebugAdapterRequest } from "../../utilities/debug"; -import { activateExtensionForSuite, folderInRootWorkspace } from "../utilities/testutilities"; import { Version } from "@src/utilities/version"; + +import { testAssetUri } from "../../fixtures"; import { tag } from "../../tags"; +import { continueSession, waitForDebugAdapterRequest } from "../../utilities/debug"; +import { activateExtensionForSuite, folderInRootWorkspace } from "../utilities/testutilities"; tag("large").suite("Build Commands", function () { let folderContext: FolderContext; diff --git a/test/integration-tests/commands/captureDiagnostics.test.ts b/test/integration-tests/commands/captureDiagnostics.test.ts index c2cfdccc3..2f665338b 100644 --- a/test/integration-tests/commands/captureDiagnostics.test.ts +++ b/test/integration-tests/commands/captureDiagnostics.test.ts @@ -11,23 +11,24 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; -import * as path from "path"; -import * as os from "os"; -import { mkdir, rm } from "fs/promises"; -import * as decompress from "decompress"; import { expect } from "chai"; -import { captureDiagnostics } from "@src/commands/captureDiagnostics"; +import * as decompress from "decompress"; +import { mkdir, rm } from "fs/promises"; +import * as os from "os"; +import * as path from "path"; +import * as vscode from "vscode"; + import { WorkspaceContext } from "@src/WorkspaceContext"; +import { captureDiagnostics } from "@src/commands/captureDiagnostics"; +import { Version } from "@src/utilities/version"; + import { mockGlobalObject } from "../../MockUtils"; +import { tag } from "../../tags"; import { activateExtensionForSuite, folderInRootWorkspace, updateSettings, } from "../utilities/testutilities"; -import { Version } from "@src/utilities/version"; -import { tag } from "../../tags"; suite("captureDiagnostics Test Suite", () => { let workspaceContext: WorkspaceContext; diff --git a/test/integration-tests/commands/dependency.test.ts b/test/integration-tests/commands/dependency.test.ts index 29243c616..2379c282b 100644 --- a/test/integration-tests/commands/dependency.test.ts +++ b/test/integration-tests/commands/dependency.test.ts @@ -11,17 +11,18 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { expect } from "chai"; import * as vscode from "vscode"; -import { PackageNode, ProjectPanelProvider } from "@src/ui/ProjectPanelProvider"; -import { testAssetUri } from "../../fixtures"; + import { FolderContext } from "@src/FolderContext"; import { WorkspaceContext } from "@src/WorkspaceContext"; import { Commands } from "@src/commands"; -import { activateExtensionForSuite, findWorkspaceFolder } from "../utilities/testutilities"; -import { waitForNoRunningTasks } from "../../utilities/tasks"; +import { PackageNode, ProjectPanelProvider } from "@src/ui/ProjectPanelProvider"; + +import { testAssetUri } from "../../fixtures"; import { tag } from "../../tags"; +import { waitForNoRunningTasks } from "../../utilities/tasks"; +import { activateExtensionForSuite, findWorkspaceFolder } from "../utilities/testutilities"; tag("large").suite("Dependency Commmands Test Suite", function () { let depsContext: FolderContext; diff --git a/test/integration-tests/commands/generateSourcekitConfiguration.test.ts b/test/integration-tests/commands/generateSourcekitConfiguration.test.ts index ab50e0ecd..e581e8bfe 100644 --- a/test/integration-tests/commands/generateSourcekitConfiguration.test.ts +++ b/test/integration-tests/commands/generateSourcekitConfiguration.test.ts @@ -11,18 +11,12 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import { expect } from "chai"; +import * as vscode from "vscode"; + import { FolderContext } from "@src/FolderContext"; import { WorkspaceContext } from "@src/WorkspaceContext"; import { Commands } from "@src/commands"; -import { - activateExtensionForSuite, - folderInRootWorkspace, - updateSettings, -} from "../utilities/testutilities"; -import { closeAllEditors } from "../../utilities/commands"; import { determineSchemaURL, handleConfigFileChange, @@ -30,9 +24,16 @@ import { sourcekitConfigFilePath, sourcekitFolderPath, } from "@src/commands/generateSourcekitConfiguration"; -import { Version } from "@src/utilities/version"; -import { mockGlobalObject, mockGlobalModule } from "../../MockUtils"; import * as restartLSPServerModule from "@src/commands/restartLSPServer"; +import { Version } from "@src/utilities/version"; + +import { mockGlobalModule, mockGlobalObject } from "../../MockUtils"; +import { closeAllEditors } from "../../utilities/commands"; +import { + activateExtensionForSuite, + folderInRootWorkspace, + updateSettings, +} from "../utilities/testutilities"; suite("Generate SourceKit-LSP configuration Command", function () { let folderContext: FolderContext; diff --git a/test/integration-tests/commands/runTestMultipleTimes.test.ts b/test/integration-tests/commands/runTestMultipleTimes.test.ts index ccb55bba2..8d592a4ce 100644 --- a/test/integration-tests/commands/runTestMultipleTimes.test.ts +++ b/test/integration-tests/commands/runTestMultipleTimes.test.ts @@ -11,14 +11,15 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import { expect } from "chai"; -import { runTestMultipleTimes } from "@src/commands/testMultipleTimes"; +import * as vscode from "vscode"; + import { FolderContext } from "@src/FolderContext"; +import { TestKind } from "@src/TestExplorer/TestKind"; import { TestRunProxy } from "@src/TestExplorer/TestRunner"; +import { runTestMultipleTimes } from "@src/commands/testMultipleTimes"; + import { activateExtensionForSuite, folderInRootWorkspace } from "../utilities/testutilities"; -import { TestKind } from "@src/TestExplorer/TestKind"; suite("Test Multiple Times Command Test Suite", () => { let folderContext: FolderContext; diff --git a/test/integration-tests/configuration.test.ts b/test/integration-tests/configuration.test.ts index 6557801f9..ed3651184 100644 --- a/test/integration-tests/configuration.test.ts +++ b/test/integration-tests/configuration.test.ts @@ -11,18 +11,19 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - +import { expect } from "chai"; +import { afterEach } from "mocha"; import * as path from "path"; + +import { WorkspaceContext } from "@src/WorkspaceContext"; +import configuration from "@src/configuration"; +import { createBuildAllTask } from "@src/tasks/SwiftTaskProvider"; + import { activateExtensionForSuite, getRootWorkspaceFolder, updateSettings, } from "./utilities/testutilities"; -import { expect } from "chai"; -import { afterEach } from "mocha"; -import configuration from "@src/configuration"; -import { createBuildAllTask } from "@src/tasks/SwiftTaskProvider"; -import { WorkspaceContext } from "@src/WorkspaceContext"; suite("Configuration Test Suite", function () { let workspaceContext: WorkspaceContext; diff --git a/test/integration-tests/debugger/lldb.test.ts b/test/integration-tests/debugger/lldb.test.ts index 6d09df048..b0a4c1c2c 100644 --- a/test/integration-tests/debugger/lldb.test.ts +++ b/test/integration-tests/debugger/lldb.test.ts @@ -11,13 +11,14 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { expect } from "chai"; -import { getLLDBLibPath } from "@src/debugger/lldb"; + import { WorkspaceContext } from "@src/WorkspaceContext"; -import { activateExtensionForTest } from "../utilities/testutilities"; -import { Version } from "@src/utilities/version"; +import { getLLDBLibPath } from "@src/debugger/lldb"; import { IS_RUNNING_UNDER_DOCKER } from "@src/utilities/utilities"; +import { Version } from "@src/utilities/version"; + +import { activateExtensionForTest } from "../utilities/testutilities"; suite("lldb contract test suite", () => { let workspaceContext: WorkspaceContext; diff --git a/test/integration-tests/documentation/DocumentationLivePreview.test.ts b/test/integration-tests/documentation/DocumentationLivePreview.test.ts index eadefa05e..9f7b60735 100644 --- a/test/integration-tests/documentation/DocumentationLivePreview.test.ts +++ b/test/integration-tests/documentation/DocumentationLivePreview.test.ts @@ -11,20 +11,21 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; -import * as path from "path"; import { expect } from "chai"; -import { activateExtensionForSuite, folderInRootWorkspace } from "../utilities/testutilities"; -import { waitForNoRunningTasks } from "../../utilities/tasks"; -import { testAssetUri } from "../../fixtures"; +import * as path from "path"; +import * as vscode from "vscode"; + import { FolderContext } from "@src/FolderContext"; import { WorkspaceContext } from "@src/WorkspaceContext"; import { Commands } from "@src/commands"; -import { Workbench } from "@src/utilities/commands"; -import { RenderNodeContent, WebviewContent } from "@src/documentation/webview/WebviewMessage"; import { PreviewEditorConstant } from "@src/documentation/DocumentationPreviewEditor"; +import { RenderNodeContent, WebviewContent } from "@src/documentation/webview/WebviewMessage"; +import { Workbench } from "@src/utilities/commands"; + +import { testAssetUri } from "../../fixtures"; import { tag } from "../../tags"; +import { waitForNoRunningTasks } from "../../utilities/tasks"; +import { activateExtensionForSuite, folderInRootWorkspace } from "../utilities/testutilities"; tag("medium").suite("Documentation Live Preview", function () { let folderContext: FolderContext; diff --git a/test/integration-tests/editor/CommentCompletion.test.ts b/test/integration-tests/editor/CommentCompletion.test.ts index 9eba2e659..50ac0826e 100644 --- a/test/integration-tests/editor/CommentCompletion.test.ts +++ b/test/integration-tests/editor/CommentCompletion.test.ts @@ -11,9 +11,9 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as assert from "assert"; import * as vscode from "vscode"; + import { CommentCompletionProviders } from "@src/editor/CommentCompletion"; suite("CommentCompletion Test Suite", () => { diff --git a/test/integration-tests/extension.test.ts b/test/integration-tests/extension.test.ts index 4bd293730..c64e478fd 100644 --- a/test/integration-tests/extension.test.ts +++ b/test/integration-tests/extension.test.ts @@ -11,14 +11,15 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as assert from "assert"; +import { expect } from "chai"; import * as vscode from "vscode"; + import { WorkspaceContext } from "@src/WorkspaceContext"; -import { getBuildAllTask } from "@src/tasks/SwiftTaskProvider"; import { SwiftExecution } from "@src/tasks/SwiftExecution"; +import { getBuildAllTask } from "@src/tasks/SwiftTaskProvider"; + import { activateExtensionForTest, findWorkspaceFolder } from "./utilities/testutilities"; -import { expect } from "chai"; suite("Extension Test Suite", function () { let workspaceContext: WorkspaceContext; diff --git a/test/integration-tests/language/LanguageClientIntegration.test.ts b/test/integration-tests/language/LanguageClientIntegration.test.ts index 7653d5770..05754e56c 100644 --- a/test/integration-tests/language/LanguageClientIntegration.test.ts +++ b/test/integration-tests/language/LanguageClientIntegration.test.ts @@ -11,19 +11,20 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - +import { expect } from "chai"; import * as vscode from "vscode"; import * as langclient from "vscode-languageclient/node"; -import { expect } from "chai"; -import { LanguageClientManager } from "@src/sourcekit-lsp/LanguageClientManager"; + +import { FolderContext } from "@src/FolderContext"; import { WorkspaceContext } from "@src/WorkspaceContext"; +import { LanguageClientManager } from "@src/sourcekit-lsp/LanguageClientManager"; +import { createBuildAllTask } from "@src/tasks/SwiftTaskProvider"; + import { testAssetUri } from "../../fixtures"; +import { tag } from "../../tags"; import { executeTaskAndWaitForResult, waitForNoRunningTasks } from "../../utilities/tasks"; -import { createBuildAllTask } from "@src/tasks/SwiftTaskProvider"; -import { activateExtensionForSuite, folderInRootWorkspace } from "../utilities/testutilities"; import { waitForClientState } from "../utilities/lsputilities"; -import { FolderContext } from "@src/FolderContext"; -import { tag } from "../../tags"; +import { activateExtensionForSuite, folderInRootWorkspace } from "../utilities/testutilities"; async function buildProject(ctx: WorkspaceContext, name: string) { await waitForNoRunningTasks(); diff --git a/test/integration-tests/process-list/processList.test.ts b/test/integration-tests/process-list/processList.test.ts index b2d7df3b7..b2d846e30 100644 --- a/test/integration-tests/process-list/processList.test.ts +++ b/test/integration-tests/process-list/processList.test.ts @@ -11,10 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as path from "path"; import { expect } from "chai"; -import { createProcessList, Process } from "@src/process-list"; +import * as path from "path"; + +import { Process, createProcessList } from "@src/process-list"; suite("ProcessList Tests", () => { function expectProcessName(processes: Process[], command: string) { diff --git a/test/integration-tests/tasks/SwiftExecution.test.ts b/test/integration-tests/tasks/SwiftExecution.test.ts index 27b0adfb6..864844782 100644 --- a/test/integration-tests/tasks/SwiftExecution.test.ts +++ b/test/integration-tests/tasks/SwiftExecution.test.ts @@ -11,13 +11,14 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as assert from "assert"; -import { testSwiftTask } from "../../fixtures"; +import * as vscode from "vscode"; + import { WorkspaceContext } from "@src/WorkspaceContext"; -import { executeTaskAndWaitForResult, waitForStartTaskProcess } from "../../utilities/tasks"; import { SwiftToolchain } from "@src/toolchain/toolchain"; + +import { testSwiftTask } from "../../fixtures"; +import { executeTaskAndWaitForResult, waitForStartTaskProcess } from "../../utilities/tasks"; import { activateExtensionForSuite } from "../utilities/testutilities"; suite("SwiftExecution Tests Suite", () => { diff --git a/test/integration-tests/tasks/SwiftPluginTaskProvider.test.ts b/test/integration-tests/tasks/SwiftPluginTaskProvider.test.ts index 891b0fd01..3141e90a5 100644 --- a/test/integration-tests/tasks/SwiftPluginTaskProvider.test.ts +++ b/test/integration-tests/tasks/SwiftPluginTaskProvider.test.ts @@ -11,27 +11,28 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as assert from "assert"; -import { beforeEach, afterEach } from "mocha"; import { expect } from "chai"; +import { afterEach, beforeEach } from "mocha"; +import * as vscode from "vscode"; + +import { FolderContext } from "@src/FolderContext"; import { WorkspaceContext } from "@src/WorkspaceContext"; +import { SwiftExecution } from "@src/tasks/SwiftExecution"; import { SwiftPluginTaskProvider } from "@src/tasks/SwiftPluginTaskProvider"; -import { FolderContext } from "@src/FolderContext"; -import { - activateExtensionForSuite, - folderInRootWorkspace, - updateSettings, -} from "../utilities/testutilities"; +import { SwiftTask } from "@src/tasks/SwiftTaskProvider"; + import { cleanOutput, executeTaskAndWaitForResult, waitForEndTaskProcess, } from "../../utilities/tasks"; import { mutable } from "../../utilities/types"; -import { SwiftExecution } from "@src/tasks/SwiftExecution"; -import { SwiftTask } from "@src/tasks/SwiftTaskProvider"; +import { + activateExtensionForSuite, + folderInRootWorkspace, + updateSettings, +} from "../utilities/testutilities"; suite("SwiftPluginTaskProvider Test Suite", function () { let workspaceContext: WorkspaceContext; diff --git a/test/integration-tests/tasks/SwiftPseudoterminal.test.ts b/test/integration-tests/tasks/SwiftPseudoterminal.test.ts index 7daee4c79..f314bd16a 100644 --- a/test/integration-tests/tasks/SwiftPseudoterminal.test.ts +++ b/test/integration-tests/tasks/SwiftPseudoterminal.test.ts @@ -11,12 +11,13 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as assert from "assert"; import * as vscode from "vscode"; + +import { SwiftPseudoterminal } from "@src/tasks/SwiftPseudoterminal"; + import { TestSwiftProcess } from "../../fixtures"; import { waitForClose, waitForWrite } from "../../utilities/tasks"; -import { SwiftPseudoterminal } from "@src/tasks/SwiftPseudoterminal"; suite("SwiftPseudoterminal Tests Suite", () => { test("Close event handler fires", async () => { diff --git a/test/integration-tests/tasks/SwiftTaskProvider.test.ts b/test/integration-tests/tasks/SwiftTaskProvider.test.ts index 8d3eb77f2..7315fdd92 100644 --- a/test/integration-tests/tasks/SwiftTaskProvider.test.ts +++ b/test/integration-tests/tasks/SwiftTaskProvider.test.ts @@ -11,23 +11,24 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - +import * as assert from "assert"; import { expect } from "chai"; import * as vscode from "vscode"; -import * as assert from "assert"; + +import { FolderContext } from "@src/FolderContext"; import { WorkspaceContext } from "@src/WorkspaceContext"; -import { createSwiftTask, createBuildAllTask, getBuildAllTask } from "@src/tasks/SwiftTaskProvider"; +import { createBuildAllTask, createSwiftTask, getBuildAllTask } from "@src/tasks/SwiftTaskProvider"; import { SwiftToolchain } from "@src/toolchain/toolchain"; -import { executeTaskAndWaitForResult, waitForEndTaskProcess } from "../../utilities/tasks"; import { Version } from "@src/utilities/version"; -import { FolderContext } from "@src/FolderContext"; + import { mockGlobalObject } from "../../MockUtils"; +import { tag } from "../../tags"; +import { executeTaskAndWaitForResult, waitForEndTaskProcess } from "../../utilities/tasks"; import { activateExtensionForSuite, folderInRootWorkspace, updateSettings, } from "../utilities/testutilities"; -import { tag } from "../../tags"; suite("SwiftTaskProvider Test Suite", () => { let workspaceContext: WorkspaceContext; diff --git a/test/integration-tests/tasks/TaskManager.test.ts b/test/integration-tests/tasks/TaskManager.test.ts index f2c7423a1..45de5cf47 100644 --- a/test/integration-tests/tasks/TaskManager.test.ts +++ b/test/integration-tests/tasks/TaskManager.test.ts @@ -11,11 +11,12 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as assert from "assert"; -import { TaskManager } from "@src/tasks/TaskManager"; +import * as vscode from "vscode"; + import { WorkspaceContext } from "@src/WorkspaceContext"; +import { TaskManager } from "@src/tasks/TaskManager"; + import { activateExtensionForSuite } from "../utilities/testutilities"; suite("TaskManager Test Suite", () => { diff --git a/test/integration-tests/tasks/TaskQueue.test.ts b/test/integration-tests/tasks/TaskQueue.test.ts index fd4ea48c9..9a84c7330 100644 --- a/test/integration-tests/tasks/TaskQueue.test.ts +++ b/test/integration-tests/tasks/TaskQueue.test.ts @@ -11,14 +11,15 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as assert from "assert"; -import { testAssetPath } from "../../fixtures"; +import * as vscode from "vscode"; + import { WorkspaceContext } from "@src/WorkspaceContext"; import { SwiftExecOperation, TaskOperation, TaskQueue } from "@src/tasks/TaskQueue"; -import { activateExtensionForSuite, findWorkspaceFolder } from "../utilities/testutilities"; + +import { testAssetPath } from "../../fixtures"; import { tag } from "../../tags"; +import { activateExtensionForSuite, findWorkspaceFolder } from "../utilities/testutilities"; suite("TaskQueue Test Suite", () => { let workspaceContext: WorkspaceContext; diff --git a/test/integration-tests/testexplorer/DocumentSymbolTestDiscovery.test.ts b/test/integration-tests/testexplorer/DocumentSymbolTestDiscovery.test.ts index 3c75d6848..4cce4367f 100644 --- a/test/integration-tests/testexplorer/DocumentSymbolTestDiscovery.test.ts +++ b/test/integration-tests/testexplorer/DocumentSymbolTestDiscovery.test.ts @@ -11,9 +11,9 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as assert from "assert"; import * as vscode from "vscode"; + import { parseTestsFromDocumentSymbols } from "@src/TestExplorer/DocumentSymbolTestDiscovery"; import { TestClass } from "@src/TestExplorer/TestDiscovery"; diff --git a/test/integration-tests/testexplorer/LSPTestDiscovery.test.ts b/test/integration-tests/testexplorer/LSPTestDiscovery.test.ts index 6ebe39dfc..8173b5842 100644 --- a/test/integration-tests/testexplorer/LSPTestDiscovery.test.ts +++ b/test/integration-tests/testexplorer/LSPTestDiscovery.test.ts @@ -11,31 +11,32 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as assert from "assert"; -import * as vscode from "vscode"; import { beforeEach } from "mocha"; +import * as vscode from "vscode"; +import * as p2c from "vscode-languageclient/lib/common/protocolConverter"; import { LanguageClient, + Location, MessageSignature, + Position, + Range, RequestType0, RequestType, - Location, - Range, - Position, } from "vscode-languageclient/node"; -import * as p2c from "vscode-languageclient/lib/common/protocolConverter"; -import { LSPTestDiscovery } from "@src/TestExplorer/LSPTestDiscovery"; + import { SwiftPackage, Target, TargetType } from "@src/SwiftPackage"; +import { LSPTestDiscovery } from "@src/TestExplorer/LSPTestDiscovery"; import { TestClass } from "@src/TestExplorer/TestDiscovery"; -import { SwiftToolchain } from "@src/toolchain/toolchain"; +import { LanguageClientManager } from "@src/sourcekit-lsp/LanguageClientManager"; import { LSPTestItem, TextDocumentTestsRequest, WorkspaceTestsRequest, } from "@src/sourcekit-lsp/extensions"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; + import { instance, mockFn, mockObject } from "../../MockUtils"; -import { LanguageClientManager } from "@src/sourcekit-lsp/LanguageClientManager"; class TestLanguageClient { private responses = new Map(); diff --git a/test/integration-tests/testexplorer/MockTestRunState.ts b/test/integration-tests/testexplorer/MockTestRunState.ts index 4caddfd3c..8af2f3c7b 100644 --- a/test/integration-tests/testexplorer/MockTestRunState.ts +++ b/test/integration-tests/testexplorer/MockTestRunState.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { ITestRunState, TestIssueDiff } from "@src/TestExplorer/TestParsers/TestRunState"; /** TestStatus */ diff --git a/test/integration-tests/testexplorer/SPMTestListOutputParser.test.ts b/test/integration-tests/testexplorer/SPMTestListOutputParser.test.ts index f04dd9570..60a858f3c 100644 --- a/test/integration-tests/testexplorer/SPMTestListOutputParser.test.ts +++ b/test/integration-tests/testexplorer/SPMTestListOutputParser.test.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as assert from "assert"; + import { parseTestsFromSwiftTestListOutput } from "@src/TestExplorer/SPMTestDiscovery"; import { TestClass } from "@src/TestExplorer/TestDiscovery"; diff --git a/test/integration-tests/testexplorer/SwiftTestingOutputParser.test.ts b/test/integration-tests/testexplorer/SwiftTestingOutputParser.test.ts index d6959306f..23751e04c 100644 --- a/test/integration-tests/testexplorer/SwiftTestingOutputParser.test.ts +++ b/test/integration-tests/testexplorer/SwiftTestingOutputParser.test.ts @@ -11,22 +11,23 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as assert from "assert"; -import * as vscode from "vscode"; import { beforeEach } from "mocha"; +import { Readable } from "stream"; +import * as vscode from "vscode"; + import { - SwiftTestEvent, + EventMessage, EventRecord, - SwiftTestingOutputParser, EventRecordPayload, - EventMessage, + MessageRenderer, SourceLocation, + SwiftTestEvent, + SwiftTestingOutputParser, TestSymbol, - MessageRenderer, } from "@src/TestExplorer/TestParsers/SwiftTestingOutputParser"; + import { TestRunState, TestStatus } from "./MockTestRunState"; -import { Readable } from "stream"; class TestEventStream { constructor(private items: SwiftTestEvent[]) {} diff --git a/test/integration-tests/testexplorer/TestDiscovery.test.ts b/test/integration-tests/testexplorer/TestDiscovery.test.ts index ea6678fde..df1cd7409 100644 --- a/test/integration-tests/testexplorer/TestDiscovery.test.ts +++ b/test/integration-tests/testexplorer/TestDiscovery.test.ts @@ -11,10 +11,11 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as assert from "assert"; -import * as vscode from "vscode"; import { beforeEach } from "mocha"; +import * as vscode from "vscode"; + +import { SwiftPackage, Target, TargetType } from "@src/SwiftPackage"; import { TestClass, updateTests, @@ -22,9 +23,8 @@ import { updateTestsFromClasses, } from "@src/TestExplorer/TestDiscovery"; import { reduceTestItemChildren } from "@src/TestExplorer/TestUtils"; -import { SwiftPackage, Target, TargetType } from "@src/SwiftPackage"; -import { SwiftToolchain } from "@src/toolchain/toolchain"; import { TestStyle } from "@src/sourcekit-lsp/extensions"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; suite("TestDiscovery Suite", () => { let testController: vscode.TestController; diff --git a/test/integration-tests/testexplorer/TestExplorerIntegration.test.ts b/test/integration-tests/testexplorer/TestExplorerIntegration.test.ts index ffede9ce9..a638717b8 100644 --- a/test/integration-tests/testexplorer/TestExplorerIntegration.test.ts +++ b/test/integration-tests/testexplorer/TestExplorerIntegration.test.ts @@ -11,45 +11,46 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as assert from "assert"; -import * as vscode from "vscode"; -import * as path from "path"; import * as fs from "fs"; -import { beforeEach, afterEach } from "mocha"; +import { afterEach, beforeEach } from "mocha"; +import * as path from "path"; +import * as vscode from "vscode"; + +import { FolderContext } from "@src/FolderContext"; +import { runnableTag } from "@src/TestExplorer/TestDiscovery"; import { TestExplorer } from "@src/TestExplorer/TestExplorer"; -import { - assertContains, - assertContainsTrimmed, - assertTestControllerHierarchy, - assertTestResults, - buildStateFromController, - eventPromise, - gatherTests, - runTest, - waitForTestExplorerReady, -} from "./utilities"; -import { WorkspaceContext } from "@src/WorkspaceContext"; -import { Version } from "@src/utilities/version"; import { TestKind } from "@src/TestExplorer/TestKind"; import { MessageRenderer, TestSymbol, } from "@src/TestExplorer/TestParsers/SwiftTestingOutputParser"; import { flattenTestItemCollection, reduceTestItemChildren } from "@src/TestExplorer/TestUtils"; -import { runnableTag } from "@src/TestExplorer/TestDiscovery"; -import { - activateExtensionForSuite, - folderInRootWorkspace, - updateSettings, -} from "../utilities/testutilities"; +import { WorkspaceContext } from "@src/WorkspaceContext"; import { Commands } from "@src/commands"; -import { executeTaskAndWaitForResult } from "../../utilities/tasks"; import { createBuildAllTask } from "@src/tasks/SwiftTaskProvider"; -import { FolderContext } from "@src/FolderContext"; import { lineBreakRegex } from "@src/utilities/tasks"; import { randomString } from "@src/utilities/utilities"; +import { Version } from "@src/utilities/version"; + import { tag } from "../../tags"; +import { executeTaskAndWaitForResult } from "../../utilities/tasks"; +import { + activateExtensionForSuite, + folderInRootWorkspace, + updateSettings, +} from "../utilities/testutilities"; +import { + assertContains, + assertContainsTrimmed, + assertTestControllerHierarchy, + assertTestResults, + buildStateFromController, + eventPromise, + gatherTests, + runTest, + waitForTestExplorerReady, +} from "./utilities"; tag("large").suite("Test Explorer Suite", function () { let workspaceContext: WorkspaceContext; diff --git a/test/integration-tests/testexplorer/TestRunArguments.test.ts b/test/integration-tests/testexplorer/TestRunArguments.test.ts index cd6dd23bd..296e83d8a 100644 --- a/test/integration-tests/testexplorer/TestRunArguments.test.ts +++ b/test/integration-tests/testexplorer/TestRunArguments.test.ts @@ -11,10 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as assert from "assert"; -import { beforeEach, afterEach } from "mocha"; +import { afterEach, beforeEach } from "mocha"; +import * as vscode from "vscode"; + import { TestRunArguments } from "@src/TestExplorer/TestRunArguments"; import { flattenTestItemCollection } from "@src/TestExplorer/TestUtils"; diff --git a/test/integration-tests/testexplorer/XCTestOutputParser.test.ts b/test/integration-tests/testexplorer/XCTestOutputParser.test.ts index 9ea016692..1af395eb9 100644 --- a/test/integration-tests/testexplorer/XCTestOutputParser.test.ts +++ b/test/integration-tests/testexplorer/XCTestOutputParser.test.ts @@ -11,20 +11,21 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as assert from "assert"; import { beforeEach } from "mocha"; + import { + XCTestOutputParser, darwinTestRegex, nonDarwinTestRegex, - XCTestOutputParser, } from "@src/TestExplorer/TestParsers/XCTestOutputParser"; -import { TestRunState, TestRunTestItem, TestStatus } from "./MockTestRunState"; -import { sourceLocationToVSCodeLocation } from "@src/utilities/utilities"; import { TestXUnitParser } from "@src/TestExplorer/TestXUnitParser"; -import { activateExtensionForSuite } from "../utilities/testutilities"; -import { lineBreakRegex } from "@src/utilities/tasks"; import { WorkspaceContext } from "@src/WorkspaceContext"; +import { lineBreakRegex } from "@src/utilities/tasks"; +import { sourceLocationToVSCodeLocation } from "@src/utilities/utilities"; + +import { activateExtensionForSuite } from "../utilities/testutilities"; +import { TestRunState, TestRunTestItem, TestStatus } from "./MockTestRunState"; enum ParserTestKind { Regular = "Regular Test Run", diff --git a/test/integration-tests/testexplorer/utilities.ts b/test/integration-tests/testexplorer/utilities.ts index 5ae4d7e6c..bde6e8503 100644 --- a/test/integration-tests/testexplorer/utilities.ts +++ b/test/integration-tests/testexplorer/utilities.ts @@ -11,21 +11,23 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as assert from "assert"; -import { reduceTestItemChildren } from "@src/TestExplorer/TestUtils"; -import { TestRunProxy } from "@src/TestExplorer/TestRunner"; +import * as vscode from "vscode"; + import { TestExplorer } from "@src/TestExplorer/TestExplorer"; import { TestKind } from "@src/TestExplorer/TestKind"; +import { TestRunProxy } from "@src/TestExplorer/TestRunner"; +import { reduceTestItemChildren } from "@src/TestExplorer/TestUtils"; import { WorkspaceContext } from "@src/WorkspaceContext"; + import { testAssetUri } from "../../fixtures"; import { + SettingsMap, activateExtension, deactivateExtension, - SettingsMap, updateSettings, } from "../utilities/testutilities"; + // eslint-disable-next-line @typescript-eslint/no-require-imports import stripAnsi = require("strip-ansi"); diff --git a/test/integration-tests/ui/ProjectPanelProvider.test.ts b/test/integration-tests/ui/ProjectPanelProvider.test.ts index 777a68954..c8a0cfd0d 100644 --- a/test/integration-tests/ui/ProjectPanelProvider.test.ts +++ b/test/integration-tests/ui/ProjectPanelProvider.test.ts @@ -11,30 +11,31 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { expect } from "chai"; -import { beforeEach, afterEach } from "mocha"; -import * as vscode from "vscode"; +import { afterEach, beforeEach } from "mocha"; import * as path from "path"; +import * as vscode from "vscode"; + +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { Commands } from "@src/commands"; +import { createBuildAllTask } from "@src/tasks/SwiftTaskProvider"; import { - ProjectPanelProvider, - PackageNode, FileNode, + PackageNode, + ProjectPanelProvider, TreeNode, } from "@src/ui/ProjectPanelProvider"; -import { executeTaskAndWaitForResult, waitForNoRunningTasks } from "../../utilities/tasks"; -import { createBuildAllTask } from "@src/tasks/SwiftTaskProvider"; +import { wait } from "@src/utilities/utilities"; +import { Version } from "@src/utilities/version"; + import { testAssetPath } from "../../fixtures"; +import { tag } from "../../tags"; +import { executeTaskAndWaitForResult, waitForNoRunningTasks } from "../../utilities/tasks"; import { activateExtensionForSuite, folderInRootWorkspace, updateSettings, } from "../utilities/testutilities"; -import { WorkspaceContext } from "@src/WorkspaceContext"; -import { Version } from "@src/utilities/version"; -import { wait } from "@src/utilities/utilities"; -import { Commands } from "@src/commands"; -import { tag } from "../../tags"; tag("medium").suite("ProjectPanelProvider Test Suite", function () { let workspaceContext: WorkspaceContext; diff --git a/test/integration-tests/ui/SwiftOutputChannel.test.ts b/test/integration-tests/ui/SwiftOutputChannel.test.ts index 65a1f1c82..978d49120 100644 --- a/test/integration-tests/ui/SwiftOutputChannel.test.ts +++ b/test/integration-tests/ui/SwiftOutputChannel.test.ts @@ -11,11 +11,11 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as assert from "assert"; +import { join } from "path"; + import { SwiftOutputChannel } from "@src/logging/SwiftOutputChannel"; import { TemporaryFolder } from "@src/utilities/tempFolder"; -import { join } from "path"; suite("SwiftOutputChannel", function () { let channel: SwiftOutputChannel; diff --git a/test/integration-tests/utilities/filesystem.test.ts b/test/integration-tests/utilities/filesystem.test.ts index e2da96ada..a69139c29 100644 --- a/test/integration-tests/utilities/filesystem.test.ts +++ b/test/integration-tests/utilities/filesystem.test.ts @@ -11,9 +11,9 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as assert from "assert"; import * as path from "path"; + import { fileExists, pathExists } from "@src/utilities/filesystem"; suite("File System Utilities Test Suite", () => { diff --git a/test/integration-tests/utilities/lsputilities.ts b/test/integration-tests/utilities/lsputilities.ts index a474b1d0d..7f744c2b6 100644 --- a/test/integration-tests/utilities/lsputilities.ts +++ b/test/integration-tests/utilities/lsputilities.ts @@ -11,9 +11,9 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; import * as langclient from "vscode-languageclient/node"; + import { LanguageClientManager } from "@src/sourcekit-lsp/LanguageClientManager"; export async function waitForClient( diff --git a/test/integration-tests/utilities/testutilities.test.ts b/test/integration-tests/utilities/testutilities.test.ts index 86f38ba29..618c23143 100644 --- a/test/integration-tests/utilities/testutilities.test.ts +++ b/test/integration-tests/utilities/testutilities.test.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { expect } from "chai"; + import { isConfigurationSuperset } from "./testutilities"; suite("Test Utilities", () => { diff --git a/test/integration-tests/utilities/testutilities.ts b/test/integration-tests/utilities/testutilities.ts index 4f0f8ab13..6636e42a4 100644 --- a/test/integration-tests/utilities/testutilities.ts +++ b/test/integration-tests/utilities/testutilities.ts @@ -11,22 +11,23 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as assert from "assert"; import * as mocha from "mocha"; -import { Api } from "@src/extension"; -import { testAssetPath, testAssetUri } from "../../fixtures"; -import { FolderOperation, WorkspaceContext } from "@src/WorkspaceContext"; -import { FolderContext } from "@src/FolderContext"; -import { waitForNoRunningTasks } from "../../utilities/tasks"; -import { closeAllEditors } from "../../utilities/commands"; import { isDeepStrictEqual } from "util"; -import { Version } from "@src/utilities/version"; +import * as vscode from "vscode"; + +import { FolderContext } from "@src/FolderContext"; +import { FolderOperation, WorkspaceContext } from "@src/WorkspaceContext"; import configuration from "@src/configuration"; -import { buildAllTaskName, resetBuildAllTaskCache } from "@src/tasks/SwiftTaskProvider"; +import { Api } from "@src/extension"; import { SwiftLogger } from "@src/logging/SwiftLogger"; +import { buildAllTaskName, resetBuildAllTaskCache } from "@src/tasks/SwiftTaskProvider"; import { Extension } from "@src/utilities/extensions"; +import { Version } from "@src/utilities/version"; + +import { testAssetPath, testAssetUri } from "../../fixtures"; +import { closeAllEditors } from "../../utilities/commands"; +import { waitForNoRunningTasks } from "../../utilities/tasks"; export function getRootWorkspaceFolder(): vscode.WorkspaceFolder { const result = vscode.workspace.workspaceFolders?.at(0); diff --git a/test/integration-tests/utilities/utilities.test.ts b/test/integration-tests/utilities/utilities.test.ts index 47866cb39..6c5da09af 100644 --- a/test/integration-tests/utilities/utilities.test.ts +++ b/test/integration-tests/utilities/utilities.test.ts @@ -11,9 +11,9 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as assert from "assert"; import * as Stream from "stream"; + import { execFileStreamOutput, execSwift, getSwiftExecutable } from "@src/utilities/utilities"; suite("Utilities Test Suite", () => { diff --git a/test/integration-tests/utilities/workspace.test.ts b/test/integration-tests/utilities/workspace.test.ts index b3300890c..c1e10c8ed 100644 --- a/test/integration-tests/utilities/workspace.test.ts +++ b/test/integration-tests/utilities/workspace.test.ts @@ -11,10 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - +import { expect } from "chai"; import * as vscode from "vscode"; + import { searchForPackages } from "@src/utilities/workspace"; -import { expect } from "chai"; suite("Workspace Utilities Test Suite", () => { suite("searchForPackages", () => { diff --git a/test/unit-tests/MockUtils.test.ts b/test/unit-tests/MockUtils.test.ts index 4d739d8ed..02fe92d1d 100644 --- a/test/unit-tests/MockUtils.test.ts +++ b/test/unit-tests/MockUtils.test.ts @@ -11,11 +11,14 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { expect } from "chai"; +import * as fs from "fs/promises"; import { stub } from "sinon"; import * as vscode from "vscode"; -import * as fs from "fs/promises"; + +import configuration from "@src/configuration"; +import { Version } from "@src/utilities/version"; + import { AsyncEventEmitter, mockFn, @@ -26,8 +29,6 @@ import { mockObject, waitForReturnedPromises, } from "../MockUtils"; -import { Version } from "@src/utilities/version"; -import configuration from "@src/configuration"; // eslint-disable-next-line @typescript-eslint/no-unused-vars function emptyFunction(..._: any): any { diff --git a/test/unit-tests/commands/newSwiftFile.test.ts b/test/unit-tests/commands/newSwiftFile.test.ts index e24b77492..b10f4efb0 100644 --- a/test/unit-tests/commands/newSwiftFile.test.ts +++ b/test/unit-tests/commands/newSwiftFile.test.ts @@ -11,15 +11,16 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import { expect } from "chai"; -import { match } from "sinon"; import * as path from "path"; +import { match } from "sinon"; +import * as vscode from "vscode"; + import { newSwiftFile } from "@src/commands/newFile"; -import { mockGlobalObject } from "../../MockUtils"; -import { TemporaryFolder } from "@src/utilities/tempFolder"; import { fileExists } from "@src/utilities/filesystem"; +import { TemporaryFolder } from "@src/utilities/tempFolder"; + +import { mockGlobalObject } from "../../MockUtils"; suite("newSwiftFile Command Test Suite", () => { const workspaceMock = mockGlobalObject(vscode, "workspace"); diff --git a/test/unit-tests/commands/openPackage.test.ts b/test/unit-tests/commands/openPackage.test.ts index 7494f5482..1b6546cf2 100644 --- a/test/unit-tests/commands/openPackage.test.ts +++ b/test/unit-tests/commands/openPackage.test.ts @@ -11,16 +11,17 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - // import * as assert from "assert"; -import * as vscode from "vscode"; -import * as path from "path"; import { expect } from "chai"; +import * as path from "path"; import { match } from "sinon"; -import { mockGlobalModule, mockGlobalObject } from "../../MockUtils"; +import * as vscode from "vscode"; + import { openPackage } from "@src/commands/openPackage"; -import { Version } from "@src/utilities/version"; import * as fs from "@src/utilities/filesystem"; +import { Version } from "@src/utilities/version"; + +import { mockGlobalModule, mockGlobalObject } from "../../MockUtils"; suite("openPackage Command Test Suite", () => { const windowMock = mockGlobalObject(vscode, "window"); diff --git a/test/unit-tests/commands/runPluginTask.test.ts b/test/unit-tests/commands/runPluginTask.test.ts index cc0004a4f..9e742cdfb 100644 --- a/test/unit-tests/commands/runPluginTask.test.ts +++ b/test/unit-tests/commands/runPluginTask.test.ts @@ -11,13 +11,14 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; -import { mockGlobalObject } from "../../MockUtils"; import { expect } from "chai"; import { match } from "sinon"; +import * as vscode from "vscode"; + import { runPluginTask } from "@src/commands/runPluginTask"; +import { mockGlobalObject } from "../../MockUtils"; + suite("runPluginTask Test Suite", () => { const commandsMock = mockGlobalObject(vscode, "commands"); diff --git a/test/unit-tests/commands/runSwiftScript.test.ts b/test/unit-tests/commands/runSwiftScript.test.ts index 0b4ca10c6..072874ca0 100644 --- a/test/unit-tests/commands/runSwiftScript.test.ts +++ b/test/unit-tests/commands/runSwiftScript.test.ts @@ -11,17 +11,18 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; -import { beforeEach } from "mocha"; import { expect } from "chai"; +import { beforeEach } from "mocha"; import { match, stub } from "sinon"; -import { instance, mockFn, mockGlobalObject, mockGlobalValue, mockObject } from "../../MockUtils"; +import * as vscode from "vscode"; + import { runSwiftScript } from "@src/commands/runSwiftScript"; +import configuration from "@src/configuration"; import { TaskManager } from "@src/tasks/TaskManager"; -import { SwiftToolchain } from "@src/toolchain/toolchain"; import { BuildFlags } from "@src/toolchain/BuildFlags"; -import configuration from "@src/configuration"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; + +import { instance, mockFn, mockGlobalObject, mockGlobalValue, mockObject } from "../../MockUtils"; suite("runSwiftScript Test Suite", () => { const mockTaskManager = mockObject({ executeTaskAndWait: stub().resolves() }); diff --git a/test/unit-tests/commands/runTestMultipleTimes.test.ts b/test/unit-tests/commands/runTestMultipleTimes.test.ts index 7aa426b53..2eee2598a 100644 --- a/test/unit-tests/commands/runTestMultipleTimes.test.ts +++ b/test/unit-tests/commands/runTestMultipleTimes.test.ts @@ -11,9 +11,9 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import { expect } from "chai"; +import * as vscode from "vscode"; + import { extractTestItemsAndCount } from "@src/commands/testMultipleTimes"; suite("Run Tests Multiple Times", () => { diff --git a/test/unit-tests/commands/switchPlatform.test.ts b/test/unit-tests/commands/switchPlatform.test.ts index 40361c25b..55c4c895e 100644 --- a/test/unit-tests/commands/switchPlatform.test.ts +++ b/test/unit-tests/commands/switchPlatform.test.ts @@ -11,26 +11,27 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { expect } from "chai"; import * as vscode from "vscode"; -import { - mockObject, - mockGlobalObject, - mockGlobalModule, - MockedObject, - mockFn, - instance, -} from "../../MockUtils"; + +import { WorkspaceContext } from "@src/WorkspaceContext"; +import { switchPlatform } from "@src/commands/switchPlatform"; +import configuration from "@src/configuration"; import { DarwinCompatibleTarget, SwiftToolchain, getDarwinTargetTriple, } from "@src/toolchain/toolchain"; -import { WorkspaceContext } from "@src/WorkspaceContext"; -import { switchPlatform } from "@src/commands/switchPlatform"; import { StatusItem } from "@src/ui/StatusItem"; -import configuration from "@src/configuration"; + +import { + MockedObject, + instance, + mockFn, + mockGlobalModule, + mockGlobalObject, + mockObject, +} from "../../MockUtils"; suite("Switch Target Platform Unit Tests", () => { const mockedConfiguration = mockGlobalModule(configuration); diff --git a/test/unit-tests/debugger/debugAdapter.test.ts b/test/unit-tests/debugger/debugAdapter.test.ts index 7a3290eae..c5c802295 100644 --- a/test/unit-tests/debugger/debugAdapter.test.ts +++ b/test/unit-tests/debugger/debugAdapter.test.ts @@ -11,14 +11,15 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { expect } from "chai"; import * as mockFS from "mock-fs"; -import { MockedObject, mockObject, instance, mockGlobalModule } from "../../MockUtils"; + import configuration from "@src/configuration"; import { DebugAdapter, LaunchConfigType } from "@src/debugger/debugAdapter"; import { Version } from "@src/utilities/version"; +import { MockedObject, instance, mockGlobalModule, mockObject } from "../../MockUtils"; + suite("DebugAdapter Unit Test Suite", () => { const mockConfiguration = mockGlobalModule(configuration); diff --git a/test/unit-tests/debugger/debugAdapterFactory.test.ts b/test/unit-tests/debugger/debugAdapterFactory.test.ts index 5203eb9f3..285a8dbaa 100644 --- a/test/unit-tests/debugger/debugAdapterFactory.test.ts +++ b/test/unit-tests/debugger/debugAdapterFactory.test.ts @@ -11,29 +11,30 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import { expect } from "chai"; +import * as mockFS from "mock-fs"; +import * as vscode from "vscode"; + +import { FolderContext } from "@src/FolderContext"; +import { WorkspaceContext } from "@src/WorkspaceContext"; +import configuration from "@src/configuration"; +import { LaunchConfigType, SWIFT_LAUNCH_CONFIG_TYPE } from "@src/debugger/debugAdapter"; +import * as debugAdapter from "@src/debugger/debugAdapter"; import { LLDBDebugConfigurationProvider } from "@src/debugger/debugAdapterFactory"; +import * as lldb from "@src/debugger/lldb"; +import { SwiftLogger } from "@src/logging/SwiftLogger"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; +import { Result } from "@src/utilities/result"; import { Version } from "@src/utilities/version"; + import { - mockGlobalObject, MockedObject, - mockObject, instance, - mockGlobalModule, mockFn, + mockGlobalModule, + mockGlobalObject, + mockObject, } from "../../MockUtils"; -import * as mockFS from "mock-fs"; -import { LaunchConfigType, SWIFT_LAUNCH_CONFIG_TYPE } from "@src/debugger/debugAdapter"; -import * as lldb from "@src/debugger/lldb"; -import { SwiftToolchain } from "@src/toolchain/toolchain"; -import * as debugAdapter from "@src/debugger/debugAdapter"; -import { Result } from "@src/utilities/result"; -import configuration from "@src/configuration"; -import { WorkspaceContext } from "@src/WorkspaceContext"; -import { FolderContext } from "@src/FolderContext"; -import { SwiftLogger } from "@src/logging/SwiftLogger"; suite("LLDBDebugConfigurationProvider Tests", () => { let mockWorkspaceContext: MockedObject; diff --git a/test/unit-tests/debugger/launch.test.ts b/test/unit-tests/debugger/launch.test.ts index 3d99ee0a4..cc6c04bce 100644 --- a/test/unit-tests/debugger/launch.test.ts +++ b/test/unit-tests/debugger/launch.test.ts @@ -11,22 +11,23 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import { expect } from "chai"; +import * as vscode from "vscode"; + +import { FolderContext } from "@src/FolderContext"; +import { Product, SwiftPackage } from "@src/SwiftPackage"; import configuration, { FolderConfiguration } from "@src/configuration"; +import { SWIFT_LAUNCH_CONFIG_TYPE } from "@src/debugger/debugAdapter"; import { makeDebugConfigurations } from "@src/debugger/launch"; -import { FolderContext } from "@src/FolderContext"; + import { - instance, MockedObject, + instance, mockFn, mockGlobalModule, mockGlobalObject, mockObject, } from "../../MockUtils"; -import { Product, SwiftPackage } from "@src/SwiftPackage"; -import { SWIFT_LAUNCH_CONFIG_TYPE } from "@src/debugger/debugAdapter"; suite("Launch Configurations Test", () => { const mockConfiguration = mockGlobalModule(configuration); diff --git a/test/unit-tests/debugger/lldb.test.ts b/test/unit-tests/debugger/lldb.test.ts index c7245aa78..91c61c69a 100644 --- a/test/unit-tests/debugger/lldb.test.ts +++ b/test/unit-tests/debugger/lldb.test.ts @@ -11,22 +11,23 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as util from "@src/utilities/utilities"; -import * as lldb from "@src/debugger/lldb"; +import { expect } from "chai"; import * as fs from "fs/promises"; import * as sinon from "sinon"; -import { expect } from "chai"; + +import * as lldb from "@src/debugger/lldb"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; +import * as util from "@src/utilities/utilities"; + import { - instance, + MockedFunction, MockedObject, + instance, mockFn, mockGlobalModule, - mockObject, - MockedFunction, mockGlobalValue, + mockObject, } from "../../MockUtils"; -import { SwiftToolchain } from "@src/toolchain/toolchain"; suite("debugger.lldb Tests", () => { suite("getLLDBLibPath Tests", () => { diff --git a/test/unit-tests/sourcekit-lsp/LanguageClientManager.test.ts b/test/unit-tests/sourcekit-lsp/LanguageClientManager.test.ts index 8410cdf7b..0fe5b4b5d 100644 --- a/test/unit-tests/sourcekit-lsp/LanguageClientManager.test.ts +++ b/test/unit-tests/sourcekit-lsp/LanguageClientManager.test.ts @@ -11,26 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; -import * as path from "path"; import { expect } from "chai"; +import * as path from "path"; import { match } from "sinon"; -import { FolderEvent, FolderOperation, WorkspaceContext } from "@src/WorkspaceContext"; -import { Version } from "@src/utilities/version"; -import { SwiftToolchain } from "@src/toolchain/toolchain"; -import { BuildFlags } from "@src/toolchain/BuildFlags"; -import { - MockedObject, - mockObject, - instance, - mockGlobalModule, - waitForReturnedPromises, - AsyncEventEmitter, - mockGlobalObject, - mockGlobalValue, - mockFn, -} from "../../MockUtils"; +import * as vscode from "vscode"; import { Code2ProtocolConverter, DidChangeWorkspaceFoldersNotification, @@ -40,19 +24,36 @@ import { State, StateChangeEvent, } from "vscode-languageclient/node"; -import { LanguageClientManager } from "@src/sourcekit-lsp/LanguageClientManager"; -import { LanguageClientToolchainCoordinator } from "@src/sourcekit-lsp/LanguageClientToolchainCoordinator"; -import configuration from "@src/configuration"; + import { FolderContext } from "@src/FolderContext"; +import { FolderEvent, FolderOperation, WorkspaceContext } from "@src/WorkspaceContext"; +import configuration from "@src/configuration"; +import { SwiftLogger } from "@src/logging/SwiftLogger"; +import { SwiftLoggerFactory } from "@src/logging/SwiftLoggerFactory"; +import { SwiftOutputChannel } from "@src/logging/SwiftOutputChannel"; import { LanguageClientFactory } from "@src/sourcekit-lsp/LanguageClientFactory"; +import { LanguageClientManager } from "@src/sourcekit-lsp/LanguageClientManager"; +import { LanguageClientToolchainCoordinator } from "@src/sourcekit-lsp/LanguageClientToolchainCoordinator"; import { LSPActiveDocumentManager } from "@src/sourcekit-lsp/didChangeActiveDocument"; import { DidChangeActiveDocumentNotification, DidChangeActiveDocumentParams, } from "@src/sourcekit-lsp/extensions/DidChangeActiveDocumentRequest"; -import { SwiftLogger } from "@src/logging/SwiftLogger"; -import { SwiftOutputChannel } from "@src/logging/SwiftOutputChannel"; -import { SwiftLoggerFactory } from "@src/logging/SwiftLoggerFactory"; +import { BuildFlags } from "@src/toolchain/BuildFlags"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; +import { Version } from "@src/utilities/version"; + +import { + AsyncEventEmitter, + MockedObject, + instance, + mockFn, + mockGlobalModule, + mockGlobalObject, + mockGlobalValue, + mockObject, + waitForReturnedPromises, +} from "../../MockUtils"; suite("LanguageClientManager Suite", () => { let languageClientFactoryMock: MockedObject; diff --git a/test/unit-tests/sourcekit-lsp/uriConverters.test.ts b/test/unit-tests/sourcekit-lsp/uriConverters.test.ts index 1594a2c22..09f5b0387 100644 --- a/test/unit-tests/sourcekit-lsp/uriConverters.test.ts +++ b/test/unit-tests/sourcekit-lsp/uriConverters.test.ts @@ -11,9 +11,9 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { expect } from "chai"; import * as vscode from "vscode"; + import { uriConverters } from "@src/sourcekit-lsp/uriConverters"; /// Check that decoding the given URI string and re-encoding it results in the original string and that the decoded Uri diff --git a/test/unit-tests/tasks/SwiftPluginTaskProvider.test.ts b/test/unit-tests/tasks/SwiftPluginTaskProvider.test.ts index cda69ecbd..4f90d934c 100644 --- a/test/unit-tests/tasks/SwiftPluginTaskProvider.test.ts +++ b/test/unit-tests/tasks/SwiftPluginTaskProvider.test.ts @@ -11,21 +11,22 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as assert from "assert"; import * as os from "os"; import * as path from "path"; import { match } from "sinon"; +import * as vscode from "vscode"; + +import { FolderContext } from "@src/FolderContext"; import { WorkspaceContext } from "@src/WorkspaceContext"; +import configuration from "@src/configuration"; +import { SwiftExecution } from "@src/tasks/SwiftExecution"; import { SwiftPluginTaskProvider } from "@src/tasks/SwiftPluginTaskProvider"; +import { BuildFlags } from "@src/toolchain/BuildFlags"; import { SwiftToolchain } from "@src/toolchain/toolchain"; -import { SwiftExecution } from "@src/tasks/SwiftExecution"; import { Version } from "@src/utilities/version"; -import { BuildFlags } from "@src/toolchain/BuildFlags"; -import { instance, MockedObject, mockFn, mockGlobalValue, mockObject } from "../../MockUtils"; -import { FolderContext } from "@src/FolderContext"; -import configuration from "@src/configuration"; + +import { MockedObject, instance, mockFn, mockGlobalValue, mockObject } from "../../MockUtils"; suite("SwiftPluginTaskProvider Unit Test Suite", () => { let workspaceContext: MockedObject; diff --git a/test/unit-tests/tasks/SwiftTaskProvider.test.ts b/test/unit-tests/tasks/SwiftTaskProvider.test.ts index 626a5feea..1cefd5a78 100644 --- a/test/unit-tests/tasks/SwiftTaskProvider.test.ts +++ b/test/unit-tests/tasks/SwiftTaskProvider.test.ts @@ -11,12 +11,15 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import * as assert from "assert"; import * as os from "os"; import { match } from "sinon"; +import * as vscode from "vscode"; + +import { FolderContext } from "@src/FolderContext"; import { WorkspaceContext } from "@src/WorkspaceContext"; +import configuration from "@src/configuration"; +import { SwiftExecution } from "@src/tasks/SwiftExecution"; import { SwiftTaskProvider, buildOptions, @@ -24,21 +27,19 @@ import { getBuildAllTask, platformDebugBuildOptions, } from "@src/tasks/SwiftTaskProvider"; +import { BuildFlags } from "@src/toolchain/BuildFlags"; +import { Sanitizer } from "@src/toolchain/Sanitizer"; import { SwiftToolchain } from "@src/toolchain/toolchain"; -import { SwiftExecution } from "@src/tasks/SwiftExecution"; import { Version } from "@src/utilities/version"; -import { BuildFlags } from "@src/toolchain/BuildFlags"; + import { - mockObject, - mockGlobalObject, - mockGlobalValue, MockedObject, instance, mockFn, + mockGlobalObject, + mockGlobalValue, + mockObject, } from "../../MockUtils"; -import configuration from "@src/configuration"; -import { Sanitizer } from "@src/toolchain/Sanitizer"; -import { FolderContext } from "@src/FolderContext"; suite("SwiftTaskProvider Unit Test Suite", () => { let workspaceContext: MockedObject; diff --git a/test/unit-tests/terminal.test.ts b/test/unit-tests/terminal.test.ts index 42733ac88..e4a3f2e56 100644 --- a/test/unit-tests/terminal.test.ts +++ b/test/unit-tests/terminal.test.ts @@ -11,18 +11,19 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import { expect } from "chai"; +import * as vscode from "vscode"; + +import configuration from "@src/configuration"; +import { SwiftEnvironmentVariablesManager, SwiftTerminalProfileProvider } from "@src/terminal"; + import { - mockObject, - mockGlobalValue, MockedObject, instance, mockGlobalObject, + mockGlobalValue, + mockObject, } from "../MockUtils"; -import { SwiftEnvironmentVariablesManager, SwiftTerminalProfileProvider } from "@src/terminal"; -import configuration from "@src/configuration"; suite("Terminal", () => { const mockedPlatform = mockGlobalValue(process, "platform"); diff --git a/test/unit-tests/testexplorer/TestCodeLensProvider.test.ts b/test/unit-tests/testexplorer/TestCodeLensProvider.test.ts index 6cdf30e01..177e796eb 100644 --- a/test/unit-tests/testexplorer/TestCodeLensProvider.test.ts +++ b/test/unit-tests/testexplorer/TestCodeLensProvider.test.ts @@ -11,16 +11,17 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; -import * as sinon from "sinon"; -import * as TestUtils from "@src/TestExplorer/TestUtils"; import { expect } from "chai"; +import * as sinon from "sinon"; +import * as vscode from "vscode"; + import { TestCodeLensProvider } from "@src/TestExplorer/TestCodeLensProvider"; import { TestExplorer } from "@src/TestExplorer/TestExplorer"; -import { instance, mockObject } from "../../MockUtils"; +import * as TestUtils from "@src/TestExplorer/TestUtils"; import configuration from "@src/configuration"; +import { instance, mockObject } from "../../MockUtils"; + suite("TestCodeLensProvider", () => { let sandbox: sinon.SinonSandbox; let testExplorer: TestExplorer; diff --git a/test/unit-tests/toolchain/BuildFlags.test.ts b/test/unit-tests/toolchain/BuildFlags.test.ts index 5f17add9c..ebe0bc259 100644 --- a/test/unit-tests/toolchain/BuildFlags.test.ts +++ b/test/unit-tests/toolchain/BuildFlags.test.ts @@ -11,14 +11,15 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as path from "path"; import { expect } from "chai"; -import { DarwinCompatibleTarget, SwiftToolchain } from "@src/toolchain/toolchain"; +import * as path from "path"; + +import configuration from "@src/configuration"; import { ArgumentFilter, BuildFlags } from "@src/toolchain/BuildFlags"; +import { DarwinCompatibleTarget, SwiftToolchain } from "@src/toolchain/toolchain"; import { Version } from "@src/utilities/version"; -import configuration from "@src/configuration"; -import { mockObject, mockGlobalValue, MockedObject, instance } from "../../MockUtils"; + +import { MockedObject, instance, mockGlobalValue, mockObject } from "../../MockUtils"; suite("BuildFlags Test Suite", () => { const mockedPlatform = mockGlobalValue(process, "platform"); diff --git a/test/unit-tests/toolchain/SelectedXcodeWatcher.test.ts b/test/unit-tests/toolchain/SelectedXcodeWatcher.test.ts index ac3ba3067..286276ee1 100644 --- a/test/unit-tests/toolchain/SelectedXcodeWatcher.test.ts +++ b/test/unit-tests/toolchain/SelectedXcodeWatcher.test.ts @@ -11,23 +11,24 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import * as vscode from "vscode"; import { expect } from "chai"; +import * as vscode from "vscode"; + +import { Commands } from "@src/commands"; +import configuration from "@src/configuration"; +import { SwiftLogger } from "@src/logging/SwiftLogger"; import { SelectedXcodeWatcher } from "@src/toolchain/SelectedXcodeWatcher"; +import * as ReloadExtension from "@src/ui/ReloadExtension"; + import { - instance, MockedObject, + instance, mockFn, + mockGlobalModule, mockGlobalObject, mockGlobalValue, mockObject, - mockGlobalModule, } from "../../MockUtils"; -import configuration from "@src/configuration"; -import { Commands } from "@src/commands"; -import { SwiftLogger } from "@src/logging/SwiftLogger"; -import * as ReloadExtension from "@src/ui/ReloadExtension"; suite("Selected Xcode Watcher", () => { const mockedVSCodeWindow = mockGlobalObject(vscode, "window"); diff --git a/test/unit-tests/toolchain/ToolchainVersion.test.ts b/test/unit-tests/toolchain/ToolchainVersion.test.ts index e0f98d8a2..ea7626168 100644 --- a/test/unit-tests/toolchain/ToolchainVersion.test.ts +++ b/test/unit-tests/toolchain/ToolchainVersion.test.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { expect } from "chai"; + import { ToolchainVersion } from "@src/toolchain/ToolchainVersion"; suite("ToolchainVersion Unit Test Suite", () => { diff --git a/test/unit-tests/toolchain/swiftly.test.ts b/test/unit-tests/toolchain/swiftly.test.ts index fd2cbff5f..942742114 100644 --- a/test/unit-tests/toolchain/swiftly.test.ts +++ b/test/unit-tests/toolchain/swiftly.test.ts @@ -11,17 +11,18 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { expect } from "chai"; +import * as fs from "fs/promises"; import * as mockFS from "mock-fs"; import * as os from "os"; import { match } from "sinon"; -import { Swiftly } from "@src/toolchain/swiftly"; -import * as utilities from "@src/utilities/utilities"; -import { mockGlobalModule, mockGlobalValue, mockGlobalObject } from "../../MockUtils"; import * as vscode from "vscode"; -import * as fs from "fs/promises"; + import * as SwiftOutputChannelModule from "@src/logging/SwiftOutputChannel"; +import { Swiftly } from "@src/toolchain/swiftly"; +import * as utilities from "@src/utilities/utilities"; + +import { mockGlobalModule, mockGlobalObject, mockGlobalValue } from "../../MockUtils"; suite("Swiftly Unit Tests", () => { const mockUtilities = mockGlobalModule(utilities); diff --git a/test/unit-tests/toolchain/toolchain.test.ts b/test/unit-tests/toolchain/toolchain.test.ts index f05c38f4a..2c606b630 100644 --- a/test/unit-tests/toolchain/toolchain.test.ts +++ b/test/unit-tests/toolchain/toolchain.test.ts @@ -11,15 +11,16 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { expect } from "chai"; -import * as path from "path"; import * as mockFS from "mock-fs"; -import * as utilities from "@src/utilities/utilities"; +import * as path from "path"; + +import { Swiftly } from "@src/toolchain/swiftly"; import { SwiftToolchain } from "@src/toolchain/toolchain"; +import * as utilities from "@src/utilities/utilities"; import { Version } from "@src/utilities/version"; + import { mockGlobalModule, mockGlobalValue } from "../../MockUtils"; -import { Swiftly } from "@src/toolchain/swiftly"; suite("SwiftToolchain Unit Test Suite", () => { const mockedUtilities = mockGlobalModule(utilities); diff --git a/test/unit-tests/ui/PackageDependencyProvider.test.ts b/test/unit-tests/ui/PackageDependencyProvider.test.ts index fce586b43..671b27a84 100644 --- a/test/unit-tests/ui/PackageDependencyProvider.test.ts +++ b/test/unit-tests/ui/PackageDependencyProvider.test.ts @@ -11,12 +11,13 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { expect } from "chai"; +import * as fs from "fs/promises"; import * as path from "path"; import * as vscode from "vscode"; -import * as fs from "fs/promises"; + import { FileNode, PackageNode } from "@src/ui/ProjectPanelProvider"; + import { mockGlobalModule } from "../../MockUtils"; suite("PackageDependencyProvider Unit Test Suite", function () { diff --git a/test/unit-tests/ui/ReloadExtension.test.ts b/test/unit-tests/ui/ReloadExtension.test.ts index 5a10cb233..d9b2befcb 100644 --- a/test/unit-tests/ui/ReloadExtension.test.ts +++ b/test/unit-tests/ui/ReloadExtension.test.ts @@ -11,13 +11,15 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// -import { beforeEach } from "mocha"; import { expect } from "chai"; -import { mockGlobalObject } from "../../MockUtils"; +import { beforeEach } from "mocha"; import * as vscode from "vscode"; + import { showReloadExtensionNotificationInstance } from "@src/ui/ReloadExtension"; import { Workbench } from "@src/utilities/commands"; +import { mockGlobalObject } from "../../MockUtils"; + suite("showReloadExtensionNotification()", function () { const mockedVSCodeWindow = mockGlobalObject(vscode, "window"); const mockedVSCodeCommands = mockGlobalObject(vscode, "commands"); diff --git a/test/unit-tests/ui/SwiftBuildStatus.test.ts b/test/unit-tests/ui/SwiftBuildStatus.test.ts index d41c2af94..5b972fe55 100644 --- a/test/unit-tests/ui/SwiftBuildStatus.test.ts +++ b/test/unit-tests/ui/SwiftBuildStatus.test.ts @@ -12,21 +12,23 @@ // //===----------------------------------------------------------------------===// import { expect } from "chai"; -import configuration from "@src/configuration"; import * as vscode from "vscode"; + +import configuration from "@src/configuration"; +import { SwiftExecution } from "@src/tasks/SwiftExecution"; +import { StatusItem } from "@src/ui/StatusItem"; +import { SwiftBuildStatus } from "@src/ui/SwiftBuildStatus"; + import { - mockGlobalValue, - mockGlobalObject, - mockObject, MockedObject, - mockGlobalEvent, instance, mockFn, + mockGlobalEvent, + mockGlobalObject, + mockGlobalValue, + mockObject, } from "../../MockUtils"; -import { SwiftExecution } from "@src/tasks/SwiftExecution"; import { TestSwiftProcess } from "../../fixtures"; -import { StatusItem } from "@src/ui/StatusItem"; -import { SwiftBuildStatus } from "@src/ui/SwiftBuildStatus"; suite("SwiftBuildStatus Unit Test Suite", function () { const windowMock = mockGlobalObject(vscode, "window"); diff --git a/test/unit-tests/ui/ToolchainSelection.test.ts b/test/unit-tests/ui/ToolchainSelection.test.ts index b9910d78c..2a4687313 100644 --- a/test/unit-tests/ui/ToolchainSelection.test.ts +++ b/test/unit-tests/ui/ToolchainSelection.test.ts @@ -11,19 +11,20 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { expect } from "chai"; -import * as vscode from "vscode"; import * as mockFS from "mock-fs"; import * as sinon from "sinon"; import { match, stub } from "sinon"; -import { SwiftToolchain } from "@src/toolchain/toolchain"; +import * as vscode from "vscode"; + import { SwiftLogger } from "@src/logging/SwiftLogger"; import { Swiftly } from "@src/toolchain/swiftly"; -import { Version } from "@src/utilities/version"; -import * as utilities from "@src/utilities/utilities"; -import { mockGlobalModule, mockGlobalValue, mockGlobalObject } from "../../MockUtils"; +import { SwiftToolchain } from "@src/toolchain/toolchain"; import * as ToolchainSelectionModule from "@src/ui/ToolchainSelection"; +import * as utilities from "@src/utilities/utilities"; +import { Version } from "@src/utilities/version"; + +import { mockGlobalModule, mockGlobalObject, mockGlobalValue } from "../../MockUtils"; suite("ToolchainSelection Unit Test Suite", () => { const mockedUtilities = mockGlobalModule(utilities); diff --git a/test/unit-tests/utilities/filesystem.test.ts b/test/unit-tests/utilities/filesystem.test.ts index 4add4af8c..6cde1278c 100644 --- a/test/unit-tests/utilities/filesystem.test.ts +++ b/test/unit-tests/utilities/filesystem.test.ts @@ -11,16 +11,16 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - +import { expect } from "chai"; import * as path from "path"; import { Uri } from "vscode"; + import { - isPathInsidePath, expandFilePathTilde, isExcluded, isIncluded, + isPathInsidePath, } from "@src/utilities/filesystem"; -import { expect } from "chai"; suite("File System Utilities Unit Test Suite", () => { test("isPathInsidePath", () => { diff --git a/test/unit-tests/utilities/shell.test.ts b/test/unit-tests/utilities/shell.test.ts index 38b7cba33..e9d329951 100644 --- a/test/unit-tests/utilities/shell.test.ts +++ b/test/unit-tests/utilities/shell.test.ts @@ -11,10 +11,10 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - -import { beforeEach, afterEach } from "mocha"; import { expect } from "chai"; +import { afterEach, beforeEach } from "mocha"; import * as sinon from "sinon"; + import { findBinaryPath } from "@src/utilities/shell"; import * as utilities from "@src/utilities/utilities"; diff --git a/test/unit-tests/utilities/utilities.test.ts b/test/unit-tests/utilities/utilities.test.ts index b86fdf10c..586cb9836 100644 --- a/test/unit-tests/utilities/utilities.test.ts +++ b/test/unit-tests/utilities/utilities.test.ts @@ -11,19 +11,19 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { expect } from "chai"; +import { Range } from "vscode"; + import { + getErrorDescription, getRepositoryName, - stringArrayInEnglish, - regexEscapedString, hashString, - getErrorDescription, - swiftPlatformLibraryPathKey, + regexEscapedString, runtimeEnv, sourceLocationToVSCodeLocation, + stringArrayInEnglish, + swiftPlatformLibraryPathKey, } from "@src/utilities/utilities"; -import { Range } from "vscode"; suite("Utilities Unit Test Suite", () => { suite("getRepositoryName", () => { diff --git a/test/unit-tests/utilities/version.test.ts b/test/unit-tests/utilities/version.test.ts index 957a5a29e..5acc7a714 100644 --- a/test/unit-tests/utilities/version.test.ts +++ b/test/unit-tests/utilities/version.test.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import { expect } from "chai"; + import { Version } from "@src/utilities/version"; suite("Version Suite", () => { diff --git a/test/unit-tests/utilities/workspace.test.ts b/test/unit-tests/utilities/workspace.test.ts index b473f5658..a7a0aec76 100644 --- a/test/unit-tests/utilities/workspace.test.ts +++ b/test/unit-tests/utilities/workspace.test.ts @@ -11,11 +11,12 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - +import { expect } from "chai"; import * as vscode from "vscode"; + import { searchForPackages } from "@src/utilities/workspace"; + import { testAssetUri } from "../../fixtures"; -import { expect } from "chai"; suite("Workspace Utilities Unit Test Suite", () => { suite("searchForPackages", () => { diff --git a/test/utilities/commands.ts b/test/utilities/commands.ts index ea1861738..292b80930 100644 --- a/test/utilities/commands.ts +++ b/test/utilities/commands.ts @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + import { Workbench } from "@src/utilities/commands"; export async function closeAllEditors() { diff --git a/test/utilities/debug.ts b/test/utilities/debug.ts index 9dbc09df0..a7c4ddf62 100644 --- a/test/utilities/debug.ts +++ b/test/utilities/debug.ts @@ -11,10 +11,11 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// -import * as vscode from "vscode"; import { DebugProtocol } from "@vscode/debugprotocol"; -import { Workbench } from "@src/utilities/commands"; +import * as vscode from "vscode"; + import { DebugAdapter } from "@src/debugger/debugAdapter"; +import { Workbench } from "@src/utilities/commands"; import { Version } from "@src/utilities/version"; export async function continueSession(): Promise { diff --git a/test/utilities/tasks.ts b/test/utilities/tasks.ts index d821c034e..7ec6bab07 100644 --- a/test/utilities/tasks.ts +++ b/test/utilities/tasks.ts @@ -11,12 +11,14 @@ // SPDX-License-Identifier: Apache-2.0 // //===----------------------------------------------------------------------===// - import * as vscode from "vscode"; + +import { SwiftTask } from "@src/tasks/SwiftTaskProvider"; + +import { SwiftTaskFixture } from "../fixtures"; + // eslint-disable-next-line @typescript-eslint/no-require-imports import stripAnsi = require("strip-ansi"); -import { SwiftTaskFixture } from "../fixtures"; -import { SwiftTask } from "@src/tasks/SwiftTaskProvider"; export type Mutable = { -readonly [K in keyof T]: T[K]; From 3139ec12d6936af36484a8eebff70710d0088b9a Mon Sep 17 00:00:00 2001 From: Matthew Bastien Date: Wed, 3 Sep 2025 16:48:15 -0400 Subject: [PATCH 4/4] dispose of subscriptions in Background Compilation tests --- .../BackgroundCompilation.test.ts | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/test/integration-tests/BackgroundCompilation.test.ts b/test/integration-tests/BackgroundCompilation.test.ts index 557795f50..460c895df 100644 --- a/test/integration-tests/BackgroundCompilation.test.ts +++ b/test/integration-tests/BackgroundCompilation.test.ts @@ -19,13 +19,16 @@ import { WorkspaceContext } from "@src/WorkspaceContext"; import { testAssetUri } from "../fixtures"; import { tag } from "../tags"; import { closeAllEditors } from "../utilities/commands"; +import { waitForNoRunningTasks } from "../utilities/tasks"; import { activateExtensionForTest, updateSettings } from "./utilities/testutilities"; tag("large").suite("BackgroundCompilation Test Suite", () => { + let subscriptions: vscode.Disposable[]; let workspaceContext: WorkspaceContext; activateExtensionForTest({ async setup(ctx) { + subscriptions = []; workspaceContext = ctx; assert.notEqual(workspaceContext.folders.length, 0); return await updateSettings({ @@ -35,21 +38,20 @@ tag("large").suite("BackgroundCompilation Test Suite", () => { }); suiteTeardown(async () => { + subscriptions.forEach(s => s.dispose()); await closeAllEditors(); }); test("build all on save", async () => { - const taskPromise = new Promise(res => { - vscode.tasks.onDidStartTask(e => { - const task = e.execution.task; - if (task.name.includes("Build All")) { - vscode.tasks.onDidEndTask(e => { - if (e.execution.task === task) { - res(); - } - }); - } - }); + const taskStartPromise = new Promise(resolve => { + subscriptions.push( + vscode.tasks.onDidStartTask(e => { + const task = e.execution.task; + if (task.name.includes("Build All")) { + resolve(); + } + }) + ); }); const uri = testAssetUri("defaultPackage/Sources/PackageExe/main.swift"); @@ -57,6 +59,7 @@ tag("large").suite("BackgroundCompilation Test Suite", () => { await vscode.window.showTextDocument(doc); await vscode.workspace.save(uri); - await taskPromise; + await taskStartPromise; + await waitForNoRunningTasks(); }); });