forked from FreeTubeApp/FreeTube
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathebuilder.config.mjs
More file actions
106 lines (103 loc) · 2.66 KB
/
ebuilder.config.mjs
File metadata and controls
106 lines (103 loc) · 2.66 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
import packageDetails from '../package.json' with { type: 'json' }
/** @type {import('electron-builder').Configuration} */
export default {
appId: `io.freetubeapp.${packageDetails.name}`,
copyright: 'Copyleft © 2020-2026 freetubeapp@protonmail.com',
// asar: false,
// compression: 'store',
productName: packageDetails.productName,
directories: {
output: './build/',
},
protocols: [
{
name: 'FreeTube',
schemes: [
'freetube'
]
}
],
files: [
'_icons/iconColor.*',
'icon.svg',
'./dist/**/*',
'!dist/web/*',
'!node_modules/**/*',
],
// As we bundle all dependecies with webpack, the `node_modules` folder is excluded from packaging in the `files` array.
// electron-builder will however still spend time scanning the `node_modules` folder and building up a list of dependencies,
// returning `false` from the `beforeBuild` hook skips that.
beforeBuild: () => Promise.resolve(false),
dmg: {
contents: [
{
path: '/Applications',
type: 'link',
x: 410,
y: 230,
},
{
type: 'file',
x: 130,
y: 230,
},
],
window: {
height: 380,
width: 540,
}
},
linux: {
category: 'Network',
icon: '_icons/icon.svg',
target: ['deb', 'zip', '7z', 'rpm', 'AppImage', 'pacman'],
},
// See the following issues for more information
// https://github.com/jordansissel/fpm/issues/1503
// https://github.com/jgraph/drawio-desktop/issues/259
rpm: {
fpm: ['--rpm-rpmbuild-define=_build_id_links none']
},
deb: {
depends: [
'libgtk-3-0',
'libnotify4',
'libnss3',
'libxss1',
'libxtst6',
'xdg-utils',
'libatspi2.0-0',
'libuuid1',
'libsecret-1-0'
]
},
mac: {
category: 'public.app-category.utilities',
icon: '_icons/iconMac.icns',
target: ['dmg', 'zip', '7z'],
type: 'distribution',
extendInfo: {
CFBundleURLTypes: [
'freetube'
],
CFBundleURLSchemes: [
'freetube'
],
// Clear the default usage descriptions in the Info.plist file set by Electron that we don't need
// see: https://github.com/electron/electron/blob/main/shell/browser/resources/mac/Info.plist
NSAudioCaptureUsageDescription: undefined,
NSBluetoothAlwaysUsageDescription: undefined,
NSBluetoothPeripheralUsageDescription: undefined,
NSCameraUsageDescription: undefined,
NSMicrophoneUsageDescription: undefined,
}
},
win: {
icon: '_icons/icon.ico',
target: ['nsis', 'zip', '7z', 'portable'],
},
nsis: {
allowToChangeInstallationDirectory: true,
oneClick: false,
},
}