@nodesecure/scanner
Version:
A package API to run a static analysis of your module's dependencies.
77 lines • 2.91 kB
TypeScript
import * as npmRegistrySDK from "@nodesecure/npm-registry-sdk";
import type { Packument, PackumentVersion, Signature } from "@nodesecure/npm-types";
import type { DateProvider } from "../class/DateProvider.class.ts";
import type { Dependency, DependencyConfusionWarning, TokenStore } from "../types.ts";
import { Logger } from "../class/logger.class.ts";
type PackumentNpmApiOptions = {
registry: string;
token?: string;
};
export interface NpmApiClient {
packument(name: string, options?: PackumentNpmApiOptions): Promise<Packument>;
packumentVersion(name: string, version: string, options?: PackumentNpmApiOptions): Promise<PackumentVersion>;
org(namespace: string): Promise<npmRegistrySDK.NpmPackageOrg>;
}
export interface NpmRegistryProviderOptions {
dateProvider?: DateProvider;
npmApiClient?: NpmApiClient;
registry?: string;
tokenStore?: TokenStore;
}
export declare class NpmRegistryProvider {
#private;
name: string;
version: string;
constructor(name: string, version: string, options?: NpmRegistryProviderOptions);
collectPackageVersionData(): Promise<{
links: {
npm: string;
homepage: string | null;
repository: string | null;
};
integrity: string;
deprecated: string | undefined;
signatures: Signature[] | undefined;
attestations: {
url: string;
provenance: {
predicateType: string;
};
} | undefined;
}>;
collectPackageData(): Promise<{
metadata: {
publishedCount: number;
lastUpdateAt: Date;
lastVersion: string;
hasChangedAuthor: boolean;
hasManyPublishers: boolean;
hasReceivedUpdateInOneYear: boolean;
author: import("../types.ts").Maintainer | null;
homepage: string | null;
maintainers: import("../types.ts").Maintainer[];
publishers: import("../types.ts").Publisher[];
integrity: Record<string, string>;
};
flags: string[];
version: {
links: {
npm: string;
homepage: string | null;
repository: string | null;
};
deprecated: string | undefined;
attestations: {
url: string;
provenance: {
predicateType: string;
};
} | undefined;
};
}>;
enrichDependency(logger: Logger, dependency: Dependency): Promise<void>;
enrichDependencyVersion(dependency: Dependency, warnings: DependencyConfusionWarning[], org: string | null | undefined): Promise<void>;
enrichScopedDependencyConfusionWarnings(warnings: DependencyConfusionWarning[], org: string): Promise<void>;
}
export {};
//# sourceMappingURL=NpmRegistryProvider.d.ts.map