feat(deps): vendor PSWriteHTML and PSCertutil into module bundle#59
Merged
Conversation
- replace ExternalModule loop with single New-ConfigurationModule -Type ExternalModule array call - move PSWriteHTML and PSCertutil from IgnoreModuleName skip to ApprovedModule (enables selective function copying) - add New-ConfigurationModuleSkip -IgnoreFunctionName for internal PSWriteHTML helpers (Format-HTML, Optimize-HTML, etc.) - bump ModuleVersion to 2026.5.90840
- post-build Save-Module step vendors pinned deps (PSWriteHTML 1.41.0, PSCertutil 0.0.3) into Artefacts\Unpacked\Locksmith2\Modules\ and patches NestedModules in psd1 to point at .psm1 files (not .psd1) - pre-build dep install ensures PSPublishModule can resolve function calls during analysis so IgnoreModuleName skip fires correctly - replace Get-Module -ListAvailable + Import-Module with Get-Command probe in New-LS2Dashboard; bundled NestedModule is already in scope - remove module-install logic from Test/Repair-PowerShellEnvironment; PSWriteHTML and PSCertutil are now part of the bundle - update all affected tests to match new implementation contracts
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
Removes the runtime dependency on pre-installed PSWriteHTML and PSCertutil by bundling both modules directly into the Locksmith2 artefact. Users no longer need to install these manually.
Changes
Build
Save-Modulepulls pinned versions of PSWriteHTML (1.41.0) and PSCertutil (0.0.3) from PSGallery intoArtefacts\Unpacked\Locksmith2\Modules\NestedModulesin the manifest is patched post-build to point at the vendored.psm1files (not.psd1)$vendorVersionshashtable in the build scriptNew-ConfigurationModuleSkip -IgnoreModuleNamefires correctlyRuntime
Invoke-Locksmith2dynamically discovers and imports the vendored modules by scanning theModules\subfolder — no hardcoded version stringsNew-LS2DashboardreplacesGet-Module -ListAvailable+Import-Modulewith aGet-Commandprobe againstNew-HTML; the NestedModule is already in scope when the bundle loadsEnvironment checks
Test-PowerShellEnvironmentandRepair-PowerShellEnvironment; these are now part of the bundle, not user-managed depsTests
Testing
All
New-LS2Dashboard,Test-PowerShellEnvironment, andRepair-PowerShellEnvironmenttests pass (9/9, green).