@builder.io/dev-tools
Version:
Builder.io Visual CMS Devtools
44 lines (43 loc) • 1.59 kB
TypeScript
import { type ExpectStatic } from "vitest";
interface CLI {
output(): string;
consumeOutput(): string;
inputText(text: string): Promise<void>;
inputEnter(text?: string): Promise<void>;
inputArrowUp(): Promise<void>;
inputArrowDown(): Promise<void>;
inputArrowRight(): Promise<void>;
inputArrowLeft(): Promise<void>;
inputCtrlC(): Promise<void>;
inputSpace(): Promise<void>;
waitUntilText(text: string, timeout?: number): Promise<void>;
waitUntilExit(): Promise<number>;
wait(ms: number): Promise<void>;
writeFile(path: string, content: string): Promise<void>;
readFile(path: string): string;
exists(path: string): boolean;
readdir(path: string): string[];
fsSnapshot(path: string): Promise<Snapshot>;
fsDiff(oldSnap: Snapshot): Promise<{
added: string[];
removed: string[];
modified: string[];
}>;
npm(...args: string[]): Promise<number>;
spawn(command: string, args: string[]): Promise<number>;
}
export declare function testCLI(name: string, template: string | undefined, handler: (cli: Handler, expect: ExpectStatic) => Promise<void>, timeout?: number, skip?: boolean): void;
type Handler = (cmd: "builderio" | "create-builderio", args: string[], options?: {
debug?: boolean;
}) => CLI;
export declare function createCLI(template: string | undefined, handler: (cli: Handler) => Promise<void>): Promise<void>;
/**
* A snapshot maps a file's relative path to its hash.
*/
type Snapshot = {
cwd: string;
hashes: {
[file: string]: string;
};
};
export {};