@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
76 lines (75 loc) • 2.67 kB
TypeScript
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;
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 {};