UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

41 lines (40 loc) 1.62 kB
import { SettingsService, EnvService, AuthService } from '@sprucelabs/spruce-skill-utils'; import EventCacheService from '../features/event/services/EventCacheService'; import RemoteService from '../features/event/services/RemoteService'; import SchemaService from '../features/schema/services/SchemaService'; import VsCodeService from '../features/vscode/services/VsCodeService'; import BuildService from './BuildService'; import CommandServiceImpl from './CommandService'; import DependencyService from './DependencyService'; import ImportService from './ImportService'; import LintService from './LintService'; import PkgService from './PkgService'; import TypeCheckerService from './TypeCheckerService'; export default class ServiceFactory { static serviceClassOverides: Record<string, any>; static setServiceClass(name: Service, Class: any): void; Service<S extends Service>(cwd: string, type: S): ServiceMap[S]; private buildImportService; static reset(): void; static setFactoryClass(name: string, Class: any): void; } export interface ServiceMap { pkg: PkgService; vsCode: VsCodeService; schema: SchemaService; lint: LintService; command: CommandServiceImpl; typeChecker: TypeCheckerService; import: ImportService; build: BuildService; settings: SettingsService; env: EnvService; auth: AuthService; remote: RemoteService; eventCache: EventCacheService; dependency: DependencyService; } export type Service = keyof ServiceMap; export interface ServiceProvider { Service<S extends Service>(type: S, cwd?: string): ServiceMap[S]; }