appId: com.gsxdsm.fusion.desktop productName: Fusion artifactName: "${productName}-${version}-${os}-${arch}.${ext}" directories: output: dist-electron buildResources: src/icons files: # pnpm installs workspace/runtime deps as symlinked package entries backed by the # virtual store. These flat node_modules/X/**/* patterns only work when electron-builder # follows the symlink chain from the published package entry, so every @fusion/core # runtime dependency group that the desktop app can load must be listed here. # If @fusion/core gains a new runtime dependency, add it (and any required leaf deps) # here or packaged desktop builds can fail at startup/runtime with missing-module errors. - dist/**/* - package.json - node_modules/@fusion/core/**/* - node_modules/@fusion/dashboard/**/* - node_modules/better-sqlite3/**/* - node_modules/electron-updater/**/* - node_modules/builder-util-runtime/**/* - node_modules/fs-extra/**/* - node_modules/jsonfile/**/* - node_modules/graceful-fs/**/* - node_modules/universalify/**/* - node_modules/js-yaml/**/* - node_modules/argparse/**/* - node_modules/sprintf-js/**/* - node_modules/lazy-val/**/* - node_modules/lodash.escaperegexp/**/* - node_modules/lodash.isequal/**/* - node_modules/semver/**/* - node_modules/tiny-typed-emitter/**/* - node_modules/debug/**/* - node_modules/ms/**/* - node_modules/sax/**/* # @fusion/core archive parsing deps - node_modules/extract-zip/**/* - node_modules/get-stream/**/* - node_modules/pump/**/* - node_modules/end-of-stream/**/* - node_modules/once/**/* - node_modules/wrappy/**/* - node_modules/yauzl/**/* - node_modules/fd-slicer/**/* - node_modules/pend/**/* - node_modules/buffer-crc32/**/* - node_modules/tar/**/* - node_modules/@isaacs/fs-minipass/**/* - node_modules/chownr/**/* - node_modules/minipass/**/* - node_modules/minizlib/**/* - node_modules/yallist/**/* - node_modules/yaml/**/* # @fusion/core scheduling/automation deps - node_modules/cron-parser/**/* - node_modules/luxon/**/* # @fusion/core discovery/system deps - node_modules/bonjour-service/**/* - node_modules/fast-deep-equal/**/* - node_modules/multicast-dns/**/* - node_modules/dns-packet/**/* - node_modules/thunky/**/* - node_modules/@leichtgewicht/ip-codec/**/* - node_modules/check-disk-space/**/* # @fusion/core optional docker runtime deps - node_modules/dockerode/**/* - node_modules/@balena/dockerignore/**/* - node_modules/@grpc/grpc-js/**/* - node_modules/@grpc/proto-loader/**/* - node_modules/docker-modem/**/* - node_modules/protobufjs/**/* - node_modules/tar-fs/**/* - node_modules/uuid/**/* asarUnpack: - node_modules/better-sqlite3/**/* extraMetadata: main: dist/main.js extraResources: - from: src/icons to: icons filter: - "tray-*.png" protocols: - name: Fusion Deep Links schemes: - fusion fileAssociations: - ext: fusion name: Fusion Task Link description: Fusion desktop deep link role: Viewer mimeType: x-scheme-handler/fusion publish: provider: github owner: gsxdsm repo: fusion mac: category: public.app-category.developer-tools minimumSystemVersion: "10.15" target: - target: dmg - target: zip hardenedRuntime: true gatekeeperAssess: false entitlements: build/entitlements.mac.plist entitlementsInherit: build/entitlements.mac.plist notarize: true win: target: - target: nsis arch: - x64 - arm64 - target: portable arch: - x64 - arm64 signtoolOptions: signingHashAlgorithms: - sha256 rfc3161TimeStampServer: http://timestamp.digicert.com publisherName: Fusion nsis: oneClick: false perMachine: false allowElevation: false allowToChangeInstallationDirectory: true linux: category: Development target: - target: AppImage arch: - x64 - arm64 - target: deb arch: - x64 - arm64 - target: tar.gz arch: - x64 - arm64