@interopio/desktop-cli
Version:
io.Connect Desktop Seed Repository CLI Tools
80 lines • 2.49 kB
TypeScript
export interface IocdConfig {
/** Schema reference for IDE support */
$schema?: string;
/** HTTP storage configuration */
http?: {
/** Base URL for component downloads */
baseUrl?: string;
/** URL pattern with variable substitution */
urlPattern?: string;
/** Request timeout in milliseconds */
timeout?: number;
/** Maximum number of retry attempts */
maxRetries?: number;
/** Custom headers for HTTP requests */
headers?: Record<string, string>;
};
/** Component definitions (DEPRECATED: Components are now built-in) */
components?: {
[]: {
/** Display name for the component */
displayName?: string;
/** Base filename for downloads (without extension) */
fileName?: string;
/** Available versions */
versions?: string[];
/** Whether license validation is required */
licenseRequired?: boolean;
/** Supported platforms */
platforms?: string[];
};
};
/** Global settings */
settings?: {
/** Default storage type */
defaultStorage?: 'github' | 'http' | 'https';
/** Enable debug logging */
debug?: boolean;
/** Use cache for downloads */
useCache?: boolean;
/** Cache directory path */
cacheDir?: string;
};
}
export declare class IocdConfigManager {
private static cachedConfig;
/**
* Load configuration from .iocdrc file(s)
* Searches in current directory, then parent directories
*/
static loadConfig(startDir?: string): Promise<IocdConfig>;
/**
* Find configuration file by searching up the directory tree
*/
private static findConfigFile;
/**
* Load and parse a specific config file
*/
private static loadConfigFile;
/**
* Merge loaded config with environment variables and defaults
*/
private static mergeWithDefaults;
/**
* Get default configuration
*/
private static getDefaultConfig;
/**
* Deep merge multiple configuration objects
*/
private static deepMerge;
/**
* Create a sample .iocdrc file
*/
static createSampleConfig(outputPath?: string): Promise<void>;
/**
* Clear cached configuration (for testing)
*/
static clearCache(): void;
}
//# sourceMappingURL=iocd-config.d.ts.map