PowerShell / PowerShell/PSScriptAnalyzer
UseCompatibleCommands should recognise partial parameter matches
Personne n'a encore pris cette issue.
- Langage dominant
- C#
- Étoiles
- 2.2k
- Forks
- 414
- Merge moyen
- 13 h 1 min
- PR mergées (30 j)
- 2
Description
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
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par suivre UseCompatibleCommands et son API de requête afin de trouver la recherche actuelle de paramètres basée sur un dictionnaire. Vérifiez comment les noms partiels des paramètres PowerShell sont classés, puis vérifiez le comportement pour les troncations résolues de manière unique et pour les troncations ambiguës ou invalides. Le travail est terminé lorsque les correspondances partielles valides sont acceptées sans affaiblir les vérifications de compatibilité existantes de l’analyseur.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- csharp, powershell
- Domaine
- 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