Skip to content

@vltpkg/error-cause

Type Aliases

Codes

type Codes =
| 'EEXIST'
| 'EINTEGRITY'
| 'EINVAL'
| 'ELIFECYCLE'
| 'EMAXREDIRECT'
| 'ENEEDAUTH'
| 'ENOENT'
| 'ENOGIT'
| 'ERESOLVE'
| 'EUNKNOWN'
| 'EUSAGE'

Defined in: index.ts:224

Valid properties for the ‘code’ field in an Error cause. Add new options to this list as needed.


DuckTypeManifest

type DuckTypeManifest = Record<string, any> & object

Defined in: index.ts:161

Type declaration

arch?
optional arch: string[] | string;
deprecated?
optional deprecated: string;
dist?
optional dist: object;
dist.fileCount?
optional dist.fileCount: number;
dist.integrity?
optional dist.integrity: string;
dist.shasum?
optional dist.shasum: string;
dist.signatures?
optional dist.signatures: object[];
dist.tarball?
optional dist.tarball: string;
dist.unpackedSize?
optional dist.unpackedSize: number;
engines?
optional engines: Record<string, string>;
name?
optional name: string;
os?
optional os: string[] | string;
version?
optional version: string;

ErrorCause

type ErrorCause = Error | ErrorCauseObject

Defined in: index.ts:181


ErrorCauseObject

type ErrorCauseObject = object

Defined in: index.ts:11

Codification of vlt’s Error.cause conventions

Add new properties to this list as needed.

Several of these types are just very basic duck-typing, because referencing internal types directly would create a workspace dependency cycle.

Type declaration

args?
optional args: string[];

the arguments passed to a process

cause?
optional cause: ErrorCause | unknown;

The cause field within a cause object should always be an Error object that was previously thrown. Note that the cause on an Error itself might also be a previously thrown error, if no additional information could be usefully added beyond improving the message. It is typed as unknown because we use useUnknownInCatchVariables so this makes it easier to rethrow a caught error without recasting it.

code?
optional code: Codes;

This should only be a string code that we set. See Codes for the supported options. Lower-level system codes like ENOENT should remain on the errors that generated them.

command?
optional command: string;

a command being run in a child process

cwd?
optional cwd: string;

the current working directory of a process

found?
optional found: any;

actual value, which was not wanted

from?
optional from: string;

file path origin of a resolution that failed, for example in the case of file:// specifiers.

manifest?
optional manifest: DuckTypeManifest;

a package manifest, either from package.json or a registry

max?
optional max: any;

maximum value, which was exceeded

min?
optional min: any;

minimum value, which was not met

name?
optional name: string;

the name of something

offset?
optional offset: number;

byte offset in a Buffer or file

packument?
optional packument: object;

registry top-level package document

packument.dist-tags
packument.dist-tags: Record<string, string>;
packument.name
packument.name: string;
packument.time?
optional packument.time: Record<string, string>;
packument.versions
packument.versions: Record<string, DuckTypeManifest>;
path?
optional path: string;

target of a file system operation

projectRoot?
optional projectRoot: string;

the root of a project

range?
optional range:
| string
| {
[k: string | number | symbol]: any; includePrerelease: boolean;
isAny: boolean;
raw: string;
};

string or @vltpkg/semver.Range object

repository?
optional repository: string;

git repository remote or path

response?
optional response:
| IncomingMessage
| Response
| {
[k: string | number | symbol]: any; headers: | Buffer[]
| Record<string, string[] | string>
| IncomingHttpHeaders;
statusCode: number;
text: () => string;
};

HTTP message, fetch.Response, or @vltpkg/registry-client.CacheEntry

signal?
optional signal: NodeJS.Signals | null;

null or a signal that a process received

spec?
optional spec:
| string
| {
[k: string | number | symbol]: any; spec: string;
type: "file" | "git" | "registry" | "remote" | "workspace";
};

Spec object/string relevant to an operation that failed

status?
optional status: number | null;

exit code of a process, or HTTP response status code

stderr?
optional stderr: Buffer | string | null;

standard error from a process

stdout?
optional stdout: Buffer | string | null;

standard output from a process

target?
optional target: string;

path on disk that is being written, linked, or extracted to

todo?
optional todo: string;

message indicating what bit of work this might be a part of, what feature needs to be implemented, etc. Eg, { todo: 'nested workspace support' }.

url?
optional url: URL | string;

string or URL object

validOptions?
optional validOptions: any[];

Array of valid options when something is not a valid option. (For use in did you mean X? output.)

version?
optional version:
| string
| {
[k: string | number | symbol]: any; major: number;
minor: number;
patch: number;
raw: string;
};

string or @vltpkg/semver.Version object

wanted?
optional wanted: any;

A desired value that was not found, or a regular expression or other pattern describing it.


ErrorWithCauseObject

type ErrorWithCauseObject = Error & object

Defined in: index.ts:187

An error with a cause that is a direct error cause object and not another nested error.

Type declaration

cause
cause: ErrorCauseObject

From

type From = (...a) => any | (...a) => any;

Defined in: index.ts:283

Functions

asErrorCause()

function asErrorCause(er): ErrorCause

Defined in: index.ts:211

Parameters

er

unknown

Returns

ErrorCause


error()

Call Signature

function error(message, cause?, from?): Error

Defined in: index.ts:285

Parameters
message

string

cause?

undefined

from?

From

Returns

Error

Call Signature

function error(message, cause, from?): Error & object

Defined in: index.ts:290

Parameters
message

string

cause

ErrorCauseObject

from?

From

Returns

Error & object

Call Signature

function error(message, cause, from?): Error & object

Defined in: index.ts:295

Parameters
message

string

cause

Error

from?

From

Returns

Error & object

Call Signature

function error(message, cause, from?): Error & object

Defined in: index.ts:300

Parameters
message

string

cause

ErrorCause

from?

From

Returns

Error & object


isErrorCauseObject()

function isErrorCauseObject(v): v is ErrorCauseObject

Defined in: index.ts:198

If it is any sort of plain-ish object, assume its an error cause because all properties of the cause are optional.

Parameters

v

unknown

Returns

v is ErrorCauseObject


isErrorRoot()

function isErrorRoot(er): er is ErrorWithCauseObject

Defined in: index.ts:206

Type guard for ErrorWithCauseObject type

Parameters

er

unknown

Returns

er is ErrorWithCauseObject


syntaxError()

Call Signature

function syntaxError(message, cause?, from?): SyntaxError

Defined in: index.ts:341

Parameters
message

string

cause?

undefined

from?

From

Returns

SyntaxError

Call Signature

function syntaxError(message, cause, from?): SyntaxError & object

Defined in: index.ts:346

Parameters
message

string

cause

ErrorCauseObject

from?

From

Returns

SyntaxError & object

Call Signature

function syntaxError(message, cause, from?): SyntaxError & object

Defined in: index.ts:351

Parameters
message

string

cause

Error

from?

From

Returns

SyntaxError & object

Call Signature

function syntaxError(message, cause, from?): SyntaxError & object

Defined in: index.ts:356

Parameters
message

string

cause

ErrorCause

from?

From

Returns

SyntaxError & object


typeError()

Call Signature

function typeError(message, cause?, from?): TypeError

Defined in: index.ts:313

Parameters
message

string

cause?

undefined

from?

From

Returns

TypeError

Call Signature

function typeError(message, cause, from?): TypeError & object

Defined in: index.ts:318

Parameters
message

string

cause

ErrorCauseObject

from?

From

Returns

TypeError & object

Call Signature

function typeError(message, cause, from?): TypeError & object

Defined in: index.ts:323

Parameters
message

string

cause

Error

from?

From

Returns

TypeError & object

Call Signature

function typeError(message, cause, from?): TypeError & object

Defined in: index.ts:328

Parameters
message

string

cause

ErrorCause

from?

From

Returns

TypeError & object