Skip to content

Type Aliases

Bugs

type Bugs =
| string
| {
email: string
url: string
}

Defined in: index.ts:396


ConditionalValue

type ConditionalValue =
| ConditionalValue[]
| ConditionalValueObject
| string
| null

Defined in: index.ts:56


ConditionalValueObject

type ConditionalValueObject = object

Defined in: index.ts:52

Index Signature

[k: string]: ConditionalValue

DependencySaveType

type DependencySaveType = DependencyTypeShort | 'implicit'

Defined in: index.ts:1175

Unique keys that indicate how a new or updated dependency should be saved back to a manifest.

'implicit' is used to indicate that a dependency should be saved as whatever type it already exists as. If the dependency does not exist, then 'implicit' is equivalent to 'prod', as that is the default save type.


DependencyTypeLong

type DependencyTypeLong =
| 'dependencies'
| 'devDependencies'
| 'optionalDependencies'
| 'peerDependencies'

Defined in: index.ts:1150

Name of the package.json keys used to define different types of dependencies.


DependencyTypeShort

type DependencyTypeShort =
| 'dev'
| 'optional'
| 'peer'
| 'peerOptional'
| 'prod'

Defined in: index.ts:1159

Unique keys that define different types of dependencies relationship.


Dist

type Dist = object

Defined in: index.ts:33

The Manifest[‘dist’] field present in registry manifests

Type declaration

fileCount?
optional fileCount: number;
integrity?
optional integrity: Integrity;
shasum?
optional shasum: string;
signatures?
optional signatures: object[];
tarball?
optional tarball: string;
unpackedSize?
optional unpackedSize: number;

Exports

type Exports = Exclude<ConditionalValue, null> | ExportsSubpaths

Defined in: index.ts:66


ExportsSubpaths

type ExportsSubpaths = {
[path in '.' | `./${string}`]?: ConditionalValue
}

Defined in: index.ts:62


Funding

type Funding = FundingEntry | FundingEntry[]

Defined in: index.ts:75


FundingEntry

type FundingEntry =
| string
| {
[key: string]: JSONField
type: string
url: string
}

Defined in: index.ts:72


Imports

type Imports = Record<`#${string}`, ConditionalValue>

Defined in: index.ts:70


Integrity

type Integrity = `sha512-${string}`

Defined in: index.ts:27

sha512 SRI string


JSONField

type JSONField =
| JSONField[]
| boolean
| number
| string
| {}
| null
| undefined

Defined in: index.ts:17

anything that can be encoded in JSON


KeyID

type KeyID = `SHA256:${string}`

Defined in: index.ts:30

SHA256 key identifier


Keywords

type Keywords = string[] | string

Defined in: index.ts:403


Manifest

type Manifest = object

Defined in: index.ts:567

Type declaration

acceptDependencies?
optional acceptDependencies: Record<string, string>;

dependency ranges that are acceptable, but not forced

author?
optional author: Person;

the author of a package

bin?
optional bin: Record<string, string> | string;

executable built and linked by this package

bugs?
optional bugs: Bugs;

where to go to file issues

bundleDependencies?
optional bundleDependencies: string[];

names of dependencies included in the package tarball

contributors?
optional contributors: Person[];

contributors to the package

cpu?
optional cpu: string[] | string;

supported CPU architectures this package can run on

dependencies?
optional dependencies: Record<string, string>;

production dependencies, name:specifier

deprecated?
optional deprecated: string;

a message indicating that this is not to be used

description?
optional description: string;

a short description of the package

devDependencies?
optional devDependencies: Record<string, string>;

development dependencies, name:specifier

dist?
optional dist: Dist;

Only present in Manifests served by a registry. Contains information about the artifact served for this package release.

engines?
optional engines: Record<string, string>;

supported run-time platforms this package can run on

exports?
optional exports: Exports;

named subpath exports

funding?
optional funding: Funding;

URLs that can be visited to fund this project

gitHead?
optional gitHead: string;

the HEAD of the git repo this was published from only present in published packages

gypfile?
optional gypfile: boolean;

npm puts this on published manifests

homepage?
optional homepage: string;

The homepage of the repository

imports?
optional imports: Imports;

named #identifier imports

keywords?
optional keywords: Keywords;

search keywords

license?
optional license: string;

the license of the package

main?
optional main: string;

the main module, if exports[’.’] is not set

name?
optional name: string;

The name of the package. optional because {} is a valid package.json

optionalDependencies?
optional optionalDependencies: Record<string, string>;

optional dependencies, name:specifier

os?
optional os: string[] | string;

supported operating systems this package can run on

peerDependencies?
optional peerDependencies: Record<string, string>;

peer dependencies, name:specifier

peerDependenciesMeta?
optional peerDependenciesMeta: Record<string, PeerDependenciesMetaValue>;

peer dependencies marked as optional

private?
optional private: boolean;

whether the package is private

repository?
optional repository: Repository;

where the development happens

scripts?
optional scripts: Record<string, string>;

run-script actions for this package

type?
optional type: "commonjs" | "module";

whether this is ESM or CommonJS by default

version?
optional version: string;

The version of the package. optional because {} is a valid package.json


ManifestRegistry

type ManifestRegistry = Manifest &
Required<Pick<Manifest, 'name' | 'version' | 'dist'>> &
object

Defined in: index.ts:666

A specific type of Manifest that represents manifests that were retrieved from a registry, these will always have name, version and dist information along with an optional maintainers field.

Type declaration

maintainers?
optional maintainers: unknown;

NormalizedBugs

type NormalizedBugs = NormalizedBugsEntry[]

Defined in: index.ts:422

Normalized bugs - always an array of NormalizedBugsEntry


NormalizedBugsEntry

type NormalizedBugsEntry = object

Defined in: index.ts:408

Normalized bugs entry - always an object with type and url/email

Type declaration

email?
optional email: string;
type?
optional type: "email" | "link";
url?
optional url: string;

NormalizedContributorEntry

type NormalizedContributorEntry = object

Defined in: index.ts:281

Represents a normalized contributor object. This is the type that is used in the NormalizedManifest and NormalizedManifestRegistry objects.

Type declaration

[kIsPublisher]?
optional [kIsPublisher]: boolean;
[kWriteAccess]?
optional [kWriteAccess]: boolean;
email?
optional email: string;
isPublisher?
optional isPublisher: boolean;
name?
optional name: string;
writeAccess?
optional writeAccess: boolean;

NormalizedContributors

type NormalizedContributors = NormalizedContributorEntry[]

Defined in: index.ts:274

Normalized contributors - always an array of NormalizedContributorEntry.


NormalizedFields

type NormalizedFields = object

Defined in: index.ts:640

Type declaration

author
author:
| NormalizedContributorEntry
| undefined;
bugs
bugs: NormalizedBugs | undefined
contributors
contributors:
| NormalizedContributors
| undefined;
funding
funding: NormalizedFunding | undefined
keywords
keywords: NormalizedKeywords | undefined

NormalizedFunding

type NormalizedFunding = NormalizedFundingEntry[]

Defined in: index.ts:89

Normalized funding information, an array of NormalizedFundingEntry.


NormalizedFundingEntry

type NormalizedFundingEntry = object

Defined in: index.ts:80

An object with url and optional additional properties

Type declaration

Index Signature

[key: string]: JSONField
type?
optional type: string;
url
url: string

NormalizedKeywords

type NormalizedKeywords = string[]

Defined in: index.ts:417

Normalized keywords - always an array of strings


NormalizedManifest

type NormalizedManifest = Override<Manifest, NormalizedFields>

Defined in: index.ts:651

A Manifest object that contains normalized fields.


NormalizedManifestRegistry

type NormalizedManifestRegistry = Override<
ManifestRegistry,
NormalizedFields
>

Defined in: index.ts:656

A ManifestRegistry object that contains normalized fields.


Override<T, R>

type Override<T, R> = {
[K in keyof T]: K extends keyof R ? R[K] : T[K]
}

Defined in: index.ts:9

Utility type that overrides specific properties of type T with new types from R. Constrains override values to exclude undefined, ensuring that normalization cannot introduce undefined to fields that shouldn’t have it.

Type Parameters

T

R extends { [K in keyof R]: R[K] extends undefined ? never : R[K] }


Packument

type Packument = object

Defined in: index.ts:685

A document that represents available package versions in a given registry along with extra information, such as dist-tags and maintainers info. The versions field is key-value structure in which keys are the available versions of a given package and values are ManifestRegistry objects.

Type declaration

contributors?
optional contributors: Person[];
dist-tags
dist-tags: Record<string, string>;
maintainers?
optional maintainers: Person[];
modified?
optional modified: string;
name
name: string
readme?
optional readme: string;
time?
optional time: Record<string, string>;
versions
versions: Record<string, Manifest>

PeerDependenciesMetaValue

type PeerDependenciesMetaValue = object

Defined in: index.ts:46

An object used to mark some peerDeps as optional

Type declaration

optional?
optional optional: boolean;

Person

type Person =
| string
| {
email: string
name: string
url: string
}

Defined in: index.ts:381


RefType

type RefType = 'branch' | 'head' | 'other' | 'pull' | 'tag'

Defined in: index.ts:696


Repository

type Repository =
| string
| {
type: string
url: string
}

Defined in: index.ts:389


RevDoc

type RevDoc = Omit<Packument, 'versions'> & object

Defined in: index.ts:716

An object kind of resembling a packument, but about a git repo.

Type declaration

refs
refs: Record<string, RevDocEntry>

all named things that can be cloned down remotely

shas
shas: Record<string, string[]>

all named shas referenced above

versions
versions: Record<string, RevDocEntry>

all semver-looking tags go in this record


RevDocEntry

type RevDocEntry = Omit<Manifest, 'type'> &
Required<Pick<Manifest, 'version'>> &
object

Defined in: index.ts:701

A representation of a given remote ref in a RevDoc object.

Type declaration

rawRef
rawRef: string

canonical full ref, like refs/tags/blahblah

ref
ref: string

ref as passed git locally

sha
sha: string

sha this references

type
type: RefType

what type of ref this is: ‘branch’, ‘tag’, etc.


SomeNormalizedManifest<T>

type SomeNormalizedManifest<T> =
T extends ManifestRegistry ? NormalizedManifestRegistry
: NormalizedManifest

Defined in: index.ts:674

Maps the manifest type to the equivalent normalized manifest type.

Type Parameters

T

Variables

dependencyTypes

const dependencyTypes: Map<DependencyTypeLong, DependencyTypeShort>

Defined in: index.ts:1203

Maps between long form names usually used in package.json files to a corresponding short form name, used in lockfiles.


integrityRE

const integrityRE: RegExp

Defined in: index.ts:731


keyIDRE

const keyIDRE: RegExp

Defined in: index.ts:755


longDependencyTypes

const longDependencyTypes: Set<DependencyTypeLong>

Defined in: index.ts:1181

A set of the possible long dependency type names, as used in package.json files.


shortDependencyTypes

const shortDependencyTypes: Set<DependencyTypeShort>

Defined in: index.ts:1191

A set of the short type keys used to represent dependency relationships.

Functions

asError()

function asError(er, fallbackMessage): Error

Defined in: index.ts:780

Convert an unknown value to an error.

Parameters

er

unknown

fallbackMessage

string = 'Unknown error'

Returns

Error


asIntegrity()

function asIntegrity(i): `sha512-${string}`

Defined in: index.ts:735

Parameters

i

unknown

Returns

`sha512-${string}`


asKeyID()

function asKeyID(k): `SHA256:${string}`

Defined in: index.ts:759

Parameters

k

unknown

Returns

`SHA256:${string}`


asManifest()

function asManifest(m, from?): Manifest

Defined in: index.ts:911

Given an unknown value, convert it to a Manifest.

Parameters

m

unknown

from?

(…a) => any

Returns

Manifest


asManifestRegistry()

function asManifestRegistry(m, from?): ManifestRegistry

Defined in: index.ts:1029

Given an unknown value, convert it to a ManifestRegistry.

Parameters

m

unknown

from?

(…a) => any

Returns

ManifestRegistry


asNormalizedManifest()

function asNormalizedManifest(m, from?): Override

Defined in: index.ts:1012

Given an unknown value, convert it to a NormalizedManifest.

Parameters

m

unknown

from?

(…a) => any

Returns

Override


asNormalizedManifestRegistry()

function asNormalizedManifestRegistry(m, from?): Override

Defined in: index.ts:1055

Given an unknown value, convert it to a NormalizedManifestRegistry.

Parameters

m

unknown

from?

(…a) => any

Returns

Override


asPackument()

function asPackument(p, from?): Packument

Defined in: index.ts:1127

Parameters

p

unknown

from?

(…a) => any

Returns

Packument


assertIntegrity()

function assertIntegrity(i): asserts i is `sha512-${string}`

Defined in: index.ts:749

Parameters

i

unknown

Returns

asserts i is `sha512-${string}`


assertKeyID()

function assertKeyID(k): asserts k is `SHA256:${string}`

Defined in: index.ts:773

Parameters

k

unknown

Returns

asserts k is `SHA256:${string}`


assertManifest()

function assertManifest(m): asserts m is Manifest

Defined in: index.ts:1105

Parameters

m

unknown

Returns

asserts m is Manifest


assertManifestRegistry()

function assertManifestRegistry(m): asserts m is ManifestRegistry

Defined in: index.ts:1110

Parameters

m

unknown

Returns

asserts m is ManifestRegistry


assertPackument()

function assertPackument(m): asserts m is Packument

Defined in: index.ts:1141

Parameters

m

unknown

Returns

asserts m is Packument


assertRecordStringString()

function assertRecordStringString(o): void

Defined in: index.ts:818

Parameters

o

unknown

Returns

void


assertRecordStringT()

function assertRecordStringT<T>(
o,
check,
wanted,
): asserts o is Record<string, T>

Defined in: index.ts:836

Type Parameters

T

Parameters

o

unknown

check

(o) => o is T

wanted

string

Returns

asserts o is Record<string, T>


expandNormalizedManifestSymbols()

function expandNormalizedManifestSymbols(m): Override

Defined in: index.ts:1087

Walks a normalized manifest and expands any symbols found in the author and contributors fields.

Parameters

m

Override

Returns

Override


fixManifestVersion()

function fixManifestVersion<T>(manifest): T

Defined in: index.ts:203

Given a version Normalize the version field in a manifest.

Type Parameters

T extends | Manifest | ManifestRegistry

Parameters

manifest

T

Returns

T


isBoolean()

function isBoolean(value): value is boolean

Defined in: index.ts:728

A type guard to check if a value is a boolean.

Parameters

value

unknown

Returns

value is boolean


isError()

function isError(er): er is Error

Defined in: index.ts:789

Check if a value is an error.

Parameters

er

unknown

Returns

er is Error


isErrorWithCause()

function isErrorWithCause(er): er is Error & { cause: unknown }

Defined in: index.ts:795

Check if an error has a cause property.

Parameters

er

unknown

Returns

er is Error & { cause: unknown }


isIntegrity()

function isIntegrity(i): i is `sha512-${string}`

Defined in: index.ts:732

Parameters

i

unknown

Returns

i is `sha512-${string}`


isKeyID()

function isKeyID(k): k is `SHA256:${string}`

Defined in: index.ts:756

Parameters

k

unknown

Returns

k is `SHA256:${string}`


isManifest()

function isManifest(m): m is Manifest

Defined in: index.ts:885

Is a given unknown value a valid Manifest object? Returns true if so.

Parameters

m

unknown

Returns

m is Manifest


isManifestRegistry()

function isManifestRegistry(m): m is ManifestRegistry

Defined in: index.ts:903

A specific Manifest that is retrieved uniquely from reading registry packument and manifest endpoints, it has dist, name and version fields defined.

Parameters

m

unknown

Returns

m is ManifestRegistry


isNormalizedBugs()

function isNormalizedBugs(o): o is NormalizedBugs

Defined in: index.ts:506

Type guard to check if a value is a NormalizedBugs.

Parameters

o

unknown

Returns

o is NormalizedBugs


isNormalizedBugsEntry()

function isNormalizedBugsEntry(o): o is NormalizedBugsEntry

Defined in: index.ts:490

Type guard to check if a value is a NormalizedBugsEntry.

Parameters

o

unknown

Returns

o is NormalizedBugsEntry


isNormalizedContributorEntry()

function isNormalizedContributorEntry(
o,
): o is NormalizedContributorEntry

Defined in: index.ts:297

Type guard to check if a value is a normalized contributor entry.

Parameters

o

unknown

Returns

o is NormalizedContributorEntry


isNormalizedContributors()

function isNormalizedContributors(o): o is NormalizedContributors

Defined in: index.ts:316

Type guard to check if a value is a NormalizedContributors.

Parameters

o

unknown

Returns

o is NormalizedContributors


isNormalizedFunding()

function isNormalizedFunding(o): o is NormalizedFunding

Defined in: index.ts:190

Type guard to check if a value is a NormalizedFunding.

Parameters

o

unknown

Returns

o is NormalizedFunding


isNormalizedFundingEntry()

function isNormalizedFundingEntry(o): o is NormalizedFundingEntry

Defined in: index.ts:171

Type guard to check if a value is a NormalizedFundingEntry.

Parameters

o

unknown

Returns

o is NormalizedFundingEntry


isNormalizedKeywords()

function isNormalizedKeywords(o): o is NormalizedKeywords

Defined in: index.ts:551

Type guard to check if a value is a NormalizedKeywords.

Parameters

o

unknown

Returns

o is NormalizedKeywords


isNormalizedManifest()

function isNormalizedManifest(
o,
): o is Override<Manifest, NormalizedFields>

Defined in: index.ts:992

Type guard to check if a value is a NormalizedManifest.

Parameters

o

unknown

Returns

o is Override<Manifest, NormalizedFields>


isNormalizedManifestRegistry()

function isNormalizedManifestRegistry(
o,
): o is Override<ManifestRegistry, NormalizedFields>

Defined in: index.ts:1046

Type guard to check if a value is a NormalizedManifestRegistry.

Parameters

o

unknown

Returns

o is Override<ManifestRegistry, NormalizedFields>


isObject()

function isObject(v): v is Record<string, unknown>

Defined in: index.ts:802

Check if an unknown value is a plain object.

Parameters

v

unknown

Returns

v is Record<string, unknown>


isPackument()

function isPackument(p): p is Packument

Defined in: index.ts:1116

Parameters

p

unknown

Returns

p is Packument


isPeerDependenciesMetaValue()

function isPeerDependenciesMetaValue(
o,
): o is PeerDependenciesMetaValue

Defined in: index.ts:870

Parameters

o

unknown

Returns

o is PeerDependenciesMetaValue


isRecordStringManifest()

function isRecordStringManifest(o): o is Record<string, Manifest>

Defined in: index.ts:854

Parameters

o

unknown

Returns

o is Record<string, Manifest>


isRecordStringString()

function isRecordStringString(o): o is Record<string, string>

Defined in: index.ts:813

Parameters

o

unknown

Returns

o is Record<string, string>


isRecordStringT()

function isRecordStringT<T>(o, check): o is Record<string, T>

Defined in: index.ts:827

Type Parameters

T

Parameters

o

unknown

check

(o) => o is T

Returns

o is Record<string, T>


maybeBoolean()

function maybeBoolean(o): o is boolean

Defined in: index.ts:867

Parameters

o

unknown

Returns

o is boolean


maybeDist()

function maybeDist(a): a is undefined | Dist

Defined in: index.ts:878

Parameters

a

unknown

Returns

a is undefined | Dist


maybePeerDependenciesMetaSet()

function maybePeerDependenciesMetaSet(
o,
): o is undefined | Record<string, PeerDependenciesMetaValue>

Defined in: index.ts:859

Parameters

o

unknown

Returns

o is undefined | Record<string, PeerDependenciesMetaValue>


maybeRecordStringString()

function maybeRecordStringString(
o,
): o is undefined | Record<string, string>

Defined in: index.ts:808

Parameters

o

unknown

Returns

o is undefined | Record<string, string>


maybeString()

function maybeString(a): a is undefined | string

Defined in: index.ts:875

Parameters

a

unknown

Returns

a is undefined | string


normalizeBugs()

function normalizeBugs(bugs): undefined | NormalizedBugs

Defined in: index.ts:467

Normalize bugs information to a NormalizedBugs consistent format.

Parameters

bugs

unknown

Returns

undefined | NormalizedBugs


normalizeContributors()

function normalizeContributors(
contributors,
maintainers?,
): undefined | NormalizedContributorEntry[]

Defined in: index.ts:329

Normalize contributors and maintainers from various formats

Parameters

contributors

unknown

maintainers?

unknown

Returns

| undefined | NormalizedContributorEntry[]


normalizeFunding()

function normalizeFunding(funding): undefined | NormalizedFunding

Defined in: index.ts:158

Normalize funding information to a consistent format.

Parameters

funding

unknown

Returns

undefined | NormalizedFunding


normalizeKeywords()

function normalizeKeywords(keywords): undefined | NormalizedKeywords

Defined in: index.ts:515

Normalize keywords information to a NormalizedKeywords consistent format.

Parameters

keywords

unknown

Returns

undefined | NormalizedKeywords


normalizeManifest()

function normalizeManifest<T>(manifest): SomeNormalizedManifest<T>

Defined in: index.ts:926

Given a Manifest returns a NormalizedManifest that contains normalized author, bugs, funding, contributors, keywords and version fields.

Type Parameters

T extends | Manifest | ManifestRegistry

Parameters

manifest

T

Returns

SomeNormalizedManifest<T>


parsePerson()

function parsePerson(
person,
writeAccess?,
isPublisher?,
): undefined | NormalizedContributorEntry

Defined in: index.ts:227

Parse a string or object into a normalized contributor.

Parameters

person

unknown

writeAccess?

boolean

isPublisher?

boolean

Returns

| undefined | NormalizedContributorEntry