Files
shadowdaoandClaude Opus 5 72485d44ff Build each platform on its own native runner
Splits the release workflow into linux, windows and macos jobs feeding a
single publish job. The publish step is separate so parallel builds cannot
race to create the release and fail on a duplicate tag.

Windows now builds natively, so signAndEditExecutable no longer has to be
disabled. That flag was suppressing rcedit, which is what embeds the icon
and version resources -- the v1.0.0 exe shipped with the stock Electron
icon as a result. Also adds an NSIS installer alongside the portable zip.

macOS gains a dmg target, which cannot be produced off macOS. Builds stay
unsigned pending a Developer ID, with CSC_IDENTITY_AUTO_DISCOVERY disabled
so electron-builder builds unsigned instead of failing on a real Mac.

Nothing cross-builds now; all three runners must be registered before
tagging, since a job with no matching runner queues silently.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-28 18:53:24 -07:00

68 lines
1.5 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": [
"nsis",
"zip"
],
"icon": "build/icon.png"
},
"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}-${os}-${arch}.${ext}",
"mac": {
"target": [
"dmg",
"zip"
],
"icon": "build/icon.png",
"category": "public.app-category.music",
"identity": null
},
"nsis": {
"oneClick": false,
"allowToChangeInstallationDirectory": true,
"perMachine": false
}
},
"dependencies": {
"express": "^5.2.1",
"ws": "^8.20.0"
},
"devDependencies": {
"electron": "^33.0.0",
"electron-builder": "^25.0.0"
}
}