private/functions/Get-PowerStubConfigurationDefaults.ps1

<#
.SYNOPSIS
  Gets an instance of the configuration with default values.

.DESCRIPTION

.LINK

.PARAMETER

.INPUTS
None. You cannot pipe objects to this function.

.OUTPUTS

.EXAMPLES

#>



function Get-PowerStubConfigurationDefaults {

    # Use version-independent config path to persist across module updates
    $configDir = if ($env:APPDATA) {
        Join-Path $env:APPDATA 'PowerStub'
    } else {
        Join-Path $HOME '.config/powerstub'
    }

    $defaults = @{
        'ModulePath'         = $Script:ModulePath
        'ConfigFile'         = Join-Path $configDir 'config.json'
        'LegacyConfigFile'   = Join-Path $Script:ModulePath 'PowerStub.json'
        'InternalConfigKeys' = @('InternalConfigKeys', 'ModulePath', 'ConfigFile', 'LegacyConfigFile', 'GitAvailable', 'ConfigFileLastWriteUtc')
        'InvokeAlias'        = 'pstb'
        'Stubs'              = @{}
        'EnablePrefix:Alpha' = $false
        'EnablePrefix:Beta'  = $false
        'GitEnabled'         = $true
        'GitAvailable'       = $false
        'ConfigFileLastWriteUtc' = $null
    }

    return $defaults
}