Files
Pennyzo-Frontend-corrected/scripts/set-env.ps1
Hardik Sankhla b7247f21a3 feat: Complete Pennyzo frontend with live waitlist tracking
- Live waitlist integration with backend API
- Real-time polling every 60 seconds
- Comprehensive API logging and error handling
- WaitlistContext for global state management
- Responsive UI with live data updates
- Registration form with automatic waitlist refresh
- Modern React/TypeScript architecture
- Tailwind CSS styling with luxury theme
2025-09-26 04:25:47 +05:30

110 lines
3.3 KiB
PowerShell

#!/usr/bin/env powershell
# Environment Configuration Helper Script
# This script helps you switch between development and production API endpoints
param(
[Parameter(Mandatory = $false)]
[ValidateSet("dev", "development", "prod", "production", "local")]
[string]$Environment = "dev",
[switch]$Show
)
$EnvFile = ".env"
$EnvExampleFile = ".env.example"
function Show-CurrentConfig {
Write-Host "Current Environment Configuration:" -ForegroundColor Green
Write-Host "=================================" -ForegroundColor Green
if (Test-Path $EnvFile) {
$content = Get-Content $EnvFile
foreach ($line in $content) {
if ($line -match "VITE_API_BASE_URL=(.+)") {
Write-Host "API Base URL: " -NoNewline -ForegroundColor Yellow
Write-Host $matches[1] -ForegroundColor White
}
if ($line -match "NODE_ENV=(.+)") {
Write-Host "Node Environment: " -NoNewline -ForegroundColor Yellow
Write-Host $matches[1] -ForegroundColor White
}
}
}
else {
Write-Host "No .env file found. Using default configuration." -ForegroundColor Red
Write-Host "API Base URL: " -NoNewline -ForegroundColor Yellow
Write-Host "http://localhost:8000 (development default)" -ForegroundColor White
}
Write-Host ""
}
function Set-Environment {
param([string]$Env)
$apiUrl = ""
$nodeEnv = ""
switch ($Env.ToLower()) {
{ $_ -in @("dev", "development", "local") } {
$apiUrl = "http://localhost:8000"
$nodeEnv = "development"
Write-Host "Configuring for DEVELOPMENT environment..." -ForegroundColor Green
}
{ $_ -in @("prod", "production") } {
$apiUrl = "https://api.pennyzo.com/api/v1/general"
$nodeEnv = "production"
Write-Host "Configuring for PRODUCTION environment..." -ForegroundColor Green
}
default {
Write-Host "Unknown environment: $Env" -ForegroundColor Red
return
}
}
# Create .env content
$debugValue = if ($nodeEnv -eq "development") { "true" } else { "false" }
$logLevel = if ($nodeEnv -eq "development") { "INFO" } else { "WARN" }
$envContent = @"
# Environment Configuration - Auto-generated
# Generated on: $(Get-Date -Format "yyyy-MM-dd HH:mm:ss")
# API Base URL
VITE_API_BASE_URL=$apiUrl
# Environment
NODE_ENV=$nodeEnv
# Debug settings
DEBUG=$debugValue
LOG_LEVEL=$logLevel
# API Status Checker Credentials (optional)
# PENNYZO_TEST_EMAIL=your-test-email@example.com
# PENNYZO_TEST_PASSWORD=your-test-password
"@
# Write to .env file
$envContent | Out-File -FilePath $EnvFile -Encoding UTF8
Write-Host "Environment configured successfully!" -ForegroundColor Green
Write-Host "API Base URL set to: " -NoNewline -ForegroundColor Yellow
Write-Host $apiUrl -ForegroundColor White
Write-Host ""
}
# Main execution
if ($Show) {
Show-CurrentConfig
}
else {
Set-Environment -Env $Environment
Show-CurrentConfig
Write-Host "Usage Examples:" -ForegroundColor Cyan
Write-Host " .\scripts\set-env.ps1 dev # Set development environment" -ForegroundColor Gray
Write-Host " .\scripts\set-env.ps1 prod # Set production environment" -ForegroundColor Gray
Write-Host " .\scripts\set-env.ps1 -Show # Show current configuration" -ForegroundColor Gray
Write-Host ""
Write-Host "Restart your development server for changes to take effect." -ForegroundColor Yellow
}