UNPKG

@nodesecure/scanner

Version:

A package API to run a static analysis of your module's dependencies.

66 lines 2.52 kB
import type { Warning } from "@nodesecure/js-x-ray"; import * as Vulnera from "@nodesecure/vulnera"; import type { Payload, Dependency, DependencyVersion, Publisher, Maintainer, Repository, DependencyLinks, GlobalWarning } from "./types.js"; export interface PayloadComparison { title: string; warnings: ArrayDiff<GlobalWarning>; scannerVersion: ValueComparison<string>; vulnerabilityStrategy: ValueComparison<string>; dependencies: DependenciesComparison; } export interface DependenciesComparison { compared: Map<string, DependencyComparison>; added: Map<string, Dependency>; removed: Map<string, Dependency>; } export interface DependencyComparison { publishers: ArrayDiff<Publisher>; maintainers: ArrayDiff<Maintainer>; versions: VersionsComparisonResult; vulnerabilities: ArrayDiff<Vulnera.StandardVulnerability>; } export interface VersionsComparisonResult { compared: Map<string, DependencyVersionComparison>; added: Map<string, DependencyVersion>; removed: Map<string, DependencyVersion>; } export interface DependencyVersionComparison { id: ValueComparison<number>; size: ValueComparison<number>; usedBy: DictionaryComparison<string>; isDevDependency: ValueComparison<boolean>; existOnRemoteRegistry: ValueComparison<boolean>; description: ValueComparison<string>; author: ValueComparison<Maintainer>; engines: DictionaryComparison<string>; repository: ValueComparison<Repository>; scripts: DictionaryComparison<string>; warnings: ArrayDiff<Warning>; composition: CompositionComparison; uniqueLicenseIds: ArrayDiff<string>; flags: ArrayDiff<string>; links: ValueComparison<DependencyLinks>; } export interface DictionaryComparison<T> { compared: Map<string, ValueComparison<T>>; added: Map<string, T>; removed: Map<string, T>; } export interface CompositionComparison { minified: ArrayDiff<string>; required_thirdparty: ArrayDiff<string>; required_nodejs: ArrayDiff<string>; unused: ArrayDiff<string>; missing: ArrayDiff<string>; } export type ValueComparison<T> = { prev: T; now: T; } | undefined; export interface ArrayDiff<T> { added: T[]; removed: T[]; } export declare function comparePayloads(payload: Payload, comparedPayload: Payload): PayloadComparison; export declare function arrayOfObjectsDiffByKey<T extends Record<string, any>>(key: string, original?: T[], toCompare?: T[]): ArrayDiff<T>; //# sourceMappingURL=comparePayloads.d.ts.map