UNPKG

@ordino.ai/cli

Version:
49 lines (43 loc) • 1.7 kB
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); } }