The build config only had a Windows target. Adds a linux block producing
an AppImage, plus a 512x512 build/icon.png so the packaged app does not
ship with the stock Electron icon.
Verified by running the packaged binary: the embedded server comes up on
9095 and serves the overlay from process.resourcesPath, confirming the
extraResources mapping works in a packaged build.
StartupWMClass is deliberately not set via linux.desktop -- electron-builder
already emits the correct value, and the nested { entry: {...} } form leaks a
literal "entry=[object Object]" line into the .desktop file.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
48 lines
1.2 KiB
JSON
48 lines
1.2 KiB
JSON
{
|
|
"name": "whats-that-music-client",
|
|
"version": "1.0.0",
|
|
"description": "Single-app YouTube Music player + now-playing overlay server for OBS",
|
|
"main": "index.js",
|
|
"scripts": {
|
|
"start": "electron .",
|
|
"test": "node --test \"tests/**/*.test.js\"",
|
|
"build": "electron-builder"
|
|
},
|
|
"build": {
|
|
"appId": "com.whatsthatmusic.client",
|
|
"productName": "WhatsThatMusic",
|
|
"files": [
|
|
"**/*",
|
|
"!tests/**"
|
|
],
|
|
"extraResources": [
|
|
{ "from": "../overlay", "to": "overlay" }
|
|
],
|
|
"extraMetadata": {
|
|
"main": "index.js"
|
|
},
|
|
"win": {
|
|
"target": "zip",
|
|
"sign": false,
|
|
"signAndEditExecutable": false,
|
|
"certificateSubjectName": null
|
|
},
|
|
"linux": {
|
|
"target": ["AppImage"],
|
|
"icon": "build/icon.png",
|
|
"category": "AudioVideo",
|
|
"synopsis": "YouTube Music player with a now-playing overlay for OBS",
|
|
"maintainer": "What's That Music"
|
|
},
|
|
"artifactName": "${productName}-${version}-${arch}.${ext}"
|
|
},
|
|
"dependencies": {
|
|
"express": "^5.2.1",
|
|
"ws": "^8.20.0"
|
|
},
|
|
"devDependencies": {
|
|
"electron": "^33.0.0",
|
|
"electron-builder": "^25.0.0"
|
|
}
|
|
}
|