UNPKG

@elsikora/setup-wizard

Version:

Setup Wizard - CLI scaffolding utility

39 lines (38 loc) 1.61 kB
import type { ICliInterfaceService } from "../../application/interface/cli-interface-service.interface"; import type { IConfigService } from "../../application/interface/config-service.interface"; import type { IFileSystemService } from "../../application/interface/file-system-service.interface"; import type { IModuleSetupResult } from "../../application/interface/module-setup-result.interface"; /** * Interface for module services that can be installed/configured. * Provides methods for handling module installation and configuration. */ export interface IModuleService { /** * CLI interface service for user interaction. */ CLI_INTERFACE_SERVICE: ICliInterfaceService; /** * Configuration service for managing app configuration */ CONFIG_SERVICE: IConfigService; /** * File system service for file operations. */ FILE_SYSTEM_SERVICE: IFileSystemService; /** * Handles the case when the module is already installed. * @returns Promise that resolves to true if the existing setup was handled successfully, * false if it should be reinstalled or reconfigured */ handleExistingSetup(): Promise<boolean>; /** * Installs and configures the module. * @returns Promise that resolves to the module setup result containing configuration details */ install(): Promise<IModuleSetupResult>; /** * Determines whether the module should be installed. * @returns Promise that resolves to true if the module should be installed, false otherwise */ shouldInstall(): Promise<boolean>; }