electron/npm/index.js
Eli Skeggs 5521f8acca
feat: allow path override with --ignore-scripts (#25377)
If you --ignore-scripts when installing electron currently, it'll fail
to write the path.txt file and thus fail to use the override dist path.
Open to other solutions - just hoping to be able to use a prebuilt
electron binary with the default package without having to muck around
with it installing an unused version.
2020-12-03 16:23:44 +09:00

21 lines
659 B
JavaScript

const fs = require('fs');
const path = require('path');
const pathFile = path.join(__dirname, 'path.txt');
function getElectronPath () {
let executablePath;
if (fs.existsSync(pathFile)) {
executablePath = fs.readFileSync(pathFile, 'utf-8');
}
if (process.env.ELECTRON_OVERRIDE_DIST_PATH) {
return path.join(process.env.ELECTRON_OVERRIDE_DIST_PATH, executablePath || 'electron');
}
if (executablePath) {
return path.join(__dirname, 'dist', executablePath);
} else {
throw new Error('Electron failed to install correctly, please delete node_modules/electron and try installing again');
}
}
module.exports = getElectronPath();