gen-jhipster
Version:
VHipster - Spring Boot + Angular/React/Vue in one handy generator
195 lines (194 loc) • 8.54 kB
TypeScript
import type { ExportGeneratorOptionsFromCommand, ExportStoragePropertiesFromCommand, ParsableCommand } from '../../lib/command/types.ts';
import CoreGenerator from '../base-core/index.ts';
import type { GenericTask } from '../base-core/types.ts';
import type { TaskTypes as BaseTasks } from './tasks.ts';
import type { Config as BaseConfig, Control, Features as BaseFeatures, Options as BaseOptions, Source as BaseSource } from './types.ts';
/**
* Base class that contains blueprints support.
* Provides built-in state support with control object.
*/
export default class BaseGenerator<Config extends BaseConfig = BaseConfig, Options extends BaseOptions = BaseOptions, Source extends BaseSource = BaseSource, Features extends BaseFeatures = BaseFeatures, Tasks extends BaseTasks<Source> = BaseTasks<Source>> extends CoreGenerator<Config, Options, Features> {
#private;
fromBlueprint: boolean;
sbsBlueprint?: boolean;
delegateToBlueprint: boolean;
blueprintConfig?: Record<string, any>;
jhipsterContext?: BaseGenerator;
constructor(args?: string[], options?: Options, features?: Features);
/**
* Filter generator's tasks in case the blueprint should be responsible on queueing those tasks.
*/
delegateTasksToBlueprint<TaskGroupType>(tasksGetter: () => TaskGroupType): TaskGroupType;
/**
* Generate a timestamp to be used by Liquibase changelogs.
*/
nextTimestamp(): string;
/**
* Get arguments for the priority
*/
getArgsForPriority(priorityName: string): {
control: Control;
configChanges: {
[k: string]: {
newValue: any;
oldValue: any;
};
};
}[] | {
control: Control;
}[];
/**
* Check if the generator should ask for prompts.
*/
shouldAskForPrompts({ control }: {
control: Control;
}): boolean;
/**
* Priority API stub for blueprints.
*
* Initializing priority is used to show logo and tasks related to preparing for prompts, like loading constants.
*/
get initializing(): {};
/**
* Utility method to get typed objects for autocomplete.
*/
asInitializingTaskGroup<const T extends Record<string, GenericTask<this, Tasks['InitializingTaskParam']>>>(taskGroup: T): Record<keyof T, GenericTask<any, Tasks['InitializingTaskParam']>>;
/**
* Priority API stub for blueprints.
*
* Prompting priority is used to prompt users for configuration values.
*/
get prompting(): {};
/**
* Utility method to get typed objects for autocomplete.
*/
asPromptingTaskGroup<const T extends Record<string, GenericTask<this, Tasks['PromptingTaskParam']>>>(taskGroup: T): Record<keyof T, GenericTask<any, Tasks['PromptingTaskParam']>>;
/**
* Priority API stub for blueprints.
*
* Configuring priority is used to customize and validate the configuration.
*/
get configuring(): {};
/**
* Utility method to get typed objects for autocomplete.
*/
asConfiguringTaskGroup<const T extends Record<string, GenericTask<this, Tasks['ConfiguringTaskParam']>>>(taskGroup: T): Record<keyof T, GenericTask<any, Tasks['ConfiguringTaskParam']>>;
/**
* Priority API stub for blueprints.
*
* Composing should be used to compose with others generators.
*/
get composing(): {};
/**
* Utility method to get typed objects for autocomplete.
*/
asComposingTaskGroup<const T extends Record<string, GenericTask<this, Tasks['ComposingTaskParam']>>>(taskGroup: T): Record<keyof T, GenericTask<any, Tasks['ComposingTaskParam']>>;
/**
* Priority API stub for blueprints.
*
* ComposingComponent priority should be used to handle component configuration order.
*/
get composingComponent(): {};
/**
* Utility method to get typed objects for autocomplete.
*/
asComposingComponentTaskGroup<const T extends Record<string, GenericTask<this, Tasks['ComposingTaskParam']>>>(taskGroup: T): Record<keyof T, GenericTask<any, Tasks['ComposingTaskParam']>>;
/**
* Priority API stub for blueprints.
*
* Loading should be used to load application configuration from jhipster configuration.
* Before this priority the configuration should be considered dirty, while each generator configures itself at configuring priority, another generator composed at composing priority can still change it.
*/
get loading(): {};
/**
* Utility method to get typed objects for autocomplete.
*/
asLoadingTaskGroup<const T extends Record<string, GenericTask<this, Tasks['LoadingTaskParam']>>>(taskGroup: T): Record<keyof T, GenericTask<any, Tasks['LoadingTaskParam']>>;
/**
* Priority API stub for blueprints.
*
* Preparing should be used to generate derived properties.
*/
get preparing(): {};
/**
* Utility method to get typed objects for autocomplete.
*/
asPreparingTaskGroup<const T extends Record<string, GenericTask<this, Tasks['PreparingTaskParam']>>>(taskGroup: T): Record<keyof T, GenericTask<any, Tasks['PreparingTaskParam']>>;
/**
* Priority API stub for blueprints.
*
* Preparing should be used to generate derived properties.
*/
get postPreparing(): {};
/**
* Utility method to get typed objects for autocomplete.
*/
asPostPreparingTaskGroup<const T extends Record<string, GenericTask<this, Tasks['PostPreparingTaskParam']>>>(taskGroup: T): Record<keyof T, GenericTask<any, Tasks['PostPreparingTaskParam']>>;
/**
* Priority API stub for blueprints.
*
* Default priority should used as misc customizations.
*/
get default(): {};
/**
* Utility method to get typed objects for autocomplete.
*/
asDefaultTaskGroup<const T extends Record<string, GenericTask<this, Tasks['DefaultTaskParam']>>>(taskGroup: T): Record<keyof T, GenericTask<any, Tasks['DefaultTaskParam']>>;
/**
* Priority API stub for blueprints.
*
* Writing priority should used to write files.
*/
get writing(): {};
/**
* Utility method to get typed objects for autocomplete.
*/
asWritingTaskGroup<const T extends Record<string, GenericTask<this, Tasks['WritingTaskParam']>>>(taskGroup: T): Record<keyof T, GenericTask<any, Tasks['WritingTaskParam']>>;
/**
* Priority API stub for blueprints.
*
* PostWriting priority should used to customize files.
*/
get postWriting(): {};
/**
* Utility method to get typed objects for autocomplete.
*/
asPostWritingTaskGroup<const T extends Record<string, GenericTask<this, Tasks['PostWritingTaskParam']>>>(taskGroup: T): Record<keyof T, GenericTask<any, Tasks['PostWritingTaskParam']>>;
/**
* Priority API stub for blueprints.
*
* Install priority should used to prepare the project.
*/
get install(): {};
/**
* Utility method to get typed objects for autocomplete.
*/
asInstallTaskGroup<const T extends Record<string, GenericTask<this, Tasks['InstallTaskParam']>>>(taskGroup: T): Record<keyof T, GenericTask<any, Tasks['InstallTaskParam']>>;
/**
* Priority API stub for blueprints.
*
* PostWriting priority should used to customize files.
*/
get postInstall(): {};
/**
* Utility method to get typed objects for autocomplete.
*/
asPostInstallTaskGroup<const T extends Record<string, GenericTask<this, Tasks['PostInstallTaskParam']>>>(taskGroup: T): Record<keyof T, GenericTask<any, Tasks['PostInstallTaskParam']>>;
/**
* Priority API stub for blueprints.
*
* End priority should used to say good bye and print instructions.
*/
get end(): {};
/**
* Utility method to get typed objects for autocomplete.
*/
asEndTaskGroup<const T extends Record<string, GenericTask<this, Tasks['EndTaskParam']>>>(taskGroup: T): Record<keyof T, GenericTask<any, Tasks['EndTaskParam']>>;
/**
* @protected
* Composes with blueprint generators, if any.
*/
protected composeWithBlueprints(): Promise<any[]>;
}
export declare class CommandBaseGenerator<Command extends ParsableCommand, AdditionalOptions = unknown, AdditionalFeatures = unknown> extends BaseGenerator<BaseConfig & ExportStoragePropertiesFromCommand<Command>, BaseOptions & ExportGeneratorOptionsFromCommand<Command> & AdditionalOptions, BaseSource, BaseFeatures & AdditionalFeatures, BaseTasks> {
}