appId: com.geo.rankly.desktop productName: 省心推 copyright: Copyright © 2026 shengxintui.com. All Rights Reserved. directories: output: release buildResources: build compression: maximum removePackageScripts: true removePackageKeywords: true asar: true afterPack: build/afterPack.cjs # 签名前裁掉非 en/zh_CN 的本地化文件 asarUnpack: - '**/node_modules/better-sqlite3/build/Release/**' - '**/node_modules/better-sqlite3/lib/**' - '**/node_modules/bindings/**' - '**/node_modules/file-uri-to-path/**' - '**/node_modules/playwright-core/lib/**' - '**/node_modules/playwright-core/bin/**' files: - out/**/* - package.json - '!**/*.map' - '!**/*.ts' - '!**/*.tsx' - '!**/*.md' - '!**/*.markdown' - '!**/{test,tests,__tests__,__mocks__,example,examples,docs,doc,demo,samples,man}/**' - '!**/{LICENSE,LICENSE.*,license,CHANGELOG,CHANGELOG.*,README,README.*,HISTORY,HISTORY.*,AUTHORS,CONTRIBUTING}*' - '!**/.*' - '!**/node_modules/.bin/**' - '!**/node_modules/*/{Makefile,Gulpfile.js,Gruntfile.js,CMakeLists.txt,*.coffee,*.flow,*.c,*.cc,*.cpp,*.h,*.hpp,*.gyp,*.gypi,*.tgz,binding.gyp}' - '!**/node_modules/**/{*.d.ts,tsconfig*.json,jest.config*,rollup.config*,webpack.config*,vite.config*}' - '!**/node_modules/better-sqlite3/{deps,src,docs,benchmark}/**' - '!**/node_modules/better-sqlite3/{test_extension.c,download.sh,*.gyp,*.gypi}' - '!**/node_modules/playwright-core/{types,ThirdPartyNotices.txt}/**' - '!**/node_modules/**/*.{c,cc,cpp,h,hpp,cmake,m4,am,sh}' mac: category: public.app-category.productivity # identity 不写死:让 electron-builder 自动从 CSC_NAME 环境变量或钥匙串里挑 # 注意:写 `identity: null` 是"明确不签名",不要这么写 notarize: false # 我们用 notarytool 自己跑,比 electron-builder 内置更稳 hardenedRuntime: true gatekeeperAssess: false entitlements: build/entitlements.mac.plist entitlementsInherit: build/entitlements.mac.inherit.plist # Playwright 只作为 CDP client 使用;lib/bin 里的字体、图片、脚本不是可执行代码。 # 跳过这些资源的单独签名,避免 timestamp 服务抖动被放大成打包失败。 signIgnore: - /node_modules/playwright-core/(lib|bin)/ electronLanguages: - en - zh_CN protocols: - name: Shengxintui URL schemes: - shengxintui extendInfo: NSCameraUsageDescription: 用于视频会议和录屏功能 NSMicrophoneUsageDescription: 用于音频采集 NSAppleEventsUsageDescription: 用于自动化控制其他应用 target: - target: dmg arch: [arm64] - target: zip arch: [arm64] # arch: [arm64, universal] dmg: format: ULFO contents: - x: 130 y: 220 - x: 410 y: 220 type: link path: /Applications win: target: - target: nsis arch: [x64] nsis: oneClick: false perMachine: false allowToChangeInstallationDirectory: true include: build/installer.nsh linux: category: Office target: - target: AppImage arch: [x64] publish: provider: generic url: https://api.shengxintui.com/api/desktop/releases/updater/stub/universal/stable/0.0.0