PSScriptAnalyzerSettings.psd1
|
@{ # La puerta del repositorio es cero hallazgos en Error y Warning. Las reglas # de severidad Information se ejecutan tambien, para verlas, pero no bloquean. Severity = @('Error', 'Warning', 'Information') IncludeDefaultRules = $true ExcludeRules = @( # El modulo declara Windows PowerShell 5.1 y PowerShell 7+, no las # ediciones reducidas de Nano Server ni Windows IoT, donde faltan cmdlets # como Get-CimInstance, Clear-RecycleBin o Get-MpComputerStatus. Con la # regla activa practicamente cada linea del motor sale marcada, lo que # ahoga los hallazgos reales. La compatibilidad de SINTAXIS si se # comprueba, con PSUseCompatibleSyntax, que es la que importa para 5.1. 'PSUseCompatibleCmdlets' ) Rules = @{ PSUseCompatibleSyntax = @{ # Esta es la red de seguridad de la promesa "5.1 y 7+": detecta # ternarios, ?? y el resto de sintaxis que solo existe en 7.x. Enable = $true TargetVersions = @('5.1', '7.0') } # Las llaves de apertura y cierre si se exigen: una llave fuera de sitio # cambia el alcance de un bloque y eso no es cosmetico. PSPlaceOpenBrace = @{ Enable = $true OnSameLine = $true NewLineAfter = $true IgnoreOneLineBlock = $true } PSPlaceCloseBrace = @{ Enable = $true NewLineAfter = $false IgnoreOneLineBlock = $true NoEmptyLineBefore = $false } } # Deliberadamente NO se activan PSUseConsistentIndentation, # PSUseConsistentWhitespace ni PSAlignAssignmentStatement. No forman parte del # conjunto por defecto, y al aplicarlas con Invoke-Formatter el resultado era # menos legible que el original: desalinea los brazos de un switch y mete # sangria extra en los argumentos de un -f partido en varias lineas. } |