🌟 [Major]: ElvUI addon installation and update from PowerShell#4
Conversation
Super-linter summary
Super-linter detected linting errors For more information, see the GitHub Actions workflow run Powered by Super-linter POWERSHELL |
Super-linter summary
Super-linter detected linting errors For more information, see the GitHub Actions workflow run Powered by Super-linter POWERSHELL |
…te-Host with Write-Verbose, add ShouldProcess support
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
There was a problem hiding this comment.
Pull request overview
Adds PowerShell-based installation and updating of the ElvUI WoW addon, replacing the previous template scaffold with a focused module surface.
Changes:
- Introduces
Install-ElvUIandUpdate-ElvUIpublic commands plus supporting private Tukui/WoW path + install helpers. - Removes template placeholder functions/classes/variables/types/formats/scripts/modules from the scaffold.
- Updates README/examples and replaces placeholder Pester tests with command-availability/parameter checks.
Reviewed changes
Copilot reviewed 35 out of 35 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/PSModuleTest.Tests.ps1 | Removes scaffold placeholder tests. |
| tests/ElvUI.Tests.ps1 | Adds Pester tests asserting ElvUI commands/parameters exist. |
| src/variables/public/SolarSystems.ps1 | Removes scaffold placeholder variable data. |
| src/variables/public/Planets.ps1 | Removes scaffold placeholder variable data. |
| src/variables/public/Moons.ps1 | Removes scaffold placeholder variable data. |
| src/variables/private/PrivateVariables.ps1 | Removes scaffold placeholder private variables. |
| src/types/FileInfo.Types.ps1xml | Removes scaffold placeholder type extensions. |
| src/types/DirectoryInfo.Types.ps1xml | Removes scaffold placeholder type extensions. |
| src/scripts/loader.ps1 | Removes scaffold placeholder loader script. |
| src/modules/OtherPSModule.psm1 | Removes scaffold placeholder module. |
| src/init/initializer.ps1 | Removes scaffold placeholder initializer. |
| src/functions/public/completers.ps1 | Removes scaffold placeholder argument completer. |
| src/functions/public/Update-ElvUI.ps1 | Adds public update command with version check + -Force. |
| src/functions/public/Test-PSModuleTest.ps1 | Removes scaffold placeholder public function. |
| src/functions/public/SomethingElse/SomethingElse.md | Removes scaffold placeholder docs. |
| src/functions/public/SomethingElse/Set-PSModuleTest.ps1 | Removes scaffold placeholder public function. |
| src/functions/public/PSModule/PSModule.md | Removes scaffold placeholder docs. |
| src/functions/public/PSModule/New-PSModuleTest.ps1 | Removes scaffold placeholder public function. |
| src/functions/public/PSModule/Get-PSModuleTest.ps1 | Removes scaffold placeholder public function. |
| src/functions/public/Install-ElvUI.ps1 | Adds public install command (downloads + installs latest ElvUI). |
| src/functions/private/Set-InternalPSModule.ps1 | Removes scaffold placeholder private function. |
| src/functions/private/Install-TukuiAddon.ps1 | Adds private download/extract/remove/copy install implementation. |
| src/functions/private/Get-WoWAddOnsPath.ps1 | Adds private helper to resolve/validate WoW AddOns path. |
| src/functions/private/Get-TukuiInstalledVersion.ps1 | Adds private helper to read installed version from .toc. |
| src/functions/private/Get-TukuiAddon.ps1 | Adds private Tukui API client helper. |
| src/functions/private/Get-InternalPSModule.ps1 | Removes scaffold placeholder private function. |
| src/formats/Mygciview.Format.ps1xml | Removes scaffold placeholder formatting. |
| src/formats/CultureInfo.Format.ps1xml | Removes scaffold placeholder formatting. |
| src/finally.ps1 | Removes scaffold placeholder “finally” script. |
| src/data/Settings.psd1 | Clears scaffold placeholder settings values. |
| src/data/Config.psd1 | Clears scaffold placeholder config values. |
| src/classes/public/Book.ps1 | Removes scaffold placeholder public classes/enums. |
| src/classes/private/SecretWriter.ps1 | Removes scaffold placeholder private class. |
| examples/General.ps1 | Updates example script to use ElvUI install/update commands. |
| README.md | Replaces template README with ElvUI module documentation/usage. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
… files, fix zip terminology for textlint
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
…, remove SupportsShouldProcess from private helper, add function invocation tests
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
|
✅ New prerelease: PowerShell Gallery - ElvUI 1.0.0-feature3addelvuiaddonmanagement001 |
|
✅ New prerelease: GitHub - ElvUI v1.0.0-feature3addelvuiaddonmanagement001 |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 37 out of 37 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…and ErrorAction Stop in Install-TukuiAddon
Super-linter summary
Super-linter detected linting errors For more information, see the GitHub Actions workflow run Powered by Super-linter POWERSHELL |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 37 out of 37 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…for non-comparable versions, fix lint violations - Get-WoWAddOnsPath: use Test-Path -LiteralPath to handle wildcard chars in user paths - Get-TukuiInstalledVersion: use Test-Path -LiteralPath and Get-Content -LiteralPath -ErrorAction Stop - Update-ElvUI: require -Force when version strings can't be parsed (prevents accidental downgrades from beta/dev builds) - Install-TukuiAddon: extract TrimEnd char array to fix PSAvoidLongLines lint violation - Update-ElvUI: fix PSUseConsistentIndentation lint violations on version parse lines
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
|
✅ New prerelease: PowerShell Gallery - ElvUI 1.0.0-feature3addelvuiaddonmanagement002 |
|
✅ New prerelease: GitHub - ElvUI v1.0.0-feature3addelvuiaddonmanagement002 |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 37 out of 37 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…ll instructions to README - Switch Get-ChildItem and Copy-Item in extraction section to -LiteralPath for consistency with the function's path safety checks (review thread #13) - Use -LiteralPath and -ErrorAction SilentlyContinue in finally cleanup to prevent masking original errors (review thread #14) - Add Windows PowerShell 5.1 Install-Module alternative alongside Install-PSResource in README (review thread #15)
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
|
✅ New prerelease: PowerShell Gallery - ElvUI 1.0.0-feature3addelvuiaddonmanagement003 |
|
✅ New prerelease: GitHub - ElvUI v1.0.0-feature3addelvuiaddonmanagement003 |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 37 out of 37 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
|
✅ New prerelease: PowerShell Gallery - ElvUI 1.0.0-feature3addelvuiaddonmanagement004 |
|
✅ New prerelease: GitHub - ElvUI v1.0.0-feature3addelvuiaddonmanagement004 |
|
✅ New release: PowerShell Gallery - ElvUI 1.0.0 |
|
✅ New release: GitHub - ElvUI v1.0.0 |
ElvUI can now be installed and updated directly from PowerShell. The module provides two commands —
Install-ElvUIfor fresh installations andUpdate-ElvUIfor checking and applying updates — both supporting custom WoW installation paths and game flavors (retail, classic, classic era).New: Install ElvUI from PowerShell
Install-ElvUIdownloads the latest ElvUI release from the Tukui API and installs it to the WoW AddOns folder.New: Update ElvUI with version checking
Update-ElvUIcompares the locally installed version against the latest available release. If an update is available, it downloads and installs the new version. Use-Forceto reinstall even when already up to date.If ElvUI is not installed,
Update-ElvUIperforms a fresh install automatically.Technical Details
Get-WoWAddOnsPath(path resolution),Get-TukuiAddon(API client),Get-TukuiInstalledVersion(.toc file reader),Install-TukuiAddon(download/extract/install)Install-ElvUI,Update-ElvUIConfig.psd1,Settings.psd1) cleared of placeholder values