@eryx/package/types Module
API Reference
Types
Visiting
GitRef
type: "branch" | "tag" | "commit"
Requirement
type Requirement = {
type: "local",
name: string,
path: string,
sourceRoot: string?,
tree: { Requirement }
}
| {
type: "path",
name: string,
path: string,
sourceRoot: string?,
tree: { Requirement }
}
| {
type: "workspace",
name: string,
path: string,
sourceRoot: string?,
tree: { Requirement }
}
| {
type: "git",
name: string,
path: string,
url: string,
subdir: string?,
ref: GitRef,
requestedRef: GitRef,
gitFolder: string,
sourceRoot: string?,
tree: { Requirement }
}
| {
type: "file",
name: string,
path: string,
sha256: string?,
sourceRoot: string?,
tree: { Requirement }
}
| {
type: "repository",
name: string,
key: string,
repository: string,
path: string,
range: semver.Range?,
version: semver.Version?,
sourceRoot: string?,
tree: { Requirement }
}
RequirementKind
InstallNode
type InstallNode = {
id: string,
installName: string,
requirement: Requirement,
dependencies: { InstallEdge }
}
InstallPlan
type InstallPlan = {
nodes: { [string]: InstallNode },
roots: { InstallEdge },
devRoots: { InstallEdge }
}
LockPackage
type LockPackage = {
id: string,
installName: string?,
type: RequirementKind,
dependencies: { InstallEdge },
aliases: AliasMap,
data: { [string]: any }
}
LockFile
type LockFile = {
version: number,
roots: { InstallEdge },
rootAliases: AliasMap,
devRoots: { InstallEdge }?,
devRootAliases: AliasMap?,
packages: { [string]: LockPackage }
}
ResolveContext
type ResolveContext = {
plan: InstallPlan,
repositorySelections: { [string]: { InstallNode } },
resolving: { [string]: boolean }
}
CollectRecursion
type CollectRecursion = (
root: string,
path: string,
manifest: project.Manifest,
requirements: { Requirement },
visiting: Visiting,
allowLocal: boolean,
workspace: project.Workspace?
) → ()
ResolveRecursion
Source
type Source = {
type: RequirementKind,
checkDependency: ((dep: project.Dependency) → boolean),
collect: (
root: string,
path: string,
manifest: project.Manifest,
name: string,
dep: project.Dependency,
requirements: { Requirement },
visiting: Visiting,
allowLocal: boolean,
workspace: project.Workspace?,
recurse: CollectRecursion
) → (),
materialise: (
root: string,
requirement: Requirement,
destination: string
) → (),
identity: ((retirement: Requirement) → string),
resolveInstallPlan: (
(
ctx: ResolveContext,
parent: InstallNode?,
requirement: Requirement,
resolve: ResolveRecursion
) → InstallNode
)?,
generateLock: ((requirement: Requirement) → { [string]: any }),
readLock: (((root: string, package: LockPackage) → Requirement))?
}
Check if a dependency matches this source
Source.collect(root: string, path: string, manifest: project.Manifest, name: string, dep: project.Dependency, requirements: { Requirement }, visiting: Visiting, allowLocal: boolean, workspace: project.Workspace?, recurse: CollectRecursion) → ()
Perform "collection" on a dependency, resolving it
resolveInstallPlan: (((ctx: ResolveContext, parent: InstallNode?, requirement: Requirement, resolve: ResolveRecursion) → InstallNode))?