UNPKG

@stacksjs/launchpad

Version:
59 lines 2.6 kB
/** * Convenience function to download and install PHP using precompiled binaries */ export declare function downloadPhpBinary(installPath: string, requestedVersion?: string): Promise<string[]>; export declare interface BinaryInfo { filename: string size: number php_version: string platform: string architecture: string configuration: string built_at: string extensions: string download_url: string } export declare interface BinaryManifest { version: string built_at: string commit: string binaries: BinaryInfo[] } export declare class PrecompiledBinaryDownloader { readonly private GITHUB_REPO: any; readonly private GITHUB_API: any; readonly private BINARY_CACHE_DIR: string; private installPath: string; constructor(installPath: string); private getPlatform(): string; private getArchitecture(): string; private getOptimalConfiguration(): string; private hasCustomExtensions(): Promise<{ hasCustom: boolean, customExtensions: string[], reason: string }>; private isCompatibleWithFullStack(userExtensions: string[]): boolean; private detectFrameworkAndDatabase(): Promise<string>; private downloadManifest(): Promise<BinaryManifest>; private findMatchingBinary(manifest: BinaryManifest, phpVersion?: string): Promise<BinaryInfo | null>; private getFallbackConfigurations(detectedConfig: string): string[]; private generateDiscordErrorMessage(detectedConfig: string, platform: string, architecture: string): string; private downloadBinary(binary: BinaryInfo): Promise<string>; private getPhpDependenciesFromPantry(): Promise<string[]>; createPhpShims(packageDir: string, version: string): Promise<void>; private fixMacOSDylibs(packageDir: string, launchpadLibraryPaths: string[]): Promise<void>; private findLaunchpadLibraryPaths(): Promise<string[]>; private ensurePhpDependenciesInstalled(): Promise<void>; private detectRequiredIcuMajor(): Promise<number | null>; private createHomebrewCompatSymlinks(launchpadLibraryPaths: string[]): Promise<void>; validatePhpInstallation(packageDir: string, version: string): Promise<void>; private extractBinary(binaryPath: string, binary: BinaryInfo): Promise<string>; private provideSuggestions(customCheck: { hasCustom: boolean, customExtensions: string[], reason: string }): void; downloadAndInstallPHP(requestedVersion?: string): Promise<{ success: boolean packageDir: string version: string configuration: string extensions: string[] error?: string }>; isSupported(): Promise<boolean>; listAvailableBinaries(): Promise<BinaryInfo[]>; }