electron-rebuild
Version:
Electron supporting package to rebuild native node modules against the currently installed electron
36 lines • 1.3 kB
JavaScript
;
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