aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.vscode/extensions.json10
-rw-r--r--.vscode/launch.json37
-rwxr-xr-xscripts/build/build.mjs15
3 files changed, 55 insertions, 7 deletions
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index 3df8d33..8922d15 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -1,3 +1,11 @@
{
- "recommendations": [ "EditorConfig.EditorConfig" ]
+ "recommendations": [
+ "EditorConfig.EditorConfig",
+ "pmneo.tsimporter",
+ "dbaeumer.vscode-eslint",
+ "formulahendry.auto-rename-tag",
+ "GregorBiswanger.json2ts",
+ "eamodio.gitlens",
+ "kamikillerto.vscode-colorize"
+ ]
}
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 0000000..dce9770
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,37 @@
+{
+ // this allows you to debug Vencord from VSCode.
+ // How to use:
+ // You need to run Discord via the command line to pass some flags to it.
+ // If you want to debug the main (node.js) process (preload.ts, ipcMain/*, patcher.ts),
+ // add the --inspect flag
+ // To debug the renderer (99% of Vencord), add the --remote-debugging-port=9223 flag
+ //
+ // Now launch the desired configuration in VSCode and start Discord with the flags.
+ // For example, to debug both process, run Electron: All then launch Discord with
+ // discord --remote-debugging-port=9223 --inspect
+
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Electron: Main",
+ "type": "node",
+ "request": "attach",
+ "port": 9229,
+ "timeout": 30000
+ },
+ {
+ "name": "Electron: Renderer",
+ "type": "chrome",
+ "request": "attach",
+ "port": 9223,
+ "timeout": 30000,
+ "webRoot": "${workspaceFolder}/src"
+ }
+ ],
+ "compounds": [
+ {
+ "name": "Electron: All",
+ "configurations": ["Electron: Main", "Electron: Renderer"]
+ }
+ ]
+}
diff --git a/scripts/build/build.mjs b/scripts/build/build.mjs
index 3d43269..70a05cf 100755
--- a/scripts/build/build.mjs
+++ b/scripts/build/build.mjs
@@ -44,20 +44,23 @@ const nodeCommonOpts = {
define: defines,
};
+const sourceMapFooter = s => watch ? "" : `//# sourceMappingURL=vencord://${s}.js.map`;
+const sourcemap = watch ? "inline" : "external";
+
await Promise.all([
esbuild.build({
...nodeCommonOpts,
entryPoints: ["src/preload.ts"],
outfile: "dist/preload.js",
- footer: { js: "//# sourceURL=VencordPreload\n//# sourceMappingURL=vencord://preload.js.map" },
- sourcemap: "external",
+ footer: { js: "//# sourceURL=VencordPreload\n" + sourceMapFooter("preload") },
+ sourcemap,
}),
esbuild.build({
...nodeCommonOpts,
entryPoints: ["src/patcher.ts"],
outfile: "dist/patcher.js",
- footer: { js: "//# sourceURL=VencordPatcher\n//# sourceMappingURL=vencord://patcher.js.map" },
- sourcemap: "external",
+ footer: { js: "//# sourceURL=VencordPatcher\n" + sourceMapFooter("patcher") },
+ sourcemap,
}),
esbuild.build({
...commonOpts,
@@ -65,9 +68,9 @@ await Promise.all([
outfile: "dist/renderer.js",
format: "iife",
target: ["esnext"],
- footer: { js: "//# sourceURL=VencordRenderer\n//# sourceMappingURL=vencord://renderer.js.map" },
+ footer: { js: "//# sourceURL=VencordRenderer\n" + sourceMapFooter("renderer") },
globalName: "Vencord",
- sourcemap: "external",
+ sourcemap,
plugins: [
globPlugins,
...commonOpts.plugins