@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
@@ -8,75 +8,12 @@ const core_1 = require("@salesforce/core");
8
8
  const fs_1 = require("fs");
9
9
  const path_1 = tslib_1.__importDefault(require("path"));
10
10
  const ignored_files_1 = tslib_1.__importDefault(require("../../utils/ignored-files"));
11
+ const rules_1 = require("./rules");
11
12
  class ApexClassScan {
12
13
  constructor() {
13
14
  this.dir = '';
14
- this.allowedListEnd = [
15
- 'Repository',
16
- 'DTO',
17
- 'Request',
18
- 'Response',
19
- 'Result',
20
- 'Provider',
21
- 'Service',
22
- 'Controller',
23
- 'Constants',
24
- 'Job',
25
- 'Executor',
26
- 'Processor',
27
- 'Ext',
28
- 'Utlity',
29
- 'Utils',
30
- 'Util',
31
- 'Resolver',
32
- 'Factory',
33
- 'EventExtension',
34
- 'EventFactory',
35
- 'Exception',
36
- 'Calculator',
37
- 'Builder',
38
- 'Type',
39
- 'Logger',
40
- 'Context',
41
- 'Exporter',
42
- 'Status',
43
- 'Handler',
44
- 'Client',
45
- 'Serializer',
46
- 'Parser',
47
- 'Adapter',
48
- 'Configuration',
49
- 'Configurations',
50
- 'Mapper',
51
- 'Helper',
52
- 'Extension',
53
- 'Dom',
54
- 'Render',
55
- 'Record',
56
- 'Records',
57
- 'Generator',
58
- 'Formatter',
59
- 'Notifier',
60
- 'Enricher',
61
- 'Signer',
62
- 'Batch',
63
- 'Assigner',
64
- 'Dispatcher',
65
- 'Namespace',
66
- 'Interaction',
67
- 'Cipher',
68
- 'APICall',
69
- 'Cache',
70
- 'Validator',
71
- 'Evaluator',
72
- 'Matcher',
73
- 'Credential',
74
- 'Comparator'
75
- ];
76
- this.allowedISVTEViolations = ['Translations', 'SECURITY_ENFORCED', 'Multiple Change Processes per Object'];
77
15
  this.classFiles = [];
78
16
  this.violations = [];
79
- this.allowedListStart = ['Migration', 'SObject'];
80
17
  this.ignoreFiles = [];
81
18
  }
82
19
  async scan(sourceFolder) {
@@ -93,23 +30,9 @@ class ApexClassScan {
93
30
  this.logger.debug(this.ignoreFiles);
94
31
  await Promise.all([
95
32
  this.checkFileNameConvention(),
96
- // this.checkClassesForKeywords('System\\.debug', 'Use tffa.Logger instead'),
97
- this.checkClassesForKeywords('\\.isCreateable', 'CRUD/FLS Checks are checked by tffa.AbstractRepository', 'INTERNAL', 'FATAL'),
98
- this.checkClassesForKeywords('\\.isAccessible', 'CRUD/FLS Checks are checked by tffa.AbstractRepository', 'INTERNAL', 'FATAL'),
99
- this.checkClassesForKeywords('\\.isUpdateable', 'CRUD/FLS Checks are checked by tffa.AbstractRepository', 'INTERNAL', 'FATAL'),
100
- this.checkClassesForKeywords('tffa\\.AbstractRepository\\.', 'Do not call methods directly of an abstract class . Call methods from Repository classes extending tffa.AbstractRepository', 'INTERNAL', 'FATAL'),
101
- this.checkClassesForKeywords('tffa\\.AbstractController\\.', 'Do not call methods directly of an abstract class . Call methods from Controllers classes extending tffa.AbstractController', 'INTERNAL', 'FATAL'),
102
- this.checkClassesForKeywords('tffa\\.AbstractRESTService\\.', 'Do not call methods directly of an abstract class . Call methods from RESTService classes extending tffa.AbstractRESTService', 'INTERNAL', 'FATAL'),
103
- this.checkClassesForKeywords('select ', 'Any SOQL should be encapsulated into Repository classes extending tffa.AbstractRepository. Use doQuery method ', 'INTERNAL', 'FATAL'),
104
- this.checkClassesForKeywords('update ', 'Any SOQL should be encapsulated into Repository classes extending tffa.AbstractRepository. Use doUpdate method ', 'INTERNAL', 'FATAL'),
105
- this.checkClassesForKeywords('upsert ', 'Any SOQL should be encapsulated into Repository classes extending tffa.AbstractRepository. Use doUpsert method ', 'INTERNAL', 'FATAL'),
106
- this.checkClassesForKeywords('delete ', 'Any SOQL should be encapsulated into Repository classes extending tffa.AbstractRepository. Use doDelete method ', 'INTERNAL', 'FATAL'),
107
- this.checkClassesForKeywords('Database\\.query', 'Any SOQL should be encapsulated into Repository classes extending tffa.AbstractRepository. Use doQuery method ', 'INTERNAL', 'FATAL'),
108
- this.checkClassesForKeywords('Database\\.update', 'Any SOQL should be encapsulated into Repository classes extending tffa.AbstractRepository. Use doQuery method ', 'INTERNAL', 'FATAL'),
109
- this.checkClassesForKeywords('Database\\.insert', 'Any SOQL should be encapsulated into Repository classes extending tffa.AbstractRepository. Use doQuery method ', 'INTERNAL', 'FATAL'),
110
- this.checkClassesForKeywords('Database\\.upsert', 'Any SOQL should be encapsulated into Repository classes extending tffa.AbstractRepository. Use doQuery method ', 'INTERNAL', 'FATAL'),
111
- this.checkClassesForKeywords('Database\\.delete', 'Any SOQL should be encapsulated into Repository classes extending tffa.AbstractRepository. Use doQuery method ', 'INTERNAL', 'FATAL'),
112
- this.checkClassesForKeywords('SuppressWarnings', 'Do not supress PMD warnings , instead fix them ', 'PMD', 'WARN')
33
+ this.checkClassesForKeywords2('(tffa\\.AbstractRepository\\.|tffa\\.AbstractController\\.|tffa\\.AbstractRESTService\\.)', 'DIRECT_ABSTRACT_CLASS'),
34
+ this.checkClassesForKeywords2('(\\[select |\\[update |\\[upsert |\\[delete |\\bDatabase\\.query\\b|\\bDatabase\\.update\\b|\\bDatabase\\.insert\\b|\\bDatabase\\.upsert\\b|\\bDatabase\\.delete\\b)', 'SOQL_REPOSITORY'),
35
+ this.checkClassesForKeywords2('SuppressWarnings', 'NO_SUPPRESSWARNINGS')
113
36
  ]);
114
37
  return this.violations;
115
38
  }
@@ -120,11 +43,8 @@ class ApexClassScan {
120
43
  this.ignoreFiles.push(...ignored_files_1.default.files);
121
44
  this.logger.debug(this.ignoreFiles);
122
45
  await Promise.all([
123
- this.checkClassesForKeywords('SuppressWarnings', 'Do not supress PMD warnings , instead fix them ', 'PMD', 'WARN'),
124
- this.checkClassesForKeywords('System\\.assertEquals\\(true\\, true\\)', 'Apex unit tests should include at least one assertion . Do not hard code values. Use proper variables', 'PMD', 'FATAL', 'System\\.assertEquals\\(true\\, true\\)\\;'),
125
- this.checkClassesForKeywords('System\\.assertNotEquals\\(true\\, false\\)', 'Apex unit tests should include at least one assertion . Do not hard code values. Use proper variables', 'PMD', 'FATAL', 'System\\.assertNotEquals\\(true\\, false\\)\\;'),
126
- this.checkClassesForKeywords('System\\.assertNotEquals\\(false\\, true\\)', 'Apex unit tests should include at least one assertion . Do not hard code values. Use proper variables', 'PMD', 'FATAL', 'System\\.assertNotEquals\\(false\\, true\\)\\;'),
127
- this.checkClassesForKeywords('System\\.assert\\(true\\)', 'Apex unit tests should include at least one assertion . Do not hard code values. Use proper variables', 'PMD', 'FATAL', 'System\\.assert\\(true\\)\\;')
46
+ this.checkClassesForKeywords2('SuppressWarnings', 'NO_SUPPRESSWARNINGS'),
47
+ this.checkClassesForKeywords2('(System\\.assertEquals\\(true\\, true\\)|System\\.assertNotEquals\\(true\\, false\\)|System\\.assertNotEquals\\(false\\, true\\)|System\\.assert\\(true\\))', 'NO_SYSTEM_ASSERT_HARDCODING')
128
48
  ]);
129
49
  return this.violations;
130
50
  }
@@ -138,8 +58,8 @@ class ApexClassScan {
138
58
  const filepath = path_1.default.join(this.dir, file);
139
59
  if (path_1.default.extname(filepath) == '.cls') {
140
60
  const filename = path_1.default.basename(filepath, '.cls');
141
- if (!this.allowedListEnd.some(substring => filename.endsWith(substring)) &&
142
- !this.allowedListStart.some(substring => filename.startsWith(substring))) {
61
+ if (!ignored_files_1.default.allowedClassNameListEnd.some(substring => filename.endsWith(substring)) &&
62
+ !ignored_files_1.default.allowedClassNameListStart.some(substring => filename.startsWith(substring))) {
143
63
  if (this.ignoreFiles.indexOf(filename) < 0 && this.ignoreFiles.indexOf(file) < 0) {
144
64
  violatingFiles.push(filename);
145
65
  }
@@ -151,35 +71,26 @@ class ApexClassScan {
151
71
  }
152
72
  }
153
73
  if (violatingFiles.length > 0) {
154
- const o = {
155
- label: 'Files violating naming conventions',
156
- message: 'Classes should' + '\nend with [' + this.allowedListEnd.join(', ') + ']',
157
- exceptions: violatingFiles,
158
- category: 'INTERNAL',
159
- level: 'FATAL'
160
- };
74
+ const o = { ...rules_1.Rules.customrules['APEX_NAME_CONVENTION'], exceptions: violatingFiles };
161
75
  this.violations.push(o);
162
76
  }
163
77
  resolve(null);
164
78
  });
165
79
  }
80
+ checkClassesForKeywords2(keywords, errorkey) {
81
+ const o = rules_1.Rules.customrules[errorkey];
82
+ this.checkClassesForKeywords(keywords, o.label, o.message, o.category, o.level);
83
+ }
166
84
  /**
167
85
  * test class files for filter
168
86
  * @param {*} keywords
169
87
  * @param {*} hint
170
88
  */
171
- checkClassesForKeywords(keywords, hint, category, level, regexInput) {
89
+ checkClassesForKeywords(keywords, label, hint, category, level) {
172
90
  return new Promise(resolve => {
173
91
  const violatingFiles = [];
174
92
  // We want full words, so we use full word boundary in regex.
175
- let regex = keywords;
176
- if (regexInput) {
177
- regex = new RegExp(regexInput);
178
- }
179
- else {
180
- regex = new RegExp("^(?!\\s*(\\'|\\//|\\*)\\s*).*(\\b" + keywords + '\\b).*$', 'gim');
181
- }
182
- // this.logger.debug(regex);
93
+ const regex = new RegExp("^(?!\\s*(\\'|\\//|\\*)\\s*).*(" + keywords + ').*$', 'gim');
183
94
  this.classFiles.forEach(file => {
184
95
  const fileContent = (0, fs_1.readFileSync)(file);
185
96
  const filec = fileContent.toString();
@@ -189,10 +100,6 @@ class ApexClassScan {
189
100
  const output = filec.match(regex);
190
101
  for (let i = 0; i < output.length; ++i) {
191
102
  if (output[i].indexOf("'") < 0 || output[i].toLowerCase().indexOf(keywords.toLowerCase()) < output[i].indexOf("'")) {
192
- // this.logger.debug(path.basename(file, '.cls'));
193
- // this.logger.debug(output[i]);
194
- // this.logger.debug(output[i].indexOf(keywords));
195
- // this.logger.debug(filec.indexOf("'"));
196
103
  found = true;
197
104
  break;
198
105
  }
@@ -210,7 +117,7 @@ class ApexClassScan {
210
117
  });
211
118
  if (violatingFiles.length > 0) {
212
119
  const o = {
213
- label: 'Instances of ' + keywords + ' keyword',
120
+ label: label,
214
121
  message: hint,
215
122
  exceptions: violatingFiles,
216
123
  category: category,
@@ -1 +1 @@
1
- {"version":3,"file":"apex-class-scan.js","sourceRoot":"","sources":["../../../src/services/lint/apex-class-scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apex-class-scan.js","sourceRoot":"","sources":["../../../src/services/lint/apex-class-scan.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Logger } from '@salesforce/core';
2
2
  export default class ApexPMD {
3
3
  ignoreFiles: any[];
4
4
  logger: Logger;
5
+ rules: string[];
5
6
  eject(sourceFolder: string): Promise<unknown[]>;
6
7
  scan(sourceFolder: string, rulesetpath: string): Promise<any[]>;
7
8
  private executeCmd;
@@ -16,11 +16,13 @@ const CLASSPATH_DELM = os.platform() === 'win32' ? ';' : ':';
16
16
  class ApexPMD {
17
17
  constructor() {
18
18
  this.ignoreFiles = [];
19
+ this.rules = ['apex_ruleset.xml', 'apex_test_ruleset.xml', 'apex_vf_ruleset.xml'];
19
20
  }
20
21
  async eject(sourceFolder) {
21
22
  const pmdBinPath = path.join(__dirname, '../../../', 'bin', 'pmd');
22
- fs_1.default.copyFileSync(path.resolve(pmdBinPath, 'apex_ruleset.xml'), path.resolve(sourceFolder, 'scripts', 'pmd', 'apex_ruleset.xml'));
23
- fs_1.default.copyFileSync(path.resolve(pmdBinPath, 'apex_test_ruleset.xml'), path.resolve(sourceFolder, 'scripts', 'pmd', 'apex_test_ruleset.xml'));
23
+ for (const rulefile of this.rules) {
24
+ fs_1.default.copyFileSync(path.resolve(pmdBinPath, rulefile), path.resolve(sourceFolder, 'scripts', 'pmd', rulefile));
25
+ }
24
26
  return;
25
27
  }
26
28
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -47,7 +49,11 @@ class ApexPMD {
47
49
  const javaExc = path.join(javaHome, 'bin', 'java');
48
50
  const commandBufferSize = 64;
49
51
  const pmdBinPath = path.join(__dirname, '../../../', 'bin', 'pmd');
50
- let rulesetsArg = path.join(pmdBinPath, 'apex_ruleset.xml') + ',' + path.join(pmdBinPath, 'apex_test_ruleset.xml');
52
+ const rulepaths = [];
53
+ for (const rulefile of this.rules) {
54
+ rulepaths.push(path.join(pmdBinPath, rulefile));
55
+ }
56
+ let rulesetsArg = rulepaths.join(',');
51
57
  if (rulesetpath) {
52
58
  rulesetsArg = rulesetpath;
53
59
  }
@@ -106,7 +112,7 @@ class ApexPMD {
106
112
  this.logger.warn('Ignore file ' + filename);
107
113
  continue;
108
114
  }
109
- const key = v.ruleset + '-' + v.rule;
115
+ const key = v.ruleset + '-' + v.rule + '-' + v.priority;
110
116
  let o = violationMap.get(key);
111
117
  if (!o) {
112
118
  o = {
@@ -1 +1 @@
1
- {"version":3,"file":"apex-pmd.js","sourceRoot":"","sources":["../../../src/services/lint/apex-pmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apex-pmd.js","sourceRoot":"","sources":["../../../src/services/lint/apex-pmd.ts"],"names":[],"mappings":"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"}
@@ -8,17 +8,23 @@ export default class MetadataScan {
8
8
  ignoreFiles: any[];
9
9
  violations: unknown[];
10
10
  logger: Logger;
11
+ apiViolations: any[];
11
12
  scan(sourceFolder: string, minapi: number): Promise<unknown[]>;
12
- /**
13
- * scan json files
14
- */
15
- private scanJSONFiles;
16
13
  /**
17
14
  * parse objects
18
15
  * @param {*} objpath
19
16
  * @param {*} clientname
20
17
  */
21
18
  private scanObjects;
19
+ /**
20
+ * scan api
21
+ * @param sourceFolder
22
+ * @param minapi
23
+ */
22
24
  private scanAPIVersion;
23
25
  private scanAPIVersionByType;
26
+ /**
27
+ * scan json files
28
+ */
29
+ private scanJSONFiles;
24
30
  }
@@ -9,11 +9,13 @@ const fs_1 = require("fs");
9
9
  const path = require("path");
10
10
  const xml2js = require("xml2js");
11
11
  const ignored_files_1 = tslib_1.__importDefault(require("../../utils/ignored-files"));
12
+ const rules_1 = require("./rules");
12
13
  class MetadataScan {
13
14
  constructor(namespace) {
14
15
  this.namespace = undefined;
15
16
  this.ignoreFiles = [];
16
17
  this.violations = [];
18
+ this.apiViolations = [];
17
19
  this.namespace = namespace;
18
20
  }
19
21
  async scan(sourceFolder, minapi) {
@@ -24,24 +26,6 @@ class MetadataScan {
24
26
  await this.scanAPIVersion(sourceFolder, minapi);
25
27
  return this.violations;
26
28
  }
27
- /**
28
- * scan json files
29
- */
30
- async scanJSONFiles(path, minapi) {
31
- const fileContent = (0, fs_1.readFileSync)(path + '/sfdx-project.json');
32
- const obj = JSON.parse(fileContent.toString());
33
- if (minapi > parseInt(obj['sourceApiVersion'])) {
34
- // this.logger.debug(obj["sourceApiVersion"]);
35
- const o = {
36
- label: 'Project source api version not equal to ' + minapi,
37
- message: 'Please update sourceApiVersion to ' + minapi + ' sfdx-project.json',
38
- category: 'API',
39
- level: 'FATAL',
40
- exceptions: ['sfdx-project.json']
41
- };
42
- this.violations.push(o);
43
- }
44
- }
45
29
  /**
46
30
  * parse objects
47
31
  * @param {*} objpath
@@ -120,10 +104,20 @@ class MetadataScan {
120
104
  }
121
105
  }
122
106
  if (found) {
123
- fieldUnderScoreViolations.push(tabname + '.' + fieldname);
107
+ if (!(ignored_files_1.default.skipObjects.includes(tabname) ||
108
+ ignored_files_1.default.skipStandardObjects.includes(tabname) ||
109
+ tabname.match(ignored_files_1.default.skipObjectPrefixes) ||
110
+ tabname.match(ignored_files_1.default.integrationPrefixes))) {
111
+ fieldUnderScoreViolations.push(tabname + '.' + fieldname);
112
+ }
124
113
  }
125
114
  if (tabname.startsWith('tffa__') && !fieldname.startsWith('CZ') && !fieldname.startsWith('cz')) {
126
- fieldCZNameViolations.push(tabname + '.' + fieldname);
115
+ if (!(ignored_files_1.default.skipObjects.includes(tabname) ||
116
+ ignored_files_1.default.skipStandardObjects.includes(tabname) ||
117
+ tabname.match(ignored_files_1.default.skipObjectPrefixes) ||
118
+ tabname.match(ignored_files_1.default.integrationPrefixes))) {
119
+ fieldCZNameViolations.push(tabname + '.' + fieldname);
120
+ }
127
121
  }
128
122
  const xml = (0, fs_1.readFileSync)(fieldFile);
129
123
  try {
@@ -146,66 +140,46 @@ class MetadataScan {
146
140
  }
147
141
  }
148
142
  if (tabViolations.length > 0) {
149
- const o = {
150
- label: 'Custom Objects should have a description',
151
- message: `It is a best practice that Custom Objects have a description.`,
152
- exceptions: tabViolations,
153
- category: 'INTERNAL',
154
- level: 'FATAL'
155
- };
143
+ const o = { ...rules_1.Rules.customrules['CUSTOM_TAB_DESCRIPTION'], exceptions: tabViolations };
156
144
  this.violations.push(o);
157
145
  }
158
146
  if (fieldViolations.length > 0) {
159
- const o = {
160
- label: 'Custom Fields should have a description',
161
- message: `It is a best practice that Custom Fields have a description.`,
162
- exceptions: fieldViolations,
163
- category: 'INTERNAL',
164
- level: 'FATAL'
165
- };
147
+ const o = { ...rules_1.Rules.customrules['CUSTOM_FIELD_DESCRIPTION'], exceptions: fieldViolations };
166
148
  this.violations.push(o);
167
149
  }
168
150
  if (fieldUnderScoreViolations.length > 0) {
169
- const o = {
170
- label: 'Custom fields should not contain underscores.',
171
- message: `It is a best practice that Custom fields should not contain underscores.`,
172
- exceptions: fieldUnderScoreViolations,
173
- category: 'INTERNAL',
174
- level: 'WARN'
175
- };
151
+ const o = { ...rules_1.Rules.customrules['CUSTOM_FIELD_UNDERSCORE'], exceptions: fieldUnderScoreViolations };
176
152
  this.violations.push(o);
177
153
  }
178
154
  if (fieldCZNameViolations.length > 0) {
179
- const o = {
180
- label: 'Custom fields in managed object should start with CZ.',
181
- message: `It is a best practice that Custom fields should start with CZ in a managed object.`,
182
- exceptions: fieldCZNameViolations,
183
- category: 'INTERNAL',
184
- level: 'WARN'
185
- };
155
+ const o = { ...rules_1.Rules.customrules['CUSTOM_FIELD_CZ'], exceptions: fieldCZNameViolations };
186
156
  this.violations.push(o);
187
157
  }
188
158
  if (tableCZNameViolations.length > 0) {
189
- const o = {
190
- label: 'Custom objects should start with CZ.',
191
- message: `It is a best practice that Custom objects should start with CZ to avoid clash with managed package`,
192
- exceptions: tableCZNameViolations,
193
- category: 'INTERNAL',
194
- level: 'WARN'
195
- };
159
+ const o = { ...rules_1.Rules.customrules['CUSTOM_TAB_CZ'], exceptions: tableCZNameViolations };
196
160
  this.violations.push(o);
197
161
  }
198
162
  }
199
- // label: 'Using old Metadata API Version',
200
- // 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.`,
163
+ /**
164
+ * scan api
165
+ * @param sourceFolder
166
+ * @param minapi
167
+ */
201
168
  async scanAPIVersion(sourceFolder, minapi) {
202
169
  await this.scanAPIVersionByType('ApexClass', sourceFolder, 'app/main/default/classes', minapi);
203
170
  await this.scanAPIVersionByType('ApexClass', sourceFolder, 'app/test/default/classes', minapi);
204
171
  await this.scanAPIVersionByType('ApexTrigger', sourceFolder, 'app/main/default/triggers', minapi);
205
172
  await this.scanAPIVersionByType('ApexPage', sourceFolder, 'app/main/default/pages', minapi);
173
+ if (this.apiViolations.length > 0) {
174
+ const o = {
175
+ ...rules_1.Rules.customrules['MINAPI_VERSION'],
176
+ exceptions: this.apiViolations,
177
+ message: `You appear to be using a version of Metadata API less than the minimum specified. Use the ` + minapi
178
+ };
179
+ this.violations.push(o);
180
+ }
206
181
  }
207
182
  scanAPIVersionByType(type, sourceFolder, basePath, minapi) {
208
- const apiViolations = [];
209
183
  const srcPath = path.join(sourceFolder, basePath);
210
184
  if (!(0, fs_1.existsSync)(srcPath)) {
211
185
  return;
@@ -226,19 +200,24 @@ class MetadataScan {
226
200
  else if (result) {
227
201
  const json = result;
228
202
  if (minapi > parseInt(json[type].apiVersion)) {
229
- apiViolations.push(f);
203
+ this.apiViolations.push(f);
230
204
  }
231
205
  }
232
206
  });
233
207
  }
234
208
  }
235
- if (apiViolations.length > 0) {
209
+ }
210
+ /**
211
+ * scan json files
212
+ */
213
+ async scanJSONFiles(path, minapi) {
214
+ const fileContent = (0, fs_1.readFileSync)(path + '/sfdx-project.json');
215
+ const obj = JSON.parse(fileContent.toString());
216
+ if (minapi > parseInt(obj['sourceApiVersion'])) {
236
217
  const o = {
237
- label: 'Using old Metadata API Version',
238
- message: `You appear to be using a version of Metadata API less than the minimum specified. Use the ` + minapi,
239
- exceptions: apiViolations,
240
- category: 'API',
241
- level: 'FATAL'
218
+ ...rules_1.Rules.customrules['PROJECT_API_VERSION'],
219
+ exceptions: ['sfdx-project.json'],
220
+ message: 'Please update sourceApiVersion to ' + minapi + ' sfdx-project.json'
242
221
  };
243
222
  this.violations.push(o);
244
223
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-scan.js","sourceRoot":"","sources":["../../../src/services/lint/metadata-scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata-scan.js","sourceRoot":"","sources":["../../../src/services/lint/metadata-scan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ interface Rule {
2
+ category: 'INTERNAL' | 'PMD' | 'ESLINT' | 'API';
3
+ label: string;
4
+ message: string;
5
+ level: 'WARN' | 'FATAL';
6
+ }
7
+ export declare class Rules {
8
+ static customrules: Record<string, Rule>;
9
+ }
10
+ export {};