aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVendicated <vendicated@riseup.net>2022-08-29 18:45:58 +0200
committerVendicated <vendicated@riseup.net>2022-08-29 18:45:58 +0200
commit1709ab61ef2138d350b3d45a3eba0d94d5adf0a1 (patch)
tree92cfba166ee58f268ac617197d462f4b4dab1af5
parent876e622f4f61a4aa229ad69782d374335c3d8d6b (diff)
downloadVencord-1709ab61ef2138d350b3d45a3eba0d94d5adf0a1.tar.gz
Vencord-1709ab61ef2138d350b3d45a3eba0d94d5adf0a1.tar.bz2
Vencord-1709ab61ef2138d350b3d45a3eba0d94d5adf0a1.zip
Fix NPE when opening DevTools
-rwxr-xr-xbuild.mjs12
-rw-r--r--src/VencordNative.ts2
-rw-r--r--src/globals.d.ts6
-rw-r--r--src/patcher.ts4
4 files changed, 17 insertions, 7 deletions
diff --git a/build.mjs b/build.mjs
index 237b219..6459c63 100755
--- a/build.mjs
+++ b/build.mjs
@@ -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");