add option for plugin to have a preload.js

This commit is contained in:
Araxeus
2021-04-22 05:34:43 +03:00
parent 10dffdbde2
commit 5fa8f3ef6f

View File

@ -1,6 +1,6 @@
const path = require("path"); const path = require("path");
const { contextBridge, remote } = require("electron"); const { remote } = require("electron");
const config = require("./config"); const config = require("./config");
const { fileExists } = require("./plugins/utils"); const { fileExists } = require("./plugins/utils");
@ -8,9 +8,15 @@ const { fileExists } = require("./plugins/utils");
const plugins = config.plugins.getEnabled(); const plugins = config.plugins.getEnabled();
plugins.forEach(([plugin, options]) => { plugins.forEach(([plugin, options]) => {
const pluginPath = path.join(__dirname, "plugins", plugin, "actions.js"); const preloadPath = path.join(__dirname, "plugins", plugin, "preload.js");
fileExists(pluginPath, () => { fileExists(preloadPath, () => {
const actions = require(pluginPath).actions || {}; const run = require(preloadPath);
run(options);
});
const actionPath = path.join(__dirname, "plugins", plugin, "actions.js");
fileExists(actionPath, () => {
const actions = require(actionPath).actions || {};
// TODO: re-enable once contextIsolation is set to true // TODO: re-enable once contextIsolation is set to true
// contextBridge.exposeInMainWorld(plugin + "Actions", actions); // contextBridge.exposeInMainWorld(plugin + "Actions", actions);