appId: com.backspace.desktop productName: Backspace artifactName: "${productName}-${version}-${arch}.${ext}" directories: output: dist-electron files: - dist/**/* - resources/**/* # Exclude host-compiled native module artifacts from the asar. # electron-rebuild (postinstall) compiles uiohook-napi for the build machine, # creating build/Release/*.node. node-gyp-build checks build/ BEFORE prebuilds/, # so if these directories enter the asar, the app crashes on every platform # (including the build platform after afterPack removes the unpacked file). - "!**/node_modules/uiohook-napi/build/**" - "!**/node_modules/uiohook-napi/build.bak/**" - "!**/node_modules/uiohook-napi/bin/**" # electron-native-screenshare has no prebuilds — build/Release/*.node is the # only copy, so it must NOT be excluded the way uiohook-napi's is. asarUnpack # below takes it out of the archive so the loader can find it. asarUnpack: - "**/*.node" npmRebuild: false afterPack: ./scripts/afterPack.js publish: # Updates are served from this fork's own Gitea, not from GitHub. # # GitHub is only the build machine — it has the Windows runners the native # audio module needs. Its repository is private, and electron-updater against # a private GitHub repo would need a token shipped inside the app, which is a # leaked token. Gitea serves release assets to anyone, so no credential ends # up in the installer. # # The tag is fixed at `latest` on purpose: electron-updater fetches # latest.yml before it knows which version exists, so the URL cannot contain # a version. CI replaces that release's assets on every publish. - provider: generic url: https://git.resenha.website/devsyncwrld/backspace/releases/download/latest/ protocols: - name: Backspace schemes: - backspace mac: category: public.app-category.social-networking minimumSystemVersion: "12.0" extendInfo: NSAudioCaptureUsageDescription: "Backspace needs access to system audio to share sound during screen sharing." target: - dmg - zip win: icon: ./build/icon.ico target: - nsis linux: icon: build/icons/ target: - AppImage - deb category: Network nsis: oneClick: false allowToChangeInstallationDirectory: true