WinPath-Clean.psm1
|
#Requires -Version 7.0 #Requires -PSEdition Core <# .SYNOPSIS WinPath-Clean - A PowerShell 7 TUI tool to analyze, clean, and optimize Windows PATH. .DESCRIPTION This module provides functions to analyze the Windows PATH environment variable, detect duplicates and obsolete entries, and safely apply a cleaned version. .NOTES Author: Ignacio de Miguel Diaz Version: 0.2.1 License: MIT #> # Import private functions $Private = @(Get-ChildItem -Path "$PSScriptRoot\Private\*.ps1" -ErrorAction SilentlyContinue) foreach ($file in $Private) { try { . $file.FullName } catch { Write-Error "Failed to import private function $($file.FullName): $_" } } # Import public functions $Public = @(Get-ChildItem -Path "$PSScriptRoot\Public\*.ps1" -ErrorAction SilentlyContinue) foreach ($file in $Public) { try { . $file.FullName } catch { Write-Error "Failed to import public function $($file.FullName): $_" } } # Module-level variables $script:ModuleVersion = '0.3.0' $script:ConfigPath = Join-Path $env:USERPROFILE '.config\winpath-clean' $script:BackupPath = Join-Path $script:ConfigPath 'backups' # Ensure config directory exists if (-not (Test-Path $script:ConfigPath)) { New-Item -ItemType Directory -Path $script:ConfigPath -Force | Out-Null } if (-not (Test-Path $script:BackupPath)) { New-Item -ItemType Directory -Path $script:BackupPath -Force | Out-Null } # Set aliases Set-Alias -Name 'wpc' -Value 'Invoke-WinPathClean' Set-Alias -Name 'pathclean' -Value 'Invoke-WinPathClean' # Export module members - explicitly list all public functions # Note: Some files like Backup-Path.ps1 contain multiple functions $PublicFunctions = @( 'Invoke-WinPathClean', 'Get-PathAnalysis', 'Set-CleanPath', 'Optimize-PathOrder', 'Add-SafePath', 'Backup-Path', 'Restore-Path', 'Get-PathBackups', 'Export-PathReport' ) Export-ModuleMember -Function $PublicFunctions -Alias @('wpc', 'pathclean') |