forcedotcom / forcedotcom/code-analyzer
[Feature Request] Filename-based suppression per engine or file
- Vorherrschende Sprache
- TypeScript
- Sterne
- 240
- Forks
- 52
- Ø Merge
- 1 T. 23 Std.
- Gemergte PRs (30 T.)
- 5
Beschreibung
### Product Area
The "code-analyzer" CLI
### Your Need or Problem
I like the
```yaml
ignores:
files:
- "**/utils.js"
```
feature.
Currently, it exists at the top level, meaning we can only exclude filenames for all engines. I would like to exclude at the engine or file level.
The background: Salesforce provides some stock/standard files (JavaScript, Visualforce, Aura, LWC) that have rule violations in them. Instead of having to fix them all when importing starter metadata, I want to exclude them... but I would like to do that from the config file.
IDEALLY, I could do a suppression PER RULE, but I fear that is too much to ask.
This is resulting in a LOT of false-positives and noise, and is stopping our pipeline every time we create a new kind of Experience Cloud site.
### Your Desired Solution
```yaml
engines:
pmd:
ignores:
- "selfRegister.cmp"
- "CommunityTemplate.page"
```
or
```yaml
rules:
pmd:
"LoadCSSApexStylesheet":
severity: 2
ignores:
- "CommunityTemplate.page"
tags:
- AppExchange
- Security
- Visualforce
```
My vision for using Code Analyzer is that I have a standard config file I use for all my projects as a starting point, and that one would include suppressing checks on those files. I could load that as a default in each of my repos/projects.
### Alternatives Considered
PMD doesn't have a robust "ignore this rule for this filepath" from the ruleset feature, so I know I'm asking for a lot here.
I can exclude files in my custom ruleset, but that only applies to pmd rules.
I can override the specific rule and make a very long XPath exception property, which works, and might be good for some files, but isn't ideal.
### Additional Context (Screenshots, Files, etc)
_No response_
### Workaround
I have been able to suppress for most files (not JavaScript) by editing the file. But I don't want to have to edit each default file as Salesforce creates them.
### Urgency
Moderate
Beitragsleitfaden
Rechercherichtung
Der Einstiegspunkt ist die CLI-Konfiguration von code-analyzer. Beginne damit nachzuverfolgen, wie die YAML-Einstellung `ignores.files` auf oberster Ebene geparst und angewendet wird. Vergleiche die angeforderten Formen auf Engine-Ebene und pro Regel und definiere anschließend eine Abdeckung, die zeigt, dass die Unterdrückung von Dateinamen eingeschränkt werden kann, ohne andere Engines oder Regeln zu beeinflussen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript, yaml
- Bereich
- cli, tooling
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100