UNPKG

4.72 kBTypeScriptView Raw
1import { PlatformSpecificBuildOptions, TargetConfigType, TargetSpecificOptions } from "../index";
2export interface LinuxConfiguration extends CommonLinuxOptions, PlatformSpecificBuildOptions {
3 /**
4 * Target package type: list of `AppImage`, `snap`, `deb`, `rpm`, `freebsd`, `pacman`, `p5p`, `apk`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`.
5 *
6 * electron-builder [docker image](/multi-platform-build#docker) can be used to build Linux targets on any platform.
7 *
8 * Please [do not put an AppImage into another archive](https://github.com/probonopd/AppImageKit/wiki/Creating-AppImages#common-mistake) like a .zip or .tar.gz.
9 * @default AppImage
10 */
11 readonly target?: TargetConfigType;
12 /**
13 * The maintainer. Defaults to [author](/configuration/configuration.md#Metadata-author).
14 */
15 readonly maintainer?: string | null;
16 /**
17 * The vendor. Defaults to [author](/configuration/configuration.md#Metadata-author).
18 */
19 readonly vendor?: string | null;
20 /**
21 * @deprecated
22 * @private
23 */
24 readonly depends?: Array<string> | null;
25 /**
26 * The executable name. Defaults to `productName`.
27 * Cannot be specified per target, allowed only in the `linux`.
28 */
29 readonly executableName?: string | null;
30 /**
31 * The path to icon set directory or one png file, relative to the [build resources](/configuration/configuration.md#MetadataDirectories-buildResources) or to the project directory. The icon filename must contain the size (e.g. 32x32.png) of the icon.
32 * By default will be generated automatically based on the macOS icns file.
33 */
34 readonly icon?: string;
35 /**
36 * backward compatibility + to allow specify fpm-only category for all possible fpm targets in one place
37 * @private
38 */
39 readonly packageCategory?: string | null;
40}
41export interface CommonLinuxOptions {
42 /**
43 * The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).
44 */
45 readonly synopsis?: string | null;
46 /**
47 * As [description](/configuration/configuration.md#Metadata-description) from application package.json, but allows you to specify different for Linux.
48 */
49 readonly description?: string | null;
50 /**
51 * The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).
52 */
53 readonly category?: string | null;
54 /**
55 * The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing.
56 */
57 readonly mimeTypes?: Array<string> | null;
58 /**
59 * The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value).
60 */
61 readonly desktop?: any | null;
62}
63export interface LinuxTargetSpecificOptions extends CommonLinuxOptions, TargetSpecificOptions {
64 /**
65 * Package dependencies.
66 */
67 readonly depends?: Array<string> | null;
68 /**
69 * The compression type.
70 * @default xz
71 */
72 readonly compression?: "gz" | "bzip2" | "xz" | null;
73 readonly icon?: string;
74 /**
75 * The package category.
76 */
77 readonly packageCategory?: string | null;
78 readonly vendor?: string | null;
79 readonly maintainer?: string | null;
80 readonly afterInstall?: string | null;
81 readonly afterRemove?: string | null;
82 /**
83 * *Advanced only* The [fpm](https://github.com/jordansissel/fpm/wiki#usage) options.
84 *
85 * Example: `["--before-install=build/deb-preinstall.sh", "--after-upgrade=build/deb-postinstall.sh"]`
86 */
87 readonly fpm?: Array<string> | null;
88}
89export interface DebOptions extends LinuxTargetSpecificOptions {
90 /**
91 * Package dependencies. Defaults to `["gconf2", "gconf-service", "libnotify4", "libappindicator1", "libxtst6", "libnss3"]`.
92 */
93 readonly depends?: Array<string> | null;
94 /**
95 * The [package category](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Section).
96 */
97 readonly packageCategory?: string | null;
98 /**
99 * The [Priority](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Priority) attribute.
100 */
101 readonly priority?: string | null;
102}
103export interface AppImageOptions extends CommonLinuxOptions, TargetSpecificOptions {
104 /**
105 * The system integration installation.
106 * @default ask
107 */
108 readonly systemIntegration?: "ask" | "doNotAsk";
109 /**
110 * The path to EULA license file. Defaults to `license.txt` or `eula.txt` (or uppercase variants). Only plain text is supported.
111 */
112 readonly license?: string | null;
113}