@tsed/cli
Version:
CLI to bootstrap your Ts.ED project
102 lines (101 loc) • 3.23 kB
TypeScript
import { type CliDefaultOptions, type CommandProvider, ProjectPackageJson } from "@tsed/cli-core";
import type { PlatformType } from "../../interfaces/index.js";
import { ProjectConvention } from "../../interfaces/ProjectConvention.js";
import { ClassNamePipe } from "../../pipes/ClassNamePipe.js";
import { OutputFilePathPipe } from "../../pipes/OutputFilePathPipe.js";
import { RoutePipe } from "../../pipes/RoutePipe.js";
import { ProvidersInfoService } from "../../services/ProvidersInfoService.js";
import { SrcRendererService } from "../../services/Renderer.js";
export interface GenerateCmdContext extends CliDefaultOptions {
type: string;
name: string;
route: string;
directory: string;
platform: PlatformType;
templateType: string;
middlewarePosition: "before" | "after";
symbolName: string;
symbolPath: string;
symbolPathBasename: string;
convention: ProjectConvention;
}
export declare class GenerateCmd implements CommandProvider {
private providersList;
classNamePipe: ClassNamePipe;
outputFilePathPipe: OutputFilePathPipe;
routePipe: RoutePipe;
srcRenderService: SrcRendererService;
projectPackageJson: ProjectPackageJson;
constructor(providersList: ProvidersInfoService);
$prompt(initialOptions: Partial<GenerateCmdContext>): ({
type: string;
name: string;
message: string;
default: string | undefined;
when: () => boolean;
source: (state: any, keyword: string) => any;
choices?: undefined;
} | {
type: string;
name: string;
message: string;
default: (state: any) => string;
when: boolean;
source?: undefined;
choices?: undefined;
} | {
message: string;
type: string;
name: string;
when(state: any): boolean;
choices: any[];
default?: undefined;
source?: undefined;
} | {
type: string;
name: string;
message: string;
when(state: any): boolean;
default: (state: GenerateCmdContext) => string;
source?: undefined;
choices?: undefined;
} | {
type: string;
name: string;
message: string;
when(state: any): string | true | undefined;
choices: string[];
default?: undefined;
source?: undefined;
} | {
type: string;
name: string;
message: (state: any) => string;
when(state: any): boolean;
source: (state: any, keyword: string) => any;
default?: undefined;
choices?: undefined;
} | {
type: string;
name: string;
message: () => string;
choices: {
name: string;
value: string;
}[];
when(state: any): boolean;
default?: undefined;
source?: undefined;
})[];
$mapContext(ctx: Partial<GenerateCmdContext>): GenerateCmdContext;
$exec(ctx: GenerateCmdContext): ({
title: string;
task: () => Promise<void>;
skip?: undefined;
} | {
title: string;
skip(): boolean;
task: () => Promise<void>;
})[];
getDirectories(dir: string): string[];
}