@dao-style/cli
Version:
CLI tool for DAO Style projects - providing project scaffolding, template generation and dependency management
46 lines (40 loc) • 1.16 kB
TypeScript
import { Answers, QuestionCollection } from 'inquirer';
import { Command } from 'commander';
declare function create(name: string): Promise<void>;
interface UpgradeOptions {
major?: boolean;
force?: boolean;
}
declare function upgrade(options: UpgradeOptions): Promise<void>;
interface PostInstallFile {
path: string;
mergeStrategy?: 'json' | 'override';
sourcePath: string;
}
interface Template<T extends Answers = Answers> {
name: string;
path: string;
validate?: (data: any) => void;
prompts?: QuestionCollection<T>;
transform?: (data: TemplateData, prompt?: T) => TemplateData;
postInstall?: {
files: PostInstallFile[];
};
}
interface TemplateData {
name?: string;
version?: string;
port?: string;
packageJSON?: {
name?: string;
version?: string;
private?: boolean;
scripts?: Record<string, string>;
dependencies?: Record<string, string>;
devDependencies?: Record<string, string>;
[key: string]: any;
};
[key: string]: any;
}
declare function buildCLI(): Command;
export { type Template, buildCLI, create, upgrade };