Files
scoreko-electron-dev/README.md
T

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.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

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:

"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).