From a8aca55ed5ba57b397ce8080795560f98aa3905f Mon Sep 17 00:00:00 2001 From: Astra Date: Thu, 3 May 2018 13:28:57 -0400 Subject: [PATCH] rudimentary preload script support --- monitor.htm | 15 ++++++++++----- stage2.js | 4 ++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/monitor.htm b/monitor.htm index 94215ff..6f33af9 100644 --- a/monitor.htm +++ b/monitor.htm @@ -40,14 +40,19 @@ win.webContents.executeJavaScript(stage2); }); - function load() { - var branch = require('path').basename(electron.app.getPath("userData")).substr(7); - win.loadURL('https://' + (branch ? branch + '.' : '') + 'discordapp.com/channels/@me'); - } - // get the data path var data = electron.app.getPath('userData'); + function load() { + var branch = require('path').basename(data).substr(7); + var preload = ''; + if (fs.existsSync(data + '/preload.js')) { + preload = fs.readFileSync(data + '/preload.js').toString(); + } + win.loadURL('https://' + (branch ? branch + '.' : '') + 'discordapp.com/channels/@me'); + win.webContents.executeJavaScript(preload); + } + // dont update EPAPI if DONTUPDATE exists if (!fs.existsSync(data + '/DONTUPDATE')) { diff --git a/stage2.js b/stage2.js index 2f84ad6..51fd49f 100644 --- a/stage2.js +++ b/stage2.js @@ -25,11 +25,11 @@ var fs = electron.require('original-fs'); // get the data path (where epapi.js should be) - var data = electron.app.getPath('userData').replace(/\\\\/g, "/") + '/'; + var ___data = electron.app.getPath('userData').replace(/\\\\/g, "/") + '/'; // shakily reimplemented of require() intended for loading plugins and EPAPI itself function __krequire(path) { - return eval('(()=>{var exports={};' + fs.readFileSync(data + path, 'utf8').toString() + ';return exports})()'); + return eval('(()=>{var exports={};' + fs.readFileSync(___data + path, 'utf8').toString() + ';return exports})()'); } // load EPAPI