FXDemo.psm1
#Module vars $ModulePath = $PSScriptRoot #Get public and private function definition files. $Public = @(Get-ChildItem -Path $PSScriptRoot\Public\*.ps1 -ErrorAction SilentlyContinue) $Private = @(Get-ChildItem -Path $PSScriptRoot\Private\*.ps1 -ErrorAction SilentlyContinue) [string[]]$PrivateModules = Get-ChildItem $PSScriptRoot\Private -ErrorAction SilentlyContinue | Where-Object {$_.PSIsContainer} | Select-Object -ExpandProperty FullName #Dot source the files Foreach ($import in @($Public + $Private)) { TRY { . $import.fullname } CATCH { Write-Error -Message "Failed to import function $($import.fullname): $_" } } # Load up dependency modules foreach($Module in $PrivateModules) { Try { Import-Module $Module -ErrorAction Stop } Catch { Write-Error "Failed to import module $Module`: $_" } } # Export all the functions Export-ModuleMember -Function $Public.Basename -Alias * |