forked from vladimiry/ElectronMail
-
Notifications
You must be signed in to change notification settings - Fork 0
/
electron-builder.yml
82 lines (74 loc) · 2.39 KB
/
electron-builder.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
appId: 'github.com/vladimiry/ElectronMail'
artifactName: ${name}-${version}-${os}-${arch}${env.ARTIFACT_NAME_POSTFIX}.${ext}
productName: 'ElectronMail'
publish: {provider: github, releaseType: draft, vPrefixedTagName: true}
forceCodeSigning: false
# TODO consider moving fully bundable 'dependencies' to 'devDependencies' to reduce final package size
directories:
output: ./dist
files:
# TODO exclude not needed stuff in 'files:' section to reduce app packages size, can save megabytes, so a significant improvement
- './app/**/*'
- './package.json'
- '!app/electron-main-e2e.js'
- '!app/electron-preload/browser-window-e2e.js'
- '!node_modules/rxjs/{_esm5,_esm2015,src,bundles}'
- '!node_modules/pureimage/{firstimages,tests}'
# sodium-native TODO: include into the package only needed prebuilds for the platform is being built
- '!node_modules/sodium-native/{src,test,libsodium,tmp}'
- '!node_modules/sodium-native/prebuilds/linux-arm'
- '!node_modules/sodium-native/prebuilds/win32-ia32'
# remeda
- '!node_modules/remeda/{coverage,scripts,src}'
# spellchecker
- '!node_modules/spellchecker/{spec}'
# re2
- '!node_modules/re2'
compression: normal
asar: true
asarUnpack:
- '**/node_modules/sodium-native/**/*'
- '**/node_modules/keytar/**/*'
- '**/node_modules/spellchecker/**/*'
- '**/node_modules/desktop-idle/**/*'
afterPack: './scripts/electron-builder/hooks/afterPack/index.js'
mac:
icon: ./app/assets/icons/mac/icon.icns
category: public.app-category.productivity
darkModeSupport: true
target:
- {target: dmg}
dmg:
icon: ./app/assets/icons/mac/icon.icns
iconSize: 128
contents:
- {x: 380, y: 240, type: link, path: /Applications}
- {x: 122, y: 240, type: file}
linux:
icon: ./app/assets/icons/png
category: Office
packageCategory: Office
desktop:
StartupWMClass: electron-mail
executableArgs:
- '--js-flags="--max-old-space-size=6144"'
snap:
confinement: strict
stagePackages:
- default
plugs:
- default
- password-manager-service
environment:
DISABLE_WAYLAND: 1
HUNSPELL_DICTIONARIES: $SNAP/usr/share/hunspell
win:
artifactName: ${name}-${version}-windows-${arch}.${ext}
icon: ./app/assets/icons/win/icon.ico
target:
- {target: nsis}
nsis:
artifactName: ${name}-${version}-windows-${arch}-nsis-installer.${ext}
oneClick: false
perMachine: false
include: scripts/electron-builder/installer.nsh