UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

76 lines (75 loc) 2.68 kB
import { SchemaValues } from '@sprucelabs/schema'; import { SpruceSchemas } from './../../.spruce/schemas/schemas.types'; import { FileDescription, NpmPackage } from '../../types/cli.types'; import AbstractFeature, { FeatureOptions } from '../AbstractFeature'; import { FeatureCode } from '../features.types'; export default class SkillFeature<S extends SkillFeatureOptionsSchema = SkillFeatureOptionsSchema> extends AbstractFeature<S> { nameReadable: string; code: FeatureCode; description: string; readonly installOrderWeight = 100; protected _packageDependencies: NpmPackage[]; optionsSchema: S; actionsDir: string; private engines; scripts: { build: string; 'build.ci': string; 'build.dev': string; 'build.copy-files': string; 'build.resolve-paths': string; 'build.tsc': string; clean: string; 'clean.all': string; 'clean.build': string; 'clean.dependencies': string; 'fix.lint': string; lint: string; 'lint.tsc': string; 'post.watch.build': string; rebuild: string; 'update.dependencies': string; 'resolve-paths.lint': string; test: string; 'watch.build.dev': string; 'watch.rebuild': string; 'watch.tsc': string; boot: string; 'boot.local': string; health: string; 'health.local': string; }; readonly fileDescriptions: FileDescription[]; constructor(options: FeatureOptions); private handleRegisterAbstractTestClasses; beforePackageInstall(options: SkillFeatureOptions): Promise<{ files: import("../../writers/AbstractWriter").WriteResults; cwd: string; }>; afterPackageInstall(options: SkillFeatureOptions): Promise<{}>; private install; private resolveDestination; installScripts(destination?: string): Promise<void>; setEngines(destination: string): void; handleWillExecute(options: { featureCode: string; actionCode: string; options?: UpgradeOptions; }): Promise<{ files: import("../../writers/AbstractWriter").WriteResults; } | { files?: undefined; }>; } type SkillFeatureOptionsSchema = SpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema; type SkillFeatureOptions = SpruceSchemas.SpruceCli.v2020_07_22.SkillFeature; declare module '../../features/features.types' { interface FeatureMap { skill: SkillFeature; } interface FeatureOptionsMap { skill: SchemaValues<SkillFeatureOptionsSchema>; } } type UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions; export {};