@ordino.ai/cli
Version:
ordino.ai global command line interface
49 lines (43 loc) ⢠1.7 kB
text/typescript
import { printMessage } from "./utils/printMessage.util";
import { checkNodeVersionOnly, checkNpmVersionOnly, checkCypressFiles, checkPlaywrightFiles } from "./utils/versionCheck.util";
export async function doctor(checkType?: string): Promise<void> {
try {
printMessage("\nš„ Ordino Doctor - Version Check", "36", true, true);
printMessage("=" .repeat(40), "36", false);
if (!checkType) {
printMessage("ā Please specify a check type", "31", true);
printMessage("Available types: node, npm, cypress, playwright", "33", false);
printMessage("Usage: ordino doctor --check <type>", "33", false);
process.exit(1);
}
await handleSpecificCheck(checkType);
} catch (error: any) {
printMessage("ā Error during version check: " + error.message, "31", true);
process.exit(1);
}
}
async function handleSpecificCheck(checkType: string): Promise<void> {
const type = checkType.toLowerCase();
switch (type) {
case 'node':
const nodeCompatible = checkNodeVersionOnly();
process.exit(nodeCompatible ? 0 : 1);
break;
case 'npm':
const npmCompatible = checkNpmVersionOnly();
process.exit(npmCompatible ? 0 : 1);
break;
case 'cypress':
const cypressCompatible = checkCypressFiles();
process.exit(cypressCompatible ? 0 : 1);
break;
case 'playwright':
const playwrightCompatible = checkPlaywrightFiles();
process.exit(playwrightCompatible ? 0 : 1);
break;
default:
printMessage(`ā Unknown check type: ${checkType}`, "31", true);
printMessage("Available types: node, npm, cypress, playwright", "33", false);
process.exit(1);
}
}