whatalo dev
Inicia el desarrollo local con un túnel en vivo — tu plugin aparece en la barra lateral del admin de Whatalo de inmediato.
Sintaxis
whatalo dev [opciones]Opciones
| Flag | Corto | Tipo | Por defecto | Descripción |
|---|---|---|---|---|
--store <slug> | -s | string | caché | Tienda de desarrollo a conectar |
--tunnel-url <url> | — | string | — | Usar tu propia URL de túnel en lugar de cloudflared |
--no-tunnel | — | boolean | — | Usar localhost directamente (sin túnel) |
--port <number> | -p | string | desde config | Sobreescribir el puerto local dev |
--reset | — | boolean | — | Forzar re-selección de tienda de desarrollo |
--verbose | -v | boolean | — | Mostrar stdout/stderr del servidor dev |
--portal-url <url> | — | string | — | URL del Portal del Desarrollador |
Secuencia de inicio
Cuando ejecutas whatalo dev, los siguientes pasos se ejecutan en orden:
- Leer config — Carga
whatalo.app.tomldel directorio actual (requerido) - Autenticar — Verifica la sesión; ejecuta auto-login si es necesario
- Cargar manifiesto — Lee
whatalo.app.tsvía esbuild para extraer las páginas, permisos y URLs del plugin - Seleccionar tienda dev — Flag
--store→ tienda en caché → auto-selección → prompt interactivo - Iniciar servidor dev — Ejecuta el comando definido en
build.dev_commanden tuwhatalo.app.toml; espera hasta 30 segundos hasta que esté listo - Crear túnel — Descarga e inicia cloudflared automáticamente (a menos que se use
--tunnel-urlo--no-tunnel); extrae la URL*.trycloudflare.com - Registrar sesión dev — Envía
POST /api/dev-sessionscon tu manifiesto y URL del túnel - Mostrar consola dev — Imprime todas las URLs y atajos de teclado
Consola de desarrollo
Una vez en ejecución, la consola muestra:
Plugin: Mi Plugin
Tienda: mi-tienda-dev
Local: http://localhost:5173
Túnel: https://xxx.trycloudflare.com
Presiona p para abrir preview, r para reiniciar, q para salirAtajos de teclado (solo TTY)
| Tecla | Acción |
|---|---|
p | Abrir URL de preview en el navegador |
r | Reiniciar el servidor dev |
q o Ctrl+C | Detener todo y limpiar |
Procesos en segundo plano
Mientras whatalo dev está en ejecución, tres tareas en segundo plano mantienen la sesión activa y sincronizada:
| Tarea | Intervalo | Qué hace |
|---|---|---|
| Heartbeat | Cada 30 minutos | PATCH /api/dev-sessions/{id} para mantener la sesión viva |
| Watcher de config | Al cambiar el archivo | Recarga whatalo.app.toml cuando lo guardas |
| Watcher de manifiesto | Al cambiar el archivo | Recarga whatalo.app.ts y sincroniza cambios al portal (hot-reload) |
Detalles de la sesión dev
Se crea una instalación temporal del plugin para tu tienda de desarrollo con status: 'development'. Esto hace que tu plugin sea visible en la barra lateral del admin de inmediato, sin pasar por el proceso de revisión.
| Propiedad | Valor |
|---|---|
| Duración de sesión | Hasta 8 horas |
| Tiempo de vida absoluto | 72 horas |
| Visible en sidebar | Sí (pinned_to_sidebar: true) |
appUrl del manifiesto | Configurado automáticamente a tu URL de túnel |
webhookUrl del manifiesto | Configurado automáticamente a {tunnelUrl}/webhooks/whatalo |
La sesión dev se elimina cuando sales de whatalo dev, lo que también remueve el plugin de la barra lateral.
Modos de túnel
Por defecto — cloudflared (recomendado)
cloudflared se descarga automáticamente en ~/.whatalo/bin/cloudflared en el primer uso. Plataformas compatibles:
- macOS (Intel y Apple Silicon)
- Linux (x86-64 y ARM64)
Túnel personalizado (--tunnel-url)
Usa tu propio proveedor de túnel (ngrok, localtunnel, o cualquier URL HTTPS):
whatalo dev --tunnel-url https://tu-tunel.ejemplo.comSin túnel (--no-tunnel)
Usa localhost directamente. El plugin cargará en tu navegador, pero el admin de Whatalo (en un dominio diferente) no podrá acceder a tu iframe a menos que ambos estén en la misma máquina.
whatalo dev --no-tunnelEjemplos
Iniciar con una tienda dev específica:
whatalo dev --store mi-tienda-slugUsar un puerto personalizado y mostrar la salida del servidor dev:
whatalo dev --port 3000 --verboseUsar tu propio túnel ngrok:
whatalo dev --tunnel-url https://abcd-1234.ngrok.ioForzar la re-selección de la tienda dev:
whatalo dev --resetLimpieza al salir
Cuando presionas q o Ctrl+C, whatalo dev realiza un cierre limpio en orden:
- Detiene el intervalo de heartbeat
- Cierra los watchers de archivos
- Envía
DELETE /api/dev-sessions/{id}(remueve el plugin del sidebar) - Termina el proceso del túnel
- Termina el proceso del servidor dev
Mensajes de error
| Mensaje | Causa |
|---|---|
No whatalo.app.toml found. Run 'whatalo init' first. | Comando ejecutado fuera de un directorio de proyecto plugin |
Port {port} is already in use. | Otro proceso está usando el puerto configurado |
Plugin "{slug}" was not found in your account. | El plugin_id en whatalo.app.toml no coincide con tu cuenta |
No development stores found. Create one at {link} | Tu cuenta no tiene tiendas de desarrollo |
Local server did not start. Check your 'build.dev_command' in whatalo.app.toml | El servidor dev no estuvo listo en 30 segundos |
Tunnel failed to start. | cloudflared no pudo establecer conexión |
Comandos relacionados
whatalo init— Crear un proyecto primerowhatalo validate— Validar antes de ejecutarwhatalo logs— Ver logs de entrega de webhooks durante el desarrollo