@terafina/tffa-sfdx-plugin 14.0.1 → 14.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +38 -9
  2. package/bin/pmd/apex_ruleset.xml +52 -0
  3. package/bin/pmd/apex_test_ruleset.xml +1 -1
  4. package/bin/pmd/apex_vf_ruleset.xml +17 -0
  5. package/bin/pmd/lib/pmd-visualforce-6.47.0.jar +0 -0
  6. package/bin/update.sh +0 -1
  7. package/lib/commands/tffa/apexdoc.js +5 -3
  8. package/lib/commands/tffa/apexdoc.js.map +1 -1
  9. package/lib/commands/tffa/lint.js +10 -7
  10. package/lib/commands/tffa/lint.js.map +1 -1
  11. package/lib/commands/tffa/source/apiset.d.ts +11 -0
  12. package/lib/commands/tffa/source/apiset.js +89 -0
  13. package/lib/commands/tffa/source/apiset.js.map +1 -0
  14. package/lib/services/lint/apex-class-scan.d.ts +1 -3
  15. package/lib/services/lint/apex-class-scan.js +16 -109
  16. package/lib/services/lint/apex-class-scan.js.map +1 -1
  17. package/lib/services/lint/apex-pmd.d.ts +1 -0
  18. package/lib/services/lint/apex-pmd.js +10 -4
  19. package/lib/services/lint/apex-pmd.js.map +1 -1
  20. package/lib/services/lint/metadata-scan.d.ts +10 -4
  21. package/lib/services/lint/metadata-scan.js +44 -65
  22. package/lib/services/lint/metadata-scan.js.map +1 -1
  23. package/lib/services/lint/rules.d.ts +10 -0
  24. package/lib/services/lint/rules.js +86 -0
  25. package/lib/services/lint/rules.js.map +1 -0
  26. package/lib/utils/constants.d.ts +9 -0
  27. package/lib/utils/constants.js +14 -0
  28. package/lib/utils/constants.js.map +1 -0
  29. package/lib/utils/ignored-files.d.ts +2 -0
  30. package/lib/utils/ignored-files.js +66 -1
  31. package/lib/utils/ignored-files.js.map +1 -1
  32. package/messages/apexdoc.json +5 -0
  33. package/messages/lint.json +5 -0
  34. package/messages/ping.json +1 -1
  35. package/messages/sourceApiSet.json +8 -0
  36. package/oclif.manifest.json +1 -1
  37. package/package.json +14 -12
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Rules = void 0;
4
+ const tslib_1 = require("tslib");
5
+ /**
6
+ * Copyright (c) NCR Terafina
7
+ **/
8
+ const ignored_files_1 = tslib_1.__importDefault(require("../../utils/ignored-files"));
9
+ class Rules {
10
+ }
11
+ exports.Rules = Rules;
12
+ Rules.customrules = {
13
+ APEX_NAME_CONVENTION: {
14
+ label: 'Files violating naming conventions',
15
+ category: 'INTERNAL',
16
+ level: 'FATAL',
17
+ message: 'Classes should' + '\nend with [' + ignored_files_1.default.allowedClassNameListEnd.join(', ') + ']'
18
+ },
19
+ CUSTOM_TAB_DESCRIPTION: {
20
+ label: 'Custom Objects should have a description',
21
+ category: 'INTERNAL',
22
+ level: 'FATAL',
23
+ message: 'It is a best practice that Custom Objects have a description.'
24
+ },
25
+ CUSTOM_FIELD_DESCRIPTION: {
26
+ label: 'Custom Fields should have a description',
27
+ category: 'INTERNAL',
28
+ level: 'FATAL',
29
+ message: 'It is a best practice that Custom Fields have a description'
30
+ },
31
+ CUSTOM_FIELD_UNDERSCORE: {
32
+ label: 'Custom fields should not contain underscores.',
33
+ category: 'INTERNAL',
34
+ level: 'WARN',
35
+ message: 'It is a best practice that Custom fields should not contain underscores.'
36
+ },
37
+ CUSTOM_FIELD_CZ: {
38
+ label: 'Custom fields in managed object should start with CZ.',
39
+ category: 'INTERNAL',
40
+ level: 'WARN',
41
+ message: 'It is a best practice that Custom fields should start with CZ in a managed object.'
42
+ },
43
+ CUSTOM_TAB_CZ: {
44
+ label: 'Custom objects should start with CZ.',
45
+ category: 'INTERNAL',
46
+ level: 'WARN',
47
+ message: 'It is a best practice that Custom objects should start with CZ to avoid clash with managed package'
48
+ },
49
+ MINAPI_VERSION: {
50
+ label: 'Using old Metadata API Version',
51
+ category: 'API',
52
+ level: 'FATAL',
53
+ message: 'You appear to be using a version of Metadata API less than the minimum specified.'
54
+ },
55
+ PROJECT_API_VERSION: {
56
+ label: 'Project source api version using old Metadata API Version',
57
+ category: 'API',
58
+ level: 'FATAL',
59
+ message: 'Please update sourceApiVersion in sfdx-project.json'
60
+ },
61
+ DIRECT_ABSTRACT_CLASS: {
62
+ label: 'Instances of (tffa\\.AbstractRepository\\.|tffa\\.AbstractController\\.|tffa\\.AbstractRESTService\\.)',
63
+ category: 'INTERNAL',
64
+ level: 'FATAL',
65
+ message: 'Do not call methods directly of an abstract class . Extend the abstract class and use methods directly'
66
+ },
67
+ SOQL_REPOSITORY: {
68
+ label: 'Instances of (\\[select |\\[update |\\[upsert |\\[delete |\\bDatabase\\.query\\b|\\bDatabase\\.update\\b|\\bDatabase\\.insert\\b|\\bDatabase\\.upsert\\b|\\bDatabase\\.delete\\b)',
69
+ category: 'INTERNAL',
70
+ level: 'FATAL',
71
+ message: 'Any SOQL should be encapsulated into Repository classes extending tffa.AbstractRepository. Use doQuery method '
72
+ },
73
+ NO_SUPPRESSWARNINGS: {
74
+ label: 'Instances of SuppressWarnings',
75
+ category: 'PMD',
76
+ level: 'WARN',
77
+ message: 'Do not supress PMD warnings , instead fix them '
78
+ },
79
+ NO_SYSTEM_ASSERT_HARDCODING: {
80
+ label: 'Instances of (System\\.assertEquals\\(true\\, true\\)|System\\.assertNotEquals\\(true\\, false\\)|System\\.assertNotEquals\\(false\\, true\\)|System\\.assert\\(true\\))',
81
+ category: 'PMD',
82
+ level: 'FATAL',
83
+ message: 'Apex unit tests should include at least one assertion . Do not hard code values. Use proper variables'
84
+ }
85
+ };
86
+ //# sourceMappingURL=rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../src/services/lint/rules.ts"],"names":[],"mappings":";;;;AAAA;;IAEI;AACJ,sFAAqD;AASrD,MAAa,KAAK;;AAAlB,sBA6EC;AA5Ee,iBAAW,GAAyB;IAChD,oBAAoB,EAAE;QACpB,KAAK,EAAE,oCAAoC;QAC3C,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,gBAAgB,GAAG,cAAc,GAAG,uBAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG;KACnG;IACD,sBAAsB,EAAE;QACtB,KAAK,EAAE,0CAA0C;QACjD,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,+DAA+D;KACzE;IACD,wBAAwB,EAAE;QACxB,KAAK,EAAE,yCAAyC;QAChD,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,6DAA6D;KACvE;IACD,uBAAuB,EAAE;QACvB,KAAK,EAAE,+CAA+C;QACtD,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,0EAA0E;KACpF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,uDAAuD;QAC9D,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,oFAAoF;KAC9F;IACD,aAAa,EAAE;QACb,KAAK,EAAE,sCAAsC;QAC7C,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,oGAAoG;KAC9G;IACD,cAAc,EAAE;QACd,KAAK,EAAE,gCAAgC;QACvC,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,mFAAmF;KAC7F;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE,2DAA2D;QAClE,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,qDAAqD;KAC/D;IACD,qBAAqB,EAAE;QACrB,KAAK,EAAE,wGAAwG;QAC/G,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,wGAAwG;KAClH;IACD,eAAe,EAAE;QACf,KAAK,EACH,mLAAmL;QACrL,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,gHAAgH;KAC1H;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE,+BAA+B;QACtC,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,iDAAiD;KAC3D;IACD,2BAA2B,EAAE;QAC3B,KAAK,EACH,2KAA2K;QAC7K,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,uGAAuG;KACjH;CACF,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) NCR Terafina
3
+ **/
4
+ export declare class Constants {
5
+ /**
6
+ * All constants
7
+ */
8
+ static API_VERSION: number;
9
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Constants = void 0;
4
+ /**
5
+ * Copyright (c) NCR Terafina
6
+ **/
7
+ class Constants {
8
+ }
9
+ exports.Constants = Constants;
10
+ /**
11
+ * All constants
12
+ */
13
+ Constants.API_VERSION = 55;
14
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":";;;AAAA;;IAEI;AACJ,MAAa,SAAS;;AAAtB,8BAKC;AAJC;;GAEG;AACW,qBAAW,GAAG,EAAE,CAAC"}
@@ -9,6 +9,8 @@ export default class IgnoredFiles {
9
9
  static skipProjects: string[];
10
10
  static skipStandardObjects: string[];
11
11
  static ignoreFiles: string[];
12
+ static allowedClassNameListEnd: string[];
13
+ static allowedClassNameListStart: string[];
12
14
  static files: any[];
13
15
  static logger: Logger;
14
16
  static init(sourceFolder: string): Promise<void>;
@@ -83,7 +83,72 @@ IgnoredFiles.ignoreFiles = [
83
83
  'ExpressionEvaluator',
84
84
  'Migration_V14_0_0',
85
85
  'Migration_V14_0_0_1',
86
- 'Migration_V14_0_0_2'
86
+ 'Migration_V14_0_0_2',
87
+ 'kycReport.page',
88
+ 'dueDiligenceReport.page'
87
89
  ];
90
+ IgnoredFiles.allowedClassNameListEnd = [
91
+ 'Repository',
92
+ 'DTO',
93
+ 'Request',
94
+ 'Response',
95
+ 'Result',
96
+ 'Provider',
97
+ 'Service',
98
+ 'Controller',
99
+ 'Constants',
100
+ 'Job',
101
+ 'Executor',
102
+ 'Processor',
103
+ 'Ext',
104
+ 'Utlity',
105
+ 'Utils',
106
+ 'Util',
107
+ 'Resolver',
108
+ 'Factory',
109
+ 'EventExtension',
110
+ 'EventFactory',
111
+ 'Exception',
112
+ 'Calculator',
113
+ 'Builder',
114
+ 'Type',
115
+ 'Logger',
116
+ 'Context',
117
+ 'Exporter',
118
+ 'Status',
119
+ 'Handler',
120
+ 'Client',
121
+ 'Serializer',
122
+ 'Parser',
123
+ 'Adapter',
124
+ 'Configuration',
125
+ 'Configurations',
126
+ 'Mapper',
127
+ 'Helper',
128
+ 'Extension',
129
+ 'Dom',
130
+ 'Render',
131
+ 'Record',
132
+ 'Records',
133
+ 'Generator',
134
+ 'Formatter',
135
+ 'Notifier',
136
+ 'Enricher',
137
+ 'Signer',
138
+ 'Batch',
139
+ 'Assigner',
140
+ 'Dispatcher',
141
+ 'Namespace',
142
+ 'Interaction',
143
+ 'Cipher',
144
+ 'APICall',
145
+ 'Cache',
146
+ 'Validator',
147
+ 'Evaluator',
148
+ 'Matcher',
149
+ 'Credential',
150
+ 'Comparator'
151
+ ];
152
+ IgnoredFiles.allowedClassNameListStart = ['Migration', 'SObject'];
88
153
  IgnoredFiles.files = [];
89
154
  //# sourceMappingURL=ignored-files.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ignored-files.js","sourceRoot":"","sources":["../../src/utils/ignored-files.ts"],"names":[],"mappings":";AAAA;;IAEI;;;AAEJ,2CAA0C;AAC1C,2BAAkC;AAClC,wDAAwB;AAExB,MAAqB,YAAY;IAwDxB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAoB;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,aAAM,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAA,iBAAY,EAAC,YAAY,GAAG,eAAe,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,WAAW;aACvB,QAAQ,EAAE;aACV,KAAK,CAAC,OAAO,CAAC;aACd,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QACvD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;YACtB,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,YAAY,IAAI,YAAY,IAAI,GAAG,EAAE;gBACvC,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC3B;YACD,IAAI,oBAAoB,IAAI,YAAY,EAAE;gBACxC,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC3B;YAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACpB;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IACD,0BAA0B;QACxB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;;AAjFH,+BAkFC;AAjFe,wBAAW,GAAG,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;AACvH,+BAAkB,GAAG,iCAAiC,CAAC;AACvD,gCAAmB,GAC/B,+WAA+W,CAAC;AACpW,yBAAY,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAC1C,gCAAmB,GAAG,CAAC,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5E,wBAAW,GAAG;IACnB,QAAQ;IACR,oBAAoB;IACpB,eAAe;IACf,mBAAmB;IACnB,oBAAoB;IACpB,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,kBAAkB;IAClB,wCAAwC;IACxC,yBAAyB;IACzB,oCAAoC;IACpC,mBAAmB;IACnB,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,WAAW;IACX,wBAAwB;IACxB,sBAAsB;IACtB,iBAAiB;IACjB,gBAAgB;IAChB,0BAA0B;IAC1B,kBAAkB;IAClB,qBAAqB;IACrB,iBAAiB;IACjB,eAAe;IACf,oBAAoB;IACpB,6BAA6B;IAC7B,yBAAyB;IACzB,oBAAoB;IACpB,kBAAkB;IAClB,gBAAgB;IAChB,kCAAkC;IAClC,oCAAoC;IACpC,kBAAkB;IAClB,mBAAmB;IACnB,oBAAoB;IACpB,eAAe;IACf,cAAc;IACd,qBAAqB;IACrB,mBAAmB;IACnB,qBAAqB;IACrB,qBAAqB;CACtB,CAAC;AAEY,kBAAK,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"ignored-files.js","sourceRoot":"","sources":["../../src/utils/ignored-files.ts"],"names":[],"mappings":";AAAA;;IAEI;;;AAEJ,2CAA0C;AAC1C,2BAAkC;AAClC,wDAAwB;AAExB,MAAqB,YAAY;IA2HxB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAoB;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,aAAM,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAA,iBAAY,EAAC,YAAY,GAAG,eAAe,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,WAAW;aACvB,QAAQ,EAAE;aACV,KAAK,CAAC,OAAO,CAAC;aACd,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QACvD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;YACtB,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,YAAY,IAAI,YAAY,IAAI,GAAG,EAAE;gBACvC,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC3B;YACD,IAAI,oBAAoB,IAAI,YAAY,EAAE;gBACxC,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC3B;YAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACpB;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IACD,0BAA0B;QACxB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;;AApJH,+BAqJC;AApJe,wBAAW,GAAG,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;AACvH,+BAAkB,GAAG,iCAAiC,CAAC;AACvD,gCAAmB,GAC/B,+WAA+W,CAAC;AACpW,yBAAY,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAC1C,gCAAmB,GAAG,CAAC,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5E,wBAAW,GAAG;IACnB,QAAQ;IACR,oBAAoB;IACpB,eAAe;IACf,mBAAmB;IACnB,oBAAoB;IACpB,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,kBAAkB;IAClB,wCAAwC;IACxC,yBAAyB;IACzB,oCAAoC;IACpC,mBAAmB;IACnB,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,WAAW;IACX,wBAAwB;IACxB,sBAAsB;IACtB,iBAAiB;IACjB,gBAAgB;IAChB,0BAA0B;IAC1B,kBAAkB;IAClB,qBAAqB;IACrB,iBAAiB;IACjB,eAAe;IACf,oBAAoB;IACpB,6BAA6B;IAC7B,yBAAyB;IACzB,oBAAoB;IACpB,kBAAkB;IAClB,gBAAgB;IAChB,kCAAkC;IAClC,oCAAoC;IACpC,kBAAkB;IAClB,mBAAmB;IACnB,oBAAoB;IACpB,eAAe;IACf,cAAc;IACd,qBAAqB;IACrB,mBAAmB;IACnB,qBAAqB;IACrB,qBAAqB;IACrB,gBAAgB;IAChB,yBAAyB;CAC1B,CAAC;AAEY,oCAAuB,GAAG;IACtC,YAAY;IACZ,KAAK;IACL,SAAS;IACT,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;IACT,YAAY;IACZ,WAAW;IACX,KAAK;IACL,UAAU;IACV,WAAW;IACX,KAAK;IACL,QAAQ;IACR,OAAO;IACP,MAAM;IACN,UAAU;IACV,SAAS;IACT,gBAAgB;IAChB,cAAc;IACd,WAAW;IACX,YAAY;IACZ,SAAS;IACT,MAAM;IACN,QAAQ;IACR,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;IACV,QAAQ;IACR,OAAO;IACP,UAAU;IACV,YAAY;IACZ,WAAW;IACX,aAAa;IACb,QAAQ;IACR,SAAS;IACT,OAAO;IACP,WAAW;IACX,WAAW;IACX,SAAS;IACT,YAAY;IACZ,YAAY;CACb,CAAC;AAEY,sCAAyB,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAErD,kBAAK,GAAG,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ {
2
+ "commandDescription": "Generate Apex API Documentation",
3
+ "sourceFolderDescription": "directory containing sfdx project",
4
+ "destFolderDescription": "directory to generate the api docs"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "commandDescription": "scan a sfdx project and provide a violations report based on defined standards",
3
+ "flagApiversionDescription": "minimum api version to use during quality checks",
4
+ "sourceFolderDescription": "directory containing sfdx project"
5
+ }
@@ -1,3 +1,3 @@
1
1
  {
2
- "commandDescription": "ping"
2
+ "commandDescription": "ping and test the plugin"
3
3
  }
@@ -0,0 +1,8 @@
1
+ {
2
+ "commandDescription": "Upgrades the current project and all metadata to the latest API version",
3
+ "flagApiversionDescription": "specify the API version ",
4
+ "sourceFolderDescription": "directory containing sfdx project",
5
+ "msgNoMetadataInPackageDirectories": "No metadata files found in package directories.",
6
+ "successMessage": "%s files have been set to API version %s in package directory '%s'.",
7
+ "msgReadingPackageDirectories": "Reading content of package directories."
8
+ }
@@ -1 +1 @@
1
- {"version":"14.0.1","commands":{"tffa:apexdoc":{"id":"tffa:apexdoc","description":"Generate Apex API Documentation","strict":true,"usage":"<%= command.id %> [-s <directory>] [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"@terafina/tffa-sfdx-plugin","pluginAlias":"@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)","multiple":false,"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 the workspace","multiple":false,"default":"."},"destfolder":{"name":"destfolder","type":"option","char":"d","description":"directory to generate the api docs","multiple":false}},"args":[],"flagsConfig":{"sourcefolder":{"kind":"directory","char":"s","description":"directory containing the workspace","default":".","input":[],"multiple":false,"type":"option"},"destfolder":{"kind":"directory","char":"d","description":"directory to generate the api docs","input":[],"multiple":false,"type":"option"}}},"tffa:lint":{"id":"tffa:lint","description":"scan a sfdx project and provide a violations report based on defined standards","strict":true,"usage":"<%= command.id %> [-s <directory>] [-m <integer>] [-r <filepath>] [-e] [-f] [-j] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"@terafina/tffa-sfdx-plugin","pluginAlias":"@terafina/tffa-sfdx-plugin","pluginType":"core","aliases":[],"examples":["Scan a sfdx project 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)","multiple":false,"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","multiple":false,"default":"."},"minapi":{"name":"minapi","type":"option","char":"m","description":"minimum api version to use during quality checks","multiple":false,"default":55},"rulesetpath":{"name":"rulesetpath","type":"option","char":"r","description":"path to pmd ruleset","multiple":false},"eject":{"name":"eject","type":"boolean","char":"e","description":"update local pmd ruleset","allowNo":false},"level":{"name":"level","type":"boolean","char":"f","description":"emit fatal violations only","allowNo":false}},"args":[],"flagsConfig":{"sourcefolder":{"kind":"directory","char":"s","description":"directory containing sfdx project","default":".","input":[],"multiple":false,"type":"option"},"minapi":{"kind":"integer","char":"m","description":"minimum api version to use during quality checks","default":55,"input":[],"multiple":false,"type":"option"},"json":{"kind":"boolean","char":"j","description":"generate json output","allowNo":false,"type":"boolean"},"rulesetpath":{"kind":"filepath","char":"r","description":"path to pmd ruleset","input":[],"multiple":false,"type":"option"},"eject":{"kind":"boolean","char":"e","description":"update local pmd ruleset","allowNo":false,"type":"boolean"},"level":{"kind":"boolean","char":"f","description":"emit fatal violations only","allowNo":false,"type":"boolean"}}},"tffa:meta":{"id":"tffa:meta","description":"scan a sfdx project for metadata","strict":true,"usage":"<%= command.id %> [-s <directory>] [-d <directory>] [-c <directory>] [-o json|csv|human] [-f] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"@terafina/tffa-sfdx-plugin","pluginAlias":"@terafina/tffa-sfdx-plugin","pluginType":"core","aliases":[],"examples":["scan a sfdx project for metadata :\t$sfdx tffa:meta"],"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)","multiple":false,"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","multiple":false,"default":"."},"destpath":{"name":"destpath","type":"option","char":"d","description":"full path output file","multiple":false,"default":"."},"clientname":{"name":"clientname","type":"option","char":"c","description":"name of the client","multiple":false,"default":"."},"output":{"name":"output","type":"option","char":"o","description":"output format json csv human","helpValue":"(json|csv|human)","multiple":false,"options":["json","csv","human"]},"fields":{"name":"fields","type":"boolean","char":"f","description":"generate field output","allowNo":false}},"args":[],"flagsConfig":{"sourcefolder":{"kind":"directory","char":"s","description":"directory containing sfdx project","default":".","input":[],"multiple":false,"type":"option"},"destpath":{"kind":"directory","char":"d","description":"full path output file","default":".","input":[],"multiple":false,"type":"option"},"clientname":{"kind":"directory","char":"c","description":"name of the client","default":".","input":[],"multiple":false,"type":"option"},"output":{"kind":"enum","helpValue":"(json|csv|human)","char":"o","options":["json","csv","human"],"description":"output format json csv human","input":[],"multiple":false,"type":"option"},"fields":{"kind":"boolean","char":"f","description":"generate field output","allowNo":false,"type":"boolean"}}},"tffa:ping":{"id":"tffa:ping","description":"ping","strict":true,"usage":"<%= command.id %> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"@terafina/tffa-sfdx-plugin","pluginAlias":"@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)","multiple":false,"options":["trace","debug","info","warn","error","fatal","TRACE","DEBUG","INFO","WARN","ERROR","FATAL"],"default":"warn"}},"args":[{"name":"file"}],"flagsConfig":{}}}}
1
+ {"version":"14.1.0","commands":{"tffa:apexdoc":{"id":"tffa:apexdoc","description":"Generate Apex API Documentation","strict":true,"usage":"<%= command.id %> [-s <directory>] [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"@terafina/tffa-sfdx-plugin","pluginAlias":"@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)","multiple":false,"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","multiple":false,"default":"."},"destfolder":{"name":"destfolder","type":"option","char":"d","description":"directory to generate the api docs","multiple":false}},"args":[],"flagsConfig":{"sourcefolder":{"kind":"directory","char":"s","description":"directory containing sfdx project","default":".","input":[],"multiple":false,"type":"option"},"destfolder":{"kind":"directory","char":"d","description":"directory to generate the api docs","input":[],"multiple":false,"type":"option"}}},"tffa:lint":{"id":"tffa:lint","description":"scan a sfdx project and provide a violations report based on defined standards","strict":true,"usage":"<%= command.id %> [-s <directory>] [-m <integer>] [-r <filepath>] [-e] [-f] [-j] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"@terafina/tffa-sfdx-plugin","pluginAlias":"@terafina/tffa-sfdx-plugin","pluginType":"core","aliases":[],"examples":["$sfdx tffa:lint"],"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)","multiple":false,"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","multiple":false,"default":"."},"minapi":{"name":"minapi","type":"option","char":"m","description":"minimum api version to use during quality checks","multiple":false,"default":55},"rulesetpath":{"name":"rulesetpath","type":"option","char":"r","description":"path to pmd ruleset","multiple":false},"eject":{"name":"eject","type":"boolean","char":"e","description":"update local pmd ruleset","allowNo":false},"level":{"name":"level","type":"boolean","char":"f","description":"emit fatal violations only","allowNo":false}},"args":[],"flagsConfig":{"sourcefolder":{"kind":"directory","char":"s","description":"directory containing sfdx project","default":".","input":[],"multiple":false,"type":"option"},"minapi":{"kind":"integer","char":"m","description":"minimum api version to use during quality checks","default":55,"input":[],"multiple":false,"type":"option"},"json":{"kind":"boolean","char":"j","description":"generate json output","allowNo":false,"type":"boolean"},"rulesetpath":{"kind":"filepath","char":"r","description":"path to pmd ruleset","input":[],"multiple":false,"type":"option"},"eject":{"kind":"boolean","char":"e","description":"update local pmd ruleset","allowNo":false,"type":"boolean"},"level":{"kind":"boolean","char":"f","description":"emit fatal violations only","allowNo":false,"type":"boolean"}}},"tffa:meta":{"id":"tffa:meta","description":"scan a sfdx project for metadata","strict":true,"usage":"<%= command.id %> [-s <directory>] [-d <directory>] [-c <directory>] [-o json|csv|human] [-f] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"@terafina/tffa-sfdx-plugin","pluginAlias":"@terafina/tffa-sfdx-plugin","pluginType":"core","aliases":[],"examples":["scan a sfdx project for metadata :\t$sfdx tffa:meta"],"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)","multiple":false,"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","multiple":false,"default":"."},"destpath":{"name":"destpath","type":"option","char":"d","description":"full path output file","multiple":false,"default":"."},"clientname":{"name":"clientname","type":"option","char":"c","description":"name of the client","multiple":false,"default":"."},"output":{"name":"output","type":"option","char":"o","description":"output format json csv human","helpValue":"(json|csv|human)","multiple":false,"options":["json","csv","human"]},"fields":{"name":"fields","type":"boolean","char":"f","description":"generate field output","allowNo":false}},"args":[],"flagsConfig":{"sourcefolder":{"kind":"directory","char":"s","description":"directory containing sfdx project","default":".","input":[],"multiple":false,"type":"option"},"destpath":{"kind":"directory","char":"d","description":"full path output file","default":".","input":[],"multiple":false,"type":"option"},"clientname":{"kind":"directory","char":"c","description":"name of the client","default":".","input":[],"multiple":false,"type":"option"},"output":{"kind":"enum","helpValue":"(json|csv|human)","char":"o","options":["json","csv","human"],"description":"output format json csv human","input":[],"multiple":false,"type":"option"},"fields":{"kind":"boolean","char":"f","description":"generate field output","allowNo":false,"type":"boolean"}}},"tffa:ping":{"id":"tffa:ping","description":"ping and test the plugin","strict":true,"usage":"<%= command.id %> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"@terafina/tffa-sfdx-plugin","pluginAlias":"@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)","multiple":false,"options":["trace","debug","info","warn","error","fatal","TRACE","DEBUG","INFO","WARN","ERROR","FATAL"],"default":"warn"}},"args":[{"name":"file"}],"flagsConfig":{}},"tffa:source:apiset":{"id":"tffa:source:apiset","description":"Upgrades the current project and all metadata to the latest API version","strict":true,"usage":"<%= command.id %> [-h <help>] [-s <directory>] [-a <integer>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"@terafina/tffa-sfdx-plugin","pluginAlias":"@terafina/tffa-sfdx-plugin","pluginType":"core","aliases":[],"examples":["$ sfdx tffa:source:apiset "],"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)","multiple":false,"options":["trace","debug","info","warn","error","fatal","TRACE","DEBUG","INFO","WARN","ERROR","FATAL"],"default":"warn"},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"sourcefolder":{"name":"sourcefolder","type":"option","char":"s","description":"directory containing sfdx project","multiple":false,"default":"."},"api":{"name":"api","type":"option","char":"a","description":"specify the API version ","multiple":false,"default":55}},"args":[],"flagsConfig":{"help":{"kind":"help","description":"Show CLI help.","char":"h","allowNo":false,"type":"boolean"},"sourcefolder":{"kind":"directory","char":"s","description":"directory containing sfdx project","default":".","input":[],"multiple":false,"type":"option"},"api":{"kind":"integer","char":"a","description":"specify the API version ","default":55,"input":[],"multiple":false,"type":"option"}}}}}
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": "14.0.1",
4
+ "version": "14.1.0",
5
5
  "author": "Terafina Inc",
6
6
  "bugs": "https://github.com/terafinainc/tffa-sfdx-plugin/issues",
7
7
  "dependencies": {
@@ -20,7 +20,9 @@
20
20
  "pretty": "2.0.0",
21
21
  "rimraf": "3.0.2",
22
22
  "tslib": "2.4.0",
23
- "xml2js": "0.4.23"
23
+ "xml2js": "0.4.23",
24
+ "recursive-readdir": "2.2.2",
25
+ "replace-in-file": "6.3.5"
24
26
  },
25
27
  "devDependencies": {
26
28
  "@commitlint/cli": "17.0.3",
@@ -33,33 +35,33 @@
33
35
  "@types/fs-extra": "9.0.13",
34
36
  "@types/js-yaml": "4.0.5",
35
37
  "@types/mocha": "9.1.1",
36
- "@types/node": "18.0.5",
38
+ "@types/node": "18.6.3",
39
+ "@types/recursive-readdir": "^2.2.1",
37
40
  "@types/xml2js": "0.4.11",
38
- "@typescript-eslint/eslint-plugin": "5.30.6",
39
- "@typescript-eslint/parser": "5.30.6",
41
+ "@typescript-eslint/eslint-plugin": "5.32.0",
42
+ "@typescript-eslint/parser": "5.32.0",
40
43
  "chai": "4",
41
- "eslint": "8.20.0",
44
+ "eslint": "8.21.0",
42
45
  "eslint-config-prettier": "8.5.0",
43
46
  "eslint-plugin-deprecation": "1.3.2",
44
47
  "eslint-plugin-header": "3.1.1",
45
48
  "eslint-plugin-import": "2.26.0",
46
- "eslint-plugin-jest": "26.6.0",
47
- "eslint-plugin-jsdoc": "39.3.3",
49
+ "eslint-plugin-jest": "26.7.0",
50
+ "eslint-plugin-jsdoc": "39.3.4",
48
51
  "eslint-plugin-prefer-arrow": "1.2.3",
49
- "eslint-plugin-sonarjs": "0.13.0",
52
+ "eslint-plugin-sonarjs": "0.14.0",
50
53
  "globby": "11.0.1",
51
54
  "htmlparser2": "8.0.1",
52
55
  "husky": "8.0.1",
53
56
  "mem-fs": "2.2.1",
54
- "mem-fs-editor": "9.4.0",
57
+ "mem-fs-editor": "9.5.0",
55
58
  "mocha": "10.0.0",
56
59
  "nyc": "15.1.0",
57
- "oclif": "3.1.1",
60
+ "oclif": "3.1.2",
58
61
  "prettier": "2.7.1",
59
62
  "prettier-plugin-apex": "1.10.0",
60
63
  "properties-parser": "0.3.1",
61
64
  "properties-reader": "2.2.0",
62
- "replace-in-file": "6.3.5",
63
65
  "standard-version": "9.5.0",
64
66
  "ts-node": "10",
65
67
  "typescript": "4.7.4",