diff options
author | Vendicated <vendicated@riseup.net> | 2022-08-29 18:45:58 +0200 |
---|---|---|
committer | Vendicated <vendicated@riseup.net> | 2022-08-29 18:45:58 +0200 |
commit | 1709ab61ef2138d350b3d45a3eba0d94d5adf0a1 (patch) | |
tree | 92cfba166ee58f268ac617197d462f4b4dab1af5 | |
parent | 876e622f4f61a4aa229ad69782d374335c3d8d6b (diff) | |
download | Vencord-1709ab61ef2138d350b3d45a3eba0d94d5adf0a1.tar.gz Vencord-1709ab61ef2138d350b3d45a3eba0d94d5adf0a1.tar.bz2 Vencord-1709ab61ef2138d350b3d45a3eba0d94d5adf0a1.zip |
Fix NPE when opening DevTools
-rwxr-xr-x | build.mjs | 12 | ||||
-rw-r--r-- | src/VencordNative.ts | 2 | ||||
-rw-r--r-- | src/globals.d.ts | 6 | ||||
-rw-r--r-- | src/patcher.ts | 4 |
4 files changed, 17 insertions, 7 deletions
@@ -4,16 +4,19 @@ import { readdirSync } from "fs"; import { performance } from "perf_hooks"; /** - * @type {esbuild.WatchMode} + * @type {esbuild.WatchMode|false} */ -const watch = { +const watch = process.argv.includes("--watch") ? { onRebuild: (err) => { if (err) console.error("Build Error", err.message); else console.log("Rebuilt!"); } -}; +} : false; // https://github.com/evanw/esbuild/issues/619#issuecomment-751995294 +/** + * @type {esbuild.Plugin} + */ const makeAllPackagesExternalPlugin = { name: 'make-all-packages-external', setup(build) { @@ -22,6 +25,9 @@ const makeAllPackagesExternalPlugin = { }, }; +/** + * @type {esbuild.Plugin} + */ const globPlugins = { name: "glob-plugins", setup: build => { diff --git a/src/VencordNative.ts b/src/VencordNative.ts index 1798cbf..0fc5d16 100644 --- a/src/VencordNative.ts +++ b/src/VencordNative.ts @@ -7,5 +7,5 @@ export default { cb(css); }); }, - getQuickCss: () => ipcRenderer.invoke(IPC_GET_QUICK_CSS) + getQuickCss: () => ipcRenderer.invoke(IPC_GET_QUICK_CSS) as Promise<string> };
\ No newline at end of file diff --git a/src/globals.d.ts b/src/globals.d.ts index 610466a..ca43786 100644 --- a/src/globals.d.ts +++ b/src/globals.d.ts @@ -1,7 +1,5 @@ -import TVencordNative from "./VencordNative"; - declare global { - export var VencordNative: typeof TVencordNative; + export var VencordNative: typeof import("./VencordNative").default; export var appSettings: { set(setting: string, v: any): void; }; @@ -12,3 +10,5 @@ declare global { }; } } + +export { };
\ No newline at end of file diff --git a/src/patcher.ts b/src/patcher.ts index 9fe3dd2..e991377 100644 --- a/src/patcher.ts +++ b/src/patcher.ts @@ -20,6 +20,10 @@ class BrowserWindow extends electron.BrowserWindow { } } Object.assign(BrowserWindow, electron.BrowserWindow); +// esbuild may rename our BrowserWindow, which leads to it being excluded +// from getFocusedWindow(), so this is necessary +// https://github.com/discord/electron/blob/13-x-y/lib/browser/api/browser-window.ts#L60-L62 +Object.defineProperty(BrowserWindow, "name", { value: "BrowserWindow", configurable: true }); // Replace electrons exports with our custom BrowserWindow const electronPath = require.resolve("electron"); |