export interface NodeModuleInfo { name: string; version: string; dir: string; dependencies?: Array; } export type ParsedDependencyTree = { readonly name: string; readonly version: string; readonly path: string; readonly workspaces?: string[]; }; export interface DependencyTree extends Omit, "optionalDependencies"> { readonly implicitDependenciesInjected: boolean; } export interface PnpmDependency extends Dependency { } export interface NpmDependency extends Dependency { readonly _dependencies?: { [packageName: string]: string; }; } export type Dependency = Dependencies & ParsedDependencyTree; export type Dependencies = { readonly dependencies?: { [packageName: string]: T; }; readonly optionalDependencies?: { [packageName: string]: V; }; }; export interface DependencyGraph { [packageNameAndVersion: string]: PackageDependencies; } interface PackageDependencies { readonly dependencies: string[]; } export {};