pastoralist
Version:
A tool to watch over node module resolutions and overrides
91 lines (90 loc) • 3.64 kB
TypeScript
import { SecurityAlert, SecurityCheckResult, SecurityCheckRuntimeOptions, SecurityOverride, SecurityProviderFactoryOptions } from "../../types";
import { PastoralistJSON, OverridesType } from "../../types";
export * from "./providers";
export declare class SecurityChecker {
private static readonly DEFAULT_MEMORY_CACHE_TTL;
private providers;
private log;
private cache;
private cacheConfigHash;
private readonly diskAlertsCache;
private readonly strict;
private readonly noCache;
private readonly refreshCache;
private readonly configuredCacheDir?;
constructor(options: SecurityProviderFactoryOptions);
private resolveCacheTtlMs;
private buildCacheConfigHash;
private createProviders;
private isKnownSecurityProvider;
private hasProviderSetup;
ensureProviderAuth(providerType: string, options?: {
debug?: boolean;
interactive?: boolean;
}): Promise<boolean>;
private createProvider;
private createOsvProvider;
private createGitHubProvider;
private createSnykProvider;
private createSocketProvider;
private createSpektionProvider;
private createPackageManagerAuditProvider;
private createFallbackProvider;
private generateCacheKey;
private generateDiskCacheKey;
checkSecurity(config: PastoralistJSON, options?: SecurityCheckRuntimeOptions): Promise<SecurityCheckResult>;
private runSecurityCheck;
private emptySecurityResult;
private reportProgress;
private extractPackagesForScan;
private resolveCachedAlerts;
private cacheSecurityAlerts;
private resolveSecurityAlerts;
private fetchProviderAlerts;
private normalizeProviderResult;
private resolveVulnerablePackages;
private filterAlertsBySeverity;
private findWorkspaceVulnerabilitiesIfNeeded;
private promptForOverridesIfNeeded;
private readPackageFile;
private isNewVulnerability;
private createVulnerabilityKey;
private extractNewVulnerabilities;
private findWorkspaceVulnerabilities;
private resolveWorkspacePackageFiles;
private collectWorkspaceVulnerabilities;
private addPackageVulnerabilities;
private checkOverrideUpdates;
private getExistingOverrides;
private logNestedOverrideSkips;
private getStringOverrideEntries;
private groupPatchableAlertsByPackage;
private buildOverrideUpdate;
private findNewerPatch;
private fetchLatestForVulnerablePackages;
private generateOverrides;
private canGenerateOverride;
private resolveOverrideTargetVersion;
private buildSecurityOverride;
private buildSecurityOverrideMetadata;
generatePackageOverrides(securityOverrides: SecurityOverride[]): OverridesType;
private formatVulnerabilityEntry;
private formatOverridesSection;
formatSecurityReport(vulnerablePackages: SecurityAlert[], securityOverrides: SecurityOverride[]): string;
private createBackup;
private applyOverridesToPackageJson;
applyAutoFix(overrides: SecurityOverride[], packageJsonPath?: string): string | void;
private resolveAutoFixPackagePath;
private readPackageJsonForAutoFix;
private buildAutoFixedPackageJson;
private buildUpdatedAppendix;
private buildSecurityOverrideDetails;
private buildSecurityOverrideDetailMetadata;
private writePackageJson;
private getOverrideField;
rollbackAutoFix(backupPath: string, originalPath: string): void;
}
export * from "../../types";
export * from "./providers";
export { SecuritySetupWizard, promptForSetup, createOutput } from "./setup";
export type { SetupResult, OutputFunctions } from "./types";