From b18de57937c4b3a0565bea4c9adb8cf71ebfd11d Mon Sep 17 00:00:00 2001 From: Brian Lalonde Date: Sat, 10 Jan 2026 20:52:04 -0800 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=90=9B=F0=9F=9A=B8=20Improvements=20i?= =?UTF-8?q?n=20converting=20from=20XML?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ConvertFrom-XmlElement.ps1 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ConvertFrom-XmlElement.ps1 b/ConvertFrom-XmlElement.ps1 index ec827df4..64bf56a2 100644 --- a/ConvertFrom-XmlElement.ps1 +++ b/ConvertFrom-XmlElement.ps1 @@ -35,7 +35,9 @@ webPages:Enabled false [Parameter(ParameterSetName='SelectXmlInfo',Position=0,Mandatory=$true,ValueFromPipeline=$true)] [Microsoft.PowerShell.Commands.SelectXmlInfo] $SelectXmlInfo, # Only include attributes, ignore other child nodes. -[Alias('Attributes','Atts')][switch] $OnlyAttributes +[Alias('Attributes','Atts')][switch] $OnlyAttributes, +# Replace any simple element that only contains one other element with its child. +[Alias('CollapseSimple')][switch] $SimpleSuccession ) Process { @@ -61,7 +63,8 @@ Process { return $Element.InnerText } - elseif(($Element.SelectNodes('*') |Group-Object Name |Measure-Object).Count -eq 1) + elseif($SimpleSuccession -and ($Element.Attributes.Count -eq 0) -and + (($Element.SelectNodes('*') |Group-Object Name |Measure-Object).Count -eq 1)) { return @($Element.SelectNodes('*') |ConvertFrom-XmlElement.ps1) } From ec11ab38ed250c1199b142e5c3325e1e06d54d8b Mon Sep 17 00:00:00 2001 From: Brian Lalonde Date: Fri, 30 Jan 2026 15:25:16 -0800 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=90=9B=20Quote=20Mermaid=20labels?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Export-MermaidXY.ps1 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Export-MermaidXY.ps1 b/Export-MermaidXY.ps1 index 9d6d49c4..b533176d 100644 --- a/Export-MermaidXY.ps1 +++ b/Export-MermaidXY.ps1 @@ -57,7 +57,9 @@ Begin End { $data = $input - $labels = $data |Select-Object -ExpandProperty $LabelProperty + $labels = $data | + Select-Object -ExpandProperty $LabelProperty | + ForEach-Object {$_ -match '\W' ? "`"$($_ -replace '"')`"" : $_} $minmax = $LineProperty + $BarProperty |ForEach-Object {$data |Select-Object -ExpandProperty $_} |Measure-Object -Minimum -Maximum $min = $minmax.Minimum -gt 0 ? 0 : $minmax.Minimum $max = $minmax.Maximum From dc6ef7ff90a06b3c341559f3e5c2f1bb523fe038 Mon Sep 17 00:00:00 2001 From: Brian Lalonde Date: Fri, 30 Jan 2026 15:27:58 -0800 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=9A=B8=20Uninstalling=20old=20modules?= =?UTF-8?q?=20will=20no=20longer=20prompt=20with=20-Force?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Uninstall-OldModules.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Uninstall-OldModules.ps1 b/Uninstall-OldModules.ps1 index 3adea98f..eb5a29fa 100644 --- a/Uninstall-OldModules.ps1 +++ b/Uninstall-OldModules.ps1 @@ -22,5 +22,5 @@ Get-Module -ListAvailable | Group-Object Name | Where-Object Count -gt 1 | ForEach-Object {$_.Group |Sort-Object Version -Descending |Select-Object -Skip 1} | - Where-Object {$PSCmdlet.ShouldProcess("$($_.Name) v$($_.Version)",'Uninstall-Module')} | + Where-Object {$Force -or $PSCmdlet.ShouldProcess("$($_.Name) v$($_.Version)",'Uninstall-Module')} | ForEach-Object {Uninstall-Module $_.Name -RequiredVersion $_.Version -Force:$Force}