UNPKG

create-abi

Version:

Interactive CLI for create Abi.js projects.

50 lines (47 loc) 1.84 kB
import { Program, Definition as Definition$1 } from './core.js'; import 'yargs'; type Definition = Definition$1 & { destination: string; runtime: Runtime; force?: boolean; install?: boolean; git?: boolean; dryRun?: boolean; }; type EnsureRequired<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>; type UserDefinition = Partial<Definition>; declare const defaultDefinition: { readonly destination: "./abi-app"; readonly runtime: "node"; readonly force: undefined; readonly install: undefined; readonly git: undefined; readonly yes: undefined; readonly no: undefined; readonly dryRun: undefined; }; type Runtime = 'node' | 'deno' | 'bun'; type Input = Required<Omit<Definition, 'yes' | 'no'>> & { outDir: string; packageName: string; }; declare function defineDefinition(definition: UserDefinition): Definition; declare class Application extends Program<Definition, Input> { configure(): void; parse(args: string[]): Definition; validate(definition: Definition): Input; interact(definition: Definition): Promise<Input>; execute(input: Input): Promise<number>; prepareDir(input: Input): Promise<void>; runCreate(input: Input): Promise<void>; start(input: Input): Promise<boolean>; end(input: Input, ranInstall: boolean): void; updatePackageJson(input: Input): void; runInstall(input: Input): Promise<boolean>; runGit(input: Input): Promise<void>; copyShared(input: Input): void; copyStarter(input: Input, templatePath?: string): void; } declare function app(name?: string, version?: string): Application; declare const _default: Application; export { Application, type Definition, type EnsureRequired, type Input, type Runtime, type UserDefinition, app, _default as default, defaultDefinition, defineDefinition };