Files
deepseek-harness/apps/desktop/electron-builder.yml
T

49 lines
1.9 KiB
YAML
Raw Normal View History

# electron-builder packaging for the DeepSeek Harness desktop shell.
#
# The harness runs as a system-Node child process (see src/main.ts), so the
# packaged app must ship a Node runtime for the platform it targets. Point
# DSH_NODE at a bundled Node executable at runtime (an electron-builder
# `extraResource` plus a small resolver in the main process), or keep spawning
# PATH `node`. No signing is configured; distribute the unsigned artifacts
# only for local evaluation until a certificate is provided.
appId: ai.deepseek.harness
productName: DeepSeek Harness
# Native addons (node-pty, …) run under the system-Node child process, never
# under Electron, so skip @electron/rebuild: rebuilding them for the Electron
# ABI is wasted work and needs a headers download the local proxy rejects.
npmRebuild: false
# The harness runs as an external system-Node child process (see src/main.ts).
# The fully self-contained runtime lives in build/harness — a copy of the
# repository's working node_modules plus vendor/packages/native/apps and a
# bundled Node binary — and is shipped as extraResources so the packaged app
# runs on any machine with no external install. The Electron shell itself is
# unpacked (`asar: false`); the harness stays on disk as real files for the
# child and for the native addons it dlopens.
asar: false
directories:
output: dist
files:
- lib/types/**/*.js
- package.json
# The self-contained harness (build/harness) lands at Contents/Resources/harness
# in the packaged app; src/main.ts spawns the bundled node + dsh CLI from there.
extraResources:
- from: build/harness
to: harness
filter:
- "**/*"
# One 1024px build/icon.png; electron-builder derives the per-target .icns/.ico.
icon: build/icon.png
mac:
target:
- dmg
icon: build/icon.png
category: public.app-category.developer-tools
win:
target:
- nsis
icon: build/icon.png
nsis:
oneClick: false
allowToChangeInstallationDirectory: true