import type { ElectrobunConfig } from "electrobun"; import { BRANDING } from "./src/shared/branding"; export default { app: { name: BRANDING.appName, identifier: BRANDING.identifier, version: BRANDING.version, }, // Auto-updater feed. The flat artifacts land under /dl on the host (see site/); // miniscp.com is fronted by an external proxy for TLS. baseUrl is baked into // version.json at build time, so only builds made after this takes effect check // for updates. generatePatch (default true) needs build-time network to this URL // to diff against the currently-published version. release: { baseUrl: "https://miniscp.com/dl", }, build: { bun: { entrypoint: "src/bun/index.ts", // ssh2's optional native accelerators must never be bundled; its // runtime try/catch falls back to pure JS when the require fails. external: ["cpu-features", "*.node"], }, copy: { "ui/dist/ui/browser": "views/app", "assets/tray": "views/assets/tray", }, watchIgnore: ["ui/**", "dist/**"], mac: { bundleCEF: false, icons: BRANDING.icon, }, linux: { bundleCEF: false, }, win: { bundleCEF: false, // system WebView2 keeps the bundle small icon: "assets/icon.ico", }, }, } satisfies ElectrobunConfig;