1 | import { SignToolOptions } from '@electron/windows-sign';
|
2 | export 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 | }
|
153 | export interface PersonMetadata {
|
154 | name: string;
|
155 | email?: string;
|
156 | url?: string;
|
157 | }
|
158 | export interface AdditionalFile {
|
159 | src: string;
|
160 | target: string;
|
161 | }
|
162 | export 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 | }
|