@appland/scanner 1.49.1 → 1.50.0
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/README.md +7 -1
- package/built/cli/ci/command.js +9 -3
- package/built/cli/ci/command.js.map +1 -1
- package/built/cli/codeVersionArgs.js +18 -0
- package/built/cli/codeVersionArgs.js.map +1 -0
- package/built/cli/scan/command.js +15 -35
- package/built/cli/scan/command.js.map +1 -1
- package/built/cli/upload/command.js +9 -9
- package/built/cli/upload/command.js.map +1 -1
- package/built/cli/upload.js +72 -37
- package/built/cli/upload.js.map +1 -1
- package/built/integration/vars.js +11 -2
- package/built/integration/vars.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -65,7 +65,7 @@ documentation for each rule to see it's pattern filters and other configurable p
|
|
|
65
65
|
|
|
66
66
|
To enable de-duplication of findings, a hash is calculated for each finding. The hash is the
|
|
67
67
|
`sha256` digest of a canonical content string for the finding. The canonical content string combines
|
|
68
|
-
stable data from the finding, such as the rule id, normalized event, etc. See
|
|
68
|
+
stable data from the finding, such as the rule id, normalized event, etc. See
|
|
69
69
|
[appmap-js/packages/models/src/event/hash.js](https://github.com/applandinc/appmap-js/blob/959a8c93c9be37d40a8f4a0e7d44ee211730641e/packages/models/src/event/hash.js)
|
|
70
70
|
for details.
|
|
71
71
|
|
|
@@ -388,6 +388,12 @@ When using Appmap Scanner in CI you can post findings summary as a commit status
|
|
|
388
388
|
yarn run scan-ci
|
|
389
389
|
```
|
|
390
390
|
|
|
391
|
+
When uploading findings to [app.land](https://app.land), branch and commit information will be
|
|
392
|
+
resolved from the environment if possible. If we do not yet support your CI provider or you have a
|
|
393
|
+
non-standard configuration, you may provide your own overrides using the `-b` (branch) and `-c`
|
|
394
|
+
(commit) options to the `upload` and `ci` commands. Note that this is only necessary when Git is in
|
|
395
|
+
a detached HEAD state.
|
|
396
|
+
|
|
391
397
|
## Development
|
|
392
398
|
|
|
393
399
|
### Using a local branch of `@appland/models`
|
package/built/cli/ci/command.js
CHANGED
|
@@ -73,11 +73,13 @@ var scanArgs_1 = __importDefault(require("../scanArgs"));
|
|
|
73
73
|
var updateCommitStatus_1 = __importDefault(require("../updateCommitStatus"));
|
|
74
74
|
var reportUploadURL_1 = __importDefault(require("../reportUploadURL"));
|
|
75
75
|
var fail_1 = __importDefault(require("../fail"));
|
|
76
|
+
var codeVersionArgs_1 = __importDefault(require("../codeVersionArgs"));
|
|
76
77
|
exports.default = {
|
|
77
78
|
command: 'ci',
|
|
78
79
|
describe: 'Scan AppMaps, report findings to AppMap Server, and update SCM status',
|
|
79
80
|
builder: function (args) {
|
|
80
81
|
(0, scanArgs_1.default)(args);
|
|
82
|
+
(0, codeVersionArgs_1.default)(args);
|
|
81
83
|
args.option('fail', {
|
|
82
84
|
describe: 'exit with non-zero status if there are any new findings',
|
|
83
85
|
default: false,
|
|
@@ -100,11 +102,11 @@ exports.default = {
|
|
|
100
102
|
},
|
|
101
103
|
handler: function (options) {
|
|
102
104
|
return __awaiter(this, void 0, void 0, function () {
|
|
103
|
-
var _a, appmapDir, config, isVerbose, failOption, appIdArg, reportFile, doUpload, updateCommitStatusOption, mergeKey, glob, files, appId, configData, scanner, _b, rawScanResults, findingStatuses, scanResults, uploadResponse, err_1;
|
|
105
|
+
var _a, appmapDir, config, isVerbose, failOption, appIdArg, reportFile, doUpload, updateCommitStatusOption, mergeKey, commit, branch, environment, glob, files, appId, configData, scanner, _b, rawScanResults, findingStatuses, scanResults, uploadResponse, err_1;
|
|
104
106
|
return __generator(this, function (_c) {
|
|
105
107
|
switch (_c.label) {
|
|
106
108
|
case 0:
|
|
107
|
-
_a = options, appmapDir = _a.appmapDir, config = _a.config, isVerbose = _a.verbose, failOption = _a.fail, appIdArg = _a.app, reportFile = _a.reportFile, doUpload = _a.upload, updateCommitStatusOption = _a.updateCommitStatus, mergeKey = _a.mergeKey;
|
|
109
|
+
_a = options, appmapDir = _a.appmapDir, config = _a.config, isVerbose = _a.verbose, failOption = _a.fail, appIdArg = _a.app, reportFile = _a.reportFile, doUpload = _a.upload, updateCommitStatusOption = _a.updateCommitStatus, mergeKey = _a.mergeKey, commit = _a.commit, branch = _a.branch, environment = _a.environment;
|
|
108
110
|
if (isVerbose) {
|
|
109
111
|
(0, util_2.verbose)(true);
|
|
110
112
|
}
|
|
@@ -142,7 +144,11 @@ exports.default = {
|
|
|
142
144
|
(0, findingsReport_1.default)(scanResults.findings, scanResults.appMapMetadata);
|
|
143
145
|
(0, summaryReport_1.default)(scanResults, true);
|
|
144
146
|
if (!doUpload) return [3 /*break*/, 10];
|
|
145
|
-
return [4 /*yield*/, (0, upload_1.default)(rawScanResults, appId, mergeKey, {
|
|
147
|
+
return [4 /*yield*/, (0, upload_1.default)(rawScanResults, appId, appmapDir, mergeKey, {
|
|
148
|
+
branch: branch,
|
|
149
|
+
commit: commit,
|
|
150
|
+
environment: environment,
|
|
151
|
+
}, {
|
|
146
152
|
maxRetries: 3,
|
|
147
153
|
})];
|
|
148
154
|
case 9:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/cli/ci/command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA4C;AAC5C,wCAAwC;AACxC,6BAAiC;AAKjC,mFAA4E;AAC5E,uCAA2D;AAE3D,6CAA+C;AAC/C,2CAA6C;AAC7C,+EAAyD;AACzD,6EAAuD;AAEvD,wCAAuC;AACvC,iEAA2C;AAC3C,iEAA2C;AAC3C,qDAA+B;AAC/B,4DAA0D;AAG1D,yDAAmC;AACnC,6EAAuD;AACvD,uEAAiD;AACjD,iDAA2B;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/cli/ci/command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA4C;AAC5C,wCAAwC;AACxC,6BAAiC;AAKjC,mFAA4E;AAC5E,uCAA2D;AAE3D,6CAA+C;AAC/C,2CAA6C;AAC7C,+EAAyD;AACzD,6EAAuD;AAEvD,wCAAuC;AACvC,iEAA2C;AAC3C,iEAA2C;AAC3C,qDAA+B;AAC/B,4DAA0D;AAG1D,yDAAmC;AACnC,6EAAuD;AACvD,uEAAiD;AACjD,iDAA2B;AAC3B,uEAAiD;AAEjD,kBAAe;IACb,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,uEAAuE;IACjF,OAAO,EAAP,UAAQ,IAAU;QAChB,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAC;QACf,IAAA,yBAAe,EAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,QAAQ,EAAE,yDAAyD;YACnE,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE;YAClC,QAAQ,EAAE,oCAAoC;YAC9C,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACpB,QAAQ,EAAE,kCAAkC;YAC5C,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YACvB,QAAQ,EAAE,8EAA8E;SACzF,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IACK,OAAO,EAAb,UAAc,OAAkB;;;;;;wBACxB,KAaF,OAAoC,EAZtC,SAAS,eAAA,EACT,MAAM,YAAA,EACG,SAAS,aAAA,EACZ,UAAU,UAAA,EACX,QAAQ,SAAA,EACb,UAAU,gBAAA,EACF,QAAQ,YAAA,EACI,wBAAwB,wBAAA,EAC5C,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,MAAM,YAAA,EACN,WAAW,iBAAA,CAC4B;wBAEzC,IAAI,SAAS,EAAE;4BACb,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC;yBACf;;;;wBAGC,IAAI,CAAC,SAAS,EAAE;4BACd,MAAM,IAAI,wBAAe,CAAC,0BAA0B,CAAC,CAAC;yBACvD;wBAED,qBAAM,IAAA,sBAAY,EAAC,WAAW,EAAE,SAAU,CAAC,EAAA;;wBAA3C,SAA2C,CAAC;wBACtC,IAAI,GAAG,IAAA,gBAAS,EAAC,WAAY,CAAC,CAAC;wBACvB,qBAAM,IAAI,CAAI,SAAS,sBAAmB,CAAC,EAAA;;wBAAnD,KAAK,GAAG,SAA2C;wBAE3C,qBAAM,IAAA,sBAAY,EAAC,QAAQ,EAAE,SAAS,CAAC,EAAA;;wBAA/C,KAAK,GAAG,SAAuC;wBAElC,qBAAM,IAAA,uCAAe,EAAC,MAAM,CAAC,EAAA;;wBAA1C,UAAU,GAAG,SAA6B;wBAEhC,qBAAM,IAAA,iBAAY,EAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,EAAA;;wBAAtD,OAAO,GAAG,SAA4C;wBAG1D,qBAAM,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,EAAA;;wBADhF,KAAA,sBACJ,SAAoF,KAAA,EAD/E,cAAc,QAAA,EAAE,eAAe,QAAA;wBAGtC,6BAA6B;wBAC7B,qBAAM,IAAA,oBAAS,EAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAA;;wBADpE,6BAA6B;wBAC7B,SAAoE,CAAC;wBAE/D,WAAW,GAAG,cAAc,CAAC,YAAY,CAC7C,IAAA,sBAAW,EAAC,cAAc,CAAC,QAAQ,EAAE,eAAe,CAAC,CACtD,CAAC;wBAEF,IAAA,wBAAc,EAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;wBACjE,IAAA,uBAAa,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;6BAE7B,QAAQ,EAAR,yBAAQ;wBACa,qBAAM,IAAA,gBAAM,EACjC,cAAc,EACd,KAAK,EACL,SAAS,EACT,QAAQ,EACR;gCACE,MAAM,QAAA;gCACN,MAAM,QAAA;gCACN,WAAW,aAAA;6BACZ,EACD;gCACE,UAAU,EAAE,CAAC;6BACd,CACF,EAAA;;wBAbK,cAAc,GAAG,SAatB;wBACD,IAAA,yBAAe,EAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;;;6BAGtE,wBAAwB,EAAxB,yBAAwB;wBAC1B,qBAAM,IAAA,4BAAkB,EAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAA;;wBAApF,SAAoF,CAAC;;;wBAGvF,IAAI,UAAU,EAAE;4BACd,IAAA,cAAI,EAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;yBACnC;;;;wBAED,IAAI,KAAG,YAAY,wBAAe,EAAE;4BAClC,OAAO,CAAC,IAAI,CAAC,KAAG,CAAC,OAAO,CAAC,CAAC;4BAC1B,sBAAO,OAAO,CAAC,IAAI,CAAC,mBAAQ,CAAC,eAAe,CAAC,EAAC;yBAC/C;wBACD,IAAI,KAAG,YAAY,mBAAU,EAAE;4BAC7B,sBAAO,OAAO,CAAC,IAAI,CAAC,mBAAQ,CAAC,UAAU,CAAC,EAAC;yBAC1C;wBACD,IAAI,CAAC,cAAO,IAAI,KAAG,YAAY,KAAK,EAAE;4BACpC,OAAO,CAAC,KAAK,CAAC,KAAG,CAAC,OAAO,CAAC,CAAC;4BAC3B,sBAAO,OAAO,CAAC,IAAI,CAAC,mBAAQ,CAAC,YAAY,CAAC,EAAC;yBAC5C;wBAED,MAAM,KAAG,CAAC;;;;;KAEb;CACF,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function default_1(args) {
|
|
4
|
+
args.option('branch', {
|
|
5
|
+
describe: 'branch name of the code version',
|
|
6
|
+
alias: 'b',
|
|
7
|
+
});
|
|
8
|
+
args.option('commit', {
|
|
9
|
+
describe: 'commit SHA of the code version',
|
|
10
|
+
alias: 'C',
|
|
11
|
+
});
|
|
12
|
+
args.option('environment', {
|
|
13
|
+
describe: 'name of the environment in which the scan is performed (e.g. $HOSTNAME, ci, staging, etc)',
|
|
14
|
+
alias: 'e',
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
exports.default = default_1;
|
|
18
|
+
//# sourceMappingURL=codeVersionArgs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codeVersionArgs.js","sourceRoot":"","sources":["../../src/cli/codeVersionArgs.ts"],"names":[],"mappings":";;AAEA,mBAAyB,IAAU;IACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;QACpB,QAAQ,EAAE,iCAAiC;QAC3C,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;QACpB,QAAQ,EAAE,gCAAgC;QAC1C,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;QACzB,QAAQ,EACN,2FAA2F;QAC7F,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;AACL,CAAC;AAdD,4BAcC"}
|
|
@@ -95,7 +95,6 @@ var util_2 = require("../../rules/lib/util");
|
|
|
95
95
|
var findings_1 = require("../../findings");
|
|
96
96
|
var findingsReport_1 = __importDefault(require("../../report/findingsReport"));
|
|
97
97
|
var summaryReport_1 = __importDefault(require("../../report/summaryReport"));
|
|
98
|
-
var exitCode_1 = require("../exitCode");
|
|
99
98
|
var validateFile_1 = __importDefault(require("../validateFile"));
|
|
100
99
|
var scanner_1 = __importDefault(require("./scanner"));
|
|
101
100
|
var scanArgs_1 = __importDefault(require("../scanArgs"));
|
|
@@ -121,7 +120,7 @@ exports.default = {
|
|
|
121
120
|
},
|
|
122
121
|
handler: function (options) {
|
|
123
122
|
return __awaiter(this, void 0, void 0, function () {
|
|
124
|
-
var _a, appmapDir, appmapFile, config, isVerbose, reportAllFindings, appIdArg, apiKey, ide, reportFile, files, glob, configData, scanner, startTime, _b, rawScanResults, findingStatuses, scanResults, elapsed, numChecks
|
|
123
|
+
var _a, appmapDir, appmapFile, config, isVerbose, reportAllFindings, appIdArg, apiKey, ide, reportFile, files, glob, configData, scanner, startTime, _b, rawScanResults, findingStatuses, scanResults, elapsed, numChecks;
|
|
125
124
|
return __generator(this, function (_c) {
|
|
126
125
|
switch (_c.label) {
|
|
127
126
|
case 0:
|
|
@@ -132,9 +131,6 @@ exports.default = {
|
|
|
132
131
|
if (apiKey) {
|
|
133
132
|
process.env.APPLAND_API_KEY = apiKey;
|
|
134
133
|
}
|
|
135
|
-
_c.label = 1;
|
|
136
|
-
case 1:
|
|
137
|
-
_c.trys.push([1, 11, , 12]);
|
|
138
134
|
if (appmapFile && appmapDir) {
|
|
139
135
|
throw new errors_1.ValidationError('Use --appmap-dir or --appmap-file, but not both');
|
|
140
136
|
}
|
|
@@ -142,40 +138,39 @@ exports.default = {
|
|
|
142
138
|
throw new errors_1.ValidationError('Either --appmap-dir or --appmap-file is required');
|
|
143
139
|
}
|
|
144
140
|
files = [];
|
|
145
|
-
if (!appmapDir) return [3 /*break*/,
|
|
141
|
+
if (!appmapDir) return [3 /*break*/, 3];
|
|
146
142
|
return [4 /*yield*/, (0, validateFile_1.default)('directory', appmapDir)];
|
|
147
|
-
case
|
|
143
|
+
case 1:
|
|
148
144
|
_c.sent();
|
|
149
145
|
glob = (0, util_1.promisify)(glob_1.glob);
|
|
150
146
|
return [4 /*yield*/, glob(appmapDir + "/**/*.appmap.json")];
|
|
151
|
-
case
|
|
147
|
+
case 2:
|
|
152
148
|
files = _c.sent();
|
|
153
|
-
_c.label =
|
|
154
|
-
case
|
|
155
|
-
if (!appmapFile) return [3 /*break*/,
|
|
149
|
+
_c.label = 3;
|
|
150
|
+
case 3:
|
|
151
|
+
if (!appmapFile) return [3 /*break*/, 5];
|
|
156
152
|
return [4 /*yield*/, (0, validateFile_1.default)('file', appmapFile)];
|
|
157
|
-
case
|
|
153
|
+
case 4:
|
|
158
154
|
_c.sent();
|
|
159
155
|
files = [appmapFile];
|
|
160
|
-
_c.label =
|
|
161
|
-
case
|
|
162
|
-
case
|
|
156
|
+
_c.label = 5;
|
|
157
|
+
case 5: return [4 /*yield*/, (0, configurationProvider_1.parseConfigFile)(config)];
|
|
158
|
+
case 6:
|
|
163
159
|
configData = _c.sent();
|
|
164
160
|
return [4 /*yield*/, (0, scanner_1.default)(reportAllFindings, configData, files).catch(function (error) {
|
|
165
161
|
throw new errors_1.ValidationError(error.message + '\nUse --all to perform an offline scan.');
|
|
166
162
|
})];
|
|
167
|
-
case
|
|
163
|
+
case 7:
|
|
168
164
|
scanner = _c.sent();
|
|
169
165
|
startTime = Date.now();
|
|
170
166
|
return [4 /*yield*/, Promise.all([scanner.scan(), scanner.fetchFindingStatus(appIdArg, appmapDir)])];
|
|
171
|
-
case
|
|
167
|
+
case 8:
|
|
172
168
|
_b = __read.apply(void 0, [_c.sent(), 2]), rawScanResults = _b[0], findingStatuses = _b[1];
|
|
173
169
|
// Always report the raw data
|
|
174
170
|
return [4 /*yield*/, (0, promises_1.writeFile)(reportFile, formatReport(rawScanResults))];
|
|
175
|
-
case
|
|
171
|
+
case 9:
|
|
176
172
|
// Always report the raw data
|
|
177
173
|
_c.sent();
|
|
178
|
-
scanResults = void 0;
|
|
179
174
|
if (reportAllFindings) {
|
|
180
175
|
scanResults = rawScanResults;
|
|
181
176
|
}
|
|
@@ -189,22 +184,7 @@ exports.default = {
|
|
|
189
184
|
elapsed = Date.now() - startTime;
|
|
190
185
|
numChecks = scanResults.checks.length * scanResults.summary.numAppMaps;
|
|
191
186
|
console.log("Performed " + numChecks + " checks in " + elapsed + "ms (" + Math.floor(numChecks / (elapsed / 1000.0)) + " checks/sec)");
|
|
192
|
-
return [
|
|
193
|
-
case 11:
|
|
194
|
-
err_1 = _c.sent();
|
|
195
|
-
if (err_1 instanceof errors_1.ValidationError) {
|
|
196
|
-
console.warn(err_1.message);
|
|
197
|
-
return [2 /*return*/, process.exit(exitCode_1.ExitCode.ValidationError)];
|
|
198
|
-
}
|
|
199
|
-
if (err_1 instanceof errors_1.AbortError) {
|
|
200
|
-
return [2 /*return*/, process.exit(exitCode_1.ExitCode.AbortError)];
|
|
201
|
-
}
|
|
202
|
-
if (!util_2.verbose && err_1 instanceof Error) {
|
|
203
|
-
console.error(err_1.message);
|
|
204
|
-
return [2 /*return*/, process.exit(exitCode_1.ExitCode.RuntimeError)];
|
|
205
|
-
}
|
|
206
|
-
throw err_1;
|
|
207
|
-
case 12: return [2 /*return*/];
|
|
187
|
+
return [2 /*return*/];
|
|
208
188
|
}
|
|
209
189
|
});
|
|
210
190
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/cli/scan/command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA4C;AAC5C,wCAAwC;AACxC,6BAAiC;AAKjC,mFAA4E;AAC5E,
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/cli/scan/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,10 +45,12 @@ var validateFile_1 = __importDefault(require("../validateFile"));
|
|
|
45
45
|
var resolveAppId_1 = __importDefault(require("../resolveAppId"));
|
|
46
46
|
var reportUploadURL_1 = __importDefault(require("../reportUploadURL"));
|
|
47
47
|
var upload_1 = __importDefault(require("../upload"));
|
|
48
|
+
var codeVersionArgs_1 = __importDefault(require("../codeVersionArgs"));
|
|
48
49
|
exports.default = {
|
|
49
50
|
command: 'upload',
|
|
50
51
|
describe: 'Upload Findings to the AppMap Server',
|
|
51
52
|
builder: function (args) {
|
|
53
|
+
(0, codeVersionArgs_1.default)(args);
|
|
52
54
|
args.option('appmap-dir', {
|
|
53
55
|
describe: 'base directory of AppMaps',
|
|
54
56
|
alias: 'd',
|
|
@@ -67,30 +69,28 @@ exports.default = {
|
|
|
67
69
|
},
|
|
68
70
|
handler: function (options) {
|
|
69
71
|
return __awaiter(this, void 0, void 0, function () {
|
|
70
|
-
var _a, isVerbose, reportFile, appmapDir, appIdArg, mergeKey, appId, scanResults, _b, _c, uploadResponse;
|
|
72
|
+
var _a, isVerbose, reportFile, appmapDir, appIdArg, mergeKey, branch, commit, environment, appId, scanResults, _b, _c, uploadResponse;
|
|
71
73
|
return __generator(this, function (_d) {
|
|
72
74
|
switch (_d.label) {
|
|
73
75
|
case 0:
|
|
74
|
-
_a = options, isVerbose = _a.verbose, reportFile = _a.reportFile, appmapDir = _a.appmapDir, appIdArg = _a.app, mergeKey = _a.mergeKey;
|
|
76
|
+
_a = options, isVerbose = _a.verbose, reportFile = _a.reportFile, appmapDir = _a.appmapDir, appIdArg = _a.app, mergeKey = _a.mergeKey, branch = _a.branch, commit = _a.commit, environment = _a.environment;
|
|
75
77
|
if (isVerbose) {
|
|
76
78
|
(0, util_1.verbose)(true);
|
|
77
79
|
}
|
|
78
|
-
if (!appmapDir) return [3 /*break*/, 2];
|
|
79
80
|
return [4 /*yield*/, (0, validateFile_1.default)('directory', appmapDir)];
|
|
80
81
|
case 1:
|
|
81
82
|
_d.sent();
|
|
82
|
-
|
|
83
|
-
case 2:
|
|
84
|
-
case 3:
|
|
83
|
+
return [4 /*yield*/, (0, resolveAppId_1.default)(appIdArg, appmapDir)];
|
|
84
|
+
case 2:
|
|
85
85
|
appId = _d.sent();
|
|
86
86
|
_c = (_b = JSON).parse;
|
|
87
87
|
return [4 /*yield*/, (0, promises_1.readFile)(reportFile)];
|
|
88
|
-
case
|
|
88
|
+
case 3:
|
|
89
89
|
scanResults = _c.apply(_b, [(_d.sent()).toString()]);
|
|
90
|
-
return [4 /*yield*/, (0, upload_1.default)(scanResults, appId, mergeKey, {
|
|
90
|
+
return [4 /*yield*/, (0, upload_1.default)(scanResults, appId, appmapDir, mergeKey, { branch: branch, commit: commit, environment: environment }, {
|
|
91
91
|
maxRetries: 3,
|
|
92
92
|
})];
|
|
93
|
-
case
|
|
93
|
+
case 4:
|
|
94
94
|
uploadResponse = _d.sent();
|
|
95
95
|
(0, reportUploadURL_1.default)(uploadResponse.summary.numFindings, uploadResponse.url);
|
|
96
96
|
return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/cli/upload/command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wCAAuC;AAGvC,6CAA+C;AAE/C,iEAA2C;AAC3C,iEAA2C;AAC3C,uEAAiD;AAGjD,qDAA+B;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/cli/upload/command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wCAAuC;AAGvC,6CAA+C;AAE/C,iEAA2C;AAC3C,iEAA2C;AAC3C,uEAAiD;AAGjD,qDAA+B;AAC/B,uEAAiD;AAEjD,kBAAe;IACb,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,sCAAsC;IAChD,OAAO,EAAP,UAAQ,IAAU;QAChB,IAAA,yBAAe,EAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;YACxB,QAAQ,EAAE,2BAA2B;YACrC,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YACzB,QAAQ,EAAE,qCAAqC;YAC/C,OAAO,EAAE,uBAAuB;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACjB,QAAQ,EACN,sGAAsG;SACzG,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YACvB,QAAQ,EAAE,8EAA8E;SACzF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IACK,OAAO,EAAb,UAAc,OAAkB;;;;;;wBACxB,KASF,OAAoC,EAR7B,SAAS,aAAA,EAClB,UAAU,gBAAA,EACV,SAAS,eAAA,EACJ,QAAQ,SAAA,EACb,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,MAAM,YAAA,EACN,WAAW,iBAAA,CAC4B;wBAEzC,IAAI,SAAS,EAAE;4BACb,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC;yBACf;wBAED,qBAAM,IAAA,sBAAY,EAAC,WAAW,EAAE,SAAU,CAAC,EAAA;;wBAA3C,SAA2C,CAAC;wBAC9B,qBAAM,IAAA,sBAAY,EAAC,QAAQ,EAAE,SAAS,CAAC,EAAA;;wBAA/C,KAAK,GAAG,SAAuC;wBAEjC,KAAA,CAAA,KAAA,IAAI,CAAA,CAAC,KAAK,CAAA;wBAAE,qBAAM,IAAA,mBAAQ,EAAC,UAAU,CAAC,EAAA;;wBAApD,WAAW,GAAG,cAAW,CAAC,SAA0B,CAAC,CAAC,QAAQ,EAAE,EAAgB;wBAC/D,qBAAM,IAAA,gBAAM,EACjC,WAAW,EACX,KAAK,EACL,SAAS,EACT,QAAQ,EACR,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA,EAAE,WAAW,aAAA,EAAE,EAC/B;gCACE,UAAU,EAAE,CAAC;6BACd,CACF,EAAA;;wBATK,cAAc,GAAG,SAStB;wBAED,IAAA,yBAAe,EAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;;;;;KACzE;CACF,CAAC"}
|
package/built/cli/upload.js
CHANGED
|
@@ -78,10 +78,34 @@ var util_1 = require("../rules/lib/util");
|
|
|
78
78
|
var create_1 = require("../integration/appland/appMap/create");
|
|
79
79
|
var create_2 = require("../integration/appland/mapset/create");
|
|
80
80
|
var create_3 = require("../integration/appland/scannerJob/create");
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
var vars_1 = require("../integration/vars");
|
|
82
|
+
var promises_2 = require("fs/promises");
|
|
83
|
+
var path_1 = require("path");
|
|
84
|
+
function fileExists(file) {
|
|
83
85
|
return __awaiter(this, void 0, void 0, function () {
|
|
84
|
-
var
|
|
86
|
+
var e_1;
|
|
87
|
+
return __generator(this, function (_a) {
|
|
88
|
+
switch (_a.label) {
|
|
89
|
+
case 0:
|
|
90
|
+
_a.trys.push([0, 2, , 3]);
|
|
91
|
+
return [4 /*yield*/, (0, promises_2.stat)(file)];
|
|
92
|
+
case 1:
|
|
93
|
+
_a.sent();
|
|
94
|
+
return [2 /*return*/, true];
|
|
95
|
+
case 2:
|
|
96
|
+
e_1 = _a.sent();
|
|
97
|
+
return [2 /*return*/, false];
|
|
98
|
+
case 3: return [2 /*return*/];
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
function create(scanResults, appId, appMapDir, mergeKey, mapsetOptions, retryOptions) {
|
|
104
|
+
if (mapsetOptions === void 0) { mapsetOptions = {}; }
|
|
105
|
+
if (retryOptions === void 0) { retryOptions = {}; }
|
|
106
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
107
|
+
var findings, relevantFilePaths, appMapUUIDByFileName, branchCount, commitCount, createAppMapOptions, q, mostFrequent, mapset;
|
|
108
|
+
var _this = this;
|
|
85
109
|
return __generator(this, function (_a) {
|
|
86
110
|
switch (_a.label) {
|
|
87
111
|
case 0:
|
|
@@ -95,34 +119,48 @@ function create(scanResults, appId, mergeKey, options) {
|
|
|
95
119
|
createAppMapOptions = {
|
|
96
120
|
app: appId,
|
|
97
121
|
};
|
|
98
|
-
q = (0, async_1.queue)(function (filePath, callback) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
122
|
+
q = (0, async_1.queue)(function (filePath, callback) { return __awaiter(_this, void 0, void 0, function () {
|
|
123
|
+
var filePaths, filePathsExist, fullPath;
|
|
124
|
+
return __generator(this, function (_a) {
|
|
125
|
+
switch (_a.label) {
|
|
126
|
+
case 0:
|
|
127
|
+
if ((0, util_1.verbose)())
|
|
128
|
+
console.log("Uploading AppMap " + filePath);
|
|
129
|
+
filePaths = [filePath, (0, path_1.join)(appMapDir, filePath)];
|
|
130
|
+
return [4 /*yield*/, Promise.all(filePaths.map(fileExists))];
|
|
131
|
+
case 1:
|
|
132
|
+
filePathsExist = _a.sent();
|
|
133
|
+
fullPath = filePaths.find(function (_, fileIndex) { return filePathsExist[fileIndex]; });
|
|
134
|
+
if (!fullPath)
|
|
135
|
+
throw new Error("File " + filePath + " not found");
|
|
136
|
+
(0, promises_1.readFile)(fullPath)
|
|
137
|
+
.then(function (buffer) {
|
|
138
|
+
var _a, _b;
|
|
139
|
+
var appMapStruct = JSON.parse(buffer.toString());
|
|
140
|
+
var metadata = appMapStruct.metadata;
|
|
141
|
+
var branch = (_a = appMapStruct.metadata.git) === null || _a === void 0 ? void 0 : _a.branch;
|
|
142
|
+
var commit = (_b = appMapStruct.metadata.git) === null || _b === void 0 ? void 0 : _b.commit;
|
|
143
|
+
if (branch) {
|
|
144
|
+
branchCount[branch] || (branchCount[branch] = 1);
|
|
145
|
+
branchCount[branch] += 1;
|
|
146
|
+
}
|
|
147
|
+
if (commit) {
|
|
148
|
+
commitCount[commit] || (commitCount[commit] = 1);
|
|
149
|
+
commitCount[commit] += 1;
|
|
150
|
+
}
|
|
151
|
+
return (0, create_1.create)(buffer, Object.assign(retryOptions, __assign(__assign({}, createAppMapOptions), { metadata: metadata })));
|
|
152
|
+
})
|
|
153
|
+
.then(function (appMap) {
|
|
154
|
+
if (appMap) {
|
|
155
|
+
appMapUUIDByFileName[filePath] = appMap.uuid;
|
|
156
|
+
}
|
|
157
|
+
})
|
|
158
|
+
.then(function () { return callback(null); })
|
|
159
|
+
.catch(callback);
|
|
160
|
+
return [2 /*return*/];
|
|
121
161
|
}
|
|
122
|
-
})
|
|
123
|
-
|
|
124
|
-
.catch(callback);
|
|
125
|
-
}, 3);
|
|
162
|
+
});
|
|
163
|
+
}); }, 3);
|
|
126
164
|
q.error(function (err, filePath) {
|
|
127
165
|
console.error("An error occurred uploading " + filePath + ": " + err);
|
|
128
166
|
});
|
|
@@ -138,16 +176,13 @@ function create(scanResults, appId, mergeKey, options) {
|
|
|
138
176
|
var maxCount = Object.values(counts).reduce(function (max, count) { return Math.max(max, count); }, 0);
|
|
139
177
|
return Object.entries(counts).find(function (e) { return e[1] === maxCount; })[0];
|
|
140
178
|
};
|
|
141
|
-
branch = mostFrequent(branchCount);
|
|
142
|
-
commit = mostFrequent(commitCount);
|
|
143
|
-
return [4 /*yield*/, (0, create_2.create)(appId, Object.values(appMapUUIDByFileName),
|
|
144
|
-
branch: branch,
|
|
145
|
-
commit: commit,
|
|
146
|
-
}))];
|
|
179
|
+
mapsetOptions.branch || (mapsetOptions.branch = (0, vars_1.branch)() || mostFrequent(branchCount));
|
|
180
|
+
mapsetOptions.commit || (mapsetOptions.commit = (0, vars_1.sha)() || mostFrequent(commitCount));
|
|
181
|
+
return [4 /*yield*/, (0, create_2.create)(appId, Object.values(appMapUUIDByFileName), mapsetOptions, retryOptions)];
|
|
147
182
|
case 2:
|
|
148
183
|
mapset = _a.sent();
|
|
149
184
|
console.warn('Uploading findings');
|
|
150
|
-
return [2 /*return*/, (0, create_3.create)(scanResults, mapset.id, appMapUUIDByFileName, { mergeKey: mergeKey },
|
|
185
|
+
return [2 /*return*/, (0, create_3.create)(scanResults, mapset.id, appMapUUIDByFileName, { mergeKey: mergeKey }, retryOptions)];
|
|
151
186
|
}
|
|
152
187
|
});
|
|
153
188
|
});
|
package/built/cli/upload.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/cli/upload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA8B;AAC9B,wCAAuC;
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/cli/upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validatePullRequestNumber = exports.validateSha = exports.validateRepo = exports.validateOwner = exports.validateToken = exports.pullRequestNumber = exports.repo = exports.sha = exports.owner = exports.token = void 0;
|
|
3
|
+
exports.validatePullRequestNumber = exports.validateSha = exports.validateRepo = exports.validateOwner = exports.validateToken = exports.pullRequestNumber = exports.repo = exports.sha = exports.owner = exports.token = exports.branch = void 0;
|
|
4
4
|
var errors_1 = require("../errors");
|
|
5
5
|
function token() {
|
|
6
6
|
return process.env.GH_STATUS_TOKEN || process.env.GH_TOKEN;
|
|
@@ -10,7 +10,8 @@ function sha() {
|
|
|
10
10
|
return (process.env.CIRCLE_SHA1 ||
|
|
11
11
|
process.env.TRAVIS_PULL_REQUEST_SHA ||
|
|
12
12
|
process.env.TRAVIS_COMMIT ||
|
|
13
|
-
process.env.CI_COMMIT_ID
|
|
13
|
+
process.env.CI_COMMIT_ID ||
|
|
14
|
+
process.env.GITHUB_SHA);
|
|
14
15
|
}
|
|
15
16
|
exports.sha = sha;
|
|
16
17
|
function pullRequestNumber() {
|
|
@@ -29,6 +30,14 @@ function repo() {
|
|
|
29
30
|
extractSlug(process.env.CI_REPO_NAME, 1));
|
|
30
31
|
}
|
|
31
32
|
exports.repo = repo;
|
|
33
|
+
function branch() {
|
|
34
|
+
return (process.env.CIRCLE_BRANCH ||
|
|
35
|
+
process.env.TRAVIS_BRANCH ||
|
|
36
|
+
process.env.CI_COMMIT_REF_NAME ||
|
|
37
|
+
process.env.CI_BRANCH ||
|
|
38
|
+
process.env.GITHUB_REF_NAME);
|
|
39
|
+
}
|
|
40
|
+
exports.branch = branch;
|
|
32
41
|
function extractSlug(path, index) {
|
|
33
42
|
if (!path) {
|
|
34
43
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vars.js","sourceRoot":"","sources":["../../src/integration/vars.ts"],"names":[],"mappings":";;;AAAA,oCAA4C;AAE5C,SAAS,KAAK;IACZ,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7D,CAAC;
|
|
1
|
+
{"version":3,"file":"vars.js","sourceRoot":"","sources":["../../src/integration/vars.ts"],"names":[],"mappings":";;;AAAA,oCAA4C;AAE5C,SAAS,KAAK;IACZ,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7D,CAAC;AAsFC,sBAAK;AApFP,SAAS,GAAG;IACV,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,WAAW;QACvB,OAAO,CAAC,GAAG,CAAC,uBAAuB;QACnC,OAAO,CAAC,GAAG,CAAC,aAAa;QACzB,OAAO,CAAC,GAAG,CAAC,YAAY;QACxB,OAAO,CAAC,GAAG,CAAC,UAAU,CACvB,CAAC;AACJ,CAAC;AA8EC,kBAAG;AA5EL,SAAS,iBAAiB;IACxB,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAC5F,CAAC;AACJ,CAAC;AA0EC,8CAAiB;AAxEnB,SAAS,KAAK;IACZ,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,uBAAuB;QACnC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC5C,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAC1C,CAAC;AACJ,CAAC;AA+DC,sBAAK;AA7DP,SAAS,IAAI;IACX,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,uBAAuB;QACnC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC5C,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CACzC,CAAC;AACJ,CAAC;AAyDC,oBAAI;AAvDN,SAAS,MAAM;IACb,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,aAAa;QACzB,OAAO,CAAC,GAAG,CAAC,aAAa;QACzB,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAC9B,OAAO,CAAC,GAAG,CAAC,SAAS;QACrB,OAAO,CAAC,GAAG,CAAC,eAAe,CAC5B,CAAC;AACJ,CAAC;AA2CC,wBAAM;AAzCR,SAAS,WAAW,CAAC,IAAwB,EAAE,KAAa;IAC1D,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,aAAa;IACpB,IAAI,CAAC,KAAK,EAAE,EAAE;QACZ,MAAM,IAAI,wBAAe,CACvB,uEAAuE,CACxE,CAAC;KACH;AACH,CAAC;AAiCC,sCAAa;AA/Bf,SAAS,WAAW;IAClB,IAAI,CAAC,GAAG,EAAE,EAAE;QACV,MAAM,IAAI,wBAAe,CAAC,sCAAsC,CAAC,CAAC;KACnE;AACH,CAAC;AA8BC,kCAAW;AA5Bb,SAAS,yBAAyB;IAChC,IAAI,CAAC,iBAAiB,EAAE,EAAE;QACxB,MAAM,IAAI,wBAAe,CAAC,8CAA8C,CAAC,CAAC;KAC3E;AACH,CAAC;AAyBC,8DAAyB;AAvB3B,SAAS,aAAa;IACpB,IAAI,CAAC,KAAK,EAAE,EAAE;QACZ,MAAM,IAAI,wBAAe,CAAC,mCAAmC,CAAC,CAAC;KAChE;AACH,CAAC;AAgBC,sCAAa;AAdf,SAAS,YAAY;IACnB,IAAI,CAAC,IAAI,EAAE,EAAE;QACX,MAAM,IAAI,wBAAe,CAAC,kCAAkC,CAAC,CAAC;KAC/D;AACH,CAAC;AAWC,oCAAY"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appland/scanner",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.50.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"bin": "built/cli.js",
|
|
6
6
|
"files": [
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@types/js-yaml": "^4.0.3",
|
|
32
32
|
"@types/lru-cache": "^5.1.1",
|
|
33
33
|
"@types/node": "^16.7.10",
|
|
34
|
-
"@types/sinon": "^10.0.
|
|
34
|
+
"@types/sinon": "^10.0.11",
|
|
35
35
|
"@types/tar-stream": "^2.2.2",
|
|
36
36
|
"@types/yargs": "^17.0.2",
|
|
37
37
|
"@typescript-eslint/eslint-plugin": "^4.30.0",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"pkg": "^5.5.2",
|
|
47
47
|
"prettier": "^2.3.2",
|
|
48
48
|
"semantic-release": "^19.0.2",
|
|
49
|
-
"sinon": "^
|
|
49
|
+
"sinon": "^13.0.1",
|
|
50
50
|
"ts-jest": "^27.1.3",
|
|
51
51
|
"ts-json-schema-generator": "^0.97.0",
|
|
52
52
|
"ts-node": "^10.2.1",
|