Files
checklist/frontend/update-version.ps1
ronalds a692948a6f Sistema de Actualización PWA Implementado (v1.0.87)
Frontend (v1.0.87)
Service Worker (public/service-worker.js)
 Cache versionado dinámico: ayutec-v1.0.87
 Estrategia Network-First con fallback a cache
 Auto-limpieza de caches antiguos en activación
 Skip waiting para activación inmediata
 Soporte para mensaje SKIP_WAITING desde cliente
Detección de Actualizaciones (App.jsx)
 Registro automático de Service Worker
 Listener de updatefound para detectar nuevas versiones
 Listener de controllerchange para recarga automática
 Estado updateAvailable y waitingWorker
Modal de Actualización
 Diseño grande y llamativo con animación bounce
 Overlay bloqueante (z-index 9999, no se puede cerrar)
 Botón enorme: "🚀 ACTUALIZAR AHORA"
 Gradiente indigo/purple, responsive
 Texto claro: "Nueva versión disponible"
 Recarga automática al actualizar
PWA Manifest (site.webmanifest)
 Agregado start_url y scope
 Configurado orientation: portrait
 Display standalone para app nativa
HTML Metatags (index.html)
 theme-color para barra de navegación
 apple-mobile-web-app-capable para iOS
 mobile-web-app-capable para Android
 Viewport con user-scalable=no para PWA
Automatización
 Script PowerShell update-version.ps1:
Incrementa versión automáticamente (patch)
Actualiza package.json
Actualiza service-worker.js
Sincroniza ambos archivos
 Guía completa PWA-UPDATE-GUIDE.md
Flujo de Actualización
Desarrollador ejecuta update-version.ps1
Build y deploy de nueva versión
Usuario abre la app
Service Worker detecta nueva versión
Modal aparece automáticamente bloqueando UI
Usuario presiona "ACTUALIZAR AHORA"
Service Worker se activa
Página se recarga automáticamente
Usuario usa nueva versión
Backend (v1.0.84)
Sin cambios
Ahora la PWA se actualiza automáticamente mostrando un modal imposible de ignorar! 🚀📱
2025-11-30 23:11:33 -03:00

42 lines
1.7 KiB
PowerShell

# Script para actualizar la versión del frontend y service worker automáticamente
Write-Host "🔄 Actualizando versión del frontend..." -ForegroundColor Cyan
# Leer package.json
$packageJson = Get-Content "package.json" -Raw | ConvertFrom-Json
$currentVersion = $packageJson.version
Write-Host "📦 Versión actual: $currentVersion" -ForegroundColor Yellow
# Separar versión en partes (major.minor.patch)
$versionParts = $currentVersion -split '\.'
$major = [int]$versionParts[0]
$minor = [int]$versionParts[1]
$patch = [int]$versionParts[2]
# Incrementar patch
$patch++
$newVersion = "$major.$minor.$patch"
Write-Host "✨ Nueva versión: $newVersion" -ForegroundColor Green
# Actualizar package.json
$packageJsonContent = Get-Content "package.json" -Raw
$packageJsonContent = $packageJsonContent -replace """version"": ""$currentVersion""", """version"": ""$newVersion"""
Set-Content "package.json" -Value $packageJsonContent -NoNewline
Write-Host "✅ package.json actualizado" -ForegroundColor Green
# Actualizar service-worker.js
$swPath = "public\service-worker.js"
$swContent = Get-Content $swPath -Raw
$swContent = $swContent -replace "ayutec-v$currentVersion", "ayutec-v$newVersion"
Set-Content $swPath -Value $swContent -NoNewline
Write-Host "✅ service-worker.js actualizado" -ForegroundColor Green
Write-Host ""
Write-Host "🎉 Versión actualizada exitosamente a: $newVersion" -ForegroundColor Magenta
Write-Host ""
Write-Host "📝 Recuerda hacer commit de los cambios:" -ForegroundColor Yellow
Write-Host " git add package.json public/service-worker.js" -ForegroundColor Gray
Write-Host " git commit -m 'chore: bump version to $newVersion'" -ForegroundColor Gray