Release ForgeFlow 0.8.1
Add advanced Git and deployment workflows, secure backups and auditing, live Gitea integration, desktop notifications, connection validation, and the premium responsive UX refresh.
This commit is contained in:
+15
-30
@@ -10,18 +10,17 @@ function Assert-Command {
|
||||
}
|
||||
|
||||
function Invoke-Step {
|
||||
param(
|
||||
[Parameter(Mandatory = $true)][string]$Title,
|
||||
[Parameter(Mandatory = $true)][scriptblock]$Action
|
||||
)
|
||||
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."
|
||||
}
|
||||
if ($LASTEXITCODE -ne 0) { throw "$Title failed with exit code $LASTEXITCODE." }
|
||||
}
|
||||
|
||||
Write-Host "ForgeFlow v0.4.2 self-service setup" -ForegroundColor Cyan
|
||||
$package = Get-Content ".\package.json" -Raw | ConvertFrom-Json
|
||||
$version = [string]$package.version
|
||||
if ($package.name -ne "forgeflow" -or [string]::IsNullOrWhiteSpace($version)) { throw "This folder is not a valid ForgeFlow source release." }
|
||||
|
||||
Write-Host "ForgeFlow v$version self-service setup" -ForegroundColor Cyan
|
||||
Write-Host "No Gitea token, SSH key or server password is requested by this script." -ForegroundColor DarkGray
|
||||
|
||||
Assert-Command node
|
||||
@@ -30,33 +29,19 @@ Assert-Command git
|
||||
|
||||
$nodeVersionText = (node --version).Trim()
|
||||
$nodeMajor = [int]($nodeVersionText.TrimStart('v').Split('.')[0])
|
||||
if ($nodeMajor -lt 22) {
|
||||
throw "Node.js 22 or newer is required. Detected: $nodeVersionText"
|
||||
}
|
||||
if ($nodeMajor -lt 22) { throw "Node.js 22 or newer is required. Detected: $nodeVersionText" }
|
||||
|
||||
Write-Host "Node: $nodeVersionText" -ForegroundColor DarkGray
|
||||
Write-Host "npm: $((npm --version).Trim())" -ForegroundColor DarkGray
|
||||
Write-Host "Git: $((git --version).Trim())" -ForegroundColor DarkGray
|
||||
|
||||
Invoke-Step "Installing project dependencies..." {
|
||||
if (Test-Path ".\package-lock.json") {
|
||||
npm ci --no-audit --no-fund
|
||||
} else {
|
||||
Write-Host "No package-lock.json is present; installing the pinned top-level dependency versions." -ForegroundColor DarkGray
|
||||
npm install --no-audit --no-fund
|
||||
}
|
||||
Invoke-Step "Installing exact project dependencies..." {
|
||||
if (-not (Test-Path ".\package-lock.json")) { throw "package-lock.json is required for a reproducible ForgeFlow installation." }
|
||||
npm ci --no-audit --no-fund
|
||||
}
|
||||
Invoke-Step "Running the environment doctor..." { npm run doctor }
|
||||
Invoke-Step "Running source verification and automated tests..." { npm run check }
|
||||
|
||||
Invoke-Step "Running the environment doctor..." {
|
||||
npm run doctor
|
||||
}
|
||||
|
||||
Invoke-Step "Running source verification and automated tests..." {
|
||||
npm run check
|
||||
}
|
||||
|
||||
Write-Host "`nAll local checks passed." -ForegroundColor Green
|
||||
Write-Host "ForgeFlow will now open the five-step setup wizard." -ForegroundColor Green
|
||||
Write-Host "Enter credentials only inside the local ForgeFlow password field." -ForegroundColor DarkGray
|
||||
|
||||
Write-Host "`nForgeFlow v$version is ready." -ForegroundColor Green
|
||||
Write-Host "Starting ForgeFlow with your existing local configuration..." -ForegroundColor Green
|
||||
npm start
|
||||
|
||||
Reference in New Issue
Block a user