Skip to content

🌟 [Major]: ElvUI addon installation and update from PowerShell#4

Merged
Marius Storhaug (MariusStorhaug) merged 14 commits intomainfrom
feature/3-add-elvui-addon-management
Apr 20, 2026
Merged

🌟 [Major]: ElvUI addon installation and update from PowerShell#4
Marius Storhaug (MariusStorhaug) merged 14 commits intomainfrom
feature/3-add-elvui-addon-management

Conversation

@MariusStorhaug
Copy link
Copy Markdown
Member

@MariusStorhaug Marius Storhaug (MariusStorhaug) commented Apr 19, 2026

ElvUI can now be installed and updated directly from PowerShell. The module provides two commands — Install-ElvUI for fresh installations and Update-ElvUI for checking and applying updates — both supporting custom WoW installation paths and game flavors (retail, classic, classic era).

New: Install ElvUI from PowerShell

Install-ElvUI downloads the latest ElvUI release from the Tukui API and installs it to the WoW AddOns folder.

Install-ElvUI
Install-ElvUI -WoWPath 'D:\Games\World of Warcraft' -Flavor '_classic_'

New: Update ElvUI with version checking

Update-ElvUI compares the locally installed version against the latest available release. If an update is available, it downloads and installs the new version. Use -Force to reinstall even when already up to date.

Update-ElvUI
Update-ElvUI -Force
Update-ElvUI -Flavor '_classic_'

If ElvUI is not installed, Update-ElvUI performs a fresh install automatically.

Technical Details

  • Private functions: Get-WoWAddOnsPath (path resolution), Get-TukuiAddon (API client), Get-TukuiInstalledVersion (.toc file reader), Install-TukuiAddon (download/extract/install)
  • Public functions: Install-ElvUI, Update-ElvUI
  • All template placeholder files from the module scaffold have been removed (functions, classes, variables, formats, types, modules, init/scripts/finally, examples, tests)
  • Data files (Config.psd1, Settings.psd1) cleared of placeholder values
  • README updated with actual module documentation and usage examples
  • Pester tests verify both public functions are available with the expected parameters
  • Implementation plan progress: All 5 tasks from issue Add ElvUI addon management functions #3 completed (remove placeholders, create private functions, create public functions, clean up data files, update README)

@MariusStorhaug Marius Storhaug (MariusStorhaug) changed the title WIP: Add ElvUI addon management functions 🚀 [Feature]: ElvUI addon installation and update from PowerShell Apr 19, 2026
@github-actions
Copy link
Copy Markdown

Super-linter summary

Language Validation result
CHECKOV Pass ✅
GITHUB_ACTIONS Pass ✅
GITLEAKS Pass ✅
GIT_MERGE_CONFLICT_MARKERS Pass ✅
MARKDOWN Pass ✅
NATURAL_LANGUAGE Pass ✅
POWERSHELL Fail ❌
PRE_COMMIT Pass ✅
SPELL_CODESPELL Pass ✅
TRIVY Pass ✅
YAML Pass ✅

Super-linter detected linting errors

For more information, see the GitHub Actions workflow run

Powered by Super-linter

POWERSHELL

�[32;1mRuleName                           �[0m�[32;1m Severity    �[0m�[32;1m ScriptName�[0m�[32;1m Line �[0m�[32;1m Message�[0m
�[32;1m--------                           �[0m �[32;1m--------    �[0m �[32;1m----------�[0m �[32;1m---- �[0m �[32;1m-------�[0m
PSAvoidUsingPositionalParameters    Information  Get-TukuiI 36    Cmdlet 'Join-
                                                 nstalledVe       Path' has pos
                                                 rsion.ps1        itional param
                                                                  eter. Please
                                                                  use named par
                                                                  ameters inste
                                                                  ad of positio
                                                                  nal parameter
                                                                  s when callin
                                                                  g a command.
PSAvoidUsingPositionalParameters    Information  Get-TukuiI 37    Cmdlet 'Join-
                                                 nstalledVe       Path' has pos
                                                 rsion.ps1        itional param
                                                                  eter. Please
                                                                  use named par
                                                                  ameters inste
                                                                  ad of positio
                                                                  nal parameter
                                                                  s when callin
                                                                  g a command.


�[32;1mRuleName                           �[0m�[32;1m Severity    �[0m�[32;1m ScriptName�[0m�[32;1m Line �[0m�[32;1m Message�[0m
�[32;1m--------                           �[0m �[32;1m--------    �[0m �[32;1m----------�[0m �[32;1m---- �[0m �[32;1m-------�[0m
PSAvoidUsingPositionalParameters    Information  Get-WoWAdd 35    Cmdlet 'Join-
                                                 OnsPath.ps       Path' has pos
                                                 1                itional param
                                                                  eter. Please
                                                                  use named par
                                                                  ameters inste
                                                                  ad of positio
                                                                  nal parameter
                                                                  s when callin
                                                                  g a command.


�[32;1mRuleName                           �[0m�[32;1m Severity    �[0m�[32;1m ScriptName�[0m�[32;1m Line �[0m�[32;1m Message�[0m
�[32;1m--------                           �[0m �[32;1m--------    �[0m �[32;1m----------�[0m �[32;1m---- �[0m �[32;1m-------�[0m
PSAvoidUsingWriteHost               Warning      Install-Tu 37    File 'Install
                                                 kuiAddon.p       -TukuiAddon.p
                                                 s1               s1' uses Writ
                                                                  e-Host. Avoid
                                                                   using Write-
                                                                  Host because
                                                                  it might not
                                                                  work in all h
                                                                  osts, does no
                                                                  t work when t
                                                                  here is no ho
                                                                  st, and (prio
                                                                  r to PS 5.0)
                                                                  cannot be sup
                                                                  pressed, capt
                                                                  ured, or redi
                                                                  rected. Inste
                                                                  ad, use Write
                                                                  -Output, Writ
                                                                  e-Verbose, or
                                                                   Write-Inform
                                                                  ation.
PSAvoidUsingWriteHost               Warning      Install-Tu 42    File 'Install
                                                 kuiAddon.p       -TukuiAddon.p
                                                 s1               s1' uses Writ
                                                                  e-Host. Avoid
                                                                   using Write-
                                                                  Host because
                                                                  it might not
                                                                  work in all h
                                                                  osts, does no
                                                                  t work when t
                                                                  here is no ho
                                                                  st, and (prio
                                                                  r to PS 5.0)
                                                                  cannot be sup
                                                                  pressed, capt
                                                                  ured, or redi
                                                                  rected. Inste
                                                                  ad, use Write
                                                                  -Output, Writ
                                                                  e-Verbose, or
                                                                   Write-Inform
                                                                  ation.
PSAvoidUsingWriteHost               Warning      Install-Tu 49    File 'Install
                                                 kuiAddon.p       -TukuiAddon.p
                                                 s1               s1' uses Writ
                                                                  e-Host. Avoid
                                                                   using Write-
                                                                  Host because
                                                                  it might not
                                                                  work in all h
                                                                  osts, does no
                                                                  t work when t
                                                                  here is no ho
                                                                  st, and (prio
                                                                  r to PS 5.0)
                                                                  cannot be sup
                                                                  pressed, capt
                                                                  ured, or redi
                                                                  rected. Inste
                                                                  ad, use Write
                                                                  -Output, Writ
                                                                  e-Verbose, or
                                                                   Write-Inform
                                                                  ation.
PSAvoidUsingWriteHost               Warning      Install-Tu 58    File 'Install
                                                 kuiAddon.p       -TukuiAddon.p
                                                 s1               s1' uses Writ
                                                                  e-Host. Avoid
                                                                   using Write-
                                                                  Host because
                                                                  it might not
                                                                  work in all h
                                                                  osts, does no
                                                                  t work when t
                                                                  here is no ho
                                                                  st, and (prio
                                                                  r to PS 5.0)
                                                                  cannot be sup
                                                                  pressed, capt
                                                                  ured, or redi
                                                                  rected. Inste
                                                                  ad, use Write
                                                                  -Output, Writ
                                                                  e-Verbose, or
                                                                   Write-Inform
                                                                  ation.
PSAvoidUsingWriteHost               Warning      Install-Tu 62    File 'Install
                                                 kuiAddon.p       -TukuiAddon.p
                                                 s1               s1' uses Writ
                                                                  e-Host. Avoid
                                                                   using Write-
                                                                  Host because
                                                                  it might not
                                                                  work in all h
                                                                  osts, does no
                                                                  t work when t
                                                                  here is no ho
                                                                  st, and (prio
                                                                  r to PS 5.0)
                                                                  cannot be sup
                                                                  pressed, capt
                                                                  ured, or redi
                                                                  rected. Inste
                                                                  ad, use Write
                                                                  -Output, Writ
                                                                  e-Verbose, or
                                                                   Write-Inform
                                                                  ation.


�[32;1mRuleName                           �[0m�[32;1m Severity    �[0m�[32;1m ScriptName�[0m�[32;1m Line �[0m�[32;1m Message�[0m
�[32;1m--------                           �[0m �[32;1m--------    �[0m �[32;1m----------�[0m �[32;1m---- �[0m �[32;1m-------�[0m
PSAvoidUsingWriteHost               Warning      Install-El 41    File 'Install
                                                 vUI.ps1          -ElvUI.ps1' u
                                                                  ses Write-Hos
                                                                  t. Avoid usin
                                                                  g Write-Host
                                                                  because it mi
                                                                  ght not work
                                                                  in all hosts,
                                                                   does not wor
                                                                  k when there
                                                                  is no host, a
                                                                  nd (prior to
                                                                  PS 5.0) canno
                                                                  t be suppress
                                                                  ed, captured,
                                                                   or redirecte
                                                                  d. Instead, u
                                                                  se Write-Outp
                                                                  ut, Write-Ver
                                                                  bose, or Writ
                                                                  e-Information
                                                                  .


�[32;1mRuleName                           �[0m�[32;1m Severity    �[0m�[32;1m ScriptName�[0m�[32;1m Line �[0m�[32;1m Message�[0m
�[32;1m--------                           �[0m �[32;1m--------    �[0m �[32;1m----------�[0m �[32;1m---- �[0m �[32;1m-------�[0m
PSAvoidUsingWriteHost               Warning      Update-Elv 51    File 'Update-
                                                 UI.ps1           ElvUI.ps1' us
                                                                  es Write-Host
                                                                  . Avoid using
                                                                   Write-Host b
                                                                  ecause it mig
                                                                  ht not work i
                                                                  n all hosts,
                                                                  does not work
                                                                   when there i
                                                                  s no host, an
                                                                  d (prior to P
                                                                  S 5.0) cannot
                                                                   be suppresse
                                                                  d, captured,
                                                                  or redirected
                                                                  . Instead, us
                                                                  e Write-Outpu
                                                                  t, Write-Verb
                                                                  ose, or Write
                                                                  -Information.
PSAvoidUsingWriteHost               Warning      Update-Elv 53    File 'Update-
                                                 UI.ps1           ElvUI.ps1' us
                                                                  es Write-Host
                                                                  . Avoid using
                                                                   Write-Host b
                                                                  ecause it mig
                                                                  ht not work i
                                                                  n all hosts,
                                                                  does not work
                                                                   when there i
                                                                  s no host, an
                                                                  d (prior to P
                                                                  S 5.0) cannot
                                                                   be suppresse
                                                                  d, captured,
                                                                  or redirected
                                                                  . Instead, us
                                                                  e Write-Outpu
                                                                  t, Write-Verb
                                                                  ose, or Write
                                                                  -Information.
PSAvoidUsingWriteHost               Warning      Update-Elv 57    File 'Update-
                                                 UI.ps1           ElvUI.ps1' us
                                                                  es Write-Host
                                                                  . Avoid using
                                                                   Write-Host b
                                                                  ecause it mig
                                                                  ht not work i
                                                                  n all hosts,
                                                                  does not work
                                                                   when there i
                                                                  s no host, an
                                                                  d (prior to P
                                                                  S 5.0) cannot
                                                                   be suppresse
                                                                  d, captured,
                                                                  or redirected
                                                                  . Instead, us
                                                                  e Write-Outpu
                                                                  t, Write-Verb
                                                                  ose, or Write
                                                                  -Information.
PSAvoidUsingWriteHost               Warning      Update-Elv 60    File 'Update-
                                                 UI.ps1           ElvUI.ps1' us
                                                                  es Write-Host
                                                                  . Avoid using
                                                                   Write-Host b
                                                                  ecause it mig
                                                                  ht not work i
                                                                  n all hosts,
                                                                  does not work
                                                                   when there i
                                                                  s no host, an
                                                                  d (prior to P
                                                                  S 5.0) cannot
                                                                   be suppresse
                                                                  d, captured,
                                                                  or redirected
                                                                  . Instead, us
                                                                  e Write-Outpu
                                                                  t, Write-Verb
                                                                  ose, or Write
                                                                  -Information.
PSAvoidUsingWriteHost               Warning      Update-Elv 65    File 'Update-
                                                 UI.ps1           ElvUI.ps1' us
                                                                  es Write-Host
                                                                  . Avoid using
                                                                   Write-Host b
                                                                  ecause it mig
                                                                  ht not work i
                                                                  n all hosts,
                                                                  does not work
                                                                   when there i
                                                                  s no host, an
                                                                  d (prior to P
                                                                  S 5.0) cannot
                                                                   be suppresse
                                                                  d, captured,
                                                                  or redirected
                                                                  . Instead, us
                                                                  e Write-Outpu
                                                                  t, Write-Verb
                                                                  ose, or Write
                                                                  -Information.
PSAvoidUsingWriteHost               Warning      Update-Elv 67    File 'Update-
                                                 UI.ps1           ElvUI.ps1' us
                                                                  es Write-Host
                                                                  . Avoid using
                                                                   Write-Host b
                                                                  ecause it mig
                                                                  ht not work i
                                                                  n all hosts,
                                                                  does not work
                                                                   when there i
                                                                  s no host, an
                                                                  d (prior to P
                                                                  S 5.0) cannot
                                                                   be suppresse
                                                                  d, captured,
                                                                  or redirected
                                                                  . Instead, us
                                                                  e Write-Outpu
                                                                  t, Write-Verb
                                                                  ose, or Write
                                                                  -Information.
PSUseShouldProcessForStateChangingF Warning      Update-Elv 1     Function 'Upd
unctions                                         UI.ps1           ate-ElvUI' ha
                                                                  s verb that c
                                                                  ould change s
                                                                  ystem state.
                                                                  Therefore, th
                                                                  e function ha
                                                                  s to support
                                                                  'ShouldProces
                                                                  s'.

@MariusStorhaug Marius Storhaug (MariusStorhaug) changed the title 🚀 [Feature]: ElvUI addon installation and update from PowerShell 🌟 [Major]: ElvUI addon installation and update from PowerShell Apr 19, 2026
@github-actions
Copy link
Copy Markdown

Super-linter summary

Language Validation result
CHECKOV Pass ✅
GITHUB_ACTIONS Pass ✅
GITLEAKS Pass ✅
GIT_MERGE_CONFLICT_MARKERS Pass ✅
MARKDOWN Pass ✅
NATURAL_LANGUAGE Pass ✅
POWERSHELL Fail ❌
PRE_COMMIT Pass ✅
SPELL_CODESPELL Pass ✅
TRIVY Pass ✅
YAML Pass ✅

Super-linter detected linting errors

For more information, see the GitHub Actions workflow run

Powered by Super-linter

POWERSHELL

�[32;1mRuleName                           �[0m�[32;1m Severity    �[0m�[32;1m ScriptName�[0m�[32;1m Line �[0m�[32;1m Message�[0m
�[32;1m--------                           �[0m �[32;1m--------    �[0m �[32;1m----------�[0m �[32;1m---- �[0m �[32;1m-------�[0m
PSAvoidUsingPositionalParameters    Information  Get-TukuiI 36    Cmdlet 'Join-
                                                 nstalledVe       Path' has pos
                                                 rsion.ps1        itional param
                                                                  eter. Please
                                                                  use named par
                                                                  ameters inste
                                                                  ad of positio
                                                                  nal parameter
                                                                  s when callin
                                                                  g a command.
PSAvoidUsingPositionalParameters    Information  Get-TukuiI 37    Cmdlet 'Join-
                                                 nstalledVe       Path' has pos
                                                 rsion.ps1        itional param
                                                                  eter. Please
                                                                  use named par
                                                                  ameters inste
                                                                  ad of positio
                                                                  nal parameter
                                                                  s when callin
                                                                  g a command.


�[32;1mRuleName                           �[0m�[32;1m Severity    �[0m�[32;1m ScriptName�[0m�[32;1m Line �[0m�[32;1m Message�[0m
�[32;1m--------                           �[0m �[32;1m--------    �[0m �[32;1m----------�[0m �[32;1m---- �[0m �[32;1m-------�[0m
PSAvoidUsingPositionalParameters    Information  Get-WoWAdd 35    Cmdlet 'Join-
                                                 OnsPath.ps       Path' has pos
                                                 1                itional param
                                                                  eter. Please
                                                                  use named par
                                                                  ameters inste
                                                                  ad of positio
                                                                  nal parameter
                                                                  s when callin
                                                                  g a command.


�[32;1mRuleName                           �[0m�[32;1m Severity    �[0m�[32;1m ScriptName�[0m�[32;1m Line �[0m�[32;1m Message�[0m
�[32;1m--------                           �[0m �[32;1m--------    �[0m �[32;1m----------�[0m �[32;1m---- �[0m �[32;1m-------�[0m
PSAvoidUsingWriteHost               Warning      Install-Tu 37    File 'Install
                                                 kuiAddon.p       -TukuiAddon.p
                                                 s1               s1' uses Writ
                                                                  e-Host. Avoid
                                                                   using Write-
                                                                  Host because
                                                                  it might not
                                                                  work in all h
                                                                  osts, does no
                                                                  t work when t
                                                                  here is no ho
                                                                  st, and (prio
                                                                  r to PS 5.0)
                                                                  cannot be sup
                                                                  pressed, capt
                                                                  ured, or redi
                                                                  rected. Inste
                                                                  ad, use Write
                                                                  -Output, Writ
                                                                  e-Verbose, or
                                                                   Write-Inform
                                                                  ation.
PSAvoidUsingWriteHost               Warning      Install-Tu 42    File 'Install
                                                 kuiAddon.p       -TukuiAddon.p
                                                 s1               s1' uses Writ
                                                                  e-Host. Avoid
                                                                   using Write-
                                                                  Host because
                                                                  it might not
                                                                  work in all h
                                                                  osts, does no
                                                                  t work when t
                                                                  here is no ho
                                                                  st, and (prio
                                                                  r to PS 5.0)
                                                                  cannot be sup
                                                                  pressed, capt
                                                                  ured, or redi
                                                                  rected. Inste
                                                                  ad, use Write
                                                                  -Output, Writ
                                                                  e-Verbose, or
                                                                   Write-Inform
                                                                  ation.
PSAvoidUsingWriteHost               Warning      Install-Tu 49    File 'Install
                                                 kuiAddon.p       -TukuiAddon.p
                                                 s1               s1' uses Writ
                                                                  e-Host. Avoid
                                                                   using Write-
                                                                  Host because
                                                                  it might not
                                                                  work in all h
                                                                  osts, does no
                                                                  t work when t
                                                                  here is no ho
                                                                  st, and (prio
                                                                  r to PS 5.0)
                                                                  cannot be sup
                                                                  pressed, capt
                                                                  ured, or redi
                                                                  rected. Inste
                                                                  ad, use Write
                                                                  -Output, Writ
                                                                  e-Verbose, or
                                                                   Write-Inform
                                                                  ation.
PSAvoidUsingWriteHost               Warning      Install-Tu 58    File 'Install
                                                 kuiAddon.p       -TukuiAddon.p
                                                 s1               s1' uses Writ
                                                                  e-Host. Avoid
                                                                   using Write-
                                                                  Host because
                                                                  it might not
                                                                  work in all h
                                                                  osts, does no
                                                                  t work when t
                                                                  here is no ho
                                                                  st, and (prio
                                                                  r to PS 5.0)
                                                                  cannot be sup
                                                                  pressed, capt
                                                                  ured, or redi
                                                                  rected. Inste
                                                                  ad, use Write
                                                                  -Output, Writ
                                                                  e-Verbose, or
                                                                   Write-Inform
                                                                  ation.
PSAvoidUsingWriteHost               Warning      Install-Tu 62    File 'Install
                                                 kuiAddon.p       -TukuiAddon.p
                                                 s1               s1' uses Writ
                                                                  e-Host. Avoid
                                                                   using Write-
                                                                  Host because
                                                                  it might not
                                                                  work in all h
                                                                  osts, does no
                                                                  t work when t
                                                                  here is no ho
                                                                  st, and (prio
                                                                  r to PS 5.0)
                                                                  cannot be sup
                                                                  pressed, capt
                                                                  ured, or redi
                                                                  rected. Inste
                                                                  ad, use Write
                                                                  -Output, Writ
                                                                  e-Verbose, or
                                                                   Write-Inform
                                                                  ation.


�[32;1mRuleName                           �[0m�[32;1m Severity    �[0m�[32;1m ScriptName�[0m�[32;1m Line �[0m�[32;1m Message�[0m
�[32;1m--------                           �[0m �[32;1m--------    �[0m �[32;1m----------�[0m �[32;1m---- �[0m �[32;1m-------�[0m
PSAvoidUsingWriteHost               Warning      Install-El 41    File 'Install
                                                 vUI.ps1          -ElvUI.ps1' u
                                                                  ses Write-Hos
                                                                  t. Avoid usin
                                                                  g Write-Host
                                                                  because it mi
                                                                  ght not work
                                                                  in all hosts,
                                                                   does not wor
                                                                  k when there
                                                                  is no host, a
                                                                  nd (prior to
                                                                  PS 5.0) canno
                                                                  t be suppress
                                                                  ed, captured,
                                                                   or redirecte
                                                                  d. Instead, u
                                                                  se Write-Outp
                                                                  ut, Write-Ver
                                                                  bose, or Writ
                                                                  e-Information
                                                                  .


�[32;1mRuleName                           �[0m�[32;1m Severity    �[0m�[32;1m ScriptName�[0m�[32;1m Line �[0m�[32;1m Message�[0m
�[32;1m--------                           �[0m �[32;1m--------    �[0m �[32;1m----------�[0m �[32;1m---- �[0m �[32;1m-------�[0m
PSAvoidUsingWriteHost               Warning      Update-Elv 51    File 'Update-
                                                 UI.ps1           ElvUI.ps1' us
                                                                  es Write-Host
                                                                  . Avoid using
                                                                   Write-Host b
                                                                  ecause it mig
                                                                  ht not work i
                                                                  n all hosts,
                                                                  does not work
                                                                   when there i
                                                                  s no host, an
                                                                  d (prior to P
                                                                  S 5.0) cannot
                                                                   be suppresse
                                                                  d, captured,
                                                                  or redirected
                                                                  . Instead, us
                                                                  e Write-Outpu
                                                                  t, Write-Verb
                                                                  ose, or Write
                                                                  -Information.
PSAvoidUsingWriteHost               Warning      Update-Elv 53    File 'Update-
                                                 UI.ps1           ElvUI.ps1' us
                                                                  es Write-Host
                                                                  . Avoid using
                                                                   Write-Host b
                                                                  ecause it mig
                                                                  ht not work i
                                                                  n all hosts,
                                                                  does not work
                                                                   when there i
                                                                  s no host, an
                                                                  d (prior to P
                                                                  S 5.0) cannot
                                                                   be suppresse
                                                                  d, captured,
                                                                  or redirected
                                                                  . Instead, us
                                                                  e Write-Outpu
                                                                  t, Write-Verb
                                                                  ose, or Write
                                                                  -Information.
PSAvoidUsingWriteHost               Warning      Update-Elv 57    File 'Update-
                                                 UI.ps1           ElvUI.ps1' us
                                                                  es Write-Host
                                                                  . Avoid using
                                                                   Write-Host b
                                                                  ecause it mig
                                                                  ht not work i
                                                                  n all hosts,
                                                                  does not work
                                                                   when there i
                                                                  s no host, an
                                                                  d (prior to P
                                                                  S 5.0) cannot
                                                                   be suppresse
                                                                  d, captured,
                                                                  or redirected
                                                                  . Instead, us
                                                                  e Write-Outpu
                                                                  t, Write-Verb
                                                                  ose, or Write
                                                                  -Information.
PSAvoidUsingWriteHost               Warning      Update-Elv 60    File 'Update-
                                                 UI.ps1           ElvUI.ps1' us
                                                                  es Write-Host
                                                                  . Avoid using
                                                                   Write-Host b
                                                                  ecause it mig
                                                                  ht not work i
                                                                  n all hosts,
                                                                  does not work
                                                                   when there i
                                                                  s no host, an
                                                                  d (prior to P
                                                                  S 5.0) cannot
                                                                   be suppresse
                                                                  d, captured,
                                                                  or redirected
                                                                  . Instead, us
                                                                  e Write-Outpu
                                                                  t, Write-Verb
                                                                  ose, or Write
                                                                  -Information.
PSAvoidUsingWriteHost               Warning      Update-Elv 65    File 'Update-
                                                 UI.ps1           ElvUI.ps1' us
                                                                  es Write-Host
                                                                  . Avoid using
                                                                   Write-Host b
                                                                  ecause it mig
                                                                  ht not work i
                                                                  n all hosts,
                                                                  does not work
                                                                   when there i
                                                                  s no host, an
                                                                  d (prior to P
                                                                  S 5.0) cannot
                                                                   be suppresse
                                                                  d, captured,
                                                                  or redirected
                                                                  . Instead, us
                                                                  e Write-Outpu
                                                                  t, Write-Verb
                                                                  ose, or Write
                                                                  -Information.
PSAvoidUsingWriteHost               Warning      Update-Elv 67    File 'Update-
                                                 UI.ps1           ElvUI.ps1' us
                                                                  es Write-Host
                                                                  . Avoid using
                                                                   Write-Host b
                                                                  ecause it mig
                                                                  ht not work i
                                                                  n all hosts,
                                                                  does not work
                                                                   when there i
                                                                  s no host, an
                                                                  d (prior to P
                                                                  S 5.0) cannot
                                                                   be suppresse
                                                                  d, captured,
                                                                  or redirected
                                                                  . Instead, us
                                                                  e Write-Outpu
                                                                  t, Write-Verb
                                                                  ose, or Write
                                                                  -Information.
PSUseShouldProcessForStateChangingF Warning      Update-Elv 1     Function 'Upd
unctions                                         UI.ps1           ate-ElvUI' ha
                                                                  s verb that c
                                                                  ould change s
                                                                  ystem state.
                                                                  Therefore, th
                                                                  e function ha
                                                                  s to support
                                                                  'ShouldProces
                                                                  s'.

…te-Host with Write-Verbose, add ShouldProcess support
@github-actions
Copy link
Copy Markdown

Super-linter summary

Language Validation result
CHECKOV Pass ✅
GITHUB_ACTIONS Pass ✅
GITLEAKS Pass ✅
GIT_MERGE_CONFLICT_MARKERS Pass ✅
MARKDOWN Pass ✅
NATURAL_LANGUAGE Pass ✅
POWERSHELL Pass ✅
PRE_COMMIT Pass ✅
SPELL_CODESPELL Pass ✅
TRIVY Pass ✅
YAML Pass ✅

All files and directories linted successfully

For more information, see the GitHub Actions workflow run

Powered by Super-linter

@MariusStorhaug Marius Storhaug (MariusStorhaug) marked this pull request as ready for review April 19, 2026 20:45
Copilot AI review requested due to automatic review settings April 19, 2026 20:45
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-ElvUI and Update-ElvUI public 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.

Comment thread src/functions/private/Get-TukuiAddon.ps1 Outdated
Comment thread src/functions/private/Install-TukuiAddon.ps1 Outdated
Comment thread src/functions/private/Install-TukuiAddon.ps1 Outdated
Comment thread src/functions/private/Install-TukuiAddon.ps1 Outdated
@github-actions
Copy link
Copy Markdown

Super-linter summary

Language Validation result
CHECKOV Pass ✅
GITHUB_ACTIONS Pass ✅
GITLEAKS Pass ✅
GIT_MERGE_CONFLICT_MARKERS Pass ✅
MARKDOWN Pass ✅
NATURAL_LANGUAGE Pass ✅
POWERSHELL Pass ✅
PRE_COMMIT Pass ✅
SPELL_CODESPELL Pass ✅
TRIVY Pass ✅
YAML Pass ✅

All files and directories linted successfully

For more information, see the GitHub Actions workflow run

Powered by Super-linter

@github-actions
Copy link
Copy Markdown

Super-linter summary

Language Validation result
CHECKOV Pass ✅
GITHUB_ACTIONS Pass ✅
GITLEAKS Pass ✅
GIT_MERGE_CONFLICT_MARKERS Pass ✅
MARKDOWN Pass ✅
NATURAL_LANGUAGE Pass ✅
POWERSHELL Pass ✅
PRE_COMMIT Pass ✅
SPELL_CODESPELL Pass ✅
TRIVY Pass ✅
YAML Pass ✅

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
Copilot AI review requested due to automatic review settings April 19, 2026 21:41
@github-actions
Copy link
Copy Markdown

Super-linter summary

Language Validation result
CHECKOV Pass ✅
GITHUB_ACTIONS Pass ✅
GITLEAKS Pass ✅
GIT_MERGE_CONFLICT_MARKERS Pass ✅
MARKDOWN Pass ✅
NATURAL_LANGUAGE Pass ✅
POWERSHELL Pass ✅
PRE_COMMIT Pass ✅
SPELL_CODESPELL Pass ✅
TRIVY Pass ✅
YAML Pass ✅

All files and directories linted successfully

For more information, see the GitHub Actions workflow run

Powered by Super-linter

@github-actions
Copy link
Copy Markdown

✅ New prerelease: PowerShell Gallery - ElvUI 1.0.0-feature3addelvuiaddonmanagement001

@github-actions
Copy link
Copy Markdown

✅ New prerelease: GitHub - ElvUI v1.0.0-feature3addelvuiaddonmanagement001

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread src/functions/public/Update-ElvUI.ps1
Comment thread src/functions/private/Install-TukuiAddon.ps1 Outdated
Comment thread src/functions/private/Install-TukuiAddon.ps1 Outdated
Comment thread tests/ElvUI.Tests.ps1
@github-actions
Copy link
Copy Markdown

Super-linter summary

Language Validation result
CHECKOV Pass ✅
GITHUB_ACTIONS Pass ✅
GITLEAKS Pass ✅
GIT_MERGE_CONFLICT_MARKERS Pass ✅
MARKDOWN Pass ✅
NATURAL_LANGUAGE Pass ✅
POWERSHELL Fail ❌
PRE_COMMIT Pass ✅
SPELL_CODESPELL Pass ✅
TRIVY Pass ✅
YAML Pass ✅

Super-linter detected linting errors

For more information, see the GitHub Actions workflow run

Powered by Super-linter

POWERSHELL

�[32;1mRuleName                           �[0m�[32;1m Severity    �[0m�[32;1m ScriptName�[0m�[32;1m Line �[0m�[32;1m Message�[0m
�[32;1m--------                           �[0m �[32;1m--------    �[0m �[32;1m----------�[0m �[32;1m---- �[0m �[32;1m-------�[0m
PSAvoidLongLines                    Warning      Install-Tu 47    Line exceeds
                                                 kuiAddon.p       the configure
                                                 s1               d maximum len
                                                                  gth of 150 ch
                                                                  aracters


�[32;1mRuleName                           �[0m�[32;1m Severity    �[0m�[32;1m ScriptName�[0m�[32;1m Line �[0m�[32;1m Message�[0m
�[32;1m--------                           �[0m �[32;1m--------    �[0m �[32;1m----------�[0m �[32;1m---- �[0m �[32;1m-------�[0m
PSUseConsistentIndentation          Warning      Update-Elv 63    Indentation n
                                                 UI.ps1           ot consistent
PSUseConsistentIndentation          Warning      Update-Elv 64    Indentation n
                                                 UI.ps1           ot consistent

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread src/functions/public/Update-ElvUI.ps1 Outdated
Comment thread src/functions/private/Get-WoWAddOnsPath.ps1 Outdated
Comment thread src/functions/private/Get-TukuiInstalledVersion.ps1 Outdated
Comment thread src/functions/private/Get-TukuiInstalledVersion.ps1 Outdated
…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
@github-actions
Copy link
Copy Markdown

Super-linter summary

Language Validation result
CHECKOV Pass ✅
GITHUB_ACTIONS Pass ✅
GITLEAKS Pass ✅
GIT_MERGE_CONFLICT_MARKERS Pass ✅
MARKDOWN Pass ✅
NATURAL_LANGUAGE Pass ✅
POWERSHELL Pass ✅
PRE_COMMIT Pass ✅
SPELL_CODESPELL Pass ✅
TRIVY Pass ✅
YAML Pass ✅

All files and directories linted successfully

For more information, see the GitHub Actions workflow run

Powered by Super-linter

@github-actions
Copy link
Copy Markdown

✅ New prerelease: PowerShell Gallery - ElvUI 1.0.0-feature3addelvuiaddonmanagement002

@github-actions
Copy link
Copy Markdown

✅ New prerelease: GitHub - ElvUI v1.0.0-feature3addelvuiaddonmanagement002

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread src/functions/private/Install-TukuiAddon.ps1 Outdated
Comment thread src/functions/private/Install-TukuiAddon.ps1 Outdated
Comment thread README.md
…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)
@github-actions
Copy link
Copy Markdown

Super-linter summary

Language Validation result
CHECKOV Pass ✅
GITHUB_ACTIONS Pass ✅
GITLEAKS Pass ✅
GIT_MERGE_CONFLICT_MARKERS Pass ✅
MARKDOWN Pass ✅
NATURAL_LANGUAGE Pass ✅
POWERSHELL Pass ✅
PRE_COMMIT Pass ✅
SPELL_CODESPELL Pass ✅
TRIVY Pass ✅
YAML Pass ✅

All files and directories linted successfully

For more information, see the GitHub Actions workflow run

Powered by Super-linter

@github-actions
Copy link
Copy Markdown

✅ New prerelease: PowerShell Gallery - ElvUI 1.0.0-feature3addelvuiaddonmanagement003

@github-actions
Copy link
Copy Markdown

✅ New prerelease: GitHub - ElvUI v1.0.0-feature3addelvuiaddonmanagement003

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@github-actions
Copy link
Copy Markdown

Super-linter summary

Language Validation result
CHECKOV Pass ✅
GITHUB_ACTIONS Pass ✅
GITLEAKS Pass ✅
GIT_MERGE_CONFLICT_MARKERS Pass ✅
MARKDOWN Pass ✅
NATURAL_LANGUAGE Pass ✅
POWERSHELL Pass ✅
PRE_COMMIT Pass ✅
SPELL_CODESPELL Pass ✅
TRIVY Pass ✅
YAML Pass ✅

All files and directories linted successfully

For more information, see the GitHub Actions workflow run

Powered by Super-linter

@github-actions
Copy link
Copy Markdown

✅ New prerelease: PowerShell Gallery - ElvUI 1.0.0-feature3addelvuiaddonmanagement004

@github-actions
Copy link
Copy Markdown

✅ New prerelease: GitHub - ElvUI v1.0.0-feature3addelvuiaddonmanagement004

@MariusStorhaug Marius Storhaug (MariusStorhaug) merged commit 892a682 into main Apr 20, 2026
43 checks passed
@github-actions
Copy link
Copy Markdown

✅ New release: PowerShell Gallery - ElvUI 1.0.0

@github-actions
Copy link
Copy Markdown

✅ New release: GitHub - ElvUI v1.0.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add ElvUI addon management functions

2 participants