| name | electrobun-config |
| description | This skill should be used when the user asks about "electrobun.config.ts", "electrobun config", needs the config field reference, wants to understand config defaults, or is configuring platform-specific electrobun behaviour. |
| version | 1.0.0 |
electrobun.config.ts — Complete Reference
import type { ElectrobunConfig } from "electrobun";
export default {
app: {
name: "MyApp",
identifier: "com.example.myapp",
version: "0.1.0",
description: "My app",
urlSchemes: ["myapp"],
},
build: {
buildFolder: "build",
artifactFolder: "artifacts",
targets: "current",
bun: {
entrypoint: "src/bun/index.ts",
minify: false,
sourcemap: "inline",
define: { "process.env.NODE_ENV": '"development"' },
},
views: {
mainview: { entrypoint: "src/mainview/index.ts" },
sidebar: { entrypoint: "src/sidebar/index.ts" },
},
copy: {
"assets/": "assets/",
"data/schema.sql": "data/schema.sql",
},
useAsar: false,
asarUnpack: ["*.node", "*.dll", "*.dylib", "*.so"],
cefVersion: undefined,
wgpuVersion: undefined,
bunVersion: undefined,
locales: "*",
watch: [],
watchIgnore: [],
mac: {
bundleCEF: false,
bundleWGPU: false,
defaultRenderer: "native",
codesign: false,
notarize: false,
icons: "icon.iconset",
entitlements: {
"com.apple.security.cs.allow-jit": true,
"com.apple.security.cs.allow-unsigned-executable-memory": true,
},
chromiumFlags: {
"disable-web-security": true,
"allow-running-insecure-content": true,
},
},
win: {
bundleCEF: false,
bundleWGPU: false,
defaultRenderer: "native",
icon: "assets/icon.ico",
chromiumFlags: {},
},
linux: {
bundleCEF: false,
bundleWGPU: false,
defaultRenderer: "native",
icon: "assets/icon.png",
chromiumFlags: {},
},
},
runtime: {
exitOnLastWindowClosed: true,
apiEndpoint: "https://api.example.com",
},
scripts: {
preBuild: "bun run scripts/pre-build.ts",
postBuild: "bun run scripts/post-build.ts",
postWrap: "echo Done wrapping",
postPackage: "bun run scripts/upload.ts",
},
release: {
baseUrl: "https://cdn.example.com/releases/myapp",
generatePatch: true,
},
} satisfies ElectrobunConfig;
Most-Changed Fields by Task
Starting a new project: app.name, app.identifier, app.version
Adding a new renderer view: build.views.<viewname>
Enabling GPU rendering: build.mac.bundleWGPU: true (all platforms you target)
Enabling CEF: build.mac.bundleCEF: true, build.mac.defaultRenderer: "cef"
Setting up releases: release.baseUrl, release.generatePatch: true
Code signing: build.mac.codesign: true, build.mac.notarize: true, set env vars
Adding static assets: build.copy
Deep linking: app.urlSchemes