1 | /**
|
2 | * File associations.
|
3 | *
|
4 | * macOS (corresponds to [CFBundleDocumentTypes](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-101685)), NSIS, and MSI only.
|
5 | *
|
6 | * On Windows (NSIS) works only if [nsis.perMachine](https://electron.build/configuration/configuration#NsisOptions-perMachine) is set to `true`.
|
7 | */
|
8 | export interface FileAssociation {
|
9 | /**
|
10 | * The extension (minus the leading period). e.g. `png`.
|
11 | */
|
12 | readonly ext: string | Array<string>;
|
13 | /**
|
14 | * The name. e.g. `PNG`. Defaults to `ext`.
|
15 | */
|
16 | readonly name?: string | null;
|
17 | /**
|
18 | * *windows-only.* The description.
|
19 | */
|
20 | readonly description?: string | null;
|
21 | /**
|
22 | * *linux-only.* The mime-type.
|
23 | */
|
24 | readonly mimeType?: string | null;
|
25 | /**
|
26 | * The path to icon (`.icns` for MacOS and `.ico` for Windows), relative to `build` (build resources directory). Defaults to `${firstExt}.icns`/`${firstExt}.ico` (if several extensions specified, first is used) or to application icon.
|
27 | *
|
28 | * Not supported on Linux, file issue if need (default icon will be `x-office-document`). Not supported on MSI.
|
29 | */
|
30 | readonly icon?: string | null;
|
31 | /**
|
32 | * *macOS-only* The app’s role with respect to the type. The value can be `Editor`, `Viewer`, `Shell`, or `None`. Corresponds to `CFBundleTypeRole`.
|
33 | * @default Editor
|
34 | */
|
35 | readonly role?: string;
|
36 | /**
|
37 | * *macOS-only* Whether the document is distributed as a bundle. If set to true, the bundle directory is treated as a file. Corresponds to `LSTypeIsPackage`.
|
38 | */
|
39 | readonly isPackage?: boolean;
|
40 | /**
|
41 | * *macOS-only* The app’s rank with respect to the type. The value can be `Owner`, `Default`, `Alternate`, or `None`. Corresponds to `LSHandlerRank`.
|
42 | * @default Default
|
43 | */
|
44 | readonly rank?: string;
|
45 | }
|