Private/ConvertTo-PSDependencyCanaryManifestContent.ps1
|
<# .SYNOPSIS Rewrites a module manifest version while preserving its layout. #> function ConvertTo-PSDependencyCanaryManifestContent { [CmdletBinding()] param( [Parameter(Mandatory)][string]$Content, [Parameter(Mandatory)][string]$Path, [Parameter(Mandatory)][version]$Version ) $hashtable = Get-PSDependencyCanaryHashtableAst -Content $Content -Path $Path $versionPair = Get-PSDependencyCanaryHashtablePair -Hashtable $hashtable -Key 'ModuleVersion' if (-not $versionPair) { throw "ModuleVersion was not found in $Path." } $versionAst = Get-PSDependencyCanaryPairStringAst -Pair $versionPair ConvertTo-PSDependencyCanaryReplacedContent -Content $Content -Replacement @( [pscustomobject]@{ StartOffset = $versionAst.Extent.StartOffset EndOffset = $versionAst.Extent.EndOffset Text = "'$Version'" } ) } |