Install-RequiredModule.ps1

<#PSScriptInfo
 
.VERSION 5.1.0
 
.GUID 295c5e90-c699-4a39-8db2-cb71e564a32d
 
.AUTHOR Joel 'Jaykul' Bennett
 
.COMPANYNAME PoshCode
 
.COPYRIGHT Copyright (c) 2020 Joel Bennett
 
.TAGS Install Requirements Development Dependencies Modules Install Requirements Development Dependencies Modules
 
.LICENSEURI https://github.com/Jaykul/RequiredModules/blob/master/LICENSE
 
.PROJECTURI https://github.com/Jaykul/RequiredModules
 
.ICONURI https://github.com/Jaykul/RequiredModules/blob/master/resources/RequiredModules.png?raw=true
 
.EXTERNALMODULEDEPENDENCIES
 
.REQUIREDSCRIPTS
 
.EXTERNALSCRIPTDEPENDENCIES
 
.RELEASENOTES
 
            5.1.0 (preview)
                SORTING
                    - Add Optimize-Dependency, and use it to make sure we install dependencies in order
                UPGRADE
                    - Add -Upgrade to allow searching for newer versions of installed modules while still enforcing the version range
                    - Includes a warning when in -Upgrade mode, if there is a newer version that will not be installed because of the version range
                MISC
                    - Finally got around to writing more tests. Fixed stuff that did not work as expected
            5.0.5 Fix the -Destination parameter
            5.0.2 Fix a bug with PowerShellGet 1.0.0.1
            5.0.1 Fix PowerShell 5 .Where bug again (sorry)
            5.0.0 Available as a module, with multiple repository support
                BREAKING CHANGES:
                - No longer automatically trusts PSGallery. You must ensure that there is at least one repository registered and trusted, or use the `-TrustRegisteredRepositories` to trust all repositories.
                - Allows installing from any trusted repository. There is also new syntax for the RequiredModules hashtables to support specifying a specific repository for any specific module. See the ReadMe or the help for Install-RequiredModule.
 
                MAJOR IMPROVEMENTS:
                - Supports passing the RequiredModules hashtable directly on the commandline, rather than requiring a file.
                - Also available in the "RequiredModules" module
 
                By default, we only install from trusted repositories. You should mark the repositories you regularly install from as trusted repositories. See the following example to trust the default PSGallery:
 
                    Register-PSRepository -Default -ErrorAction Ignore -InstallationPolicy Trusted
                    Get-PSRepository -Name PSGallery | Set-PSRepository -InstallationPolicy Trusted
            4.1.1 Minor fixes for edge cases and options
            4.1.0 Support non-PSGallery feeds
            4.0.6 Fix a double -Verbose problem
            4.0.5 Let the -Destination be non-empty (so we do not have to re-download every time)
            4.0.4 Fix PowerShell 5 .Where bug
            4.0.3 Fix module check when using -Destination to force all modules to be in destination
            4.0.2 Fix Remove-Module error
            4.0.1 Add logging outputs
            4.0.0 BREAKING CHANGE: require the -Destination to start empty (allow -CleanDestination to clear it)
                Fix for adding the destination to PSModulePath multiple times
                Started testing this so I can ship it to PowerShellGet
            3.0.0 BREAKING CHANGE: switch -SkipImport to -Import -- inverting the logic to NOT import by default
                Add -Destination parameter to support installing in a local tool path
            2.0.1 Squash mistaken "InstallError" message caused by Select-Object -First
                Clean up output that was unexpected
            2.0.0 BREAKING CHANGE: use NuGetVersion to support wildcards like 3.*
                Improve the error messages around aborted or failed installs
            1.0.1 Fix "Version 3.4.0 of module Pester is already installed"
            1.0.0 This is the first public release - it probably does not work right
             
 
.PRIVATEDATA
 
#>
 



<#
    .SYNOPSIS
        Installs (and imports) modules listed in RequiredModules.psd1
    .DESCRIPTION
        Parses a RequiredModules.psd1 listing modules and attempts to import those modules.
        If it can't find the module in the PSModulePath, attempts to install it from PowerShellGet.
 
        The RequiredModules list looks like this (uses nuget version range syntax, and now, has an optional syntax for specifying the repository to install from):
        @{
            "PowerShellGet" = "2.0.4"
            "Configuration" = "[1.3.1,2.0)"
            "Pester" = "[4.4.2,4.7.0]"
            "ModuleBuilder" = @{
                Version = "2.*"
                Repository = "https://www.powershellgallery.com/api/v2"
            }
        }
 
        https://docs.microsoft.com/en-us/nuget/reference/package-versioning#version-ranges-and-wildcards
 
    .EXAMPLE
        Install-RequiredModule
 
        The default parameter-less usage reads the default 'RequiredModules.psd1' from the current folder and installs everything to your user scope PSModulePath
    .EXAMPLE
        Install-RequiredModule -Destination .\Modules -Upgrade
 
        Reads the default 'RequiredModules.psd1' from the current folder and installs everything to the specified "Modules" folder, upgrading any modules where there are newer (valid) versions than what's already installed.
    .EXAMPLE
        Install-RequiredModule @{
            "Configuration" = @{
                Version = "[1.3.1,2.0)"
                Repository = "https://www.powershellgallery.com/api/v2"
            }
            "ModuleBuilder" = @{
                Version = "2.*"
                Repository = "https://www.powershellgallery.com/api/v2"
            }
        }
 
        Uses Install-RequiredModule to ensure Configuration and ModuleBuilder modules are available, without using a RequiredModules metadata file.
    .EXAMPLE
        Save-Script Install-RequiredModule -Path ./RequiredModules
        ./RequiredModules/Install-RequiredModule.ps1 -Path ./RequiredModules.psd1 -Confirm:$false -Destination ./RequiredModules -TrustRegisteredRepositories
 
        This shows another way to use required modules in a build script
        without changing the machine as much (keeping all the files local to the build script)
        and supressing prompts, trusting repositories that are already registerered
    .EXAMPLE
        Install-RequiredModule @{ Configuration = "*" } -Destination ~/.powershell/modules
 
        Uses Install-RequiredModules to avoid putting modules in your Documents folder...
#>

[CmdletBinding(DefaultParameterSetName = "FromFile", SupportsShouldProcess = $true, ConfirmImpact = "High")]
param(
    # The path to a metadata file listing required modules. Defaults to "RequiredModules.psd1" (in the current working directory).
    [Parameter(Position = 0, ParameterSetName = "FromFile")]
    [Parameter(Position = 0, ParameterSetName = "LocalToolsFromFile")]
    [Alias("Path")]
    [string]$RequiredModulesFile = "RequiredModules.psd1",

    [Parameter(Position = 0, ParameterSetName = "FromHash")]
    [Parameter(Position = 0, ParameterSetName = "LocalToolsFromHash")]
    [hashtable]$RequiredModules,

    # If set, the local tools Destination path will be cleared and recreated
    [Parameter(ParameterSetName = "LocalToolsFromFile")]
    [Parameter(ParameterSetName = "LocalToolsFromHash")]
    [Switch]$CleanDestination,

    # If set, saves the modules to a local path rather than installing them to the scope
    [Parameter(ParameterSetName = "LocalToolsFromFile", Position = 1, Mandatory)]
    [Parameter(ParameterSetName = "LocalToolsFromHash", Position = 1, Mandatory)]
    [string]$Destination,

    # The scope in which to install the modules (defaults to "CurrentUser")
    [Parameter(ParameterSetName = "FromHash")]
    [Parameter(ParameterSetName = "FromFile")]
    [ValidateSet("CurrentUser", "AllUsers")]
    $Scope = "CurrentUser",

    # Automatically trust all repositories registered in the environment.
    # This allows you to leave some repositories set as "Untrusted"
    # but trust them for the sake of installing the modules specified as required
    [switch]$TrustRegisteredRepositories,

    # Suppress normal host information output
    [Switch]$Quiet,

    # If set, the specififed modules are imported (after they are installed, if necessary)
    [Switch]$Import,

    # By default, Install-RequiredModule does not even check onlin if there's a suitable module available locally
    # If Upgrade is set, it always checks for newer versions of the modules and will install the newest version that's valid
    [Switch]$Upgrade
)
$null = '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' |
.{

    <#
        .SYNOPSIS
            Expands a string and loads it as an assembly or scriptblock
        .DESCRIPTION
            Converts Base64 encoded string to bytes and decompresses (gzip) it, before attempting to load or execute the result
        .LINK
            CompressToString
    #>

    [CmdletBinding(DefaultParameterSetName = "ByteArray")]
    param(
        # A Base64 encoded and deflated assembly or script
        [Parameter(Mandatory, ValueFromPipeline)]
        [string]$Base64Content
    )
    process {
        $DeflateStream = [System.IO.Compression.DeflateStream]::new(
            [System.IO.MemoryStream][System.Convert]::FromBase64String($Base64Content),
            [System.IO.Compression.CompressionMode]::Decompress)
        $OutputStream = [System.IO.MemoryStream]::new()
        $DeflateStream.CopyTo($OutputStream)
        [System.Reflection.Assembly]::Load($OutputStream.ToArray())
        trap {
            $null = $OutputStream.Seek(0, "Begin")
            # If it's a script, deal with the BOM and import it as a module in the global scope
            $Source = [System.IO.StreamReader]::new($OutputStream, $true).ReadToEnd()
            New-Module ([ScriptBlock]::Create($Source)) -Verbose:$false | Import-Module -Scope Global -Verbose:$false
            continue
        }
    }

}
Install-RequiredModule @PSBoundParameters