Files
makelore/electron-builder.yml
2026-07-29 17:22:35 +08:00

192 lines
5.1 KiB
YAML

appId: app.niancode.desktop
productName: Makelore
copyright: Copyright © 2026 Makelore
compression: maximum
artifactName: ${productName}-${version}-${os}-${arch}.${ext}
directories:
output: release
buildResources: resources
files:
- dist
- dist-electron
- package.json
extraResources:
- from: resources/
to: resources/
filter:
- "**/*"
- "!icons/*.md"
- "!icons/*.svg"
- "!bin/**"
- "!screenshot/**"
# opencode runtime bundled by scripts/bundle-opencode.mjs.
- from: build/opencode-ai/
to: opencode-ai/
# Built-in course role templates copied when users create runtime subagents.
- from: .opencode/agent/
to: course-agents/
filter:
- "*.md"
# Built-in course skills installed into the managed opencode config directory.
- from: .opencode/skills/
to: course-skills/
filter:
- "**/*"
afterPack: ./scripts/after-pack.cjs
asar: true
asarUnpack:
- "**/*.node"
# lru-cache CJS/ESM interop: older CJS versions (v5, v6, v7) don't export
# `LRUCache` as a named property, breaking `import { LRUCache }` in Node.js
# 22+ (Electron 40+). Unpacking lets afterPack patch them in place.
- "**/node_modules/lru-cache/**"
# Native addons in the desktop package use prebuilt/N-API artifacts.
# Keep rebuild disabled, but verify packaged msgpackr and @napi-rs/canvas loading
# whenever the Electron runtime changes.
npmRebuild: false
# Generic release metadata remains available for the prerelease pipeline.
# Stable runtime feed selection is owned by Electron Main.
publish:
- provider: generic
url: https://oss.intelli-spectrum.com/latest
useMultipleRangeRequest: false
# macOS Configuration
mac:
extraResources:
- from: resources/bin/darwin-${arch}
to: bin
- from: resources/python/darwin-${arch}/python
to: python
category: public.app-category.productivity
icon: resources/icons/icon.icns
target:
- target: dmg
arch:
- x64
- arm64
- target: zip
arch:
- x64
- arm64
darkModeSupport: false
hardenedRuntime: true
gatekeeperAssess: false
entitlements: entitlements.mac.plist
entitlementsInherit: entitlements.mac.plist
notarize: true
extendInfo:
NSMicrophoneUsageDescription: Makelore requires microphone access for voice features
dmg:
# Explicit volume size prevents dmg-builder@1.2.0 auto-calculation from
# underestimating (causes "No space left on device" for large app bundles).
# The final .dmg is bzip2-compressed, so this only affects the temp volume.
size: 2g
background: resources/dmg-background.png
icon: resources/icons/icon.icns
iconSize: 100
window:
width: 540
height: 380
contents:
- type: file
x: 130
y: 220
- type: link
path: /Applications
x: 410
y: 220
# Windows Configuration
win:
# Skip update signature verification: we ship via OSS + GitHub without a
# code-signing certificate, so verifying would always fail on the updater.
verifyUpdateCodeSignature: false
# Local unsigned builds should not require electron-builder's winCodeSign
# toolchain, which is blocked in offline development environments.
signAndEditExecutable: false
extraResources:
- from: resources/bin/win32-${arch}
to: bin
- from: resources/python/win32-${arch}/python
to: python
icon: resources/icons/icon.ico
target:
- target: nsis
arch: x64
nsis:
oneClick: false
perMachine: false
warningsAsErrors: false
allowToChangeInstallationDirectory: true
deleteAppDataOnUninstall: false
differentialPackage: true
createDesktopShortcut: true
createStartMenuShortcut: true
shortcutName: Makelore
uninstallDisplayName: Makelore
license: LICENSE
include: scripts/installer.nsh
installerIcon: resources/icons/icon.ico
uninstallerIcon: resources/icons/icon.ico
# Linux Configuration
linux:
extraResources:
- from: resources/bin/linux-${arch}
to: bin
- from: resources/python/linux-${arch}/python
to: python
icon: resources/icons
target:
- target: AppImage
arch:
- x64
- arm64
- target: deb
arch:
- x64
- arm64
- target: rpm
arch:
- x64
category: Utility
maintainer: Makelore Team <public@valuecell.ai>
vendor: Makelore
synopsis: AI creation workspace
description: Makelore is an AI creation workspace for code and visual making.
desktop:
entry:
Name: Makelore
Comment: AI creation workspace
Categories: Utility;Network;
Keywords: ai;assistant;automation;chat;
StartupWMClass: niancode
appImage:
license: LICENSE
deb:
depends:
# Use OR syntax to support both Ubuntu 22.04 and Ubuntu 24.04 (t64 transition).
# Ubuntu 24.04 renamed many libraries with a t64 suffix (64-bit time_t ABI transition).
- libgtk-3-0 | libgtk-3-0t64
- libnotify4 | libnotify4t64
- libnss3
- libxss1 | libxss1t64
- libxtst6 | libxtst6t64
- xdg-utils
- libatspi2.0-0 | libatspi2.0-0t64
- libuuid1
afterInstall: scripts/linux/after-install.sh
afterRemove: scripts/linux/after-remove.sh