@uplinq/mcp-vitest
Version:
MCP server for Vitest with watch-mode support for fast test feedback
89 lines • 2.18 kB
TypeScript
export interface TestFile {
filepath: string;
status: 'passed' | 'failed' | 'pending' | 'skipped';
duration?: number;
tests: Test[];
suites?: TestSuiteNode[];
}
export interface Test {
name: string;
status: 'passed' | 'failed' | 'pending' | 'skipped';
duration?: number;
error?: string;
filepath: string;
}
export interface TestSuiteNode {
name: string;
type: 'suite' | 'test';
status: 'passed' | 'failed' | 'pending' | 'skipped';
duration?: number;
error?: string;
children?: TestSuiteNode[];
}
export interface TestSuite {
files: Map<string, TestFile>;
totalTests: number;
passedTests: number;
failedTests: number;
pendingTests: number;
startTime?: Date;
lastUpdate?: Date;
}
export interface SerializableTestSuite {
files: Record<string, TestFile>;
totalTests: number;
passedTests: number;
failedTests: number;
pendingTests: number;
startTime?: string;
lastUpdate?: string;
}
export interface VitestWatchState {
isRunning: boolean;
isReady: boolean;
suite: TestSuite;
process?: NodeJS.Process;
config: VitestConfig;
}
export interface VitestConfig {
workingDirectory: string;
configFile?: string;
reporter?: string;
coverage?: boolean;
environment?: string;
watch?: boolean;
pattern?: string;
}
export interface VitestOutput {
type: 'test-start' | 'test-end' | 'suite-start' | 'suite-end' | 'ready' | 'error';
data: Record<string, unknown>;
}
export interface VitestTask {
type: 'test' | 'suite';
name: string;
mode?: string;
result?: {
state: 'pass' | 'fail' | 'pending';
duration?: number;
errors?: Array<{
message?: string;
toString(): string;
}>;
};
tasks?: VitestTask[];
}
export interface VitestFile {
name?: string;
filepath?: string;
id?: string;
result?: {
state: 'pass' | 'fail' | 'pending';
duration?: number;
errors?: Array<{
message?: string;
toString(): string;
}>;
};
tasks?: VitestTask[];
}
//# sourceMappingURL=types.d.ts.map