/** * PackageGate Lock File Parser * * Purpose: Extract dependency information from lock files for supply-chain vulnerability detection. * Based on PackageGate research (2026-01 Koi Research Team) * * Supports: * - package-lock.json (NPM) * - pnpm-lock.yaml (PNPM) * - bun.lockb (Bun) - basic support */ export interface PackageDependency { /** Package name (e.g., "express") */ name: string; /** Resolved version (e.g., "4.18.2") */ version: string; /** Resolved URL/tarball location */ resolved?: string; /** Package integrity hash */ integrity?: string; /** Is this a dev dependency? */ dev?: boolean; /** Nested dependencies (if available) */ dependencies?: Record; } export interface LockFileParseResult { /** Lock file type */ type: 'npm' | 'pnpm' | 'bun' | 'unknown'; /** Lock file format version */ lockfileVersion?: number | string; /** All resolved packages */ packages: PackageDependency[]; /** Parse errors (if any) */ errors: string[]; } /** * Auto-detect and parse lock file */ export declare function parseLockfile(filePath: string): LockFileParseResult; /** * Find all lock files in a directory (non-recursive) */ export declare function findLockfiles(dir: string): string[]; /** * Extract all unique packages from multiple lock files */ export declare function mergePackages(results: LockFileParseResult[]): PackageDependency[]; /** * Get package summary statistics */ export interface PackageSummary { totalPackages: number; prodPackages: number; devPackages: number; uniqueNames: number; lockfileType: string; } export declare function summarizePackages(result: LockFileParseResult): PackageSummary; //# sourceMappingURL=lockfile-parser.d.ts.map