BetterDiscordApp-rauenzi/injector/src/index.js

35 lines
1.2 KiB
JavaScript

const path = require("path");
const electron = require("electron");
const Module = require("module");
import ipc from "./modules/ipc";
import BrowserWindow from "./modules/browserwindow";
import CSP from "./modules/csp";
process.env.NODE_OPTIONS = "--no-force-async-hooks-checks";
electron.app.commandLine.appendSwitch("no-force-async-hooks-checks");
process.electronBinding("command_line").appendSwitch("no-force-async-hooks-checks");
// Patch and replace the built-in BrowserWindow
BrowserWindow.patchBrowserWindow();
// Register all IPC events
ipc.registerEvents();
// Remove CSP immediately on linux since they install to discord_desktop_core still
if (process.platform == "win32" || process.platform == "darwin") electron.app.once("ready", CSP.remove);
else CSP.remove();
// Use Discord's info to run the app
if (process.platform == "win32" || process.platform == "darwin") {
const basePath = path.join(electron.app.getAppPath(), "..", "app.asar");
const pkg = __non_webpack_require__(path.join(basePath, "package.json"));
electron.app.setAppPath(basePath);
electron.app.name = pkg.name;
Module._load(path.join(basePath, pkg.main), null, true);
}