UNPKG

hot-updater

Version:

React Native OTA solution for self-hosted

73 lines (72 loc) 2.31 kB
import { HotUpdaterConfigOptions } from "@hot-updater/cli-tools"; import { ConfigInput, Platform } from "@hot-updater/plugin-core"; //#region src/utils/fingerprint/common.d.ts type FingerprintSource = { type: "file" | "dir"; filePath: string; reasons: string[]; overrideHashKey?: string; hash: string | null; debugInfo?: any; } | { type: "contents"; id: string; contents: string | Buffer; reasons: string[]; hash: string | null; debugInfo?: any; }; type FingerprintResult = { hash: string; sources: FingerprintSource[]; }; //#endregion //#region src/utils/fingerprint/index.d.ts declare const generateFingerprints: () => Promise<{ ios: FingerprintResult; android: FingerprintResult; }>; declare const generateFingerprint: (platform: "ios" | "android") => Promise<FingerprintResult>; declare const createAndInjectFingerprintFiles: ({ platform }?: { platform?: Platform; }) => Promise<{ fingerprint: { ios: FingerprintResult; android: FingerprintResult; }; androidPaths: string[]; iosPaths: string[]; }>; declare const createFingerprintJSON: (fingerprint: { ios: FingerprintResult; android: FingerprintResult; }) => Promise<{ ios: FingerprintResult; android: FingerprintResult; }>; declare const readLocalFingerprint: () => Promise<{ ios: FingerprintResult | null; android: FingerprintResult | null; } | null>; //#endregion //#region src/utils/signing/keyGeneration.d.ts /** * Load private key from PEM file. * @param privateKeyPath Path to private key file * @returns Private key in PEM format * @throws Error if file not found or invalid format */ declare function loadPrivateKey(privateKeyPath: string): Promise<string>; /** * Extract public key from private key. * @param privateKeyPEM Private key in PEM format * @returns Public key in PEM format */ declare function getPublicKeyFromPrivate(privateKeyPEM: string): string; //#endregion //#region src/config.d.ts declare const defineConfig: (config: ConfigInput | ((options: HotUpdaterConfigOptions) => ConfigInput)) => ConfigInput | ((options: HotUpdaterConfigOptions) => ConfigInput); //#endregion export { createAndInjectFingerprintFiles, createFingerprintJSON, defineConfig, generateFingerprint, generateFingerprints, getPublicKeyFromPrivate, loadPrivateKey, readLocalFingerprint };