{ "name": "@openchamber/electron", "version": "1.16.2", "private": true, "description": "Electron desktop runtime for OpenChamber", "author": "OpenChamber", "type": "module", "main": "./dist-bundle/main.mjs", "dependencies": { "@openchamber/web": "workspace:*", "electron-context-menu": "^4.1.2", "electron-log": "^5.4.3", "electron-updater": "^6.8.3" }, "devDependencies": { "@electron/rebuild": "^3.7.0", "electron": "^41.2.1", "electron-builder": "^26.0.0" }, "trustedDependencies": [ "electron" ], "desktopPrerequisites": [ "Electron runtime dependencies installed via bun install", "Bun available for sidecar compilation", "macOS: Xcode + build tools for notarized packaging", "Windows: NSIS installed for installer creation", "Linux: native x64 or arm64 host (no cross-arch packaging); FUSE/libfuse2 to run AppImages, or APPIMAGE_EXTRACT_AND_RUN=1" ], "scripts": { "dev": "node ./scripts/electron-dev.mjs", "build:web-assets": "node ./scripts/build-web-assets.mjs", "build": "bun -e \"process.exit(0)\"", "prepare:opencode-cli": "node ./scripts/prepare-opencode-cli.mjs", "verify:opencode-cli": "node ./scripts/verify-opencode-cli.mjs --staged", "verify:opencode-cli:packaged": "node ./scripts/verify-opencode-cli.mjs --packaged", "verify:linux-appimage": "node ./scripts/verify-linux-appimage.mjs", "bundle:main": "bun ./scripts/bundle-main.mjs", "generate:macos-icon": "node ./scripts/generate-macos-icon-assets.cjs", "rebuild:native": "node ./scripts/rebuild-native.mjs", "test:architecture": "node --test ./scripts/target-architecture.test.mjs ./scripts/verify-linux-appimage.test.mjs ./scripts/verify-update-manifest.test.mjs", "test:updater": "node --test ./updater-capability.test.mjs ./updater-check.test.mjs ./updater-feed.test.mjs ./scripts/updater-e2e-fixture.test.mjs", "updater:e2e:fixture": "node ./scripts/updater-e2e-fixture.mjs", "verify:update-manifest": "node ./scripts/verify-update-manifest.mjs", "package": "bun run build:web-assets && bun run prepare:opencode-cli && bun run bundle:main && bun run rebuild:native && node ./scripts/package.mjs", "finalize:latest-yml": "node ./scripts/finalize-latest-yml.mjs", "type-check": "node --check ./main.mjs && node --check ./preload.mjs", "lint": "node -e \"process.exit(0)\"" }, "build": { "appId": "dev.openchamber.desktop", "productName": "OpenChamber", "files": [ "dist-bundle/main.mjs", "preload.mjs" ], "extraResources": [ { "from": "resources/web-dist", "to": "web-dist" }, { "from": "resources/icons/icon.ico", "to": "icons/icon.ico" }, { "from": "resources/icons/icon.png", "to": "icons/icon.png" }, { "from": "resources/icons/tray", "to": "icons/tray" }, { "from": "resources/opencode-cli", "to": "opencode-cli" } ], "afterPack": "scripts/after-pack.cjs", "directories": { "buildResources": "resources/icons", "output": "dist" }, "artifactName": "${productName}-${version}-${arch}.${ext}", "npmRebuild": false, "mac": { "category": "public.app-category.developer-tools", "icon": "resources/icons/icon.icns", "artifactName": "${productName}-${version}-mac-${arch}.${ext}", "extendInfo": { "CFBundleIconName": "AppIcon" }, "hardenedRuntime": true, "gatekeeperAssess": false, "entitlements": "resources/entitlements.mac.plist", "entitlementsInherit": "resources/entitlements.mac.plist", "notarize": true, "target": [ "dmg", "zip" ] }, "win": { "icon": "resources/icons/icon.ico", "target": [ "nsis" ], "verifyUpdateCodeSignature": false, "artifactName": "${productName}-${version}-win-${arch}.${ext}" }, "linux": { "target": [ "AppImage" ], "category": "Development", "icon": "resources/icons/icon.png", "executableName": "openchamber", "artifactName": "${productName}-${version}-linux-${arch}.${ext}", "desktop": { "entry": { "Name": "OpenChamber", "Comment": "Desktop runtime for OpenChamber", "Icon": "openchamber", "StartupWMClass": "openchamber" } } }, "nsis": { "oneClick": true, "perMachine": false, "installerIcon": "resources/icons/icon.ico", "uninstallerIcon": "resources/icons/icon.ico", "installerHeaderIcon": "resources/icons/icon.ico" }, "dmg": { "sign": true, "title": "${productName} ${version}", "backgroundColor": "#FFFCF0", "iconSize": 100, "iconTextSize": 13, "window": { "width": 540, "height": 340 }, "contents": [ { "x": 180, "y": 140, "type": "file" }, { "x": 360, "y": 140, "type": "link", "path": "/Applications" } ] }, "publish": { "provider": "github", "owner": "openchamber", "repo": "openchamber" } } }