PowerShell / PowerShell/PSScriptAnalyzer
UseCompatibleCommands should recognise partial parameter matches
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C#
- Sterne
- 2.2k
- Forks
- 414
- Ø Merge
- 13 Std. 1 Min.
- Gemergte PRs (30 T.)
- 2
Beschreibung
Summary of the new feature
PowerShell allows for the usage of partial parameter names, like Import-Module 'MyModule' -Pass.
UseCompatibleCommands currently sees this is a compatibility error.
While PSScriptAnalyzer should discourage truncated parameter names (like command aliases), UseCompatibleCommands should be able to recognise the difference between a truncated parameter that will work and something that will not.
Proposed technical implementation details (optional)
The query API currently uses a dictionary to look up parameters. Instead of this, it should lazily compute a trie of parameters that is able to tell whether a parameter is uniquely resolved given an input.
What is the latest version of PSScriptAnalyzer at the point of writing
1.18.0
/cc @JamesWTruher
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, UseCompatibleCommands und seine Query-API nachzuverfolgen, um die aktuelle wörterbuchbasierte Parametersuche zu finden. Prüfe, wie partielle PowerShell-Parameternamen klassifiziert werden, und verifiziere anschließend das Verhalten bei eindeutig aufgelösten sowie mehrdeutigen oder ungültigen Verkürzungen. Als erledigt gilt die Aufgabe, wenn gültige partielle Übereinstimmungen akzeptiert werden, ohne die bestehenden Kompatibilitätsprüfungen des Analyzers abzuschwächen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- csharp, powershell
- Bereich
- tooling
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100