UNPKG

@tarojs/cli

Version:
63 lines (62 loc) 2.15 kB
import Creator from './creator'; import type { ITemplates } from './fetchTemplate'; export interface IProjectConf { projectName: string; projectDir: string; npm: string; templateSource: string; clone?: boolean; template: string; description?: string; typescript?: boolean; css: 'none' | 'sass' | 'stylus' | 'less'; date?: string; src?: string; sourceRoot?: string; env?: string; autoInstall?: boolean; framework: 'react' | 'preact' | 'nerv' | 'vue' | 'vue3'; compiler?: 'webpack4' | 'webpack5' | 'vite'; } type CustomPartial<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>; type IProjectConfOptions = CustomPartial<IProjectConf, 'projectName' | 'projectDir' | 'template' | 'css' | 'npm' | 'framework' | 'templateSource'>; interface AskMethods { (conf: IProjectConfOptions, prompts: Record<string, unknown>[], choices?: ITemplates[]): void; } export default class Project extends Creator { rootPath: string; conf: IProjectConfOptions; constructor(options: IProjectConfOptions); init(): void; create(): Promise<void>; ask(): Promise<{ projectName: string; projectDir: string; npm: string; templateSource: string; clone?: boolean | undefined; template: string; description?: string | undefined; typescript?: boolean | undefined; css: "none" | "sass" | "stylus" | "less"; date?: string | undefined; src?: string | undefined; sourceRoot?: string | undefined; env?: string | undefined; autoInstall?: boolean | undefined; framework: "react" | "preact" | "nerv" | "vue" | "vue3"; compiler?: "webpack4" | "webpack5" | "vite" | undefined; }>; askProjectName: AskMethods; askDescription: AskMethods; askTypescript: AskMethods; askCSS: AskMethods; askCompiler: AskMethods; askFramework: AskMethods; askTemplateSource: AskMethods; askTemplate: AskMethods; askNpm: AskMethods; fetchTemplates(answers: IProjectConf): Promise<ITemplates[]>; write(cb?: () => void): void; } export {};