Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/vitest-dev/vscode. VS Code extension for Vitest vitest.dev/vscode
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218import type { BirpcReturn } from 'birpc'import type { RunnerTaskResultPack, RunnerTestFile, UserConsoleLog } from 'vitest'
export { WorkerWSEventEmitter } from './emitter'export { createWorkerRPC } from './rpc'export { assert, createQueuedHandler, getSuggestedInstallCommand, limitConcurrency, normalizeDriveLetter,} from './utils'
export type ExtensionTestSpecificationOptions = { testNamePattern?: string}
export type ExtensionTestSpecification = [ project: string, file: string, options?: ExtensionTestSpecificationOptions,]
export interface ExtensionTestFileMetadata { project: string pool: string browser?: { provider: string name: string webRoot: string }}
export type ExtensionTestFileSpecification = [file: string, ExtensionTestFileMetadata]
export interface ExtensionUserConsoleLog extends UserConsoleLog { // Parsed location from stack trace for inline display parsedLocation?: { file: string line: number // 0-based line number column: number }}
export interface ExtensionEnvironment { name: string environments: { name: string transformTimestamp: number }[]}
export interface ExtensionWorkerTransport { getFiles: () => Promise<ExtensionTestFileSpecification[]> collectTests: (testFile: ExtensionTestSpecification[]) => Promise<void> cancelRun: () => Promise<void> // accepts files with the project or folders (project doesn't matter for them) runTests: ( filesOrDirectories?: ExtensionTestSpecification[] | string[], testNamePattern?: string, ) => Promise<void> updateSnapshots: ( filesOrDirectories?: ExtensionTestSpecification[] | string[], testNamePattern?: string, ) => Promise<void>
watchTests: ( filesOrDirectories?: ExtensionTestSpecification[] | string[], testNamePattern?: string, ) => Promise<void> getSourceModuleDiagnostic: (moduleId: string) => Promise<SourceModuleDiagnostic>
exit: () => void
onFilesCreated: (files: string[]) => void onFilesChanged: (files: string[]) => void
initRpc: (rpc: VitestWorkerRPC) => void getModuleEnvironments: (moduleId: string) => ExtensionEnvironment[] getTransformedModule: (project: string, environment: string, moduleId: string) => string | null
onDebugAttached: (fulfilled: boolean) => void}
export interface ExtensionWorkerEvents { onConsoleLog: (log: ExtensionUserConsoleLog) => void onTaskUpdate: (task: RunnerTaskResultPack[]) => void onTestRunEnd: ( files: RunnerTestFile[], unhandledError: string, collecting?: boolean, coverage?: unknown, ) => void onCollected: (file: RunnerTestFile, collecting?: boolean) => void onTestRunStart: (files: string[]) => void
onProcessLog: (type: 'stdout' | 'stderr', log: string) => void}
// todo@vitest4 when supporting only vitest 4, import from vitestinterface ModuleDefinitionLocation { line: number column: number}export interface ModuleDefinitionDiagnostic { start: ModuleDefinitionLocation end: ModuleDefinitionLocation startIndex: number endIndex: number rawUrl: string resolvedUrl: string resolvedId: string}
export interface ModuleDefinitionDurationsDiagnostic extends ModuleDefinitionDiagnostic { selfTime: number totalTime: number transformTime?: number external?: boolean importer?: string}
export interface UntrackedModuleDefinitionDiagnostic { url: string resolvedId: string resolvedUrl: string selfTime: number totalTime: number transformTime?: number external?: boolean importer?: string}export interface SourceModuleDiagnostic { modules: ModuleDefinitionDurationsDiagnostic[] untrackedModules: UntrackedModuleDefinitionDiagnostic[]}
export type VitestExtensionRPC = BirpcReturn<ExtensionWorkerTransport, ExtensionWorkerEvents>export type VitestWorkerRPC = BirpcReturn<ExtensionWorkerEvents, ExtensionWorkerTransport>
export interface WorkerInitMetadata { vitestNodePath: string id: string cwd: string arguments?: string runtime: 'node' | 'deno' configFile?: string workspaceFile?: string env: Record<string, any> | undefined shellType: 'terminal' | 'child_process' pnpApi?: string pnpLoader?: string setupFilePaths: { browserDebug: string browserDebugLegacy: string } finalCoverageFileName: string projectFilter?: string[] related?: string}
export interface WorkerRunnerDebugOptions { browser?: string port: number host: string}
export interface WorkerRunnerOptions { type: 'init' meta: WorkerInitMetadata sendLog?: boolean debug?: WorkerRunnerDebugOptions | boolean coverage?: boolean}
export interface SerializedProject { config: string | undefined root: string pool: string name: string dir?: string include: string[] exclude: string[] includeSource: string[] browser?: { provider: string name: string webRoot: string }}
export interface WorkerReadyMetadata { projects: SerializedProject[] workspaceSource: string | false htmlReportPath?: string}
export interface EventReady { type: 'ready' metadata: WorkerReadyMetadata legacy: boolean // the actual runtime version, unlike VitestPackage.version // this is also defined when vitest is resolved via yarn pnp version: string | undefined}
export interface EventDebug { type: 'debug' args: string[]}
export interface EventError { type: 'error' error: string}
export type WorkerEvent = EventReady | EventDebug | EventError