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
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
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
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
asPackument()
function asPackument(p, from?): Packument
Defined in: index.ts:1127
Parameters
p
unknown
from?
(…a
) => any
Returns
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
Returns
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
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