@appland/scanner 1.41.1 → 1.44.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/built/appMapIndex.js +40 -0
  2. package/built/appMapIndex.js.map +1 -0
  3. package/built/check.js +3 -3
  4. package/built/check.js.map +1 -1
  5. package/built/checkInstance.js +4 -4
  6. package/built/checkInstance.js.map +1 -1
  7. package/built/cli/ci/command.js +22 -26
  8. package/built/cli/ci/command.js.map +1 -1
  9. package/built/cli/fail.js +13 -0
  10. package/built/cli/fail.js.map +1 -0
  11. package/built/cli/merge/command.js +102 -0
  12. package/built/cli/merge/command.js.map +1 -0
  13. package/built/cli/merge/options.js +3 -0
  14. package/built/cli/merge/options.js.map +1 -0
  15. package/built/cli/reportUploadURL.js +11 -0
  16. package/built/cli/reportUploadURL.js.map +1 -0
  17. package/built/cli/scan/command.js +5 -1
  18. package/built/cli/scan/command.js.map +1 -1
  19. package/built/cli/scan/scanner.js +2 -2
  20. package/built/cli/scan/scanner.js.map +1 -1
  21. package/built/cli/scan.js +4 -2
  22. package/built/cli/scan.js.map +1 -1
  23. package/built/cli/updateCommitStatus.js +65 -0
  24. package/built/cli/updateCommitStatus.js.map +1 -0
  25. package/built/cli/upload/command.js +10 -5
  26. package/built/cli/upload/command.js.map +1 -1
  27. package/built/cli.js +2 -0
  28. package/built/cli.js.map +1 -1
  29. package/built/database/index.js +136 -161
  30. package/built/database/index.js.map +1 -1
  31. package/built/integration/appland/{fetchStatus.js → app/listFindingStatus.js} +1 -1
  32. package/built/integration/appland/app/listFindingStatus.js.map +1 -0
  33. package/built/integration/appland/{appMap.js → appMap/create.js} +43 -48
  34. package/built/integration/appland/appMap/create.js.map +1 -0
  35. package/built/integration/appland/location.js +3 -0
  36. package/built/integration/appland/location.js.map +1 -0
  37. package/built/integration/appland/{mapset.js → mapset/create.js} +41 -46
  38. package/built/integration/appland/mapset/create.js.map +1 -0
  39. package/built/integration/appland/{upload.js → scannerJob/create.js} +27 -19
  40. package/built/integration/appland/scannerJob/create.js.map +1 -0
  41. package/built/integration/appland/scannerJob/merge.js +92 -0
  42. package/built/integration/appland/scannerJob/merge.js.map +1 -0
  43. package/built/integration/appland/scannerJob.js +3 -0
  44. package/built/integration/appland/scannerJob.js.map +1 -0
  45. package/built/report/summaryReport.js +1 -1
  46. package/built/report/summaryReport.js.map +1 -1
  47. package/built/ruleChecker.js +12 -11
  48. package/built/ruleChecker.js.map +1 -1
  49. package/built/rules/circularDependency.js +1 -0
  50. package/built/rules/circularDependency.js.map +1 -1
  51. package/built/rules/deserializationOfUntrustedData.js +2 -0
  52. package/built/rules/deserializationOfUntrustedData.js.map +1 -1
  53. package/built/rules/http500.js +1 -0
  54. package/built/rules/http500.js.map +1 -1
  55. package/built/rules/illegalPackageDependency.js +1 -0
  56. package/built/rules/illegalPackageDependency.js.map +1 -1
  57. package/built/rules/incompatibleHttpClientRequest.js +1 -0
  58. package/built/rules/incompatibleHttpClientRequest.js.map +1 -1
  59. package/built/rules/insecureCompare.js +1 -0
  60. package/built/rules/insecureCompare.js.map +1 -1
  61. package/built/rules/lib/matchEvent.js +3 -4
  62. package/built/rules/lib/matchEvent.js.map +1 -1
  63. package/built/rules/logoutWithoutSessionReset.js +2 -0
  64. package/built/rules/logoutWithoutSessionReset.js.map +1 -1
  65. package/built/rules/nPlusOneQuery.js +2 -2
  66. package/built/rules/nPlusOneQuery.js.map +1 -1
  67. package/built/rules/tooManyJoins.js +3 -3
  68. package/built/rules/tooManyJoins.js.map +1 -1
  69. package/built/rules/unbatchedMaterializedQuery.js +3 -4
  70. package/built/rules/unbatchedMaterializedQuery.js.map +1 -1
  71. package/built/scope/sqlTransactionScope.js +3 -2
  72. package/built/scope/sqlTransactionScope.js.map +1 -1
  73. package/built/sqlWarning.js +56 -0
  74. package/built/sqlWarning.js.map +1 -0
  75. package/package.json +8 -5
  76. package/built/integration/appland/appMap.js.map +0 -1
  77. package/built/integration/appland/fetchStatus.js.map +0 -1
  78. package/built/integration/appland/mapset.js.map +0 -1
  79. package/built/integration/appland/upload.js.map +0 -1
@@ -0,0 +1,40 @@
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 models_1 = require("@appland/models");
7
+ var lru_cache_1 = __importDefault(require("lru-cache"));
8
+ var sqlWarning_1 = __importDefault(require("./sqlWarning"));
9
+ var NormalizedSQLBySQLString = new lru_cache_1.default({ max: 10000 });
10
+ var ASTBySQLString = new lru_cache_1.default({ max: 1000 });
11
+ var AppMapIndex = /** @class */ (function () {
12
+ function AppMapIndex(appMap) {
13
+ this.appMap = appMap;
14
+ }
15
+ AppMapIndex.prototype.sqlAST = function (event) {
16
+ if (!event.sql)
17
+ throw new Error(event.fqid + " is not a SQL query");
18
+ var sql = this.sqlNormalized(event);
19
+ var ast = ASTBySQLString.get(sql);
20
+ if (!ast) {
21
+ ast = (0, models_1.parseSQL)(sql, sqlWarning_1.default);
22
+ ast ? ASTBySQLString.set(sql, ast) : ASTBySQLString.set(sql, []);
23
+ }
24
+ return ast;
25
+ };
26
+ AppMapIndex.prototype.sqlNormalized = function (event) {
27
+ if (!event.sql)
28
+ throw new Error(event.fqid + " is not a SQL query");
29
+ var cacheKey = [event.sql.database_type, event.sql.sql].join(':');
30
+ var sql = NormalizedSQLBySQLString.get(cacheKey);
31
+ if (!sql) {
32
+ sql = (0, models_1.normalizeSQL)(event.sql.sql, event.sql.database_type);
33
+ NormalizedSQLBySQLString.set(cacheKey, sql);
34
+ }
35
+ return sql;
36
+ };
37
+ return AppMapIndex;
38
+ }());
39
+ exports.default = AppMapIndex;
40
+ //# sourceMappingURL=appMapIndex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appMapIndex.js","sourceRoot":"","sources":["../src/appMapIndex.ts"],"names":[],"mappings":";;;;;AAAA,0CAAwE;AAExE,wDAAiC;AACjC,4DAAsC;AAEtC,IAAM,wBAAwB,GAAG,IAAI,mBAAQ,CAAiB,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9E,IAAM,cAAc,GAAG,IAAI,mBAAQ,CAAmB,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AAErE;IACE,qBAAmB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAErC,4BAAM,GAAN,UAAO,KAAY;QACjB,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAI,KAAK,CAAC,IAAI,wBAAqB,CAAC,CAAC;QAEpE,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,EAAE;YACR,GAAG,GAAG,IAAA,iBAAQ,EAAC,GAAG,EAAE,oBAAU,CAAC,CAAC;YAChC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAS,CAAC,CAAC;SACzE;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,mCAAa,GAAb,UAAc,KAAY;QACxB,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAI,KAAK,CAAC,IAAI,wBAAqB,CAAC,CAAC;QAEpE,IAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpE,IAAI,GAAG,GAAG,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,EAAE;YACR,GAAG,GAAG,IAAA,qBAAY,EAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC3D,wBAAwB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;SAC7C;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACH,kBAAC;AAAD,CAAC,AA1BD,IA0BC"}
package/built/check.js CHANGED
@@ -15,14 +15,14 @@ var Check = /** @class */ (function () {
15
15
  this.includeEvent = [];
16
16
  this.excludeEvent = [];
17
17
  }
18
- Check.prototype.filterScope = function (event, appMap) {
19
- if (this.includeScope.length > 0 && !this.includeScope.every(function (fn) { return fn(event, appMap); })) {
18
+ Check.prototype.filterScope = function (event, appMapIndex) {
19
+ if (this.includeScope.length > 0 && !this.includeScope.every(function (fn) { return fn(event, appMapIndex); })) {
20
20
  if ((0, util_1.verbose)()) {
21
21
  console.warn("\t'includeScope' clause is not satisifed.");
22
22
  }
23
23
  return false;
24
24
  }
25
- if (this.excludeScope.some(function (fn) { return fn(event, appMap); })) {
25
+ if (this.excludeScope.some(function (fn) { return fn(event, appMapIndex); })) {
26
26
  if ((0, util_1.verbose)()) {
27
27
  console.warn("\t'excludeScope' clause is not satisifed.");
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":";;AACA,yCAA2C;AAG3C;IASE,eAAmB,IAAU,EAAE,OAA6B;QAAzC,SAAI,GAAJ,IAAI,CAAM;QAC3B,SAAS,WAAW;YAClB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,2BAAW,GAAX,UAAY,KAAY,EAAE,MAAe;QACvC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAjB,CAAiB,CAAC,EAAE;YACvF,IAAI,IAAA,cAAO,GAAE,EAAE;gBACb,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;aAC3D;YACD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAjB,CAAiB,CAAC,EAAE;YACrD,IAAI,IAAA,cAAO,GAAE,EAAE;gBACb,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;aAC3D;YACD,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAQ,GAAR;QACE,IAAM,MAAM,GAAG,CAAC,MAAI,IAAI,CAAC,IAAI,CAAC,EAAE,MAAG,CAAC,CAAC;QACrC,4DAA4D;QAC5D,IAAM,IAAI,GAAQ,IAAI,CAAC;QACvB,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;YAC3E,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,MAAM,CAAC,IAAI,CAAC,MAAI,GAAG,SAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAG,CAAC,CAAC;aACnD;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACH,YAAC;AAAD,CAAC,AAlDD,IAkDC"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":";;AACA,yCAA2C;AAG3C;IASE,eAAmB,IAAU,EAAE,OAA6B;QAAzC,SAAI,GAAJ,IAAI,CAAM;QAC3B,SAAS,WAAW;YAClB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,2BAAW,GAAX,UAAY,KAAY,EAAE,WAAwB;QAChD,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,EAAtB,CAAsB,CAAC,EAAE;YAC5F,IAAI,IAAA,cAAO,GAAE,EAAE;gBACb,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;aAC3D;YACD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,EAAtB,CAAsB,CAAC,EAAE;YAC1D,IAAI,IAAA,cAAO,GAAE,EAAE;gBACb,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;aAC3D;YACD,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAQ,GAAR;QACE,IAAM,MAAM,GAAG,CAAC,MAAI,IAAI,CAAC,IAAI,CAAC,EAAE,MAAG,CAAC,CAAC;QACrC,4DAA4D;QAC5D,IAAM,IAAI,GAAQ,IAAI,CAAC;QACvB,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;YAC3E,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,MAAM,CAAC,IAAI,CAAC,MAAI,GAAG,SAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAG,CAAC,CAAC;aACnD;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACH,YAAC;AAAD,CAAC,AAlDD,IAkDC"}
@@ -41,21 +41,21 @@ var CheckInstance = /** @class */ (function () {
41
41
  enumerable: false,
42
42
  configurable: true
43
43
  });
44
- CheckInstance.prototype.filterEvent = function (event, appMap) {
45
- if (this.ruleLogic.where && !this.ruleLogic.where(event, appMap)) {
44
+ CheckInstance.prototype.filterEvent = function (event, appMapIndex) {
45
+ if (this.ruleLogic.where && !this.ruleLogic.where(event, appMapIndex)) {
46
46
  if ((0, util_1.verbose)()) {
47
47
  console.warn("\t'where' clause is not satisifed.");
48
48
  }
49
49
  return false;
50
50
  }
51
51
  if (this.check.includeEvent.length > 0 &&
52
- !this.check.includeEvent.every(function (fn) { return fn(event, appMap); })) {
52
+ !this.check.includeEvent.every(function (fn) { return fn(event, appMapIndex); })) {
53
53
  if ((0, util_1.verbose)()) {
54
54
  console.warn("\t'includeEvent' clause is not satisifed.");
55
55
  }
56
56
  return false;
57
57
  }
58
- if (this.check.excludeEvent.some(function (fn) { return fn(event, appMap); })) {
58
+ if (this.check.excludeEvent.some(function (fn) { return fn(event, appMapIndex); })) {
59
59
  if ((0, util_1.verbose)()) {
60
60
  console.warn("\t'excludeEvent' clause is not satisifed.");
61
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkInstance.js","sourceRoot":"","sources":["../src/checkInstance.ts"],"names":[],"mappings":";;AAEA,yCAA2C;AAG3C;IAIE,uBAAY,KAAY;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,sBAAI,kCAAO;aAAX;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAI,iCAAM;aAAV;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,CAAC;;;OAAA;IAED,sBAAI,gCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B,CAAC;;;OAAA;IAED,sBAAI,gCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAI,yCAAc;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;QACxC,CAAC;;;OAAA;IAED,mCAAW,GAAX,UAAY,KAAY,EAAE,MAAe;QACvC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;YAChE,IAAI,IAAA,cAAO,GAAE,EAAE;gBACb,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;aACpD;YACD,OAAO,KAAK,CAAC;SACd;QAED,IACE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YAClC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAjB,CAAiB,CAAC,EACzD;YACA,IAAI,IAAA,cAAO,GAAE,EAAE;gBACb,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;aAC3D;YACD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAjB,CAAiB,CAAC,EAAE;YAC3D,IAAI,IAAA,cAAO,GAAE,EAAE;gBACb,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;aAC3D;YACD,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACH,oBAAC;AAAD,CAAC,AAtDD,IAsDC"}
1
+ {"version":3,"file":"checkInstance.js","sourceRoot":"","sources":["../src/checkInstance.ts"],"names":[],"mappings":";;AAEA,yCAA2C;AAG3C;IAIE,uBAAY,KAAY;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,sBAAI,kCAAO;aAAX;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAI,iCAAM;aAAV;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,CAAC;;;OAAA;IAED,sBAAI,gCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B,CAAC;;;OAAA;IAED,sBAAI,gCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAI,yCAAc;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;QACxC,CAAC;;;OAAA;IAED,mCAAW,GAAX,UAAY,KAAY,EAAE,WAAwB;QAChD,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE;YACrE,IAAI,IAAA,cAAO,GAAE,EAAE;gBACb,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;aACpD;YACD,OAAO,KAAK,CAAC;SACd;QAED,IACE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YAClC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,EAAtB,CAAsB,CAAC,EAC9D;YACA,IAAI,IAAA,cAAO,GAAE,EAAE;gBACb,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;aAC3D;YACD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,EAAtB,CAAsB,CAAC,EAAE;YAChE,IAAI,IAAA,cAAO,GAAE,EAAE;gBACb,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;aAC3D;YACD,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACH,oBAAC;AAAD,CAAC,AAtDD,IAsDC"}
@@ -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":"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"}
@@ -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"}
@@ -121,7 +121,7 @@ exports.default = {
121
121
  },
122
122
  handler: function (options) {
123
123
  return __awaiter(this, void 0, void 0, function () {
124
- var _a, appmapDir, appmapFile, config, isVerbose, reportAllFindings, appIdArg, apiKey, ide, reportFile, files, glob, configData, scanner, _b, rawScanResults, findingStatuses, scanResults, err_1;
124
+ var _a, appmapDir, appmapFile, config, isVerbose, reportAllFindings, appIdArg, apiKey, ide, reportFile, files, glob, configData, scanner, startTime, _b, rawScanResults, findingStatuses, scanResults, elapsed, numChecks, err_1;
125
125
  return __generator(this, function (_c) {
126
126
  switch (_c.label) {
127
127
  case 0:
@@ -162,6 +162,7 @@ exports.default = {
162
162
  case 7:
163
163
  configData = _c.sent();
164
164
  scanner = (0, scanner_1.default)(reportAllFindings, configData, files);
165
+ startTime = Date.now();
165
166
  return [4 /*yield*/, Promise.all([scanner.scan(), scanner.fetchFindingStatus(appIdArg, appmapDir)])];
166
167
  case 8:
167
168
  _b = __read.apply(void 0, [_c.sent(), 2]), rawScanResults = _b[0], findingStatuses = _b[1];
@@ -181,6 +182,9 @@ exports.default = {
181
182
  console.log();
182
183
  (0, summaryReport_1.default)(scanResults, true);
183
184
  console.log('\n');
185
+ elapsed = Date.now() - startTime;
186
+ numChecks = scanResults.checks.length * scanResults.summary.numAppMaps;
187
+ console.log("Performed " + numChecks + " checks in " + elapsed + "ms (" + Math.floor(numChecks / (elapsed / 1000.0)) + " checks/sec)");
184
188
  return [3 /*break*/, 11];
185
189
  case 10:
186
190
  err_1 = _c.sent();
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/cli/scan/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/cli/scan/command.ts"],"names":[],"mappings":"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"}
@@ -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"}
package/built/cli/scan.js CHANGED
@@ -68,6 +68,7 @@ var promises_1 = require("fs/promises");
68
68
  var models_1 = require("@appland/models");
69
69
  var ruleChecker_1 = __importDefault(require("../ruleChecker"));
70
70
  var progressReporter_1 = __importDefault(require("./progressReporter"));
71
+ var appMapIndex_1 = __importDefault(require("../appMapIndex"));
71
72
  function batch(items, size, process) {
72
73
  return __awaiter(this, void 0, void 0, function () {
73
74
  var left;
@@ -98,7 +99,7 @@ function scan(files, checks) {
98
99
  appMapMetadata = {};
99
100
  findings = [];
100
101
  return [4 /*yield*/, batch(files, 2, function (file) { return __awaiter(_this, void 0, void 0, function () {
101
- var appMapData, appMap;
102
+ var appMapData, appMap, appMapIndex;
102
103
  var _this = this;
103
104
  return __generator(this, function (_a) {
104
105
  switch (_a.label) {
@@ -113,6 +114,7 @@ function scan(files, checks) {
113
114
  case 1:
114
115
  appMapData = _a.sent();
115
116
  appMap = (0, models_1.buildAppMap)(appMapData).normalize().build();
117
+ appMapIndex = new appMapIndex_1.default(appMap);
116
118
  appMapMetadata[file] = appMap.metadata;
117
119
  return [4 /*yield*/, Promise.all(checks.map(function (check) { return __awaiter(_this, void 0, void 0, function () {
118
120
  var matchCount, newMatches;
@@ -120,7 +122,7 @@ function scan(files, checks) {
120
122
  switch (_a.label) {
121
123
  case 0:
122
124
  matchCount = findings.length;
123
- return [4 /*yield*/, checker.check(file, appMap, check, findings)];
125
+ return [4 /*yield*/, checker.check(file, appMapIndex, check, findings)];
124
126
  case 1:
125
127
  _a.sent();
126
128
  newMatches = findings.slice(matchCount, findings.length);
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/cli/scan.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAuC;AACvC,0CAAwD;AAGxD,+DAAyC;AAGzC,wEAAkD;AAOlD,SAAe,KAAK,CAClB,KAAmB,EACnB,IAAY,EACZ,OAAmD;;;;;;oBAE7C,IAAI,4BAAO,KAAK,SAAC,CAAC;;;yBACjB,IAAI,CAAC,MAAM;oBAAE,qBAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAA;;oBAApD,SAAoD,CAAC;;;;;;CAC1E;AAED,SAA8B,IAAI,CAAC,KAAe,EAAE,MAAe;;;;;;;oBAC3D,OAAO,GAAG,IAAI,qBAAW,EAAE,CAAC;oBAC5B,cAAc,GAA6B,EAAE,CAAC;oBAC9C,QAAQ,GAAc,EAAE,CAAC;oBAE/B,qBAAM,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,UAAO,IAAY;;;;;;wCACvC,2DAA2D;wCAC3D,+FAA+F;wCAC/F,6BAA6B;wCAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;4CAC5C,sBAAO,IAAI,EAAC;yCACb;wCACkB,qBAAM,IAAA,mBAAQ,EAAC,IAAI,EAAE,MAAM,CAAC,EAAA;;wCAAzC,UAAU,GAAG,SAA4B;wCACzC,MAAM,GAAG,IAAA,oBAAW,EAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC;wCAC3D,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;wCAEvC,qBAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,UAAO,KAAK;;;;;4DACf,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;4DACnC,qBAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAA;;4DAAlD,SAAkD,CAAC;4DAC7C,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;4DAC/D,UAAU,CAAC,OAAO,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,EAAzB,CAAyB,CAAC,CAAC;4DACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAA,0BAAgB,EAAC,UAAU,CAAC,CAAC,CAAC;;;;iDACpD,CAAC,CACH,EAAA;;wCARD,SAQC,CAAC;;;;6BACH,CAAC,EAAA;;oBApBF,SAoBE,CAAC;oBAEH,sBAAO,EAAE,cAAc,gBAAA,EAAE,QAAQ,UAAA,EAAE,EAAC;;;;CACrC;AA5BD,uBA4BC"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/cli/scan.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAuC;AACvC,0CAAwD;AAGxD,+DAAyC;AAGzC,wEAAkD;AAClD,+DAAyC;AAOzC,SAAe,KAAK,CAClB,KAAmB,EACnB,IAAY,EACZ,OAAmD;;;;;;oBAE7C,IAAI,4BAAO,KAAK,SAAC,CAAC;;;yBACjB,IAAI,CAAC,MAAM;oBAAE,qBAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAA;;oBAApD,SAAoD,CAAC;;;;;;CAC1E;AAED,SAA8B,IAAI,CAAC,KAAe,EAAE,MAAe;;;;;;;oBAC3D,OAAO,GAAG,IAAI,qBAAW,EAAE,CAAC;oBAC5B,cAAc,GAA6B,EAAE,CAAC;oBAC9C,QAAQ,GAAc,EAAE,CAAC;oBAE/B,qBAAM,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,UAAO,IAAY;;;;;;wCACvC,2DAA2D;wCAC3D,+FAA+F;wCAC/F,6BAA6B;wCAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;4CAC5C,sBAAO,IAAI,EAAC;yCACb;wCACkB,qBAAM,IAAA,mBAAQ,EAAC,IAAI,EAAE,MAAM,CAAC,EAAA;;wCAAzC,UAAU,GAAG,SAA4B;wCACzC,MAAM,GAAG,IAAA,oBAAW,EAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC;wCACrD,WAAW,GAAG,IAAI,qBAAW,CAAC,MAAM,CAAC,CAAC;wCAC5C,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;wCAEvC,qBAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,UAAO,KAAK;;;;;4DACf,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;4DACnC,qBAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAA;;4DAAvD,SAAuD,CAAC;4DAClD,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;4DAC/D,UAAU,CAAC,OAAO,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,EAAzB,CAAyB,CAAC,CAAC;4DACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAA,0BAAgB,EAAC,UAAU,CAAC,CAAC,CAAC;;;;iDACpD,CAAC,CACH,EAAA;;wCARD,SAQC,CAAC;;;;6BACH,CAAC,EAAA;;oBArBF,SAqBE,CAAC;oBAEH,sBAAO,EAAE,cAAc,gBAAA,EAAE,QAAQ,UAAA,EAAE,EAAC;;;;CACrC;AA7BD,uBA6BC"}
@@ -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"}