Files
scoreko-electron-dev/README.md
T

65 lines
2.1 KiB
Markdown

# 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
- Node `>=22` (`.nvmrc` incluido).
- 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/<bundle>/dashboard/loading.html`) servida por NodeCG mientras inicia.
- Carga el dashboard del bundle en `http://localhost:<puerto>/bundles/<bundle>/<ruta-dashboard>`.
- 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
├─ static/icons/
└─ 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 test`: build + tests unitarios (`node:test`).
- `npm run doctor`: preflight de configuración y entorno (`lib/nodecg`, permisos, puerto y env vars).
- `npm run lint`: reglas mínimas de calidad con ESLint.
- `npm run format`: validación de formato con Prettier.
- `npm run pack`: genera app sin instalador.
- `npm run dist`: genera instalador.
## Variables de entorno
La **fuente única de defaults** está en `.env.example`.
1. Copia `.env.example` a `.env` (o exporta variables en tu shell/CI).
2. Ajusta sólo lo necesario.
3. Ejecuta `npm run doctor` para validar configuración antes de arrancar.
## Build multi-plataforma (iconos)
- `build.win.icon`: `static/icons/icon.ico`
- `build.linux.icon`: `static/icons`
- `build.mac.icon`: `static/icons/icon.icns`
> El `.icns` se referencia en la configuración de build y debe existir localmente para empaquetar macOS.
## Troubleshooting y arquitectura
- Guía de troubleshooting: `docs/troubleshooting.md`
- Mapa de arquitectura: `docs/architecture.md`
- Roadmap: `docs/refactor-roadmap.md`