import { createWriteStream } from 'fs'; import type { GeneratorMeta } from '@yeoman/types'; import { simpleGit } from 'simple-git'; import type { CopyOptions } from 'mem-fs-editor'; import type { Data as TemplateData, Options as TemplateOptions } from 'ejs'; import YeomanGenerator, { type ComposeOptions, type Storage } from 'yeoman-generator'; import type Environment from 'yeoman-environment'; import SharedData from '../base/shared-data.js'; import type { Logger } from '../base/support/index.js'; import type { CascatedEditFileCallback, EditFileCallback, EditFileOptions, JHipsterGeneratorFeatures, JHipsterGeneratorOptions, ValidationResult, WriteFileOptions } from '../base/api.js'; import { type JHipsterArguments, type JHipsterCommandDefinition, type JHipsterConfigs, type JHipsterOptions } from '../../lib/command/index.js'; import NeedleApi from '../needle-api.js'; import type BaseApplicationGenerator from '../base-application/generator.js'; import type { ApplicationConfiguration } from '../../lib/types/application/yo-rc.js'; export default class CoreGenerator extends YeomanGenerator { static asPriority: (priorityName: string) => string; static INITIALIZING: string; static PROMPTING: string; static CONFIGURING: string; static COMPOSING: string; static COMPOSING_COMPONENT: string; static LOADING: string; static PREPARING: string; static POST_PREPARING: string; static DEFAULT: string; static WRITING: string; static POST_WRITING: string; static INSTALL: string; static POST_INSTALL: string; static END: string; context?: Record; useVersionPlaceholders?: boolean; skipChecks?: boolean; ignoreNeedlesError?: boolean; experimental?: boolean; debugEnabled?: boolean; jhipster7Migration?: boolean | 'verbose' | 'silent'; relativeDir: (from: string, to: string) => string; relative: (from: string, to: string) => string; readonly sharedData: SharedData; readonly logger: Logger; jhipsterConfig: Record; jhipsterTemplatesFolders: string[]; blueprintStorage?: Storage; generatorCommand?: JHipsterCommandDefinition; generatorsToCompose: string[]; private _jhipsterGenerator?; private _needleApi?; env: Environment; log: Logger; _meta?: GeneratorMeta; constructor(args: string | string[], options: JHipsterGeneratorOptions, features: JHipsterGeneratorFeatures); usage(): string; storeCurrentJHipsterVersion(): void; get needleApi(): NeedleApi; get jhipsterConfigWithDefaults(): Readonly>; handleCheckFailure(message: string): void; isJhipsterVersionLessThan(version: string): boolean; isVersionLessThan(oldVersion: string | null, newVersion: string): boolean; getArgsForPriority(priorityName: string): { control: import("../base/types.js").Control; source: import("../../lib/types/application/application.js").BaseApplicationSource; }[] | { control: import("../base/types.js").Control; configChanges: { [k: string]: { newValue: any; oldValue: any; }; }; }[] | { control: import("../base/types.js").Control; }[]; shouldAskForPrompts({ control }: { control: any; }): boolean; getTaskNames(): string[]; queueCurrentJHipsterCommandTasks(): void; getCurrentJHipsterCommand(): Promise; parseCurrentJHipsterCommand(): Promise; promptCurrentJHipsterCommand(): Promise; configureCurrentJHipsterCommandConfig(): Promise; loadCurrentJHipsterCommandConfig(context: any): Promise; composeCurrentJHipsterCommand(): Promise; parseJHipsterCommand(commandDef: JHipsterCommandDefinition): void; parseJHipsterOptions(options: JHipsterOptions | undefined, configs?: JHipsterConfigs | boolean, common?: boolean): void; parseJHipsterArguments(jhipsterArguments?: JHipsterArguments): void; prepareQuestions(configs?: JHipsterConfigs): ({ storage: any; type: "input" | "list" | "confirm" | "checkbox"; message: string | ((any: any) => string); when?: boolean | ((any: any) => boolean); default?: any | ((any: any) => any); filter?: any | ((any: any) => any); transformer?: any | ((any: any) => any); validate?: any | ((any: any) => any); name: string; choices: import("../../lib/command/types.js").JHipsterChoices | undefined; } | { storage: any; type?: "input" | "confirm" | "checkbox" | "list" | undefined; message?: string | ((any: any) => string) | undefined; when?: boolean | ((any: any) => boolean); default?: any | ((any: any) => any); filter?: any | ((any: any) => any); transformer?: any | ((any: any) => any); validate?: any | ((any: any) => any); name: string; choices: import("../../lib/command/types.js").JHipsterChoices | undefined; })[]; dateFormatForLiquibase(reproducible?: boolean): string; jhipsterTemplatePath(...path: string[]): string; composeWithJHipster(gen: G, options?: ComposeOptions): Promise, import("../../lib/types/application/application.js").ApplicationType>>; PreparingTaskParam: import("../../lib/types/application/tasks.js").PreparingTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; ConfiguringEachEntityTaskParam: import("../../lib/types/application/tasks.js").ConfiguringEachEntityTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; LoadingEntitiesTaskParam: import("../../lib/types/application/tasks.js").LoadingEntitiesTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; PreparingEachEntityTaskParam: import("../../lib/types/application/tasks.js").PreparingEachEntityTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; PreparingEachEntityFieldTaskParam: import("../../lib/types/application/tasks.js").PreparingEachEntityFieldTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; PreparingEachEntityRelationshipTaskParam: import("../../lib/types/application/tasks.js").PreparingEachEntityRelationshipTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; PostPreparingEachEntityTaskParam: import("../../lib/types/application/tasks.js").PreparingEachEntityTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; PostPreparingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl & { source: import("../../lib/types/application/application.js").BaseApplicationSource; } & { application: import("../../lib/types/application/application.js").ApplicationType>; }; DefaultTaskParam: import("../../lib/types/application/tasks.js").TaskParamWithEntities, import("../../lib/types/application/application.js").ApplicationType>>; WritingTaskParam: import("../../lib/types/application/tasks.js").WritingTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; WritingEntitiesTaskParam: import("../../lib/types/application/tasks.js").TaskParamWithEntities, import("../../lib/types/application/application.js").ApplicationType>>; PostWritingTaskParam: import("../../lib/types/application/tasks.js").PostWritingTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; PostWritingEntitiesTaskParam: import("../../lib/types/application/tasks.js").PostWritingEntitiesTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; PreConflictsTaskParam: import("../../lib/types/application/tasks.js").TaskParamWithApplication, import("../../lib/types/application/application.js").ApplicationType>>; InstallTaskParam: import("../../lib/types/application/tasks.js").TaskParamWithApplication, import("../../lib/types/application/application.js").ApplicationType>>; PostInstallTaskParam: import("../../lib/types/application/tasks.js").TaskParamWithApplication, import("../../lib/types/application/application.js").ApplicationType>>; EndTaskParam: import("../../lib/types/application/tasks.js").TaskParamWithApplication, import("../../lib/types/application/application.js").ApplicationType>>; }>[]>; dependsOnJHipster(generator: string, options?: ComposeOptions): Promise, import("../../lib/types/application/application.js").ApplicationType>>; PreparingTaskParam: import("../../lib/types/application/tasks.js").PreparingTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; ConfiguringEachEntityTaskParam: import("../../lib/types/application/tasks.js").ConfiguringEachEntityTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; LoadingEntitiesTaskParam: import("../../lib/types/application/tasks.js").LoadingEntitiesTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; PreparingEachEntityTaskParam: import("../../lib/types/application/tasks.js").PreparingEachEntityTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; PreparingEachEntityFieldTaskParam: import("../../lib/types/application/tasks.js").PreparingEachEntityFieldTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; PreparingEachEntityRelationshipTaskParam: import("../../lib/types/application/tasks.js").PreparingEachEntityRelationshipTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; PostPreparingEachEntityTaskParam: import("../../lib/types/application/tasks.js").PreparingEachEntityTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; PostPreparingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl & { source: import("../../lib/types/application/application.js").BaseApplicationSource; } & { application: import("../../lib/types/application/application.js").ApplicationType>; }; DefaultTaskParam: import("../../lib/types/application/tasks.js").TaskParamWithEntities, import("../../lib/types/application/application.js").ApplicationType>>; WritingTaskParam: import("../../lib/types/application/tasks.js").WritingTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; WritingEntitiesTaskParam: import("../../lib/types/application/tasks.js").TaskParamWithEntities, import("../../lib/types/application/application.js").ApplicationType>>; PostWritingTaskParam: import("../../lib/types/application/tasks.js").PostWritingTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; PostWritingEntitiesTaskParam: import("../../lib/types/application/tasks.js").PostWritingEntitiesTaskParam, import("../../lib/types/application/application.js").ApplicationType>>; PreConflictsTaskParam: import("../../lib/types/application/tasks.js").TaskParamWithApplication, import("../../lib/types/application/application.js").ApplicationType>>; InstallTaskParam: import("../../lib/types/application/tasks.js").TaskParamWithApplication, import("../../lib/types/application/application.js").ApplicationType>>; PostInstallTaskParam: import("../../lib/types/application/tasks.js").TaskParamWithApplication, import("../../lib/types/application/application.js").ApplicationType>>; EndTaskParam: import("../../lib/types/application/tasks.js").TaskParamWithApplication, import("../../lib/types/application/application.js").ApplicationType>>; }>[]>; removeFile(...path: string[]): string; removeFolder(...path: string[]): void; fetchFromInstalledJHipster(...path: string[]): string; writeFile(source: string, destination: string, data?: TemplateData, options?: TemplateOptions, copyOptions?: CopyOptions): void; writeFiles(options: WriteFileOptions): Promise; editFile(file: string, ...transformCallbacks: EditFileCallback[]): CascatedEditFileCallback; editFile(file: string, options: EditFileOptions, ...transformCallbacks: EditFileCallback[]): CascatedEditFileCallback; writeDestinationYaml(filepath: string, value: Record): void; mergeDestinationYaml(filepath: string, value: Record): void; mergeYaml(filepath: string, key: string, value: any, multiDocuments?: boolean, docIndex?: number): void; mergeDestinationJson(filepath: string, value: Record): void; prepareDependencies(map: Record, valuePlaceholder?: 'java' | 'docker' | ((value: string) => string)): Record; loadNodeDependencies(destination: Record, source: Record): void; loadJavaDependenciesFromGradleCatalog(javaDependencies: Record, gradleCatalogFile?: string): void; loadJavaDependenciesFromGradleCatalog(javaDependencies: Record, mainGenerator: boolean): void; loadNodeDependenciesFromPackageJson(destination: Record, packageJsonFile?: string): void; validateResult(result: ValidationResult, { throwOnError }?: { throwOnError?: boolean | undefined; }): void; protected checkForNewVersion(): Promise; createGit(options?: Parameters[0]): import("simple-git").SimpleGit; private calculateApplicationId; protected getSharedApplication(applicationFolder?: string): any; private createSharedData; writeJSONL(filePath: string, list: any[]): void; getUtils(): { cartesian: (data: any) => Generator; createWriteStream: typeof createWriteStream; }; removeFiles(options: WriteFileOptions): string[]; }