You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Invalid reformatting when docker command executed directly from PS #2094
A whitespace added: docker build --secret id=NUGET_USER, env=NUGET_USER
Environment data
>$PSVersionTable
Name Value
---------
PSVersion 7.4.7
PSEdition Core
GitCommitId 7.4.7
OS Microsoft Windows 10.0.26100
Platform Win32NT
PSCompatibleVersions {1.0,2.0,3.0,4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0> (Get-Module-ListAvailable PSScriptAnalyzer).Version |ForEach-Object { $_.ToString() }
1.24.0# (latest from `main`, imported by `Import-Module .\out\PSScriptAnalyzer\1.24.0\PSScriptAnalyzer.psd1`
Possible tests to repro:
Context "When a comma is not followed by a space" {
It "Should not find violation if there are no whitespaces after a comma for a docker command parameter" {
$def='docker build --secret id=NUGET_USER,env=NUGET_USER'Invoke-ScriptAnalyzer-ScriptDefinition $def-Settings $settings| Should -Be $null
}
}
Context "When non-PS commands are embedded" {
It "Docker parameters are kept intact" {
$def=@"docker build -t local.rgm-service.image . -f BaseMonitor.Dockerfile --secret id=NUGET_USER,env=NUGET_USER --secret id=NUGET_TOKEN,env=NUGET_TOKEN"@Invoke-Formatter-ScriptDefinition $def| Should -Be $def
}
}
not sure whether we can identify that this is a string passed to external command and not an array of objects to a cmdlet. I suggest single-quoting argument to prevent this
Activity
bergmeister commentedon Apr 17, 2025
not sure whether we can identify that this is a string passed to external command and not an array of objects to a cmdlet. I suggest single-quoting argument to prevent this