import Generator from 'yeoman-generator'; import { type AdpGeneratorOptions } from './types.js'; /** * Generator for creating an Adaptation Project. * * @extends Generator */ export default class extends Generator { setPromptsCallback: (fn: object) => void; private readonly appWizard; private readonly vscode; private readonly toolsLogger; private isCli; /** * A boolean flag indicating whether node_modules should be installed after project generation. */ private readonly shouldInstallDeps; /** * A boolean flag indicating whether an extension project should be created. */ private shouldCreateExtProject; /** * Generator prompts. */ private readonly prompts; /** * Instance of the logger. */ private logger; /** * Flex layer indicating customer or vendor base. */ private layer; /** * Answers collected from configuration prompts. */ private configAnswers; /** * Project attribute answers. */ private attributeAnswers; /** * SystemLookup instance for managing system endpoints. */ private systemLookup; /** * Instance of the configuration prompter class. */ private prompter; /** * Instance of the CF services prompter class. */ private cfPrompter; /** * JSON object representing the complete adaptation project configuration, * passed as a CLI argument. */ private readonly jsonInput?; /** * Instance of AbapServiceProvider. */ private abapProvider; /** * Application manifest. */ private manifest; /** * The Adaptation project type. */ private projectType?; /** * Publicly available UI5 versions. */ private publicVersions; /** * Indicates if the current layer is based on a customer base. */ private isCustomerBase; /** * Target environment. */ private targetEnv; /** * Indicates if the current environment is a CF environment. */ private isCfEnv; /** * Indicates if the user is logged in to CF. */ private isCfLoggedIn; /** * CF config. */ private cfConfig; /** * Indicates if the current project is an MTA project. */ private readonly isMtaYamlFound; /** * CF services answers. */ private cfServicesAnswers; /** * Indicates if CF is installed. */ private cfInstalled; /** * Indicates if the CF feature is enabled. */ private readonly isCfFeatureEnabled; /** * Tools ID. */ private toolsId; /** * Telemetry collector instance. */ private telemetryCollector; /** * Key-user import prompter instance. */ private keyUserPrompter?; /** * Creates an instance of the generator. * * @param {string | string[]} args - The arguments passed to the generator. * @param {AdpGeneratorOptions} opts - The options for the generator. */ constructor(args: string | string[], opts: AdpGeneratorOptions); initializing(): Promise; prompting(): Promise; writing(): Promise; install(): Promise; end(): Promise; /** * Prompts the user for the CF project path. */ private _promptForCfProjectPath; /** * Collects the telemetry data for the ADP generator. */ private _collectTelemetryData; /** * Determines the target environment based on the current context. * Sets the target environment and updates related state accordingly. */ private _determineTargetEnv; /** * Prompts the user to select the target environment and updates related state. */ private _promptForTargetEnvironment; /** * Prompts the user for the CF environment. */ private _promptForCfEnvironment; /** * Retrieves the ConfigPrompter instance from cache if it exists, otherwise creates a new instance. * * @returns {ConfigPrompter} Cached config prompter if going back a page. */ private _getOrCreatePrompter; /** * Generates the ADP project artifacts for the CF environment. */ private _generateAdpProjectArtifactsCF; /** * Combines the target folder and project name. * * @returns {string} The project path from the answers. */ private _getProjectPath; /** * Use this method to get the correct Adaptation project type, no matter how we start * the generator - from Yeoman UI or the CLI. * * @returns {AdaptationProjectType | undefined} The Adaptation project type. */ private _getProjectType; /** * Configures logging for the generator. */ private _setupLogging; /** * Initialize the project generator from a json. */ private _initFromJson; /** * Updates the FLP wizard steps in the prompt sequence if the FLP configuration page(s) does not already exist. * */ private _updateWizardStepsAfterNavigation; } export type { AdpGeneratorOptions }; //# sourceMappingURL=index.d.ts.map