FAQ sobre contexto de comandos de despliegue en Emdash CMS
Dónde ejecutar los comandos de despliegue de Emdash CMS en estructuras monorepo, derivadas de plantilla y proyectos standalone.
¿Dónde deben ejecutarse exactamente los comandos de despliegue?
Regla por defecto: ejecuta los comandos desde la raíz del proyecto del sitio objetivo.
Si estás en el directorio equivocado, scripts, configuraciones y bindings suelen resolverse en un contexto incorrecto.
¿Qué cuenta como “raíz del proyecto objetivo”?
Normalmente tiene todo esto:
package.jsonespecífico del proyectoastro.config.*específico del sitiowrangler.jsonc(para flujo Cloudflare)
Si estos tres elementos están presentes, probablemente estás en el contexto correcto de despliegue.
¿Cómo cambia esto entre monorepo, copia de plantilla y standalone?
Proyecto standalone
Ruta más directa: todos los comandos se ejecutan en un solo directorio.
Proyecto derivado de plantilla
Primero actualiza name, scripts y bindings del proyecto tras copiar desde la plantilla; después ejecuta los comandos de despliegue.
Monorepo
Entra al paquete específico de la app antes de desplegar. No ejecutes comandos de despliegue de la app desde la raíz del monorepo salvo que los scripts hagan proxy explícito a ese paquete.
¿Cuáles son los síntomas más comunes de estar en el directorio incorrecto?
- script de despliegue no encontrado (existe en un subdirectorio)
wrangler.jsoncausente o se carga el archivo equivocado- nombres de bindings no coinciden (se usa configuración de otro proyecto)
- el build pasa pero el despliegue apunta al nombre de worker equivocado
La mayoría son fallos de contexto, no de sintaxis del comando.
Preflight rápido de 20 segundos
Antes de ejecutar comandos de despliegue:
- Confirma que
pwdapunta al proyecto esperado. - Confirma que el nombre en
package.jsoncoincide con el sitio objetivo. - Confirma que los nombres de
wrangler.jsonc(name, D1, R2) coinciden con el entorno objetivo.
Esto ahorra más tiempo que reintentar comandos repetidamente.
¿Puedo mezclar gestores de paquetes?
No se recomienda.
Usa un único gestor de paquetes por flujo de despliegue para evitar deriva de lockfiles y desajustes de resolución de dependencias.
Prácticas de equipo para evitar errores de contexto
Controles recomendados:
- documentar en README los directorios exactos de ejecución de comandos
- añadir verificaciones preflight en scripts críticos
- añadir comprobaciones de consistencia de rutas en CI
La mayoría de los fallos de despliegue no son problemas profundos de plataforma; son supuestos no explicitados sobre el contexto de ejecución de comandos.
Fragmento de comandos útil
pwd
ls
npm run build
npm run deploy