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 { contextBridge, remote } = require("electron");
const { remote } = require("electron");
const config = require("./config");
const { fileExists } = require("./plugins/utils");
@ -8,9 +8,15 @@ const { fileExists } = require("./plugins/utils");
const plugins = config.plugins.getEnabled();
plugins.forEach(([plugin, options]) => {
const pluginPath = path.join(__dirname, "plugins", plugin, "actions.js");
fileExists(pluginPath, () => {
const actions = require(pluginPath).actions || {};
const preloadPath = path.join(__dirname, "plugins", plugin, "preload.js");
fileExists(preloadPath, () => {
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
// contextBridge.exposeInMainWorld(plugin + "Actions", actions);