Skip to content

Commit ecde6a7

Browse files
Detect already-installed versions using NuGet range matching
1 parent a7d2bcc commit ecde6a7

1 file changed

Lines changed: 8 additions & 6 deletions

File tree

src/init.ps1

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,17 @@ process {
2323
$Version = [string]::IsNullOrEmpty($env:PSMODULE_GITHUB_SCRIPT_INPUT_Version) ? $null : $env:PSMODULE_GITHUB_SCRIPT_INPUT_Version
2424
$Prerelease = $env:PSMODULE_GITHUB_SCRIPT_INPUT_Prerelease -eq 'true'
2525

26-
$alreadyInstalled = Get-InstalledPSResource -Name $Name -ErrorAction SilentlyContinue
26+
$installedParams = @{
27+
Name = $Name
28+
ErrorAction = 'SilentlyContinue'
29+
}
2730
if ($Version) {
31+
# Version accepts an exact version or a NuGet version range. Let PSResourceGet resolve
32+
# range satisfaction instead of comparing the raw value with an exact string match.
2833
Write-Verbose "Filtering by version: $Version"
29-
$alreadyInstalled = $alreadyInstalled | Where-Object Version -EQ $Version
30-
}
31-
if ($Prerelease) {
32-
Write-Verbose 'Filtering by prerelease'
33-
$alreadyInstalled = $alreadyInstalled | Where-Object Prerelease -EQ $Prerelease
34+
$installedParams['Version'] = $Version
3435
}
36+
$alreadyInstalled = Get-InstalledPSResource @installedParams
3537

3638
if ($showInit) {
3739
Write-Output 'Already installed:'

0 commit comments

Comments
 (0)