Skip to content

core/types

Interfaces

Config

Defined in: venpm/src/core/types.ts:61

Properties

discord
ts
discord: {
  binary: string | null;
  restart: RestartMode;
};

Defined in: venpm/src/core/types.ts:68

binary
ts
binary: string | null;

Path to the Discord binary, or null to auto-detect

restart
ts
restart: RestartMode;
rebuild
ts
rebuild: RebuildMode;

Defined in: venpm/src/core/types.ts:67

repos
ts
repos: RepoEntry[];

Defined in: venpm/src/core/types.ts:62

vencord
ts
vencord: {
  path: string | null;
};

Defined in: venpm/src/core/types.ts:63

path
ts
path: string | null;

Absolute path to the Vencord source checkout, or null if not yet configured


CreateOptions

Defined in: venpm/src/core/types.ts:206

Extends

Properties

config?
ts
optional config?: string;

Defined in: venpm/src/core/types.ts:191

Inherited from

GlobalOptions.config

force?
ts
optional force?: boolean;

Defined in: venpm/src/core/types.ts:208

json?
ts
optional json?: boolean;

Defined in: venpm/src/core/types.ts:193

Inherited from

GlobalOptions.json

output?
ts
optional output?: string;

Defined in: venpm/src/core/types.ts:207

verbose?
ts
optional verbose?: boolean;

Defined in: venpm/src/core/types.ts:192

Inherited from

GlobalOptions.verbose


FileSystem

Defined in: venpm/src/core/types.ts:119

Methods

copyDir()
ts
copyDir(src, dest): Promise<void>;

Defined in: venpm/src/core/types.ts:130

Parameters
ParameterType
srcstring
deststring
Returns

Promise<void>

exists()
ts
exists(path): Promise<boolean>;

Defined in: venpm/src/core/types.ts:122

Parameters
ParameterType
pathstring
Returns

Promise<boolean>

lstat()
ts
lstat(path): Promise<{
  isDirectory: boolean;
  isFile: boolean;
  isSymbolicLink: boolean;
}>;

Defined in: venpm/src/core/types.ts:129

Parameters
ParameterType
pathstring
Returns

Promise<{ isDirectory: boolean; isFile: boolean; isSymbolicLink: boolean; }>

mkdir()
ts
mkdir(path, options?): Promise<void>;

Defined in: venpm/src/core/types.ts:123

Parameters
ParameterType
pathstring
options?{ recursive?: boolean; }
options.recursive?boolean
Returns

Promise<void>

readdir()
ts
readdir(path): Promise<string[]>;

Defined in: venpm/src/core/types.ts:127

Parameters
ParameterType
pathstring
Returns

Promise<string[]>

readFile()
ts
readFile(path, encoding): Promise<string>;

Defined in: venpm/src/core/types.ts:120

Parameters
ParameterType
pathstring
encodingBufferEncoding
Returns

Promise<string>

ts
readlink(path): Promise<string>;

Defined in: venpm/src/core/types.ts:126

Parameters
ParameterType
pathstring
Returns

Promise<string>

rm()
ts
rm(path, options?): Promise<void>;

Defined in: venpm/src/core/types.ts:124

Parameters
ParameterType
pathstring
options?{ force?: boolean; recursive?: boolean; }
options.force?boolean
options.recursive?boolean
Returns

Promise<void>

stat()
ts
stat(path): Promise<{
  size: number;
  isDirectory: boolean;
  isFile: boolean;
}>;

Defined in: venpm/src/core/types.ts:128

Parameters
ParameterType
pathstring
Returns

Promise<{ size: number; isDirectory: boolean; isFile: boolean; }>

ts
symlink(target, path): Promise<void>;

Defined in: venpm/src/core/types.ts:125

Parameters
ParameterType
targetstring
pathstring
Returns

Promise<void>

writeFile()
ts
writeFile(
   path, 
   data, 
encoding?): Promise<void>;

Defined in: venpm/src/core/types.ts:121

Parameters
ParameterType
pathstring
datastring
encoding?BufferEncoding
Returns

Promise<void>


GitClient

Defined in: venpm/src/core/types.ts:148

Methods

available()
ts
available(): Promise<boolean>;

Defined in: venpm/src/core/types.ts:149

Returns

Promise<boolean>

checkout()
ts
checkout(repoPath, ref): Promise<void>;

Defined in: venpm/src/core/types.ts:153

Parameters
ParameterType
repoPathstring
refstring
Returns

Promise<void>

clone()
ts
clone(
   url, 
   dest, 
options?): Promise<void>;

Defined in: venpm/src/core/types.ts:150

Parameters
ParameterType
urlstring
deststring
options?{ branch?: string; depth?: number; sparse?: string[]; }
options.branch?string
options.depth?number
options.sparse?string[]
Returns

Promise<void>

pull()
ts
pull(repoPath): Promise<void>;

Defined in: venpm/src/core/types.ts:151

Parameters
ParameterType
repoPathstring
Returns

Promise<void>

revParse()
ts
revParse(repoPath, ref): Promise<string>;

Defined in: venpm/src/core/types.ts:152

Parameters
ParameterType
repoPathstring
refstring
Returns

Promise<string>


GlobalOptions

Defined in: venpm/src/core/types.ts:190

Extended by

Properties

config?
ts
optional config?: string;

Defined in: venpm/src/core/types.ts:191

json?
ts
optional json?: boolean;

Defined in: venpm/src/core/types.ts:193

verbose?
ts
optional verbose?: boolean;

Defined in: venpm/src/core/types.ts:192


HttpClient

Defined in: venpm/src/core/types.ts:137

Methods

fetch()
ts
fetch(url, options?): Promise<{
  headers?: HttpResponseHeaders;
  ok: boolean;
  status: number;
  arrayBuffer: Promise<ArrayBuffer>;
  json: Promise<unknown>;
  text: Promise<string>;
}>;

Defined in: venpm/src/core/types.ts:138

Parameters
ParameterType
urlstring
options?{ headers?: Record<string, string>; }
options.headers?Record<string, string>
Returns

Promise<{ headers?: HttpResponseHeaders; ok: boolean; status: number; arrayBuffer: Promise<ArrayBuffer>; json: Promise<unknown>; text: Promise<string>; }>


HttpResponseHeaders

Defined in: venpm/src/core/types.ts:133

Methods

get()
ts
get(name): string | null;

Defined in: venpm/src/core/types.ts:134

Parameters
ParameterType
namestring
Returns

string | null


InstalledPlugin

Defined in: venpm/src/core/types.ts:79

Properties

git_ref?
ts
optional git_ref?: string;

Defined in: venpm/src/core/types.ts:85

Git commit hash (when method === "git")

installed_at
ts
installed_at: string;

Defined in: venpm/src/core/types.ts:86

method
ts
method: FetchMethod;

Defined in: venpm/src/core/types.ts:82

path?
ts
optional path?: string;

Defined in: venpm/src/core/types.ts:88

Override path relative to userplugins dir

pinned
ts
pinned: boolean;

Defined in: venpm/src/core/types.ts:83

repo
ts
repo: string;

Defined in: venpm/src/core/types.ts:81

version
ts
version: string;

Defined in: venpm/src/core/types.ts:80


InstallOptions

Defined in: venpm/src/core/types.ts:196

Extends

Properties

config?
ts
optional config?: string;

Defined in: venpm/src/core/types.ts:191

Inherited from

GlobalOptions.config

from?
ts
optional from?: string;

Defined in: venpm/src/core/types.ts:198

git?
ts
optional git?: boolean;

Defined in: venpm/src/core/types.ts:200

json?
ts
optional json?: boolean;

Defined in: venpm/src/core/types.ts:193

Inherited from

GlobalOptions.json

local?
ts
optional local?: string;

Defined in: venpm/src/core/types.ts:199

noBuild?
ts
optional noBuild?: boolean;

Defined in: venpm/src/core/types.ts:202

rebuild?
ts
optional rebuild?: boolean;

Defined in: venpm/src/core/types.ts:203

tarball?
ts
optional tarball?: boolean;

Defined in: venpm/src/core/types.ts:201

verbose?
ts
optional verbose?: boolean;

Defined in: venpm/src/core/types.ts:192

Inherited from

GlobalOptions.verbose

version?
ts
optional version?: string;

Defined in: venpm/src/core/types.ts:197


InstallPlan

Defined in: venpm/src/core/types.ts:111

Properties

entries
ts
entries: InstallPlanEntry[];

Defined in: venpm/src/core/types.ts:112

missingOptional?
ts
optional missingOptional?: string[];

Defined in: venpm/src/core/types.ts:114

Optional deps that aren't installed — surfaced as warnings


InstallPlanEntry

Defined in: venpm/src/core/types.ts:97

Properties

currentVersion?
ts
optional currentVersion?: string;

Defined in: venpm/src/core/types.ts:106

Current installed version, if upgrading

isDependency
ts
isDependency: boolean;

Defined in: venpm/src/core/types.ts:104

True if this entry was added to satisfy a dependency

method
ts
method: FetchMethod;

Defined in: venpm/src/core/types.ts:102

name
ts
name: string;

Defined in: venpm/src/core/types.ts:98

repo
ts
repo: string;

Defined in: venpm/src/core/types.ts:100

source
ts
source: PluginSource;

Defined in: venpm/src/core/types.ts:101

version
ts
version: string;

Defined in: venpm/src/core/types.ts:99

versionEntry?
ts
optional versionEntry?: VersionEntry;

Defined in: venpm/src/core/types.ts:108

Version metadata from the index (git_tag, tarball URL)


IOContext

Defined in: venpm/src/core/types.ts:179

Properties

fs
ts
fs: FileSystem;

Defined in: venpm/src/core/types.ts:180

git
ts
git: GitClient;

Defined in: venpm/src/core/types.ts:182

http
ts
http: HttpClient;

Defined in: venpm/src/core/types.ts:181

logger
ts
logger: Logger;

Defined in: venpm/src/core/types.ts:185

prompter
ts
prompter: Prompter;

Defined in: venpm/src/core/types.ts:184

shell
ts
shell: ShellRunner;

Defined in: venpm/src/core/types.ts:183


LockfileData

Defined in: venpm/src/core/types.ts:91

Properties

installed
ts
installed: Record<string, InstalledPlugin>;

Defined in: venpm/src/core/types.ts:92


Logger

Defined in: venpm/src/core/types.ts:171

Methods

error()
ts
error(message): void;

Defined in: venpm/src/core/types.ts:174

Parameters
ParameterType
messagestring
Returns

void

info()
ts
info(message): void;

Defined in: venpm/src/core/types.ts:172

Parameters
ParameterType
messagestring
Returns

void

success()
ts
success(message): void;

Defined in: venpm/src/core/types.ts:176

Parameters
ParameterType
messagestring
Returns

void

verbose()
ts
verbose(message): void;

Defined in: venpm/src/core/types.ts:175

Parameters
ParameterType
messagestring
Returns

void

warn()
ts
warn(message): void;

Defined in: venpm/src/core/types.ts:173

Parameters
ParameterType
messagestring
Returns

void


PluginAuthor

Defined in: venpm/src/core/types.ts:3

Properties

id
ts
id: string;

Defined in: venpm/src/core/types.ts:5

name
ts
name: string;

Defined in: venpm/src/core/types.ts:4


PluginEntry

Defined in: venpm/src/core/types.ts:25

Properties

authors
ts
authors: PluginAuthor[];

Defined in: venpm/src/core/types.ts:28

dependencies?
ts
optional dependencies?: string[];

Defined in: venpm/src/core/types.ts:30

description
ts
description: string;

Defined in: venpm/src/core/types.ts:27

discord?
ts
optional discord?: string;

Defined in: venpm/src/core/types.ts:33

Semver range for required Discord build

license?
ts
optional license?: string;

Defined in: venpm/src/core/types.ts:29

optionalDependencies?
ts
optional optionalDependencies?: string[];

Defined in: venpm/src/core/types.ts:31

source
ts
source: PluginSource;

Defined in: venpm/src/core/types.ts:36

vencord?
ts
optional vencord?: string;

Defined in: venpm/src/core/types.ts:35

Semver range for required Vencord version

version
ts
version: string;

Defined in: venpm/src/core/types.ts:26

versions?
ts
optional versions?: Record<string, VersionEntry>;

Defined in: venpm/src/core/types.ts:38

Named version history (version string → VersionEntry)


PluginIndex

Defined in: venpm/src/core/types.ts:41

Properties

description?
ts
optional description?: string;

Defined in: venpm/src/core/types.ts:43

name
ts
name: string;

Defined in: venpm/src/core/types.ts:42

plugins
ts
plugins: Record<string, PluginEntry>;

Defined in: venpm/src/core/types.ts:45

Plugin name → PluginEntry


PluginSource

Defined in: venpm/src/core/types.ts:9

Source location for a plugin — at least one of git/tarball must be present.

Properties

git?
ts
optional git?: string;

Defined in: venpm/src/core/types.ts:11

Git repository URL

local?
ts
optional local?: string;

Defined in: venpm/src/core/types.ts:17

Local filesystem path (for development / local repos)

path?
ts
optional path?: string;

Defined in: venpm/src/core/types.ts:13

Path within the git repo to the plugin folder

tarball?
ts
optional tarball?: string;

Defined in: venpm/src/core/types.ts:15

Direct tarball download URL


Prompter

Defined in: venpm/src/core/types.ts:165

Methods

confirm()
ts
confirm(message, defaultValue?): Promise<boolean>;

Defined in: venpm/src/core/types.ts:166

Parameters
ParameterType
messagestring
defaultValue?boolean
Returns

Promise<boolean>

input()
ts
input(message, defaultValue?): Promise<string>;

Defined in: venpm/src/core/types.ts:167

Parameters
ParameterType
messagestring
defaultValue?string
Returns

Promise<string>

select()
ts
select<T>(message, choices): Promise<T>;

Defined in: venpm/src/core/types.ts:168

Type Parameters
Type Parameter
T extends string
Parameters
ParameterType
messagestring
choices{ label: string; value: T; }[]
Returns

Promise<T>


RepoEntry

Defined in: venpm/src/core/types.ts:56

Properties

name
ts
name: string;

Defined in: venpm/src/core/types.ts:57

url
ts
url: string;

Defined in: venpm/src/core/types.ts:58


ShellRunner

Defined in: venpm/src/core/types.ts:156

Methods

exec()
ts
exec(
   cmd, 
   args, 
   options?): Promise<{
  exitCode: number;
  stderr: string;
  stdout: string;
}>;

Defined in: venpm/src/core/types.ts:157

Parameters
ParameterType
cmdstring
argsstring[]
options?{ cwd?: string; env?: Record<string, string>; }
options.cwd?string
options.env?Record<string, string>
Returns

Promise<{ exitCode: number; stderr: string; stdout: string; }>

spawn()
ts
spawn(
   cmd, 
   args, 
options?): Promise<void>;

Defined in: venpm/src/core/types.ts:162

Parameters
ParameterType
cmdstring
argsstring[]
options?{ cwd?: string; detached?: boolean; env?: Record<string, string>; }
options.cwd?string
options.detached?boolean
options.env?Record<string, string>
Returns

Promise<void>


ValidateOptions

Defined in: venpm/src/core/types.ts:211

Extends

Properties

config?
ts
optional config?: string;

Defined in: venpm/src/core/types.ts:191

Inherited from

GlobalOptions.config

json?
ts
optional json?: boolean;

Defined in: venpm/src/core/types.ts:193

Inherited from

GlobalOptions.json

strict?
ts
optional strict?: boolean;

Defined in: venpm/src/core/types.ts:212

verbose?
ts
optional verbose?: boolean;

Defined in: venpm/src/core/types.ts:192

Inherited from

GlobalOptions.verbose


VersionEntry

Defined in: venpm/src/core/types.ts:20

Properties

git_tag?
ts
optional git_tag?: string;

Defined in: venpm/src/core/types.ts:21

tarball?
ts
optional tarball?: string;

Defined in: venpm/src/core/types.ts:22

Type Aliases

FetchMethod

ts
type FetchMethod = "git" | "tarball" | "local";

Defined in: venpm/src/core/types.ts:77


RebuildMode

ts
type RebuildMode = "ask" | "always" | "never";

Defined in: venpm/src/core/types.ts:51

How venpm handles rebuilding Vencord after install/remove


RestartMode

ts
type RestartMode = "ask" | "always" | "never";

Defined in: venpm/src/core/types.ts:54

How venpm handles restarting Discord