@appland/scanner 1.42.0 → 1.44.2

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.
Files changed (37) hide show
  1. package/built/cli/ci/command.js +22 -26
  2. package/built/cli/ci/command.js.map +1 -1
  3. package/built/cli/fail.js +13 -0
  4. package/built/cli/fail.js.map +1 -0
  5. package/built/cli/merge/command.js +102 -0
  6. package/built/cli/merge/command.js.map +1 -0
  7. package/built/cli/merge/options.js +3 -0
  8. package/built/cli/merge/options.js.map +1 -0
  9. package/built/cli/reportUploadURL.js +11 -0
  10. package/built/cli/reportUploadURL.js.map +1 -0
  11. package/built/cli/scan/scanner.js +2 -2
  12. package/built/cli/scan/scanner.js.map +1 -1
  13. package/built/cli/updateCommitStatus.js +65 -0
  14. package/built/cli/updateCommitStatus.js.map +1 -0
  15. package/built/cli/upload/command.js +10 -5
  16. package/built/cli/upload/command.js.map +1 -1
  17. package/built/cli.js +2 -0
  18. package/built/cli.js.map +1 -1
  19. package/built/integration/appland/{fetchStatus.js → app/listFindingStatus.js} +1 -1
  20. package/built/integration/appland/app/listFindingStatus.js.map +1 -0
  21. package/built/integration/appland/{appMap.js → appMap/create.js} +43 -48
  22. package/built/integration/appland/appMap/create.js.map +1 -0
  23. package/built/integration/appland/location.js +3 -0
  24. package/built/integration/appland/location.js.map +1 -0
  25. package/built/integration/appland/{mapset.js → mapset/create.js} +41 -46
  26. package/built/integration/appland/mapset/create.js.map +1 -0
  27. package/built/integration/appland/{upload.js → scannerJob/create.js} +27 -19
  28. package/built/integration/appland/scannerJob/create.js.map +1 -0
  29. package/built/integration/appland/scannerJob/merge.js +92 -0
  30. package/built/integration/appland/scannerJob/merge.js.map +1 -0
  31. package/built/integration/appland/scannerJob.js +3 -0
  32. package/built/integration/appland/scannerJob.js.map +1 -0
  33. package/package.json +8 -7
  34. package/built/integration/appland/appMap.js.map +0 -1
  35. package/built/integration/appland/fetchStatus.js.map +0 -1
  36. package/built/integration/appland/mapset.js.map +0 -1
  37. package/built/integration/appland/upload.js.map +0 -1
@@ -58,12 +58,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
58
58
  var glob_1 = require("glob");
59
59
  var promises_1 = require("fs/promises");
60
60
  var util_1 = require("util");
61
- var yargs_1 = __importDefault(require("yargs"));
62
61
  var configurationProvider_1 = require("../../configuration/configurationProvider");
63
62
  var errors_1 = require("../../errors");
64
63
  var util_2 = require("../../rules/lib/util");
65
- var upload_1 = __importDefault(require("../../integration/appland/upload"));
66
- var commitStatus_1 = __importDefault(require("../../integration/github/commitStatus"));
64
+ var create_1 = require("../../integration/appland/scannerJob/create");
67
65
  var findings_1 = require("../../findings");
68
66
  var findingsReport_1 = __importDefault(require("../../report/findingsReport"));
69
67
  var summaryReport_1 = __importDefault(require("../../report/summaryReport"));
@@ -72,6 +70,9 @@ var resolveAppId_1 = __importDefault(require("../resolveAppId"));
72
70
  var validateFile_1 = __importDefault(require("../validateFile"));
73
71
  var scanner_1 = __importDefault(require("../scan/scanner"));
74
72
  var scanArgs_1 = __importDefault(require("../scanArgs"));
73
+ var updateCommitStatus_1 = __importDefault(require("../updateCommitStatus"));
74
+ var reportUploadURL_1 = __importDefault(require("../reportUploadURL"));
75
+ var fail_1 = __importDefault(require("../fail"));
75
76
  exports.default = {
76
77
  command: 'ci',
77
78
  describe: 'Scan AppMaps, report findings to AppMap Server, and update SCM status',
@@ -84,7 +85,7 @@ exports.default = {
84
85
  });
85
86
  args.option('update-commit-status', {
86
87
  describe: 'update commit status in SCM system',
87
- default: true,
88
+ default: false,
88
89
  type: 'boolean',
89
90
  });
90
91
  args.option('upload', {
@@ -92,21 +93,24 @@ exports.default = {
92
93
  default: true,
93
94
  type: 'boolean',
94
95
  });
96
+ args.option('merge-key', {
97
+ describe: 'build job identifier. This is used to merge findings from parallelized scans',
98
+ });
95
99
  return args.strict();
96
100
  },
97
101
  handler: function (options) {
98
102
  return __awaiter(this, void 0, void 0, function () {
99
- var _a, appmapDir, config, isVerbose, fail, appIdArg, reportFile, doUpload, updateCommitStatus, glob, files, appId, configData, scanner, _b, rawScanResults, findingStatuses, scanResults, err_1;
103
+ var _a, appmapDir, config, isVerbose, failOption, appIdArg, reportFile, doUpload, updateCommitStatusOption, mergeKey, glob, files, appId, configData, scanner, _b, rawScanResults, findingStatuses, scanResults, uploadResponse, err_1;
100
104
  return __generator(this, function (_c) {
101
105
  switch (_c.label) {
102
106
  case 0:
103
- _a = options, appmapDir = _a.appmapDir, config = _a.config, isVerbose = _a.verbose, fail = _a.fail, appIdArg = _a.app, reportFile = _a.reportFile, doUpload = _a.upload, updateCommitStatus = _a.updateCommitStatus;
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;
104
108
  if (isVerbose) {
105
109
  (0, util_2.verbose)(true);
106
110
  }
107
111
  _c.label = 1;
108
112
  case 1:
109
- _c.trys.push([1, 14, , 15]);
113
+ _c.trys.push([1, 12, , 13]);
110
114
  if (!appmapDir) {
111
115
  throw new errors_1.ValidationError('--appmap-dir is required');
112
116
  }
@@ -136,31 +140,23 @@ exports.default = {
136
140
  (0, findingsReport_1.default)(scanResults.findings, scanResults.appMapMetadata);
137
141
  (0, summaryReport_1.default)(scanResults, true);
138
142
  if (!doUpload) return [3 /*break*/, 9];
139
- return [4 /*yield*/, (0, upload_1.default)(rawScanResults, appId)];
143
+ return [4 /*yield*/, (0, create_1.create)(rawScanResults, appId, mergeKey)];
140
144
  case 8:
141
- _c.sent();
145
+ uploadResponse = _c.sent();
146
+ (0, reportUploadURL_1.default)(uploadResponse.summary.numFindings, uploadResponse.url);
142
147
  _c.label = 9;
143
148
  case 9:
144
- if (!updateCommitStatus) return [3 /*break*/, 13];
145
- if (!(scanResults.findings.length > 0)) return [3 /*break*/, 11];
146
- return [4 /*yield*/, (0, commitStatus_1.default)('failure', scanResults.summary.numChecks + " checks, " + scanResults.findings.length + " findings. See CI job log for details.")];
149
+ if (!updateCommitStatusOption) return [3 /*break*/, 11];
150
+ return [4 /*yield*/, (0, updateCommitStatus_1.default)(scanResults.findings.length, scanResults.summary.numChecks)];
147
151
  case 10:
148
152
  _c.sent();
149
- console.log("Commit status updated to: failure (" + scanResults.findings.length + " findings)");
153
+ _c.label = 11;
154
+ case 11:
155
+ if (failOption) {
156
+ (0, fail_1.default)(scanResults.findings.length);
157
+ }
150
158
  return [3 /*break*/, 13];
151
- case 11: return [4 /*yield*/, (0, commitStatus_1.default)('success', scanResults.summary.numChecks + " checks passed")];
152
159
  case 12:
153
- _c.sent();
154
- console.log("Commit status updated to: success.");
155
- _c.label = 13;
156
- case 13:
157
- if (fail) {
158
- if (scanResults.findings.length > 0) {
159
- yargs_1.default.exit(1, new Error(scanResults.findings.length + " findings"));
160
- }
161
- }
162
- return [3 /*break*/, 15];
163
- case 14:
164
160
  err_1 = _c.sent();
165
161
  if (err_1 instanceof errors_1.ValidationError) {
166
162
  console.warn(err_1.message);
@@ -174,7 +170,7 @@ exports.default = {
174
170
  return [2 /*return*/, process.exit(exitCode_1.ExitCode.RuntimeError)];
175
171
  }
176
172
  throw err_1;
177
- case 15: return [2 /*return*/];
173
+ case 13: return [2 /*return*/];
178
174
  }
179
175
  });
180
176
  });
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/cli/ci/command.ts"],"names":[],"mappings":"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"}
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,sEAAyF;AACzF,2CAA6C;AAC7C,+EAAyD;AACzD,6EAAuD;AAEvD,wCAAuC;AACvC,iEAA2C;AAC3C,iEAA2C;AAC3C,4DAA0D;AAG1D,yDAAmC;AACnC,6EAAuD;AACvD,uEAAiD;AACjD,iDAA2B;AAE3B,kBAAe;IACb,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,uEAAuE;IACjF,OAAO,EAAP,UAAQ,IAAU;QAChB,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAC;QAEf,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,KAUF,OAAoC,EATtC,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,CAC+B;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;wBAE1C,OAAO,GAAG,IAAA,iBAAY,EAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;wBAGrD,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,wBAAQ;wBACa,qBAAM,IAAA,eAAgB,EAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAA;;wBAAxE,cAAc,GAAG,SAAuD;wBAC9E,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,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var yargs_1 = __importDefault(require("yargs"));
7
+ function fail(numFindings) {
8
+ if (numFindings > 0) {
9
+ yargs_1.default.exit(1, new Error(numFindings + " findings"));
10
+ }
11
+ }
12
+ exports.default = fail;
13
+ //# sourceMappingURL=fail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fail.js","sourceRoot":"","sources":["../../src/cli/fail.ts"],"names":[],"mappings":";;;;;AAAA,gDAA0B;AAE1B,SAAwB,IAAI,CAAC,WAAmB;IAC9C,IAAI,WAAW,GAAG,CAAC,EAAE;QACnB,eAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,KAAK,CAAI,WAAW,cAAW,CAAC,CAAC,CAAC;KACrD;AACH,CAAC;AAJD,uBAIC"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var util_1 = require("../../rules/lib/util");
43
+ var merge_1 = require("../../integration/appland/scannerJob/merge");
44
+ var resolveAppId_1 = __importDefault(require("../resolveAppId"));
45
+ var updateCommitStatus_1 = __importDefault(require("../updateCommitStatus"));
46
+ var fail_1 = __importDefault(require("../fail"));
47
+ exports.default = {
48
+ command: 'merge <merge-key>',
49
+ describe: 'Merge scan results from parallel scans',
50
+ builder: function (args) {
51
+ args.option('app', {
52
+ describe: 'name of the app to publish the findings for. By default, this is determined by looking in appmap.yml',
53
+ });
54
+ args.option('fail', {
55
+ describe: 'exit with non-zero status if there are any new findings',
56
+ default: false,
57
+ type: 'boolean',
58
+ });
59
+ args.option('update-commit-status', {
60
+ describe: 'update commit status in SCM system',
61
+ default: false,
62
+ type: 'boolean',
63
+ });
64
+ args.positional('merge-key', {
65
+ describe: 'build job identifier. This is used to merge findings from parallelized scans',
66
+ type: 'string',
67
+ });
68
+ return args.strict();
69
+ },
70
+ handler: function (options) {
71
+ return __awaiter(this, void 0, void 0, function () {
72
+ var _a, isVerbose, appIdArg, failOption, updateCommitStatusOption, mergeKey, appId, mergeResults;
73
+ return __generator(this, function (_b) {
74
+ switch (_b.label) {
75
+ case 0:
76
+ _a = options, isVerbose = _a.verbose, appIdArg = _a.app, failOption = _a.fail, updateCommitStatusOption = _a.updateCommitStatus, mergeKey = _a.mergeKey;
77
+ if (isVerbose) {
78
+ (0, util_1.verbose)(true);
79
+ }
80
+ return [4 /*yield*/, (0, resolveAppId_1.default)(appIdArg, '.')];
81
+ case 1:
82
+ appId = _b.sent();
83
+ return [4 /*yield*/, (0, merge_1.merge)(appId, mergeKey)];
84
+ case 2:
85
+ mergeResults = _b.sent();
86
+ console.warn("Merged results to " + mergeResults.url);
87
+ if (!updateCommitStatusOption) return [3 /*break*/, 4];
88
+ return [4 /*yield*/, (0, updateCommitStatus_1.default)(mergeResults.summary.numFindings, mergeResults.summary.numChecks)];
89
+ case 3:
90
+ _b.sent();
91
+ _b.label = 4;
92
+ case 4:
93
+ if (failOption) {
94
+ (0, fail_1.default)(mergeResults.summary.numFindings);
95
+ }
96
+ return [2 /*return*/];
97
+ }
98
+ });
99
+ });
100
+ },
101
+ };
102
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/cli/merge/command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+C;AAG/C,oEAAsF;AACtF,iEAA2C;AAC3C,6EAAuD;AACvD,iDAA2B;AAE3B,kBAAe;IACb,OAAO,EAAE,mBAAmB;IAC5B,QAAQ,EAAE,wCAAwC;IAClD,OAAO,EAAP,UAAQ,IAAU;QAChB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACjB,QAAQ,EACN,sGAAsG;SACzG,CAAC,CAAC;QACH,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;QAEH,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;YAC3B,QAAQ,EAAE,8EAA8E;YACxF,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IACK,OAAO,EAAb,UAAc,OAAkB;;;;;;wBACxB,KAMF,OAAoC,EAL7B,SAAS,aAAA,EACb,QAAQ,SAAA,EACP,UAAU,UAAA,EACI,wBAAwB,wBAAA,EAC5C,QAAQ,cAAA,CAC+B;wBAEzC,IAAI,SAAS,EAAE;4BACb,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC;yBACf;wBAEa,qBAAM,IAAA,sBAAY,EAAC,QAAQ,EAAE,GAAG,CAAC,EAAA;;wBAAzC,KAAK,GAAG,SAAiC;wBAE1B,qBAAM,IAAA,aAAe,EAAC,KAAK,EAAE,QAAQ,CAAC,EAAA;;wBAArD,YAAY,GAAG,SAAsC;wBAC3D,OAAO,CAAC,IAAI,CAAC,uBAAqB,YAAY,CAAC,GAAK,CAAC,CAAC;6BAElD,wBAAwB,EAAxB,wBAAwB;wBAC1B,qBAAM,IAAA,4BAAkB,EAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,EAAA;;wBAA1F,SAA0F,CAAC;;;wBAG7F,IAAI,UAAU,EAAE;4BACd,IAAA,cAAI,EAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;yBACxC;;;;;KACF;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cli/merge/options.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function reportUploadURL(numFindings, url) {
4
+ var message = "Uploaded " + numFindings + " findings";
5
+ if (url) {
6
+ message += " to " + url;
7
+ }
8
+ console.log(message);
9
+ }
10
+ exports.default = reportUploadURL;
11
+ //# sourceMappingURL=reportUploadURL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportUploadURL.js","sourceRoot":"","sources":["../../src/cli/reportUploadURL.ts"],"names":[],"mappings":";;AAEA,SAAwB,eAAe,CAAC,WAAmB,EAAE,GAAS;IACpE,IAAI,OAAO,GAAG,cAAY,WAAW,cAAW,CAAC;IACjD,IAAI,GAAG,EAAE;QACP,OAAO,IAAI,SAAO,GAAK,CAAC;KACzB;IACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAND,kCAMC"}
@@ -56,7 +56,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
56
56
  Object.defineProperty(exports, "__esModule", { value: true });
57
57
  var src_1 = require("@appland/client/dist/src");
58
58
  var configurationProvider_1 = require("../../configuration/configurationProvider");
59
- var fetchStatus_1 = __importDefault(require("../../integration/appland/fetchStatus"));
59
+ var listFindingStatus_1 = __importDefault(require("../../integration/appland/app/listFindingStatus"));
60
60
  var resolveAppId_1 = __importDefault(require("../resolveAppId"));
61
61
  var scan_1 = __importDefault(require("../scan"));
62
62
  var scanResults_1 = require("../../report/scanResults");
@@ -122,7 +122,7 @@ var ServerIntegratedScanner = /** @class */ (function (_super) {
122
122
  case 0: return [4 /*yield*/, (0, resolveAppId_1.default)(appIdArg, appMapDir)];
123
123
  case 1:
124
124
  appId = _a.sent();
125
- return [4 /*yield*/, (0, fetchStatus_1.default)(appId)];
125
+ return [4 /*yield*/, (0, listFindingStatus_1.default)(appId)];
126
126
  case 2: return [2 /*return*/, _a.sent()];
127
127
  }
128
128
  });
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../src/cli/scan/scanner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAoF;AAEpF,mFAAuE;AAEvE,sFAAgE;AAEhE,iEAA2C;AAC3C,iDAA2B;AAC3B,wDAAuD;AAQvD,SAAwB,OAAO,CAC7B,iBAA0B,EAC1B,aAA4B,EAC5B,KAAe;IAEf,OAAO,iBAAiB;QACtB,CAAC,CAAC,IAAI,iBAAiB,CAAC,aAAa,EAAE,KAAK,CAAC;QAC7C,CAAC,CAAC,IAAI,uBAAuB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AARD,0BAQC;AAED;IACE,qBAAmB,aAA4B,EAAS,KAAe;QAApD,kBAAa,GAAb,aAAa,CAAe;QAAS,UAAK,GAAL,KAAK,CAAU;IAAG,CAAC;IAErE,0BAAI,GAAV;;;;;4BACE,qBAAM,IAAI,CAAC,yBAAyB,EAAE,EAAA;;wBAAtC,SAAsC,CAAC;wBAExB,qBAAM,IAAA,kCAAU,EAAC,IAAI,CAAC,aAAa,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACd,qBAAM,IAAA,cAAI,EAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAA;;wBAA7D,KAA+B,SAA8B,EAA3D,cAAc,oBAAA,EAAE,QAAQ,cAAA;wBAChC,sBAAO,IAAI,yBAAW,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAC;;;;KAC9E;IAGH,kBAAC;AAAD,CAAC,AAZD,IAYC;AAED;IAAsC,2CAAW;IAAjD;;IAwBA,CAAC;IAvBO,2DAAyB,GAA/B;;;gBACE,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO;wBACzB,IAAA,uBAAiB,GAAE;6BAChB,IAAI,CAAC,cAAM,OAAA,OAAO,CAAC,IAAI,CAAC,EAAb,CAAa,CAAC;6BACzB,KAAK,CAAC,UAAC,GAAG;4BACT,OAAO,CAAC,IAAI,CAAC,kCAAc,CAAC,CAAC;4BAC7B,OAAO,CAAC,IAAI,CAAC,4DAAkD,CAAC,CAAC;4BACjE,OAAO,CAAC,IAAI,CAAC,oCAAwB,GAAG,CAAC,QAAQ,EAAI,CAAC,CAAC;4BACvD,OAAO,CAAC,IAAI,CACV,yFAA+E,CAChF,CAAC;4BACF,OAAO,CAAC,KAAK,CAAC,CAAC;wBACjB,CAAC,CAAC,CAAC;oBACP,CAAC,CAAC,EAAC;;;KACJ;IAEK,oDAAkB,GAAxB,UACE,QAAiB,EACjB,SAAkB;;;;;4BAEJ,qBAAM,IAAA,sBAAY,EAAC,QAAQ,EAAE,SAAS,CAAC,EAAA;;wBAA/C,KAAK,GAAG,SAAuC;wBAC9C,qBAAM,IAAA,qBAAW,EAAC,KAAK,CAAC,EAAA;4BAA/B,sBAAO,SAAwB,EAAC;;;;KACjC;IACH,8BAAC;AAAD,CAAC,AAxBD,CAAsC,WAAW,GAwBhD;AAED;IAAgC,qCAAW;IAA3C;;IAQA,CAAC;IAPO,qDAAyB,GAA/B;;;gBACE,sBAAO,IAAI,EAAC;;;KACb;IAEK,8CAAkB,GAAxB;;;gBACE,sBAAO,EAAE,EAAC;;;KACX;IACH,wBAAC;AAAD,CAAC,AARD,CAAgC,WAAW,GAQ1C"}
1
+ {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../src/cli/scan/scanner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAoF;AAEpF,mFAAuE;AAEvE,sGAA0E;AAE1E,iEAA2C;AAC3C,iDAA2B;AAC3B,wDAAuD;AAQvD,SAAwB,OAAO,CAC7B,iBAA0B,EAC1B,aAA4B,EAC5B,KAAe;IAEf,OAAO,iBAAiB;QACtB,CAAC,CAAC,IAAI,iBAAiB,CAAC,aAAa,EAAE,KAAK,CAAC;QAC7C,CAAC,CAAC,IAAI,uBAAuB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AARD,0BAQC;AAED;IACE,qBAAmB,aAA4B,EAAS,KAAe;QAApD,kBAAa,GAAb,aAAa,CAAe;QAAS,UAAK,GAAL,KAAK,CAAU;IAAG,CAAC;IAErE,0BAAI,GAAV;;;;;4BACE,qBAAM,IAAI,CAAC,yBAAyB,EAAE,EAAA;;wBAAtC,SAAsC,CAAC;wBAExB,qBAAM,IAAA,kCAAU,EAAC,IAAI,CAAC,aAAa,CAAC,EAAA;;wBAA7C,MAAM,GAAG,SAAoC;wBACd,qBAAM,IAAA,cAAI,EAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAA;;wBAA7D,KAA+B,SAA8B,EAA3D,cAAc,oBAAA,EAAE,QAAQ,cAAA;wBAChC,sBAAO,IAAI,yBAAW,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAC;;;;KAC9E;IAGH,kBAAC;AAAD,CAAC,AAZD,IAYC;AAED;IAAsC,2CAAW;IAAjD;;IAwBA,CAAC;IAvBO,2DAAyB,GAA/B;;;gBACE,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO;wBACzB,IAAA,uBAAiB,GAAE;6BAChB,IAAI,CAAC,cAAM,OAAA,OAAO,CAAC,IAAI,CAAC,EAAb,CAAa,CAAC;6BACzB,KAAK,CAAC,UAAC,GAAG;4BACT,OAAO,CAAC,IAAI,CAAC,kCAAc,CAAC,CAAC;4BAC7B,OAAO,CAAC,IAAI,CAAC,4DAAkD,CAAC,CAAC;4BACjE,OAAO,CAAC,IAAI,CAAC,oCAAwB,GAAG,CAAC,QAAQ,EAAI,CAAC,CAAC;4BACvD,OAAO,CAAC,IAAI,CACV,yFAA+E,CAChF,CAAC;4BACF,OAAO,CAAC,KAAK,CAAC,CAAC;wBACjB,CAAC,CAAC,CAAC;oBACP,CAAC,CAAC,EAAC;;;KACJ;IAEK,oDAAkB,GAAxB,UACE,QAAiB,EACjB,SAAkB;;;;;4BAEJ,qBAAM,IAAA,sBAAY,EAAC,QAAQ,EAAE,SAAS,CAAC,EAAA;;wBAA/C,KAAK,GAAG,SAAuC;wBAC9C,qBAAM,IAAA,2BAAW,EAAC,KAAK,CAAC,EAAA;4BAA/B,sBAAO,SAAwB,EAAC;;;;KACjC;IACH,8BAAC;AAAD,CAAC,AAxBD,CAAsC,WAAW,GAwBhD;AAED;IAAgC,qCAAW;IAA3C;;IAQA,CAAC;IAPO,qDAAyB,GAA/B;;;gBACE,sBAAO,IAAI,EAAC;;;KACb;IAEK,8CAAkB,GAAxB;;;gBACE,sBAAO,EAAE,EAAC;;;KACX;IACH,wBAAC;AAAD,CAAC,AARD,CAAgC,WAAW,GAQ1C"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var commitStatus_1 = __importDefault(require("../integration/github/commitStatus"));
43
+ function updateCommitStatus(numFindings, numChecks) {
44
+ return __awaiter(this, void 0, void 0, function () {
45
+ return __generator(this, function (_a) {
46
+ switch (_a.label) {
47
+ case 0:
48
+ if (!(numFindings > 0)) return [3 /*break*/, 2];
49
+ return [4 /*yield*/, (0, commitStatus_1.default)('failure', numChecks + " checks, " + numFindings + " findings. See CI job log for details.")];
50
+ case 1:
51
+ _a.sent();
52
+ console.log("Commit status updated to: failure (" + numFindings + " findings)");
53
+ return [3 /*break*/, 4];
54
+ case 2: return [4 /*yield*/, (0, commitStatus_1.default)('success', numChecks + " checks passed")];
55
+ case 3:
56
+ _a.sent();
57
+ console.log("Commit status updated to: success.");
58
+ _a.label = 4;
59
+ case 4: return [2 /*return*/];
60
+ }
61
+ });
62
+ });
63
+ }
64
+ exports.default = updateCommitStatus;
65
+ //# sourceMappingURL=updateCommitStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateCommitStatus.js","sourceRoot":"","sources":["../../src/cli/updateCommitStatus.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oFAAkE;AAElE,SAA8B,kBAAkB,CAC9C,WAAmB,EACnB,SAAiB;;;;;yBAEb,CAAA,WAAW,GAAG,CAAC,CAAA,EAAf,wBAAe;oBACjB,qBAAM,IAAA,sBAAgB,EACpB,SAAS,EACN,SAAS,iBAAY,WAAW,2CAAwC,CAC5E,EAAA;;oBAHD,SAGC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,wCAAsC,WAAW,eAAY,CAAC,CAAC;;wBAE3E,qBAAM,IAAA,sBAAgB,EAAC,SAAS,EAAK,SAAS,mBAAgB,CAAC,EAAA;;oBAA/D,SAA+D,CAAC;oBAChE,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;;;;;;CAErD;AAdD,qCAcC"}
@@ -40,10 +40,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
40
40
  };
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
42
  var promises_1 = require("fs/promises");
43
- var upload_1 = __importDefault(require("../../integration/appland/upload"));
43
+ var create_1 = require("../../integration/appland/scannerJob/create");
44
44
  var util_1 = require("../../rules/lib/util");
45
45
  var validateFile_1 = __importDefault(require("../validateFile"));
46
46
  var resolveAppId_1 = __importDefault(require("../resolveAppId"));
47
+ var reportUploadURL_1 = __importDefault(require("../reportUploadURL"));
47
48
  exports.default = {
48
49
  command: 'upload',
49
50
  describe: 'Upload Findings to the AppMap Server',
@@ -59,15 +60,18 @@ exports.default = {
59
60
  args.option('app', {
60
61
  describe: 'name of the app to publish the findings for. By default, this is determined by looking in appmap.yml',
61
62
  });
63
+ args.option('merge-key', {
64
+ describe: 'build job identifier. This is used to merge findings from parallelized scans',
65
+ });
62
66
  return args.strict();
63
67
  },
64
68
  handler: function (options) {
65
69
  return __awaiter(this, void 0, void 0, function () {
66
- var _a, isVerbose, reportFile, appmapDir, appIdArg, appId, scanResults, _b, _c;
70
+ var _a, isVerbose, reportFile, appmapDir, appIdArg, mergeKey, appId, scanResults, _b, _c, uploadResponse;
67
71
  return __generator(this, function (_d) {
68
72
  switch (_d.label) {
69
73
  case 0:
70
- _a = options, isVerbose = _a.verbose, reportFile = _a.reportFile, appmapDir = _a.appmapDir, appIdArg = _a.app;
74
+ _a = options, isVerbose = _a.verbose, reportFile = _a.reportFile, appmapDir = _a.appmapDir, appIdArg = _a.app, mergeKey = _a.mergeKey;
71
75
  if (isVerbose) {
72
76
  (0, util_1.verbose)(true);
73
77
  }
@@ -83,9 +87,10 @@ exports.default = {
83
87
  return [4 /*yield*/, (0, promises_1.readFile)(reportFile)];
84
88
  case 4:
85
89
  scanResults = _c.apply(_b, [(_d.sent()).toString()]);
86
- return [4 /*yield*/, (0, upload_1.default)(scanResults, appId)];
90
+ return [4 /*yield*/, (0, create_1.create)(scanResults, appId, mergeKey)];
87
91
  case 5:
88
- _d.sent();
92
+ uploadResponse = _d.sent();
93
+ (0, reportUploadURL_1.default)(uploadResponse.summary.numFindings, uploadResponse.url);
89
94
  return [2 /*return*/];
90
95
  }
91
96
  });
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/cli/upload/command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wCAAuC;AAEvC,4EAAsD;AAEtD,6CAA+C;AAE/C,iEAA2C;AAG3C,iEAA2C;AAE3C,kBAAe;IACb,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,sCAAsC;IAChD,OAAO,EAAP,UAAQ,IAAU;QAChB,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,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IACK,OAAO,EAAb,UAAc,OAAkB;;;;;;wBACxB,KAKF,OAAoC,EAJ7B,SAAS,aAAA,EAClB,UAAU,gBAAA,EACV,SAAS,eAAA,EACJ,QAAQ,SAAA,CAC0B;wBAEzC,IAAI,SAAS,EAAE;4BACb,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC;yBACf;6BAEG,SAAS,EAAT,wBAAS;wBAAE,qBAAM,IAAA,sBAAY,EAAC,WAAW,EAAE,SAAU,CAAC,EAAA;;wBAA3C,SAA2C,CAAC;;4BAC7C,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;wBACtF,qBAAM,IAAA,gBAAM,EAAC,WAAW,EAAE,KAAK,CAAC,EAAA;;wBAAhC,SAAgC,CAAC;;;;;KAClC;CACF,CAAC"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/cli/upload/command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wCAAuC;AAEvC,sEAAyF;AAEzF,6CAA+C;AAE/C,iEAA2C;AAG3C,iEAA2C;AAC3C,uEAAiD;AAEjD,kBAAe;IACb,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,sCAAsC;IAChD,OAAO,EAAP,UAAQ,IAAU;QAChB,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,KAMF,OAAoC,EAL7B,SAAS,aAAA,EAClB,UAAU,gBAAA,EACV,SAAS,eAAA,EACJ,QAAQ,SAAA,EACb,QAAQ,cAAA,CAC+B;wBAEzC,IAAI,SAAS,EAAE;4BACb,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC;yBACf;6BAEG,SAAS,EAAT,wBAAS;wBAAE,qBAAM,IAAA,sBAAY,EAAC,WAAW,EAAE,SAAU,CAAC,EAAA;;wBAA3C,SAA2C,CAAC;;4BAC7C,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,eAAgB,EAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAA;;wBAArE,cAAc,GAAG,SAAoD;wBAE3E,IAAA,yBAAe,EAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;;;;;KACzE;CACF,CAAC"}
package/built/cli.js CHANGED
@@ -8,6 +8,7 @@ var yargs_1 = __importDefault(require("yargs"));
8
8
  var command_1 = __importDefault(require("./cli/scan/command"));
9
9
  var command_2 = __importDefault(require("./cli/upload/command"));
10
10
  var command_3 = __importDefault(require("./cli/ci/command"));
11
+ var command_4 = __importDefault(require("./cli/merge/command"));
11
12
  (0, yargs_1.default)(process.argv.slice(2))
12
13
  .option('verbose', {
13
14
  describe: 'Show verbose output',
@@ -16,6 +17,7 @@ var command_3 = __importDefault(require("./cli/ci/command"));
16
17
  .command(command_1.default)
17
18
  .command(command_2.default)
18
19
  .command(command_3.default)
20
+ .command(command_4.default)
19
21
  .fail(function (msg, err, yargs) {
20
22
  if (msg) {
21
23
  console.log(yargs.help());
package/built/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AAEA,gDAA0B;AAC1B,+DAA6C;AAC7C,iEAAiD;AACjD,6DAAyC;AAEzC,IAAA,eAAK,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACzB,MAAM,CAAC,SAAS,EAAE;IACjB,QAAQ,EAAE,qBAAqB;IAC/B,KAAK,EAAE,GAAG;CACX,CAAC;KACD,OAAO,CAAC,iBAAW,CAAC;KACpB,OAAO,CAAC,iBAAa,CAAC;KACtB,OAAO,CAAC,iBAAS,CAAC;KAClB,IAAI,CAAC,UAAC,GAAG,EAAE,GAAG,EAAE,KAAK;IACpB,IAAI,GAAG,EAAE;QACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAClB;SAAM,IAAI,GAAG,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KACpB;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;KACD,MAAM,EAAE;KACR,aAAa,EAAE;KACf,IAAI,EAAE,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AAEA,gDAA0B;AAC1B,+DAA6C;AAC7C,iEAAiD;AACjD,6DAAyC;AACzC,gEAA+C;AAE/C,IAAA,eAAK,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACzB,MAAM,CAAC,SAAS,EAAE;IACjB,QAAQ,EAAE,qBAAqB;IAC/B,KAAK,EAAE,GAAG;CACX,CAAC;KACD,OAAO,CAAC,iBAAW,CAAC;KACpB,OAAO,CAAC,iBAAa,CAAC;KACtB,OAAO,CAAC,iBAAS,CAAC;KAClB,OAAO,CAAC,iBAAY,CAAC;KACrB,IAAI,CAAC,UAAC,GAAG,EAAE,GAAG,EAAE,KAAK;IACpB,IAAI,GAAG,EAAE;QACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAClB;SAAM,IAAI,GAAG,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KACpB;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;KACD,MAAM,EAAE;KACR,aAAa,EAAE;KACf,IAAI,EAAE,CAAC,IAAI,CAAC"}
@@ -48,4 +48,4 @@ function default_1(appId) {
48
48
  });
49
49
  }
50
50
  exports.default = default_1;
51
- //# sourceMappingURL=fetchStatus.js.map
51
+ //# sourceMappingURL=listFindingStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listFindingStatus.js","sourceRoot":"","sources":["../../../../src/integration/appland/app/listFindingStatus.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAsE;AAEtE,mBAA+B,KAAa;;;;wBACnC,qBAAM,IAAI,SAAG,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,EAAA;wBAA/C,sBAAO,SAAwC,EAAC;;;;CACjD;AAFD,4BAEC"}
@@ -50,54 +50,49 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
50
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
51
51
  };
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
- exports.AppMap = void 0;
53
+ exports.create = void 0;
54
54
  var src_1 = require("@appland/client/dist/src");
55
55
  var form_data_1 = __importDefault(require("form-data"));
56
- var AppMap = /** @class */ (function () {
57
- function AppMap() {
58
- }
59
- AppMap.upload = function (data, options) {
60
- if (options === void 0) { options = {}; }
61
- return __awaiter(this, void 0, void 0, function () {
62
- var form, request;
63
- return __generator(this, function (_a) {
64
- switch (_a.label) {
65
- case 0:
66
- form = new form_data_1.default();
67
- form.append('data', data.toString());
68
- if (options.app) {
69
- form.append('app', options.app);
70
- }
71
- return [4 /*yield*/, (0, src_1.buildRequest)('api/appmaps')];
72
- case 1:
73
- request = _a.sent();
74
- return [2 /*return*/, new Promise(function (resolve, reject) {
75
- var req = request.requestFunction(request.url, {
76
- method: 'POST',
77
- headers: __assign(__assign({}, request.headers), form.getHeaders()),
78
- }, resolve);
79
- req.on('error', reject);
80
- form.pipe(req);
81
- })
82
- .then(src_1.handleError)
83
- .then(function (response) {
84
- return new Promise(function (resolve, reject) {
85
- var responseData = [];
86
- response
87
- .on('data', function (chunk) {
88
- responseData.push(Buffer.from(chunk));
89
- })
90
- .on('end', function () {
91
- resolve(JSON.parse(Buffer.concat(responseData).toString()));
92
- })
93
- .on('error', reject);
94
- });
95
- })];
96
- }
97
- });
56
+ function create(data, options) {
57
+ if (options === void 0) { options = {}; }
58
+ return __awaiter(this, void 0, void 0, function () {
59
+ var form, request;
60
+ return __generator(this, function (_a) {
61
+ switch (_a.label) {
62
+ case 0:
63
+ form = new form_data_1.default();
64
+ form.append('data', data.toString());
65
+ if (options.app) {
66
+ form.append('app', options.app);
67
+ }
68
+ return [4 /*yield*/, (0, src_1.buildRequest)('api/appmaps')];
69
+ case 1:
70
+ request = _a.sent();
71
+ return [2 /*return*/, new Promise(function (resolve, reject) {
72
+ var req = request.requestFunction(request.url, {
73
+ method: 'POST',
74
+ headers: __assign(__assign({}, request.headers), form.getHeaders()),
75
+ }, resolve);
76
+ req.on('error', reject);
77
+ form.pipe(req);
78
+ })
79
+ .then(src_1.handleError)
80
+ .then(function (response) {
81
+ return new Promise(function (resolve, reject) {
82
+ var responseData = [];
83
+ response
84
+ .on('data', function (chunk) {
85
+ responseData.push(Buffer.from(chunk));
86
+ })
87
+ .on('end', function () {
88
+ resolve(JSON.parse(Buffer.concat(responseData).toString()));
89
+ })
90
+ .on('error', reject);
91
+ });
92
+ })];
93
+ }
98
94
  });
99
- };
100
- return AppMap;
101
- }());
102
- exports.AppMap = AppMap;
103
- //# sourceMappingURL=appMap.js.map
95
+ });
96
+ }
97
+ exports.create = create;
98
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/integration/appland/appMap/create.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,gDAAqE;AACrE,wDAAiC;AAUjC,SAAsB,MAAM,CAC1B,IAAY,EACZ,OAA2B;IAA3B,wBAAA,EAAA,YAA2B;;;;;;oBAErB,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;oBAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACrC,IAAI,OAAO,CAAC,GAAG,EAAE;wBACf,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;qBACjC;oBAEe,qBAAM,IAAA,kBAAY,EAAC,aAAa,CAAC,EAAA;;oBAA3C,OAAO,GAAG,SAAiC;oBACjD,sBAAO,IAAI,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;4BAClD,IAAM,GAAG,GAAG,OAAO,CAAC,eAAe,CACjC,OAAO,CAAC,GAAG,EACX;gCACE,MAAM,EAAE,MAAM;gCACd,OAAO,wBACF,OAAO,CAAC,OAAO,GACf,IAAI,CAAC,UAAU,EAAE,CACrB;6BACF,EACD,OAAO,CACR,CAAC;4BACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;4BACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACjB,CAAC,CAAC;6BACC,IAAI,CAAC,iBAAW,CAAC;6BACjB,IAAI,CAAC,UAAC,QAAyB;4BAC9B,OAAO,IAAI,OAAO,CAAuB,UAAC,OAAO,EAAE,MAAM;gCACvD,IAAM,YAAY,GAAa,EAAE,CAAC;gCAClC,QAAQ;qCACL,EAAE,CAAC,MAAM,EAAE,UAAC,KAAa;oCACxB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gCACxC,CAAC,CAAC;qCACD,EAAE,CAAC,KAAK,EAAE;oCACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAyB,CAAC,CAAC;gCACtF,CAAC,CAAC;qCACD,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;4BACzB,CAAC,CAAC,CAAC;wBACL,CAAC,CAAC,EAAC;;;;CACN;AAxCD,wBAwCC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=location.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location.js","sourceRoot":"","sources":["../../../src/integration/appland/location.ts"],"names":[],"mappings":""}
@@ -47,51 +47,46 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
47
47
  }
48
48
  };
49
49
  Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.Mapset = void 0;
50
+ exports.create = void 0;
51
51
  var src_1 = require("@appland/client/dist/src");
52
- var Mapset = /** @class */ (function () {
53
- function Mapset() {
54
- }
55
- Mapset.create = function (appId, appMapIds, options) {
56
- if (options === void 0) { options = {}; }
57
- return __awaiter(this, void 0, void 0, function () {
58
- var payload, request;
59
- return __generator(this, function (_a) {
60
- switch (_a.label) {
61
- case 0:
62
- console.log("Creating mapset in app " + appId + " with " + appMapIds.length + " AppMaps");
63
- payload = JSON.stringify(__assign({ app: appId, appmaps: appMapIds }, options));
64
- return [4 /*yield*/, (0, src_1.buildRequest)('api/mapsets')];
65
- case 1:
66
- request = _a.sent();
67
- return [2 /*return*/, new Promise(function (resolve, reject) {
68
- var req = request.requestFunction(request.url, {
69
- method: 'POST',
70
- headers: __assign({ 'Content-Type': 'application/json', 'Content-Length': payload.length }, request.headers),
71
- }, resolve);
72
- req.on('error', reject);
73
- req.write(payload);
74
- req.end();
75
- })
76
- .then(src_1.handleError)
77
- .then(function (response) {
78
- return new Promise(function (resolve, reject) {
79
- var responseData = [];
80
- response
81
- .on('data', function (chunk) {
82
- responseData.push(Buffer.from(chunk));
83
- })
84
- .on('end', function () {
85
- resolve(JSON.parse(Buffer.concat(responseData).toString()));
86
- })
87
- .on('error', reject);
88
- });
89
- })];
90
- }
91
- });
52
+ function create(appId, appMapIds, options) {
53
+ if (options === void 0) { options = {}; }
54
+ return __awaiter(this, void 0, void 0, function () {
55
+ var payload, request;
56
+ return __generator(this, function (_a) {
57
+ switch (_a.label) {
58
+ case 0:
59
+ console.log("Creating mapset in app " + appId + " with " + appMapIds.length + " AppMaps");
60
+ payload = JSON.stringify(__assign({ app: appId, appmaps: appMapIds }, options));
61
+ return [4 /*yield*/, (0, src_1.buildRequest)('api/mapsets')];
62
+ case 1:
63
+ request = _a.sent();
64
+ return [2 /*return*/, new Promise(function (resolve, reject) {
65
+ var req = request.requestFunction(request.url, {
66
+ method: 'POST',
67
+ headers: __assign({ 'Content-Type': 'application/json', 'Content-Length': payload.length }, request.headers),
68
+ }, resolve);
69
+ req.on('error', reject);
70
+ req.write(payload);
71
+ req.end();
72
+ })
73
+ .then(src_1.handleError)
74
+ .then(function (response) {
75
+ return new Promise(function (resolve, reject) {
76
+ var responseData = [];
77
+ response
78
+ .on('data', function (chunk) {
79
+ responseData.push(Buffer.from(chunk));
80
+ })
81
+ .on('end', function () {
82
+ resolve(JSON.parse(Buffer.concat(responseData).toString()));
83
+ })
84
+ .on('error', reject);
85
+ });
86
+ })];
87
+ }
92
88
  });
93
- };
94
- return Mapset;
95
- }());
96
- exports.Mapset = Mapset;
97
- //# sourceMappingURL=mapset.js.map
89
+ });
90
+ }
91
+ exports.create = create;
92
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/integration/appland/mapset/create.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,gDAAqE;AAsBrE,SAAsB,MAAM,CAC1B,KAAa,EACb,SAAmB,EACnB,OAA2B;IAA3B,wBAAA,EAAA,YAA2B;;;;;;oBAE3B,OAAO,CAAC,GAAG,CAAC,4BAA0B,KAAK,cAAS,SAAS,CAAC,MAAM,aAAU,CAAC,CAAC;oBAE1E,OAAO,GAAG,IAAI,CAAC,SAAS,YAC5B,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,SAAS,IACf,OAAO,EACV,CAAC;oBACa,qBAAM,IAAA,kBAAY,EAAC,aAAa,CAAC,EAAA;;oBAA3C,OAAO,GAAG,SAAiC;oBACjD,sBAAO,IAAI,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;4BAClD,IAAM,GAAG,GAAG,OAAO,CAAC,eAAe,CACjC,OAAO,CAAC,GAAG,EACX;gCACE,MAAM,EAAE,MAAM;gCACd,OAAO,aACL,cAAc,EAAE,kBAAkB,EAClC,gBAAgB,EAAE,OAAO,CAAC,MAAM,IAC7B,OAAO,CAAC,OAAO,CACnB;6BACF,EACD,OAAO,CACR,CAAC;4BACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;4BACxB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;4BACnB,GAAG,CAAC,GAAG,EAAE,CAAC;wBACZ,CAAC,CAAC;6BACC,IAAI,CAAC,iBAAW,CAAC;6BACjB,IAAI,CAAC,UAAC,QAAyB;4BAC9B,OAAO,IAAI,OAAO,CAAiB,UAAC,OAAO,EAAE,MAAM;gCACjD,IAAM,YAAY,GAAa,EAAE,CAAC;gCAClC,QAAQ;qCACL,EAAE,CAAC,MAAM,EAAE,UAAC,KAAa;oCACxB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gCACxC,CAAC,CAAC;qCACD,EAAE,CAAC,KAAK,EAAE;oCACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAmB,CAAC,CAAC;gCAChF,CAAC,CAAC;qCACD,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;4BACzB,CAAC,CAAC,CAAC;wBACL,CAAC,CAAC,EAAC;;;;CACN;AA5CD,wBA4CC"}
@@ -72,15 +72,16 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
72
72
  return to.concat(ar || Array.prototype.slice.call(from));
73
73
  };
74
74
  Object.defineProperty(exports, "__esModule", { value: true });
75
- var url_1 = require("url");
75
+ exports.create = void 0;
76
76
  var async_1 = require("async");
77
- var src_1 = require("@appland/client/dist/src");
78
- var appMap_1 = require("./appMap");
79
- var mapset_1 = require("./mapset");
80
77
  var promises_1 = require("fs/promises");
81
- function default_1(scanResults, appId) {
78
+ var url_1 = require("url");
79
+ var src_1 = require("@appland/client/dist/src");
80
+ var create_1 = require("../appMap/create");
81
+ var create_2 = require("../mapset/create");
82
+ function create(scanResults, appId, mergeKey) {
82
83
  return __awaiter(this, void 0, void 0, function () {
83
- var findings, relevantFilePaths, appMapUUIDByFileName, branchCount, commitCount, q, mostFrequent, branch, commit, mapset, uploadData, request;
84
+ var findings, relevantFilePaths, appMapUUIDByFileName, branchCount, commitCount, createAppMapOptions, q, mostFrequent, branch, commit, mapset, createScannerJobOptions, scanResultsData, request, uploadURL;
84
85
  return __generator(this, function (_a) {
85
86
  switch (_a.label) {
86
87
  case 0:
@@ -90,6 +91,9 @@ function default_1(scanResults, appId) {
90
91
  appMapUUIDByFileName = {};
91
92
  branchCount = {};
92
93
  commitCount = {};
94
+ createAppMapOptions = {
95
+ app: appId,
96
+ };
93
97
  q = (0, async_1.queue)(function (filePath, callback) {
94
98
  console.log("Uploading AppMap " + filePath);
95
99
  (0, promises_1.readFile)(filePath)
@@ -106,7 +110,7 @@ function default_1(scanResults, appId) {
106
110
  commitCount[commit] || (commitCount[commit] = 1);
107
111
  commitCount[commit] += 1;
108
112
  }
109
- return appMap_1.AppMap.upload(buffer, { app: appId });
113
+ return (0, create_1.create)(buffer, createAppMapOptions);
110
114
  })
111
115
  .then(function (appMap) {
112
116
  if (appMap) {
@@ -132,43 +136,47 @@ function default_1(scanResults, appId) {
132
136
  };
133
137
  branch = mostFrequent(branchCount);
134
138
  commit = mostFrequent(commitCount);
135
- return [4 /*yield*/, mapset_1.Mapset.create(appId, Object.values(appMapUUIDByFileName), {
139
+ return [4 /*yield*/, (0, create_2.create)(appId, Object.values(appMapUUIDByFileName), {
136
140
  branch: branch,
137
141
  commit: commit,
138
142
  })];
139
143
  case 2:
140
144
  mapset = _a.sent();
141
145
  console.warn('Uploading findings');
142
- uploadData = JSON.stringify({
146
+ createScannerJobOptions = {
143
147
  scan_results: scanResults,
144
148
  mapset: mapset.id,
145
149
  appmap_uuid_by_file_name: appMapUUIDByFileName,
146
- });
150
+ };
151
+ if (mergeKey)
152
+ createScannerJobOptions.merge_key = mergeKey;
153
+ scanResultsData = JSON.stringify(createScannerJobOptions);
147
154
  return [4 /*yield*/, (0, src_1.buildRequest)('api/scanner_jobs')];
148
155
  case 3:
149
156
  request = _a.sent();
150
157
  return [2 /*return*/, new Promise(function (resolve, reject) {
151
158
  var req = request.requestFunction(request.url, {
152
159
  method: 'POST',
153
- headers: __assign({ 'Content-Type': 'application/json', 'Content-Length': uploadData.length }, request.headers),
160
+ headers: __assign({ 'Content-Type': 'application/json', 'Content-Length': scanResultsData.length }, request.headers),
154
161
  }, resolve);
155
162
  req.on('error', reject);
156
- req.write(uploadData);
163
+ req.write(scanResultsData);
157
164
  req.end();
158
165
  })
159
166
  .then(src_1.handleError)
160
167
  .then(function (response) {
161
- var message = "Uploaded " + scanResults.findings.length + " findings";
162
168
  if (response.headers.location) {
163
- var uploadURL = new url_1.URL(response.headers.location, request.url.href);
164
- message += " to " + uploadURL;
169
+ uploadURL = new url_1.URL(response.headers.location, request.url.href);
165
170
  }
166
- console.log(message);
167
- return request.url;
171
+ return (0, src_1.reportJSON)(response);
172
+ })
173
+ .then(function (uploadResponse) {
174
+ uploadResponse.url = uploadURL;
175
+ return uploadResponse;
168
176
  })];
169
177
  }
170
178
  });
171
179
  });
172
180
  }
173
- exports.default = default_1;
174
- //# sourceMappingURL=upload.js.map
181
+ exports.create = create;
182
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/integration/appland/scannerJob/create.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+BAA8B;AAC9B,wCAAuC;AACvC,2BAA0B;AAG1B,gDAAiF;AAGjF,2CAI0B;AAC1B,2CAA0D;AAc1D,SAAsB,MAAM,CAC1B,WAAwB,EACxB,KAAa,EACb,QAAiB;;;;;;oBAEjB,OAAO,CAAC,IAAI,CAAC,oDAAkD,KAAK,MAAG,CAAC,CAAC;oBAEjE,QAAQ,GAAK,WAAW,SAAhB,CAAiB;oBAE3B,iBAAiB,GAAG,yBACrB,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,UAAU,EAAZ,CAAY,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,UAAU,EAAZ,CAAY,CAAC,CAAC,SAC9D,CAAC;oBAER,oBAAoB,GAA2B,EAAE,CAAC;oBAClD,WAAW,GAA2B,EAAE,CAAC;oBACzC,WAAW,GAA2B,EAAE,CAAC;oBAEzC,mBAAmB,GAAG;wBAC1B,GAAG,EAAE,KAAK;qBACY,CAAC;oBAEnB,CAAC,GAAG,IAAA,aAAK,EAAC,UAAC,QAAgB,EAAE,QAAQ;wBACzC,OAAO,CAAC,GAAG,CAAC,sBAAoB,QAAU,CAAC,CAAC;wBAE5C,IAAA,mBAAQ,EAAC,QAAQ,CAAC;6BACf,IAAI,CAAC,UAAC,MAAc;;4BACnB,IAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAiB,CAAC;4BACnE,IAAM,MAAM,GAAG,MAAA,YAAY,CAAC,QAAQ,CAAC,GAAG,0CAAE,MAAM,CAAC;4BACjD,IAAM,MAAM,GAAG,MAAA,YAAY,CAAC,QAAQ,CAAC,GAAG,0CAAE,MAAM,CAAC;4BACjD,IAAI,MAAM,EAAE;gCACV,WAAW,CAAC,MAAM,MAAlB,WAAW,CAAC,MAAM,IAAM,CAAC,EAAC;gCAC1B,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;6BAC1B;4BACD,IAAI,MAAM,EAAE;gCACV,WAAW,CAAC,MAAM,MAAlB,WAAW,CAAC,MAAM,IAAM,CAAC,EAAC;gCAC1B,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;6BAC1B;4BAED,OAAO,IAAA,eAAY,EAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;wBACnD,CAAC,CAAC;6BACD,IAAI,CAAC,UAAC,MAA4B;4BACjC,IAAI,MAAM,EAAE;gCACV,oBAAoB,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;6BAC9C;wBACH,CAAC,CAAC;6BACD,IAAI,CAAC,cAAM,OAAA,QAAQ,EAAE,EAAV,CAAU,CAAC;6BACtB,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACrB,CAAC,EAAE,CAAC,CAAC,CAAC;oBACN,CAAC,CAAC,KAAK,CAAC,UAAC,GAAG,EAAE,QAAgB;wBAC5B,OAAO,CAAC,KAAK,CAAC,iCAA+B,QAAQ,UAAK,GAAK,CAAC,CAAC;oBACnE,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,eAAa,iBAAiB,CAAC,MAAM,aAAU,CAAC,CAAC;oBAC7D,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBAC1B,qBAAM,CAAC,CAAC,KAAK,EAAE,EAAA;;oBAAf,SAAe,CAAC;oBAEV,YAAY,GAAG,UAAC,MAA8B;wBAClD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;4BAAE,OAAO;wBAE7C,IAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,KAAK,IAAK,OAAA,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,EAApB,CAAoB,EAAE,CAAC,CAAC,CAAC;wBACvF,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAjB,CAAiB,CAAE,CAAC,CAAC,CAAC,CAAC;oBACnE,CAAC,CAAC;oBAEI,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;oBACnC,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;oBAC1B,qBAAM,IAAA,eAAY,EAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE;4BAC5E,MAAM,QAAA;4BACN,MAAM,QAAA;yBACP,CAAC,EAAA;;oBAHI,MAAM,GAAG,SAGb;oBAEF,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBAE7B,uBAAuB,GAAG;wBAC9B,YAAY,EAAE,WAAW;wBACzB,MAAM,EAAE,MAAM,CAAC,EAAE;wBACjB,wBAAwB,EAAE,oBAAoB;qBAC9B,CAAC;oBACnB,IAAI,QAAQ;wBAAE,uBAAuB,CAAC,SAAS,GAAG,QAAQ,CAAC;oBACrD,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;oBAEhD,qBAAM,IAAA,kBAAY,EAAC,kBAAkB,CAAC,EAAA;;oBAAhD,OAAO,GAAG,SAAsC;oBAEtD,sBAAO,IAAI,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;4BAClD,IAAM,GAAG,GAAG,OAAO,CAAC,eAAe,CACjC,OAAO,CAAC,GAAG,EACX;gCACE,MAAM,EAAE,MAAM;gCACd,OAAO,aACL,cAAc,EAAE,kBAAkB,EAClC,gBAAgB,EAAE,eAAe,CAAC,MAAM,IACrC,OAAO,CAAC,OAAO,CACnB;6BACF,EACD,OAAO,CACR,CAAC;4BACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;4BACxB,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;4BAC3B,GAAG,CAAC,GAAG,EAAE,CAAC;wBACZ,CAAC,CAAC;6BACC,IAAI,CAAC,iBAAW,CAAC;6BACjB,IAAI,CAAC,UAAC,QAAQ;4BACb,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE;gCAC7B,SAAS,GAAG,IAAI,SAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;6BAClE;4BACD,OAAO,IAAA,gBAAU,EAAiB,QAAQ,CAAC,CAAC;wBAC9C,CAAC,CAAC;6BACD,IAAI,CAAC,UAAC,cAAc;4BACnB,cAAc,CAAC,GAAG,GAAG,SAAS,CAAC;4BAC/B,OAAO,cAAc,CAAC;wBACxB,CAAC,CAAC,EAAC;;;;CACN;AA7GD,wBA6GC"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.merge = void 0;
51
+ var src_1 = require("@appland/client/dist/src");
52
+ var url_1 = require("url");
53
+ function merge(appId, mergeKey) {
54
+ return __awaiter(this, void 0, void 0, function () {
55
+ var payload, request, uploadURL;
56
+ return __generator(this, function (_a) {
57
+ switch (_a.label) {
58
+ case 0:
59
+ console.log("Merging scan results in app " + appId + " with merge key " + mergeKey);
60
+ payload = JSON.stringify({
61
+ app: appId,
62
+ merge_key: mergeKey,
63
+ });
64
+ return [4 /*yield*/, (0, src_1.buildRequest)('api/scanner_jobs/merge')];
65
+ case 1:
66
+ request = _a.sent();
67
+ return [2 /*return*/, new Promise(function (resolve, reject) {
68
+ var req = request.requestFunction(request.url, {
69
+ method: 'POST',
70
+ headers: __assign({ 'Content-Type': 'application/json', 'Content-Length': payload.length }, request.headers),
71
+ }, resolve);
72
+ req.on('error', reject);
73
+ req.write(payload);
74
+ req.end();
75
+ })
76
+ .then(src_1.handleError)
77
+ .then(function (response) {
78
+ if (response.headers.location) {
79
+ uploadURL = new url_1.URL(response.headers.location, request.url.href);
80
+ }
81
+ return (0, src_1.reportJSON)(response);
82
+ })
83
+ .then(function (uploadResponse) {
84
+ uploadResponse.url = uploadURL;
85
+ return uploadResponse;
86
+ })];
87
+ }
88
+ });
89
+ });
90
+ }
91
+ exports.merge = merge;
92
+ //# sourceMappingURL=merge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../src/integration/appland/scannerJob/merge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,gDAAiF;AAGjF,2BAA0B;AAI1B,SAAsB,KAAK,CAAC,KAAa,EAAE,QAAgB;;;;;;oBACzD,OAAO,CAAC,GAAG,CAAC,iCAA+B,KAAK,wBAAmB,QAAU,CAAC,CAAC;oBAEzE,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;wBAC7B,GAAG,EAAE,KAAK;wBACV,SAAS,EAAE,QAAQ;qBACpB,CAAC,CAAC;oBACa,qBAAM,IAAA,kBAAY,EAAC,wBAAwB,CAAC,EAAA;;oBAAtD,OAAO,GAAG,SAA4C;oBAE5D,sBAAO,IAAI,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;4BAClD,IAAM,GAAG,GAAG,OAAO,CAAC,eAAe,CACjC,OAAO,CAAC,GAAG,EACX;gCACE,MAAM,EAAE,MAAM;gCACd,OAAO,aACL,cAAc,EAAE,kBAAkB,EAClC,gBAAgB,EAAE,OAAO,CAAC,MAAM,IAC7B,OAAO,CAAC,OAAO,CACnB;6BACF,EACD,OAAO,CACR,CAAC;4BACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;4BACxB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;4BACnB,GAAG,CAAC,GAAG,EAAE,CAAC;wBACZ,CAAC,CAAC;6BACC,IAAI,CAAC,iBAAW,CAAC;6BACjB,IAAI,CAAC,UAAC,QAAQ;4BACb,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE;gCAC7B,SAAS,GAAG,IAAI,SAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;6BAClE;4BACD,OAAO,IAAA,gBAAU,EAAgB,QAAQ,CAAC,CAAC;wBAC7C,CAAC,CAAC;6BACD,IAAI,CAAC,UAAC,cAAc;4BACnB,cAAc,CAAC,GAAG,GAAG,SAAS,CAAC;4BAC/B,OAAO,cAAc,CAAC;wBACxB,CAAC,CAAC,EAAC;;;;CACN;AArCD,sBAqCC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=scannerJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scannerJob.js","sourceRoot":"","sources":["../../../src/integration/appland/scannerJob.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appland/scanner",
3
- "version": "1.42.0",
3
+ "version": "1.44.2",
4
4
  "description": "",
5
5
  "bin": "built/cli.js",
6
6
  "files": [
@@ -25,10 +25,14 @@
25
25
  "devDependencies": {
26
26
  "@semantic-release/changelog": "^6.0.1",
27
27
  "@semantic-release/git": "^10.0.1",
28
- "@types/glob": "^7.1.4",
28
+ "@types/async": "^3.2.12",
29
+ "@types/glob": "^7.2.0",
29
30
  "@types/jest": "^27.0.1",
30
31
  "@types/js-yaml": "^4.0.3",
32
+ "@types/lru-cache": "^5.1.1",
31
33
  "@types/node": "^16.7.10",
34
+ "@types/sinon": "^10.0.2",
35
+ "@types/tar-stream": "^2.2.2",
32
36
  "@types/yargs": "^17.0.2",
33
37
  "@typescript-eslint/eslint-plugin": "^4.30.0",
34
38
  "@typescript-eslint/parser": "^4.30.0",
@@ -51,16 +55,13 @@
51
55
  "dependencies": {
52
56
  "@appland/client": "^1.1.3",
53
57
  "@appland/models": "^1.12.1",
54
- "@appland/sql-parser": "^1.1.1",
55
- "@types/async": "^3.2.12",
56
- "@types/lru-cache": "^5.1.1",
57
- "@types/sinon": "^10.0.2",
58
- "@types/tar-stream": "^2.2.2",
58
+ "@appland/sql-parser": "^1.3.0",
59
59
  "ajv": "^8.8.2",
60
60
  "ansi-escapes": "^5.0.0",
61
61
  "async": "^3.2.3",
62
62
  "chalk": "^4.1.2",
63
63
  "form-data": "^4.0.0",
64
+ "glob": "^7.2.0",
64
65
  "js-yaml": "^4.1.0",
65
66
  "lru-cache": "^6.0.0",
66
67
  "minimatch": "^3.0.4",
@@ -1 +0,0 @@
1
- {"version":3,"file":"appMap.js","sourceRoot":"","sources":["../../../src/integration/appland/appMap.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,gDAAqE;AACrE,wDAAiC;AAUjC;IAAA;IAuCA,CAAC;IAtCc,aAAM,GAAnB,UAAoB,IAAY,EAAE,OAA2B;QAA3B,wBAAA,EAAA,YAA2B;;;;;;wBACrD,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACrC,IAAI,OAAO,CAAC,GAAG,EAAE;4BACf,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;yBACjC;wBAEe,qBAAM,IAAA,kBAAY,EAAC,aAAa,CAAC,EAAA;;wBAA3C,OAAO,GAAG,SAAiC;wBACjD,sBAAO,IAAI,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;gCAClD,IAAM,GAAG,GAAG,OAAO,CAAC,eAAe,CACjC,OAAO,CAAC,GAAG,EACX;oCACE,MAAM,EAAE,MAAM;oCACd,OAAO,wBACF,OAAO,CAAC,OAAO,GACf,IAAI,CAAC,UAAU,EAAE,CACrB;iCACF,EACD,OAAO,CACR,CAAC;gCACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gCACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACjB,CAAC,CAAC;iCACC,IAAI,CAAC,iBAAW,CAAC;iCACjB,IAAI,CAAC,UAAC,QAAyB;gCAC9B,OAAO,IAAI,OAAO,CAAuB,UAAC,OAAO,EAAE,MAAM;oCACvD,IAAM,YAAY,GAAa,EAAE,CAAC;oCAClC,QAAQ;yCACL,EAAE,CAAC,MAAM,EAAE,UAAC,KAAa;wCACxB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oCACxC,CAAC,CAAC;yCACD,EAAE,CAAC,KAAK,EAAE;wCACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAyB,CAAC,CAAC;oCACtF,CAAC,CAAC;yCACD,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gCACzB,CAAC,CAAC,CAAC;4BACL,CAAC,CAAC,EAAC;;;;KACN;IACH,aAAC;AAAD,CAAC,AAvCD,IAuCC;AAvCY,wBAAM"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchStatus.js","sourceRoot":"","sources":["../../../src/integration/appland/fetchStatus.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAsE;AAEtE,mBAA+B,KAAa;;;;wBACnC,qBAAM,IAAI,SAAG,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,EAAA;wBAA/C,sBAAO,SAAwC,EAAC;;;;CACjD;AAFD,4BAEC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mapset.js","sourceRoot":"","sources":["../../../src/integration/appland/mapset.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,gDAAqE;AAsBrE;IAAA;IA8CA,CAAC;IA7Cc,aAAM,GAAnB,UACE,KAAa,EACb,SAAmB,EACnB,OAA2B;QAA3B,wBAAA,EAAA,YAA2B;;;;;;wBAE3B,OAAO,CAAC,GAAG,CAAC,4BAA0B,KAAK,cAAS,SAAS,CAAC,MAAM,aAAU,CAAC,CAAC;wBAE1E,OAAO,GAAG,IAAI,CAAC,SAAS,YAC5B,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,SAAS,IACf,OAAO,EACV,CAAC;wBACa,qBAAM,IAAA,kBAAY,EAAC,aAAa,CAAC,EAAA;;wBAA3C,OAAO,GAAG,SAAiC;wBACjD,sBAAO,IAAI,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;gCAClD,IAAM,GAAG,GAAG,OAAO,CAAC,eAAe,CACjC,OAAO,CAAC,GAAG,EACX;oCACE,MAAM,EAAE,MAAM;oCACd,OAAO,aACL,cAAc,EAAE,kBAAkB,EAClC,gBAAgB,EAAE,OAAO,CAAC,MAAM,IAC7B,OAAO,CAAC,OAAO,CACnB;iCACF,EACD,OAAO,CACR,CAAC;gCACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gCACxB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gCACnB,GAAG,CAAC,GAAG,EAAE,CAAC;4BACZ,CAAC,CAAC;iCACC,IAAI,CAAC,iBAAW,CAAC;iCACjB,IAAI,CAAC,UAAC,QAAyB;gCAC9B,OAAO,IAAI,OAAO,CAAiB,UAAC,OAAO,EAAE,MAAM;oCACjD,IAAM,YAAY,GAAa,EAAE,CAAC;oCAClC,QAAQ;yCACL,EAAE,CAAC,MAAM,EAAE,UAAC,KAAa;wCACxB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oCACxC,CAAC,CAAC;yCACD,EAAE,CAAC,KAAK,EAAE;wCACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAmB,CAAC,CAAC;oCAChF,CAAC,CAAC;yCACD,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gCACzB,CAAC,CAAC,CAAC;4BACL,CAAC,CAAC,EAAC;;;;KACN;IACH,aAAC;AAAD,CAAC,AA9CD,IA8CC;AA9CY,wBAAM"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/integration/appland/upload.ts"],"names":[],"mappings":"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"}