woaru
Version:
Universal Project Setup Autopilot - Analyze and automatically configure development tools for ANY programming language
72 lines • 2.19 kB
TypeScript
/**
* WOARU Startup Check Module
* Production-Ready implementation with comprehensive security and error handling
*/
/**
* Type definition for complete startup check result
*/
interface StartupCheckResult {
versionCheck: boolean;
environmentCheck: boolean;
errors: string[];
warnings: string[];
toolsAvailable?: {
git: boolean;
docker: boolean;
snyk: boolean;
};
cacheUsed: boolean;
}
export declare class StartupCheck {
/**
* Secure command execution using spawn instead of execSync
* Prevents command injection vulnerabilities
*/
private static secureCommandExecution;
private static readonly CACHE_FILE;
private static readonly CACHE_DURATION;
private static readonly MAX_CACHE_SIZE;
/**
* Check if we should run the startup check based on cache
* Implements secure cache validation with size limits
*/
private static shouldRunCheck;
/**
* Update the cache timestamp with security validation
*/
private static updateCache;
/**
* Check if git is available in the system with security validation
*/
private static checkGitAvailability;
/**
* Check if docker is available (optional) with security validation
*/
private static checkDockerAvailability;
/**
* Check if snyk is available (optional) with security validation
*/
private static checkSnykAvailability;
/**
* Perform environment checks with comprehensive validation
*/
private static performEnvironmentCheck;
/**
* Perform version check and prompt for update if needed with security validation
*/
private static performVersionCheck;
/**
* Main startup check function with comprehensive error handling
*/
static performStartupCheck(): Promise<StartupCheckResult>;
/**
* Silent startup check (no interactive prompts) with enhanced security
*/
static performSilentStartupCheck(): Promise<StartupCheckResult>;
/**
* Display startup check results with safe i18n output
*/
private static displayResults;
}
export {};
//# sourceMappingURL=startupCheck.d.ts.map