acyort
Version:
A Node.js static website framework
40 lines (32 loc) • 840 B
TypeScript
declare module 'acyort' {
import { Signale } from 'signale'
import { Arguments } from 'yargs-parser'
interface Config {
plugins?: string[],
scripts?: string[],
[x: string]: any,
}
interface AcyOrt {
logger: Signale,
version: string,
config: Config,
cwd: string,
cli: Cli,
}
interface CliAction {
name: string,
description: string,
action: (this: AcyOrt, argv: Arguments) => void,
}
type CliType = 'command' | 'option'
interface CliOption extends CliAction {
alias: string,
}
interface CliCommand extends CliAction {}
interface Cli {
register: (type: CliType, context: CliCommand | CliOption) => void,
getOption: (nameOrAlias: string) => CliOption | undefined,
getCommand: (name: string) => CliCommand | undefined,
getHelp: () => string,
}
}