v1.1.0 - Module conversion, CI, documented commands, and self-update#2
Merged
Conversation
Restructure the project from standalone .ps1 scripts into a standard PowerShell module with Public/Private folder convention, manifest, and auto-loader. This enables Import-Module, Get-Command -Module discovery, and versioned releases. - Add PowerShellDevToolkit/ module with .psd1 manifest and .psm1 loader - Wrap all 17 commands as exported functions in Public/ - Move Get-ScriptConfig to Private/ as an internal helper - Rename helpme -> Show-Help, recent-commands -> Show-RecentCommands - Define all 18 aliases (cssh, gs, serve, etc.) in the module - Replace per-script alias injection in Setup-Environment with Import-Module - Update all 17 test files to import the module instead of dot-sourcing - Update README, CONTRIBUTING docs for new module structure - All 141 Pester tests passing
Adds .github/workflows/ci.yml to install Pester 5 and run Invoke-Pester on every push and PR, uploading NUnit XML results as a build artifact. Adds Invoke-Tests.ps1 at the repo root for one-command local test runs.
…docs Add 15 missing commands (Edit-File, Edit-Profile, Edit-Hosts, Use-NppForGit, Set-FileTimestamp, Open-Item, Get-DirectoryListing, New-DirectoryAndEnter, Set-TempLocation, Get-CommandLocation, Invoke-Elevated, Add-Path, Invoke-ProfileReload, Get-IPAddress, Clear-DNSCache) with aliases and tests. Migrate all 32 test files to Pester 5 scoping and syntax. Update CONTRIBUTING.md and README.md to reflect new commands and CI.
Normalize 8.3 short paths vs long paths using Get-Item in path comparisons. Capture Write-Error via -ErrorVariable instead of *>&1 for Pester 5. Call private Get-ScriptConfig through module scope and create config.json from example in CI. Handle empty command history on CI runners in recent-commands tests.
New Update-Toolkit command: git pull, changelog summary, module re-import. Test-ToolkitUpdate runs silently on startup at a configurable interval (toolkit.updateCheckDays in config.json, default 1 day, 0 to disable). Added to Show-Help, helpme.ps1, COMMANDS.md, and config.example.json. Fix recent-commands test for missing PSReadLine history on CI runners. Fix Use-NppForGit test error capture and module reload on CI.
Child process tests now use pwsh instead of powershell (5.1 unavailable on CI runners). Create config.json from example before tests that spawn subprocesses to prevent Get-ScriptConfig Read-Host prompt from corrupting output. Skip startup update check in non-interactive sessions.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This release transforms PowerShell Dev Toolkit from a loose script collection into a proper PowerShell module with significant new functionality:
PowerShellDevToolkit/directory with.psd1manifest,.psm1loader, andPublic//Private/layout. SupportsImport-Moduleand versioned releases..github/workflows/ci.yml, plusInvoke-Tests.ps1for local test execution.Add-Path,Clear-DNSCache,Edit-File,Edit-Hosts,Edit-Profile,Get-CommandLocation,Get-DirectoryListing,Get-IPAddress,Invoke-Elevated,Invoke-ProfileReload,New-DirectoryAndEnter,Open-Item,Set-FileTimestamp,Set-TempLocation,Use-NppForGit). Tests migrated to Pester 5. Docs updated to match reality.git pullwith changelog summary and optional alias re-registration.Test plan
Invoke-Tests.ps1Import-Module .\PowerShellDevToolkitworks and exposes all public commandsUpdate-Toolkitruns without error