mirror of
https://github.com/Pandipipas/scoreko-electron-dev.git
synced 2026-06-06 05:32:06 +00:00
feat: scaffold modern electron wrapper for scoreko nodecg bundle
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# 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.
|
||||
|
||||
## Qué hace
|
||||
|
||||
- Arranca `lib/nodecg/index.js` como proceso hijo desde Electron.
|
||||
- Muestra una ventana de carga mientras NodeCG 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
|
||||
│ └─ bundles/
|
||||
│ └─ scoreko-dev/ # clonado/copiado desde tu repo scoreko-dev
|
||||
├─ src/main/main.ts
|
||||
├─ static/loading.html
|
||||
└─ package.json
|
||||
```
|
||||
|
||||
## Preparación con tu repo `scoreko-dev`
|
||||
|
||||
1. Copia o clona tu instalación de NodeCG en `lib/nodecg`.
|
||||
2. Copia tu bundle `scoreko-dev` a `lib/nodecg/bundles/scoreko-dev`.
|
||||
3. Instala dependencias de NodeCG dentro de `lib/nodecg` (si aplica).
|
||||
4. Instala dependencias del wrapper:
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
## Variables de entorno opcionales
|
||||
|
||||
- `NODECG_PORT` (default: `9090`)
|
||||
- `NODECG_BUNDLE_NAME` (default: `scoreko-dev`)
|
||||
- `SCOREKO_DASHBOARD_ROUTE` (default: `dashboard/index.html`)
|
||||
- `ELECTRON_LOAD_DELAY_MS` (default: `5000`)
|
||||
|
||||
## Scripts
|
||||
|
||||
- `npm run dev`: modo desarrollo (watch + relanzado de Electron).
|
||||
- `npm run start`: build y ejecución local.
|
||||
- `npm run build`: compila TypeScript y copia assets.
|
||||
- `npm run pack`: genera app sin instalador.
|
||||
- `npm run dist`: genera instalador/plataformas configuradas.
|
||||
|
||||
## Nota de seguridad
|
||||
|
||||
La ventana principal usa `contextIsolation: true`, `sandbox: true` y `nodeIntegration: false`. Los enlaces externos se abren en el navegador del sistema.
|
||||
Reference in New Issue
Block a user