Files
ChatLab/electron-builder.yml
2025-12-29 23:20:36 +08:00

87 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
# 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:
- target: dmg
arch:
- x64
- arm64
- target: zip
arch:
- x64
- arm64
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: false