DevVm.psd1

@{
    RootModule           = 'DevVm.psm1'
    ModuleVersion        = '0.1.2'
    GUID                 = '43d28a98-7da2-427d-baa2-bc70383144ec'
    Author               = 'Jose Aguado'
    CompanyName          = ''
    Copyright            = '(c) 2026 Jose Aguado. All rights reserved.'
    Description          = 'DevVm - Version Manager for Node.js, Java, Maven and other runtimes on Windows'

    PowerShellVersion    = '5.0'

    # Functions to export from this module
    FunctionsToExport    = @(
        'Get-DevVmVersion'
        'Set-DevVmVersion'
        'Get-DevVmCurrent'
        'Invoke-DevVmActivate'
        'Invoke-DevVm'
        'Install-DevVmVersion'
        'Find-DevVmAvailable'
        'Add-DevVmRuntimeConfig'
        'Clear-DevVmCache'
        'Get-DevVmSystem'
        'Initialize-DevVmProfile'
        'Show-DevVmPath'
        'Clear-DevVmPath'
        'Set-DevVmPersistentPath'
        'Remove-DevVmPersistentPath'
        'Test-DevVmPersistentPath'
        'Get-DevVmPersistentPathEntry'
        'Set-DevVmAlias'
        'Get-DevVmAlias'
        'Remove-DevVmAlias'
    )

    # Cmdlets to export from this module (if any)
    CmdletsToExport      = @()

    # Aliases to export from this module (if any)
    AliasesToExport      = @('devvm', 'dvm')

    # Modules that must be loaded before this module
    RequiredModules      = @()

    # Private data to pass to the module specified in RootModule/ModuleToProcess
    PrivateData          = @{
        PSData = @{
            Tags       = @('node', 'java', 'maven', 'runtime-manager', 'version-manager', 'nvm', 'sdkman', 'windows', 'lein', 'clojure')
            License    = 'MIT'
            LicenseUri = 'https://gitlab.com/jh2odo/devvm/-/blob/main/LICENSE'
            ProjectUri = 'https://gitlab.com/jh2odo/devvm'
            IconUri    = 'https://gitlab.com/jh2odo/devvm/-/raw/main/icon/devvm-icon.png'
            ReleaseNotes = @'
Version 0.1.2 - Release
 
### Features:
  - Persistent PATH management: Optional support for adding runtimes to permanent user PATH
  - New `-Persist path` option for `Set-DevVmVersion` / `devvm use` command
  - Modifies user-level PATH environment variable (no admin required)
  - New `Show-DevVmPath` cmdlet to display persistent PATH status
  - New `Clear-DevVmPath` cmdlet to remove runtimes from persistent PATH
  - New `devvm path` command with `show` and `clear` subcommands
  - Helper functions: `Set-DevVmPersistentPath`, `Remove-DevVmPersistentPath`, `Test-DevVmPersistentPath`, `Get-DevVmPersistentPathEntry`
 
  - Custom Alias System: Create personalized command aliases for DevVm
  - New `dvm` alias: 3-letter shorthand for devvm (primary default)
  - New `Set-DevVmAlias` cmdlet to create custom aliases
  - New `Get-DevVmAlias` cmdlet to list all configured aliases
  - New `Remove-DevVmAlias` cmdlet to remove custom aliases
  - New `devvm alias` / `dvm alias` CLI commands with add/remove/list subcommands
  - Custom aliases saved to global `~/.devvm` config file
  - Automatic alias loading on PowerShell session startup
  - Alias validation: names must start with a letter and contain only [a-zA-Z0-9_-]
  - Comprehensive test suite: `DevVm.Alias.Tests.ps1`
 
### Changed
  - Updated CLI help to document persistent PATH management and custom aliases
  - Enhanced `Set-DevVmVersion` to support 4 persistence modes: session, project, global, path
  - Module now exports 13 public functions (added Show-DevVmPath, Clear-DevVmPath, Set-DevVmAlias, Get-DevVmAlias, Remove-DevVmAlias)
  - Comprehensive test coverage for persistent PATH functionality:
  - `DevVm.PersistentPath.Tests.ps1`: Unit tests for persistent PATH helper functions
  - `DevVm.PersistentPathIntegration.Tests.ps1`: Integration tests for Set-DevVmVersion with path persistence
  - `DevVm.CLI.PersistentPath.Tests.ps1`: CLI interface and command tests
  - `DevVm.Alias.Tests.ps1`: Complete alias management test suite
  - `.devvm` config file now includes `alias` field to store custom alias names
  - Updated README.md with alias usage examples and documentation
 
For detailed information, visit: https://gitlab.com/jh2odo/devvm/-/blob/main/CHANGELOG.md
'@

            Author      = 'Jose Aguado'
            Email       = 'joseaguado@outlook.com'
        }
    }
}