@interopio/iocd-cli
Version:
CLI tool for setting up, building and packaging io.Connect Desktop platforms
74 lines • 2.02 kB
TypeScript
interface AppConfig {
name: string;
path: string;
config: {
dev?: {
script: string;
modifications: Array<{
source: string;
destination: string;
}>;
};
prod?: {
script: string;
modifications: Array<{
source: string;
destination: string;
}>;
};
};
}
/**
* Service for managing template applications.
*
* This service:
* 1. Discovers all apps in the apps/ folder of generated projects
* 2. Installs dependencies for all apps (npm install)
* 3. Builds apps and copies them to modifications folder (npm run build)
* 4. Provides progress feedback during operations
*/
export declare class AppService {
private logger;
/**
* Install dependencies for all applications found in the apps/ directory
*/
installAllApps(): Promise<void>;
/**
* Build all applications found in the apps/ directory
*/
buildAllApps(): Promise<void>;
startAllAppsInDevMode(): Promise<void>;
/**
* Build a specific application
*/
buildApp(appConfig: AppConfig): Promise<void>;
/**
* Start a specific application in development mode
*/
startAppInDevMode(appName: string): Promise<void>;
getAllApps(): Promise<AppConfig[]>;
/**
* Discover all app directories in the apps/ folder and return detailed app information
*/
private discoverApps;
/**
* Install dependencies for a specific application
*/
private installApp;
private startAppsInParallel;
private copyModifications;
/**
* Copy a single file, creating destination directory if needed
*/
private copyFile;
/**
* Copy a directory recursively, wiping out target first if it exists
*/
private copyDirectory;
/**
* Recursively copy directory contents
*/
private copyDirectoryContents;
}
export {};
//# sourceMappingURL=app.service.d.ts.map