@kamaras/venpm 0.2.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +11 -5
  2. package/actions/publish-index/action.yml +1 -1
  3. package/dist/cli/context.d.ts.map +1 -1
  4. package/dist/cli/context.js +3 -0
  5. package/dist/cli/context.js.map +1 -1
  6. package/dist/cli/create.js +1 -1
  7. package/dist/cli/create.js.map +1 -1
  8. package/dist/cli/inject.d.ts +12 -0
  9. package/dist/cli/inject.d.ts.map +1 -0
  10. package/dist/cli/inject.js +205 -0
  11. package/dist/cli/inject.js.map +1 -0
  12. package/dist/cli/kill-discord.d.ts +3 -0
  13. package/dist/cli/kill-discord.d.ts.map +1 -0
  14. package/dist/cli/kill-discord.js +39 -0
  15. package/dist/cli/kill-discord.js.map +1 -0
  16. package/dist/core/builder.d.ts +10 -5
  17. package/dist/core/builder.d.ts.map +1 -1
  18. package/dist/core/builder.js +16 -29
  19. package/dist/core/builder.js.map +1 -1
  20. package/dist/core/discord.d.ts +36 -0
  21. package/dist/core/discord.d.ts.map +1 -0
  22. package/dist/core/discord.js +183 -0
  23. package/dist/core/discord.js.map +1 -0
  24. package/dist/core/errors.d.ts +4 -0
  25. package/dist/core/errors.d.ts.map +1 -1
  26. package/dist/core/errors.js +9 -0
  27. package/dist/core/errors.js.map +1 -1
  28. package/dist/core/fetcher.d.ts.map +1 -1
  29. package/dist/core/fetcher.js +14 -0
  30. package/dist/core/fetcher.js.map +1 -1
  31. package/dist/core/inject.d.ts +60 -0
  32. package/dist/core/inject.d.ts.map +1 -0
  33. package/dist/core/inject.js +293 -0
  34. package/dist/core/inject.js.map +1 -0
  35. package/dist/core/json.d.ts +11 -0
  36. package/dist/core/json.d.ts.map +1 -0
  37. package/dist/core/json.js +14 -0
  38. package/dist/core/json.js.map +1 -0
  39. package/dist/core/log.d.ts +14 -0
  40. package/dist/core/log.d.ts.map +1 -0
  41. package/dist/core/log.js +24 -0
  42. package/dist/core/log.js.map +1 -0
  43. package/dist/core/types.d.ts +1 -0
  44. package/dist/core/types.d.ts.map +1 -1
  45. package/dist/index.js +5 -0
  46. package/dist/index.js.map +1 -1
  47. package/package.json +5 -2
@@ -0,0 +1,293 @@
1
+ import { join } from "node:path";
2
+ import { mkdtemp, writeFile, rm } from "node:fs/promises";
3
+ import { homedir, tmpdir } from "node:os";
4
+ import { createPackage, extractFile } from "@electron/asar";
5
+ export const DISCORD_BRANCHES = ["stable", "canary", "ptb"];
6
+ const MACOS_BRANCH_PATHS = {
7
+ stable: "/Applications/Discord.app",
8
+ canary: "/Applications/Discord Canary.app",
9
+ ptb: "/Applications/Discord PTB.app",
10
+ };
11
+ const LINUX_BRANCH_PATHS = {
12
+ stable: ["/opt/discord", "/usr/lib/discord", "/usr/share/discord"],
13
+ canary: ["/opt/discord-canary", "/usr/lib/discord-canary", "/usr/share/discord-canary"],
14
+ ptb: ["/opt/discord-ptb", "/usr/lib/discord-ptb", "/usr/share/discord-ptb"],
15
+ };
16
+ const LINUX_USER_BRANCH_DIRS = {
17
+ stable: [join(homedir(), ".config", "discord")],
18
+ canary: [join(homedir(), ".config", "discordcanary")],
19
+ ptb: [join(homedir(), ".config", "discordptb")],
20
+ };
21
+ export class InjectError extends Error {
22
+ code;
23
+ constructor(code, message) {
24
+ super(message);
25
+ this.code = code;
26
+ this.name = "InjectError";
27
+ }
28
+ }
29
+ // ─── Path helpers ────────────────────────────────────────────────────────────
30
+ /**
31
+ * Filesystem layout inside Discord (asar-shim mode):
32
+ * app.asar — OUR shim, packed as an asar
33
+ * _app.asar — Discord's original, renamed
34
+ *
35
+ * Electron prefers app.asar over app/, so the shim must be packed as an asar
36
+ * file for Electron to load it. When the shim runs, `require.main.path` ends
37
+ * with `app.asar`, which Vencord's patcher detects (see src/main/patcher.ts
38
+ * line 32) to resolve the original at `_app.asar` and load it.
39
+ *
40
+ * An earlier implementation used a plain `app/` directory alongside
41
+ * `app.asar`. That appeared to work — the shim files existed, uninject could
42
+ * roll back — but Electron silently ignored the directory because app.asar
43
+ * took precedence, so Vencord never actually loaded. Confirmed empirically:
44
+ * moving app.asar aside made the directory-shim load.
45
+ */
46
+ function isSupportedPlatform(platform) {
47
+ return platform === "darwin" || platform === "linux";
48
+ }
49
+ function discordPaths(target) {
50
+ const resources = target.platform === "darwin"
51
+ ? join(target.appPath, "Contents", "Resources")
52
+ : join(target.appPath, "resources");
53
+ return {
54
+ resources,
55
+ /** Post-inject: OUR shim asar (pre-inject: Discord's original). */
56
+ asar: join(resources, "app.asar"),
57
+ /** Post-inject: Discord's original asar, renamed. */
58
+ backup: join(resources, "_app.asar"),
59
+ /** Legacy plain-directory shim path — cleaned up if found. */
60
+ legacyShimDir: join(resources, "app"),
61
+ };
62
+ }
63
+ // ─── Detection ───────────────────────────────────────────────────────────────
64
+ /**
65
+ * Discover installed Discord branches on the current platform.
66
+ *
67
+ * On unsupported platforms, returns an empty array. Callers should treat
68
+ * that as "not supported" rather than "none installed".
69
+ */
70
+ export async function detectDiscordApps(fs, platform = process.platform) {
71
+ if (!isSupportedPlatform(platform))
72
+ return [];
73
+ const found = [];
74
+ if (platform === "darwin") {
75
+ for (const branch of DISCORD_BRANCHES) {
76
+ const appPath = MACOS_BRANCH_PATHS[branch];
77
+ if (await fs.exists(appPath)) {
78
+ found.push({ branch, appPath, platform });
79
+ }
80
+ }
81
+ return found;
82
+ }
83
+ for (const branch of DISCORD_BRANCHES) {
84
+ for (const appPath of LINUX_BRANCH_PATHS[branch]) {
85
+ if (await fs.exists(join(appPath, "resources", "app.asar"))) {
86
+ found.push({ branch, appPath, platform });
87
+ break;
88
+ }
89
+ }
90
+ if (!found.some(app => app.branch === branch)) {
91
+ const userAppPath = await detectLinuxUserAppPath(fs, branch);
92
+ if (userAppPath) {
93
+ found.push({ branch, appPath: userAppPath, platform });
94
+ }
95
+ }
96
+ }
97
+ return found;
98
+ }
99
+ async function detectLinuxUserAppPath(fs, branch) {
100
+ for (const baseDir of LINUX_USER_BRANCH_DIRS[branch]) {
101
+ if (!(await fs.exists(baseDir)))
102
+ continue;
103
+ let entries;
104
+ try {
105
+ entries = await fs.readdir(baseDir);
106
+ }
107
+ catch {
108
+ continue;
109
+ }
110
+ const appDirs = entries
111
+ .filter(entry => entry.startsWith("app-"))
112
+ .sort((a, b) => a.localeCompare(b, undefined, { numeric: true }));
113
+ for (const entry of appDirs.reverse()) {
114
+ const appPath = join(baseDir, entry);
115
+ if (await fs.exists(join(appPath, "resources", "app.asar"))) {
116
+ return appPath;
117
+ }
118
+ }
119
+ }
120
+ return null;
121
+ }
122
+ function isVenpmShimAsar(asarPath) {
123
+ try {
124
+ const pkg = JSON.parse(extractFile(asarPath, "package.json").toString());
125
+ if (pkg.main !== "index.js")
126
+ return false;
127
+ const indexJs = extractFile(asarPath, "index.js").toString();
128
+ return indexJs.includes("Generated by venpm inject") && indexJs.includes("patcher.js");
129
+ }
130
+ catch {
131
+ return false;
132
+ }
133
+ }
134
+ /**
135
+ * Inspect an on-disk Discord install and report injection status. Does not
136
+ * modify anything. Returns a detailed breakdown so callers can decide
137
+ * whether to re-inject, warn, or abort.
138
+ */
139
+ export async function getInjectStatus(fs, target) {
140
+ if (!isSupportedPlatform(target.platform)) {
141
+ throw new InjectError("PLATFORM_UNSUPPORTED", `Native inject is not supported on ${target.platform}`);
142
+ }
143
+ const p = discordPaths(target);
144
+ const [asarPresent, backupPresent, legacyShimDirPresent] = await Promise.all([
145
+ fs.exists(p.asar),
146
+ fs.exists(p.backup),
147
+ fs.exists(p.legacyShimDir),
148
+ ]);
149
+ // Injected iff the current app.asar is our shim and the original backup
150
+ // exists. Some broken/stale states have both files while app.asar is still
151
+ // stock Discord, so mere file presence is not enough.
152
+ const injected = asarPresent && backupPresent && isVenpmShimAsar(p.asar);
153
+ return { injected, asarPresent, backupPresent, legacyShimDirPresent };
154
+ }
155
+ // ─── Inject / uninject ───────────────────────────────────────────────────────
156
+ /**
157
+ * Contents of the shim's package.json — points Electron at index.js.
158
+ */
159
+ function shimPackageJson() {
160
+ return JSON.stringify({ name: "discord", main: "index.js" }, null, 2) + "\n";
161
+ }
162
+ /**
163
+ * Contents of the shim's index.js. When this runs, `require.main.path` ends
164
+ * with `app.asar`, so Vencord's patcher (see Vencord src/main/patcher.ts) sets
165
+ * asarName = "_app.asar" and loads Discord's renamed original itself. This
166
+ * file does not need to chain to _app.asar manually.
167
+ */
168
+ function shimIndexJs(platform) {
169
+ const distParts = platform === "darwin"
170
+ ? '"Library", "Application Support", "Vencord", "dist", "patcher.js"'
171
+ : '".config", "Vencord", "dist", "patcher.js"';
172
+ return `// Generated by venpm inject — do not edit.
173
+ const { join } = require("path");
174
+ const { homedir } = require("os");
175
+ const vencordDist = join(homedir(), ${distParts});
176
+ require(vencordDist);
177
+ `;
178
+ }
179
+ /**
180
+ * Build a shim asar containing package.json + index.js under a temp dir,
181
+ * then pack it to `destAsar`. Cleans up the temp dir regardless of outcome.
182
+ *
183
+ * @electron/asar's createPackage operates on a source directory, so we
184
+ * materialise the two shim files to a temp dir first rather than using
185
+ * the stream API (simpler, no byte-counting gymnastics).
186
+ */
187
+ async function packShimAsar(destAsar, platform) {
188
+ const tmp = await mkdtemp(join(tmpdir(), "venpm-inject-"));
189
+ try {
190
+ await writeFile(join(tmp, "package.json"), shimPackageJson(), "utf8");
191
+ await writeFile(join(tmp, "index.js"), shimIndexJs(platform), "utf8");
192
+ await createPackage(tmp, destAsar);
193
+ }
194
+ finally {
195
+ await rm(tmp, { recursive: true, force: true });
196
+ }
197
+ }
198
+ /**
199
+ * Patch a Discord install so Electron loads Vencord's patcher before the
200
+ * original asar. Uses the asar-shim layout:
201
+ *
202
+ * 1. Rename Discord's app.asar → _app.asar
203
+ * 2. Pack a shim asar (package.json + index.js) and place it at app.asar
204
+ *
205
+ * Also cleans up legacy plain-directory shims from older venpm versions.
206
+ *
207
+ * On failure during shim packing, the rename is rolled back so the next
208
+ * Discord launch reverts cleanly to stock behaviour.
209
+ */
210
+ export async function injectVencord(fs, target) {
211
+ if (!isSupportedPlatform(target.platform)) {
212
+ throw new InjectError("PLATFORM_UNSUPPORTED", `Native inject is not supported on ${target.platform}`);
213
+ }
214
+ const p = discordPaths(target);
215
+ if (!(await fs.exists(target.appPath))) {
216
+ throw new InjectError("DISCORD_NOT_FOUND", `Discord install not found at ${target.appPath}`);
217
+ }
218
+ const status = await getInjectStatus(fs, target);
219
+ if (status.injected) {
220
+ throw new InjectError("ALREADY_INJECTED", `Discord at ${target.appPath} is already injected`);
221
+ }
222
+ // Clean up any legacy plain-directory shim so Electron doesn't get
223
+ // confused if something leaves one behind.
224
+ if (status.legacyShimDirPresent) {
225
+ await fs.rm(p.legacyShimDir, { recursive: true, force: true });
226
+ }
227
+ if (!status.asarPresent) {
228
+ throw new InjectError("INJECT_FAILED", `Missing ${p.asar} — Discord install appears incomplete`);
229
+ }
230
+ // Rename original out of the way. If a stale _app.asar is lingering,
231
+ // remove it first so rename doesn't collide.
232
+ if (status.backupPresent) {
233
+ await fs.rm(p.backup, { force: true });
234
+ }
235
+ await fs.rename(p.asar, p.backup);
236
+ try {
237
+ await packShimAsar(p.asar, target.platform);
238
+ }
239
+ catch (err) {
240
+ // Roll back rename so Discord still launches stock.
241
+ try {
242
+ if (!(await fs.exists(p.asar)) && await fs.exists(p.backup)) {
243
+ await fs.rename(p.backup, p.asar);
244
+ }
245
+ }
246
+ catch {
247
+ // Swallow — surface the original error.
248
+ }
249
+ throw new InjectError("INJECT_FAILED", `Shim asar packing failed: ${err.message}`);
250
+ }
251
+ return {
252
+ branch: target.branch,
253
+ appPath: target.appPath,
254
+ shimAsar: p.asar,
255
+ backupPath: p.backup,
256
+ };
257
+ }
258
+ /**
259
+ * Reverse an inject: remove the shim asar, rename backup back to app.asar.
260
+ * Also cleans up any legacy plain-directory shim.
261
+ */
262
+ export async function uninjectVencord(fs, target) {
263
+ if (!isSupportedPlatform(target.platform)) {
264
+ throw new InjectError("PLATFORM_UNSUPPORTED", `Native uninject is not supported on ${target.platform}`);
265
+ }
266
+ const p = discordPaths(target);
267
+ const status = await getInjectStatus(fs, target);
268
+ if (!status.injected && !status.legacyShimDirPresent && !status.backupPresent) {
269
+ throw new InjectError("NOT_INJECTED", `Discord at ${target.appPath} is not injected`);
270
+ }
271
+ // Clean up a legacy directory shim if one lingers.
272
+ if (status.legacyShimDirPresent) {
273
+ await fs.rm(p.legacyShimDir, { recursive: true, force: true });
274
+ }
275
+ if (!status.injected && status.backupPresent && status.asarPresent) {
276
+ throw new InjectError("NOT_INJECTED", `Discord at ${target.appPath} is not injected`);
277
+ }
278
+ // Remove our shim asar.
279
+ if (status.injected) {
280
+ await fs.rm(p.asar, { force: true });
281
+ }
282
+ // Restore the original when the shim is active or app.asar is missing.
283
+ if (status.backupPresent && (status.injected || !status.asarPresent)) {
284
+ await fs.rename(p.backup, p.asar);
285
+ }
286
+ return {
287
+ branch: target.branch,
288
+ appPath: target.appPath,
289
+ shimAsar: p.asar,
290
+ backupPath: p.backup,
291
+ };
292
+ }
293
+ //# sourceMappingURL=inject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject.js","sourceRoot":"","sources":["../../src/core/inject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ErrorInfo } from "./errors.js";
2
+ export interface JsonEnvelope<T = unknown> {
3
+ success: boolean;
4
+ error?: ErrorInfo;
5
+ data?: T;
6
+ warnings?: string[];
7
+ }
8
+ export declare function jsonSuccess<T>(data: T, warnings?: string[]): JsonEnvelope<T>;
9
+ export declare function jsonError(error: ErrorInfo): JsonEnvelope<never>;
10
+ export declare function writeJson(envelope: JsonEnvelope, write?: (s: string) => void): void;
11
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/core/json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAM5E;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAE/D;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAmC,GAAG,IAAI,CAEjH"}
@@ -0,0 +1,14 @@
1
+ export function jsonSuccess(data, warnings) {
2
+ const envelope = { success: true, data };
3
+ if (warnings && warnings.length > 0) {
4
+ envelope.warnings = warnings;
5
+ }
6
+ return envelope;
7
+ }
8
+ export function jsonError(error) {
9
+ return { success: false, error };
10
+ }
11
+ export function writeJson(envelope, write = s => process.stdout.write(s)) {
12
+ write(JSON.stringify(envelope) + "\n");
13
+ }
14
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/core/json.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,WAAW,CAAI,IAAO,EAAE,QAAmB;IACvD,MAAM,QAAQ,GAAoB,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC1D,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACjC,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAgB;IACtC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAAsB,EAAE,QAA6B,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACvG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,14 @@
1
+ type WriteFn = (message: string) => void;
2
+ interface Logger {
3
+ info(message: string): void;
4
+ warn(message: string): void;
5
+ error(message: string): void;
6
+ verbose(message: string): void;
7
+ success(message: string): void;
8
+ }
9
+ export declare function createLogger(options: {
10
+ verbose: boolean;
11
+ quiet: boolean;
12
+ }, write?: WriteFn): Logger;
13
+ export {};
14
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/core/log.ts"],"names":[],"mappings":"AAAA,KAAK,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAEzC,UAAU,MAAM;IACZ,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,wBAAgB,YAAY,CACxB,OAAO,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,EAC7C,KAAK,GAAE,OAAqB,GAC7B,MAAM,CAwBR"}
@@ -0,0 +1,24 @@
1
+ export function createLogger(options, write = console.log) {
2
+ const { verbose, quiet } = options;
3
+ return {
4
+ info(message) {
5
+ if (!quiet)
6
+ write(message);
7
+ },
8
+ warn(message) {
9
+ write(`⚠ ${message}`);
10
+ },
11
+ error(message) {
12
+ write(`✖ ${message}`);
13
+ },
14
+ verbose(message) {
15
+ if (verbose)
16
+ write(message);
17
+ },
18
+ success(message) {
19
+ if (!quiet)
20
+ write(`✔ ${message}`);
21
+ },
22
+ };
23
+ }
24
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/core/log.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,YAAY,CACxB,OAA6C,EAC7C,QAAiB,OAAO,CAAC,GAAG;IAE5B,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAEnC,OAAO;QACH,IAAI,CAAC,OAAe;YAChB,IAAI,CAAC,KAAK;gBAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,OAAe;YAChB,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QAC1B,CAAC;QAED,KAAK,CAAC,OAAe;YACjB,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,CAAC,OAAe;YACnB,IAAI,OAAO;gBAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,CAAC,OAAe;YACnB,IAAI,CAAC,KAAK;gBAAE,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -117,6 +117,7 @@ export interface FileSystem {
117
117
  isSymbolicLink(): boolean;
118
118
  }>;
119
119
  copyDir(src: string, dest: string): Promise<void>;
120
+ rename(src: string, dest: string): Promise<void>;
120
121
  }
121
122
  export interface HttpResponseHeaders {
122
123
  get(name: string): string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -15,6 +15,8 @@ import { registerDoctorCommand } from "./cli/doctor.js";
15
15
  import { registerValidateCommand } from "./cli/validate.js";
16
16
  import { configureHelp } from "./cli/help.js";
17
17
  import { registerCompletionsCommand } from "./cli/completions.js";
18
+ import { registerKillDiscordCommand } from "./cli/kill-discord.js";
19
+ import { registerInjectCommand, registerUninjectCommand } from "./cli/inject.js";
18
20
  import { createRealIOContext } from "./cli/context.js";
19
21
  import { needsFirstRun, runFirstTimeSetup } from "./cli/first-run.js";
20
22
  const _require = createRequire(import.meta.url);
@@ -44,6 +46,9 @@ registerRebuildCommand(program);
44
46
  registerDoctorCommand(program);
45
47
  registerValidateCommand(program);
46
48
  registerCompletionsCommand(program);
49
+ registerKillDiscordCommand(program);
50
+ registerInjectCommand(program);
51
+ registerUninjectCommand(program);
47
52
  program.hook("preAction", async (thisCommand) => {
48
53
  const commandName = thisCommand.args[0] ?? "";
49
54
  if (needsFirstRun(commandName)) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,iBAAiB,CAAwB,CAAC;AAEvE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACF,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,yDAAyD,CAAC;KACtE,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,WAAW,EAAE,yCAAyC,CAAC;KAC9D,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC;KAC5C,MAAM,CAAC,SAAS,EAAE,+BAA+B,CAAC;KAClD,MAAM,CAAC,QAAQ,EAAE,uDAAuD,CAAC;KACzE,MAAM,CAAC,eAAe,EAAE,yBAAyB,CAAC;KAClD,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;AAEpD,aAAa,CAAC,OAAO,CAAC,CAAC;AAEvB,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,0BAA0B,CAAC,OAAO,CAAC,CAAC;AACpC,0BAA0B,CAAC,OAAO,CAAC,CAAC;AACpC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAEjC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;IAC5C,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAiB,CAAC;QACjD,MAAM,GAAG,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,KAAK,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kamaras/venpm",
3
- "version": "0.2.1",
3
+ "version": "0.4.0",
4
4
  "description": "Vencord Plugin Manager — CLI and index spec for distributing userplugins",
5
5
  "type": "module",
6
6
  "bin": {
@@ -33,8 +33,11 @@
33
33
  ],
34
34
  "author": "kamaras",
35
35
  "license": "MIT",
36
- "publishConfig": { "access": "public" },
36
+ "publishConfig": {
37
+ "access": "public"
38
+ },
37
39
  "dependencies": {
40
+ "@electron/asar": "^4.2.0",
38
41
  "ajv": "^8.17.0",
39
42
  "ajv-formats": "^3.0.1",
40
43
  "commander": "^13.0.0",