UNPKG

@electron-forge/core

Version:

A complete tool for building modern Electron applications

34 lines (27 loc) 995 B
import path from 'node:path'; import { getElectronModulePath } from '@electron-forge/core-utils'; import logSymbols from 'log-symbols'; type PackageJSON = Record<string, unknown>; export default async function locateElectronExecutable( dir: string, packageJSON: PackageJSON, ): Promise<string> { const electronModulePath: string | undefined = await getElectronModulePath( dir, packageJSON, ); // eslint-disable-next-line @typescript-eslint/no-require-imports let electronExecPath = require( electronModulePath || path.resolve(dir, 'node_modules/electron'), ); if (typeof electronExecPath !== 'string') { console.warn( logSymbols.warning, 'Returned Electron executable path is not a string, defaulting to a hardcoded location. Value:', electronExecPath, ); // eslint-disable-next-line @typescript-eslint/no-require-imports electronExecPath = require(path.resolve(dir, 'node_modules/electron')); } return electronExecPath; }