forcedotcom / forcedotcom/code-analyzer
[BUG][code-analyzer] `sf code-analyzer run ...` causes Windows Defender to spike the CPU
- Vorherrschende Sprache
- TypeScript
- Sterne
- 240
- Forks
- 52
- Ø Merge
- 1 T. 23 Std.
- Gemergte PRs (30 T.)
- 5
Beschreibung
### Have you tried to resolve this issue yourself first?
Yes
### Bug Description
Any time that I run `sf code-analyzer run ...`, I almost immediately see a CPU spike, and `MsMpEng` is right alongside the host `node` process in CPU consumption:

The directory containing Salesforce projects is already in the exclusion list, and I don't see any issues running other `sf` commands from these projects. I'm guessing that something else being executed by Code Analyzer needs to be excluded, no? Any idea what that would be? I'm not comfortable excluding `node` altogether for what I hope are obvious reasons.
### Output / Logs
I also timed command execution with and without Defender active, and the impact is pretty significant:
**Defender enabled:** 2m6.395s
**Defender disabled:** 0m49.501s
### Steps To Reproduce
Run Code Analyzer on Windows with Defender enabled.
### Expected Behavior
There's some safe way to configure Windows Defender exclusions so that Code Analyzer can run without spiking the CPU.
### Operating System
Windows 11
### Salesforce CLI Version
@salesforce/cli/2.87.7 win32-arm64 node-v22.13.0
### Code Analyzer Plugin (@salesforce/sfdx-scanner) Version
code-analyzer 5.0.0 (5.0.0)
### Additional Context (Screenshots, Files, etc)
_No response_
### Workaround
_No response_
### Urgency
Low
Beitragsleitfaden
Rechercherichtung
Beginne damit, `sf code-analyzer run ...` unter Windows 11 mit aktiviertem Defender und unter Verwendung von code-analyzer 5.0.0 sowie der gemeldeten CLI-Version zu reproduzieren. Vergleiche anschließend CPU-Auslastung und Laufzeit bei deaktiviertem Defender. Untersuche, welche Code Analyzer-Prozesse oder -Verzeichnisse einen Defender-Scan auslösen. Als erledigt gilt, wenn eine sichere Ausschlusskonfiguration dokumentiert oder implementiert ist, die den Ausschlag vermeidet, ohne Node global auszuschließen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- nodejs, typescript
- Bereich
- devtools, operating-systems, performance
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100