mirror of
https://github.com/directus/directus.git
synced 2026-01-28 07:48:04 -05:00
* merge components merge args, parser, docs, formatter, help and handlers * change directus command and add auto debug * output format fixes * adds back some reformatted and documented commands * better help output format * refactor all output flow * export cli types * more formatting fixes and param rework * fix table spacing * add yaml formatting and fix string colors * finished formatting docs * remove log * remove package-lock * update dependency versions * fix command description * workaround typescript loading * module loading fixes added command error rename human to table fix disconnect usage * add typescript loader redirect execution to local package if installed locally added command alias `directus-ctl` * fix module load directories * reimplement stdin pipe to work on linux * fix sdk server info type * info command * Fix stdin bug Disable community extensions to discourage use for now Added template to config files Added password stdin to connect to instances Fixed typescript command load * Added command suggestions and QOL features * Linter fixes * Add command hints * Separate positional options * Add back delete many, fix delete one location * Change score logic * Add whoami util command * Add short online docs * Fix typo * Fix typo * Update commands * Param consistency fix and docs update * Create commands * Update package.json version * Update package-lock * Fixed several linting problems * Update dependencies * Update lock * Remove locked dependencies * Stop conflicts when in home directory * Package lock update and npm audit fix * Fix formatting errors * Comment out extending cli section until we figure out cli ext * Update readme * Tweak dev/build/prebuild script naming * Use up to date deps * Fix dependency version in lock (fix build) Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
55 lines
1.3 KiB
TypeScript
55 lines
1.3 KiB
TypeScript
import { Argv } from 'yargs';
|
|
import { CLIError } from './core/exceptions';
|
|
import { StdinFeatures } from './core/extensions/stdin';
|
|
import { CommandHelp, GeneralHelp } from './help';
|
|
import { IOutput } from './output';
|
|
import { Toolbox } from './toolbox';
|
|
|
|
export type Features = {
|
|
sdk?: boolean;
|
|
query?: 'one' | 'many';
|
|
output?: boolean;
|
|
stdin?: StdinFeatures;
|
|
[feature: string]: unknown;
|
|
};
|
|
|
|
export type Settings<P = unknown> = {
|
|
description?: string;
|
|
parameters?: string;
|
|
group?: string;
|
|
synopsis?: string;
|
|
documentation?: string;
|
|
configuration?: string;
|
|
usage?: string;
|
|
features?: Features;
|
|
disableHelp?: boolean;
|
|
hidden?: boolean;
|
|
hints?: string[];
|
|
options?(builder: Argv): Argv<P>;
|
|
};
|
|
|
|
export type Handler<T extends Toolbox = Toolbox, P = unknown, R extends any = void> = (
|
|
toolbox: T,
|
|
params: P
|
|
) => Promise<R>;
|
|
|
|
export type CommandResult<T extends any> = {
|
|
result?: T;
|
|
help?: GeneralHelp | CommandHelp;
|
|
error?: CLIError;
|
|
output?: IOutput;
|
|
};
|
|
|
|
export type Command<T extends Toolbox = Toolbox, P = unknown, R extends any = void> = {
|
|
settings?: Settings<P>;
|
|
run: {
|
|
/**
|
|
* @deprecated Please don't access this field. It's for internal use only and a workaround for Gluegun.
|
|
*/
|
|
$directus: {
|
|
settings: Settings<P>;
|
|
};
|
|
(toolbox: T): R | Promise<CommandResult<R>>;
|
|
};
|
|
};
|