# scoreko-electron-dev Wrapper de Electron para empaquetar una instalación de NodeCG que incluya el bundle `scoreko-dev`, inspirado en `opeik/runback-electron` pero actualizado a Electron + TypeScript moderno. ## Requisitos clave - Electron fijado en `39.5.1`. ## Qué hace - Arranca `lib/nodecg/index.js` como proceso hijo desde Electron. - Muestra la ruta de dashboard de carga del bundle (`/bundles//dashboard/loading.html`) servida por NodeCG mientras inicia (no usa un archivo local del wrapper). - Carga el dashboard del bundle en `http://localhost:/bundles//`. - Empaqueta NodeCG + assets dentro de la app final con `electron-builder`. ## Estructura esperada ```text scoreko-electron-dev/ ├─ lib/ │ └─ nodecg/ │ ├─ index.js │ ├─ node_modules/ │ └─ bundles/ │ └─ scoreko-dev/ ├─ src/main/main.ts └─ package.json ``` ## Scripts - `npm run dev`: modo desarrollo. - `npm run build`: compila TypeScript y copia assets. - `npm run start`: build y ejecución local. - `npm run pack`: genera app sin instalador. - `npm run dist`: genera instalador. - `npm run rebuild:native`: rebuild nativo auxiliar en `lib/nodecg`. ## Variables de entorno útiles - `NODECG_BUNDLE_NAME` (default: `scoreko-dev`) - `SCOREKO_DASHBOARD_ROUTE` (default: `dashboard/example/main.html?standalone=true`) - `SCOREKO_LOADING_ROUTE` (default: `dashboard/loading/main.html?standalone=true`) - `SCOREKO_APP_TITLE` (default: `Scoreko`) ## Personalización (Windows / Electron) ### 1) Título de la app - **Durante ejecución**: cambia `SCOREKO_APP_TITLE` para sobreescribir el título de ventana. - **En instalador y ejecutable**: cambia `build.productName` en `package.json`. ### 2) Ícono en barra de tareas y esquina superior de la ventana Coloca tu icono en uno de estos paths (prioridad de arriba hacia abajo): - `static/icons/icon.ico` - `static/icons/icon.png` - `static/icon.ico` - `static/icon.png` Electron tomará automáticamente el primero que exista. ### 3) Ícono del `.exe` (instalador/app empaquetada) En `package.json` dentro de `build.win` agrega: ```json "icon": "static/icons/icon.ico" ``` > Recomendado: `.ico` multi-resolución (16/24/32/48/64/128/256). ### 4) Texto y autor que muestra el popup del Firewall de Windows Ese diálogo toma datos del ejecutable final: - **Nombre de app**: suele venir de `productName` y metadatos del ejecutable. - **Publisher/Autor**: viene de la **firma de código** (certificado). Sin firma, suele salir `Unknown publisher`. Para personalizarlo correctamente en builds de distribución: 1. Ajusta en `package.json`: - `description` - `author` - `build.productName` 2. Firma el `.exe` con un certificado de tu empresa/persona (`CSC_LINK`/`CSC_KEY_PASSWORD` en `electron-builder`). > Nota: en desarrollo (`npm run start` / `npm run dev`) puedes ver `GitHub, Inc.` porque estás ejecutando el binario de Electron oficial. ### 5) Otros campos personalizables que te conviene revisar - `build.appId` (identificador único de la app). - `build.win.executableName` (nombre del ejecutable sin extensión). - `build.nsis` (nombre del instalador, iconos de instalador/desinstalador, etc.). - `build.artifactName` (patrón de nombre del archivo de salida).