snyk-resolve-deps
Version:
Resolves a node package tree with combined support for both npm@2 and npm@3.
98 lines (97 loc) • 2.67 kB
TypeScript
export type DepType = 'extraneous' | 'optional' | 'prod' | 'dev';
export interface DepSpecDict {
[name: string]: string;
}
export interface DepExpandedDict {
[name: string]: PackageExpanded;
}
export interface AbbreviatedVersion {
readonly name: string;
readonly version: string;
readonly dist: {
readonly shasum: string;
readonly tarball: string;
readonly integrity?: string;
};
readonly deprecated?: string;
readonly dependencies?: {
readonly [name: string]: string;
};
readonly optionalDependencies?: {
readonly [name: string]: string;
};
readonly devDependencies?: {
readonly [name: string]: string;
};
readonly bundleDependencies?: {
readonly [name: string]: string;
};
readonly peerDependencies?: {
readonly [name: string]: string;
};
readonly bin?: {
readonly [key: string]: string;
};
readonly directories?: readonly string[];
readonly engines?: {
readonly [type: string]: string;
};
readonly _hasShrinkwrap?: boolean;
readonly [key: string]: unknown;
}
export interface PackageJsonEnriched extends AbbreviatedVersion {
full: string;
__from: string[];
shrinkwrap: any;
}
export interface HasDependencySpecs {
readonly dependencies?: {
readonly [name: string]: string;
};
readonly optionalDependencies?: {
readonly [name: string]: string;
};
readonly devDependencies?: {
readonly [name: string]: string;
};
readonly bundleDependencies?: {
readonly [name: string]: string;
};
}
export interface PackageExpanded {
name: string;
version: string;
dep: string;
license: string;
depType: DepType;
hasDevDependencies: boolean;
full: string;
__from: string[];
from?: string[];
__devDependencies: DepSpecDict;
__dependencies: DepSpecDict;
__optionalDependencies: DepSpecDict;
__bundleDependencies: DepSpecDict;
__filename: string;
devDependencies: DepExpandedDict;
dependencies: DepExpandedDict;
optionalDependencies: DepExpandedDict;
bundleDependencies: DepExpandedDict;
shrinkwrap: any;
bundled: any;
__used?: boolean;
problems?: string[];
extraneous?: boolean;
}
export interface LogicalRoot extends PackageExpanded {
numFileDependencies: number;
numDependencies: number;
unique: () => PackageExpanded;
pluck: (path: string[], name: string, range: string) => false | PackageExpanded;
}
export interface Options {
dev?: boolean;
extraFields?: string[];
noFromArrays?: boolean;
file?: string;
}