Files
openchamber/packages/electron/package.json
T

170 lines
5.6 KiB
JSON
Raw Normal View History

{
"name": "@openchamber/electron",
2026-09-05 21:39:04 +03:00
"version": "1.22.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": "^4.2.0",
"electron": "^43.3.0",
"electron-builder": "^26.0.0",
"node-abi": "^4.33.0"
},
2026-07-20 12:54:46 +03:00
"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)\"",
"ensure:electron": "node ./scripts/ensure-electron.mjs",
2026-07-02 17:43:33 +03:00
"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",
2026-08-13 15:30:54 +03:00
"test": "node ../../scripts/run-isolated-tests.mjs .",
"test:architecture": "node --test ./startup-url-selection.test.mjs ./scripts/target-architecture.test.mjs ./scripts/verify-linux-appimage.test.mjs ./scripts/verify-update-manifest.test.mjs ./scripts/ensure-electron.test.mjs",
"test:updater": "node --test ./updater-capability.test.mjs ./updater-channel.test.mjs ./updater-check.test.mjs ./updater-feed.test.mjs ./scripts/finalize-latest-yml.test.mjs ./scripts/updater-e2e-fixture.test.mjs",
"test:linux-desktop": "node --test ./linux-autostart.test.mjs && node ./scripts/smoke-linux-app-discovery.mjs && node ./scripts/smoke-path-open-utils.mjs",
"updater:e2e:fixture": "node ./scripts/updater-e2e-fixture.mjs",
"verify:update-manifest": "node ./scripts/verify-update-manifest.mjs",
2026-07-02 17:43:33 +03:00
"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"
2026-07-02 17:43:33 +03:00
},
{
"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": [
2026-04-22 00:36:06 +03:00
{
"x": 180,
"y": 140,
"type": "file"
},
{
"x": 360,
"y": 140,
"type": "link",
"path": "/Applications"
}
]
},
"publish": {
"provider": "github",
"owner": "openchamber",
"repo": "openchamber"
}
}
}