-
Notifications
You must be signed in to change notification settings - Fork 36
Expand file tree
/
Copy path.electronbuildrc.config.js
More file actions
139 lines (138 loc) · 4.46 KB
/
Copy path.electronbuildrc.config.js
File metadata and controls
139 lines (138 loc) · 4.46 KB
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
module.exports = {
// Reverse-DNS id for Flathub verification under asgardex.com
// (token: https://asgardex.com/.well-known/org.flathub.VerifiedApps.txt)
appId: 'com.asgardex.Asgardex',
productName: 'ASGARDEX',
copyright: 'Copyright © 2025 ${author}',
files: [
'resources/icon.png',
'src/renderer/assets/svg/coin-*.svg',
'build/main/**/*',
'build/renderer/**/*',
'build/preload/**/*',
'node_modules/**/*',
'package.json'
],
afterSign: 'scripts/notarize.js',
directories: {
buildResources: 'resources',
output: 'release'
},
mac: {
artifactName: '${productName}-${version}-${os}-${env.OS_VERSION_SUFFIX}.${ext}',
target: ['dmg'],
category: 'public.app-category.finance',
hardenedRuntime: true,
gatekeeperAssess: false,
entitlements: 'resources/mac/entitlements.mac.plist',
entitlementsInherit: 'resources/mac/entitlements.mac.plist',
notarize: false // Explicitly disable built-in notarization (we use afterSign instead)
},
dmg: {
contents: [
{
x: 130,
y: 220
},
{
x: 410,
y: 220,
type: 'link',
path: '/Applications'
}
]
},
win: {
artifactName: '${productName}-${version}-${os}.${ext}',
target: [
{
target: 'nsis',
arch: ['x64']
}
]
},
// Keep Windows uninstall/upgrade identity after appId rename for Flathub
// (org.thorchain.asgardex → com.asgardex.Asgardex). electron-builder defaults
// APP_GUID to UUID.v5(appId, NSIS namespace); pin the pre-rename value so NSIS
// replaces the existing install instead of installing side-by-side.
// UUID.v5("org.thorchain.asgardex", "50e065bc-3134-11e6-9bab-38c9862bdaf3")
nsis: {
guid: '5bcaf717-02bc-561e-bd5c-5ecf0e404bb5'
},
linux: {
artifactName: '${productName}-${version}-${os}.${ext}',
category: 'Finance',
packageCategory: 'wallet',
target: [
{
target: 'deb',
arch: ['x64']
},
{
target: 'AppImage',
arch: ['x64']
},
{
target: 'flatpak',
arch: ['x64']
}
],
desktop: {
Comment: 'ASGARDEX',
Icon: 'asgardex',
Name: 'ASGARDEX',
StartupNotify: 'true',
Terminal: 'false',
Type: 'Application',
Categories: 'Finance'
}
},
flatpak: {
// Reverse-DNS app id (matches appId). Used as the Flatpak ref.
// `license` is a path to the license file, not an SPDX identifier.
license: 'LICENSE',
// Pin runtime/base to a current, supported freedesktop release.
// org.electronjs.Electron2.BaseApp ships matching branches.
runtimeVersion: '24.08',
baseVersion: '24.08',
finishArgs: [
// Display: match Flatpak Electron sample / electron-builder defaults.
// wayland + x11 keeps XWayland available; native Wayland remains opt-in
// (ozone flags) until Electron 38+ is the app baseline.
'--socket=wayland',
'--socket=x11',
'--share=ipc',
// GPU / OpenGL
'--device=dri',
// Audio
'--socket=pulseaudio',
// Network access (RPC, Midgard, etc.)
'--share=network',
// System notifications
'--talk-name=org.freedesktop.Notifications',
// Hardware wallet (Ledger) USB access via host udev/USB devices
'--device=all',
// Read-only access to the native (.deb/AppImage) config dir so the
// first-run migration can import existing keystores into the sandbox.
// Use the LITERAL host path, not the `xdg-config` token: the token
// bind-mounts onto the app's own per-app config dir (so `:ro` would make
// the whole data dir read-only), whereas the literal path mounts the host
// dir separately, keeping the app's sandbox data writable.
// The app's own data lives in the per-app sandbox dir (no grant needed);
// export/import of keystore files goes through the FileChooser portal.
// Note: case-sensitive — must match app.name (`ASGARDEX`).
'--filesystem=~/.config/ASGARDEX:ro',
// One-time migration from the previous Flatpak id (org.thorchain.asgardex).
'--filesystem=~/.var/app/org.thorchain.asgardex/config/ASGARDEX:ro',
// Vultisig SDK default store (native deb/AppImage). RO import only —
// live Flatpak vaults go under app config (APP_DATA_DIR/vultisig).
'--filesystem=~/.vultisig:ro'
]
},
publish: {
provider: 'github',
owner: 'asgardex',
repo: 'asgardex-desktop',
private: false
}
}