/
Config.ts
93 lines (93 loc) · 2.78 KB
/
Config.ts
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
export interface MakerSnapConfig {
/**
* [Additional Snapcraft configuration](https://docs.snapcraft.io/build-snaps/syntax#app-name) for the Electron app.
*/
appConfig?: string;
/**
* Additional [plugs](https://docs.snapcraft.io/reference/interfaces) for the
* Electron app which are necessary for the app to
* be a consumer of a feature in the system. Common features can be set via
* the `features` option. To set any attributes for the plugs, set them in the
* plugs option.
*/
appPlugs?: string[];
/**
* Additional [slots](https://docs.snapcraft.io/reference/interfaces) for the
* Electron app which are necessary for the app to
* be a producer of a feature in the system. Common features can be set via
* the `features` option. To set any attributes for the plugs, set them in
* the slots option.
*/
appSlots?: string[];
/**
* See the [Snapcraft documentation](https://snapcraft.io/docs/reference/confinement).
*
* Default: devmode
*/
confinement?: 'strict' | 'devmode' | 'classic';
/**
* The longer description for the snap. Can contain newlines.
*/
description?: string;
/**
* The absolute path to a custom Freedesktop.org desktop file template.
*/
desktopTemplate?: string;
/**
* The executable name of the Electron app, sans file extension. Corresponds
* to the [`executableName` option](https://github.com/electron-userland/electron-packager/blob/master/docs/api#executablename)
* in Electron Packager.
*/
executableName?: string;
/**
* Describes what functionality the Electron app needs, in order to work inside the Snap sandbox.
*/
features?: {
/**
* PulseAudio support
*/
audio?: true;
/**
* ALSA support (replaces audio support if both are specified)
*/
alsa?: true;
/**
* [web browser functionality](https://github.com/snapcore/snapd/wiki/Interfaces#browser-support) (e.g., Brave)
*/
browserSandbox?: true;
/**
* [MPRIS](https://specifications.freedesktop.org/mpris-spec/latest/) support.
*
* If enabled, the interface name must be specified as the feature value.
*/
mpris?: string;
/**
* Access the secret service (e.g., GNOME Keyring)
*/
passwords?: true;
/**
* WebGL support (requires Mesa, etc.)
*/
webgl?: true;
};
/**
* The quality grade of the Snap. See the [Snapcraft documentation](https://docs.snapcraft.io/build-snaps/syntax#grade) for valid values.
*/
grade?: 'devel' | 'stable';
/**
* The name of the Snap package
*/
name?: string;
/**
* The absolute path to the snapcraft executable
*/
snapcraft?: string;
/**
* A 78 character long summary for the Snap
*/
summary?: string;
/**
* The version of the Snap package
*/
version?: string;
}