Skip to content

Commit be7eb26

Browse files
Merge pull request #1684 from forcedotcom/sc/W-17321151
CHANGE: @W-17321151@: Only show fields in detail view of rules command if they are non-empty
2 parents e1e84f2 + 2c59eb7 commit be7eb26

File tree

3 files changed

+27
-8
lines changed

3 files changed

+27
-8
lines changed

src/lib/viewers/RuleViewer.ts

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,31 @@ export class RuleDetailDisplayer extends AbstractRuleDisplayer {
3838
const rule = rules[i];
3939
const header = getMessage(BundleName.RuleViewer, 'summary.detail.header', [i + 1, rule.getName()]);
4040
const severity = rule.getSeverityLevel();
41+
4142
const body = {
42-
engine: rule.getEngineName(),
4343
severity: `${severity.valueOf()} (${SeverityLevel[severity]})`,
44-
tags: rule.getTags().join(', '),
45-
resources: rule.getResourceUrls().join(', '),
46-
description: rule.getDescription()
44+
engine: rule.getEngineName(),
4745
};
48-
const keys = ['severity', 'engine', 'tags', 'resources', 'description'];
46+
const keys: string[] = ['severity', 'engine'];
47+
48+
if (rule.getTags().length > 0) {
49+
body['tags'] = rule.getTags().join(', ');
50+
keys.push('tags');
51+
}
52+
53+
if (rule.getResourceUrls().length == 1) {
54+
body['resource'] = rule.getResourceUrls()[0];
55+
keys.push('resource');
56+
} else if (rule.getResourceUrls().length > 1) {
57+
body['resources'] = rule.getResourceUrls();
58+
keys.push('resources');
59+
}
60+
61+
if (rule.getDescription().length > 0) {
62+
body['description'] = rule.getDescription();
63+
keys.push('description');
64+
}
65+
4966
styledRules.push(toStyledHeaderAndBody(header, body, keys));
5067
}
5168
this.display.displayLog(styledRules.join('\n\n'));

test/fixtures/comparison-files/lib/viewers/RuleViewer.test.ts/one-rule-details.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
severity: 2 (High)
44
engine: FakeEngine1
55
tags: Recommended, Security
6-
resources: www.google.com
6+
resource: www.google.com
77
description: This is the description for a stub rule. Blah blah blah.

test/fixtures/comparison-files/lib/viewers/RuleViewer.test.ts/two-rules-details.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33
severity: 2 (High)
44
engine: FakeEngine1
55
tags: Recommended, Security
6-
resources: www.google.com
6+
resource: www.google.com
77
description: This is the description for a stub rule. Blah blah blah.
88

99
=== 2. StubRule2
1010
severity: 4 (Low)
1111
engine: FakeEngine1
1212
tags: CodeStyle, Performance
13-
resources: www.bing.com, www.salesforce.com
13+
resources:
14+
www.bing.com
15+
www.salesforce.com
1416
description: This is the description for a second stub rule. Blah blah blah.

0 commit comments

Comments
 (0)