"Fossies" - the Fresh Open Source Software Archive

Member "cli-1.1260.0/packages/snyk-fix/src/lib/issues/fixable-issues.ts" (4 Dec 2023, 1084 Bytes) of package /linux/misc/snyk-cli-1.1260.0.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) TypeScript source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 import { DependencyPins, DependencyUpdates, TestResult } from '../../types';
    2 
    3 export function hasFixableIssues(
    4   results: TestResult[],
    5 ): {
    6   hasFixes: boolean;
    7   count: number;
    8 } {
    9   let hasFixes = false;
   10   let count = 0;
   11   for (const result of Object.values(results)) {
   12     const { remediation } = result;
   13     if (remediation) {
   14       const { upgrade, pin, patch } = remediation;
   15       const upgrades = Object.keys(upgrade);
   16       const pins = Object.keys(pin);
   17       if (pins.length || upgrades.length) {
   18         hasFixes = true;
   19         // pins & upgrades are mutually exclusive
   20         count += getUpgradableIssues(pins.length ? pin : upgrade);
   21       }
   22       const patches = Object.keys(patch);
   23       if (patches.length) {
   24         hasFixes = true;
   25         count += patches.length;
   26       }
   27     }
   28   }
   29 
   30   return {
   31     hasFixes,
   32     count,
   33   };
   34 }
   35 
   36 function getUpgradableIssues(
   37   updates: DependencyUpdates | DependencyPins,
   38 ): number {
   39   const issues: string[] = [];
   40   for (const id of Object.keys(updates)) {
   41     issues.push(...updates[id].vulns);
   42   }
   43 
   44   return issues.length;
   45 }