@terafina/tffa-sfdx-plugin 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -43,7 +43,8 @@ EXAMPLE
43
43
 
44
44
  sfdx tffa:apexdoc
45
45
 
46
- sfdx plugins:install isvte-sfdx-plugin
46
+ sfdx plugins:install @terafina/tffa-sfdx-plugin
47
+ sfdx tffa:apexdoc
48
+ sfdx tffa:lint
47
49
 
48
- sfdx force:source:convert --outputdir mdapi-source/
49
- sfdx tffa:scan -s . -m mdapi-source -f json >> out.json
50
+ sfdx tffa:lint -s . -m 53 -f json >> out.json
@@ -16,7 +16,7 @@ const utils_1 = tslib_1.__importDefault(require("../../apexdoc/common/utils"));
16
16
  const array_utils_1 = require("../../apexdoc/common/array-utils");
17
17
  class ApexDoc extends command_1.SfdxCommand {
18
18
  async run() {
19
- await core_1.SfdxProject.resolve(this.flags.sourcefolder);
19
+ await core_1.SfdxProject.resolve();
20
20
  try {
21
21
  settings_1.default.config = settings_1.default.getConfig(settings_1.Feature.ENGINE);
22
22
  this.generateDocs(settings_1.default.config);
@@ -1 +1 @@
1
- {"version":3,"file":"apexdoc.js","sourceRoot":"","sources":["../../../src/commands/tffa/apexdoc.ts"],"names":[],"mappings":";AAAA;;IAEI;;;AAEJ,iDAAyD;AACzD,4EAAsD;AACtD,2CAA0D;AAE1D,kFAAkE;AAClE,6FAA4D;AAC5D,+BAAgC;AAChC,2CAAyC;AACzC,2FAA0D;AAC1D,+EAA+C;AAC/C,kEAAwD;AAExD,MAAqB,OAAQ,SAAQ,qBAAW;IAcvC,KAAK,CAAC,GAAG;QACd,MAAM,kBAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI;YACF,kBAAQ,CAAC,MAAM,GAAG,kBAAQ,CAAC,SAAS,CAAgB,kBAAO,CAAC,MAAM,CAAC,CAAC;YACpE,IAAI,CAAC,YAAY,CAAC,kBAAQ,CAAC,MAAM,CAAC,CAAC;SACpC;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,MAAM,IAAI,gBAAS,CAAC,CAAC,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;SACpD;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAAC,MAAqB;QACxC,MAAM,YAAY,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,sBAAW,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACzF,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgC,CAAC;QAEvD,4CAA4C;QAC5C,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,kCAAkC;QAClC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACpB,IAAI,CAAC,WAAW,GAAG,eAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAExC,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAElE,IAAI,KAAK,EAAE;gBACT,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC5C,YAAY,EAAE,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;QAEH,8DAA8D;QAC9D,MAAM,kBAAkB,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEvD,4DAA4D;QAC5D,WAAW,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAElE,eAAe;QACf,MAAM,UAAU,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,sCAAsC,YAAY,wBAAwB,OAAO,IAAI,CAAC,CAAC;IACtG,CAAC;IAEO,mBAAmB,CAAC,MAAyC;QACnE,MAAM,aAAa,GAAmC,IAAI,GAAG,EAA6B,CAAC;QAE3F,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,sDAAsD;YACtD,oDAAoD;YACpD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,IAAI,eAAe,EAC9C,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC;YAEvC,IAAI,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAE1C,IAAI,CAAC,UAAU,EAAE;gBACf,UAAU,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;aACxD;iBAAM,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBACpC,UAAU,CAAC,aAAa,GAAG,WAAW,CAAC;aACxC;YAED,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACK,iBAAiB,CAAC,QAAgB,EAAE,SAAyB;QACnE,MAAM,MAAM,GAAG,IAAI,qBAAU,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,KAAK,EAAqB,CAAC;QAE/C,IAAI,IAA0B,CAAC;QAC/B,IAAI,QAAQ,GAAG,IAAI,KAAK,EAAU,CAAC;QACnC,IAAI,OAAO,GAAG,CAAC,EACb,qBAAqB,GAAG,CAAC,CAAC;QAC5B,IAAI,eAAe,GAAG,KAAK,EACzB,eAAe,GAAG,KAAK,CAAC;QAC1B,IAAI,MAAiC,EAAE,YAAuC,CAAC;QAC/E,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC7B,kDAAkD;YAClD,6BAA6B;YAC7B,IAAI;YACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,EAAE;gBAC1C,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,OAAO,EAAE,CAAC;gBAEV,mBAAmB;gBACnB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;oBAChB,SAAS;iBACV;gBAED,8DAA8D;gBAC9D,wDAAwD;gBACxD,6DAA6D;gBAC7D,yBAAyB;gBACzB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,MAAM,KAAK,CAAC,EAAE;oBAChB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;oBACjC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;wBAChB,SAAS;qBACV;iBACF;gBAED,yBAAyB;gBACzB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;oBACzB,eAAe,GAAG,IAAI,CAAC;oBACvB,IAAI,YAAY,GAAG,KAAK,CAAC;oBACzB,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,YAAY,CAAC,EAAE;wBAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAQ,CAAC,aAAa,CAAC,EAAE;4BACzC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAQ,CAAC,aAAa,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC;4BACtE,YAAY,GAAG,IAAI,CAAC;yBACrB;wBACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpB,eAAe,GAAG,IAAI,CAAC;qBACxB;oBACD,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAQ,CAAC,aAAa,CAAC,IAAI,YAAY,EAAE;wBACzD,eAAe,GAAG,KAAK,CAAC;wBACxB,eAAe,GAAG,KAAK,CAAC;qBACzB;oBACD,SAAS;iBACV;gBAED,IAAI,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAQ,CAAC,aAAa,CAAC,EAAE;oBAC5D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAQ,CAAC,aAAa,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC;oBACtE,IAAI,eAAe,EAAE;wBACnB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpB,eAAe,GAAG,KAAK,CAAC;qBACzB;oBACD,eAAe,GAAG,KAAK,CAAC;oBACxB,SAAS;iBACV;gBAED,IAAI,eAAe,EAAE;oBACnB,IAAI,eAAe,EAAE;wBACnB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACrB;oBACD,SAAS;iBACV;gBAED,6DAA6D;gBAC7D,MAAM,WAAW,GAAG,eAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAChD,MAAM,YAAY,GAAG,eAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACjD,qBAAqB,IAAI,WAAW,CAAC;gBACrC,qBAAqB,IAAI,YAAY,CAAC;gBAEtC,wEAAwE;gBACxE,gFAAgF;gBAChF,IAAI,qBAAqB,KAAK,CAAC,IAAI,WAAW,KAAK,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,EAAE;oBAC/F,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,MAAM,GAAG,kBAAI,CAAC,OAAO,CAAC,CAAC;oBACvB,SAAS;iBACV;gBAED,6EAA6E;gBAC7E,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE;oBACf,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;iBAClC;gBAED,mEAAmE;gBACnE,iDAAiD;gBACjD,MAAM,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE;oBACf,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;iBAClC;gBAED,uDAAuD;gBACvD,yDAAyD;gBACzD,IAAI,eAAK,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;oBACtC,SAAS;iBACV;gBAED,oBAAoB;gBACpB,IAAI,eAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;oBAClC,uBAAuB;oBACvB,MAAM,SAAS,GAAsB,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;oBAC7G,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;oBACxC,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;oBACxD,QAAQ,GAAG,EAAE,CAAC;oBAEd,sEAAsE;oBACtE,uDAAuD;oBACvD,IAAI,WAAW,KAAK,CAAC,IAAI,WAAW,KAAK,YAAY,EAAE;wBACrD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACxB,MAAM,GAAG,SAAS,CAAC;qBACpB;oBAED,6CAA6C;oBAC7C,IAAI,YAAY,EAAE;wBAChB,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;qBACvC;yBAAM;wBACL,YAAY,GAAG,SAAS,CAAC;qBAC1B;oBAED,SAAS;iBACV;gBAED,mBAAmB;gBACnB,IAAI,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBACtB,MAAM,YAAY,GAAG,OAAO,CAAC;oBAE7B,mCAAmC;oBACnC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBAC1B,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAC1B,OAAO,EAAE,CAAC;qBACX;oBAED,MAAM,MAAM,GAAqB,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;oBAC/F,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;oBAErD,sDAAsD;oBACtD,uDAAuD;oBACvD,oDAAoD;oBACpD,mDAAmD;oBACnD,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;wBACnC,OAAO,MAAM,CAAC;qBACf;yBAAM;wBACL,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACpC,QAAQ,GAAG,EAAE,CAAC;wBACd,SAAS;qBACV;iBACF;gBAED,oBAAoB;gBACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACtB,MAAM,YAAY,GAAG,OAAO,CAAC;oBAE7B,sCAAsC;oBACtC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBAC1B,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAC1B,OAAO,EAAE,CAAC;qBACX;oBAED,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5C,MAAM,MAAM,GAAuB,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;oBAC9G,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;oBACrD,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACtC,QAAQ,GAAG,EAAE,CAAC;oBACd,SAAS;iBACV;gBAED,qBAAqB;gBACrB,MAAM,MAAM,GAAyB,IAAI,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;gBAClG,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBACrD,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzC,QAAQ,GAAG,EAAE,CAAC;gBACd,SAAS;aACV;SACF;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;YACxE,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3B,OAAO,GAAG,CAAC,CAAC;YACZ,IAAI,GAAG,eAAe,GAAG,IAAI,CAAC;YAE9B,MAAM,SAAS,GAAsB,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAC7G,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YACxC,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YACxD,YAAY,GAAG,SAAS,CAAC;SAC1B;QAED,OAA6B,YAAY,CAAC;IAC5C,CAAC;;AAvSH,0BAwSC;AAvSe,mBAAW,GAAG,iCAAiC,CAAC;AAEhD,gBAAQ,GAAG,CAAC,wDAAwD,CAAC,CAAC;AAGnE,mBAAW,GAAG;IAC7B,YAAY,EAAE,eAAK,CAAC,SAAS,CAAC;QAC5B,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,GAAG;KACb,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"apexdoc.js","sourceRoot":"","sources":["../../../src/commands/tffa/apexdoc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Copyright (c) NCR Terafina
3
+ **/
4
+ import { flags, SfdxCommand } from '@salesforce/command';
5
+ export default class Lint extends SfdxCommand {
6
+ static description: string;
7
+ static examples: string[];
8
+ protected static flagsConfig: {
9
+ sourcefolder: flags.Discriminated<flags.Option<string>>;
10
+ minapi: flags.Discriminated<flags.Number>;
11
+ json: flags.Discriminated<flags.Boolean<boolean>>;
12
+ };
13
+ run(): Promise<any>;
14
+ /**
15
+ * print output
16
+ */
17
+ private printViolations;
18
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) NCR Terafina
4
+ **/
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const tslib_1 = require("tslib");
7
+ const command_1 = require("@salesforce/command");
8
+ const core_1 = require("@salesforce/core");
9
+ const apex_class_scan_1 = tslib_1.__importDefault(require("../../scanner/apex-class-scan"));
10
+ const metadata_scan_1 = tslib_1.__importDefault(require("../../scanner/metadata-scan"));
11
+ class Lint extends command_1.SfdxCommand {
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ async run() {
14
+ await core_1.SfdxProject.resolve(this.flags.sourcefolder);
15
+ let violations = [];
16
+ violations = await new apex_class_scan_1.default().scan(this.flags.sourcefolder);
17
+ const mViolations = await new metadata_scan_1.default().scan(this.flags.sourcefolder, this.flags.minapi);
18
+ violations.push(...mViolations);
19
+ this.printViolations(this.flags.json, violations);
20
+ }
21
+ /**
22
+ * print output
23
+ */
24
+ printViolations(option, violations) {
25
+ if (option) {
26
+ console.log(JSON.stringify(violations, null, 4));
27
+ }
28
+ else {
29
+ for (const o of violations) {
30
+ console.log('---------------------------------------------------------------------------------');
31
+ console.log(o.category + ' - ' + o.level);
32
+ console.log(o.label + ' - ' + o.message);
33
+ console.table(o.exceptions);
34
+ }
35
+ }
36
+ }
37
+ }
38
+ exports.default = Lint;
39
+ Lint.description = 'scan a package and provide recommendations based on package';
40
+ Lint.examples = [`Scan a package and provide list of code violations :\t$sfdx tffa:scan`];
41
+ Lint.flagsConfig = {
42
+ sourcefolder: command_1.flags.directory({
43
+ char: 's',
44
+ description: 'directory containing sfdx project',
45
+ default: '.'
46
+ }),
47
+ minapi: command_1.flags.integer({
48
+ char: 'm',
49
+ description: 'minimum api version to use during quality checks',
50
+ default: 53
51
+ }),
52
+ json: command_1.flags.boolean({
53
+ char: 'j',
54
+ description: 'generate json output'
55
+ })
56
+ };
57
+ //# sourceMappingURL=lint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../../src/commands/tffa/lint.ts"],"names":[],"mappings":";AAAA;;IAEI;;;AAEJ,iDAAyD;AACzD,2CAA+C;AAC/C,4FAA0D;AAC1D,wFAAuD;AAEvD,MAAqB,IAAK,SAAQ,qBAAW;IAsB3C,8DAA8D;IACvD,KAAK,CAAC,GAAG;QACd,MAAM,kBAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,UAAU,GAAG,MAAM,IAAI,yBAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,MAAM,IAAI,uBAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9F,UAAU,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,MAAM,EAAE,UAAU;QACxC,IAAI,MAAM,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SAClD;aAAM;YACL,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;gBAC1B,OAAO,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC;gBACjG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;gBACzC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;aAC7B;SACF;IACH,CAAC;;AA9CH,uBA+CC;AA9Ce,gBAAW,GAAG,6DAA6D,CAAC;AAE5E,aAAQ,GAAG,CAAC,uEAAuE,CAAC,CAAC;AAElF,gBAAW,GAAG;IAC7B,YAAY,EAAE,eAAK,CAAC,SAAS,CAAC;QAC5B,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,GAAG;KACb,CAAC;IACF,MAAM,EAAE,eAAK,CAAC,OAAO,CAAC;QACpB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,kDAAkD;QAC/D,OAAO,EAAE,EAAE;KACZ,CAAC;IACF,IAAI,EAAE,eAAK,CAAC,OAAO,CAAC;QAClB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,sBAAsB;KACpC,CAAC;CACH,CAAC"}
@@ -12,10 +12,9 @@ core_1.Messages.importMessagesDirectory(__dirname);
12
12
  const messages = core_1.Messages.loadMessages('@terafina/tffa-sfdx-plugin', 'ping');
13
13
  class Ping extends command_1.SfdxCommand {
14
14
  async run() {
15
- await core_1.SfdxProject.resolve(this.flags.sourcefolder);
15
+ await core_1.SfdxProject.resolve();
16
16
  const outputString = 'pong';
17
17
  this.ux.log(outputString);
18
- // Return an object to be displayed with --json
19
18
  return { outputString };
20
19
  }
21
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ping.js","sourceRoot":"","sources":["../../../src/commands/tffa/ping.ts"],"names":[],"mappings":";;AAAA;;IAEI;AACJ,iDAAkD;AAClD,2CAAyD;AAGzD,wDAAwD;AACxD,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAE5C,iGAAiG;AACjG,mFAAmF;AACnF,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;AAE7E,MAAqB,IAAK,SAAQ,qBAAW;IASpC,KAAK,CAAC,GAAG;QACd,MAAM,kBAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,MAAM,CAAC;QAE5B,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE1B,+CAA+C;QAC/C,OAAO,EAAE,YAAY,EAAE,CAAC;IAC1B,CAAC;;AAjBH,uBAkBC;AAjBe,gBAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAExD,aAAQ,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAEjC,SAAI,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAEvB,gBAAW,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"ping.js","sourceRoot":"","sources":["../../../src/commands/tffa/ping.ts"],"names":[],"mappings":";;AAAA;;IAEI;AACJ,iDAAkD;AAClD,2CAAyD;AAGzD,wDAAwD;AACxD,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAE5C,iGAAiG;AACjG,mFAAmF;AACnF,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;AAE7E,MAAqB,IAAK,SAAQ,qBAAW;IASpC,KAAK,CAAC,GAAG;QACd,MAAM,kBAAW,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IAC1B,CAAC;;AAdH,uBAeC;AAde,gBAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAExD,aAAQ,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAEjC,SAAI,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAEvB,gBAAW,GAAG,EAAE,CAAC"}
@@ -1,10 +1,7 @@
1
1
  /**
2
2
  * Copyright (c) NCR Terafina
3
3
  **/
4
- import { flags, SfdxCommand } from '@salesforce/command';
5
- export default class Scan extends SfdxCommand {
6
- static description: string;
7
- static examples: string[];
4
+ export default class ApexClassScan {
8
5
  minapi: number;
9
6
  dir: string;
10
7
  allowedListEnd: string[];
@@ -14,12 +11,7 @@ export default class Scan extends SfdxCommand {
14
11
  allowedListStart: string[];
15
12
  ignoreFiles: string[];
16
13
  ignoreCZFiles: any[];
17
- protected static flagsConfig: {
18
- sourcefolder: flags.Discriminated<flags.Option<string>>;
19
- mdoutfolder: flags.Discriminated<flags.Option<string>>;
20
- format: flags.Discriminated<flags.Option<string>>;
21
- };
22
- run(): Promise<any>;
14
+ scan(sourceFolder: string): Promise<any[]>;
23
15
  /**
24
16
  * test file names as per conventions
25
17
  */
@@ -36,17 +28,4 @@ export default class Scan extends SfdxCommand {
36
28
  * @param {*} ext
37
29
  */
38
30
  private getFilesInDirectory;
39
- /**
40
- * scan json files
41
- */
42
- private scanJSONFiles;
43
- /**
44
- * scan ISVTE plugin for quality rules
45
- * @param {} convertedPath
46
- */
47
- private scanISVTEQuality;
48
- /**
49
- * print output
50
- */
51
- private printViolations;
52
31
  }
@@ -4,15 +4,10 @@
4
4
  **/
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const tslib_1 = require("tslib");
7
- const command_1 = require("@salesforce/command");
8
- const path = tslib_1.__importStar(require("path"));
9
7
  const fs_1 = require("fs");
10
- const child = tslib_1.__importStar(require("child_process"));
11
- const util = tslib_1.__importStar(require("util"));
12
- const core_1 = require("@salesforce/core");
13
- class Scan extends command_1.SfdxCommand {
8
+ const path_1 = tslib_1.__importDefault(require("path"));
9
+ class ApexClassScan {
14
10
  constructor() {
15
- super(...arguments);
16
11
  this.minapi = 53.0;
17
12
  this.dir = '';
18
13
  this.allowedListEnd = [
@@ -121,11 +116,10 @@ class Scan extends command_1.SfdxCommand {
121
116
  this.ignoreCZFiles = [];
122
117
  }
123
118
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
124
- async run() {
125
- await core_1.SfdxProject.resolve(this.flags.sourcefolder);
126
- this.dir = this.flags.sourcefolder + path.sep + '/app/main/default/classes';
119
+ async scan(sourceFolder) {
120
+ this.dir = sourceFolder + '/app/main/default/classes';
127
121
  this.classFiles = this.getFilesInDirectory(this.dir, '.cls');
128
- Promise.all([
122
+ await Promise.all([
129
123
  this.checkFileNameConvention(),
130
124
  this.checkClassesForKeywords('System\\.debug', 'Use tffa.Logger instead'),
131
125
  this.checkClassesForKeywords('\\.isCreateable', 'CRUD/FLS Checks are checked by tffa.AbstractRepository'),
@@ -142,15 +136,9 @@ class Scan extends command_1.SfdxCommand {
142
136
  this.checkClassesForKeywords('Database\\.update', 'Any SOQL should be encapsulated into Repository classes extending tffa.AbstractRepository. Use doQuery method '),
143
137
  this.checkClassesForKeywords('Database\\.insert', 'Any SOQL should be encapsulated into Repository classes extending tffa.AbstractRepository. Use doQuery method '),
144
138
  this.checkClassesForKeywords('Database\\.upsert', 'Any SOQL should be encapsulated into Repository classes extending tffa.AbstractRepository. Use doQuery method '),
145
- this.checkClassesForKeywords('Database\\.delete', 'Any SOQL should be encapsulated into Repository classes extending tffa.AbstractRepository. Use doQuery method '),
146
- this.scanJSONFiles(this.flags.sourcefolder),
147
- this.scanISVTEQuality(this.flags.mdoutfolder)
148
- ])
149
- .then(() => this.printViolations(this.flags.format))
150
- .catch(error => {
151
- console.error(error.message);
152
- });
153
- return '';
139
+ this.checkClassesForKeywords('Database\\.delete', 'Any SOQL should be encapsulated into Repository classes extending tffa.AbstractRepository. Use doQuery method ')
140
+ ]);
141
+ return this.violations;
154
142
  }
155
143
  /**
156
144
  * test file names as per conventions
@@ -159,9 +147,9 @@ class Scan extends command_1.SfdxCommand {
159
147
  return new Promise(resolve => {
160
148
  const violatingFiles = [];
161
149
  for (const file of this.classFiles) {
162
- const filepath = path.join(this.dir, file);
163
- if (path.extname(filepath) == '.cls') {
164
- const filename = path.basename(filepath, '.cls');
150
+ const filepath = path_1.default.join(this.dir, file);
151
+ if (path_1.default.extname(filepath) == '.cls') {
152
+ const filename = path_1.default.basename(filepath, '.cls');
165
153
  if (!this.allowedListEnd.some(substring => filename.endsWith(substring)) &&
166
154
  !this.allowedListStart.some(substring => filename.startsWith(substring))) {
167
155
  violatingFiles.push(filename);
@@ -210,7 +198,7 @@ class Scan extends command_1.SfdxCommand {
210
198
  }
211
199
  }
212
200
  if (found) {
213
- const filename = path.basename(file, '.cls');
201
+ const filename = path_1.default.basename(file, '.cls');
214
202
  if (this.ignoreFiles.indexOf(filename) < 0 && this.ignoreCZFiles.indexOf(filename) < 0) {
215
203
  violatingFiles.push(filename);
216
204
  }
@@ -241,7 +229,7 @@ class Scan extends command_1.SfdxCommand {
241
229
  throw Error(`Specified directory: ${dir} does not exist`);
242
230
  }
243
231
  fs_1.readdirSync(dir).forEach(file => {
244
- const filePath = path.join(dir, file);
232
+ const filePath = path_1.default.join(dir, file);
245
233
  const stat = fs_1.lstatSync(filePath);
246
234
  // If we hit a directory, apply our function to that dir. If we hit a file, add it to the array of files.
247
235
  if (stat.isDirectory()) {
@@ -249,100 +237,13 @@ class Scan extends command_1.SfdxCommand {
249
237
  files = files.concat(nestedFiles);
250
238
  }
251
239
  else {
252
- if (path.extname(file) === ext) {
240
+ if (path_1.default.extname(file) === ext) {
253
241
  files.push(filePath);
254
242
  }
255
243
  }
256
244
  });
257
245
  return files;
258
246
  }
259
- /**
260
- * scan json files
261
- */
262
- async scanJSONFiles(path) {
263
- const fileContent = fs_1.readFileSync(path + '/sfdx-project.json');
264
- const obj = JSON.parse(fileContent.toString());
265
- if (this.minapi > parseInt(obj['sourceApiVersion'])) {
266
- // console.log(obj["sourceApiVersion"]);
267
- const o = {
268
- label: 'Project source api version not equal to ' + this.minapi,
269
- message: 'Please update sourceApiVersion to ' + this.minapi + ' sfdx-project.json',
270
- category: 'INTERNAL',
271
- level: 'FATAL',
272
- exceptions: [{ 0: 'sfdx-project.json' }]
273
- };
274
- this.violations.push(o);
275
- }
276
- }
277
- /**
278
- * scan ISVTE plugin for quality rules
279
- * @param {} convertedPath
280
- */
281
- async scanISVTEQuality(convertedPath) {
282
- try {
283
- if (!convertedPath) {
284
- return;
285
- }
286
- const exec = util.promisify(child.exec);
287
- const { stdout, stderr } = await exec(`SFDX_JSON_TO_STDOUT=true sfdx isvte:mdscan -s ZeroInventory,Enablement,Alerts,Warnings --minapi ${this.minapi} --json -d ${convertedPath}`);
288
- if (stderr) {
289
- console.log('stderr:', stderr);
290
- }
291
- if (stdout) {
292
- const obj = JSON.parse(stdout);
293
- if (obj.status == 0 && obj.result.CodeQualityNotes) {
294
- for (const o of obj.result.CodeQualityNotes) {
295
- if (!this.allowedISVTEViolations.some(substring => o.message.includes(substring) || o.label.includes(substring))) {
296
- o.message = o.message.replace('the minimum specified. Use the --minapi flag to adjust the minimum API version.', this.minapi);
297
- o.category = 'ISVTE';
298
- o.level = 'FATAL';
299
- if (o && o.exceptions && o.exceptions.length > 0) {
300
- this.violations.push(o);
301
- }
302
- }
303
- }
304
- }
305
- }
306
- }
307
- catch (e) {
308
- console.error(e); // should contain code (exit code) and signal (that caused the termination).
309
- throw new Error(e);
310
- }
311
- }
312
- /**
313
- * print output
314
- */
315
- printViolations(option) {
316
- if (option && option == 'json') {
317
- console.log(JSON.stringify(this.violations, null, 4));
318
- }
319
- else {
320
- for (const o of this.violations) {
321
- console.log('---------------------------------------------------------------------------------');
322
- console.log(o.category + ' - ' + o.level);
323
- console.log(o.label + ' - ' + o.message);
324
- console.table(o.exceptions);
325
- }
326
- }
327
- }
328
247
  }
329
- exports.default = Scan;
330
- Scan.description = 'scan a package and provide recommendations based on package inventory';
331
- Scan.examples = [`Scan a package and provide inventory of metadata items :\t$sfdx tffa:scan`];
332
- Scan.flagsConfig = {
333
- sourcefolder: command_1.flags.directory({
334
- char: 's',
335
- description: 'directory containing package metadata',
336
- default: '.'
337
- }),
338
- mdoutfolder: command_1.flags.directory({
339
- char: 'm',
340
- description: 'directory containing mdapi src metadata',
341
- default: '.'
342
- }),
343
- format: command_1.flags.string({
344
- char: 'f',
345
- description: 'generate json output'
346
- })
347
- };
348
- //# sourceMappingURL=scan.js.map
248
+ exports.default = ApexClassScan;
249
+ //# sourceMappingURL=apex-class-scan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apex-class-scan.js","sourceRoot":"","sources":["../../src/scanner/apex-class-scan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export default class MetadataScan {
2
+ violations: unknown[];
3
+ scan(sourceFolder: string, minapi: number): Promise<unknown[]>;
4
+ /**
5
+ * scan json files
6
+ */
7
+ private scanJSONFiles;
8
+ /**
9
+ * parse objects
10
+ * @param {*} objpath
11
+ * @param {*} clientname
12
+ */
13
+ private scanObjects;
14
+ private scanAPIVersion;
15
+ private scanAPIVersionByType;
16
+ }
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Copyright (c) NCR Terafina
5
+ **/
6
+ const fs_1 = require("fs");
7
+ const xml2js = require("xml2js");
8
+ class MetadataScan {
9
+ constructor() {
10
+ this.violations = [];
11
+ }
12
+ async scan(sourceFolder, minapi) {
13
+ await this.scanJSONFiles(sourceFolder, minapi);
14
+ await this.scanObjects(sourceFolder);
15
+ await this.scanAPIVersion(sourceFolder, minapi);
16
+ return this.violations;
17
+ }
18
+ /**
19
+ * scan json files
20
+ */
21
+ async scanJSONFiles(path, minapi) {
22
+ const fileContent = fs_1.readFileSync(path + '/sfdx-project.json');
23
+ const obj = JSON.parse(fileContent.toString());
24
+ if (minapi > parseInt(obj['sourceApiVersion'])) {
25
+ // console.log(obj["sourceApiVersion"]);
26
+ const o = {
27
+ label: 'Project source api version not equal to ' + minapi,
28
+ message: 'Please update sourceApiVersion to ' + minapi + ' sfdx-project.json',
29
+ category: 'API',
30
+ level: 'FATAL',
31
+ exceptions: [{ 0: 'sfdx-project.json' }]
32
+ };
33
+ this.violations.push(o);
34
+ }
35
+ }
36
+ /**
37
+ * parse objects
38
+ * @param {*} objpath
39
+ * @param {*} clientname
40
+ */
41
+ scanObjects(sourceFolder) {
42
+ const path = sourceFolder + '/app/main/default/objects';
43
+ let tables = [];
44
+ const tabViolations = [];
45
+ const fieldViolations = [];
46
+ try {
47
+ tables = fs_1.readdirSync(path);
48
+ }
49
+ catch (e) {
50
+ return;
51
+ }
52
+ for (const t of tables) {
53
+ const tabname = t;
54
+ const objFile = path + '/' + t + '/' + t + '.object-meta.xml';
55
+ const fieldPath = path + '/' + t + '/' + 'fields';
56
+ try {
57
+ fs_1.readdirSync(fieldPath);
58
+ }
59
+ catch (_a) {
60
+ continue;
61
+ }
62
+ try {
63
+ if (!tabname.startsWith('tffa__')) {
64
+ if (!fs_1.existsSync(objFile)) {
65
+ continue;
66
+ }
67
+ const xml = fs_1.readFileSync(objFile);
68
+ let json;
69
+ xml2js.parseString(xml, { async: false, explicitArray: false }, (_err, result) => {
70
+ json = result;
71
+ if (!json.CustomObject.description) {
72
+ tabViolations.push(tabname);
73
+ }
74
+ });
75
+ }
76
+ }
77
+ catch (err) {
78
+ console.error(err);
79
+ }
80
+ const fields = fs_1.readdirSync(fieldPath);
81
+ for (const f of fields) {
82
+ const fieldFile = fieldPath + '/' + f;
83
+ if (f.startsWith('tffa__')) {
84
+ continue;
85
+ }
86
+ const fieldname = f.split('.')[0];
87
+ const xml = fs_1.readFileSync(fieldFile);
88
+ try {
89
+ xml2js.parseString(xml, { async: false, explicitArray: false }, (_err, result) => {
90
+ if (_err) {
91
+ console.log(t + ':' + fieldname + ':' + _err);
92
+ }
93
+ else if (result) {
94
+ const json = result;
95
+ if (!json.CustomField.description) {
96
+ fieldViolations.push(tabname + '.' + fieldname);
97
+ }
98
+ // let violating = false;
99
+ // if (t.startsWith('tffa__') && !fieldname.startsWith('CZ')) {
100
+ // violating = true;
101
+ // }
102
+ }
103
+ });
104
+ }
105
+ catch (err) {
106
+ console.log('table:' + t + ' field:' + f);
107
+ console.log(err);
108
+ }
109
+ }
110
+ }
111
+ if (tabViolations.length > 0) {
112
+ const o = {
113
+ label: 'Custom Objects should have a description',
114
+ message: `It is a best practice that Custom Objects have a description.`,
115
+ exceptions: tabViolations,
116
+ category: 'INTERNAL',
117
+ level: 'FATAL'
118
+ };
119
+ this.violations.push(o);
120
+ }
121
+ if (fieldViolations.length > 0) {
122
+ const o = {
123
+ label: 'Custom Fields should have a description',
124
+ message: `It is a best practice that Custom Fields have a description.`,
125
+ exceptions: fieldViolations,
126
+ category: 'INTERNAL',
127
+ level: 'FATAL'
128
+ };
129
+ this.violations.push(o);
130
+ }
131
+ }
132
+ // label: 'Using old Metadata API Version',
133
+ // message: `You appear to be using a version of Metadata API less than the minimum specified. Use the --minapi flag to adjust the minimum API version.`,
134
+ async scanAPIVersion(sourceFolder, minapi) {
135
+ await this.scanAPIVersionByType('ApexClass', sourceFolder + '/app/main/default/classes', minapi);
136
+ await this.scanAPIVersionByType('ApexClass', sourceFolder + '/app/test/default/classes', minapi);
137
+ await this.scanAPIVersionByType('ApexTrigger', sourceFolder + '/app/main/default/triggers', minapi);
138
+ await this.scanAPIVersionByType('ApexPage', sourceFolder + '/app/main/default/pages', minapi);
139
+ }
140
+ scanAPIVersionByType(type, sourceFolder, minapi) {
141
+ const apiViolations = [];
142
+ const files = fs_1.readdirSync(sourceFolder);
143
+ for (const f of files) {
144
+ if (f.endsWith('-meta.xml')) {
145
+ const metaFile = sourceFolder + '/' + f;
146
+ const xml = fs_1.readFileSync(metaFile);
147
+ xml2js.parseString(xml, { async: false, explicitArray: false }, (_err, result) => {
148
+ if (_err) {
149
+ console.log(f + ':' + _err);
150
+ }
151
+ else if (result) {
152
+ const json = result;
153
+ if (minapi > parseInt(json[type].apiVersion)) {
154
+ apiViolations.push(f);
155
+ }
156
+ }
157
+ });
158
+ }
159
+ }
160
+ if (apiViolations.length > 0) {
161
+ const o = {
162
+ label: 'Using old Metadata API Version',
163
+ message: `You appear to be using a version of Metadata API less than the minimum specified. Use the ` + minapi,
164
+ exceptions: apiViolations,
165
+ category: 'API',
166
+ level: 'FATAL'
167
+ };
168
+ this.violations.push(o);
169
+ }
170
+ }
171
+ }
172
+ exports.default = MetadataScan;
173
+ //# sourceMappingURL=metadata-scan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-scan.js","sourceRoot":"","sources":["../../src/scanner/metadata-scan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":"1.0.3","commands":{"tffa:apexdoc":{"id":"tffa:apexdoc","description":"Generate Apex API Documentation","usage":"<%= command.id %> [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"@terafina/tffa-sfdx-plugin","pluginType":"core","aliases":[],"examples":["Generate Apex API Documentation :\t$sfdx tffa:apexdoc "],"flags":{"json":{"name":"json","type":"boolean","description":"format output as json","allowNo":false},"loglevel":{"name":"loglevel","type":"option","description":"logging level for this command invocation","required":false,"helpValue":"(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)","options":["trace","debug","info","warn","error","fatal","TRACE","DEBUG","INFO","WARN","ERROR","FATAL"],"default":"warn"},"sourcefolder":{"name":"sourcefolder","type":"option","char":"d","description":"directory containing package metadata","default":"."}},"args":[]},"tffa:ping":{"id":"tffa:ping","description":"ping","usage":"<%= command.id %> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"@terafina/tffa-sfdx-plugin","pluginType":"core","aliases":[],"examples":["$ sfdx tffa:ping "],"flags":{"json":{"name":"json","type":"boolean","description":"format output as json","allowNo":false},"loglevel":{"name":"loglevel","type":"option","description":"logging level for this command invocation","required":false,"helpValue":"(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)","options":["trace","debug","info","warn","error","fatal","TRACE","DEBUG","INFO","WARN","ERROR","FATAL"],"default":"warn"}},"args":[{"name":"file"}]},"tffa:scan":{"id":"tffa:scan","description":"scan a package and provide recommendations based on package inventory","usage":"<%= command.id %> [-s <directory>] [-m <directory>] [-f <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"@terafina/tffa-sfdx-plugin","pluginType":"core","aliases":[],"examples":["Scan a package and provide inventory of metadata items :\t$sfdx tffa:scan"],"flags":{"json":{"name":"json","type":"boolean","description":"format output as json","allowNo":false},"loglevel":{"name":"loglevel","type":"option","description":"logging level for this command invocation","required":false,"helpValue":"(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)","options":["trace","debug","info","warn","error","fatal","TRACE","DEBUG","INFO","WARN","ERROR","FATAL"],"default":"warn"},"sourcefolder":{"name":"sourcefolder","type":"option","char":"s","description":"directory containing package metadata","default":"."},"mdoutfolder":{"name":"mdoutfolder","type":"option","char":"m","description":"directory containing mdapi src metadata","default":"."},"format":{"name":"format","type":"option","char":"f","description":"generate json output"}},"args":[]}}}
1
+ {"version":"1.0.4","commands":{"tffa:apexdoc":{"id":"tffa:apexdoc","description":"Generate Apex API Documentation","usage":"<%= command.id %> [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"@terafina/tffa-sfdx-plugin","pluginType":"core","aliases":[],"examples":["Generate Apex API Documentation :\t$sfdx tffa:apexdoc "],"flags":{"json":{"name":"json","type":"boolean","description":"format output as json","allowNo":false},"loglevel":{"name":"loglevel","type":"option","description":"logging level for this command invocation","required":false,"helpValue":"(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)","options":["trace","debug","info","warn","error","fatal","TRACE","DEBUG","INFO","WARN","ERROR","FATAL"],"default":"warn"},"sourcefolder":{"name":"sourcefolder","type":"option","char":"d","description":"directory containing package metadata","default":"."}},"args":[]},"tffa:lint":{"id":"tffa:lint","description":"scan a package and provide recommendations based on package","usage":"<%= command.id %> [-s <directory>] [-m <integer>] [-j] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"@terafina/tffa-sfdx-plugin","pluginType":"core","aliases":[],"examples":["Scan a package and provide list of code violations :\t$sfdx tffa:scan"],"flags":{"json":{"name":"json","type":"boolean","char":"j","description":"generate json output","allowNo":false},"loglevel":{"name":"loglevel","type":"option","description":"logging level for this command invocation","required":false,"helpValue":"(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)","options":["trace","debug","info","warn","error","fatal","TRACE","DEBUG","INFO","WARN","ERROR","FATAL"],"default":"warn"},"sourcefolder":{"name":"sourcefolder","type":"option","char":"s","description":"directory containing sfdx project","default":"."},"minapi":{"name":"minapi","type":"option","char":"m","description":"minimum api version to use during quality checks","default":53}},"args":[]},"tffa:ping":{"id":"tffa:ping","description":"ping","usage":"<%= command.id %> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"@terafina/tffa-sfdx-plugin","pluginType":"core","aliases":[],"examples":["$ sfdx tffa:ping "],"flags":{"json":{"name":"json","type":"boolean","description":"format output as json","allowNo":false},"loglevel":{"name":"loglevel","type":"option","description":"logging level for this command invocation","required":false,"helpValue":"(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)","options":["trace","debug","info","warn","error","fatal","TRACE","DEBUG","INFO","WARN","ERROR","FATAL"],"default":"warn"}},"args":[{"name":"file"}]}}}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@terafina/tffa-sfdx-plugin",
3
3
  "description": "sfdx plugin from Terafina containing tools for scanning and extending digital applications for the financial services industry.",
4
- "version": "1.0.3",
4
+ "version": "1.0.4",
5
5
  "author": "Terafina Inc",
6
6
  "bugs": "https://github.com/terafinainc/tffa-sfdx-plugin/issues",
7
7
  "dependencies": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../src/commands/tffa/scan.ts"],"names":[],"mappings":";AAAA;;IAEI;;;AAEJ,iDAAyD;AACzD,mDAA6B;AAC7B,2BAAsE;AACtE,6DAAuC;AACvC,mDAA6B;AAC7B,2CAA+C;AAE/C,MAAqB,IAAK,SAAQ,qBAAW;IAA7C;;QAKE,WAAM,GAAG,IAAI,CAAC;QACd,QAAG,GAAG,EAAE,CAAC;QAET,mBAAc,GAAG;YACf,YAAY;YACZ,KAAK;YACL,SAAS;YACT,UAAU;YACV,QAAQ;YACR,UAAU;YACV,SAAS;YACT,YAAY;YACZ,WAAW;YACX,KAAK;YACL,UAAU;YACV,WAAW;YACX,KAAK;YACL,QAAQ;YACR,OAAO;YACP,MAAM;YACN,UAAU;YACV,SAAS;YACT,gBAAgB;YAChB,WAAW;YACX,YAAY;YACZ,SAAS;YACT,MAAM;YACN,QAAQ;YACR,SAAS;YACT,UAAU;YACV,QAAQ;YACR,SAAS;YACT,QAAQ;YACR,YAAY;YACZ,QAAQ;YACR,SAAS;YACT,eAAe;YACf,gBAAgB;YAChB,QAAQ;YACR,QAAQ;YACR,WAAW;YACX,KAAK;YACL,QAAQ;YACR,QAAQ;YACR,SAAS;YACT,WAAW;YACX,WAAW;YACX,UAAU;YACV,UAAU;YACV,QAAQ;YACR,OAAO;YACP,UAAU;YACV,YAAY;YACZ,WAAW;YACX,aAAa;YACb,QAAQ;YACR,SAAS;YACT,OAAO;YACP,WAAW;YACX,WAAW;YACX,SAAS;YACT,YAAY;YACZ,YAAY;SACb,CAAC;QAEF,2BAAsB,GAAG,CAAC,cAAc,EAAE,mBAAmB,EAAE,sCAAsC,CAAC,CAAC;QAEvG,eAAU,GAAG,EAAE,CAAC;QAChB,eAAU,GAAG,EAAE,CAAC;QAEhB,qBAAgB,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAE5C,gBAAW,GAAG;YACZ,QAAQ;YACR,oBAAoB;YACpB,eAAe;YACf,mBAAmB;YACnB,oBAAoB;YACpB,eAAe;YACf,cAAc;YACd,oBAAoB;YACpB,kBAAkB;YAClB,wCAAwC;YACxC,yBAAyB;YACzB,oCAAoC;YACpC,mBAAmB;YACnB,oBAAoB;YACpB,oBAAoB;YACpB,oBAAoB;YACpB,WAAW;YACX,wBAAwB;YACxB,sBAAsB;YACtB,iBAAiB;YACjB,gBAAgB;YAChB,0BAA0B;YAC1B,kBAAkB;YAClB,qBAAqB;YACrB,iBAAiB;YACjB,eAAe;YACf,oBAAoB;YACpB,6BAA6B;YAC7B,yBAAyB;YACzB,oBAAoB;YACpB,kBAAkB;YAClB,gBAAgB;YAChB,kCAAkC;YAClC,oCAAoC;YACpC,kBAAkB;YAClB,mBAAmB;SACpB,CAAC;QAEF,kBAAa,GAAG,EAAE,CAAC;IAkRrB,CAAC;IA9PC,8DAA8D;IACvD,KAAK,CAAC,GAAG;QACd,MAAM,kBAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,GAAG,2BAA2B,CAAC;QAC5E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC;YACV,IAAI,CAAC,uBAAuB,EAAE;YAC9B,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;YACzE,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,wDAAwD,CAAC;YACzG,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,wDAAwD,CAAC;YACzG,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,wDAAwD,CAAC;YACzG,IAAI,CAAC,uBAAuB,CAC1B,8BAA8B,EAC9B,6HAA6H,CAC9H;YACD,IAAI,CAAC,uBAAuB,CAC1B,8BAA8B,EAC9B,8HAA8H,CAC/H;YACD,IAAI,CAAC,uBAAuB,CAC1B,+BAA+B,EAC/B,+HAA+H,CAChI;YAED,IAAI,CAAC,uBAAuB,CAC1B,SAAS,EACT,gHAAgH,CACjH;YACD,IAAI,CAAC,uBAAuB,CAC1B,SAAS,EACT,iHAAiH,CAClH;YACD,IAAI,CAAC,uBAAuB,CAC1B,SAAS,EACT,iHAAiH,CAClH;YACD,IAAI,CAAC,uBAAuB,CAC1B,SAAS,EACT,iHAAiH,CAClH;YACD,IAAI,CAAC,uBAAuB,CAC1B,kBAAkB,EAClB,gHAAgH,CACjH;YACD,IAAI,CAAC,uBAAuB,CAC1B,mBAAmB,EACnB,gHAAgH,CACjH;YACD,IAAI,CAAC,uBAAuB,CAC1B,mBAAmB,EACnB,gHAAgH,CACjH;YACD,IAAI,CAAC,uBAAuB,CAC1B,mBAAmB,EACnB,gHAAgH,CACjH;YACD,IAAI,CAAC,uBAAuB,CAC1B,mBAAmB,EACnB,gHAAgH,CACjH;YACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;YAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;SAC9C,CAAC;aACC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACnD,KAAK,CAAC,KAAK,CAAC,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEL,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACK,uBAAuB;QAC7B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,cAAc,GAAG,EAAE,CAAC;YAE1B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;gBAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE;oBACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBACjD,IACE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;wBACpE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EACxE;wBACA,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBAC/B;iBACF;aACF;YACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,MAAM,CAAC,GAAG;oBACR,KAAK,EAAE,oCAAoC;oBAC3C,OAAO,EAAE,gBAAgB,GAAG,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG;oBACjF,UAAU,EAAE,cAAc;oBAC1B,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,OAAO;iBACf,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACzB;YACD,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IACD;;;;OAIG;IACK,uBAAuB,CAAC,QAAQ,EAAE,IAAI;QAC5C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,cAAc,GAAG,EAAE,CAAC;YAC1B,6DAA6D;YAC7D,gFAAgF;YAEhF,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,mCAAmC,GAAG,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;YAC5F,sBAAsB;YACtB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC7B,MAAM,WAAW,GAAG,iBAAY,CAAC,IAAI,CAAC,CAAC;gBACvC,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACrC,IAAI,KAAK,GAAG,KAAK,CAAC;gBAElB,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBACrB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;wBACtC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;4BAClH,4CAA4C;4BAC5C,0BAA0B;4BAC1B,4CAA4C;4BAC5C,mCAAmC;4BACnC,KAAK,GAAG,IAAI,CAAC;4BACb,MAAM;yBACP;qBACF;oBACD,IAAI,KAAK,EAAE;wBACT,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;wBAC7C,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;4BACtF,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;yBAC/B;qBACF;iBACF;YACH,CAAC,CAAC,CAAC;YACH,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,MAAM,CAAC,GAAG;oBACR,KAAK,EAAE,eAAe,GAAG,QAAQ,GAAG,UAAU;oBAC9C,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,cAAc;oBAC1B,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,OAAO;iBACf,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACzB;YACD,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,GAAG,EAAE,GAAG;QAClC,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,eAAU,CAAC,GAAG,CAAC,EAAE;YACpB,MAAM,KAAK,CAAC,wBAAwB,GAAG,iBAAiB,CAAC,CAAC;SAC3D;QAED,gBAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,cAAS,CAAC,QAAQ,CAAC,CAAC;YAEjC,yGAAyG;YACzG,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;gBACtB,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC5D,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;aACnC;iBAAM;gBACL,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE;oBAC9B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACtB;aACF;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IACD;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,IAAI;QAC9B,MAAM,WAAW,GAAG,iBAAY,CAAC,IAAI,GAAG,oBAAoB,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE/C,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAAE;YACnD,wCAAwC;YACxC,MAAM,CAAC,GAAG;gBACR,KAAK,EAAE,0CAA0C,GAAG,IAAI,CAAC,MAAM;gBAC/D,OAAO,EAAE,oCAAoC,GAAG,IAAI,CAAC,MAAM,GAAG,oBAAoB;gBAClF,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,OAAO;gBACd,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC;aACzC,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzB;IACH,CAAC;IACD;;;OAGG;IACK,KAAK,CAAC,gBAAgB,CAAC,aAAa;QAC1C,IAAI;YACF,IAAI,CAAC,aAAa,EAAE;gBAClB,OAAO;aACR;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CACnC,mGAAmG,IAAI,CAAC,MAAM,cAAc,aAAa,EAAE,CAC5I,CAAC;YAEF,IAAI,MAAM,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;aAChC;YACD,IAAI,MAAM,EAAE;gBACV,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/B,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE;oBAClD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE;wBAC3C,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE;4BAChH,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iFAAiF,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;4BAC9H,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC;4BACrB,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC;4BAClB,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gCAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;6BACzB;yBACF;qBACF;iBACF;aACF;SACF;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,4EAA4E;YAC9F,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;SACpB;IACH,CAAC;IACD;;OAEG;IACK,eAAe,CAAC,MAAM;QAC5B,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE;YAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SACvD;aAAM;YACL,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC/B,OAAO,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC;gBACjG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;gBACzC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;aAC7B;SACF;IACH,CAAC;;AArYH,uBAsYC;AArYe,gBAAW,GAAG,uEAAuE,CAAC;AAEtF,aAAQ,GAAG,CAAC,4EAA4E,CAAC,CAAC;AAmHvF,gBAAW,GAAG;IAC7B,YAAY,EAAE,eAAK,CAAC,SAAS,CAAC;QAC5B,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,GAAG;KACb,CAAC;IACF,WAAW,EAAE,eAAK,CAAC,SAAS,CAAC;QAC3B,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,yCAAyC;QACtD,OAAO,EAAE,GAAG;KACb,CAAC;IAEF,MAAM,EAAE,eAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,sBAAsB;KACpC,CAAC;CACH,CAAC"}