/** * Parses the `out` directory to find the latest build of your Electron project. * Use `npm run package` (or similar) to build your app prior to testing. * * Assumptions: We assume that your build will be in the `out` directory, and that * the build directory will be named with a hyphen-delimited platform name, e.g. * `out/my-app-win-x64`. If your build directory is not `out`, you can * pass the name of the directory as the `buildDirectory` parameter. If your * build directory is not named with a hyphen-delimited platform name, this * function will not work. However, you can pass the build path into * `parseElectronApp()` directly. * * @see parseElectronApp * * @param buildDirectory {string} - optional - the directory to search for the latest build * (path/name relative to package root or full path starting with /). Defaults to `out`. * @returns {string} - path to the most recently modified build directory */ export declare function findLatestBuild(buildDirectory?: string): string; type Architecture = 'x64' | 'x32' | 'arm64' | 'universal' | undefined; export interface PackageJson { [key: string]: unknown; name: string; productName?: string; main: string; version: string; description?: string; author?: string | { name: string; email: string; }; license?: string; repository?: string; homepage?: string; bugs?: string | { url: string; }; } /** * Format of the data returned from `parseElectronApp()` * @typedef ElectronAppInfo * @prop {string} executable - path to the Electron executable * @prop {string} main - path to the main (JS) file * @prop {string} name - name of the your application * @prop {string} resourcesDir - path to the resources directory * @prop {boolean} asar - whether the app is packaged as an asar archive * @prop {string} platform - 'darwin', 'linux', or 'win32' * @prop {string} arch - 'x64', 'x32', or 'arm64' * @prop {PackageJson} packageJson - the `JSON.parse()`'d contents of the package.json file. */ export interface ElectronAppInfo { /** Path to the app's executable file */ executable: string; /** Path to the app's main (JS) file */ main: string; /** Name of the app */ name: string; /** Resources directory */ resourcesDir: string; /** True if the app is using asar */ asar: boolean; /** OS platform */ platform: 'darwin' | 'win32' | 'linux'; /** Architecture */ arch: Architecture; /** The JSON.parse()'d contents of the package.json file. */ packageJson: PackageJson; } /** * Given a directory containing an Electron app build, * or the path to the app itself (directory on Mac, executable on Windows), * return a bunch of metadata, including the path to the app's executable * and the path to the app's main file. * * Format of the data returned is an object with the following properties: * - executable: path to the app's executable file * - main: path to the app's main (JS) file * - name: name of the app * - resourcesDir: path to the app's resources directory * - asar: true if the app is using asar * - platform: OS platform * - arch: architecture * - packageJson: the JSON.parse()'d contents of the package.json file. * * @param buildDir {string} - absolute path to the build directory or the app itself * @returns {ElectronAppInfo} metadata about the app */ export declare function parseElectronApp(buildDir: string): ElectronAppInfo; export {}; //# sourceMappingURL=find_parse_builds.d.ts.map