Skip to content

Commit 892a682

Browse files
🌟 [Major]: ElvUI addon installation and update from PowerShell (#4)
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). - Fixes #3 ## New: Install ElvUI from PowerShell `Install-ElvUI` downloads the latest ElvUI release from the [Tukui API](https://api.tukui.org/v1/addons) and installs it to the WoW AddOns folder. ```powershell 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. ```powershell 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 #3 completed (remove placeholders, create private functions, create public functions, clean up data files, update README)
1 parent a3810b2 commit 892a682

41 files changed

Lines changed: 504 additions & 659 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

β€ŽREADME.mdβ€Ž

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,60 @@
1-
# {{ NAME }}
1+
# ElvUI
22

3-
{{ DESCRIPTION }}
3+
A PowerShell module for installing and updating the [ElvUI](https://www.tukui.org/elvui) addon
4+
for [World of Warcraft](https://worldofwarcraft.blizzard.com/).
45

56
## Prerequisites
67

7-
This uses the following external resources:
8+
- Windows PowerShell 5.1 or PowerShell 7+
9+
- A World of Warcraft installation
810
- The [PSModule framework](https://github.com/PSModule/Process-PSModule) for building, testing and publishing the module.
911

1012
## Installation
1113

12-
To install the module from the PowerShell Gallery, you can use the following command:
14+
To install the module from the PowerShell Gallery:
1315

1416
```powershell
15-
Install-PSResource -Name {{ NAME }}
16-
Import-Module -Name {{ NAME }}
17+
# PowerShell 7.4+ (Install-PSResource is built-in)
18+
Install-PSResource -Name ElvUI
19+
Import-Module -Name ElvUI
20+
21+
# Windows PowerShell 5.1 (use Install-Module instead)
22+
Install-Module -Name ElvUI -Scope CurrentUser
23+
Import-Module -Name ElvUI
1724
```
1825

1926
## Usage
2027

21-
Here is a list of example that are typical use cases for the module.
28+
### Update ElvUI to the latest version
2229

23-
### Example 1: Greet an entity
30+
```powershell
31+
Update-ElvUI
32+
```
2433

25-
Provide examples for typical commands that a user would like to do with the module.
34+
### Force reinstall even if already up to date
2635

2736
```powershell
28-
Greet-Entity -Name 'World'
29-
Hello, World!
37+
Update-ElvUI -Force
3038
```
3139

32-
### Example 2
40+
### Install ElvUI fresh
41+
42+
```powershell
43+
Install-ElvUI
44+
```
3345

34-
Provide examples for typical commands that a user would like to do with the module.
46+
### Target a different WoW installation or flavor
3547

3648
```powershell
37-
Import-Module -Name PSModuleTemplate
49+
Update-ElvUI -WoWPath 'D:\Games\World of Warcraft' -Flavor '_classic_'
3850
```
3951

4052
### Find more examples
4153

4254
To find more examples of how to use the module, please refer to the [examples](examples) folder.
4355

44-
Alternatively, you can use the Get-Command -Module 'This module' to find more commands that are available in the module.
45-
To find examples of each of the commands you can use Get-Help -Examples 'CommandName'.
46-
47-
## Documentation
48-
49-
Link to further documentation if available, or describe where in the repository users can find more detailed documentation about
50-
the module's functions and features.
56+
You can also use `Get-Command -Module ElvUI` to list available commands,
57+
and `Get-Help -Examples <CommandName>` to see usage examples for each.
5158

5259
## Contributing
5360

@@ -63,7 +70,3 @@ Please see the issues tab on this project and submit a new issue that matches yo
6370

6471
If you do code, we'd love to have your contributions. Please read the [Contribution guidelines](CONTRIBUTING.md) for more information.
6572
You can either help by picking up an existing issue or submit a new one if you have an idea for a new feature or improvement.
66-
67-
## Acknowledgements
68-
69-
Here is a list of people and projects that helped this project in some way.

β€Žexamples/General.ps1β€Ž

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
<#
2-
.SYNOPSIS
3-
This is a general example of how to use the module.
2+
.SYNOPSIS
3+
Examples of how to use the ElvUI module.
44
#>
55

66
# Import the module
7-
Import-Module -Name 'PSModule'
7+
Import-Module -Name ElvUI
88

9-
# Define the path to the font file
10-
$FontFilePath = 'C:\Fonts\CodeNewRoman\CodeNewRomanNerdFontPropo-Regular.tff'
9+
# Update ElvUI to the latest version
10+
Update-ElvUI
1111

12-
# Install the font
13-
Install-Font -Path $FontFilePath -Verbose
12+
# Force reinstall even if already up to date
13+
Update-ElvUI -Force
1414

15-
# List installed fonts
16-
Get-Font -Name 'CodeNewRomanNerdFontPropo-Regular'
15+
# Install ElvUI fresh
16+
Install-ElvUI
1717

18-
# Uninstall the font
19-
Get-Font -Name 'CodeNewRomanNerdFontPropo-Regular' | Uninstall-Font -Verbose
18+
# Target a specific WoW installation and game flavor
19+
Update-ElvUI -WoWPath 'D:\Games\World of Warcraft' -Flavor '_classic_'

β€Žsrc/README.mdβ€Ž

Lines changed: 0 additions & 3 deletions
This file was deleted.

β€Žsrc/assemblies/LsonLib.dllβ€Ž

-42.5 KB
Binary file not shown.

β€Žsrc/classes/private/SecretWriter.ps1β€Ž

Lines changed: 0 additions & 15 deletions
This file was deleted.

β€Žsrc/classes/public/Book.ps1β€Ž

Lines changed: 0 additions & 147 deletions
This file was deleted.

β€Žsrc/data/Config.psd1β€Ž

Lines changed: 0 additions & 3 deletions
This file was deleted.

β€Žsrc/data/Settings.psd1β€Ž

Lines changed: 0 additions & 3 deletions
This file was deleted.

β€Žsrc/finally.ps1β€Ž

Lines changed: 0 additions & 3 deletions
This file was deleted.

β€Žsrc/formats/CultureInfo.Format.ps1xmlβ€Ž

Lines changed: 0 additions & 37 deletions
This file was deleted.

0 commit comments

Comments
Β (0)