- Create shared command utility in ts/utils/command.ts - Update index.ts, process-manager.ts, system-info.ts to use shared utility - Remove duplicate runCommand implementations from all files - Remove legacy Chrome wrapper methods (startChrome, stopChrome, isChromeRunning) - Consolidate Sway window selectors from 5 to 2 - Remove unused isobuild TypeScript files (mod.ts, deno.json, ts/index.ts) - Make getStatus() async to properly await system info - Add disk and system info sections to UI
28 lines
526 B
TypeScript
28 lines
526 B
TypeScript
/**
|
|
* Shared command execution utility
|
|
*/
|
|
|
|
export interface CommandResult {
|
|
success: boolean;
|
|
stdout: string;
|
|
stderr: string;
|
|
}
|
|
|
|
export async function runCommand(
|
|
cmd: string,
|
|
args: string[]
|
|
): Promise<CommandResult> {
|
|
const command = new Deno.Command(cmd, {
|
|
args,
|
|
stdout: 'piped',
|
|
stderr: 'piped',
|
|
});
|
|
|
|
const result = await command.output();
|
|
return {
|
|
success: result.success,
|
|
stdout: new TextDecoder().decode(result.stdout),
|
|
stderr: new TextDecoder().decode(result.stderr),
|
|
};
|
|
}
|