mirror of
https://github.com/Pandipipas/scoreko-electron-dev.git
synced 2026-06-06 05:32:06 +00:00
96 lines
3.2 KiB
Markdown
96 lines
3.2 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
|
|
|
|
- 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 (no usa un archivo local del wrapper).
|
|
- 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
|
|
└─ 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).
|