Skip to main content

Package

This data structure is a valid locator (so a reference to a unique package) that went through the resolution pipeline in order to extract all the extra metadata stored on the registry. It's typically what you can find stored inside the lockfile.

Hierarchy

Index

Properties

bin

bin: Map<string, PortablePath>

All bin entries defined by the package

While we don't need the binaries during the resolution, keeping them within the lockfile is critical to make yarn run fast (otherwise we need to inspect the zip content of every dependency to figure out which binaries they export, which is too slow for a command that might be called at every keystroke)

optionalconditions

conditions?: null | string

A set of constraints indicating whether the package supports the host environment.

dependencies

dependencies: Map<IdentHash, Descriptor>

A map of the package's dependencies. There's no distinction between prod dependencies and dev dependencies, because those have already been merged together during the resolution process.

dependenciesMeta

dependenciesMeta: Map<string, Map<null | string, DependencyMeta>>

Map with additional information about direct dependencies.

identHash

identHash: IdentHash

Unique hash of a package scope and name. Used as key in various places, so that two idents can be quickly compared.

languageName

languageName: string

The "language" of the package (eg. node), for use with multi-linkers. Currently experimental; will probably be renamed before stable release.

linkType

linkType: LinkType

Describes the type of the file system link for a package.

locatorHash

locatorHash: LocatorHash

Unique hash of a package locator. Used as key in various places so that two locators can be quickly compared.

name

name: string

Name of the package (eg. node).

peerDependencies

peerDependencies: Map<IdentHash, Descriptor>

A map of the package's peer dependencies.

peerDependenciesMeta

peerDependenciesMeta: Map<string, PeerDependencyMeta>

Map with additional information about peer dependencies.

The keys are stringified idents, for example: @scope/name

reference

reference: string

A package reference uniquely identifies a package (eg. 1.2.3).

scope

scope: null | string

Scope of the package, without the @ prefix (eg. types).

version

version: null | string

The version of the package, if available.