Files
ForgeFlow/update-windows.ps1
T
2026-07-24 20:29:23 +02:00

51 lines
1.5 KiB
PowerShell

$ErrorActionPreference = "Stop"
Set-StrictMode -Version Latest
Set-Location $PSScriptRoot
function Assert-Command {
param([Parameter(Mandatory = $true)][string]$Name)
if (-not (Get-Command $Name -ErrorAction SilentlyContinue)) {
throw "Required command '$Name' was not found on PATH."
}
}
function Invoke-Step {
param(
[Parameter(Mandatory = $true)][string]$Title,
[Parameter(Mandatory = $true)][scriptblock]$Action
)
Write-Host "`n$Title" -ForegroundColor Yellow
& $Action
if ($LASTEXITCODE -ne 0) {
throw "$Title failed with exit code $LASTEXITCODE."
}
}
Write-Host "ForgeFlow v0.4.2 source update" -ForegroundColor Cyan
Write-Host "Your Gitea token, repository mappings and deployment profiles are stored outside this source folder and are not reset." -ForegroundColor DarkGray
Assert-Command node
Assert-Command npm
Assert-Command git
$package = Get-Content ".\package.json" -Raw | ConvertFrom-Json
if ($package.version -ne "0.4.2") {
throw "This folder does not contain ForgeFlow v0.4.2. Detected version: $($package.version)"
}
Invoke-Step "Updating project dependencies..." {
npm install --no-audit --no-fund
}
Invoke-Step "Running the environment doctor..." {
npm run doctor
}
Invoke-Step "Running source verification and all automated tests..." {
npm run check
}
Write-Host "`nForgeFlow v0.4.2 is ready." -ForegroundColor Green
Write-Host "Starting ForgeFlow with your existing local configuration..." -ForegroundColor Green
npm start