@vltpkg/spec
Classes
Spec
Defined in: spec/src/index.ts:37
The base, isomorphic Spec implementation.
Extends
Implements
Constructors
new Spec()
new Spec( name, bareSpec, options?): Spec
Defined in: spec/src/browser.ts:298
The initial value of Object.prototype.constructor is the standard built-in Object constructor.
Parameters
name
string
bareSpec
string
options?
Returns
Inherited from
new Spec()
new Spec(spec, options?): Spec
Defined in: spec/src/browser.ts:299
The initial value of Object.prototype.constructor is the standard built-in Object constructor.
Parameters
spec
string
options?
Returns
Inherited from
new Spec()
new Spec( spec, bareOrOptions?, options?): Spec
Defined in: spec/src/browser.ts:300
The initial value of Object.prototype.constructor is the standard built-in Object constructor.
Parameters
spec
string
| Spec
bareOrOptions?
string
| SpecOptions
options?
Returns
Inherited from
Properties
bareSpec
bareSpec: string
Defined in: spec/src/browser.ts:238
just the part AFTER the name, so 1.x
in [email protected]
Implementation of
SpecLike.bareSpec
Inherited from
catalog?
optional catalog: string;
Defined in: spec/src/browser.ts:257
Inherited from
constructor
constructor: typeof Spec
Defined in: spec/src/browser.ts:296
The initial value of Object.prototype.constructor is the standard built-in Object constructor.
Inherited from
BrowserSpec.constructor
conventionalRegistryTarball?
optional conventionalRegistryTarball: string;
Defined in: spec/src/browser.ts:251
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
distTag?
optional distTag: string;
Defined in: spec/src/browser.ts:254
a dist-tag like ‘latest’
Implementation of
SpecLike.distTag
Inherited from
file?
optional file: string;
Defined in: spec/src/browser.ts:256
file path for file:// url specs
Implementation of
SpecLike.file
Inherited from
gitCommittish?
optional gitCommittish: string;
Defined in: spec/src/browser.ts:242
the commit value we will check out
Implementation of
SpecLike.gitCommittish
Inherited from
gitRemote?
optional gitRemote: string;
Defined in: spec/src/browser.ts:239
the git remote to fetch from
Implementation of
SpecLike.gitRemote
Inherited from
gitSelector?
optional gitSelector: string;
Defined in: spec/src/browser.ts:240
the committish, semver range, and/or path portion of a git remote
Implementation of
SpecLike.gitSelector
Inherited from
gitSelectorParsed?
optional gitSelectorParsed: GitSelectorParsed;
Defined in: spec/src/browser.ts:241
the parsed ’::‘-separated key/value pairs: semver:<range>
and
path:<subpath>
Implementation of
SpecLike.gitSelectorParsed
Inherited from
name
name: string
Defined in: spec/src/browser.ts:235
the name portion, so foo
in [email protected]
Implementation of
SpecLike.name
Inherited from
namedGitHost?
optional namedGitHost: string;
Defined in: spec/src/browser.ts:243
github, gitlab, bitbucket, gist, etc.
Implementation of
SpecLike.namedGitHost
Inherited from
namedGitHostPath?
optional namedGitHostPath: string;
Defined in: spec/src/browser.ts:244
the path that’s parsed when we have a named git host
Implementation of
SpecLike.namedGitHostPath
Inherited from
namedJsrRegistry?
optional namedJsrRegistry: string;
Defined in: spec/src/browser.ts:248
Inherited from
namedRegistry?
optional namedRegistry: string;
Defined in: spec/src/browser.ts:247
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
options
options: SpecOptionsFilled
Defined in: spec/src/browser.ts:234
options passed to the constructor, plus defaults
Implementation of
SpecLike.options
Inherited from
range?
optional range: Range;
Defined in: spec/src/browser.ts:253
parsed semver range specifier
Implementation of
SpecLike.range
Inherited from
registry?
optional registry: string;
Defined in: spec/src/browser.ts:249
registry to consult to resolve this spec
Implementation of
SpecLike.registry
Inherited from
registrySpec?
optional registrySpec: string;
Defined in: spec/src/browser.ts:250
semver range or dist-tag for resolving against a packument
Implementation of
SpecLike.registrySpec
Inherited from
remoteURL?
optional remoteURL: string;
Defined in: spec/src/browser.ts:255
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
scope?
optional scope: `@${string}`;
Defined in: spec/src/browser.ts:236
the name’s scope, so @acme
in @acme/[email protected]
Implementation of
SpecLike.scope
Inherited from
scopeRegistry?
optional scopeRegistry: string;
Defined in: spec/src/browser.ts:237
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
semver?
optional semver: string;
Defined in: spec/src/browser.ts:252
spec to resolve against available versions
Implementation of
SpecLike.semver
Inherited from
spec
spec: string
Defined in: spec/src/browser.ts:233
the full named specifier passed to the constructor
Implementation of
SpecLike.spec
Inherited from
subspec?
optional subspec: Spec;
Defined in: spec/src/browser.ts:258
in bar@npm:[email protected]
, this is the spec for [email protected]
Implementation of
SpecLike.subspec
Inherited from
type
type: SpecType
Defined in: spec/src/browser.ts:232
the type of spec that this is, ultimately
Implementation of
SpecLike.type
Inherited from
workspace?
optional workspace: string;
Defined in: spec/src/browser.ts:246
the package name or path of the workspace being referenced
Implementation of
SpecLike.workspace
Inherited from
workspaceSpec?
optional workspaceSpec: string;
Defined in: spec/src/browser.ts:245
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
nodejsDependencies?
static optional nodejsDependencies: NodeJSDependenciesOptions;
Defined in: spec/src/browser.ts:230
Inherited from
Accessors
final
Get Signature
get final(): Spec & object
Defined in: spec/src/browser.ts:267
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
& object
Implementation of
SpecLike.final
Inherited from
Methods
[kCustomInspect]()
kCustomInspect: string
Defined in: spec/src/index.ts:38
Parameters
_depth?
number
options?
InspectOptions
Returns
string
Overrides
toString()
toString(): string
Defined in: spec/src/browser.ts:286
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
Implementation of
SpecLike.toString
Inherited from
parse()
Call Signature
static parse( name, bareSpec, options?): Spec
Defined in: spec/src/browser.ts:178
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?
Returns
Inherited from
Call Signature
static parse(spec, options?): Spec
Defined in: spec/src/browser.ts:183
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
spec
string
options?
Returns
Inherited from
Call Signature
static parse(spec, options?): Spec
Defined in: spec/src/browser.ts:184
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
spec
options?
Returns
Inherited from
parseArgs()
static parseArgs(specOrBareSpec, opts?): Spec
Defined in: spec/src/browser.ts:195
Parameters
specOrBareSpec
string
opts?
Returns
Inherited from
parseGitSelector()
static parseGitSelector(selector, spec?): [GitSelectorParsed, string, Range]
Defined in: spec/src/browser.ts:763
Should only ever be called with the bit that comes AFTER the # in the git remote url.
Parameters
selector
string
spec?
Returns
[GitSelectorParsed
, string
,
Range
]
Inherited from
Type Aliases
GitSelectorParsed
type GitSelectorParsed = object
Defined in: spec/src/types.ts:26
Type declaration
path?
optional path: string;
semver?
optional semver: string;
Scope
type Scope = `@${string}`
Defined in: spec/src/types.ts:7
SpecLike<Type>
type SpecLike<Type> = SpecLikeBase & object
Defined in: spec/src/types.ts:145
Type declaration
final
final: Type
subspec?
optional subspec: Type;
Type Parameters
• Type extends SpecLikeBase
SpecLikeBase
type SpecLikeBase = object
Defined in: spec/src/types.ts:39
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: SpecType
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@*
.
toString()
Returns
string
SpecOptions
type SpecOptions = { [k in keyof SpecOptionsFilled]?: SpecOptionsFilled[k]}
Defined in: spec/src/types.ts:3
SpecOptionsFilled
type SpecOptionsFilled = object
Defined in: spec/src/types.ts:9
Type declaration
catalog
catalog: Record<string, string>
catalogs
catalogs: Record<string, Record<string, string>>
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
jsr-registries
jsr-registries: Record<string, string>;
registries that work like https://npm.jsr.io
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
SpecType
type SpecType = | 'file' | 'git' | 'registry' | 'remote' | 'workspace' | 'catalog'
Defined in: spec/src/types.ts:31
References
defaultGitHostArchives
Re-exports defaultGitHostArchives
defaultGitHosts
Re-exports defaultGitHosts
defaultJsrRegistries
Re-exports defaultJsrRegistries
defaultRegistries
Re-exports defaultRegistries
defaultRegistry
Re-exports defaultRegistry
defaultScopeRegistries
Re-exports defaultScopeRegistries
getOptions
Re-exports getOptions
gitHostWebsites
Re-exports gitHostWebsites
kCustomInspect
Re-exports kCustomInspect