$ErrorActionPreference = 'Stop' $root = Split-Path -Parent $PSScriptRoot function Read-Utf8([string]$Path) { [System.IO.File]::ReadAllText((Join-Path $root $Path), [System.Text.Encoding]::UTF8) } function Assert-Match([string]$Content, [string]$Pattern, [string]$Message) { if ($Content -notmatch $Pattern) { throw $Message } } $button = Read-Utf8 'components/AppButton.vue' $header = Read-Utf8 'components/PageHeader.vue' $card = Read-Utf8 'components/GenealogyCard.vue' $dialog = Read-Utf8 'components/AppDialog.vue' $loading = Read-Utf8 'components/AppLoading.vue' $toast = Read-Utf8 'components/AppToast.vue' if ($button -match '(?im)(?