Private/ConvertTo-WSLPath.ps1

<#
.SYNOPSIS
Convierte una ruta de Windows a una ruta compatible con WSL.
 
.DESCRIPTION
Esta función helper convierte rutas de Windows al formato requerido por WSL,
utilizando el comando wslpath interno de WSL.
 
.PARAMETER winPath
La ruta de Windows que se desea convertir.
 
.PARAMETER WSLDistro
Nombre de la distribución WSL a usar (default: "Ubuntu-22.04").
 
.EXAMPLE
ConvertTo-WSLPath "C:\Users\usuario\proyecto"
Devuelve la ruta equivalente en formato WSL.
 
.NOTES
Función helper interna del módulo PSDevOps.
#>

function ConvertTo-WSLPath {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory=$true)]
        [string]$winPath,
        
        [Parameter()]
        [string]$WSLDistro = "Ubuntu-22.04"
    )
    
    # Normalizar separadores a forward slash
    $normalized = $winPath.Replace('\','/')
    
    # Ejecutar wslpath directamente (sin cmd /c innecesario)
    $result = & wsl.exe -d $WSLDistro wslpath -a $normalized 2>&1
    
    # Limpiar caracteres de control y espacios
    return ($result -replace '\p{C}', '').Trim()
}