snyk-cpp-plugin 1.5.0 → 2.2.1

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.
@@ -0,0 +1,7 @@
1
+ /// <reference types="node" />
2
+ import * as childProcess from 'child_process';
3
+ export declare function spawn(command: string, args?: string[], options?: childProcess.SpawnOptions): Promise<{
4
+ code: number;
5
+ stdout: string;
6
+ stderr: string;
7
+ }>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.spawn = void 0;
4
+ const childProcess = require("child_process");
5
+ async function spawn(command, args, options) {
6
+ return new Promise((resolve, reject) => {
7
+ let stdout = '';
8
+ let stderr = '';
9
+ const process = childProcess.spawn(command, args, options);
10
+ process.stdout.on('data', (data) => {
11
+ stdout += data;
12
+ });
13
+ process.stderr.on('data', (data) => {
14
+ stderr += data;
15
+ });
16
+ process.on('close', (code) => {
17
+ resolve({ code, stdout, stderr });
18
+ });
19
+ process.on('error', (err) => {
20
+ reject(err);
21
+ });
22
+ });
23
+ }
24
+ exports.spawn = spawn;
25
+ //# sourceMappingURL=child-process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"child-process.js","sourceRoot":"","sources":["../lib/child-process.ts"],"names":[],"mappings":";;;AAAA,8CAA8C;AAEvC,KAAK,UAAU,KAAK,CACzB,OAAe,EACf,IAAe,EACf,OAAmC;IAMnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3D,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAqB,EAAE,EAAE;YAClD,MAAM,IAAI,IAAI,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAqB,EAAE,EAAE;YAClD,MAAM,IAAI,IAAI,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE;YACnC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC1B,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AA1BD,sBA0BC"}
@@ -0,0 +1,2 @@
1
+ /// <reference types="debug" />
2
+ export declare const debug: import("debug").Debugger;
package/dist/debug.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.debug = void 0;
4
+ const debug_1 = require("debug");
5
+ exports.debug = debug_1.default('snyk-cpp-plugin');
6
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../lib/debug.ts"],"names":[],"mappings":";;;AAAA,iCAA0B;AAEb,QAAA,KAAK,GAAG,eAAK,CAAC,iBAAiB,CAAC,CAAC"}
package/dist/display.js CHANGED
@@ -3,12 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.display = void 0;
4
4
  const chalk = require("chalk");
5
5
  const dep_graph_1 = require("@snyk/dep-graph");
6
- const debug_1 = require("debug");
7
- const debug = debug_1.default('snyk-cpp-plugin');
6
+ const debug_1 = require("./debug");
8
7
  function displayFingerprints(scanResults) {
9
8
  const result = [];
10
- for (const { artifacts = [] } of scanResults) {
11
- for (const { data = [] } of artifacts) {
9
+ for (const { facts = [] } of scanResults) {
10
+ for (const { data = [] } of facts) {
12
11
  for (const { filePath, hash } of data) {
13
12
  if (filePath && hash) {
14
13
  if (!result.length) {
@@ -114,7 +113,7 @@ async function display(scanResults, testResults, errors, options) {
114
113
  return result.join('\n');
115
114
  }
116
115
  catch (error) {
117
- debug(error.message || 'Error displaying results. ' + error);
116
+ debug_1.debug(error.message || 'Error displaying results. ' + error);
118
117
  return 'Error displaying results.';
119
118
  }
120
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"display.js","sourceRoot":"","sources":["../lib/display.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"display.js","sourceRoot":"","sources":["../lib/display.ts"],"names":[],"mappings":"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"}
package/dist/find.js CHANGED
@@ -2,34 +2,38 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.find = void 0;
4
4
  const fs = require("fs");
5
- const path = require("path");
5
+ const path_1 = require("path");
6
+ const util_1 = require("util");
6
7
  const types_1 = require("./types");
7
- const debug_1 = require("debug");
8
- const debug = debug_1.default('snyk-cpp-plugin');
8
+ const debug_1 = require("./debug");
9
+ const readdir = util_1.promisify(fs.readdir);
10
+ const stat = util_1.promisify(fs.stat);
9
11
  async function find(dir) {
10
12
  const result = [];
11
- const dirStat = fs.statSync(dir);
13
+ const dirStat = await stat(dir);
12
14
  if (!dirStat.isDirectory()) {
13
15
  throw new Error(`${dir} is not a directory`);
14
16
  }
15
- const paths = fs.readdirSync(dir);
17
+ const paths = await readdir(dir);
16
18
  for (const relativePath of paths) {
17
- const absolutePath = path.join(dir, relativePath);
19
+ const absolutePath = path_1.join(dir, relativePath);
18
20
  try {
19
- const stat = fs.statSync(absolutePath);
20
- if (stat.isDirectory()) {
21
+ const fileStat = await stat(absolutePath);
22
+ if (fileStat.isDirectory()) {
21
23
  const subFiles = await find(absolutePath);
22
- result.push(...subFiles);
24
+ for (const file of subFiles) {
25
+ result.push(file);
26
+ }
23
27
  }
24
- if (stat.isFile()) {
25
- const ext = path.extname(absolutePath);
28
+ if (fileStat.isFile()) {
29
+ const ext = path_1.extname(absolutePath);
26
30
  if (types_1.SupportFileExtensions.includes(ext)) {
27
31
  result.push(absolutePath);
28
32
  }
29
33
  }
30
34
  }
31
35
  catch (error) {
32
- debug(error.message || `Error reading file ${relativePath}. ${error}`);
36
+ debug_1.debug(error.message || `Error reading file ${relativePath}. ${error}`);
33
37
  }
34
38
  }
35
39
  return result;
package/dist/find.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"find.js","sourceRoot":"","sources":["../lib/find.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,6BAA6B;AAC7B,mCAAgD;AAChD,iCAA0B;AAE1B,MAAM,KAAK,GAAG,eAAK,CAAC,iBAAiB,CAAC,CAAC;AAEhC,KAAK,UAAU,IAAI,CAAC,GAAW;IACpC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,qBAAqB,CAAC,CAAC;KAC9C;IAED,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAElC,KAAK,MAAM,YAAY,IAAI,KAAK,EAAE;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAClD,IAAI;YACF,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;gBACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;aAC1B;YACD,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBACjB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACvC,IAAI,6BAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACvC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAC3B;aACF;SACF;QAAC,OAAO,KAAK,EAAE;YACd,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,sBAAsB,YAAY,KAAK,KAAK,EAAE,CAAC,CAAC;SACxE;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AA9BD,oBA8BC"}
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../lib/find.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,+BAAqC;AACrC,+BAAiC;AACjC,mCAAgD;AAChD,mCAAgC;AAEhC,MAAM,OAAO,GAAG,gBAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AACtC,MAAM,IAAI,GAAG,gBAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAEzB,KAAK,UAAU,IAAI,CAAC,GAAW;IACpC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,qBAAqB,CAAC,CAAC;KAC9C;IAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAEjC,KAAK,MAAM,YAAY,IAAI,KAAK,EAAE;QAChC,MAAM,YAAY,GAAG,WAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC7C,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1C,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE;gBAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;oBAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACnB;aACF;YACD,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE;gBACrB,MAAM,GAAG,GAAG,cAAO,CAAC,YAAY,CAAC,CAAC;gBAClC,IAAI,6BAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACvC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAC3B;aACF;SACF;QAAC,OAAO,KAAK,EAAE;YACd,aAAK,CAAC,KAAK,CAAC,OAAO,IAAI,sBAAsB,YAAY,KAAK,KAAK,EAAE,CAAC,CAAC;SACxE;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAhCD,oBAgCC"}
package/dist/git.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import { GitTarget } from './types';
2
+ export declare function getTarget(): Promise<GitTarget>;
package/dist/git.js ADDED
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTarget = void 0;
4
+ const child_process_1 = require("./child-process");
5
+ async function getTarget() {
6
+ try {
7
+ const remote = await child_process_1.spawn('git', ['remote', 'get-url', 'origin']);
8
+ const revParse = await child_process_1.spawn('git', ['rev-parse', '--abbrev-ref', 'HEAD']);
9
+ return {
10
+ remoteUrl: remote.stdout.trim(),
11
+ branch: revParse.stdout.trim(),
12
+ };
13
+ }
14
+ catch (err) {
15
+ // when git is not installed
16
+ return {
17
+ remoteUrl: '',
18
+ branch: '',
19
+ };
20
+ }
21
+ }
22
+ exports.getTarget = getTarget;
23
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../lib/git.ts"],"names":[],"mappings":";;;AACA,mDAAwC;AAEjC,KAAK,UAAU,SAAS;IAC7B,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,qBAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,MAAM,qBAAK,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3E,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE;SAC/B,CAAC;KACH;IAAC,OAAO,GAAG,EAAE;QACZ,4BAA4B;QAC5B,OAAO;YACL,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,EAAE;SACX,CAAC;KACH;AACH,CAAC;AAfD,8BAeC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import { display } from './display';
2
2
  import { scan } from './scan';
3
- import { Artifact, Fingerprint, Options, TestResult, ScanResult, SupportFileExtensions } from './types';
4
- export { Artifact, Fingerprint, Options, TestResult, ScanResult, SupportFileExtensions, display, scan, };
3
+ import { PluginResponse, Fingerprint, Options, TestResult, ScanResult, SupportFileExtensions } from './types';
4
+ export { PluginResponse, Fingerprint, Options, TestResult, ScanResult, SupportFileExtensions, display, scan, };
package/dist/scan.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { ScanResult, Options } from './types';
2
- export declare function scan(options: Options): Promise<ScanResult[]>;
1
+ import { Options, PluginResponse } from './types';
2
+ export declare function scan(options: Options): Promise<PluginResponse>;
package/dist/scan.js CHANGED
@@ -2,10 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.scan = void 0;
4
4
  const fs = require("fs");
5
+ const hosted_git_info_1 = require("hosted-git-info");
6
+ const path = require("path");
5
7
  const find_1 = require("./find");
8
+ const git_1 = require("./git");
6
9
  const hash_1 = require("./hash");
10
+ const debug_1 = require("./debug");
7
11
  async function scan(options) {
8
12
  try {
13
+ debug_1.debug('options %o', options);
9
14
  if (!options.path) {
10
15
  throw 'invalid options no path provided.';
11
16
  }
@@ -13,6 +18,7 @@ async function scan(options) {
13
18
  throw `'${options.path}' does not exist.`;
14
19
  }
15
20
  const filePaths = await find_1.find(options.path);
21
+ debug_1.debug('%d files found', filePaths.length);
16
22
  const fingerprints = [];
17
23
  for (const filePath of filePaths) {
18
24
  const md5 = await hash_1.hash(filePath);
@@ -21,16 +27,25 @@ async function scan(options) {
21
27
  hash: md5,
22
28
  });
23
29
  }
24
- const artifacts = [
25
- { type: 'cpp-fingerprints', data: fingerprints, meta: {} },
26
- ];
30
+ const facts = [{ type: 'cpp-fingerprints', data: fingerprints }];
31
+ const target = await git_1.getTarget();
32
+ debug_1.debug('target %o', target);
33
+ const gitInfo = hosted_git_info_1.fromUrl(target.remoteUrl);
34
+ const name = options.projectName || (gitInfo === null || gitInfo === void 0 ? void 0 : gitInfo.project) || path.basename(options.path);
35
+ debug_1.debug('name %o', name);
27
36
  const scanResults = [
28
37
  {
29
- artifacts,
30
- meta: {},
38
+ facts,
39
+ identity: {
40
+ type: 'cpp',
41
+ },
42
+ name,
43
+ target,
31
44
  },
32
45
  ];
33
- return scanResults;
46
+ return {
47
+ scanResults,
48
+ };
34
49
  }
35
50
  catch (error) {
36
51
  throw new Error(`Could not scan C/C++ project, ${error}`);
package/dist/scan.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../lib/scan.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,iCAA8B;AAC9B,iCAA8B;AAGvB,KAAK,UAAU,IAAI,CAAC,OAAgB;IACzC,IAAI;QACF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACjB,MAAM,mCAAmC,CAAC;SAC3C;QACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAChC,MAAM,IAAI,OAAO,CAAC,IAAI,mBAAmB,CAAC;SAC3C;QACD,MAAM,SAAS,GAAG,MAAM,WAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAkB,EAAE,CAAC;QACvC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAChC,MAAM,GAAG,GAAG,MAAM,WAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC;gBAChB,QAAQ;gBACR,IAAI,EAAE,GAAG;aACV,CAAC,CAAC;SACJ;QACD,MAAM,SAAS,GAAe;YAC5B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE;SAC3D,CAAC;QACF,MAAM,WAAW,GAAiB;YAChC;gBACE,SAAS;gBACT,IAAI,EAAE,EAAE;aACT;SACF,CAAC;QACF,OAAO,WAAW,CAAC;KACpB;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;KAC3D;AACH,CAAC;AA9BD,oBA8BC"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../lib/scan.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,qDAA0C;AAC1C,6BAA6B;AAC7B,iCAA8B;AAC9B,+BAAkC;AAClC,iCAA8B;AAC9B,mCAAgC;AASzB,KAAK,UAAU,IAAI,CAAC,OAAgB;IACzC,IAAI;QACF,aAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACjB,MAAM,mCAAmC,CAAC;SAC3C;QACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAChC,MAAM,IAAI,OAAO,CAAC,IAAI,mBAAmB,CAAC;SAC3C;QACD,MAAM,SAAS,GAAG,MAAM,WAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,aAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAkB,EAAE,CAAC;QACvC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAChC,MAAM,GAAG,GAAG,MAAM,WAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC;gBAChB,QAAQ;gBACR,IAAI,EAAE,GAAG;aACV,CAAC,CAAC;SACJ;QACD,MAAM,KAAK,GAAY,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,eAAS,EAAE,CAAC;QACjC,aAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,yBAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,IAAI,GACR,OAAO,CAAC,WAAW,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzE,aAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvB,MAAM,WAAW,GAAiB;YAChC;gBACE,KAAK;gBACL,QAAQ,EAAE;oBACR,IAAI,EAAE,KAAK;iBACZ;gBACD,IAAI;gBACJ,MAAM;aACP;SACF,CAAC;QACF,OAAO;YACL,WAAW;SACZ,CAAC;KACH;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;KAC3D;AACH,CAAC;AA1CD,oBA0CC"}
package/dist/types.d.ts CHANGED
@@ -1,18 +1,30 @@
1
1
  import { DepGraphData } from '@snyk/dep-graph';
2
2
  export declare const SupportFileExtensions: string[];
3
- export interface Artifact {
4
- type: string;
5
- data: any;
6
- meta: {
7
- [key: string]: any;
8
- };
3
+ export interface PluginResponse {
4
+ scanResults: ScanResult[];
9
5
  }
10
6
  export interface ScanResult {
11
- artifacts: Artifact[];
12
- meta: {
13
- [key: string]: any;
7
+ identity: Identity;
8
+ facts: Facts[];
9
+ name?: string;
10
+ policy?: string;
11
+ target: GitTarget;
12
+ }
13
+ export interface Identity {
14
+ type: string;
15
+ targetFile?: string;
16
+ args?: {
17
+ [key: string]: string;
14
18
  };
15
19
  }
20
+ export interface Facts {
21
+ type: string;
22
+ data: any;
23
+ }
24
+ export interface GitTarget {
25
+ remoteUrl: string;
26
+ branch: string;
27
+ }
16
28
  export interface Fingerprint {
17
29
  filePath: string;
18
30
  hash: string;
@@ -20,6 +32,7 @@ export interface Fingerprint {
20
32
  export interface Options {
21
33
  path: string;
22
34
  debug?: boolean;
35
+ projectName?: string;
23
36
  }
24
37
  export interface Issue {
25
38
  pkgName: string;
package/package.json CHANGED
@@ -32,10 +32,12 @@
32
32
  "@snyk/dep-graph": "^1.19.3",
33
33
  "chalk": "^4.1.0",
34
34
  "debug": "^4.1.1",
35
+ "hosted-git-info": "^3.0.7",
35
36
  "tslib": "^2.0.0"
36
37
  },
37
38
  "devDependencies": {
38
39
  "@types/debug": "^4.1.5",
40
+ "@types/hosted-git-info": "^3.0.1",
39
41
  "@types/jest": "^25.2.3",
40
42
  "@types/node": "^8.10.62",
41
43
  "@typescript-eslint/eslint-plugin": "^3.8.0",
@@ -49,5 +51,5 @@
49
51
  "tsc-watch": "^4.2.9",
50
52
  "typescript": "^3.9.7"
51
53
  },
52
- "version": "1.5.0"
54
+ "version": "2.2.1"
53
55
  }