@vltpkg/dep-id
Type Aliases
Delimiter
type Delimiter = '·'
Defined in: index.ts:7
DepID
type DepID = | `${'' | 'git'}${Delimiter}${string}${Delimiter}${string}${Delimiter}${string}` | `${'' | 'git'}${Delimiter}${string}${Delimiter}${string}` | `${'file' | 'remote' | 'workspace'}${Delimiter}${string}${Delimiter}${string}` | `${'file' | 'remote' | 'workspace'}${Delimiter}${string}`
Defined in: index.ts:34
Dependency IDs are a URI-encoded set of strings, separated by the
Delimiter character ('·'
).
The first entry is always the specifier type. The rest depend on the
type. git
, registry
, and workspace
entries have 3 fields, the
rest have 2.
registry
:'registry·<registry>·name@specifier'
The<registry>
portion can be a known named registry name, or a url to a registry. If empty, it is the default registry. Examples:··[email protected]
·npm·[email protected]
·http%3A%2F%2Fvlt.sh%2F·[email protected]
git
:'git·<git remote>·<git selector>'
. For example:git·github:user/project·branchname
git·git%2Bssh%3A%2F%2Fuser%40host%3Aproject.git·semver:1.x
workspace
:'workspace·<path>'
. For example:workspace·src/mything
remote
:'remote·<url>'
file
:'file·<path>'
Lastly, the final portion can contain arbitrary string data, and is used to store peer dep resolutions to maintain the peerDep contract.
DepIDTuple
type DepIDTuple = | ['git', string, string, string] | ['registry', string, string, string] | ['file', string, string] | ['remote', string, string] | ['workspace', string, string]
Defined in: index.ts:43
A DepID, split apart and URI-decoded
Variables
delimiter
const delimiter: Delimiter = '·'
Defined in: index.ts:6
Functions
asDepID()
function asDepID(str): DepID
Defined in: index.ts:73
Parameters
str
string
Returns
getId()
function getId(spec, mani): DepID
Defined in: index.ts:329
Get the DepID for a given Spec and Manifest. The Manifest is used to get the name and version, if possible. If not found in the manifest, registry ID types will use the name or bareSpec from the specifier, so at least there’s something to use later.
Parameters
spec
mani
Returns
getTuple()
function getTuple(spec, mani): DepIDTuple
Defined in: index.ts:259
Get the DepIDTuple for a given Spec and Manifest. The Manifest is used to get the name and version, if possible. If not found in the manifest, registry ID types will use the name or bareSpec from the specifier, so at least there’s something to use later.
Parameters
spec
mani
Returns
hydrate()
function hydrate(id, name?, options?): Spec
Defined in: index.ts:146
Turn a DepID into a Spec object
Parameters
id
name?
string
options?
SpecOptions
= {}
Returns
hydrateTuple()
function hydrateTuple(tuple, name?, options?): Spec
Defined in: index.ts:155
Turn a DepIDTuple into a Spec object
Parameters
tuple
name?
string
options?
SpecOptions
= {}
Returns
isDepID()
function isDepID(str): str is DepID
Defined in: index.ts:70
Parameters
str
unknown
Returns
str is DepID
joinDepIDTuple()
function joinDepIDTuple(list): DepID
Defined in: index.ts:85
turn a DepIDTuple into a DepID
Parameters
list
Returns
splitDepID()
function splitDepID(id): DepIDTuple
Defined in: index.ts:108
turn a DepID into a DepIDTuple
Parameters
id
string