snyk-cpp-plugin 2.14.1 → 2.15.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/common.d.ts CHANGED
@@ -1 +1,2 @@
1
+ export declare const isWindowsOS: () => boolean;
1
2
  export declare const MAX_SUPPORTED_FILE_SIZE: number;
package/dist/common.js CHANGED
@@ -1,5 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MAX_SUPPORTED_FILE_SIZE = void 0;
3
+ exports.MAX_SUPPORTED_FILE_SIZE = exports.isWindowsOS = void 0;
4
+ const osName = require('os-name');
5
+ exports.isWindowsOS = () => osName()
6
+ .toLowerCase()
7
+ .indexOf('windows') === 0;
4
8
  exports.MAX_SUPPORTED_FILE_SIZE = 2 * 1024 * 1024 * 1024 - 1;
5
9
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../lib/common.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAW,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../lib/common.ts"],"names":[],"mappings":";;;AAAA,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAErB,QAAA,WAAW,GAAG,GAAY,EAAE,CACvC,MAAM,EAAE;KACL,WAAW,EAAE;KACb,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAEjB,QAAA,uBAAuB,GAAW,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC"}
@@ -3,5 +3,5 @@ import { DepsFilePaths, Issue, IssuesData, Options, ScanResult, TestResult, File
3
3
  export declare function displaySignatures(scanResults: ScanResult[]): string[];
4
4
  export declare function selectDisplayStrategy(options: Options | undefined, depGraph: DepGraph, testResult: TestResult): string[][];
5
5
  export declare function displayDependencies(depGraph: DepGraph, fileSignaturesDetails?: FileSignaturesDetails, depsFilePaths?: DepsFilePaths): string[];
6
- export declare function displayIssues(depGraph: DepGraph, issues: Issue[], issuesData: IssuesData): string[];
6
+ export declare function displayIssues(depGraph: DepGraph, issues: Issue[], issuesData: IssuesData, supportUnmanagedVulnDB?: boolean): string[];
7
7
  export declare function displayErrors(errors: string[]): string[];
@@ -30,12 +30,12 @@ function findDependencyLines(depGraph, options, depsFilePaths, fileSignaturesDet
30
30
  else if (displayDeps) {
31
31
  return displayDependencies(depGraph, fileSignaturesDetails);
32
32
  }
33
- return [''];
33
+ return [];
34
34
  }
35
35
  function selectDisplayStrategy(options, depGraph, testResult) {
36
36
  const { depsFilePaths, issues, issuesData, fileSignaturesDetails, } = testResult;
37
37
  const dependencySection = findDependencyLines(depGraph, options, depsFilePaths, fileSignaturesDetails);
38
- const issuesSection = displayIssues(depGraph, issues, issuesData);
38
+ const issuesSection = displayIssues(depGraph, issues, issuesData, options === null || options === void 0 ? void 0 : options.supportUnmanagedVulnDB);
39
39
  return [dependencySection, issuesSection];
40
40
  }
41
41
  exports.selectDisplayStrategy = selectDisplayStrategy;
@@ -79,7 +79,7 @@ function displayDepsFilePaths(depsFilePaths, dependencyId) {
79
79
  }
80
80
  return result;
81
81
  }
82
- function displayIssues(depGraph, issues, issuesData) {
82
+ function displayIssues(depGraph, issues, issuesData, supportUnmanagedVulnDB = false) {
83
83
  const result = [];
84
84
  const dependencies = depGraph === null || depGraph === void 0 ? void 0 : depGraph.getDepPkgs();
85
85
  const dependenciesCountMsg = (dependencies === null || dependencies === void 0 ? void 0 : dependencies.length) == 1
@@ -93,9 +93,11 @@ function displayIssues(depGraph, issues, issuesData) {
93
93
  const { title, severity } = issuesData[vulnId];
94
94
  const color = common_1.getColorBySeverity(severity);
95
95
  const severityAndTitle = color(`\n ✗ [${common_1.capitalize(severity)}] ${title}`);
96
- const nvdUrl = `https://nvd.nist.gov/vuln/detail/${vulnId}`;
96
+ const vulnDetailsUrl = supportUnmanagedVulnDB
97
+ ? `https://security.snyk.io/vuln/${vulnId}`
98
+ : `https://nvd.nist.gov/vuln/detail/${vulnId}`;
97
99
  const introducedThrough = common_1.leftPad(`Introduced through: ${name}@${version}`);
98
- const urlText = common_1.leftPad(`URL: ${nvdUrl}`);
100
+ const urlText = common_1.leftPad(`URL: ${vulnDetailsUrl}`);
99
101
  result.push(severityAndTitle);
100
102
  result.push(introducedThrough);
101
103
  result.push(urlText);
@@ -106,11 +108,9 @@ function displayIssues(depGraph, issues, issuesData) {
106
108
  ? chalk.redBright(issuesCount)
107
109
  : chalk.greenBright(issuesCount);
108
110
  const identifiedUnmanagedDeps = `Tested ${dependenciesCountMsg} for known issues, found ${issuesFound}.\n`;
109
- const failedToIdentifyUnmanagedDeps = `Could not identify unmanaged dependencies to be tested.`;
110
- const endlineMsg = (dependencies === null || dependencies === void 0 ? void 0 : dependencies.length) > 0
111
- ? identifiedUnmanagedDeps
112
- : failedToIdentifyUnmanagedDeps;
113
- result.push(endlineMsg);
111
+ if ((dependencies === null || dependencies === void 0 ? void 0 : dependencies.length) > 0) {
112
+ result.push(identifiedUnmanagedDeps);
113
+ }
114
114
  return result;
115
115
  }
116
116
  exports.displayIssues = displayIssues;
@@ -1 +1 @@
1
- {"version":3,"file":"display.js","sourceRoot":"","sources":["../../lib/display/display.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAW/B,qCAAmE;AACnE,4CAA0C;AAE1C,SAAgB,iBAAiB,CAAC,WAAyB;IACzD,MAAM,MAAM,GAAa,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;IAC3D,KAAK,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,IAAI,WAAW,EAAE;QACxC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,KAAK,EAAE;YACjC,KAAK,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE;gBACvC,IAAI,IAAI,KAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBACpD,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;iBAC9C;aACF;SACF;KACF;IACD,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACjB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,8CAeC;AAED,SAAS,mBAAmB,CAC1B,QAAkB,EAClB,OAA4B,EAC5B,aAA6B,EAC7B,qBAA6C;IAE7C,MAAM,oBAAoB,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,KAAK,CAAC;IAC9E,MAAM,WAAW,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,KAAK,CAAC;IAEhE,IAAI,oBAAoB,EAAE;QACxB,OAAO,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,aAAa,CAAC,CAAC;KAC5E;SAAM,IAAI,WAAW,EAAE;QACtB,OAAO,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;KAC7D;IAED,OAAO,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAgB,qBAAqB,CACnC,OAA4B,EAC5B,QAAkB,EAClB,UAAsB;IAEtB,MAAM,EACJ,aAAa,EACb,MAAM,EACN,UAAU,EACV,qBAAqB,GACtB,GAAG,UAAU,CAAC;IACf,MAAM,iBAAiB,GAAG,mBAAmB,CAC3C,QAAQ,EACR,OAAO,EACP,aAAa,EACb,qBAAqB,CACtB,CAAC;IACF,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAClE,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;AAC5C,CAAC;AAnBD,sDAmBC;AAED,SAAgB,mBAAmB,CACjC,QAAkB,EAClB,qBAA6C,EAC7C,gBAA+B,EAAE;;IAEjC,IAAI,MAAM,GAAa,EAAE,CAAC;IAC1B,MAAM,YAAY,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,EAAE,CAAC;IAC5C,MAAM,eAAe,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,IAAG,CAAC,CAAC;IAEjD,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,MAAM,CAAC;KACf;IAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACpD,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,YAAY,EAAE;QAC5C,MAAM,YAAY,GAAG,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,KAAK,gBAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAE7C,IACE,qBAAqB,WACrB,qBAAqB,CAAC,YAAY,CAAC,0CAAE,UAAU,CAAA,EAC/C;YACA,MAAM,CAAC,IAAI,CACT,gBAAO,CACL,eAAe,qBAAqB,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,OAAO,CACnE,CAAC,CACF,EAAE,EACH,CAAC,CACF,CACF,CAAC;SACH;QAED,IAAI,CAAC,gBAAO,CAAC,aAAa,CAAC,EAAE;YAC3B,MAAM,0BAA0B,GAAG,oBAAoB,CACrD,aAAa,EACb,YAAY,CACb,CAAC;YACF,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,0BAA0B,CAAC,CAAC;SACrD;KACF;IAED,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACjB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AA7CD,kDA6CC;AAED,SAAS,oBAAoB,CAC3B,aAA4B,EAC5B,YAAoB;IAEpB,MAAM,yBAAyB,GAAG,CAAC,CAAC;IACpC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAChD,MAAM,kBAAkB,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,KAAK,CAC1D,CAAC,EACD,yBAAyB,CAC1B,CAAC;IAEF,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE;QAClD,MAAM,CAAC,IAAI,CAAC,gBAAO,CAAC,KAAK,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;KACnD;IAED,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAC1C,MAAM,CAAC,IAAI,CACT,gBAAO,CACL,WAAW,aAAa,CAAC,YAAY,CAAC,CAAC,MAAM;YAC3C,yBAAyB,aAAa,EACxC,CAAC,CACF,CACF,CAAC;KACH;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,aAAa,CAC3B,QAAkB,EAClB,MAAe,EACf,UAAsB;IAEtB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,YAAY,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,EAAE,CAAC;IAC5C,MAAM,oBAAoB,GACxB,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,KAAI,CAAC;QACvB,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,eAAe,CAAC;IAE7C,MAAM,WAAW,GACf,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,SAAS,CAAC;IAE7D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAEpC,IAAI,SAAS,EAAE;QACb,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1C,KAAK,MAAM,EACT,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,MAAM,GAChB,IAAI,MAAM,EAAE;YACX,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,2BAAkB,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,mBAAU,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;YAC1E,MAAM,MAAM,GAAG,oCAAoC,MAAM,EAAE,CAAC;YAC5D,MAAM,iBAAiB,GAAG,gBAAO,CAC/B,uBAAuB,IAAI,IAAI,OAAO,EAAE,CACzC,CAAC;YACF,MAAM,OAAO,GAAG,gBAAO,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACtB;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACjB;IAED,MAAM,WAAW,GAAG,SAAS;QAC3B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;QAC9B,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEnC,MAAM,uBAAuB,GAAG,UAAU,oBAAoB,4BAA4B,WAAW,KAAK,CAAC;IAC3G,MAAM,6BAA6B,GAAG,yDAAyD,CAAC;IAEhG,MAAM,UAAU,GACd,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,IAAG,CAAC;QACtB,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,6BAA6B,CAAC;IAEpC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAExB,OAAO,MAAM,CAAC;AAChB,CAAC;AAtDD,sCAsDC;AAED,SAAgB,aAAa,CAAC,MAAgB;IAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;KACxC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IACD,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACjB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAZD,sCAYC"}
1
+ {"version":3,"file":"display.js","sourceRoot":"","sources":["../../lib/display/display.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,15 @@ const chalk = require("chalk");
5
5
  const debug_1 = require("../debug");
6
6
  const dep_graph_1 = require("@snyk/dep-graph");
7
7
  const display_1 = require("./display");
8
+ const error_1 = require("../utils/error");
8
9
  async function display(scanResults, testResults, errors, options) {
10
+ if (errors.length > 0) {
11
+ error_1.exitWith(error_1.ExitCode.Error, display_1.displayErrors(errors).join('\n'));
12
+ }
13
+ const result = [];
14
+ let hasDependencies = false;
15
+ let hasVulnerabilities = false;
9
16
  try {
10
- const result = [];
11
17
  if (options === null || options === void 0 ? void 0 : options.path) {
12
18
  const prefix = chalk.bold.white(`\nTesting ${options.path}...\n`);
13
19
  result.push(prefix);
@@ -19,16 +25,27 @@ async function display(scanResults, testResults, errors, options) {
19
25
  for (const testResult of testResults) {
20
26
  const depGraph = dep_graph_1.createFromJSON(testResult.depGraphData);
21
27
  const [dependencySection, issuesSection] = display_1.selectDisplayStrategy(options, depGraph, testResult);
28
+ if (testResult.depGraphData.pkgs.length > 1) {
29
+ hasDependencies = true;
30
+ }
31
+ if (testResult.issues.length > 0) {
32
+ hasVulnerabilities = true;
33
+ }
22
34
  result.push(...dependencySection, ...issuesSection);
23
35
  }
24
- const errorLines = display_1.displayErrors(errors);
25
- result.push(...errorLines);
26
- return result.join('\n');
27
36
  }
28
37
  catch (error) {
29
- debug_1.debug(error.message || 'Error displaying results. ' + error);
30
- return 'Error displaying results.';
38
+ debug_1.debug(error.message || `Error displaying the results: ${error}`);
39
+ error_1.exitWith(error_1.ExitCode.Error, 'Error displaying results.');
40
+ }
41
+ if (hasVulnerabilities) {
42
+ error_1.exitWith(error_1.ExitCode.VulnerabilitiesFound, result.join('\n'));
43
+ }
44
+ if (!hasDependencies) {
45
+ result.push(`Could not detect supported target files in ${options === null || options === void 0 ? void 0 : options.path}`);
46
+ error_1.exitWith(error_1.ExitCode.NoSupportedFiles, result.join('\n'));
31
47
  }
48
+ return result.join('\n');
32
49
  }
33
50
  exports.display = display;
34
51
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/display/index.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,oCAAiC;AACjC,+CAAiD;AAEjD,uCAImB;AAEZ,KAAK,UAAU,OAAO,CAC3B,WAAyB,EACzB,WAAyB,EACzB,MAAgB,EAChB,OAAiB;IAEjB,IAAI;QACF,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE;YACjB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACrB;QACD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,EAAE;YAClB,MAAM,cAAc,GAAG,2BAAiB,CAAC,WAAW,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;SAChC;QACD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,QAAQ,GAAG,0BAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACzD,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAAG,+BAAqB,CAC9D,OAAO,EACP,QAAQ,EACR,UAAU,CACX,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,EAAE,GAAG,aAAa,CAAC,CAAC;SACrD;QACD,MAAM,UAAU,GAAG,uBAAa,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1B;IAAC,OAAO,KAAK,EAAE;QACd,aAAK,CAAC,KAAK,CAAC,OAAO,IAAI,4BAA4B,GAAG,KAAK,CAAC,CAAC;QAC7D,OAAO,2BAA2B,CAAC;KACpC;AACH,CAAC;AAjCD,0BAiCC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/display/index.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,oCAAiC;AACjC,+CAAiD;AAEjD,uCAImB;AACnB,0CAAoD;AAE7C,KAAK,UAAU,OAAO,CAC3B,WAAyB,EACzB,WAAyB,EACzB,MAAgB,EAChB,OAAiB;IAEjB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,gBAAQ,CAAC,gBAAQ,CAAC,KAAK,EAAE,uBAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAC5D;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAE/B,IAAI;QACF,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE;YACjB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACrB;QAED,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,EAAE;YAClB,MAAM,cAAc,GAAG,2BAAiB,CAAC,WAAW,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;SAChC;QAED,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,QAAQ,GAAG,0BAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACzD,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAAG,+BAAqB,CAC9D,OAAO,EACP,QAAQ,EACR,UAAU,CACX,CAAC;YAEF,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3C,eAAe,GAAG,IAAI,CAAC;aACxB;YAED,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChC,kBAAkB,GAAG,IAAI,CAAC;aAC3B;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,EAAE,GAAG,aAAa,CAAC,CAAC;SACrD;KACF;IAAC,OAAO,KAAK,EAAE;QACd,aAAK,CAAC,KAAK,CAAC,OAAO,IAAI,iCAAiC,KAAK,EAAE,CAAC,CAAC;QACjE,gBAAQ,CAAC,gBAAQ,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;KACvD;IAED,IAAI,kBAAkB,EAAE;QACtB,gBAAQ,CAAC,gBAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAC5D;IAED,IAAI,CAAC,eAAe,EAAE;QACpB,MAAM,CAAC,IAAI,CAAC,8CAA8C,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,gBAAQ,CAAC,gBAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACxD;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AA1DD,0BA0DC"}
package/dist/find.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  /// <reference types="node" />
2
2
  import * as fs from 'fs';
3
- export declare const stat: typeof fs.stat.__promisify__;
3
+ export declare const stat: typeof fs.lstat.__promisify__;
4
4
  export declare function find(src: string): Promise<string[]>;
package/dist/find.js CHANGED
@@ -7,7 +7,7 @@ const util_1 = require("util");
7
7
  const common_1 = require("./common");
8
8
  const debug_1 = require("./debug");
9
9
  const readdir = util_1.promisify(fs.readdir);
10
- exports.stat = util_1.promisify(fs.stat);
10
+ exports.stat = util_1.promisify(fs.lstat);
11
11
  async function find(src) {
12
12
  const result = [];
13
13
  await traverse(src, (filePath, stats) => {
@@ -22,6 +22,9 @@ exports.find = find;
22
22
  async function traverse(src, handle) {
23
23
  try {
24
24
  const stats = await exports.stat(src);
25
+ if (stats.isSymbolicLink()) {
26
+ return;
27
+ }
25
28
  if (!stats.isDirectory()) {
26
29
  handle(src, stats);
27
30
  return;
package/dist/find.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"find.js","sourceRoot":"","sources":["../lib/find.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,+BAA4B;AAC5B,+BAAiC;AACjC,qCAAmD;AACnD,mCAAgC;AAEhC,MAAM,OAAO,GAAG,gBAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AACzB,QAAA,IAAI,GAAG,gBAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAMhC,KAAK,UAAU,IAAI,CAAC,GAAW;IACpC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAgB,EAAE,KAAe,EAAE,EAAE;QACxD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,GAAG,gCAAuB,EAAE;YAC3D,OAAO;SACR;QAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAZD,oBAYC;AAED,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,MAAmB;IACtD,IAAI;QACF,MAAM,KAAK,GAAG,MAAM,YAAI,CAAC,GAAG,CAAC,CAAC;QAE9B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;YACxB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACnB,OAAO;SACR;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;QAEnC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YAC3B,MAAM,QAAQ,GAAG,WAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAElC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAClC;KACF;IAAC,OAAO,KAAK,EAAE;QACd,aAAK,CAAC,KAAK,CAAC,OAAO,IAAI,sBAAsB,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC;KAC/D;AACH,CAAC"}
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../lib/find.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,+BAA4B;AAC5B,+BAAiC;AACjC,qCAAmD;AACnD,mCAAgC;AAEhC,MAAM,OAAO,GAAG,gBAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AACzB,QAAA,IAAI,GAAG,gBAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAMjC,KAAK,UAAU,IAAI,CAAC,GAAW;IACpC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAgB,EAAE,KAAe,EAAE,EAAE;QACxD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,GAAG,gCAAuB,EAAE;YAC3D,OAAO;SACR;QAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAZD,oBAYC;AAED,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,MAAmB;IACtD,IAAI;QACF,MAAM,KAAK,GAAG,MAAM,YAAI,CAAC,GAAG,CAAC,CAAC;QAE9B,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE;YAC1B,OAAO;SACR;QAED,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;YACxB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACnB,OAAO;SACR;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;QAEnC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YAC3B,MAAM,QAAQ,GAAG,WAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAElC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAClC;KACF;IAAC,OAAO,KAAK,EAAE;QACd,aAAK,CAAC,KAAK,CAAC,OAAO,IAAI,sBAAsB,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC;KAC/D;AACH,CAAC"}
package/dist/types.d.ts CHANGED
@@ -43,6 +43,7 @@ export interface Options {
43
43
  projectName?: string;
44
44
  'print-deps'?: boolean;
45
45
  'print-dep-paths'?: boolean;
46
+ supportUnmanagedVulnDB?: boolean;
46
47
  }
47
48
  export interface Issue {
48
49
  pkgName: string;
@@ -0,0 +1,6 @@
1
+ export declare enum ExitCode {
2
+ VulnerabilitiesFound = "VULNS",
3
+ Error = 2,
4
+ NoSupportedFiles = 3
5
+ }
6
+ export declare function exitWith(exitCode: ExitCode, message: string): void;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.exitWith = exports.ExitCode = void 0;
4
+ var ExitCode;
5
+ (function (ExitCode) {
6
+ ExitCode["VulnerabilitiesFound"] = "VULNS";
7
+ ExitCode[ExitCode["Error"] = 2] = "Error";
8
+ ExitCode[ExitCode["NoSupportedFiles"] = 3] = "NoSupportedFiles";
9
+ })(ExitCode = exports.ExitCode || (exports.ExitCode = {}));
10
+ function exitWith(exitCode, message) {
11
+ const err = new Error();
12
+ err.message = message;
13
+ err.code = exitCode.valueOf();
14
+ throw err;
15
+ }
16
+ exports.exitWith = exitWith;
17
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../lib/utils/error.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,0CAA8B,CAAA;IAC9B,yCAAS,CAAA;IACT,+DAAoB,CAAA;AACtB,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB;AAED,SAAgB,QAAQ,CAAC,QAAkB,EAAE,OAAe;IAC1D,MAAM,GAAG,GAAG,IAAI,KAAK,EAAS,CAAC;IAC/B,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACtB,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IAE9B,MAAM,GAAG,CAAC;AACZ,CAAC;AAND,4BAMC"}
package/package.json CHANGED
@@ -40,17 +40,18 @@
40
40
  "@types/debug": "^4.1.5",
41
41
  "@types/hosted-git-info": "^3.0.1",
42
42
  "@types/jest": "^25.2.3",
43
- "@types/node": "^10",
43
+ "@types/node": "^10.17.60",
44
44
  "@typescript-eslint/eslint-plugin": "^3.8.0",
45
45
  "@typescript-eslint/parser": "^3.8.0",
46
46
  "eslint": "^6.8.0",
47
47
  "eslint-config-prettier": "^6.11.0",
48
48
  "jest": "^25.5.4",
49
+ "os-name": "^3.0.0",
49
50
  "prettier": "^1.19.1",
50
51
  "ts-jest": "^25.5.1",
51
52
  "ts-node": "^10",
52
53
  "tsc-watch": "^4.2.9",
53
54
  "typescript": "^3.9.7"
54
55
  },
55
- "version": "2.14.1"
56
+ "version": "2.15.3"
56
57
  }