forcedotcom / forcedotcom/code-analyzer

[Feature Request] File based regex rules

Ouverte
#1,972 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
TypeScript
Étoiles
240
Forks
52
Merge moyen
1 j 23 h
PR mergées (30 j)
5

Description

### Product Area

The "code-analyzer" CLI

### Your Need or Problem

Allow for regex rules to be placed into their own files and referenced from `code-analyzer.yml` so that they can be more easily shared between projects instead of merging them into existing files.

### Your Desired Solution

Lets say we had the rule:
```yaml
name: Salesforce Code Analyzer Configuration
version: 1.0.0

rulesets: []

engines:
regex:
custom_rules:
ProhibitSuppressWarnings:
regex: /@SuppressWarnings\([^)]*\)|\/\/\s*NOPMD/gi
file_extensions: ['.apex', '.cls', '.trigger']
description:
'Prohibits the use of @SuppressWarnings annotations and
NOPMD comments in Apex code. Suppressions hide code quality
issues; prefer fixing the underlying problems or improving
rules instead.'
violation_message:
'Suppression of warnings is not allowed. Fix the underlying
issue or improve the rule instead of suppressing violations.'
severity: 'High'
tags: ['CodeStyle', 'Recommended']
```
I would like to take the details of that rule and put them in a different .yaml file, then refer to that .yaml file from code-analyzer.yml

### Alternatives Considered

Keep adding rules to code-analyzer.yml like today, using a pre-processor/script ahead of every run, etc

### Additional Context (Screenshots, Files, etc)

_No response_

### Workaround

_No response_

### Urgency

Low

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez au point d’entrée de CLI qui charge code-analyzer.yml et suivez la façon dont les regex custom_rules sont analysées. Examinez comment un fichier de règles YAML externe pourrait être référencé et partagé, puis vérifiez que les règles inline existantes continuent de fonctionner avec les règles basées sur des fichiers lors d’une exécution représentative de CLI.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript
Domaine
cli, tooling
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.