mirror of
https://github.com/Pandipipas/scoreko-electron-dev.git
synced 2026-06-06 05:32:06 +00:00
65 lines
2.1 KiB
Markdown
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`
|