{"id":13599166,"url":"https://github.com/EvotecIT/PSPublishModule","last_synced_at":"2025-04-10T12:31:40.041Z","repository":{"id":54636810,"uuid":"136656224","full_name":"EvotecIT/PSPublishModule","owner":"EvotecIT","description":"This module is a module builder helper that helps build PowerShell modules \"Evotec way\". It allows us to make sure our modules are built the same way every time making the process really easy to build and publish new versions.","archived":false,"fork":false,"pushed_at":"2024-10-27T14:58:52.000Z","size":1511,"stargazers_count":29,"open_issues_count":4,"forks_count":11,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-29T21:06:12.435Z","etag":null,"topics":["build","hacktoberfest","module-build","powershell"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EvotecIT.png","metadata":{"files":{"readme":"README.MD","changelog":"CHANGELOG.MD","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"PrzemyslawKlys","custom":["https://paypal.me/PrzemyslawKlys"]}},"created_at":"2018-06-08T19:03:11.000Z","updated_at":"2024-10-27T14:56:10.000Z","dependencies_parsed_at":"2024-01-01T09:07:29.085Z","dependency_job_id":"88a2810d-2292-425a-af85-dc6c12ebf2a1","html_url":"https://github.com/EvotecIT/PSPublishModule","commit_stats":{"total_commits":802,"total_committers":2,"mean_commits":401.0,"dds":"0.0012468827930174342","last_synced_commit":"7fb0466e418ac2b3fe8a8c93dc47a8682a2eec72"},"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvotecIT%2FPSPublishModule","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvotecIT%2FPSPublishModule/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvotecIT%2FPSPublishModule/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvotecIT%2FPSPublishModule/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EvotecIT","download_url":"https://codeload.github.com/EvotecIT/PSPublishModule/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223437353,"owners_count":17144908,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build","hacktoberfest","module-build","powershell"],"created_at":"2024-08-01T17:01:00.428Z","updated_at":"2025-04-10T12:31:40.032Z","avatar_url":"https://github.com/EvotecIT.png","language":"PowerShell","funding_links":["https://github.com/sponsors/PrzemyslawKlys","https://paypal.me/PrzemyslawKlys"],"categories":["PowerShell","C# #"],"sub_categories":[],"readme":"﻿# PSPublishModule - PowerShell Module\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/EvotecIT/PSPublishModule/actions/workflows/BuildModule.yml\"\u003e\u003cimg src=\"https://github.com/EvotecIT/PSPublishModule/actions/workflows/BuildModule.yml/badge.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.powershellgallery.com/packages/PSPublishModule\"\u003e\u003cimg src=\"https://img.shields.io/powershellgallery/v/PSPublishModule.svg?style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.powershellgallery.com/packages/PSPublishModule\"\u003e\u003cimg src=\"https://img.shields.io/powershellgallery/vpre/PSPublishModule.svg?label=powershell%20gallery%20preview\u0026colorB=yellow\u0026style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/EvotecIT/PSPublishModule\"\u003e\u003cimg src=\"https://img.shields.io/github/license/EvotecIT/PSPublishModule.svg?style=flat-square\"\u003e\u003c/a\u003e\n\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.powershellgallery.com/packages/PSPublishModule\"\u003e\u003cimg src=\"https://img.shields.io/powershellgallery/p/PSPublishModule.svg?style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/EvotecIT/PSPublishModule\"\u003e\u003cimg src=\"https://img.shields.io/github/languages/top/evotecit/PSPublishModule.svg?style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/EvotecIT/PSPublishModule\"\u003e\u003cimg src=\"https://img.shields.io/github/languages/code-size/evotecit/PSPublishModule.svg?style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.powershellgallery.com/packages/PSPublishModule\"\u003e\u003cimg src=\"https://img.shields.io/powershellgallery/dt/PSPublishModule.svg?style=flat-square\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://twitter.com/PrzemyslawKlys\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/PrzemyslawKlys.svg?label=Twitter%20%40PrzemyslawKlys\u0026style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://evotec.xyz/hub\"\u003e\u003cimg src=\"https://img.shields.io/badge/Blog-evotec.xyz-2A6496.svg?style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.linkedin.com/in/pklys\"\u003e\u003cimg src=\"https://img.shields.io/badge/LinkedIn-pklys-0077B5.svg?logo=LinkedIn\u0026style=flat-square\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Description\n\nThis module is a module builder helper that helps build PowerShell modules \"Evotec way\".\nIt allows us to make sure our modules are built the same way every time making the process really easy to build and publish new versions.\n\nEach module that is published to PowerShellGallery has Build or Publish folder next to it and within it there is PS1 script which executes module building that uses this module builder.\n\nFor examples and usage you can visit other projects and see how they are built in addition to what is shown in Build folder.\n\n## Support This Project\n\nIf you find this project helpful, please consider supporting its development.\nYour sponsorship will help the maintainers dedicate more time to maintenance and new feature development for everyone.\n\nIt takes a lot of time and effort to create and maintain this project.\nBy becoming a sponsor, you can help ensure that it stays free and accessible to everyone who needs it.\n\nTo become a sponsor, you can choose from the following options:\n\n - [Become a sponsor via GitHub Sponsors :heart:](https://github.com/sponsors/PrzemyslawKlys)\n - [Become a sponsor via PayPal :heart:](https://paypal.me/PrzemyslawKlys)\n\nYour sponsorship is completely optional and not required for using this project.\nWe want this project to remain open-source and available for anyone to use for free,\nregardless of whether they choose to sponsor it or not.\n\nIf you work for a company that uses our .NET libraries or PowerShell Modules,\nplease consider asking your manager or marketing team if your company would be interested in supporting this project.\nYour company's support can help us continue to maintain and improve this project for the benefit of everyone.\n\nThank you for considering supporting this project!\n\n### Installing\n\n```powershell\nInstall-Module -Name PSPublishModule -AllowClobber -Force -SkipPublisherCheck\n```\n\nForce and AllowClobber and SkipPublisherCheck aren't necessary but they do skip errors in case some appear.\n\n### Updating\n\n```powershell\nUpdate-Module -Name PSPublishModule\n```\n\nThat's it. Whenever there's a new version you simply run the command and you can enjoy it. Remember, that you may need to close, reopen the PowerShell session if you have already used the module before updating it.\n\n**The important thing** is if something works for you on production, keep using it till you test the new version on a test computer. I do changes that may not be big, but big enough that auto-update will break your code. For example, small rename to a parameter and your code stops working! Be responsible!\n\n### Usage\n\nIntroduced in **1.0.0** a new way to build PowerShell module based on DSL language.\n\n```powershell\nNew-PrepareModule -ModuleName \"YourModule\" -Path \"C:\\DirectoryWhereTheModuleWillBeCreated\"\n```\n\nOnce run the script will precrate the module folder with nessecary fies\n\n![NewPrepareModule](https://raw.githubusercontent.com/EvotecIT/PSPublishModule/refs/heads/master/Assets/Images/NewPrepareModule.png)\n\nThe structure of the module has all the basics that are required to start building the module. The module is ready to be built and published.\n\n![NewPrepareModuleStructure](https://raw.githubusercontent.com/EvotecIT/PSPublishModule/refs/heads/master/Assets/Images/NewPrepareModule1.png)\n\nThe configuration example below shows how PSPublishModule is built internally. It's a good starting point for building your own module.\nYou can also look at the `Examples` and `Build` folders in this repository to see how it's used in real life.\nAdditionally all Evotec projects use this, so you can look at any of them to see how it's used.\n\n```powershell\nBuild-Module -ModuleName 'PSPublishModule' {\n    # Usual defaults as per standard module\n    $Manifest = [ordered] @{\n        ModuleVersion          = '1.0.X'\n        CompatiblePSEditions   = @('Desktop', 'Core')\n        GUID                   = 'eb76426a-1992-40a5-82cd-6480f883ef4d'\n        Author                 = 'Przemyslaw Klys'\n        CompanyName            = 'Evotec'\n        Copyright              = \"(c) 2011 - $((Get-Date).Year) Przemyslaw Klys @ Evotec. All rights reserved.\"\n        Description            = 'Simple project allowing preparing, managing, building and publishing modules to PowerShellGallery'\n        PowerShellVersion      = '5.1'\n        Tags                   = @('Windows', 'MacOS', 'Linux', 'Build', 'Module')\n        IconUri                = 'https://evotec.xyz/wp-content/uploads/2019/02/PSPublishModule.png'\n        ProjectUri             = 'https://github.com/EvotecIT/PSPublishModule'\n        DotNetFrameworkVersion = '4.5.2'\n    }\n    New-ConfigurationManifest @Manifest\n\n    # Add standard module dependencies (directly, but can be used with loop as well)\n    New-ConfigurationModule -Type RequiredModule -Name 'platyPS' -Guid 'Auto' -Version 'Latest'\n    New-ConfigurationModule -Type RequiredModule -Name 'powershellget' -Guid 'Auto' -Version 'Latest'\n    New-ConfigurationModule -Type RequiredModule -Name 'PSScriptAnalyzer' -Guid 'Auto' -Version 'Latest'\n\n    # Add external module dependencies, using loop for simplicity\n    foreach ($Module in @('Microsoft.PowerShell.Utility', 'Microsoft.PowerShell.Archive', 'Microsoft.PowerShell.Management', 'Microsoft.PowerShell.Security')) {\n        New-ConfigurationModule -Type ExternalModule -Name $Module\n    }\n\n    # Add approved modules, that can be used as a dependency, but only when specific function from those modules is used\n    # And on that time only that function and dependant functions will be copied over\n    # Keep in mind it has it's limits when \"copying\" functions such as it should not depend on DLLs or other external files\n    New-ConfigurationModule -Type ApprovedModule -Name 'PSSharedGoods', 'PSWriteColor', 'Connectimo', 'PSUnifi', 'PSWebToolbox', 'PSMyPassword'\n\n    #New-ConfigurationModuleSkip -IgnoreFunctionName 'Invoke-Formatter', 'Find-Module' -IgnoreModuleName 'platyPS'\n\n    $ConfigurationFormat = [ordered] @{\n        RemoveComments                              = $false\n\n        PlaceOpenBraceEnable                        = $true\n        PlaceOpenBraceOnSameLine                    = $true\n        PlaceOpenBraceNewLineAfter                  = $true\n        PlaceOpenBraceIgnoreOneLineBlock            = $false\n\n        PlaceCloseBraceEnable                       = $true\n        PlaceCloseBraceNewLineAfter                 = $true\n        PlaceCloseBraceIgnoreOneLineBlock           = $false\n        PlaceCloseBraceNoEmptyLineBefore            = $true\n\n        UseConsistentIndentationEnable              = $true\n        UseConsistentIndentationKind                = 'space'\n        UseConsistentIndentationPipelineIndentation = 'IncreaseIndentationAfterEveryPipeline'\n        UseConsistentIndentationIndentationSize     = 4\n\n        UseConsistentWhitespaceEnable               = $true\n        UseConsistentWhitespaceCheckInnerBrace      = $true\n        UseConsistentWhitespaceCheckOpenBrace       = $true\n        UseConsistentWhitespaceCheckOpenParen       = $true\n        UseConsistentWhitespaceCheckOperator        = $true\n        UseConsistentWhitespaceCheckPipe            = $true\n        UseConsistentWhitespaceCheckSeparator       = $true\n\n        AlignAssignmentStatementEnable              = $true\n        AlignAssignmentStatementCheckHashtable      = $true\n\n        UseCorrectCasingEnable                      = $true\n    }\n    # format PSD1 and PSM1 files when merging into a single file\n    # enable formatting is not required as Configuration is provided\n    New-ConfigurationFormat -ApplyTo 'OnMergePSM1', 'OnMergePSD1' -Sort None @ConfigurationFormat\n    # format PSD1 and PSM1 files within the module\n    # enable formatting is required to make sure that formatting is applied (with default settings)\n    New-ConfigurationFormat -ApplyTo 'DefaultPSD1', 'DefaultPSM1' -EnableFormatting -Sort None\n    # when creating PSD1 use special style without comments and with only required parameters\n    New-ConfigurationFormat -ApplyTo 'DefaultPSD1', 'OnMergePSD1' -PSD1Style 'Minimal'\n\n    # configuration for documentation, at the same time it enables documentation processing\n    New-ConfigurationDocumentation -Enable:$false -StartClean -UpdateWhenNew -PathReadme 'Docs\\Readme.md' -Path 'Docs'\n\n    New-ConfigurationImportModule -ImportSelf -ImportRequiredModules\n\n    New-ConfigurationBuild -Enable:$true -SignModule -DeleteTargetModuleBeforeBuild -MergeModuleOnBuild -CertificateThumbprint '36A8A2D0E227D81A2D3B60DCE0CFCF23BEFC343B'\n\n    New-ConfigurationArtefact -Type Unpacked -Enable -Path \"$PSScriptRoot\\..\\Artefacts\" -RequiredModulesPath \"$PSScriptRoot\\..\\Artefacts\\Modules\"\n    New-ConfigurationArtefact -Type Packed -Enable -Path \"$PSScriptRoot\\..\\Releases\" -IncludeTagName\n\n    # global options for publishing to github/psgallery\n    New-ConfigurationPublish -Type PowerShellGallery -FilePath 'C:\\Support\\Important\\PowerShellGalleryAPI.txt' -Enabled:$false\n    New-ConfigurationPublish -Type GitHub -FilePath 'C:\\Support\\Important\\GitHubAPI.txt' -UserName 'EvotecIT' -Enabled:$false\n}\n```\n\nThe old way still works, but is less preferred. It's kept for backwards compatibility.\nIt's much harder to discover what is what and how it impacts things. It's also harder to maintain.\n\n```powershell\n$Configuration = @{\n    Information = @{\n        ModuleName        = 'PSPublishModule'\n        #DirectoryProjects = 'C:\\Support\\GitHub'\n\n        # Where from to export aliases / functions\n        FunctionsToExport = 'Public'\n        AliasesToExport   = 'Public'\n\n        # Those options below are not nessecary but can be used to configure other options. Those are \"defaults\"\n        Exclude           = '.*', 'Ignore', 'Examples', 'package.json', 'Publish', 'Docs'\n        IncludeRoot       = '*.psm1', '*.psd1', 'License*'\n        IncludePS1        = 'Private', 'Public', 'Enums', 'Classes'\n        IncludeAll        = 'Images\\', 'Resources\\', 'Templates\\', 'Bin\\', 'Lib\\', 'Data\\'\n\n        IncludeCustomCode = {\n\n        }\n        IncludeToArray    = @{\n            'Rules' = 'Examples'\n        }\n\n        LibrariesCore     = 'Lib\\Core'\n        LibrariesDefault  = 'Lib\\Default'\n        LibrariesStandard = 'Lib\\Standard'\n\n        # manifest information\n        Manifest          = @{\n            # Version number of this module.\n            ModuleVersion              = '1.0.0'\n            # Supported PSEditions\n            CompatiblePSEditions       = @('Desktop', 'Core')\n            # ID used to uniquely identify this module\n            GUID                       = 'eb76426a-1992-40a5-82cd-6480f883ef4d'\n            # Author of this module\n            Author                     = 'Przemyslaw Klys'\n            # Company or vendor of this module\n            CompanyName                = 'Evotec'\n            # Copyright statement for this module\n            Copyright                  = \"(c) 2011 - $((Get-Date).Year) Przemyslaw Klys @ Evotec. All rights reserved.\"\n            # Description of the functionality provided by this module\n            Description                = 'Simple project allowing preparing, managing, building and publishing modules to PowerShellGallery'\n            # Minimum version of the Windows PowerShell engine required by this module\n            PowerShellVersion          = '5.1'\n            # Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.\n            Tags                       = @('Windows', 'MacOS', 'Linux', 'Build', 'Module')\n            IconUri                    = 'https://evotec.xyz/wp-content/uploads/2019/02/PSPublishModule.png'\n            ProjectUri                 = 'https://github.com/EvotecIT/PSPublishModule'\n\n            RequiredModules            = @(\n                @{ ModuleName = 'platyps'; ModuleVersion = \"Latest\"; Guid = 'Auto' }\n                @{ ModuleName = 'powershellget'; ModuleVersion = \"2.2.5\"; Guid = '1d73a601-4a6c-43c5-ba3f-619b18bbb404' }\n                @{ ModuleName = 'PSScriptAnalyzer'; ModuleVersion = \"Latest\"; Guid = 'd6245802-193d-4068-a631-8863a4342a18' }\n            )\n            ExternalModuleDependencies = @(\n                \"Microsoft.PowerShell.Utility\"\n                \"Microsoft.PowerShell.Archive\"\n                \"Microsoft.PowerShell.Management\"\n                \"Microsoft.PowerShell.Security\"\n            )\n            DotNetFrameworkVersion     = '4.5.2'\n        }\n    }\n    Options     = @{\n        Merge             = @{\n            Sort           = 'None'\n            FormatCodePSM1 = @{\n                Enabled           = $false\n                RemoveComments    = $false\n                FormatterSettings = @{\n                    IncludeRules = @(\n                        'PSPlaceOpenBrace',\n                        'PSPlaceCloseBrace',\n                        'PSUseConsistentWhitespace',\n                        'PSUseConsistentIndentation',\n                        'PSAlignAssignmentStatement',\n                        'PSUseCorrectCasing'\n                    )\n\n                    Rules        = @{\n                        PSPlaceOpenBrace           = @{\n                            Enable             = $true\n                            OnSameLine         = $true\n                            NewLineAfter       = $true\n                            IgnoreOneLineBlock = $true\n                        }\n\n                        PSPlaceCloseBrace          = @{\n                            Enable             = $true\n                            NewLineAfter       = $false\n                            IgnoreOneLineBlock = $true\n                            NoEmptyLineBefore  = $false\n                        }\n\n                        PSUseConsistentIndentation = @{\n                            Enable              = $true\n                            Kind                = 'space'\n                            PipelineIndentation = 'IncreaseIndentationAfterEveryPipeline'\n                            IndentationSize     = 4\n                        }\n\n                        PSUseConsistentWhitespace  = @{\n                            Enable          = $true\n                            CheckInnerBrace = $true\n                            CheckOpenBrace  = $true\n                            CheckOpenParen  = $true\n                            CheckOperator   = $true\n                            CheckPipe       = $true\n                            CheckSeparator  = $true\n                        }\n\n                        PSAlignAssignmentStatement = @{\n                            Enable         = $true\n                            CheckHashtable = $true\n                        }\n\n                        PSUseCorrectCasing         = @{\n                            Enable = $true\n                        }\n                    }\n                }\n            }\n            FormatCodePSD1 = @{\n                Enabled        = $true\n                RemoveComments = $false\n            }\n            Integrate      = @{\n                ApprovedModules = 'PSSharedGoods', 'PSWriteColor', 'Connectimo', 'PSUnifi', 'PSWebToolbox', 'PSMyPassword'\n            }\n            # Style          = @{\n            #     PSD1 = 'Native'\n            # }\n        }\n        Standard          = @{\n            FormatCodePSM1 = @{\n\n            }\n            FormatCodePSD1 = @{\n                Enabled = $true\n                #RemoveComments = $true\n            }\n            # Style          = @{\n            #     PSD1 = 'Native'\n            # }\n        }\n        PowerShellGallery = @{\n            ApiKey   = 'C:\\Support\\Important\\PowerShellGalleryAPI.txt'\n            FromFile = $true\n        }\n        GitHub            = @{\n            ApiKey   = 'C:\\Support\\Important\\GithubAPI.txt'\n            FromFile = $true\n            UserName = 'EvotecIT'\n            #RepositoryName = 'PSPublishModule' # not required, uses project name\n        }\n        Documentation     = @{\n            Path       = 'Docs'\n            PathReadme = 'Docs\\Readme.md'\n        }\n        Style             = @{\n            PSD1 = 'Minimal' # Native\n        }\n        Signing           = @{\n            CertificateThumbprint = '36A8A2D0E227D81A2D3B60DCE0CFCF23BEFC343B'\n        }\n    }\n    Steps       = @{\n        BuildLibraries     = @{\n            Enable        = $false # build once every time nuget gets updated\n            Configuration = 'Release'\n            Framework     = 'netstandard2.0', 'net472'\n            #ProjectName   = 'ImagePlayground.PowerShell'\n        }\n        BuildModule        = @{  # requires Enable to be on to process all of that\n            Enable                  = $true\n            DeleteBefore            = $false\n            Merge                   = $true\n            MergeMissing            = $true\n            SignMerged              = $true\n            CreateFileCatalog       = $false\n            Releases                = $true\n            #ReleasesUnpacked        = $false\n            ReleasesUnpacked        = @{\n                Enabled         = $true\n                IncludeTagName  = $false\n                Path            = \"$PSScriptRoot\\..\\Artefacts\"\n                RequiredModules = @{\n                    Enabled = $true\n                    Path    = \"$PSScriptRoot\\..\\Artefacts\\Modules\"\n                }\n                DirectoryOutput = @{\n\n                }\n                FilesOutput     = @{\n\n                }\n            }\n            RefreshPSD1Only         = $false\n            # only when there are classes\n            ClassesDotSource        = $false\n            LibrarySeparateFile     = $false\n            LibraryDotSource        = $false\n            # Applicable only for non-merge/publish situation\n            # It's simply to make life easier during debugging\n            # It makes all functions/aliases exportable\n            UseWildcardForFunctions = $false\n\n            # special features for binary modules\n            DebugDLL                = $false\n            ResolveBinaryConflicts  = $false # mostly for memory and other libraries\n            # ResolveBinaryConflicts  = @{\n            #     ProjectName = 'ImagePlayground.PowerShell'\n            # }\n            LocalVersion            = $false # bumps version in PSD1 on every build\n        }\n        BuildDocumentation = @{\n            Enable        = $true # enables documentation processing\n            StartClean    = $true # always starts clean\n            UpdateWhenNew = $true # always updates right after update\n        }\n        ImportModules      = @{\n            Self            = $true\n            RequiredModules = $false\n            Verbose         = $false\n        }\n        PublishModule      = @{  # requires Enable to be on to process all of that\n            Enabled      = $false\n            Prerelease   = ''\n            RequireForce = $false\n            GitHub       = $false\n        }\n    }\n}\n\nBuild-Module -Configuration $Configuration\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEvotecIT%2FPSPublishModule","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEvotecIT%2FPSPublishModule","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEvotecIT%2FPSPublishModule/lists"}