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.
- package/dist/child-process.d.ts +7 -0
- package/dist/child-process.js +25 -0
- package/dist/child-process.js.map +1 -0
- package/dist/debug.d.ts +2 -0
- package/dist/debug.js +6 -0
- package/dist/debug.js.map +1 -0
- package/dist/display.js +4 -5
- package/dist/display.js.map +1 -1
- package/dist/find.js +16 -12
- package/dist/find.js.map +1 -1
- package/dist/git.d.ts +2 -0
- package/dist/git.js +23 -0
- package/dist/git.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/scan.d.ts +2 -2
- package/dist/scan.js +21 -6
- package/dist/scan.js.map +1 -1
- package/dist/types.d.ts +22 -9
- package/package.json +3 -1
|
@@ -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"}
|
package/dist/debug.d.ts
ADDED
package/dist/debug.js
ADDED
|
@@ -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 {
|
|
11
|
-
for (const { data = [] } of
|
|
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
|
}
|
package/dist/display.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.js","sourceRoot":"","sources":["../lib/display.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,+CAA2D;AAC3D,
|
|
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
|
|
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
|
|
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 =
|
|
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 =
|
|
17
|
+
const paths = await readdir(dir);
|
|
16
18
|
for (const relativePath of paths) {
|
|
17
|
-
const absolutePath =
|
|
19
|
+
const absolutePath = path_1.join(dir, relativePath);
|
|
18
20
|
try {
|
|
19
|
-
const
|
|
20
|
-
if (
|
|
21
|
+
const fileStat = await stat(absolutePath);
|
|
22
|
+
if (fileStat.isDirectory()) {
|
|
21
23
|
const subFiles = await find(absolutePath);
|
|
22
|
-
|
|
24
|
+
for (const file of subFiles) {
|
|
25
|
+
result.push(file);
|
|
26
|
+
}
|
|
23
27
|
}
|
|
24
|
-
if (
|
|
25
|
-
const ext =
|
|
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
|
|
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
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
|
package/dist/git.js.map
ADDED
|
@@ -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 {
|
|
4
|
-
export {
|
|
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 {
|
|
2
|
-
export declare function scan(options: Options): Promise<
|
|
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
|
|
25
|
-
|
|
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
|
-
|
|
30
|
-
|
|
38
|
+
facts,
|
|
39
|
+
identity: {
|
|
40
|
+
type: 'cpp',
|
|
41
|
+
},
|
|
42
|
+
name,
|
|
43
|
+
target,
|
|
31
44
|
},
|
|
32
45
|
];
|
|
33
|
-
return
|
|
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;
|
|
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
|
|
4
|
-
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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": "
|
|
54
|
+
"version": "2.2.1"
|
|
53
55
|
}
|