# scoreko-electron Windows desktop installer for Scoreko. The packaged app includes Electron, NodeCG, the compiled `scoreko-dev` bundle, and the production modules needed to run it, so end users do not need Node.js, pnpm, or a cloned repository. ## Build on a development machine From the repository root: ```powershell pnpm install ``` Then from `scoreko-electron-dev`: ```powershell npm install npm run dist:win ``` The installer is written to `scoreko-electron-dev/release/Scoreko-setup-0.1.0.exe`. ## What the build does - Builds the parent `scoreko-dev` bundle with `pnpm build`. - Creates `scoreko-electron-dev/lib/nodecg` with a small NodeCG runtime. - Installs production runtime modules into that runtime. - Rebuilds `better-sqlite3` for Electron before creating the installer. - Packages the runtime as an Electron extra resource outside the app archive. ## Runtime behavior On first launch, Scoreko copies the packaged NodeCG runtime to the user's app data folder and runs it from there. This keeps `cfg`, `db`, and `logs` writable on Windows even when the app is installed under `Program Files`. ## Useful scripts - `npm run start`: build everything and run Electron locally. - `npm run prepare:runtime`: recreate `lib/nodecg` from the parent bundle. - `npm run rebuild:native`: rebuild NodeCG native modules for Electron. - `npm run dist:win`: create the Windows installer. - `npm run doctor`: check the prepared runtime and the configured port. ## Configuration The defaults match the parent bundle: - `NODECG_BUNDLE_NAME=scoreko-dev` - `NODECG_PORT=9090` - `SCOREKO_DASHBOARD_ROUTE=dashboard/scoreko-dev/main.html?standalone=true` - `SCOREKO_LOADING_ROUTE=dashboard/loading/main.html?standalone=true` Copy `.env.example` only if you need local overrides while developing.