HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //proc/self/root/usr/local/lib/node_modules/@ionic/cli/lib/build.d.ts
/// <reference types="node" />
import { PromptModule } from '@ionic/cli-framework-prompts';
import { BaseBuildOptions, BuildOptions, CommandLineInputs, CommandLineOptions, CommandMetadata, CommandMetadataOption, IConfig, ILogger, IProject, IShell, NpmClient, Runner } from '../definitions';
export declare const BUILD_SCRIPT = "ionic:build";
export declare const COMMON_BUILD_COMMAND_OPTIONS: readonly CommandMetadataOption[];
export interface BuildRunnerDeps {
    readonly config: IConfig;
    readonly log: ILogger;
    readonly project: IProject;
    readonly prompt: PromptModule;
    readonly shell: IShell;
}
export declare abstract class BuildRunner<T extends BuildOptions<any>> implements Runner<T, void> {
    protected abstract readonly e: BuildRunnerDeps;
    abstract getCommandMetadata(): Promise<Partial<CommandMetadata>>;
    abstract createOptionsFromCommandLine(inputs: CommandLineInputs, options: CommandLineOptions): T;
    abstract buildProject(options: T): Promise<void>;
    getPkgManagerBuildCLI(): PkgManagerBuildCLI;
    createBaseOptionsFromCommandLine(inputs: CommandLineInputs, options: CommandLineOptions): BaseBuildOptions;
    determineEngineFromCommandLine(options: CommandLineOptions): string;
    beforeBuild(options: T): Promise<void>;
    run(options: T): Promise<void>;
    afterBuild(options: T): Promise<void>;
}
export declare abstract class BuildCLI<T extends object> {
    protected readonly e: BuildRunnerDeps;
    /**
     * The pretty name of this Build CLI.
     */
    abstract readonly name: string;
    /**
     * The npm package of this Build CLI.
     */
    abstract readonly pkg: string;
    /**
     * The bin program to use for this Build CLI.
     */
    abstract readonly program: string;
    /**
     * If specified, `package.json` is inspected for this script to use instead
     * of `program`.
     */
    abstract readonly script?: string;
    /**
     * If true, the Build CLI will not prompt to be installed.
     */
    readonly global: boolean;
    private _resolvedProgram?;
    constructor(e: BuildRunnerDeps);
    get resolvedProgram(): string;
    /**
     * Build the arguments for starting this Build CLI. Called by `this.run()`.
     */
    protected abstract buildArgs(options: T): Promise<string[]>;
    /**
     * Build the environment variables for this Build CLI. Called by `this.run()`.
     */
    protected buildEnvVars(options: T): Promise<NodeJS.ProcessEnv>;
    resolveScript(): Promise<string | undefined>;
    build(options: T): Promise<void>;
    protected runWrapper(options: T): Promise<void>;
    protected run(options: T): Promise<void>;
    protected resolveProgram(): Promise<string>;
    protected promptToInstall(): Promise<boolean>;
}
declare abstract class PkgManagerBuildCLI extends BuildCLI<BaseBuildOptions> {
    readonly abstract program: NpmClient;
    readonly global = true;
    readonly script = "ionic:build";
    protected resolveProgram(): Promise<string>;
    protected buildArgs(options: BaseBuildOptions): Promise<string[]>;
}
export declare class NpmBuildCLI extends PkgManagerBuildCLI {
    readonly name = "npm CLI";
    readonly pkg = "npm";
    readonly program = "npm";
}
export declare class PnpmBuildCLI extends PkgManagerBuildCLI {
    readonly name = "pnpm CLI";
    readonly pkg = "pnpm";
    readonly program = "pnpm";
}
export declare class YarnBuildCLI extends PkgManagerBuildCLI {
    readonly name = "Yarn";
    readonly pkg = "yarn";
    readonly program = "yarn";
}
export {};