Browse Source

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.
Eli Skeggs 4 years ago
parent
commit
5521f8acca
1 changed files with 7 additions and 4 deletions
  1. 7 4
      npm/index.js

+ 7 - 4
npm/index.js

@@ -4,11 +4,14 @@ const path = require('path');
 const pathFile = path.join(__dirname, 'path.txt');
 
 function getElectronPath () {
+  let executablePath;
   if (fs.existsSync(pathFile)) {
-    const executablePath = fs.readFileSync(pathFile, 'utf-8');
-    if (process.env.ELECTRON_OVERRIDE_DIST_PATH) {
-      return path.join(process.env.ELECTRON_OVERRIDE_DIST_PATH, executablePath);
-    }
+    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');