Skip to content

index | @vltpkg/spec

References

defaultGitHostArchives

Re-exports defaultGitHostArchives

defaultGitHosts

Re-exports defaultGitHosts

defaultRegistries

Re-exports defaultRegistries

defaultRegistry

Re-exports defaultRegistry

defaultScopeRegistries

Re-exports defaultScopeRegistries

getOptions

Re-exports getOptions

gitHostWebsites

Re-exports gitHostWebsites

kCustomInspect

Re-exports kCustomInspect

Classes

Spec

The base, isomorphic Spec implementation.

Extends

Implements

Constructors

new Spec()
new Spec(
name,
bareSpec,
options?): Spec

The initial value of Object.prototype.constructor is the standard built-in Object constructor.

Parameters

name: string

bareSpec: string

options?: SpecOptions

Returns

Spec

Inherited from

Spec.constructor

Defined in

browser.ts:265

new Spec()
new Spec(spec, options?): Spec

The initial value of Object.prototype.constructor is the standard built-in Object constructor.

Parameters

spec: string

options?: SpecOptions

Returns

Spec

Inherited from

Spec.constructor

Defined in

browser.ts:266

new Spec()
new Spec(
spec,
bareOrOptions?,
options?): Spec

The initial value of Object.prototype.constructor is the standard built-in Object constructor.

Parameters

spec: string | Spec

bareOrOptions?: string | SpecOptions

options?: SpecOptions

Returns

Spec

Inherited from

Spec.constructor

Defined in

browser.ts:267

Properties

bareSpec
bareSpec: string

just the part AFTER the name, so 1.x in [email protected]

Implementation of

SpecLike.bareSpec

Inherited from

Spec.bareSpec

Defined in

browser.ts:215

constructor
constructor: typeof Spec

The initial value of Object.prototype.constructor is the standard built-in Object constructor.

Inherited from

BrowserSpec.constructor

Defined in

browser.ts:263

conventionalRegistryTarball?
optional conventionalRegistryTarball: string;

conventional location of the tarball on the registry, if it can be guessed. This is only attempted if the spec is a registry type, with a single version comparator. This can be used to elide resolved urls that are repetitive and predictable.

Implementation of

SpecLike.conventionalRegistryTarball

Inherited from

Spec.conventionalRegistryTarball

Defined in

browser.ts:227

distTag?
optional distTag: string;

a dist-tag like ‘latest’

Implementation of

SpecLike.distTag

Inherited from

Spec.distTag

Defined in

browser.ts:230

file?
optional file: string;

file path for file:// url specs

Implementation of

SpecLike.file

Inherited from

Spec.file

Defined in

browser.ts:232

gitCommittish?
optional gitCommittish: string;

the commit value we will check out

Implementation of

SpecLike.gitCommittish

Inherited from

Spec.gitCommittish

Defined in

browser.ts:219

gitRemote?
optional gitRemote: string;

the git remote to fetch from

Implementation of

SpecLike.gitRemote

Inherited from

Spec.gitRemote

Defined in

browser.ts:216

gitSelector?
optional gitSelector: string;

the committish, semver range, and/or path portion of a git remote

Implementation of

SpecLike.gitSelector

Inherited from

Spec.gitSelector

Defined in

browser.ts:217

gitSelectorParsed?
optional gitSelectorParsed: GitSelectorParsed;

the parsed ’::‘-separated key/value pairs: semver:<range> and path:<subpath>

Implementation of

SpecLike.gitSelectorParsed

Inherited from

Spec.gitSelectorParsed

Defined in

browser.ts:218

name
name: string

the name portion, so foo in [email protected]

Implementation of

SpecLike.name

Inherited from

Spec.name

Defined in

browser.ts:212

namedGitHost?
optional namedGitHost: string;

github, gitlab, bitbucket, gist, etc.

Implementation of

SpecLike.namedGitHost

Inherited from

Spec.namedGitHost

Defined in

browser.ts:220

namedGitHostPath?
optional namedGitHostPath: string;

the path that’s parsed when we have a named git host

Implementation of

SpecLike.namedGitHostPath

Inherited from

Spec.namedGitHostPath

Defined in

browser.ts:221

namedRegistry?
optional namedRegistry: string;

In specs like foo@npm:bar@1, this is the ‘npm’ part. Other registries can be mapped using the registries option.

Implementation of

SpecLike.namedRegistry

Inherited from

Spec.namedRegistry

Defined in

browser.ts:224

options
options: SpecOptionsFilled

options passed to the constructor, plus defaults

Implementation of

SpecLike.options

Inherited from

Spec.options

Defined in

browser.ts:211

range?
optional range: Range;

parsed semver range specifier

Implementation of

SpecLike.range

Inherited from

Spec.range

Defined in

browser.ts:229

registry?
optional registry: string;

registry to consult to resolve this spec

Implementation of

SpecLike.registry

Inherited from

Spec.registry

Defined in

browser.ts:225

registrySpec?
optional registrySpec: string;

semver range or dist-tag for resolving against a packument

Implementation of

SpecLike.registrySpec

Inherited from

Spec.registrySpec

Defined in

browser.ts:226

remoteURL?
optional remoteURL: string;

URL to download a tarball from, if it can be determined.

This is set for url specs of course, but also git remotes on known hosts that provide a gitHostArchive template.

Implementation of

SpecLike.remoteURL

Inherited from

Spec.remoteURL

Defined in

browser.ts:231

scope?
optional scope: `@${string}`;

the name’s scope, so @acme in @acme/[email protected]

Implementation of

SpecLike.scope

Inherited from

Spec.scope

Defined in

browser.ts:213

scopeRegistry?
optional scopeRegistry: string;

if the name is scoped, and there’s a registry associated with the scope, then this is that registry

Implementation of

SpecLike.scopeRegistry

Inherited from

Spec.scopeRegistry

Defined in

browser.ts:214

semver?
optional semver: string;

spec to resolve against available versions

Implementation of

SpecLike.semver

Inherited from

Spec.semver

Defined in

browser.ts:228

spec
spec: string

the full named specifier passed to the constructor

Implementation of

SpecLike.spec

Inherited from

Spec.spec

Defined in

browser.ts:210

subspec?
optional subspec: Spec;

in bar@npm:[email protected], this is the spec for [email protected]

Implementation of

SpecLike.subspec

Inherited from

Spec.subspec

Defined in

browser.ts:233

type
type:
| "registry"
| "file"
| "git"
| "remote"
| "workspace";

the type of spec that this is, ultimately

Implementation of

SpecLike.type

Inherited from

Spec.type

Defined in

browser.ts:209

workspace?
optional workspace: string;

the package name or path of the workspace being referenced

Implementation of

SpecLike.workspace

Inherited from

Spec.workspace

Defined in

browser.ts:223

workspaceSpec?
optional workspaceSpec: string;

the specifier when using workspace: specs This can be either a semver range, *, ~, or ^, if the name is not modified. Or, it can include a workspace package name or path, like workspace:packages/foo@* or workspace:@scope/foo@*.

Implementation of

SpecLike.workspaceSpec

Inherited from

Spec.workspaceSpec

Defined in

browser.ts:222

nodejsDependencies?
static optional nodejsDependencies: NodeJSDependenciesOptions;
Inherited from

Spec.nodejsDependencies

Defined in

browser.ts:207

Accessors

final
get final(): Spec

Return the final entry in the chain of subspecs When deciding which thing to actually fetch, spec.final is the thing to look at.

Returns

Spec

Implementation of

SpecLike.final

Inherited from

Spec.final

Defined in

browser.ts:242

Methods

[kCustomInspect]()
kCustomInspect: string
Parameters

_depth?: number

options?: InspectOptions

Returns

string

Overrides

Spec.[kCustomInspect]

Defined in

index.ts:35

toString()
toString(): string

Normally, the string value of a Spec is just the string passed in to be parsed. However, in the case of a chain of subspecs, like foo@npm:bar@npm:baz@npm:quux@latest, this simplifies out the middle parts of the chain, returning just foo@npm:quux@latest

Returns

string

Inherited from

Spec.toString

Defined in

browser.ts:253

parse()
parse(name, bareSpec, options)
static parse(
name,
bareSpec,
options?): Spec

Create a Spec object from a full spec, name+bareSpec, or Spec object

Note: If a Spec object is provided, it is returned as-is, without investigating whether the options match.

Parameters

name: string

bareSpec: string

options?: SpecOptions

Returns

Spec

Inherited from

Spec.parse

Defined in

browser.ts:158

parse(spec, options)
static parse(spec, options?): Spec
Parameters

spec: string

options?: SpecOptions

Returns

Spec

Inherited from

Spec.parse

Defined in

browser.ts:163

parse(spec, options)
static parse(spec, options?): Spec
Parameters

spec: Spec

options?: SpecOptions

Returns

Spec

Inherited from

Spec.parse

Defined in

browser.ts:164

parseArgs()
static parseArgs(specOrBareSpec, opts?): Spec
Parameters

specOrBareSpec: string

opts?: SpecOptions

Returns

Spec

Inherited from

Spec.parseArgs

Defined in

browser.ts:175

parseGitSelector()
static parseGitSelector(selector, spec?): [GitSelectorParsed, string, Range]

Should only ever be called with the bit that comes AFTER the # in the git remote url.

Parameters

selector: string

spec?: Spec

Returns

[GitSelectorParsed, string, Range]

Inherited from

Spec.parseGitSelector

Defined in

browser.ts:628

Type Aliases

GitSelectorParsed

type GitSelectorParsed: object;

Type declaration

path?
optional path: string;
semver?
optional semver: string;

Defined in

types.ts:22


Scope

type Scope: `@${string}`;

Defined in

types.ts:7


SpecLike<Type>

type SpecLike<Type>: SpecLikeBase & object;

Type declaration

final
final: Type
subspec?
optional subspec: Type;

Type Parameters

Type extends SpecLikeBase

Defined in

types.ts:131


SpecLikeBase

type SpecLikeBase: object;

Type declaration

bareSpec
bareSpec: string

just the part AFTER the name, so 1.x in [email protected]

conventionalRegistryTarball?
optional conventionalRegistryTarball: string;

conventional location of the tarball on the registry, if it can be guessed. This is only attempted if the spec is a registry type, with a single version comparator. This can be used to elide resolved urls that are repetitive and predictable.

distTag?
optional distTag: string;

a dist-tag like ‘latest’

file?
optional file: string;

file path for file:// url specs

final
final: SpecLikeBase

getter that retrieves the actual spec value to be used

gitCommittish?
optional gitCommittish: string;

the commit value we will check out

gitRemote?
optional gitRemote: string;

the git remote to fetch from

gitSelector?
optional gitSelector: string;

the committish, semver range, and/or path portion of a git remote

gitSelectorParsed?
optional gitSelectorParsed: GitSelectorParsed;

the parsed ’::‘-separated key/value pairs: semver:<range> and path:<subpath>

name
name: string

the name portion, so foo in [email protected]

namedGitHost?
optional namedGitHost: string;

github, gitlab, bitbucket, gist, etc.

namedGitHostPath?
optional namedGitHostPath: string;

the path that’s parsed when we have a named git host

namedRegistry?
optional namedRegistry: string;

In specs like foo@npm:bar@1, this is the ‘npm’ part. Other registries can be mapped using the registries option.

options
options: SpecOptionsFilled

options passed to the constructor, plus defaults

range?
optional range: Range;

parsed semver range specifier

registry?
optional registry: string;

registry to consult to resolve this spec

registrySpec?
optional registrySpec: string;

semver range or dist-tag for resolving against a packument

remoteURL?
optional remoteURL: string;

URL to download a tarball from, if it can be determined.

This is set for url specs of course, but also git remotes on known hosts that provide a gitHostArchive template.

scope?
optional scope: Scope;

the name’s scope, so @acme in @acme/[email protected]

scopeRegistry?
optional scopeRegistry: string;

if the name is scoped, and there’s a registry associated with the scope, then this is that registry

semver?
optional semver: string;

spec to resolve against available versions

spec
spec: string

the full named specifier passed to the constructor

subspec?
optional subspec: SpecLikeBase;

in bar@npm:[email protected], this is the spec for [email protected]

type
type:
| "file"
| "git"
| "registry"
| "remote"
| "workspace";

the type of spec that this is, ultimately

workspace?
optional workspace: string;

the package name or path of the workspace being referenced

workspaceSpec?
optional workspaceSpec: string;

the specifier when using workspace: specs This can be either a semver range, *, ~, or ^, if the name is not modified. Or, it can include a workspace package name or path, like workspace:packages/foo@* or workspace:@scope/foo@*.

Defined in

types.ts:27


SpecOptions

type SpecOptions: { [k in keyof SpecOptionsFilled]?: SpecOptionsFilled[k] };

Defined in

types.ts:3


SpecOptionsFilled

type SpecOptionsFilled: object;

Type declaration

git-host-archives
git-host-archives: Record<string, string>;

tarball hosting services for hosts listed in git-hosts

git-hosts
git-hosts: Record<string, string>;

shorthand prefix names for known git hosts

registries
registries: Record<string, string>

shorthand prefix names for known registries

registry
registry: string

the registry where a spec should be resolved against

scope-registries
scope-registries: Record<Scope, string>;

registries mapped to a @scope

Defined in

types.ts:9