Functions/Import-WebDevProjects.ps1
function Import-WebDevProjects { [CmdletBinding()] param ( [Parameter(Mandatory=$true, Position=0)] [string]$Path ) if (-not (Test-Path $Path)) { Write-Error "File '$Path' not found." return } $projects = Import-Csv $Path if ($null -eq $projects) { Write-Error "No projects found in '$Path'." return } $projectsToAdd = $projects | ForEach-Object { @{ "Name" = $_.Name "DevPath" = $_.DevPath "WebPath" = $_.WebPath } } $projectsFile = "$env:LOCALAPPDATA\WebDevNavigator\projects.json" if (!(Test-Path $projectsFile)) { $existingProjects = @() } else { $existingProjects = Get-Content $projectsFile | ConvertFrom-Json } $combinedProjects = @($existingProjects) + $projectsToAdd $combinedProjects | Select-Object @{Name='Name';Expression={$_.Name}}, @{Name='DevPath';Expression={$_.DevPath}}, @{Name='WebPath';Expression={$_.WebPath}} | ConvertTo-Json -Depth 100 | Set-Content $projectsFile Write-Host "Imported $($projects.Count) projects from '$Path'." } Export-ModuleMember -Function Import-WebDevProjects |