[CmdletBinding()]
param(
    [Parameter(Mandatory)][ValidateNotNullOrEmpty()][string]$ModuleTag
)

Write-Host "Checking module file existence..."
$modulesSrcPath = Join-Path $PSScriptRoot "../src/$($ModuleTag)"
$moduleFile = Get-ChildItem -Path $modulesSrcPath -Filter "*.elx" -ErrorAction Stop | Select-Object -First 1
if (-not $moduleFile) {
    Write-Error "No .elx file found in '$modulesSrcPath'."
    exit 1
}
Write-Host "Module file found: '$($moduleFile.FullName)'" -ForegroundColor Cyan
Write-Host "Extracting ELX internals for module tag '$($moduleFile.FullName)'..."

Import-Module $(Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) "extract-elx-module.psm1") -Force

Save-ElxInternals -ModulePath $moduleFile.FullName

Write-Host "ELX internals extracted successfully!" -ForegroundColor Green
