rucken
Version:
Console tools and scripts for nx and not only that I (EndyKaufman) use to automate the workflow and speed up the development process
77 lines (76 loc) • 2.31 kB
TypeScript
/**
* @module AbstractBootstrapConsole
*/
import { INestApplicationContext } from '@nestjs/common';
import { NestApplicationContextOptions } from '@nestjs/common/interfaces/nest-application-context-options.interface';
import { CommandResponse } from '../interfaces';
import { ConsoleService } from '../service';
/**
* The Common options of the AbstractBootstrapConsole
*/
export interface CommonBootstrapConsoleOptions {
/**
* Any static module to load.
* If you are using a dynamic module as a root module, you must create a module that imports your dynamic module first.
* "@Module({imports: [MyDynamicModule.register()]})"
*/
module: any;
/**
* If true the BootstrapConsole will scan the application to find Console and Command decorators
*/
useDecorators?: boolean;
/**
* An optional list of Nest Modules to scan. If set, only listed modules will be scanned.
*/
includeModules?: any[];
/**
* The nest application context options
*/
contextOptions?: NestApplicationContextOptions;
}
/**
* An abstract class to boot a nest application
* @param A The type of nest application
* @param O The options
*/
export declare abstract class AbstractBootstrapConsole<A extends INestApplicationContext, O extends CommonBootstrapConsoleOptions = CommonBootstrapConsoleOptions> {
/**
* The console service
*/
protected service: ConsoleService;
/**
* The application container
*/
protected container: A;
/**
* The options to bootstrap
*/
protected readonly options: O;
constructor(options: O);
/**
* Activate the decorators scanner
*/
protected useDecorators(): Promise<this>;
/**
* Init the console application
*/
init(): Promise<A>;
/**
* Get the console service
*/
getService(): ConsoleService;
/**
* Get the options
*/
getOptions(): O;
/**
* Boot the console
* @param argv The list of arguments to pass to the cli, default are process.argv
*/
boot(argv?: string[]): Promise<CommandResponse>;
/**
* An abstract method to create the nest application instance.
* Could return any kind of NestApplication (headless or not)
*/
abstract create(): Promise<A>;
}