返回 oh-my-ppt
electron-builder.yml
根目录 / electron-builder.yml
1 appId: com.ohmyppt.app
2 productName: OhMyPPT
3 directories:
4 buildResources: build
5 files:
6 - '!**/.DS_Store'
7 - '!**/._*'
8 # ffmpeg is copied by build/after-pack.cjs per platform so unused binaries are not bundled.
9 # Linux currently has no bundled ffmpeg binary in resources/ffmpeg; MP4 export needs a Linux
10 # ffmpeg asset before Linux video export can be enabled in packaged apps.
11 - '!resources/ffmpeg/**'
12 - '!**/.vscode/*'
13 - '!**/.idea/**'
14 - '!**/.git/**'
15 - '!src/**'
16 - '!tools/**'
17 - '!scripts/**'
18 - '!assets/**'
19 - '!docs/**'
20 - '!doc/**'
21 - '!logs/**'
22 - '!patch/**'
23 - '!tpack/**'
24 - '!dist/**'
25 - '!.claude/**'
26 - '!.pnpm-store/**'
27 - '!electron.vite.config.{js,ts,mjs,cjs}'
28 - '!{.eslintcache,eslint.config.mjs,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}'
29 - '!README_*'
30 - '!{.env,.env.*,.npmrc,pnpm-lock.yaml}'
31 - '!{tsconfig.json,tsconfig.node.json,tsconfig.web.json}'
32 - '!**/*.map'
33 - '!**/*.tsbuildinfo'
34 - '!*.db'
35 - '!*.db-*'
36 - '!{ohmyppt.dev.db,ohmyppt.db}'
37 - '!thumb.png'
38 - '!tests/**'
39 - '!test/**'
40 asarUnpack:
41 - resources/**
42 - node_modules/@node-rs/**/*.node
43 afterPack: build/after-pack.cjs
44 extraResources:
45 - from: build/icons/icon.ico
46 to: icons/icon.ico
47 - from: build/icons/32x32.png
48 to: icons/32x32.png
49 - from: build/icons/16x16.png
50 to: icons/16x16.png
51 forceCodeSigning: false
52 win:
53 target:
54 - target: nsis
55 arch:
56 - x64
57 executableName: ohmyppt
58 icon: build/icons/icon.ico
59 nsis:
60 artifactName: ${name}-${version}-setup.${ext}
61 shortcutName: ${productName}
62 uninstallDisplayName: ${productName}
63 createDesktopShortcut: always
64 installerIcon: build/icons/icon.ico
65 uninstallerIcon: build/icons/icon.ico
66 installerHeaderIcon: build/icons/icon.ico
67 unicode: true
68 warningsAsErrors: false
69 runAfterFinish: false
70 oneClick: false
71 perMachine: false
72 allowToChangeInstallationDirectory: true
73 allowElevation: true
74 createStartMenuShortcut: true
75 include: installer.nsh
76 mac:
77 target:
78 - target: dmg
79 arch:
80 - x64
81 - arm64
82 icon: build/icons/icon.icns
83 identity: null
84 extendInfo:
85 - NSCameraUsageDescription: Application requests access to the device's camera.
86 - NSMicrophoneUsageDescription: Application requests access to the device's microphone.
87 - NSDocumentsFolderUsageDescription: Application requests access to the user's Documents folder.
88 - NSDownloadsFolderUsageDescription: Application requests access to the user's Downloads folder.
89 notarize: false
90 dmg:
91 artifactName: ${name}-${version}-${arch}.${ext}
92 linux:
93 # Packaging metadata is ready for Linux, but resources/ffmpeg currently only contains
94 # macOS and Windows binaries. build/after-pack.cjs already looks for ffmpeg-linux-x64;
95 # add that binary before advertising MP4 export support for Linux packages.
96 executableName: ohmyppt
97 target:
98 - target: AppImage
99 arch:
100 - x64
101 - target: deb
102 arch:
103 - x64
104 icon: build/icons
105 maintainer: arcsin1
106 vendor: arcsin1
107 category: Office
108 synopsis: Local-first AI presentation workbench
109 description: Oh My PPT is a local-first AI presentation generator and editor.
110 appImage:
111 artifactName: ${name}-${version}-${arch}.${ext}
112 deb:
113 artifactName: ${name}-${version}-${arch}.${ext}
114 depends:
115 - libgtk-3-0
116 - libnotify4
117 - libnss3
118 - libxss1
119 - libxtst6
120 - xdg-utils
121 npmRebuild: false
122 publish:
123 provider: generic
124 url: https://example.com/auto-updates
125 electronDownload:
126 mirror: https://npmmirror.com/mirrors/electron/
127
127 lines YAML