Files
ChatLab/electron-builder.yml
2026-01-21 15:27:43 +08:00

83 lines
2.2 KiB
YAML

# 应用程序的唯一标识符
appId: com.chatlab.fun
# 应用程序的产品名称
productName: ChatLab
# 发布配置
publish:
provider: github
owner: hellodigua
repo: ChatLab
# 构建资源所在的目录
directories:
buildResources: build
# 包含在最终应用程序构建中的文件列表
files:
- out/**/*
- '!**/.vscode/*'
- '!src/*'
- '!electron.vite.config.{js,ts,mjs,cjs}'
- '!{.eslintignore,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,CHANGELOG.md,README.md}'
- '!{.env,.env.*,.npmrc,pnpm-lock.yaml}'
- '!{tsconfig.json,tsconfig.node.json,tsconfig.web.json}'
# 哪些文件将不会被压缩,而是解压到构建目录
asarUnpack:
- resources/**
# Windows 平台配置
win:
executableName: ChatLab
target: nsis
# NSIS 安装器配置
nsis:
oneClick: false
artifactName: ChatLab-${version}-setup.${ext}
shortcutName: ${productName}
uninstallDisplayName: ${productName}
createDesktopShortcut: always
allowElevation: true
allowToChangeInstallationDirectory: true
installerIcon: build/icon.ico
uninstallerIcon: build/icon.ico
include: installer-dpi.nsh
differentialPackage: false
# macOS 平台配置
mac:
entitlementsInherit: build/entitlements.mac.plist
entitlements: build/entitlements.mac.plist
# 代码签名 - Hardened Runtime 是公证的必要条件
hardenedRuntime: true
gatekeeperAssess: false
# 公证配置 - v26 自动检测环境变量进行公证,无需额外配置
extendInfo:
- NSDocumentsFolderUsageDescription: Application requests access to the user's Documents folder.
- NSDownloadsFolderUsageDescription: Application requests access to the user's Downloads folder.
target:
# 架构由 CI 通过 --x64/--arm64 指定,避免在单个 job 里同时打双架构
- target: dmg
- target: zip
artifactName: ChatLab-${version}-${arch}.${ext}
# macOS 平台的 DMG 配置
dmg:
artifactName: ChatLab-${version}-${arch}.${ext}
# Linux 平台配置
linux:
executableName: chatlab
icon: build/icon.png
target:
- AppImage
- deb
- rpm
- tar.gz
category: Utility
# AppImage 配置
appImage:
artifactName: ChatLab-${version}.${ext}
# 是否在构建之前重新编译原生模块
npmRebuild: true