UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

91 lines (90 loc) 5.14 kB
import AbstractSpruceTest from '@sprucelabs/test-utils'; import EventFaker from '../__tests__/support/EventFaker'; import AbstractAction from '../features/AbstractAction'; import { FeatureOptions } from '../features/AbstractFeature'; import ActionExecuter, { ActionExecuterOptions } from '../features/ActionExecuter'; import FeatureInstaller from '../features/FeatureInstaller'; import { FeatureActionResponse, FeatureCode } from '../features/features.types'; import { GlobalEmitter } from '../GlobalEmitter'; import SpyInterface from '../interfaces/SpyInterface'; import ServiceFactory, { Service, ServiceMap } from '../services/ServiceFactory'; import StoreFactory, { StoreCode, CreateStoreOptions, StoreFactoryOptions, StoreMap } from '../stores/StoreFactory'; import { ApiClientFactoryOptions } from '../types/apiClient.types'; import { CliBootOptions, OptionOverrides } from '../types/cli.types'; import WriterFactory from '../writers/WriterFactory'; import CommandFaker from './CommandFaker'; import FeatureFixture, { FeatureFixtureOptions } from './fixtures/FeatureFixture'; import MercuryFixture from './fixtures/MercuryFixture'; import OrganizationFixture from './fixtures/OrganizationFixture'; import PersonFixture from './fixtures/PersonFixture'; import SkillFixture from './fixtures/SkillFixture'; import ViewFixture from './fixtures/ViewFixture'; export default abstract class AbstractCliTest extends AbstractSpruceTest { protected static cliRoot: string; protected static homeDir: string; protected static commandFaker: CommandFaker; private static _ui; private static _emitter?; private static mercuryFixture?; private static personFixture?; private static organizationFixture?; private static skillFixture?; private static _featureInstaller?; private static viewFixture?; private static originalEnv; private static _writers?; protected static eventFaker: EventFaker; protected static beforeAll(): Promise<void>; protected static beforeEach(): Promise<void>; protected static afterEach(): Promise<void>; protected static afterAll(): Promise<void>; private static cleanTestDirsAndFiles; private static clearFixtures; protected static freshTmpDir(): string; protected static get ui(): SpyInterface; protected static get emitter(): GlobalEmitter; protected static set emitter(emitter: GlobalEmitter); protected static resolveTestPath(...pathAfterTestDirsAndFiles: string[]): string; protected static Cli(options?: CliBootOptions): Promise<import("../types/cli.types").CliInterface>; protected static linkLocalPackages(): Promise<void>; protected static Service<S extends Service>(type: S, cwd?: string): ServiceMap[S]; protected static ServiceFactory(): ServiceFactory; protected static FeatureFixture(options?: Partial<FeatureFixtureOptions>): FeatureFixture; protected static getMercuryFixture(): MercuryFixture; protected static get people(): PersonFixture; protected static getViewFixture(): ViewFixture; protected static get writers(): WriterFactory; private static WriterFactory; protected static skipInstallSkillPrompts<E extends () => Promise<FeatureActionResponse>>(execute?: E): Promise<E extends undefined ? undefined : FeatureActionResponse>; protected static getOrganizationFixture(): OrganizationFixture; protected static getSkillFixture(): SkillFixture; protected static resolveHashSprucePath(...filePath: string[]): string; protected static get featureInstaller(): FeatureInstaller; protected static set featureInstaller(installer: FeatureInstaller); protected static FeatureInstaller(options?: Partial<FeatureOptions>): FeatureInstaller; protected static StoreFactory(options?: Partial<StoreFactoryOptions>): StoreFactory; protected static Store<C extends StoreCode>(code: C, options?: CreateStoreOptions<C>): StoreMap[C]; protected static waitForInput(): Promise<void>; protected static assertIsFeatureInstalled(code: FeatureCode): Promise<void>; protected static assertValidActionResponseFiles(results: FeatureActionResponse): Promise<void>; protected static assertFilePassesTypeChecks(file: string): Promise<void>; protected static connectToApi(options?: ApiClientFactoryOptions): Promise<import("../types/apiClient.types").ApiClient>; protected static openInVsCode(options?: { file?: string; dir?: string; timeout?: number; }): Promise<void>; protected static openInFinder(options?: { file?: string; dir?: string; timeout?: number; }): Promise<void>; protected static log(...args: any[]): void; protected static Action<Action extends AbstractAction = AbstractAction, F extends FeatureCode = FeatureCode>(featureCode: F, actionCode: string, options?: ExecuterOptions): Action; protected static ActionExecuter(options?: ExecuterOptions): ActionExecuter; protected static selectOptionBasedOnLabel(label: string): void; } type ExecuterOptions = Partial<ActionExecuterOptions> & { optionOverrides?: OptionOverrides; }; export {};