@tsed/cli
Version:
CLI to bootstrap your Ts.ED project
63 lines (62 loc) • 1.93 kB
TypeScript
import { type CommandProvider, ProjectPackageJson } from "@tsed/cli-core";
import type { RenderDataContext } from "../../interfaces/RenderDataContext.js";
import { CliTemplatesService } from "../../services/CliTemplatesService.js";
import type { DefineTemplateOptions } from "../../utils/defineTemplate.js";
export interface CreateTemplateCmdContext extends RenderDataContext {
name: string;
from?: string | "new";
override?: string;
templateId?: string;
template?: DefineTemplateOptions;
}
export declare class CreateTemplateCommand implements CommandProvider {
protected projectPackageJson: ProjectPackageJson;
protected templates: CliTemplatesService;
$prompt(data: Partial<CreateTemplateCmdContext>): Promise<({
type: "list";
name: string;
message: string;
default: string;
when: boolean;
choices: {
name: string;
value: string;
}[];
source?: undefined;
} | {
type: "autocomplete";
name: string;
message: string;
default: string | undefined;
when: (ctx: CreateTemplateCmdContext) => boolean;
source: () => {
name: string;
value: string;
}[];
choices?: undefined;
} | {
type: "confirm";
name: string;
message: string;
when: (ctx: CreateTemplateCmdContext) => boolean;
default: boolean;
choices?: undefined;
source?: undefined;
} | {
type: "input";
name: string;
message: string;
default: string | undefined;
when: boolean;
choices?: undefined;
source?: undefined;
})[]>;
$mapContext(ctx: Partial<any>): any;
$exec(ctx: CreateTemplateCmdContext & {
symbolName: string;
symbolPath: string;
}): {
title: string;
task: () => Promise<void>;
}[];
}