mirror of
https://github.com/System-End/My-website.git
synced 2026-04-19 23:22:50 +00:00
86 lines
No EOL
2.5 KiB
PowerShell
86 lines
No EOL
2.5 KiB
PowerShell
# dev.ps1
|
|
#Requires -Version 5.1
|
|
Set-StrictMode -Version Latest
|
|
$ErrorActionPreference = 'Stop'
|
|
|
|
function Write-Status {
|
|
param(
|
|
[string]$Message,
|
|
[string]$Type = "Info"
|
|
)
|
|
|
|
$colors = @{
|
|
Info = "Cyan"
|
|
Success = "Green"
|
|
Warning = "Yellow"
|
|
Error = "Red"
|
|
}
|
|
|
|
$prefix = switch ($Type) {
|
|
"Success" { "[+]" }
|
|
"Error" { "[-]" }
|
|
"Warning" { "[!]" }
|
|
"Info" { "[*]" }
|
|
}
|
|
|
|
Write-Host "$prefix $Message" -ForegroundColor $colors[$Type]
|
|
}
|
|
|
|
function Start-Development {
|
|
try {
|
|
# Create logs directory if it doesn't exist
|
|
if (-not (Test-Path "logs")) {
|
|
New-Item -ItemType Directory -Path "logs"
|
|
}
|
|
|
|
# Start log file
|
|
$timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
|
|
$logFile = "logs/dev_$timestamp.log"
|
|
Start-Transcript -Path $logFile
|
|
|
|
# Check for running processes on ports 3000 and 8787
|
|
$port3000 = Get-NetTCPConnection -LocalPort 3000 -ErrorAction SilentlyContinue
|
|
$port8787 = Get-NetTCPConnection -LocalPort 8787 -ErrorAction SilentlyContinue
|
|
|
|
if ($port3000) {
|
|
Write-Status "Killing process using port 3000..." "Warning"
|
|
Stop-Process -Id (Get-Process -Id $port3000.OwningProcess).Id -Force
|
|
}
|
|
|
|
if ($port8787) {
|
|
Write-Status "Killing process using port 8787..." "Warning"
|
|
Stop-Process -Id (Get-Process -Id $port8787.OwningProcess).Id -Force
|
|
}
|
|
|
|
# Start Vite and Wrangler in separate windows
|
|
Write-Status "Starting development servers..." "Info"
|
|
|
|
# Start Vite
|
|
$viteWindow = Start-Process powershell -ArgumentList "-NoExit", "-Command", "npm run dev" -PassThru
|
|
|
|
|
|
Write-Status "Development servers started successfully!" "Success"
|
|
Write-Status "Vite running on: http://localhost:3000" "Info"
|
|
Write-Status "Log file: $logFile" "Info"
|
|
|
|
# Wait for user input to stop servers
|
|
Write-Host "`nPress any key to stop the development servers..." -ForegroundColor Yellow
|
|
$null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
|
|
|
|
# Stop the servers
|
|
if ($viteWindow) { Stop-Process -Id $viteWindow.Id -Force }
|
|
|
|
Write-Status "Development servers stopped" "Success"
|
|
}
|
|
catch {
|
|
Write-Status "Error during development: $_" "Error"
|
|
if ($viteWindow) { Stop-Process -Id $viteWindow.Id -Force }
|
|
exit 1
|
|
}
|
|
finally {
|
|
Stop-Transcript
|
|
}
|
|
}
|
|
|
|
# Run the development environment
|
|
Start-Development |