PowerShell / PowerShell/PSScriptAnalyzer

Rule Idea: Warn on `[xml](Get-Content <File>)` pattern

Abierto
#1,667 0 comentarios 2 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Area - Rules Issue - Enhancement Up-for-Grabs
Lenguaje dominante
C#
Estrellas
2.2k
Forks
414
Merge medio
13 h 1 min
PR fusionados (30 d)
2

Descripción

Summary of the new feature

Warn on Pattern: [xml](Get-Content <File>)
Suggest Pattern: $a = [xml]::new(); $a.Load(<File>)

This pattern is currently in wide use, but it has some problems and should be discouraged.

  1. This pattern, due to using Get-Content, has problems if the (perfectly valid) xml file being parsed is not utf8 encoded. See: https://github.com/PowerShell/PowerShell/issues/14505 & https://stackoverflow.com/questions/65263942/how-to-load-or-read-an-xml-file-using-convertto-xml-and-select-xml/65264118#65264118

  2. This pattern is very inefficient. I know that PSSA does not generally worry about this - but since the encoding issue above exists, feels worth it to mention. Testing against a ~1mb file shows [xml](Get-Content <File>) as ~12x slower, and against a 170mb file as 22x slower (loading took 46 seconds!).

What is the latest version of PSScriptAnalyzer at the point of writing
PSSA 1.19.1

Powershell Versions
This currently affects both Windows Powershell 5.1 and Powershell 7.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

El issue tiene como objetivo PSScriptAnalyzer y el patrón de PowerShell [xml](Get-Content <File>). Empieza por encontrar las implementaciones de reglas y las pruebas existentes del analizador para diagnósticos basados en patrones; se considera terminado cuando se advierta sobre el patrón y la forma sugerida de cargar XML se informe de manera coherente en Windows PowerShell 5.1 y PowerShell 7.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
powershell
Área
tooling
Tipo de issue
Nueva funcionalidad
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
38/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.