-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
build.js
73 lines (71 loc) · 2.24 KB
/
build.js
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
/* eslint-disable no-template-curly-in-string */
const builder = require('electron-builder')
const Platform = builder.Platform
function getCurrentPlatform() {
switch (process.platform) {
case 'win32':
return Platform.WINDOWS
case 'darwin':
return Platform.MAC
case 'linux':
return Platform.LINUX
default:
console.error('Cannot resolve current platform!')
return undefined
}
}
builder
.build({
targets: (process.argv[2] != null && Platform[process.argv[2]] != null
? Platform[process.argv[2]]
: getCurrentPlatform()
).createTarget(),
config: {
appId: 'newzenlauncher',
productName: 'NewzenLauncher',
artifactName: '${productName}-setup-${version}.${ext}',
copyright: 'Copyright © 2021 Newzen',
directories: {
buildResources: 'build',
output: 'dist'
},
win: {
target: [
{
target: 'nsis',
arch: 'x64'
}
]
},
nsis: {
oneClick: false,
perMachine: false,
allowElevation: true,
allowToChangeInstallationDirectory: true
},
mac: {
target: 'dmg',
category: 'public.app-category.games'
},
linux: {
target: 'AppImage',
maintainer: 'Titouan Petit (TIEB62)',
vendor: 'Newzen',
synopsis: 'Launcher de Newzen',
description: 'Launcher Officiel de Newzen',
category: 'Game'
},
compression: 'maximum',
files: [
'!{dist,.gitignore,.github,README.md,.vscode,docs,dev-app-update.yml,.nvmrc,.eslintrc.json,.eslintignore,build.js,.prettierignore,.prettierrc.json}'
],
extraResources: ['libraries'],
asar: true
}
})
.then(() => {
console.log('Build complete!')
})
.catch((err) => {
console.error('Error during build!', err)
})