Skip to content

Missing module manifest (.psd1) for Servy PowerShell module #53

@Christophe-Rogiers

Description

@Christophe-Rogiers

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

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions