Preparar el entorno de desarrollo
Instala dependencias, ejecuta Electron y Angular, y genera un candidato local sin publicar.
Requisitos del proyecto#
La configuración revisada usa Node.js 24, indicado en .nvmrc, y workspaces npm para Electron, la web Angular y los contratos compartidos. Usa el lockfile de la raíz para instalar versiones reproducibles. Los módulos nativos deben ser compatibles con Electron; el empaquetado incluye una etapa de preparación de dependencias nativas.
Instalar y ejecutar#
npm ci
npm run devEl comando de desarrollo compila primero la web móvil y ejecuta Electron junto al servidor Angular. El iniciador de Electron recompila los contratos y las migraciones, compila su código y espera al renderer de desarrollo. Angular se sirve habitualmente en el puerto 4300.
Comandos por objetivo#
| Comando | Resultado |
|---|---|
npm run build:shared | Compila contratos y entidades compartidos. |
npm run build:web | Comprueba recursos locales y compila web de escritorio y móvil. |
npm run build:mobile | Compila la aplicación móvil. |
npm run dev:mobile | Reconstruye el bundle móvil al editar. |
npm run build:migrations | Compila las migraciones de base de datos. |
npm run build:local | Ejecuta pruebas y genera una aplicación Windows desempaquetada. |
npm run build:release | Ejecuta pruebas, compila, genera el instalador y valida el candidato. |
npm run release:verify | Repite la validación local del candidato existente. |
Compilar no publica#
La construcción y la publicación son pasos separados. build:release deja los artefactos en electron/dist y no promueve el canal de actualización. La publicación debe realizarla el responsable del release después de revisar candidato, firma o modalidad de distribución, compatibilidad de datos y evidencia de aceptación.
Configuración y secretos#
La configuración empaquetada debe ser no secreta. Los tokens y contraseñas de integraciones se aprovisionan por separado en el almacén de credenciales de Windows. No incorpores bases locales, credenciales ni archivos privados al bundle, al control de versiones o a los ejemplos de documentación.
Antes de modificar#
Comprueba la rama activa, identifica la capa y los contratos afectados y limita el cambio a la funcionalidad solicitada. Una implementación o un PR no requiere por sí mismo cambiar de rama. Añade la validación correspondiente y documenta las decisiones de compatibilidad cuando el comportamiento o el esquema cambien.
