diff --git a/package.json b/package.json index 4ff2453..aea782e 100644 --- a/package.json +++ b/package.json @@ -123,8 +123,8 @@ "category": "Vitest" }, { - "title": "Open Trace Report", - "command": "vitest.openTraceReport", + "title": "Open Trace View", + "command": "vitest.openTraceView", "category": "Vitest" }, { @@ -196,7 +196,7 @@ ], "commandPalette": [ { - "command": "vitest.openTraceReport", + "command": "vitest.openTraceView", "when": "false" }, { @@ -214,8 +214,8 @@ ], "testing/item/context": [ { - "command": "vitest.openTraceReport", - "when": "controllerId == 'vitest' && testId in vitest.traceReportTests", + "command": "vitest.openTraceView", + "when": "controllerId == 'vitest' && testId in vitest.traceViewTests", "group": "vitest" }, { @@ -229,8 +229,8 @@ ], "testing/item/gutter": [ { - "command": "vitest.openTraceReport", - "when": "controllerId == 'vitest' && testId in vitest.traceReportTests", + "command": "vitest.openTraceView", + "when": "controllerId == 'vitest' && testId in vitest.traceViewTests", "group": "vitest" }, { diff --git a/packages/extension/src/extension.ts b/packages/extension/src/extension.ts index bcad937..9ffb1b6 100644 --- a/packages/extension/src/extension.ts +++ b/packages/extension/src/extension.ts @@ -19,7 +19,7 @@ import { ExtensionTerminalProcess } from './spawn/terminal' import { ExtensionState } from './state' import { TagsManager } from './tagsManager' import { TestTree } from './testTree' -import { TraceReportManager } from './traceReport' +import { TraceViewManager } from './traceView' import { getTestData, TestFile } from './testTreeData' import { debounce, showVitestError } from './utils' import './polyfills' @@ -53,7 +53,7 @@ class VitestExtension { private debugManager: DebugManager private schemaProvider: TransformSchemaProvider private importsBreakdownProvider: ImportsBreakdownProvider - private traceReports = new TraceReportManager() + private traceView = new TraceViewManager() /** @internal */ _debugDisposable: vscode.Disposable | undefined @@ -108,7 +108,7 @@ class VitestExtension { private async _defineTestProfiles(showWarning: boolean, cancelToken?: vscode.CancellationToken) { this.importsBreakdownProvider.clear() this.testTree.reset([]) - this.traceReports.clear() + this.traceView.clear() this.runQueues.forEach((q) => q.dispose()) this.runQueues.clear() @@ -225,7 +225,7 @@ class VitestExtension { vitest, this.diagnostic, this.importsBreakdownProvider, - this.traceReports, + this.traceView, ) const runQueueId = `${vitest.id}:run` this.runQueues.set(runQueueId, runQueue) @@ -288,7 +288,7 @@ class VitestExtension { vitest, this.diagnostic, this.importsBreakdownProvider, - this.traceReports, + this.traceView, ) const coverageQueueId = `${vitest.id}:coverage` this.runQueues.set(coverageQueueId, coverageQueue) @@ -347,8 +347,8 @@ class VitestExtension { vscode.commands.registerCommand('vitest.openOutput', () => { log.openOutput() }), - vscode.commands.registerCommand('vitest.openTraceReport', (testItem: vscode.TestItem) => - this.traceReports.open(testItem), + vscode.commands.registerCommand('vitest.openTraceView', (testItem: vscode.TestItem) => + this.traceView.open(testItem), ), vscode.commands.registerCommand('vitest.runRelatedTests', async (uri?: vscode.Uri) => { const currentUri = uri || vscode.window.activeTextEditor?.document.uri diff --git a/packages/extension/src/runQueue.ts b/packages/extension/src/runQueue.ts index 5f2caf6..804d719 100644 --- a/packages/extension/src/runQueue.ts +++ b/packages/extension/src/runQueue.ts @@ -3,7 +3,7 @@ import type { RunHandle } from './apiProcess' import type { ExtensionDiagnostic } from './diagnostic' import type { ImportsBreakdownProvider } from './importsBreakdownProvider' import type { TestTree } from './testTree' -import type { TraceReportManager } from './traceReport' +import type { TraceViewManager } from './traceView' import { VitestProcessAPI } from './apiProcess' import { log } from './log' import { ContinuousTestRunner, TestRunner } from './runner' @@ -34,7 +34,7 @@ export class RunQueue { private readonly api: VitestProcessAPI, private readonly diagnostic: ExtensionDiagnostic | undefined, private readonly importsBreakdown: ImportsBreakdownProvider, - private readonly traceReports: TraceReportManager, + private readonly traceView: TraceViewManager, ) {} public isContinuousTestItem(testItem: vscode.TestItem): boolean { @@ -207,7 +207,7 @@ export class RunQueue { api || this.api, this.diagnostic, this.importsBreakdown, - this.traceReports, + this.traceView, ) } @@ -219,7 +219,7 @@ export class RunQueue { this.api, this.diagnostic, this.importsBreakdown, - this.traceReports, + this.traceView, this.testRunProfile, this.continuousRequests, ) diff --git a/packages/extension/src/runner.ts b/packages/extension/src/runner.ts index 5ff0b45..8906f80 100644 --- a/packages/extension/src/runner.ts +++ b/packages/extension/src/runner.ts @@ -4,7 +4,7 @@ import type { RunHandle, VitestProcessAPI } from './apiProcess' import type { ExtensionDiagnostic } from './diagnostic' import type { ImportsBreakdownProvider } from './importsBreakdownProvider' import type { TestTree } from './testTree' -import type { TraceReportManager } from './traceReport' +import type { TraceViewManager } from './traceView' import crypto from 'node:crypto' import path from 'node:path' import { stripVTControlCharacters } from 'node:util' @@ -41,7 +41,7 @@ export class TestRunner extends vscode.Disposable { protected readonly api: VitestProcessAPI, protected readonly diagnostic: ExtensionDiagnostic | undefined, protected readonly importsBreakdown: ImportsBreakdownProvider, - protected readonly traceReports?: TraceReportManager, + protected readonly traceView?: TraceViewManager, ) { super(() => { log.verbose?.('Disposing test runner') @@ -114,7 +114,7 @@ export class TestRunner extends vscode.Disposable { handle.handlers.onTestRunEnd(async (files, unhandledError, collecting, coverage) => { const htmlReportPath = this.api.config.htmlReportPath if (!collecting && htmlReportPath) { - await this.traceReports?.update(this.api.id, htmlReportPath, files, this.tree) + await this.traceView?.update(this.api.id, htmlReportPath, files, this.tree) } const testRun = this.testRun @@ -375,11 +375,11 @@ export class ContinuousTestRunner extends TestRunner { api: VitestProcessAPI, diagnostic: ExtensionDiagnostic | undefined, importsBreakdown: ImportsBreakdownProvider, - traceReports: TraceReportManager, + traceView: TraceViewManager, private readonly testRunProfile: vscode.TestRunProfile, private readonly continuousRequests: Set, ) { - super(handle, controller, tree, api, diagnostic, importsBreakdown, traceReports) + super(handle, controller, tree, api, diagnostic, importsBreakdown, traceView) handle.handlers.onTestRunStart((files) => { this.startTestRun(files) log.verbose?.( diff --git a/packages/extension/src/traceReport.ts b/packages/extension/src/traceView.ts similarity index 85% rename from packages/extension/src/traceReport.ts rename to packages/extension/src/traceView.ts index 8dc591b..895e1bd 100644 --- a/packages/extension/src/traceReport.ts +++ b/packages/extension/src/traceView.ts @@ -2,15 +2,15 @@ import type { RunnerTask, RunnerTestFile } from 'vitest' import type { TestTree } from './testTree' import * as vscode from 'vscode' -interface TraceReportTarget { +interface TraceViewTarget { apiId: string reportPath: string fileId: string testId: string } -export class TraceReportManager { - private targets = new Map() +export class TraceViewManager { + private targets = new Map() clear() { this.targets.clear() @@ -24,7 +24,7 @@ export class TraceReportManager { } } - for (const target of findTraceReportTargets(apiId, reportPath, files)) { + for (const target of findTraceViewTargets(apiId, reportPath, files)) { const item = tree.getTestItemByTaskId(target.testId) if (item) { this.targets.set(item, target) @@ -34,10 +34,10 @@ export class TraceReportManager { } private updateContext() { - // Limit the test-item context menu action to tests with a trace report. + // Limit the test-item actions to tests with a recorded trace. return vscode.commands.executeCommand( 'setContext', - 'vitest.traceReportTests', + 'vitest.traceViewTests', [...this.targets.keys()].map((item) => item.id), ) } @@ -56,7 +56,7 @@ export class TraceReportManager { } const commands = await vscode.commands.getCommands(true) - const url = createTraceReportUrl(target) + const url = createTraceViewUrl(target) // The Integrated Browser command is internal; follow Simple Browser's feature detection before using it. // https://github.com/microsoft/vscode/blob/008427a901bf4aa79b47f175ccc8da1731750f78/extensions/simple-browser/src/extension.ts#L15-L35 if (commands.includes('workbench.action.browser.open')) { @@ -68,12 +68,12 @@ export class TraceReportManager { } } -function findTraceReportTargets( +function findTraceViewTargets( apiId: string, reportPath: string, files: RunnerTestFile[], -): TraceReportTarget[] { - const targets: TraceReportTarget[] = [] +): TraceViewTarget[] { + const targets: TraceViewTarget[] = [] for (const file of files) { const queue: RunnerTask[] = [file] for (let index = 0; index < queue.length; index++) { @@ -94,7 +94,7 @@ function findTraceReportTargets( return targets } -function createTraceReportUrl(target: TraceReportTarget) { +function createTraceViewUrl(target: TraceViewTarget) { // https://github.com/vitest-dev/vitest/blob/decfeb61c71a93372f84b6d43893df86a1756308/packages/ui/client/composables/params.ts#L3-L24 const params = new URLSearchParams({ file: target.fileId,