-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathelectron-builder.json5
104 lines (101 loc) · 2.83 KB
/
electron-builder.json5
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
{
productName: "lameta",
appId: "com.github.lameta.lameta",
afterSign: "electron-builder-notarize",
dmg: {
contents: [
{
x: 410,
y: 150,
type: "link",
path: "/Applications"
},
{
x: 130,
y: 150,
type: "file"
}
]
},
files: [
/* I started on this because it seems crazy to include it (most should be bundled into index.js),
but actually it's one thing after another that something at runtime is expecting to find.
"!node_modules",
"node_modules/electron",
"node_modules/electron-store",
"node_modules/@electron-toolkit",
"node_modules/conf",
*/
// Note, I have so far not been able to prevent two copies of all 5 ffprobe.exe's from being
// included, despite much effort. One copy of each goes into app.asar,
// one goes into app.asar.unpacked (this is the default electron-builder for all exe files,
// I haven't figured out how to override that.)
// electron-builder just doesn't seem to honor the filter rules.
// some of the bigger packages that we don't need. Drops installer by about 9 meg
"!node_modules/@mui",
"!node_modules/@reduxjs",
"!node_modules/xlsx",
"!node_modules/trie-search",
"index.html",
"package.json",
"index*.js",
{
from: "assets/",
// "dist/" is the base directory (index.html is there), so the paths work out more simply if assets are there too. Then we can just say src="assets/whatever.png" in the html.
to: "dist/assets"
},
"dist/",
"locale/",
"archive-configurations/",
"schemas/",
"sample data/",
// we only want ffprobe, not ffmpeg
"!node_modules/ffmpeg-ffprobe-static/ffmpeg*",
"!node_modules/ffmpeg-ffprobe-static/bin/*/ffmpeg*"
],
extraFiles: [],
directories: {
buildResources: "resources",
output: "release"
},
win: {
target: "nsis",
icon: "build/windows.ico",
fileAssociations: [
{
ext: "sprj",
name: "lameta/saymore project"
}
]
},
nsis: {
artifactName: "${productName} Windows Setup ${version}.${ext}"
},
mac: {
target: { target: "default", arch: ["universal"] },
icon: "build/mac.icns",
hardenedRuntime: true,
artifactName: "${productName}-mac-${version}.${ext}",
fileAssociations: [
{
ext: "sprj",
name: "lameta/saymore project",
role: "Editor"
}
],
notarize: {
teamId: "6VW9W5DFMP"
}
},
linux: {
target: ["deb", "AppImage"],
category: "science",
description: "A metadata tool to help with organising collections of files. It is mainly aimed at collections made in the course of documenting language, music, and other cultural expressions.",
fileAssociations: [
{
ext: "sprj",
name: "lameta/saymore project"
}
]
}
}