Files
backspace/packages/desktop/package.json
T
devsyncwrld bd8decb4b3
OpenSSF Scorecard / Scorecard analysis (push) Waiting to run
CI / Build & test (Node 20) (push) Canceled after 0s
CI / Build & test (Node 24) (push) Canceled after 0s
CI / Build & test (push) Canceled after 0s
CodeQL / Analyze (javascript-typescript) (push) Canceled after 0s
Security / Secret scan (gitleaks) (push) Canceled after 0s
Security / Dependency scan (OSV-Scanner) (push) Canceled after 0s
Security / IaC/config scan (Trivy) (push) Canceled after 0s
Security / License compliance scan (Trivy) (push) Canceled after 0s
fix(ci): actually compile the native audio module, and prove it
The previous run went green and produced an installer with no system-audio
capture in it — the exact silent failure this module exists to prevent.

Two causes. electron-rebuild takes -w as one comma-separated list, not a
repeated flag; passing it twice made argv.w an array and the CLI threw
'argv.w.split is not a function', which also broke uiohook-napi's rebuild that
had been working. And pnpm 10 refuses to run a dependency's build script unless
it is listed in onlyBuiltDependencies, so node-gyp never ran for it at all —
the log said 'Ignored build scripts' and nothing else complained.

Neither surfaced because desktop's postinstall ends in , which
exists so contributors without build tools can install. That is reasonable
locally and dangerous in CI, so the workflow now asserts a compiled .node
exists and fails loudly when it does not, instead of trusting an exit code that
was designed to lie.
2026-09-01 15:13:26 -03:00

36 lines
1.3 KiB
JSON

{
"name": "@backspace/desktop",
"version": "1.1.0",
"private": true,
"license": "AGPL-3.0-only",
"description": "Backspace",
"author": {
"name": "Jannis Braun",
"email": "backspace@backspace.chat"
},
"homepage": "https://github.com/TheZwiss/backspace",
"main": "dist/main.js",
"scripts": {
"build:ts": "tsc",
"dev": "cp build/icon.icns $(find ../../node_modules -path '*/electron/dist/Electron.app/Contents/Resources/electron.icns' 2>/dev/null | head -1) 2>/dev/null; tsc && electron .",
"build": "tsc && electron-builder",
"build:all": "tsc && electron-builder --mac --win --linux --arm64 --x64",
"clean": "rm -rf dist dist-electron",
"test": "vitest run",
"test:watch": "vitest",
"postinstall": "electron-rebuild -f -w uiohook-napi,electron-native-screenshare || node -e \"console.warn('[desktop] uiohook-napi native rebuild skipped - needs build tools (make, g++, python3). Only required to RUN the desktop app; the server, web client, and Docker image are unaffected.')\""
},
"dependencies": {
"electron-native-screenshare": "^1.2.0",
"electron-updater": "^6.3.0",
"uiohook-napi": "^1.5.5"
},
"devDependencies": {
"@electron/rebuild": "^3.7.1",
"electron": "^40.0.0",
"electron-builder": "^25.1.8",
"typescript": "^5.7.2",
"vitest": "^4.0.18"
}
}