UNPKG

electron-rebuild

Version:

Electron supporting package to rebuild native node modules against the currently installed electron

36 lines 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fs = require("fs"); const path = require("path"); const possibleModuleNames = ['electron', 'electron-prebuilt', 'electron-prebuilt-compile']; const relativeNodeModulesDir = path.resolve(__dirname, '..', '..'); function locateModules(pathMapper) { const possibleModulePaths = possibleModuleNames.map(pathMapper); return possibleModulePaths.filter((modulePath) => modulePath && fs.existsSync(path.join(modulePath, 'package.json'))); } function locateSiblingModules() { return locateModules((moduleName) => path.join(relativeNodeModulesDir, moduleName)); } function locateModulesByRequire() { return locateModules((moduleName) => { try { return path.resolve(require.resolve(path.join(moduleName, 'package.json')), '..'); } catch (error) { return null; } }); } function locateElectronModule() { let foundModules = locateSiblingModules(); if (foundModules.length > 0) { return foundModules[0]; } foundModules = locateModulesByRequire(); if (foundModules.length > 0) { return foundModules[0]; } return null; } exports.locateElectronModule = locateElectronModule; //# sourceMappingURL=electron-locator.js.map