Evotec

Project

PSPublishModule

PSPublishModule is an open-source PowerShell and .NET project with packages, release history, and technical documentation.

Stars 43
Forks 13
Open issues 1
PowerShell Gallery downloads 13,876
Release v3.0.3
Language: C# Updated: 2026-04-14

API Reference

Cmdlet

New-ConfigurationValidation

Namespace PSPublishModule
Inputs
None
Outputs
System.Object

Creates configuration for module validation checks during build.

Remarks

Adds a single validation segment that can run structure, documentation, test, binary, and csproj checks. Each check can be configured as Off/Warning/Error to control whether it is informational or blocking. Encoding and line-ending enforcement is handled by New-ConfigurationFileConsistency.

Examples

Authored help example

Enable validation with warnings for docs and errors for structure

PS>


New-ConfigurationValidation -Enable -StructureSeverity Error -DocumentationSeverity Warning
        

Run tests and fail the build on test failures

PS>


New-ConfigurationValidation -Enable -EnableTests -TestsSeverity Error -TestsPath 'Tests'
        

Common Parameters

This command supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable.

For more information, see about_CommonParameters.

Syntax

New-ConfigurationValidation [-AllowBannedCommandsIn <String[]>] [-AllowBinaryWildcardExports <Boolean>] [-AllowWildcardExports <Boolean>] [-BannedCommands <String[]>] [-BinarySeverity <Off|Warning|Error>] [-CsprojSeverity <Off|Warning|Error>] [-DocumentationSeverity <Off|Warning|Error>] [-Enable] [-EnableScriptAnalyzer] [-EnableTests] [-ExcludeCommands <String[]>] [-FileIntegrityCheckSyntax <Boolean>] [-FileIntegrityCheckTrailingWhitespace <Boolean>] [-FileIntegrityExcludeDirectories <String[]>] [-FileIntegritySeverity <Off|Warning|Error>] [-InternalFunctionPaths <String[]>] [-MinDescriptionPercent <Int32>] [-MinExamplesPerCommand <Int32>] [-MinParameterDescriptionPercent <Int32>] [-MinSynopsisPercent <Int32>] [-MinTypeDescriptionPercent <Int32>] [-PublicFunctionPaths <String[]>] [-RequireLibraryOutput <Boolean>] [-RequireTargetFramework <Boolean>] [-ScriptAnalyzerExcludeDirectories <String[]>] [-ScriptAnalyzerExcludeRules <String[]>] [-ScriptAnalyzerInstallIfUnavailable <Boolean>] [-ScriptAnalyzerSeverity <Off|Warning|Error>] [-ScriptAnalyzerSkipIfUnavailable <Boolean>] [-ScriptAnalyzerTimeoutSeconds <Int32>] [-StructureSeverity <Off|Warning|Error>] [-TestAdditionalModules <String[]>] [-TestForce] [-TestSkipDependencies] [-TestSkipImport] [-TestSkipModules <String[]>] [-TestsPath <String>] [-TestsSeverity <Off|Warning|Error>] [-TestTimeoutSeconds <Int32>] [-ValidateBinaryAssemblies <Boolean>] [-ValidateBinaryExports <Boolean>] [-ValidateExports <Boolean>] [-ValidateInternalNotExported <Boolean>] [-ValidateManifestFiles <Boolean>] [<CommonParameters>]
#
Parameter set: All Parameter Sets

Parameters

AllowBannedCommandsIn String[] optionalposition: namedpipeline: False
File names allowed to use banned commands.
AllowBinaryWildcardExports Boolean optionalposition: namedpipeline: False
Allow wildcard exports for binary checks.
AllowWildcardExports Boolean optionalposition: namedpipeline: False
Allow wildcard exports (skip export validation if FunctionsToExport='*').
BannedCommands String[] optionalposition: namedpipeline: False
Commands that should not appear in scripts.
BinarySeverity ValidationSeverity optionalposition: namedpipeline: Falsevalues: 3
Severity for binary export checks.
Possible values: Off, Warning, Error
CsprojSeverity ValidationSeverity optionalposition: namedpipeline: Falsevalues: 3
Severity for csproj validation checks.
Possible values: Off, Warning, Error
DocumentationSeverity ValidationSeverity optionalposition: namedpipeline: Falsevalues: 3
Severity for documentation checks.
Possible values: Off, Warning, Error
Enable SwitchParameter optionalposition: namedpipeline: False
Enable module validation checks during build.
EnableScriptAnalyzer SwitchParameter optionalposition: namedpipeline: False
Enable PSScriptAnalyzer checks during validation.
EnableTests SwitchParameter optionalposition: namedpipeline: False
Enable test execution during validation.
ExcludeCommands String[] optionalposition: namedpipeline: False
Command names to exclude from documentation checks.
FileIntegrityCheckSyntax Boolean optionalposition: namedpipeline: False
Check for PowerShell syntax errors.
FileIntegrityCheckTrailingWhitespace Boolean optionalposition: namedpipeline: False
Check for trailing whitespace in scripts.
FileIntegrityExcludeDirectories String[] optionalposition: namedpipeline: False
Directories to exclude from file integrity checks.
FileIntegritySeverity ValidationSeverity optionalposition: namedpipeline: Falsevalues: 3
Severity for file integrity checks.
Possible values: Off, Warning, Error
InternalFunctionPaths String[] optionalposition: namedpipeline: False
Relative paths to internal function files (default: "internal\\functions").
MinDescriptionPercent Int32 optionalposition: namedpipeline: False
Minimum description coverage percentage (default 100).
MinExamplesPerCommand Int32 optionalposition: namedpipeline: False
Minimum examples per command (default 1).
MinParameterDescriptionPercent Int32 optionalposition: namedpipeline: False
Minimum percentage of parameters that must have descriptions (default 0 = disabled).
MinSynopsisPercent Int32 optionalposition: namedpipeline: False
Minimum synopsis coverage percentage (default 100).
MinTypeDescriptionPercent Int32 optionalposition: namedpipeline: False
Minimum percentage of unique input/output types that must have descriptions (default 0 = disabled).
PublicFunctionPaths String[] optionalposition: namedpipeline: False
Relative paths to public function files (default: "functions").
RequireLibraryOutput Boolean optionalposition: namedpipeline: False
Require OutputType=Library in csproj (when specified).
RequireTargetFramework Boolean optionalposition: namedpipeline: False
Require TargetFramework/TargetFrameworks in csproj.
ScriptAnalyzerExcludeDirectories String[] optionalposition: namedpipeline: False
Directories to exclude from PSScriptAnalyzer checks.
ScriptAnalyzerExcludeRules String[] optionalposition: namedpipeline: False
PSScriptAnalyzer rules to exclude.
ScriptAnalyzerInstallIfUnavailable Boolean optionalposition: namedpipeline: False
Install PSScriptAnalyzer on demand before validation when it is missing.
ScriptAnalyzerSeverity ValidationSeverity optionalposition: namedpipeline: Falsevalues: 3
Severity for PSScriptAnalyzer checks.
Possible values: Off, Warning, Error
ScriptAnalyzerSkipIfUnavailable Boolean optionalposition: namedpipeline: False
Skip PSScriptAnalyzer checks if the module is not installed.
ScriptAnalyzerTimeoutSeconds Int32 optionalposition: namedpipeline: False
ScriptAnalyzer timeout, in seconds (default 300).
StructureSeverity ValidationSeverity optionalposition: namedpipeline: Falsevalues: 3
Severity for module structure checks.
Possible values: Off, Warning, Error
TestAdditionalModules String[] optionalposition: namedpipeline: False
Additional modules to install for tests.
TestForce SwitchParameter optionalposition: namedpipeline: False
Force dependency reinstall and module reimport during tests.
TestSkipDependencies SwitchParameter optionalposition: namedpipeline: False
Skip dependency installation during tests.
TestSkipImport SwitchParameter optionalposition: namedpipeline: False
Skip importing the module during tests.
TestSkipModules String[] optionalposition: namedpipeline: False
Module names to skip during test dependency installation.
TestsPath String optionalposition: namedpipeline: False
Path to tests (defaults to Tests under project root).
TestsSeverity ValidationSeverity optionalposition: namedpipeline: Falsevalues: 3
Severity for test failures.
Possible values: Off, Warning, Error
TestTimeoutSeconds Int32 optionalposition: namedpipeline: False
Test timeout, in seconds (default 600).
ValidateBinaryAssemblies Boolean optionalposition: namedpipeline: False
Validate that binary assemblies exist.
ValidateBinaryExports Boolean optionalposition: namedpipeline: False
Validate binary exports against CmdletsToExport/AliasesToExport.
ValidateExports Boolean optionalposition: namedpipeline: False
Validate that FunctionsToExport matches public functions.
ValidateInternalNotExported Boolean optionalposition: namedpipeline: False
Validate that internal functions are not exported.
ValidateManifestFiles Boolean optionalposition: namedpipeline: False
Validate manifest file references (RootModule/Formats/Types/RequiredAssemblies).

Outputs

System.Object