UNPKG

5.49 kBTypeScriptView Raw
1import { SignToolOptions } from '@electron/windows-sign';
2export interface SquirrelWindowsOptions {
3 /**
4 * The folder path of your Electron app
5 */
6 appDirectory: string;
7 /**
8 * The folder path to create the .exe installer in.
9 *
10 * Defaults to the installer folder at the project root.
11 */
12 outputDirectory?: string;
13 /**
14 * The path to the .nuspectemplate file used by Squirrel.exe.
15 *
16 * Defaults to the bundled template.nuspectemplate.
17 */
18 nuspecTemplate?: string;
19 /**
20 * The local path to a `.gif` file to display during install.
21 */
22 loadingGif?: string;
23 /**
24 * The authors value for the nuget package metadata.
25 *
26 * Defaults to the `author` field from your app's package.json file when unspecified.
27 */
28 authors?: string;
29 /**
30 * The owners value for the nuget package metadata.
31 *
32 * Defaults to the `authors` field when unspecified.
33 */
34 owners?: string;
35 /**
36 * The copyright value for the nuget package metadata.
37 *
38 * Defaults to a generated copyright with `authors` or `owners`.
39 */
40 copyright?: string;
41 /**
42 * The name of your app's main `.exe` file.
43 *
44 * This uses the `name` field in your app's package.json file with an added `.exe` extension when unspecified.
45 */
46 exe?: string;
47 /**
48 * The description value for the nuget package metadata.
49 *
50 * Defaults to the `description` field from your app's package.json file when unspecified.
51 */
52 description?: string;
53 /**
54 * The version value for the nuget package metadata.
55 *
56 * Defaults to the `version` field from your app's package.json file when unspecified.
57 */
58 version?: string;
59 /**
60 * The title value for the nuget package metadata.
61 *
62 * Defaults to the `productName` field and then the `name` field from your app's package.json file when unspecified.
63 */
64 title?: string;
65 /**
66 * Windows Application Model ID (appId).
67 *
68 * Defaults to the name field in your app's package.json file.
69 */
70 name?: string;
71 /**
72 * The path to an Authenticode Code Signing Certificate.
73 *
74 * This is a legacy parameter provided for backwards compatibility.
75 * For more comprehensive support of various codesigning scenarios
76 * like EV certificates, see the "windowsSign" parameter.
77 */
78 certificateFile?: string;
79 /**
80 * The password to decrypt the certificate given in `certificateFile`
81 *
82 * This is a legacy parameter provided for backwards compatibility.
83 * For more comprehensive support of various codesigning scenarios
84 * like EV certificates, see the "windowsSign" parameter.
85 */
86 certificatePassword?: string;
87 /**
88 * Params to pass to signtool.
89 *
90 * Overrides `certificateFile` and `certificatePassword`.
91 *
92 * This is a legacy parameter provided for backwards compatibility.
93 * For more comprehensive support of various codesigning scenarios
94 * like EV certificates, see the "windowsSign" parameter.
95 */
96 signWithParams?: string;
97 /**
98 * A publicly accessible, fully qualified HTTP(S) URL to an ICO file, used as the application icon
99 * displayed in Control Panel ➡ Programs and Features. The icon is retrieved at install time.
100 * Example: http://example.com/favicon.ico
101 *
102 * Does not accept `file:` URLs.
103 *
104 * Defaults to the Electron icon.
105 */
106 iconUrl?: string;
107 /**
108 * The ICO file to use as the icon for the generated Setup.exe
109 */
110 setupIcon?: string;
111 /**
112 * The name to use for the generated Setup.exe file
113 */
114 setupExe?: string;
115 /**
116 * The name to use for the generated Setup.msi file
117 */
118 setupMsi?: string;
119 /**
120 * Should Squirrel.Windows create an MSI installer?
121 */
122 noMsi?: boolean;
123 /**
124 * Should Squirrel.Windows delta packages? (disable only if necessary, they are a Good Thing)
125 */
126 noDelta?: boolean;
127 /**
128 * A URL to your existing updates. If given, these will be downloaded to create delta updates
129 */
130 remoteReleases?: string;
131 /**
132 * Authentication token for remote updates
133 */
134 remoteToken?: string;
135 usePackageJson?: boolean;
136 frameworkVersion?: string;
137 fixUpPaths?: boolean;
138 skipUpdateIcon?: boolean;
139 /**
140 * Requires Node.js 18 or newer.
141 *
142 * Sign your app with @electron/windows-sign, allowing for full customization
143 * of the code-signing process - and supports more complicated scenarios like
144 * cloud-hosted EV certificates, custom sign pipelines, and per-file overrides.
145 * It also supports all existing "simple" codesigning scenarios, including
146 * just passing a certificate file and password.
147 *
148 * Please see https://github.com/@electron/windows-sign for all possible
149 * configuration options.
150 */
151 windowsSign?: SignToolOptions;
152}
153export interface PersonMetadata {
154 name: string;
155 email?: string;
156 url?: string;
157}
158export interface AdditionalFile {
159 src: string;
160 target: string;
161}
162export interface Metadata {
163 name?: string;
164 productName?: string;
165 version?: string;
166 copyright?: string;
167 author?: string | PersonMetadata;
168 authors?: string | PersonMetadata[];
169 owners?: string | PersonMetadata[];
170 description?: string;
171 iconUrl?: string;
172 additionalFiles?: AdditionalFile[];
173}