Bug Description
The Servy PowerShell module ships only as a script module (Servy.psm1) without a module manifest (Servy.psd1). While the module works, the lack of a manifest causes limitations in discoverability, versioning, and auto-loading.
Impact
Get-Module -ListAvailable shows no version, author, or description metadata
FunctionsToExport is not declared at manifest level, which affects auto-discovery performance in PowerShell 3.0+
- Module dependencies and minimum PowerShell version requirements cannot be enforced
Find-Module / Install-Module workflows (PowerShellGet) require a manifest
Current State
The module relies solely on Export-ModuleMember at the bottom of Servy.psm1 (line 956) to control exported functions. This works, but PowerShell best practices recommend a .psd1 manifest alongside the .psm1.
Suggested Fix
Add a Servy.psd1 manifest. A minimal example:
@{
RootModule = 'Servy.psm1'
ModuleVersion = '1.0.0'
Author = 'Akram El Assas'
Description = 'PowerShell module to manage Windows services using the Servy CLI.'
PowerShellVersion = '2.0'
FunctionsToExport = @(
'Show-ServyVersion',
'Show-ServyHelp',
'Install-ServyService',
'Uninstall-ServyService',
'Start-ServyService',
'Stop-ServyService',
'Restart-ServyService',
'Get-ServyServiceStatus',
'Export-ServyServiceConfig',
'Import-ServyServiceConfig'
)
CmdletsToExport = @()
VariablesToExport = @()
AliasesToExport = @()
}
Environment
- PowerShell module:
Servy.psm1
- Affects: Module metadata, discoverability, and auto-loading
Bug Description
The Servy PowerShell module ships only as a script module (
Servy.psm1) without a module manifest (Servy.psd1). While the module works, the lack of a manifest causes limitations in discoverability, versioning, and auto-loading.Impact
Get-Module -ListAvailableshows no version, author, or description metadataFunctionsToExportis not declared at manifest level, which affects auto-discovery performance in PowerShell 3.0+Find-Module/Install-Moduleworkflows (PowerShellGet) require a manifestCurrent State
The module relies solely on
Export-ModuleMemberat the bottom ofServy.psm1(line 956) to control exported functions. This works, but PowerShell best practices recommend a.psd1manifest alongside the.psm1.Suggested Fix
Add a
Servy.psd1manifest. A minimal example:Environment
Servy.psm1