import EventEmitter from 'events'; import { ApolloClient } from '@apollo/client/core'; import { ContentstackClient } from '@contentstack/cli-utilities'; import { LogFn, ExitFn, ConfigType, AdapterConstructorInputs, Environment } from '../types'; export default class BaseClass { log: LogFn; exit: ExitFn; config: ConfigType; analyticsInfo: string; $event: EventEmitter; framework: Record; apolloClient: ApolloClient; projectCreationRetryCount: number; apolloLogsClient: ApolloClient | undefined; envVariables: Array>; managementSdk: ContentstackClient | undefined; constructor(options: AdapterConstructorInputs); /** * @method initApolloClient - initialize Apollo client * * @memberof BaseClass */ initApolloClient(): Promise; /** * @method createNewDeployment - Create new deployment on existing launch project * * @return {*} {Promise} * @memberof GitHub */ createNewDeployment(skipGitData: boolean | undefined, environmentUid: string, uploadUid?: string): Promise; /** * @method selectOrg - select organization * * @return {*} {Promise} * @memberof BaseClass */ selectOrg(): Promise; /** * @method detectFramework - detect the project framework * * @return {*} {Promise} * @memberof BaseClass */ detectFramework(): Promise; /** * @method getCmsEnvironmentVariables - get list of environment variables * * @return {*} {Promise} * @memberof BaseClass */ getCmsEnvironmentVariables(): Promise; /** * @method selectStack - Select stack to import variables, tokens * * @return {*} {Promise} * @memberof BaseClass */ selectStack(): Promise; /** * @method selectDeliveryToken - Select delivery token from a stack * * @return {*} {Promise} * @memberof BaseClass */ selectDeliveryToken(): Promise; /** * @method parseEnvVariablesString - Parse environment variables string into key-value pairs * Splits on first colon only to support values containing colons (e.g., URLs) * * @param {string} envString - Comma-separated string of key:value pairs * @return {*} {Array<{key: string, value: string}>} * @memberof BaseClass */ private parseEnvVariablesString; /** * @method promptForEnvValues - Prompt and get manual entry of environment variables * * @return {*} {Promise} * @memberof BaseClass */ promptForEnvValues(): Promise; /** * @method prepareLaunchConfig - prepare and write launch config in to dist. * * @memberof BaseClass */ prepareLaunchConfig(): void; /** * @method connectToAdapterOnUi - Open browser to connect with adapter with launch (GitHub etc.,) * * @param {boolean} [emit=true] * @return {*} {Promise} * @memberof BaseClass */ connectToAdapterOnUi(emit?: boolean): Promise; /** * @method queryBranches - Query all paginated branches * * @param {Record} variables * @param {any[]} [branchesRes=[]] * @return {*} {Promise} * @memberof BaseClass */ queryBranches(variables: Record, branchesRes?: any[]): Promise; /** * @method selectBranch - Select a branch for launch process * * @return {*} {Promise} * @memberof BaseClass */ selectBranch(): Promise; /** * @method inquireRequireValidation - Required validation for prompt * * @param {*} input * @return {*} {(string | boolean)} * @memberof BaseClass */ inquireRequireValidation(input: any): string | boolean; /** * @method handleEnvImportFlow - Manage variables flow whether to import or manual input. * * @return {*} {Promise} * @memberof BaseClass */ handleEnvImportFlow(): Promise; /** * @method importVariableFromLocalConfig - Import environment variable from local config * * @return {*} {Promise} * @memberof BaseClass */ importVariableFromLocalConfig(): Promise; /** * @method importEnvFromStack - Import environment variables from stack * * @return {*} {Promise} * @memberof BaseClass */ importEnvFromStack(): Promise; /** * @method printAllVariables - Print/Display all variables on ui * * @memberof BaseClass */ printAllVariables(): void; /** * @method showLogs - show deployment logs on terminal/UI * * @return {*} {Promise} * @memberof BaseClass */ showLogs(): Promise; /** * @method handleNewProjectCreationError * * @param {*} error * @return {*} {(Promise)} * @memberof BaseClass */ handleNewProjectCreationError(error: any): Promise; getEnvironment(): Promise | never; setEnvironmentOnConfig(environment: Environment): Promise; fetchEnvironments(): Promise | never; /** * @method showDeploymentUrl - show deployment URL and open it on browser * * @param {boolean} [openOnUi=true] * @memberof BaseClass */ showDeploymentUrl(openOnUi?: boolean): void; /** * @method showSuggestion - Show suggestion to add config file to .gitignore * * @return {*} * @memberof GitHub */ showSuggestion(): void; }