query-registry
Version:
Query the npm registry for packuments, manifests, packages and download counts
63 lines (52 loc) • 1.96 kB
text/typescript
import { DistInfo } from './dist-info';
import { NpmOperationalInternal } from './npm-operational-internal';
import { PackageJSON } from './package-json';
import { Person } from './person';
/**
* `RawPackageManifest` represents the manifest, as returned by the registry,
* describing a specific version of a package.
*
* @remarks
* For some packages, especially legacy ones,
* the properties may be mistyped due to incorrect data present on the registry.
*
* @see {@link https://github.com/npm/registry/blob/master/docs/REGISTRY-API.md#getpackageversion}
* @see {@link https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md#abbreviated-version-object}
* @see {@link https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md#full-metadata-format}
* @see {@link https://github.com/npm/registry/blob/master/docs/REGISTRY-API.md#version}
* @see {@link PackageJSON}
*/
export interface RawPackageManifest extends PackageJSON {
/** Package version ID (for example, `foo@1.0.0` or `@bar/baz@1.0.0`) */
readonly _id: string;
/** Package name */
readonly name: string;
/** Package version number */
readonly version: string;
/**
* Distribution data from the registry
*
* @see {@link DistInfo}
*/
readonly dist: DistInfo;
/** Commit hash corresponding to the published version */
readonly gitHead?: string;
/**
* User who published this package version
*
* @see {@link Person}
*/
readonly _npmUser: Person;
/** Node version used when publishing */
readonly _nodeVersion?: string;
/** npm version used when publishing */
readonly _npmVersion?: string;
/**
* Internal npm data
*
* @see {@link NpmOperationalInternal}
*/
readonly _npmOperationalInternal?: NpmOperationalInternal;
/** True if the package has a shrinkwrap file */
readonly _hasShrinkwrap?: boolean;
}