mirror of
https://github.com/Pandipipas/scoreko-electron-dev.git
synced 2026-06-06 05:32:06 +00:00
3.2 KiB
3.2 KiB
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.jscomo 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
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 enlib/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_TITLEpara sobreescribir el título de ventana. - En instalador y ejecutable: cambia
build.productNameenpackage.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.icostatic/icons/icon.pngstatic/icon.icostatic/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:
"icon": "static/icons/icon.ico"
Recomendado:
.icomulti-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
productNamey 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:
- Ajusta en
package.json:descriptionauthorbuild.productName
- Firma el
.execon un certificado de tu empresa/persona (CSC_LINK/CSC_KEY_PASSWORDenelectron-builder).
Nota: en desarrollo (
npm run start/npm run dev) puedes verGitHub, 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).