Skip to content

Commit 1376dd6

Browse files
committed
✨ [feat] Update module version and help info for localization improvements
- Update module version to '2025.11.07.0137' in manifest and help files - Enhance caching system with OS-wide cache in AppData - Improve progress reporting in New-ColorScriptCache function for better user feedback - Ensure no background runspace pools remain before analyzer runs to avoid errors Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com>
1 parent 3541e61 commit 1376dd6

13 files changed

Lines changed: 90 additions & 18 deletions

ColorScripts-Enhanced/ColorScripts-Enhanced.psd1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
#
44
# Generated by: Nick2bad4u
55
#
6-
# Generated on: 11/6/2025
6+
# Generated on: 11/7/2025
77
#
88

99
@{
1010
# Script module or binary module file associated with this manifest.
1111
RootModule = 'ColorScripts-Enhanced.psm1'
1212

1313
# Version number of this module.
14-
ModuleVersion = '2025.11.06.2009'
14+
ModuleVersion = '2025.11.07.0255'
1515

1616
# Supported PSEditions
1717
CompatiblePSEditions = @('Desktop', 'Core')
@@ -211,7 +211,7 @@ PERFECT FOR
211211

212212
# ReleaseNotes of this module
213213
ReleaseNotes = @'
214-
Version 2025.11.06.2009:
214+
Version 2025.11.07.0255:
215215
- Enhanced caching system with OS-wide cache in AppData
216216
- 6-19x performance improvement
217217
- Cache stored in centralized location

ColorScripts-Enhanced/Public/New-ColorScriptCache.ps1

Lines changed: 65 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -435,19 +435,77 @@ function New-ColorScriptCache {
435435

436436
if ($pendingCount -gt 0) {
437437
Write-Progress -Id $executionProgressId -Activity $activity -Status ("Building 0 of {0}" -f $pendingCount) -PercentComplete 0
438+
439+
$updateParallelProgress = {
440+
param(
441+
[int]$Completed,
442+
[int]$Total,
443+
[string]$ActivityName,
444+
[int]$ProgressId,
445+
[int]$ActiveCount,
446+
[string]$CurrentName
447+
)
448+
449+
$status = "Building {0} of {1}" -f $Completed, $Total
450+
451+
if ($ActiveCount -gt 0) {
452+
$status += " (active {0})" -f $ActiveCount
453+
}
454+
455+
if (-not [string]::IsNullOrWhiteSpace($CurrentName)) {
456+
$status += ": {0}" -f $CurrentName
457+
}
458+
459+
$percent = if ($Total -le 0) { 0 } else { [math]::Min(100, [math]::Max(0, ($Completed / $Total) * 100)) }
460+
Write-Progress -Id $ProgressId -Activity $ActivityName -Status $status -PercentComplete $percent
461+
}
438462
$moduleManifest = Join-Path -Path $script:ModuleRoot -ChildPath 'ColorScripts-Enhanced.psd1'
439463
$initialState = [System.Management.Automation.Runspaces.InitialSessionState]::CreateDefault()
440464
$null = $initialState.ImportPSModule(@($moduleManifest))
441465

442-
$runspacePool = [System.Management.Automation.Runspaces.RunspaceFactory]::CreateRunspacePool(1, $effectiveThrottle, $initialState, $Host)
443-
$runspacePool.ApartmentState = [System.Threading.ApartmentState]::MTA
466+
# Create a runspace pool robustly across PS versions/hosts.
467+
# Prefer using the current host when available; otherwise fall back to overloads without host
468+
# and explicitly set min/max runspaces if needed.
469+
$runspacePool = $null
470+
try {
471+
if ($Host -is [System.Management.Automation.Host.PSHost]) {
472+
$runspacePool = [System.Management.Automation.Runspaces.RunspaceFactory]::CreateRunspacePool(1, $effectiveThrottle, $initialState, $Host)
473+
}
474+
}
475+
catch {
476+
$runspacePool = $null
477+
}
478+
479+
if (-not $runspacePool) {
480+
try {
481+
$runspacePool = [System.Management.Automation.Runspaces.RunspaceFactory]::CreateRunspacePool(1, $effectiveThrottle, $initialState)
482+
}
483+
catch {
484+
try {
485+
$runspacePool = [System.Management.Automation.Runspaces.RunspaceFactory]::CreateRunspacePool($initialState)
486+
$null = $runspacePool.SetMinRunspaces(1)
487+
$null = $runspacePool.SetMaxRunspaces($effectiveThrottle)
488+
}
489+
catch {
490+
$runspacePool = [System.Management.Automation.Runspaces.RunspaceFactory]::CreateRunspacePool()
491+
$null = $runspacePool.SetMinRunspaces(1)
492+
$null = $runspacePool.SetMaxRunspaces($effectiveThrottle)
493+
}
494+
}
495+
}
496+
444497
$runspacePool.Open()
445498

446499
$jobList = New-Object 'System.Collections.Generic.List[pscustomobject]'
447500

448501
$workerScriptBlock = {
449502
param($scriptName, $scriptPath)
450-
$moduleInfo = Get-Module -Name 'ColorScripts-Enhanced' -ErrorAction Stop
503+
$moduleInfo = Get-Module -Name 'ColorScripts-Enhanced'
504+
if (-not $moduleInfo) {
505+
Import-Module -Name $using:moduleManifest -Force -ErrorAction Stop
506+
$moduleInfo = Get-Module -Name 'ColorScripts-Enhanced' -ErrorAction Stop
507+
}
508+
451509
$moduleInfo.Invoke({ param($name, $path) Invoke-ColorScriptCacheOperation -ScriptName $name -ScriptPath $path }, $scriptName, $scriptPath)
452510
}
453511

@@ -538,13 +596,16 @@ function New-ColorScriptCache {
538596
}
539597
finally {
540598
$completed++
541-
Write-Progress -Id $executionProgressId -Activity $activity -Status ("Building {0} of {1}: {2}" -f $completed, $pendingCount, $job.Item.Name) -PercentComplete ([math]::Min(100, [math]::Max(0, ($completed / $pendingCount) * 100)))
542599
$job.PowerShell.Dispose()
543600
[void]$jobList.Remove($job)
601+
$activeCount = $jobList.Count
602+
& $updateParallelProgress $completed $pendingCount $activity $executionProgressId $activeCount $job.Item.Name
544603
}
545604
}
546605

547606
if (-not $processedThisCycle) {
607+
$activeCount = $jobList.Count
608+
& $updateParallelProgress $completed $pendingCount $activity $executionProgressId $activeCount $null
548609
Start-Sleep -Milliseconds 30
549610
}
550611
}

ColorScripts-Enhanced/de/ColorScripts-Enhanced_f77548d7-23eb-48ce-a6e0-f64b4758d995_HelpInfo.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<SupportedUICultures>
55
<UICulture>
66
<UICultureName>de</UICultureName>
7-
<UICultureVersion>2025.11.06.2009</UICultureVersion>
7+
<UICultureVersion>2025.11.07.0255</UICultureVersion>
88
</UICulture>
99
</SupportedUICultures>
1010
</HelpInfo>

ColorScripts-Enhanced/en-US/ColorScripts-Enhanced_f77548d7-23eb-48ce-a6e0-f64b4758d995_HelpInfo.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<SupportedUICultures>
55
<UICulture>
66
<UICultureName>en-US</UICultureName>
7-
<UICultureVersion>2025.11.06.2009</UICultureVersion>
7+
<UICultureVersion>2025.11.07.0255</UICultureVersion>
88
</UICulture>
99
</SupportedUICultures>
1010
</HelpInfo>

ColorScripts-Enhanced/es/ColorScripts-Enhanced_f77548d7-23eb-48ce-a6e0-f64b4758d995_HelpInfo.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<SupportedUICultures>
55
<UICulture>
66
<UICultureName>es</UICultureName>
7-
<UICultureVersion>2025.11.06.2009</UICultureVersion>
7+
<UICultureVersion>2025.11.07.0255</UICultureVersion>
88
</UICulture>
99
</SupportedUICultures>
1010
</HelpInfo>

ColorScripts-Enhanced/fr/ColorScripts-Enhanced_f77548d7-23eb-48ce-a6e0-f64b4758d995_HelpInfo.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<SupportedUICultures>
55
<UICulture>
66
<UICultureName>fr</UICultureName>
7-
<UICultureVersion>2025.11.06.2009</UICultureVersion>
7+
<UICultureVersion>2025.11.07.0255</UICultureVersion>
88
</UICulture>
99
</SupportedUICultures>
1010
</HelpInfo>

ColorScripts-Enhanced/it/ColorScripts-Enhanced_f77548d7-23eb-48ce-a6e0-f64b4758d995_HelpInfo.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<SupportedUICultures>
55
<UICulture>
66
<UICultureName>it</UICultureName>
7-
<UICultureVersion>2025.11.06.2009</UICultureVersion>
7+
<UICultureVersion>2025.11.07.0255</UICultureVersion>
88
</UICulture>
99
</SupportedUICultures>
1010
</HelpInfo>

ColorScripts-Enhanced/ja/ColorScripts-Enhanced_f77548d7-23eb-48ce-a6e0-f64b4758d995_HelpInfo.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<SupportedUICultures>
55
<UICulture>
66
<UICultureName>ja</UICultureName>
7-
<UICultureVersion>2025.11.06.2009</UICultureVersion>
7+
<UICultureVersion>2025.11.07.0255</UICultureVersion>
88
</UICulture>
99
</SupportedUICultures>
1010
</HelpInfo>

ColorScripts-Enhanced/nl/ColorScripts-Enhanced_f77548d7-23eb-48ce-a6e0-f64b4758d995_HelpInfo.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<SupportedUICultures>
55
<UICulture>
66
<UICultureName>nl</UICultureName>
7-
<UICultureVersion>2025.11.06.2009</UICultureVersion>
7+
<UICultureVersion>2025.11.07.0255</UICultureVersion>
88
</UICulture>
99
</SupportedUICultures>
1010
</HelpInfo>

ColorScripts-Enhanced/pt/ColorScripts-Enhanced_f77548d7-23eb-48ce-a6e0-f64b4758d995_HelpInfo.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<SupportedUICultures>
55
<UICulture>
66
<UICultureName>pt</UICultureName>
7-
<UICultureVersion>2025.11.06.2009</UICultureVersion>
7+
<UICultureVersion>2025.11.07.0255</UICultureVersion>
88
</UICulture>
99
</SupportedUICultures>
1010
</HelpInfo>

0 commit comments

Comments
 (0)