mirror of
https://github.com/Pandipipas/scoreko-electron-dev.git
synced 2026-06-06 05:32:06 +00:00
Codex-generated pull request (#7)
* feat: recreate scoreko electron wrapper on electron 39.5.1 * fix: handle missing bindings in sqlite legacy workspace
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# 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`.
|
||||
- Script requerido para recompilar `better-sqlite3` contra Electron 39.5.1:
|
||||
|
||||
```json
|
||||
"rebuild:better-sqlite3:electron": "npm --prefix ../.. rebuild better-sqlite3 --runtime=electron --target=39.5.1 --dist-url=https://electronjs.org/headers"
|
||||
```
|
||||
|
||||
## 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
|
||||
│ ├─ node_modules/
|
||||
│ └─ bundles/
|
||||
│ └─ scoreko-dev/
|
||||
├─ src/main/main.ts
|
||||
├─ static/loading.html
|
||||
└─ 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`.
|
||||
- `npm run rebuild:better-sqlite3:electron`: comando exigido para rebuild de `better-sqlite3`.
|
||||
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Error: `Cannot find module 'bindings'`
|
||||
|
||||
Si aparece en `database-adapter-sqlite-legacy/node_modules/better-sqlite3/lib/database.js`, faltan dependencias del workspace sqlite legacy.
|
||||
|
||||
Ejecuta:
|
||||
|
||||
```bash
|
||||
cd lib/nodecg/workspaces/database-adapter-sqlite-legacy
|
||||
npm install
|
||||
npm install bindings --no-save
|
||||
cd ../../../../
|
||||
npm run rebuild:native
|
||||
```
|
||||
|
||||
### Error: `NODE_MODULE_VERSION`
|
||||
|
||||
Recompila nativos contra Electron 39.5.1:
|
||||
|
||||
```bash
|
||||
npm run rebuild:native
|
||||
npm run rebuild:better-sqlite3:electron
|
||||
```
|
||||
Reference in New Issue
Block a user