app-builder-lib 27.0.0-alpha.2 → 27.0.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/dist/Framework.d.ts +2 -0
  2. package/dist/Framework.d.ts.map +1 -1
  3. package/dist/Framework.js.map +1 -1
  4. package/dist/asar/asarFileChecker.d.ts +4 -2
  5. package/dist/asar/asarFileChecker.d.ts.map +1 -1
  6. package/dist/asar/asarFileChecker.js +2 -3
  7. package/dist/asar/asarFileChecker.js.map +1 -1
  8. package/dist/codeSign/certInfo.d.ts +14 -0
  9. package/dist/codeSign/certInfo.d.ts.map +1 -1
  10. package/dist/codeSign/certInfo.js +49 -0
  11. package/dist/codeSign/certInfo.js.map +1 -1
  12. package/dist/codeSign/mac/macCodeSign.d.ts +3 -3
  13. package/dist/codeSign/mac/macCodeSign.d.ts.map +1 -1
  14. package/dist/codeSign/mac/macCodeSign.js +40 -14
  15. package/dist/codeSign/mac/macCodeSign.js.map +1 -1
  16. package/dist/codeSign/win/hsmSignManager.d.ts +10 -0
  17. package/dist/codeSign/win/hsmSignManager.d.ts.map +1 -0
  18. package/dist/codeSign/win/hsmSignManager.js +50 -0
  19. package/dist/codeSign/win/hsmSignManager.js.map +1 -0
  20. package/dist/codeSign/win/pkcs11SignManager.d.ts +14 -0
  21. package/dist/codeSign/win/pkcs11SignManager.d.ts.map +1 -0
  22. package/dist/codeSign/win/pkcs11SignManager.js +82 -0
  23. package/dist/codeSign/win/pkcs11SignManager.js.map +1 -0
  24. package/dist/codeSign/{signManager.d.ts → win/signManager.d.ts} +8 -6
  25. package/dist/codeSign/win/signManager.d.ts.map +1 -0
  26. package/dist/codeSign/win/signManager.js +19 -0
  27. package/dist/codeSign/win/signManager.js.map +1 -0
  28. package/dist/codeSign/win/signtoolBaseSignManager.d.ts +71 -0
  29. package/dist/codeSign/win/signtoolBaseSignManager.d.ts.map +1 -0
  30. package/dist/codeSign/win/signtoolBaseSignManager.js +414 -0
  31. package/dist/codeSign/win/signtoolBaseSignManager.js.map +1 -0
  32. package/dist/codeSign/win/windowsCodeSign.d.ts.map +1 -1
  33. package/dist/codeSign/win/windowsCodeSign.js +9 -4
  34. package/dist/codeSign/win/windowsCodeSign.js.map +1 -1
  35. package/dist/codeSign/win/windowsSignAzureManager.d.ts +9 -3
  36. package/dist/codeSign/win/windowsSignAzureManager.d.ts.map +1 -1
  37. package/dist/codeSign/win/windowsSignAzureManager.js +130 -36
  38. package/dist/codeSign/win/windowsSignAzureManager.js.map +1 -1
  39. package/dist/codeSign/win/windowsSignToolManager.d.ts +1 -58
  40. package/dist/codeSign/win/windowsSignToolManager.d.ts.map +1 -1
  41. package/dist/codeSign/win/windowsSignToolManager.js +3 -363
  42. package/dist/codeSign/win/windowsSignToolManager.js.map +1 -1
  43. package/dist/configuration.d.ts +22 -123
  44. package/dist/configuration.d.ts.map +1 -1
  45. package/dist/configuration.js.map +1 -1
  46. package/dist/electron/ElectronFramework.d.ts +0 -2
  47. package/dist/electron/ElectronFramework.d.ts.map +1 -1
  48. package/dist/electron/ElectronFramework.js +15 -27
  49. package/dist/electron/ElectronFramework.js.map +1 -1
  50. package/dist/electron/injectFFMPEG.js +2 -2
  51. package/dist/electron/injectFFMPEG.js.map +1 -1
  52. package/dist/electron/mac/electronMac.js +10 -8
  53. package/dist/electron/mac/electronMac.js.map +1 -1
  54. package/dist/electron/win/electronWin.js +1 -2
  55. package/dist/electron/win/electronWin.js.map +1 -1
  56. package/dist/index.d.ts +8 -4
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +3 -0
  59. package/dist/index.js.map +1 -1
  60. package/dist/indexInternal.d.ts +3 -3
  61. package/dist/indexInternal.d.ts.map +1 -1
  62. package/dist/indexInternal.js +2 -2
  63. package/dist/indexInternal.js.map +1 -1
  64. package/dist/macPackager.d.ts +19 -10
  65. package/dist/macPackager.d.ts.map +1 -1
  66. package/dist/macPackager.js +149 -121
  67. package/dist/macPackager.js.map +1 -1
  68. package/dist/node-module-collector/moduleManager.d.ts +9 -2
  69. package/dist/node-module-collector/moduleManager.d.ts.map +1 -1
  70. package/dist/node-module-collector/moduleManager.js +4 -2
  71. package/dist/node-module-collector/moduleManager.js.map +1 -1
  72. package/dist/node-module-collector/nodeModulesCollector.d.ts +13 -23
  73. package/dist/node-module-collector/nodeModulesCollector.d.ts.map +1 -1
  74. package/dist/node-module-collector/nodeModulesCollector.js +52 -122
  75. package/dist/node-module-collector/nodeModulesCollector.js.map +1 -1
  76. package/dist/node-module-collector/pnpmNodeModulesCollector.d.ts +48 -1
  77. package/dist/node-module-collector/pnpmNodeModulesCollector.d.ts.map +1 -1
  78. package/dist/node-module-collector/pnpmNodeModulesCollector.js +216 -17
  79. package/dist/node-module-collector/pnpmNodeModulesCollector.js.map +1 -1
  80. package/dist/node-module-collector/types.d.ts +2 -0
  81. package/dist/node-module-collector/types.d.ts.map +1 -1
  82. package/dist/node-module-collector/types.js.map +1 -1
  83. package/dist/options/FuseOptionsV1.d.ts +137 -0
  84. package/dist/options/FuseOptionsV1.d.ts.map +1 -0
  85. package/dist/options/FuseOptionsV1.js +2 -0
  86. package/dist/options/FuseOptionsV1.js.map +1 -0
  87. package/dist/options/PlatformSpecificBuildOptions.d.ts +1 -1
  88. package/dist/options/PlatformSpecificBuildOptions.d.ts.map +1 -1
  89. package/dist/options/PlatformSpecificBuildOptions.js.map +1 -1
  90. package/dist/options/linuxOptions.d.ts +0 -10
  91. package/dist/options/linuxOptions.d.ts.map +1 -1
  92. package/dist/options/linuxOptions.js.map +1 -1
  93. package/dist/options/macOptions.d.ts +93 -126
  94. package/dist/options/macOptions.d.ts.map +1 -1
  95. package/dist/options/macOptions.js.map +1 -1
  96. package/dist/options/winOptions.d.ts +137 -63
  97. package/dist/options/winOptions.d.ts.map +1 -1
  98. package/dist/options/winOptions.js +12 -1
  99. package/dist/options/winOptions.js.map +1 -1
  100. package/dist/packager.js +1 -1
  101. package/dist/packager.js.map +1 -1
  102. package/dist/platformPackager.d.ts +5 -2
  103. package/dist/platformPackager.d.ts.map +1 -1
  104. package/dist/platformPackager.js +16 -13
  105. package/dist/platformPackager.js.map +1 -1
  106. package/dist/targets/ArchiveTarget.js +2 -2
  107. package/dist/targets/ArchiveTarget.js.map +1 -1
  108. package/dist/targets/archive.d.ts +10 -2
  109. package/dist/targets/archive.d.ts.map +1 -1
  110. package/dist/targets/archive.js +25 -6
  111. package/dist/targets/archive.js.map +1 -1
  112. package/dist/targets/linux/FlatpakTarget.d.ts.map +1 -1
  113. package/dist/targets/linux/FlatpakTarget.js +4 -1
  114. package/dist/targets/linux/FlatpakTarget.js.map +1 -1
  115. package/dist/targets/linux/FpmTarget.d.ts +6 -0
  116. package/dist/targets/linux/FpmTarget.d.ts.map +1 -1
  117. package/dist/targets/linux/FpmTarget.js +25 -3
  118. package/dist/targets/linux/FpmTarget.js.map +1 -1
  119. package/dist/targets/linux/LinuxTargetHelper.d.ts +14 -0
  120. package/dist/targets/linux/LinuxTargetHelper.d.ts.map +1 -1
  121. package/dist/targets/linux/LinuxTargetHelper.js +38 -59
  122. package/dist/targets/linux/LinuxTargetHelper.js.map +1 -1
  123. package/dist/targets/linux/appimage/AppImageTarget.d.ts +1 -0
  124. package/dist/targets/linux/appimage/AppImageTarget.d.ts.map +1 -1
  125. package/dist/targets/linux/appimage/AppImageTarget.js +8 -9
  126. package/dist/targets/linux/appimage/AppImageTarget.js.map +1 -1
  127. package/dist/targets/linux/appimage/appImageUtil.d.ts +4 -0
  128. package/dist/targets/linux/appimage/appImageUtil.d.ts.map +1 -1
  129. package/dist/targets/linux/appimage/appImageUtil.js +11 -4
  130. package/dist/targets/linux/appimage/appImageUtil.js.map +1 -1
  131. package/dist/targets/linux/appimage/appLauncher.d.ts.map +1 -1
  132. package/dist/targets/linux/appimage/appLauncher.js +5 -11
  133. package/dist/targets/linux/appimage/appLauncher.js.map +1 -1
  134. package/dist/targets/linux/launcherScript.d.ts +32 -0
  135. package/dist/targets/linux/launcherScript.d.ts.map +1 -0
  136. package/dist/targets/linux/launcherScript.js +24 -0
  137. package/dist/targets/linux/launcherScript.js.map +1 -0
  138. package/dist/targets/linux/snap/core24.d.ts +2 -0
  139. package/dist/targets/linux/snap/core24.d.ts.map +1 -1
  140. package/dist/targets/linux/snap/core24.js +48 -8
  141. package/dist/targets/linux/snap/core24.js.map +1 -1
  142. package/dist/targets/linux/snap/coreLegacy.d.ts +2 -2
  143. package/dist/targets/linux/snap/coreLegacy.d.ts.map +1 -1
  144. package/dist/targets/linux/snap/coreLegacy.js +9 -10
  145. package/dist/targets/linux/snap/coreLegacy.js.map +1 -1
  146. package/dist/targets/linux/snap/snapCommand.d.ts +13 -0
  147. package/dist/targets/linux/snap/snapCommand.d.ts.map +1 -0
  148. package/dist/targets/linux/snap/snapCommand.js +21 -0
  149. package/dist/targets/linux/snap/snapCommand.js.map +1 -0
  150. package/dist/targets/mac/MacTargetHelper.d.ts +12 -12
  151. package/dist/targets/mac/MacTargetHelper.d.ts.map +1 -1
  152. package/dist/targets/mac/MacTargetHelper.js +72 -67
  153. package/dist/targets/mac/MacTargetHelper.js.map +1 -1
  154. package/dist/targets/mac/pkg.d.ts.map +1 -1
  155. package/dist/targets/mac/pkg.js +4 -4
  156. package/dist/targets/mac/pkg.js.map +1 -1
  157. package/dist/targets/win/AppxTarget.d.ts.map +1 -1
  158. package/dist/targets/win/AppxTarget.js +9 -9
  159. package/dist/targets/win/AppxTarget.js.map +1 -1
  160. package/dist/targets/win/MsiTarget.d.ts.map +1 -1
  161. package/dist/targets/win/MsiTarget.js +8 -11
  162. package/dist/targets/win/MsiTarget.js.map +1 -1
  163. package/dist/targets/win/nsis/NsisTarget.js +5 -5
  164. package/dist/targets/win/nsis/NsisTarget.js.map +1 -1
  165. package/dist/targets/win/nsis/nsisScriptGenerator.js +2 -2
  166. package/dist/targets/win/nsis/nsisScriptGenerator.js.map +1 -1
  167. package/dist/targets/win/nsis/nsisUtil.d.ts.map +1 -1
  168. package/dist/targets/win/nsis/nsisUtil.js +2 -2
  169. package/dist/targets/win/nsis/nsisUtil.js.map +1 -1
  170. package/dist/toolsets/custom.d.ts +1 -0
  171. package/dist/toolsets/custom.d.ts.map +1 -1
  172. package/dist/toolsets/custom.js +19 -8
  173. package/dist/toolsets/custom.js.map +1 -1
  174. package/dist/toolsets/icons.d.ts.map +1 -1
  175. package/dist/toolsets/icons.js +11 -3
  176. package/dist/toolsets/icons.js.map +1 -1
  177. package/dist/toolsets/winCodeSign.d.ts +36 -0
  178. package/dist/toolsets/winCodeSign.d.ts.map +1 -1
  179. package/dist/toolsets/winCodeSign.js +84 -30
  180. package/dist/toolsets/winCodeSign.js.map +1 -1
  181. package/dist/toolsets/wine.d.ts.map +1 -1
  182. package/dist/toolsets/wine.js +20 -12
  183. package/dist/toolsets/wine.js.map +1 -1
  184. package/dist/util/appFileCopier.d.ts.map +1 -1
  185. package/dist/util/appFileCopier.js +9 -4
  186. package/dist/util/appFileCopier.js.map +1 -1
  187. package/dist/util/archCompatibility.d.ts +42 -0
  188. package/dist/util/archCompatibility.d.ts.map +1 -0
  189. package/dist/util/archCompatibility.js +202 -0
  190. package/dist/util/archCompatibility.js.map +1 -0
  191. package/dist/util/config/schemaValidator.d.ts.map +1 -1
  192. package/dist/util/config/schemaValidator.js +1 -1
  193. package/dist/util/config/schemaValidator.js.map +1 -1
  194. package/dist/util/electronGet.d.ts +8 -25
  195. package/dist/util/electronGet.d.ts.map +1 -1
  196. package/dist/util/electronGet.js +107 -87
  197. package/dist/util/electronGet.js.map +1 -1
  198. package/dist/util/flags.d.ts +0 -3
  199. package/dist/util/flags.d.ts.map +1 -1
  200. package/dist/util/flags.js +0 -9
  201. package/dist/util/flags.js.map +1 -1
  202. package/dist/util/installOrRebuild.d.ts +38 -0
  203. package/dist/util/installOrRebuild.d.ts.map +1 -0
  204. package/dist/util/{yarn.js → installOrRebuild.js} +65 -14
  205. package/dist/util/installOrRebuild.js.map +1 -0
  206. package/dist/util/langs.d.ts.map +1 -1
  207. package/dist/util/langs.js +1 -0
  208. package/dist/util/langs.js.map +1 -1
  209. package/dist/util/license.d.ts.map +1 -1
  210. package/dist/util/license.js +4 -1
  211. package/dist/util/license.js.map +1 -1
  212. package/dist/util/mac/macosIconComposer.d.ts +2 -1
  213. package/dist/util/mac/macosIconComposer.d.ts.map +1 -1
  214. package/dist/util/mac/macosIconComposer.js +40 -58
  215. package/dist/util/mac/macosIconComposer.js.map +1 -1
  216. package/dist/util/streamSpawnToFile.d.ts +47 -0
  217. package/dist/util/streamSpawnToFile.d.ts.map +1 -0
  218. package/dist/util/streamSpawnToFile.js +110 -0
  219. package/dist/util/streamSpawnToFile.js.map +1 -0
  220. package/dist/util/toolsetLock.d.ts +2 -0
  221. package/dist/util/toolsetLock.d.ts.map +1 -1
  222. package/dist/util/toolsetLock.js +31 -5
  223. package/dist/util/toolsetLock.js.map +1 -1
  224. package/dist/version.d.ts +1 -1
  225. package/dist/version.js +1 -1
  226. package/dist/version.js.map +1 -1
  227. package/dist/vm/ParallelsVm.d.ts.map +1 -1
  228. package/dist/vm/ParallelsVm.js +13 -2
  229. package/dist/vm/ParallelsVm.js.map +1 -1
  230. package/dist/vm/vm.d.ts.map +1 -1
  231. package/dist/vm/vm.js +4 -1
  232. package/dist/vm/vm.js.map +1 -1
  233. package/dist/winPackager.d.ts +1 -2
  234. package/dist/winPackager.d.ts.map +1 -1
  235. package/dist/winPackager.js +17 -22
  236. package/dist/winPackager.js.map +1 -1
  237. package/package.json +15 -14
  238. package/scheme.json +486 -439
  239. package/templates/appx/appxmanifest.xml +1 -2
  240. package/templates/nsis/assistedMessages.yml +17 -0
  241. package/templates/nsis/messages.yml +5 -0
  242. package/dist/codeSign/signManager.d.ts.map +0 -1
  243. package/dist/codeSign/signManager.js +0 -2
  244. package/dist/codeSign/signManager.js.map +0 -1
  245. package/dist/util/yarn.d.ts +0 -23
  246. package/dist/util/yarn.d.ts.map +0 -1
  247. package/dist/util/yarn.js.map +0 -1
package/scheme.json CHANGED
@@ -1168,98 +1168,177 @@
1168
1168
  },
1169
1169
  "type": "object"
1170
1170
  },
1171
- "ElectronDownloadOptions": {
1171
+ "ElectronGetOptions": {
1172
1172
  "additionalProperties": false,
1173
1173
  "properties": {
1174
- "arch": {
1175
- "type": "string"
1174
+ "checksums": {
1175
+ "$ref": "#/definitions/Record<string,string>",
1176
+ "description": "Provides checksums for the artifact as strings.\nCan be used if you already know the checksums of the Electron artifact\nyou are downloading and want to skip the checksum file download\nwithout skipping the checksum validation.\n\nThis should be an object whose keys are the file names of the artifacts and\nthe values are their respective SHA256 checksums."
1177
+ },
1178
+ "mirrorOptions": {
1179
+ "type": "object",
1180
+ "additionalProperties": false,
1181
+ "description": "Mirror options passed directly to @electron/get. Omits customDir, customFilename, and customVersion which are controlled by electron-builder.",
1182
+ "properties": {
1183
+ "mirror": {
1184
+ "type": "string",
1185
+ "description": "The base mirror URL for downloading Electron artifacts."
1186
+ },
1187
+ "nightlyMirror": {
1188
+ "type": "string",
1189
+ "description": "The mirror URL to use for nightly Electron builds."
1190
+ },
1191
+ "resolveAssetURL": {
1192
+ "type": "string",
1193
+ "description": "A custom function (serialised) to resolve the full asset URL."
1194
+ }
1195
+ }
1196
+ },
1197
+ "unsafelyDisableChecksums": {
1198
+ "description": "When set to `true`, disables checking that the artifact download completed successfully\nwith the correct payload.",
1199
+ "type": "boolean"
1200
+ }
1201
+ },
1202
+ "type": "object"
1203
+ },
1204
+ "ElectronSignOptions": {
1205
+ "additionalProperties": false,
1206
+ "description": "Signing options passed to `@electron/osx-sign`. Electron-builder owns the fields it must control\nitself — `app`, `keychain`, `platform`, `version`, `optionsForFile`, and `type` (derived from the\nbuild flavor: `mas-dev` → `development`, otherwise `distribution`) — and forwards everything else.\n\nAdditionally exposes a small set of per-file convenience fields that electron-builder maps\ninternally through `optionsForFile`.",
1207
+ "properties": {
1208
+ "additionalArguments": {
1209
+ "anyOf": [
1210
+ {
1211
+ "items": {
1212
+ "type": "string"
1213
+ },
1214
+ "type": "array"
1215
+ },
1216
+ {
1217
+ "type": "null"
1218
+ }
1219
+ ],
1220
+ "description": "Extra arguments passed to each `codesign` invocation."
1221
+ },
1222
+ "batchCodesignCalls": {
1223
+ "description": "Combine all files with identical CLI arguments in a single `codesign` call instead of running\n`codesign` once for each of those files. This minimizes the number of child processes that need\nto be spawned and reduces the time it takes to sign all files.",
1224
+ "type": "boolean"
1225
+ },
1226
+ "binaries": {
1227
+ "description": "Array of paths to additional binaries that will be signed along with built-ins of Electron.",
1228
+ "items": {
1229
+ "type": "string"
1230
+ },
1231
+ "type": "array"
1176
1232
  },
1177
- "cache": {
1178
- "description": "The [cache location](https://github.com/electron-userland/electron-download#cache-location).",
1233
+ "entitlements": {
1234
+ "description": "Path to the main app entitlements file.\nFalls back to `build/entitlements.mac.plist` if it exists, then to `@electron/osx-sign`'s\nbuilt-in defaults.",
1179
1235
  "type": [
1180
1236
  "null",
1181
1237
  "string"
1182
1238
  ]
1183
1239
  },
1184
- "customDir": {
1240
+ "entitlementsInherit": {
1241
+ "description": "Path to child entitlements inherited by embedded frameworks and bundles.\nFalls back to `build/entitlements.mac.inherit.plist` if it exists.",
1185
1242
  "type": [
1186
1243
  "null",
1187
1244
  "string"
1188
1245
  ]
1189
1246
  },
1190
- "customFilename": {
1247
+ "entitlementsLoginHelper": {
1248
+ "description": "Path to entitlements for the Login Helper.\nRequired when using App Sandbox, because the Login Helper cannot inherit entitlements.\nDefaults to the value of `entitlements`.",
1191
1249
  "type": [
1192
1250
  "null",
1193
1251
  "string"
1194
1252
  ]
1195
1253
  },
1196
- "isVerifyChecksum": {
1254
+ "hardenedRuntime": {
1255
+ "description": "Whether to enable [Hardened Runtime](https://developer.apple.com/documentation/security/hardened_runtime).\n\nHardened Runtime is a prerequisite for notarization (mandatory on macOS 10.15+).\nDefaults to `true` for `darwin` builds and `false` for `mas-dev`.",
1197
1256
  "type": "boolean"
1198
1257
  },
1199
- "mirror": {
1200
- "description": "The mirror.",
1258
+ "identity": {
1259
+ "description": "The signing identity (certificate name or SHA-1 hash). Applies to both app signing and DMG signing.\nPrefer the environment variables `CSC_LINK` / `CSC_NAME` over hardcoding this value.\n\n- **Not set** (default): electron-builder searches the keychain for a valid certificate.\n- **`null`**: skip signing entirely.\n- **`\"-\"`**: ad-hoc signing (requires disabling library validation — see `hardenedRuntime`).",
1201
1260
  "type": [
1202
1261
  "null",
1203
1262
  "string"
1204
1263
  ]
1205
1264
  },
1206
- "platform": {
1207
- "enum": [
1208
- "darwin",
1209
- "linux",
1210
- "mas",
1211
- "win32"
1265
+ "identityValidation": {
1266
+ "description": "Flag to enable/disable validation for the signing identity.\nIf enabled, the {@link SignOptions.identityidentity} provided\nwill be validated in the {@link BaseSignOptions.keychainkeychain} specified.",
1267
+ "type": "boolean"
1268
+ },
1269
+ "ignore": {
1270
+ "anyOf": [
1271
+ {
1272
+ "items": {
1273
+ "type": "string"
1274
+ },
1275
+ "type": "array"
1276
+ },
1277
+ {
1278
+ "typeof": "function"
1279
+ },
1280
+ {
1281
+ "type": "string"
1282
+ }
1212
1283
  ],
1213
- "type": "string"
1284
+ "description": "Defines files that will be skipped during the code signing process.\nThis property accepts a regex, function or an array of regexes and functions.\nElements of other types are treated as `RegExp`.\n\nFile paths matching a regex or returning a `true` value from a function will be ignored."
1285
+ },
1286
+ "preAutoEntitlements": {
1287
+ "description": "Flag to enable/disable entitlements automation tasks necessary for code signing most Electron apps.\n* Adds [`com.apple.security.application-groups`](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_application-groups) to the entitlements file\n* Fills in the `ElectronTeamID` property in `Info.plist` with the provisioning profile's Team Identifier or by parsing the identity name.",
1288
+ "type": "boolean"
1214
1289
  },
1215
- "strictSSL": {
1290
+ "preEmbedProvisioningProfile": {
1291
+ "description": "Flag to enable/disable the embedding of a provisioning profile into the app's `Contents` folder.\nWill use the profile from {@link OnlySignOptions.provisioningProfile} if provided. Otherwise, it\nsearches for a `.provisionprofile` file in the current working directory.",
1216
1292
  "type": "boolean"
1217
1293
  },
1218
- "version": {
1294
+ "provisioningProfile": {
1295
+ "description": "Path to a provisioning profile, which can be used to grant restricted entitlements to your app.\n\nSee [Apple Documentation](https://developer.apple.com/documentation/technotes/tn3125-inside-code-signing-provisioning-profiles) for more details.",
1219
1296
  "type": "string"
1220
1297
  },
1221
- "checksums": {
1222
- "type": "object",
1223
- "additionalProperties": {
1224
- "type": "string"
1225
- }
1298
+ "requirements": {
1299
+ "description": "Path to a [requirements file](https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/RequirementLang/RequirementLang.html).\nNot applicable for MAS.",
1300
+ "type": [
1301
+ "null",
1302
+ "string"
1303
+ ]
1304
+ },
1305
+ "strictVerify": {
1306
+ "description": "Flag to enable/disable the `--strict` flag when verifying the signed application bundle.\nAlso supports string values to specify which strict restrictions to use, see codesign man page for supported values.",
1307
+ "type": [
1308
+ "string",
1309
+ "boolean"
1310
+ ]
1311
+ },
1312
+ "timestamp": {
1313
+ "description": "URL of the timestamp authority server. Passed per-file to `codesign --timestamp=<url>`.",
1314
+ "type": [
1315
+ "null",
1316
+ "string"
1317
+ ]
1226
1318
  }
1227
1319
  },
1228
1320
  "type": "object"
1229
1321
  },
1230
- "ElectronGetOptions": {
1322
+ "ElectronUniversalOptions": {
1231
1323
  "additionalProperties": false,
1324
+ "description": "Options forwarded to `@electron/universal`'s `makeUniversalApp`.\nElectron-builder fills in the app paths and `force`; everything else is configurable here\nand auto-tracks upstream additions to `MakeUniversalOpts`.",
1232
1325
  "properties": {
1233
- "checksums": {
1234
- "$ref": "#/definitions/Record<string,string>",
1235
- "description": "Provides checksums for the artifact as strings.\nCan be used if you already know the checksums of the Electron artifact\nyou are downloading and want to skip the checksum file download\nwithout skipping the checksum validation.\n\nThis should be an object whose keys are the file names of the artifacts and\nthe values are their respective SHA256 checksums."
1326
+ "infoPlistsToIgnore": {
1327
+ "description": "A {@link https://github.com/isaacs/minimatch?tab=readme-ov-file#features minimatch} pattern of `Info.plist`\npaths that should not receive an injected `ElectronAsarIntegrity` value.\n\nUse this if your application contains another bundle that's already signed.",
1328
+ "type": "string"
1236
1329
  },
1237
- "force": {
1238
- "description": "Whether to download an artifact regardless of whether it's in the cache directory.",
1330
+ "mergeASARs": {
1331
+ "default": true,
1332
+ "description": "Whether to merge x64 and arm64 ASARs into one.",
1239
1333
  "type": "boolean"
1240
1334
  },
1241
- "unsafelyDisableChecksums": {
1242
- "description": "When set to `true`, disables checking that the artifact download completed successfully\nwith the correct payload.",
1243
- "type": "boolean"
1335
+ "singleArchFiles": {
1336
+ "description": "If {@link MakeUniversalOpts.mergeASARs} is enabled, this property provides a\n{@link https://github.com/isaacs/minimatch?tab=readme-ov-file#features minimatch}\npattern of paths that are allowed to be present in one of the ASAR files, but not in the other.",
1337
+ "type": "string"
1244
1338
  },
1245
- "mirrorOptions": {
1246
- "type": "object",
1247
- "additionalProperties": false,
1248
- "description": "Mirror options passed directly to @electron/get. Omits customDir, customFilename, and customVersion which are controlled by electron-builder.",
1249
- "properties": {
1250
- "mirror": {
1251
- "type": "string",
1252
- "description": "The base mirror URL for downloading Electron artifacts."
1253
- },
1254
- "nightlyMirror": {
1255
- "type": "string",
1256
- "description": "The mirror URL to use for nightly Electron builds."
1257
- },
1258
- "resolveAssetURL": {
1259
- "type": "string",
1260
- "description": "A custom function (serialised) to resolve the full asset URL."
1261
- }
1262
- }
1339
+ "x64ArchFiles": {
1340
+ "description": "A {@link https://github.com/isaacs/minimatch?tab=readme-ov-file#features minimatch}\npattern of binaries that are expected to be the same x64 binary in both\n\nUse this if your application contains binaries that have already been merged into a universal file\nusing the `lipo` tool.",
1341
+ "type": "string"
1263
1342
  }
1264
1343
  },
1265
1344
  "type": "object"
@@ -1564,7 +1643,7 @@
1564
1643
  "type": "boolean"
1565
1644
  },
1566
1645
  "enableEmbeddedAsarIntegrityValidation": {
1567
- "description": "Enables ASAR integrity validation — Electron verifies the embedded SHA-256 hash of\n`app.asar` before loading it.\n\nPlatform support:\n- macOS: Electron ≥ 16.0.0\n- Windows: Electron ≥ 30.0.0\n\nFor this fuse to be meaningful, `asar.disableIntegrity` must **not** be\n`true` (otherwise the hash is not embedded).\n\nSee the [ASAR Integrity guide](https://www.electronjs.org/docs/latest/tutorial/asar-integrity).",
1646
+ "description": "Enables ASAR integrity validation — Electron verifies the embedded SHA-256 hash of\n`app.asar` before loading it.\n\nPlatform support:\n- macOS: Electron ≥ 16.0.0\n- Windows: Electron ≥ 30.0.0\n\nFor this fuse to be meaningful, `asar.disableIntegrity` must **not** be\n`true` (otherwise the hash is not embedded).",
1568
1647
  "type": "boolean"
1569
1648
  },
1570
1649
  "enableNodeCliInspectArguments": {
@@ -1588,12 +1667,16 @@
1588
1667
  "type": "boolean"
1589
1668
  },
1590
1669
  "resetAdHocDarwinSignature": {
1591
- "description": "Re-applies the ad-hoc codesignature on macOS after fuses are flipped.\n\nelectron-builder already re-signs the app after flipping fuses, so this flag is\ngenerally not needed and exists only as a compatibility shim for edge cases.\n\nSee [`@electron/fuses` — Apple Silicon](https://github.com/electron/fuses?tab=readme-ov-file#apple-silicon).",
1670
+ "description": "Re-applies the ad-hoc codesignature on macOS after fuses are flipped.\n\nelectron-builder already re-signs the app after flipping fuses, so this flag is\ngenerally not needed and exists only as a compatibility shim for edge cases.",
1592
1671
  "type": "boolean"
1593
1672
  },
1594
1673
  "runAsNode": {
1595
1674
  "description": "Controls whether the `ELECTRON_RUN_AS_NODE` environment variable is respected.\n\nWhen `true` (the Electron default), setting `ELECTRON_RUN_AS_NODE=1` in the environment\nmakes Electron behave like a plain Node.js process, bypassing the app entirely. Disable\nthis fuse in production apps to prevent that escape path.\n\n**Note:** Disabling this fuse also breaks `process.fork()` in the main process because\nit relies on `ELECTRON_RUN_AS_NODE` internally. Use\n[Utility Processes](https://www.electronjs.org/docs/latest/api/utility-process) as a\nreplacement.",
1596
1675
  "type": "boolean"
1676
+ },
1677
+ "wasmTrapHandlers": {
1678
+ "description": "Enables V8 signal-based trap handlers for out-of-bounds WebAssembly memory accesses.\n\nWhen enabled, Electron uses OS signals (e.g. `SIGSEGV` on Linux/macOS) to catch Wasm\nOOB accesses at the hardware level rather than inserting explicit bounds checks in JIT'd\ncode. This improves Wasm performance and is enabled by default in Electron.\n\nDisable only if the host environment restricts signal handlers (e.g. certain sandboxing\nconfigurations) and you observe crashes in Wasm-heavy workloads.",
1679
+ "type": "boolean"
1597
1680
  }
1598
1681
  },
1599
1682
  "type": "object"
@@ -2018,11 +2101,10 @@
2018
2101
  "$ref": "#/definitions/AsarOptions"
2019
2102
  },
2020
2103
  {
2021
- "const": false,
2022
- "type": "boolean"
2023
- },
2024
- {
2025
- "type": "null"
2104
+ "type": [
2105
+ "null",
2106
+ "boolean"
2107
+ ]
2026
2108
  }
2027
2109
  ],
2028
2110
  "default": true,
@@ -2339,11 +2421,6 @@
2339
2421
  "$ref": "#/definitions/ReleaseInfo",
2340
2422
  "description": "The release info. Intended for command line usage:\n\n```\n-c.releaseInfo.releaseNotes=\"new features\"\n```"
2341
2423
  },
2342
- "syncDesktopName": {
2343
- "default": false,
2344
- "description": "When `true`, the installed `.desktop` filename is derived from `desktopName` in `package.json`\n(minus the `.desktop` suffix) so that it matches `StartupWMClass` and Electron's `app_id`.\nFalls back to `executableName` when `desktopName` is absent.",
2345
- "type": "boolean"
2346
- },
2347
2424
  "synopsis": {
2348
2425
  "description": "The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).",
2349
2426
  "type": [
@@ -2636,20 +2713,6 @@
2636
2713
  "MacConfiguration": {
2637
2714
  "additionalProperties": false,
2638
2715
  "properties": {
2639
- "additionalArguments": {
2640
- "anyOf": [
2641
- {
2642
- "items": {
2643
- "type": "string"
2644
- },
2645
- "type": "array"
2646
- },
2647
- {
2648
- "type": "null"
2649
- }
2650
- ],
2651
- "description": "Array of strings specifying additional arguments to pass to the `codesign` command used to sign a specific file.\n\nSome subresources that you may include in your Electron app may need to be signed with --deep, this is not typically safe to apply to the entire Electron app and therefore should be applied to just your file.\nUsage Example: `['--deep']`"
2652
- },
2653
2716
  "appId": {
2654
2717
  "default": "com.electron.${name}",
2655
2718
  "description": "The application id. Used as [CFBundleIdentifier](https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102070) for MacOS and as\n[Application User Model ID](https://msdn.microsoft.com/en-us/library/windows/desktop/dd378459(v=vs.85).aspx) for Windows (NSIS target only, Squirrel.Windows not supported). It is strongly recommended that an explicit ID is set.",
@@ -2671,30 +2734,15 @@
2671
2734
  "$ref": "#/definitions/AsarOptions"
2672
2735
  },
2673
2736
  {
2674
- "const": false,
2675
- "type": "boolean"
2676
- },
2677
- {
2678
- "type": "null"
2737
+ "type": [
2738
+ "null",
2739
+ "boolean"
2740
+ ]
2679
2741
  }
2680
2742
  ],
2681
2743
  "default": true,
2682
2744
  "description": "Whether to package the application's source code into an archive, using [Electron's archive format](http://electron.atom.io/docs/tutorial/application-packaging/).\n\nNode modules that must be unpacked will be detected automatically. Use {@link AsarOptions.unpack} to specify additional files to unpack."
2683
2745
  },
2684
- "binaries": {
2685
- "anyOf": [
2686
- {
2687
- "items": {
2688
- "type": "string"
2689
- },
2690
- "type": "array"
2691
- },
2692
- {
2693
- "type": "null"
2694
- }
2695
- ],
2696
- "description": "Paths of any extra binaries that need to be signed."
2697
- },
2698
2746
  "bundleShortVersion": {
2699
2747
  "description": "The `CFBundleShortVersionString`. Do not use it unless you need to.",
2700
2748
  "type": [
@@ -2800,27 +2848,6 @@
2800
2848
  "string"
2801
2849
  ]
2802
2850
  },
2803
- "entitlements": {
2804
- "description": "The path to entitlements file for signing the app. `build/entitlements.mac.plist` will be used if exists (it is a recommended way to set).\nMAS entitlements is specified in the [mas](https://www.electron.build/mas).\nSee [this folder in osx-sign's repository](https://github.com/electron/osx-sign/tree/main/entitlements) for examples.\nBe aware that your app may crash if the right entitlements are not set like `com.apple.security.cs.allow-jit` for example on arm64 builds with Electron 20+.\nSee [Signing and Notarizing macOS Builds from the Electron documentation](https://www.electronjs.org/docs/latest/tutorial/code-signing#signing--notarizing-macos-builds) for more information.",
2805
- "type": [
2806
- "null",
2807
- "string"
2808
- ]
2809
- },
2810
- "entitlementsInherit": {
2811
- "description": "The path to child entitlements which inherit the security settings for signing frameworks and bundles of a distribution. `build/entitlements.mac.inherit.plist` will be used if exists (it is a recommended way to set).\nSee [this folder in osx-sign's repository](https://github.com/electron/osx-sign/tree/main/entitlements) for examples.\n\nThis option only applies when signing with `entitlements` provided.",
2812
- "type": [
2813
- "null",
2814
- "string"
2815
- ]
2816
- },
2817
- "entitlementsLoginHelper": {
2818
- "description": "Path to login helper entitlement file.\nWhen using App Sandbox, the the `com.apple.security.inherit` key that is normally in the inherited entitlements cannot be inherited since the login helper is a standalone executable.\nDefaults to the value provided for `entitlements`. This option only applies when signing with `entitlements` provided.",
2819
- "type": [
2820
- "null",
2821
- "string"
2822
- ]
2823
- },
2824
2851
  "executableName": {
2825
2852
  "description": "The executable name. Defaults to `productName`\nNote: Except for Linux, where this would constitute a breaking change in previous behavior and lead to both invalid executable names and Desktop files. Ref comments in: https://github.com/electron-userland/electron-builder/pull/9068",
2826
2853
  "type": [
@@ -2948,21 +2975,11 @@
2948
2975
  "description": "Whether to fail if app will be not code signed.",
2949
2976
  "type": "boolean"
2950
2977
  },
2951
- "gatekeeperAssess": {
2952
- "default": false,
2953
- "description": "Whether to let `@electron/osx-sign` validate the signing or not.",
2954
- "type": "boolean"
2955
- },
2956
2978
  "generateUpdatesFilesForAllChannels": {
2957
2979
  "default": false,
2958
2980
  "description": "Please see [Building and Releasing using Channels](https://github.com/electron-userland/electron-builder/issues/1182#issuecomment-324947139).",
2959
2981
  "type": "boolean"
2960
2982
  },
2961
- "hardenedRuntime": {
2962
- "default": true,
2963
- "description": "Whether your app has to be signed with hardened runtime.\n\nWhen using ad-hoc signing (`identity: \"-\"`), hardened runtime enforces library validation which\nwill reject pre-signed Electron frameworks that carry a different Team ID. To resolve this either\nset `hardenedRuntime: false` or add the\n[`com.apple.security.cs.disable-library-validation`](https://developer.apple.com/documentation/BundleResources/Entitlements/com.apple.security.cs.disable-library-validation)\nentitlement to your entitlements file.",
2964
- "type": "boolean"
2965
- },
2966
2983
  "helperBundleId": {
2967
2984
  "default": "${appBundleIdentifier}.helper",
2968
2985
  "description": "The bundle identifier to use in the application helper's plist.",
@@ -3019,18 +3036,6 @@
3019
3036
  "string"
3020
3037
  ]
3021
3038
  },
3022
- "identity": {
3023
- "description": "The signing identity (certificate name) to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](https://www.electron.build/code-signing) instead of specifying this option.\nMAS installer identity is specified in the [mas](https://www.electron.build/mas).\n\n- **Not set** (default): electron-builder searches the keychain for a valid signing certificate. If none is found, signing is skipped for all architectures — there is no automatic ad-hoc fallback.\n- **`null`**: skip signing entirely.\n- **`\"-\"`**: opt in to ad-hoc signing explicitly. Note that `hardenedRuntime: true` (the default) combined with ad-hoc signing requires\n the [`com.apple.security.cs.disable-library-validation`](https://developer.apple.com/documentation/BundleResources/Entitlements/com.apple.security.cs.disable-library-validation)\n entitlement to prevent app launch failures; otherwise set `hardenedRuntime: false`.",
3024
- "type": [
3025
- "null",
3026
- "string"
3027
- ]
3028
- },
3029
- "mergeASARs": {
3030
- "default": true,
3031
- "description": "Whether to merge ASAR files for different architectures or not.\n\nThis option has no effect unless building for \"universal\" arch.",
3032
- "type": "boolean"
3033
- },
3034
3039
  "minimumSystemVersion": {
3035
3040
  "description": "The minimum version of macOS required for the app to run. Corresponds to `LSMinimumSystemVersion`.",
3036
3041
  "type": [
@@ -3042,11 +3047,6 @@
3042
3047
  "description": "Whether to disable electron-builder's [@electron/notarize](https://github.com/electron/notarize) integration.\n\nNote: In order to activate the notarization step You MUST specify one of the following via environment variables:\n\n1. `APPLE_API_KEY`, `APPLE_API_KEY_ID` and `APPLE_API_ISSUER`.\n2. `APPLE_ID`, `APPLE_APP_SPECIFIC_PASSWORD`, and `APPLE_TEAM_ID`\n3. `APPLE_KEYCHAIN` and `APPLE_KEYCHAIN_PROFILE`\n\nFor security reasons it is recommended to use the first option (see https://github.com/electron-userland/electron-builder/issues/7859)",
3043
3048
  "type": "boolean"
3044
3049
  },
3045
- "preAutoEntitlements": {
3046
- "default": true,
3047
- "description": "Whether to enable entitlements automation from `@electron/osx-sign`.",
3048
- "type": "boolean"
3049
- },
3050
3050
  "protocols": {
3051
3051
  "anyOf": [
3052
3052
  {
@@ -3061,13 +3061,6 @@
3061
3061
  ],
3062
3062
  "description": "The URL protocol schemes."
3063
3063
  },
3064
- "provisioningProfile": {
3065
- "description": "The path to the provisioning profile to use when signing, absolute or relative to the app root.",
3066
- "type": [
3067
- "null",
3068
- "string"
3069
- ]
3070
- },
3071
3064
  "publish": {
3072
3065
  "anyOf": [
3073
3066
  {
@@ -3116,15 +3109,11 @@
3116
3109
  "$ref": "#/definitions/ReleaseInfo",
3117
3110
  "description": "The release info. Intended for command line usage:\n\n```\n-c.releaseInfo.releaseNotes=\"new features\"\n```"
3118
3111
  },
3119
- "requirements": {
3120
- "description": "Path of [requirements file](https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/RequirementLang/RequirementLang.html) used in signing. Not applicable for MAS.",
3121
- "type": [
3122
- "null",
3123
- "string"
3124
- ]
3125
- },
3126
3112
  "sign": {
3127
3113
  "anyOf": [
3114
+ {
3115
+ "$ref": "#/definitions/ElectronSignOptions"
3116
+ },
3128
3117
  {
3129
3118
  "typeof": "function"
3130
3119
  },
@@ -3135,41 +3124,12 @@
3135
3124
  ]
3136
3125
  }
3137
3126
  ],
3138
- "description": "The custom function (or path to file or module id) to sign an app bundle."
3127
+ "description": "Codesigning configuration. The signing certificate is selected via `sign.identity` (or the\n`CSC_LINK` / `CSC_NAME` environment variables).\n\n- **Not set** (default): electron-builder auto-discovers a valid certificate in the keychain. If none is found, signing is skipped.\n- **`null`**: skip signing entirely.\n- **`string`**: path or module ID of a file that exports a {@link CustomMacSign} function.\n- **{@link CustomMacSign}**: inline custom signing function (JS/TS config only).\n- **{@link ElectronSignOptions}**: options forwarded directly to `@electron/osx-sign`."
3139
3128
  },
3140
- "signIgnore": {
3129
+ "target": {
3141
3130
  "anyOf": [
3142
3131
  {
3143
- "items": {
3144
- "type": "string"
3145
- },
3146
- "type": "array"
3147
- },
3148
- {
3149
- "type": [
3150
- "null",
3151
- "string"
3152
- ]
3153
- }
3154
- ],
3155
- "description": "Regex or an array of regex's that signal skipping signing a file."
3156
- },
3157
- "singleArchFiles": {
3158
- "description": "Minimatch pattern of paths that are allowed to be present in one of the\nASAR files, but not in the other.\n\nThis option has no effect unless building for \"universal\" arch and applies\nonly if `mergeASARs` is `true`.",
3159
- "type": [
3160
- "null",
3161
- "string"
3162
- ]
3163
- },
3164
- "strictVerify": {
3165
- "default": true,
3166
- "description": "Whether to let `@electron/osx-sign` verify the contents or not.",
3167
- "type": "boolean"
3168
- },
3169
- "target": {
3170
- "anyOf": [
3171
- {
3172
- "$ref": "#/definitions/TargetConfiguration"
3132
+ "$ref": "#/definitions/TargetConfiguration"
3173
3133
  },
3174
3134
  {
3175
3135
  "items": {
@@ -3222,35 +3182,16 @@
3222
3182
  "default": "default (dmg and zip for Squirrel.Mac)",
3223
3183
  "description": "The target package type: list of `default`, `dmg`, `mas`, `mas-dev`, `pkg`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`.\nNote: Squirrel.Mac auto update mechanism requires both `dmg` and `zip` to be enabled, even when only `dmg` is used. Disabling `zip` will break auto update in `dmg` packages."
3224
3184
  },
3225
- "timestamp": {
3226
- "description": "Specify the URL of the timestamp authority server",
3227
- "type": [
3228
- "null",
3229
- "string"
3230
- ]
3231
- },
3232
- "type": {
3185
+ "universal": {
3233
3186
  "anyOf": [
3234
3187
  {
3235
- "enum": [
3236
- "development",
3237
- "distribution"
3238
- ],
3239
- "type": "string"
3188
+ "$ref": "#/definitions/ElectronUniversalOptions"
3240
3189
  },
3241
3190
  {
3242
3191
  "type": "null"
3243
3192
  }
3244
3193
  ],
3245
- "default": "distribution",
3246
- "description": "Whether to sign app for development or for distribution."
3247
- },
3248
- "x64ArchFiles": {
3249
- "description": "Minimatch pattern of paths that are allowed to be x64 binaries in both\nASAR files\n\nThis option has no effect unless building for \"universal\" arch and applies\nonly if `mergeASARs` is `true`.",
3250
- "type": [
3251
- "null",
3252
- "string"
3253
- ]
3194
+ "description": "Options forwarded to `@electron/universal` when building a universal (multi-arch) app.\nHas no effect unless the target arch is `universal`."
3254
3195
  }
3255
3196
  },
3256
3197
  "type": "object"
@@ -3258,20 +3199,6 @@
3258
3199
  "MasConfiguration": {
3259
3200
  "additionalProperties": false,
3260
3201
  "properties": {
3261
- "additionalArguments": {
3262
- "anyOf": [
3263
- {
3264
- "items": {
3265
- "type": "string"
3266
- },
3267
- "type": "array"
3268
- },
3269
- {
3270
- "type": "null"
3271
- }
3272
- ],
3273
- "description": "Array of strings specifying additional arguments to pass to the `codesign` command used to sign a specific file.\n\nSome subresources that you may include in your Electron app may need to be signed with --deep, this is not typically safe to apply to the entire Electron app and therefore should be applied to just your file.\nUsage Example: `['--deep']`"
3274
- },
3275
3202
  "appId": {
3276
3203
  "default": "com.electron.${name}",
3277
3204
  "description": "The application id. Used as [CFBundleIdentifier](https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102070) for MacOS and as\n[Application User Model ID](https://msdn.microsoft.com/en-us/library/windows/desktop/dd378459(v=vs.85).aspx) for Windows (NSIS target only, Squirrel.Windows not supported). It is strongly recommended that an explicit ID is set.",
@@ -3293,30 +3220,15 @@
3293
3220
  "$ref": "#/definitions/AsarOptions"
3294
3221
  },
3295
3222
  {
3296
- "const": false,
3297
- "type": "boolean"
3298
- },
3299
- {
3300
- "type": "null"
3223
+ "type": [
3224
+ "null",
3225
+ "boolean"
3226
+ ]
3301
3227
  }
3302
3228
  ],
3303
3229
  "default": true,
3304
3230
  "description": "Whether to package the application's source code into an archive, using [Electron's archive format](http://electron.atom.io/docs/tutorial/application-packaging/).\n\nNode modules that must be unpacked will be detected automatically. Use {@link AsarOptions.unpack} to specify additional files to unpack."
3305
3231
  },
3306
- "binaries": {
3307
- "anyOf": [
3308
- {
3309
- "items": {
3310
- "type": "string"
3311
- },
3312
- "type": "array"
3313
- },
3314
- {
3315
- "type": "null"
3316
- }
3317
- ],
3318
- "description": "Paths of any extra binaries that need to be signed."
3319
- },
3320
3232
  "bundleShortVersion": {
3321
3233
  "description": "The `CFBundleShortVersionString`. Do not use it unless you need to.",
3322
3234
  "type": [
@@ -3422,27 +3334,6 @@
3422
3334
  "string"
3423
3335
  ]
3424
3336
  },
3425
- "entitlements": {
3426
- "description": "The path to entitlements file for signing the app. `build/entitlements.mas.plist` will be used if exists (it is a recommended way to set).\nSee [this folder in osx-sign's repository](https://github.com/electron/osx-sign/tree/main/entitlements) for examples.\nBe aware that your app may crash if the right entitlements are not set like `com.apple.security.cs.allow-jit` for example on arm64 builds with Electron 20+.\nSee [Signing and Notarizing macOS Builds from the Electron documentation](https://www.electronjs.org/docs/latest/tutorial/code-signing#signing--notarizing-macos-builds) for more information.",
3427
- "type": [
3428
- "null",
3429
- "string"
3430
- ]
3431
- },
3432
- "entitlementsInherit": {
3433
- "description": "The path to child entitlements which inherit the security settings for signing frameworks and bundles of a distribution. `build/entitlements.mas.inherit.plist` will be used if exists (it is a recommended way to set).\nSee [this folder in osx-sign's repository](https://github.com/electron/osx-sign/tree/main/entitlements) for examples.",
3434
- "type": [
3435
- "null",
3436
- "string"
3437
- ]
3438
- },
3439
- "entitlementsLoginHelper": {
3440
- "description": "Path to login helper entitlement file.\nWhen using App Sandbox, the the `com.apple.security.inherit` key that is normally in the inherited entitlements cannot be inherited since the login helper is a standalone executable.\nDefaults to the value provided for `entitlements`. This option only applies when signing with `entitlements` provided.",
3441
- "type": [
3442
- "null",
3443
- "string"
3444
- ]
3445
- },
3446
3337
  "executableName": {
3447
3338
  "description": "The executable name. Defaults to `productName`\nNote: Except for Linux, where this would constitute a breaking change in previous behavior and lead to both invalid executable names and Desktop files. Ref comments in: https://github.com/electron-userland/electron-builder/pull/9068",
3448
3339
  "type": [
@@ -3570,21 +3461,11 @@
3570
3461
  "description": "Whether to fail if app will be not code signed.",
3571
3462
  "type": "boolean"
3572
3463
  },
3573
- "gatekeeperAssess": {
3574
- "default": false,
3575
- "description": "Whether to let `@electron/osx-sign` validate the signing or not.",
3576
- "type": "boolean"
3577
- },
3578
3464
  "generateUpdatesFilesForAllChannels": {
3579
3465
  "default": false,
3580
3466
  "description": "Please see [Building and Releasing using Channels](https://github.com/electron-userland/electron-builder/issues/1182#issuecomment-324947139).",
3581
3467
  "type": "boolean"
3582
3468
  },
3583
- "hardenedRuntime": {
3584
- "default": true,
3585
- "description": "Whether your app has to be signed with hardened runtime.\n\nWhen using ad-hoc signing (`identity: \"-\"`), hardened runtime enforces library validation which\nwill reject pre-signed Electron frameworks that carry a different Team ID. To resolve this either\nset `hardenedRuntime: false` or add the\n[`com.apple.security.cs.disable-library-validation`](https://developer.apple.com/documentation/BundleResources/Entitlements/com.apple.security.cs.disable-library-validation)\nentitlement to your entitlements file.",
3586
- "type": "boolean"
3587
- },
3588
3469
  "helperBundleId": {
3589
3470
  "default": "${appBundleIdentifier}.helper",
3590
3471
  "description": "The bundle identifier to use in the application helper's plist.",
@@ -3641,18 +3522,6 @@
3641
3522
  "string"
3642
3523
  ]
3643
3524
  },
3644
- "identity": {
3645
- "description": "The signing identity (certificate name) to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](https://www.electron.build/code-signing) instead of specifying this option.\nMAS installer identity is specified in the [mas](https://www.electron.build/mas).\n\n- **Not set** (default): electron-builder searches the keychain for a valid signing certificate. If none is found, signing is skipped for all architectures — there is no automatic ad-hoc fallback.\n- **`null`**: skip signing entirely.\n- **`\"-\"`**: opt in to ad-hoc signing explicitly. Note that `hardenedRuntime: true` (the default) combined with ad-hoc signing requires\n the [`com.apple.security.cs.disable-library-validation`](https://developer.apple.com/documentation/BundleResources/Entitlements/com.apple.security.cs.disable-library-validation)\n entitlement to prevent app launch failures; otherwise set `hardenedRuntime: false`.",
3646
- "type": [
3647
- "null",
3648
- "string"
3649
- ]
3650
- },
3651
- "mergeASARs": {
3652
- "default": true,
3653
- "description": "Whether to merge ASAR files for different architectures or not.\n\nThis option has no effect unless building for \"universal\" arch.",
3654
- "type": "boolean"
3655
- },
3656
3525
  "minimumSystemVersion": {
3657
3526
  "description": "The minimum version of macOS required for the app to run. Corresponds to `LSMinimumSystemVersion`.",
3658
3527
  "type": [
@@ -3664,11 +3533,6 @@
3664
3533
  "description": "Whether to disable electron-builder's [@electron/notarize](https://github.com/electron/notarize) integration.\n\nNote: In order to activate the notarization step You MUST specify one of the following via environment variables:\n\n1. `APPLE_API_KEY`, `APPLE_API_KEY_ID` and `APPLE_API_ISSUER`.\n2. `APPLE_ID`, `APPLE_APP_SPECIFIC_PASSWORD`, and `APPLE_TEAM_ID`\n3. `APPLE_KEYCHAIN` and `APPLE_KEYCHAIN_PROFILE`\n\nFor security reasons it is recommended to use the first option (see https://github.com/electron-userland/electron-builder/issues/7859)",
3665
3534
  "type": "boolean"
3666
3535
  },
3667
- "preAutoEntitlements": {
3668
- "default": true,
3669
- "description": "Whether to enable entitlements automation from `@electron/osx-sign`.",
3670
- "type": "boolean"
3671
- },
3672
3536
  "protocols": {
3673
3537
  "anyOf": [
3674
3538
  {
@@ -3683,13 +3547,6 @@
3683
3547
  ],
3684
3548
  "description": "The URL protocol schemes."
3685
3549
  },
3686
- "provisioningProfile": {
3687
- "description": "The path to the provisioning profile to use when signing, absolute or relative to the app root.",
3688
- "type": [
3689
- "null",
3690
- "string"
3691
- ]
3692
- },
3693
3550
  "publish": {
3694
3551
  "anyOf": [
3695
3552
  {
@@ -3738,34 +3595,13 @@
3738
3595
  "$ref": "#/definitions/ReleaseInfo",
3739
3596
  "description": "The release info. Intended for command line usage:\n\n```\n-c.releaseInfo.releaseNotes=\"new features\"\n```"
3740
3597
  },
3741
- "requirements": {
3742
- "description": "Path of [requirements file](https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/RequirementLang/RequirementLang.html) used in signing. Not applicable for MAS.",
3743
- "type": [
3744
- "null",
3745
- "string"
3746
- ]
3747
- },
3748
3598
  "sign": {
3749
3599
  "anyOf": [
3750
3600
  {
3751
- "typeof": "function"
3601
+ "$ref": "#/definitions/ElectronSignOptions"
3752
3602
  },
3753
3603
  {
3754
- "type": [
3755
- "null",
3756
- "string"
3757
- ]
3758
- }
3759
- ],
3760
- "description": "The custom function (or path to file or module id) to sign an app bundle."
3761
- },
3762
- "signIgnore": {
3763
- "anyOf": [
3764
- {
3765
- "items": {
3766
- "type": "string"
3767
- },
3768
- "type": "array"
3604
+ "typeof": "function"
3769
3605
  },
3770
3606
  {
3771
3607
  "type": [
@@ -3774,19 +3610,7 @@
3774
3610
  ]
3775
3611
  }
3776
3612
  ],
3777
- "description": "Regex or an array of regex's that signal skipping signing a file."
3778
- },
3779
- "singleArchFiles": {
3780
- "description": "Minimatch pattern of paths that are allowed to be present in one of the\nASAR files, but not in the other.\n\nThis option has no effect unless building for \"universal\" arch and applies\nonly if `mergeASARs` is `true`.",
3781
- "type": [
3782
- "null",
3783
- "string"
3784
- ]
3785
- },
3786
- "strictVerify": {
3787
- "default": true,
3788
- "description": "Whether to let `@electron/osx-sign` verify the contents or not.",
3789
- "type": "boolean"
3613
+ "description": "Codesigning configuration. The signing certificate is selected via `sign.identity` (or the\n`CSC_LINK` / `CSC_NAME` environment variables).\n\n- **Not set** (default): electron-builder auto-discovers a valid certificate in the keychain. If none is found, signing is skipped.\n- **`null`**: skip signing entirely.\n- **`string`**: path or module ID of a file that exports a {@link CustomMacSign} function.\n- **{@link CustomMacSign}**: inline custom signing function (JS/TS config only).\n- **{@link ElectronSignOptions}**: options forwarded directly to `@electron/osx-sign`."
3790
3614
  },
3791
3615
  "target": {
3792
3616
  "anyOf": [
@@ -3844,35 +3668,16 @@
3844
3668
  "default": "default (dmg and zip for Squirrel.Mac)",
3845
3669
  "description": "The target package type: list of `default`, `dmg`, `mas`, `mas-dev`, `pkg`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`.\nNote: Squirrel.Mac auto update mechanism requires both `dmg` and `zip` to be enabled, even when only `dmg` is used. Disabling `zip` will break auto update in `dmg` packages."
3846
3670
  },
3847
- "timestamp": {
3848
- "description": "Specify the URL of the timestamp authority server",
3849
- "type": [
3850
- "null",
3851
- "string"
3852
- ]
3853
- },
3854
- "type": {
3671
+ "universal": {
3855
3672
  "anyOf": [
3856
3673
  {
3857
- "enum": [
3858
- "development",
3859
- "distribution"
3860
- ],
3861
- "type": "string"
3674
+ "$ref": "#/definitions/ElectronUniversalOptions"
3862
3675
  },
3863
3676
  {
3864
3677
  "type": "null"
3865
3678
  }
3866
3679
  ],
3867
- "default": "distribution",
3868
- "description": "Whether to sign app for development or for distribution."
3869
- },
3870
- "x64ArchFiles": {
3871
- "description": "Minimatch pattern of paths that are allowed to be x64 binaries in both\nASAR files\n\nThis option has no effect unless building for \"universal\" arch and applies\nonly if `mergeASARs` is `true`.",
3872
- "type": [
3873
- "null",
3874
- "string"
3875
- ]
3680
+ "description": "Options forwarded to `@electron/universal` when building a universal (multi-arch) app.\nHas no effect unless the target arch is `universal`."
3876
3681
  }
3877
3682
  },
3878
3683
  "type": "object"
@@ -4918,6 +4723,24 @@
4918
4723
  },
4919
4724
  "type": "object"
4920
4725
  },
4726
+ "Omit<MirrorOptions,\"customFilename\"|\"customDir\"|\"customVersion\">": {
4727
+ "additionalProperties": false,
4728
+ "properties": {
4729
+ "mirror": {
4730
+ "description": "The base URL of the mirror to download from.\ne.g https://github.com/electron/electron/releases/download",
4731
+ "type": "string"
4732
+ },
4733
+ "nightlyMirror": {
4734
+ "description": "The mirror URL for [`electron-nightly`](https://npmjs.com/package/electron-nightly),\nwhich lives in a separate npm package.",
4735
+ "type": "string"
4736
+ },
4737
+ "resolveAssetURL": {
4738
+ "description": "A function allowing customization of the url returned\nfrom getArtifactRemoteURL().",
4739
+ "typeof": "function"
4740
+ }
4741
+ },
4742
+ "type": "object"
4743
+ },
4921
4744
  "OutgoingHttpHeaders": {
4922
4745
  "additionalProperties": {
4923
4746
  "anyOf": [
@@ -7954,7 +7777,7 @@
7954
7777
  }
7955
7778
  ],
7956
7779
  "default": "1.0.3",
7957
- "description": "Version of the AppImage toolset bundle used for building `.AppImage` files.\n\nThe bundle ships:\n- **`mksquashfs`** — creates the SquashFS filesystem embedded in the AppImage.\n- **`desktop-file-validate`** — validates the generated `.desktop` entry.\n- **AppImage runtime** — the self-executing stub that mounts the SquashFS at launch.\n\nAvailable versions:\n| Version | Runtime date | Notes |\n|---------|-------------|-------|\n| `\"0.0.0\"` | Legacy | FUSE2-based AppImage runtime (pre-v27 default) |\n| `\"1.0.2\"` | 20251108 | Static-runtime (FUSE3-compatible) |\n| `\"1.0.3\"` | 20251108 | Static-runtime (FUSE3-compatible); recommended (default) |\n\nReleases: https://github.com/electron-userland/electron-builder-binaries/releases?q=appimage"
7780
+ "description": "Version of the AppImage toolset bundle used for building `.AppImage` files.\n\nThe bundle ships:\n- **`mksquashfs`** — creates the SquashFS filesystem embedded in the AppImage.\n- **`desktop-file-validate`** — validates the generated `.desktop` entry.\n- **AppImage runtime** — the self-executing stub that mounts the SquashFS at launch.\n\nAvailable versions:\n| Version | Runtime date | Notes |\n|---------|-------------|-------|\n| `\"0.0.0\"` | Legacy | FUSE2-based AppImage runtime (pre-v27 default) |\n| `\"1.0.2\"` | 20251108 | Static-runtime (FUSE3-compatible) |\n| `\"1.0.3\"` | 20251108 | Static-runtime (FUSE3-compatible); recommended (default) |\n\nReleases: https://github.com/electron-userland/electron-builder-binaries/blob/master/packages/appimage/CHANGELOG.md"
7958
7781
  },
7959
7782
  "fpm": {
7960
7783
  "anyOf": [
@@ -7970,7 +7793,7 @@
7970
7793
  }
7971
7794
  ],
7972
7795
  "default": "2.2.1",
7973
- "description": "Version of the FPM bundle used to build Linux packages (`.deb`, `.rpm`, `.pacman`, etc.)\non macOS and Linux hosts.\n\nAvailable versions:\n| Version | FPM version | Notes |\n|---------|------------|-------|\n| `\"2.2.1\"` | 1.17.0 (Ruby 3.4.3) | Current default |\n\nReleases: https://github.com/electron-userland/electron-builder-binaries/releases?q=fpm"
7796
+ "description": "Version of the FPM bundle used to build Linux packages (`.deb`, `.rpm`, `.pacman`, etc.)\non macOS and Linux hosts.\n\nAvailable versions:\n| Version | FPM version | Notes |\n|---------|------------|-------|\n| `\"2.2.1\"` | 1.17.0 (Ruby 3.4.3) | Current default |\n\nReleases: https://github.com/electron-userland/electron-builder-binaries/blob/master/packages/fpm/CHANGELOG.md"
7974
7797
  },
7975
7798
  "icons": {
7976
7799
  "anyOf": [
@@ -7978,15 +7801,15 @@
7978
7801
  "$ref": "#/definitions/ToolsetCustom"
7979
7802
  },
7980
7803
  {
7981
- "const": "1.1.0",
7804
+ "const": "1.2.1",
7982
7805
  "type": "string"
7983
7806
  },
7984
7807
  {
7985
7808
  "type": "null"
7986
7809
  }
7987
7810
  ],
7988
- "default": "1.1.0",
7989
- "description": "Version of the icons-conversion bundle used to convert source images to `.icns`, `.ico`,\nand PNG icon sets.\n\nSet to a {@link ToolsetCustom} object to supply your own icons bundle directory.\n\nAvailable versions:\n| Version | Notes |\n|---------|-------|\n| `\"1.1.0\"` | Current default |\n\nReleases: https://github.com/electron-userland/electron-builder-binaries/releases?q=icons"
7811
+ "default": "1.2.1",
7812
+ "description": "Version of the icons-conversion bundle used to convert source images to `.icns`, `.ico`,\nand PNG icon sets.\n\nSet to a {@link ToolsetCustom} object to supply your own icons bundle directory.\n\nAvailable versions:\n| Version | Notes |\n|---------|-------|\n| `\"1.2.1\"` | Current default |\n\nReleases: https://github.com/electron-userland/electron-builder-binaries/blob/master/packages/icons/CHANGELOG.md"
7990
7813
  },
7991
7814
  "linuxToolsMac": {
7992
7815
  "anyOf": [
@@ -8002,7 +7825,7 @@
8002
7825
  }
8003
7826
  ],
8004
7827
  "default": "1.0.0",
8005
- "description": "Version of the Linux-tools-mac bundle used to produce `.tar.lz` archives and build\nLinux targets on macOS hosts.\n\nThe bundle ships macOS-native builds of `ar`, `lzip`, and `gtar` (GNU tar).\n\nAvailable versions:\n| Version | Notes |\n|---------|-------|\n| `\"1.0.0\"` | Current default |\n\nReleases: https://github.com/electron-userland/electron-builder-binaries/releases?q=linux-tools-mac"
7828
+ "description": "Version of the Linux-tools-mac bundle used to produce `.tar.lz` archives and build\nLinux targets on macOS hosts.\n\nThe bundle ships macOS-native builds of `ar`, `lzip`, and `gtar` (GNU tar).\n\nAvailable versions:\n| Version | Notes |\n|---------|-------|\n| `\"1.0.0\"` | Current default |\n\nReleases: https://github.com/electron-userland/electron-builder-binaries/blob/master/packages/linux-tools-mac/CHANGELOG.md"
8006
7829
  },
8007
7830
  "nsis": {
8008
7831
  "anyOf": [
@@ -8021,7 +7844,7 @@
8021
7844
  }
8022
7845
  ],
8023
7846
  "default": "1.2.1",
8024
- "description": "Version of the NSIS toolset bundle used to compile Windows installers.\n\nThe bundle ships:\n- **`makensis`** — the NSIS compiler invoked to build `.nsi` scripts into `.exe` installers.\n- **NSIS plugins** — the plugin DLLs (`NsisMultiUser`, `UAC`, `StdUtils`, etc.) referenced by\n electron-builder's default installer scripts.\n- **`elevate.exe`** — UAC elevation helper included in NSIS installers.\n\nAvailable versions:\n| Version | `makensis` version | Notes |\n|---------|------------------|-------|\n| `\"0.0.0\"` | 3.0.4.1 | Legacy split bundle — `nsis` + `nsis-resources` archives (pre-v27 default) |\n| `\"1.2.1\"` | 3.12 | Unified bundle — single archive, entrypoint scripts auto-set `NSISDIR` (default) |\n\nReleases: https://github.com/electron-userland/electron-builder-binaries/releases?q=nsis"
7847
+ "description": "Version of the NSIS toolset bundle used to compile Windows installers.\n\nThe bundle ships:\n- **`makensis`** — the NSIS compiler invoked to build `.nsi` scripts into `.exe` installers.\n- **NSIS plugins** — the plugin DLLs (`NsisMultiUser`, `UAC`, `StdUtils`, etc.) referenced by\n electron-builder's default installer scripts.\n- **`elevate.exe`** — UAC elevation helper included in NSIS installers.\n\nAvailable versions:\n| Version | `makensis` version | Notes |\n|---------|------------------|-------|\n| `\"0.0.0\"` | 3.0.4.1 | Legacy split bundle — `nsis` + `nsis-resources` archives (pre-v27 default) |\n| `\"1.2.1\"` | 3.12 | Unified bundle — single archive, entrypoint scripts auto-set `NSISDIR` (default) |\n\nReleases: https://github.com/electron-userland/electron-builder-binaries/blob/master/packages/nsis/CHANGELOG.md"
8025
7848
  },
8026
7849
  "sevenZip": {
8027
7850
  "anyOf": [
@@ -8048,7 +7871,10 @@
8048
7871
  "enum": [
8049
7872
  "0.0.0",
8050
7873
  "1.0.0",
8051
- "1.1.0"
7874
+ "1.1.0",
7875
+ "1.1.1",
7876
+ "1.2.1",
7877
+ "1.3.0"
8052
7878
  ],
8053
7879
  "type": "string"
8054
7880
  },
@@ -8057,7 +7883,7 @@
8057
7883
  }
8058
7884
  ],
8059
7885
  "default": "1.1.0",
8060
- "description": "Version of the `win-codesign` bundle used for Windows code signing and resource editing.\n\nThe bundle ships:\n- **`signtool.exe`** (Windows) / **`osslsigncode`** (macOS & Linux) — used to sign `.exe`,\n `.dll`, and `.msix` artifacts.\n- **`rcedit`** — used to embed version metadata and icons into `.exe` files.\n- **Windows Kits** (`10.0.26100.0`) — used by AppX/MSIX packaging (`makeappx`, `signtool`).\n\nAvailable versions:\n| Version | Contents |\n|---------|----------|\n| `\"0.0.0\"` | Legacy bundle — `winCodeSign-2.6.0` (pre-v27 default) |\n| `\"1.0.0\"` | Modern bundle — Windows Kits 10.0.26100.0, `win-codesign` v1.0.0 |\n| `\"1.1.0\"` | Modern bundle — Windows Kits 10.0.26100.0, `win-codesign` v1.1.0 (default) |\n\nReleases: https://github.com/electron-userland/electron-builder-binaries/releases?q=win-codesign"
7886
+ "description": "Version of the `win-codesign` bundle used for Windows code signing and resource editing.\n\nThe bundle ships:\n- **`signtool.exe`** (Windows) / **`osslsigncode`** (macOS & Linux) — used to sign `.exe`,\n `.dll`, and `.msix` artifacts.\n- **`rcedit`** — used to embed version metadata and icons into `.exe` files.\n- **Windows Kits** (`10.0.26100.0`) — used by AppX/MSIX packaging (`makeappx`, `signtool`).\n\nAvailable versions:\n| Version | Contents |\n|---------|----------|\n| `\"0.0.0\"` | Legacy bundle — `winCodeSign-2.6.0` (pre-v27 default) |\n| `\"1.0.0\"` | Modern bundle — Windows Kits 10.0.26100.0, `win-codesign` v1.0.0 |\n| `\"1.1.0\"` | Modern bundle — Windows Kits 10.0.26100.0, `win-codesign` v1.1.0 |\n| `\"1.1.1\"` | Modern bundle — Windows Kits 10.0.26100.0, `win-codesign` v1.1.1 |\n| `\"1.2.1\"` | Modern bundle — Windows Kits 10.0.26100.0, `win-codesign` v1.2.1 |\n| `\"1.3.0\"` | Modern bundle — Windows Kits 10.0.26100.0, `win-codesign` v1.3.0 + separate ATS dlib bundle + .NET 8 runtime (required for Azure Trusted Signing `signtool /dlib`) |\n\nReleases: https://github.com/electron-userland/electron-builder-binaries/blob/master/packages/win-codesign/CHANGELOG.md"
8061
7887
  },
8062
7888
  "wine": {
8063
7889
  "anyOf": [
@@ -8065,7 +7891,10 @@
8065
7891
  "$ref": "#/definitions/ToolsetCustom"
8066
7892
  },
8067
7893
  {
8068
- "const": "0.0.0",
7894
+ "enum": [
7895
+ "0.0.0",
7896
+ "1.0.1"
7897
+ ],
8069
7898
  "type": "string"
8070
7899
  },
8071
7900
  {
@@ -8073,7 +7902,7 @@
8073
7902
  }
8074
7903
  ],
8075
7904
  "default": "0.0.0",
8076
- "description": "Version of the Wine bundle used to run Windows tools (NSIS, rcedit, signtool) on\nnon-Windows hosts (macOS and Linux).\n\nWine is only required when building Windows targets on a non-Windows machine. On Windows,\nthis setting has no effect.\n\nAvailable versions:\n| Version | Wine version | Platform support | Notes |\n|---------|-------------|-----------------|-------|\n| `\"0.0.0\"` | 4.0.1 | macOS only | Legacy portable bundle (pre-v27 default) |\n\nOn Linux, the system `wine` binary is used instead of a bundled one.\nSet `USE_SYSTEM_WINE=true` to force system Wine regardless of this setting.\n\nReleases: https://github.com/electron-userland/electron-builder-binaries/releases?q=wine"
7905
+ "description": "Version of the Wine bundle used to run Windows tools (NSIS, rcedit, signtool) on\nnon-Windows hosts (macOS and Linux).\n\nWine is only required when building Windows targets on a non-Windows machine. On Windows,\nthis setting has no effect.\n\nAvailable versions:\n| Version | Wine version | Platform support | Notes |\n|---------|-------------|-----------------|-------|\n| `\"0.0.0\"` | 4.0.1 | macOS | Legacy portable bundle (default) |\n| `\"1.0.1\"` | 11.0 | macOS | Supports arm64 macOS via Rosetta |\n\nTo use a custom Wine binary, use a `ToolsetCustom` object.\n\nReleases: https://github.com/electron-userland/electron-builder-binaries/blob/master/packages/wine/CHANGELOG.md"
8077
7906
  }
8078
7907
  },
8079
7908
  "type": "object"
@@ -8100,29 +7929,28 @@
8100
7929
  ],
8101
7930
  "type": "object"
8102
7931
  },
8103
- "WindowsAzureSigningConfiguration": {
8104
- "additionalProperties": {
8105
- "type": [
8106
- "null",
8107
- "string"
8108
- ]
8109
- },
7932
+ "WindowsAzureSigningConfig": {
7933
+ "additionalProperties": false,
8110
7934
  "properties": {
7935
+ "additionalMetadata": {
7936
+ "$ref": "#/definitions/Record<string,string>",
7937
+ "description": "Additional fields to include verbatim in the `metadata.json` file passed to\n`Azure.CodeSigning.Dlib.dll` via `signtool /dmdf`. Use this for DLib-specific options\nnot covered by the typed fields above (e.g. `ExcludeCredentials`, `CorrelationId`)."
7938
+ },
8111
7939
  "certificateProfileName": {
8112
- "description": "The Certificate Profile name. Translates to field: CertificateProfileName",
7940
+ "description": "The Certificate Profile name. Translates to field: CertificateProfileName.",
8113
7941
  "type": "string"
8114
7942
  },
8115
7943
  "codeSigningAccountName": {
8116
- "description": "The Code Signing Signing Account name. Translates to field: CodeSigningAccountName",
7944
+ "description": "The Code Signing Account name. Translates to field: CodeSigningAccountName.",
8117
7945
  "type": "string"
8118
7946
  },
8119
7947
  "endpoint": {
8120
- "description": "The Trusted Signing Account endpoint. The URI value must have a URI that aligns to the\nregion your Trusted Signing Account and Certificate Profile you are specifying were created\nin during the setup of these resources.\n\nTranslates to field: Endpoint\n\nRequires one of environment variable configurations for authenticating to Microsoft Entra ID per [Microsoft's documentation](https://learn.microsoft.com/en-us/dotnet/api/azure.identity.environmentcredential?view=azure-dotnet#definition)",
7948
+ "description": "The Trusted Signing Account endpoint. The URI value must align to the region your Trusted\nSigning Account and Certificate Profile were created in.\n\nRequires Azure Entra ID environment variables per\n[Microsoft's documentation](https://learn.microsoft.com/en-us/dotnet/api/azure.identity.environmentcredential?view=azure-dotnet#definition).",
8121
7949
  "type": "string"
8122
7950
  },
8123
7951
  "fileDigest": {
8124
7952
  "default": "SHA256",
8125
- "description": "The File Digest for signing each file. Translates to field: FileDigest",
7953
+ "description": "The file digest algorithm. Translates to field: FileDigest.",
8126
7954
  "type": "string"
8127
7955
  },
8128
7956
  "publisherName": {
@@ -8131,12 +7959,16 @@
8131
7959
  },
8132
7960
  "timestampDigest": {
8133
7961
  "default": "SHA256",
8134
- "description": "The Timestamp Digest. Translates to field: TimestampDigest",
7962
+ "description": "The timestamp digest algorithm. Translates to field: TimestampDigest.",
8135
7963
  "type": "string"
8136
7964
  },
8137
7965
  "timestampRfc3161": {
8138
7966
  "default": "http://timestamp.acs.microsoft.com",
8139
- "description": "The Timestamp rfc3161 server. Translates to field: TimestampRfc3161",
7967
+ "description": "The RFC3161 timestamp server. Translates to field: TimestampRfc3161.",
7968
+ "type": "string"
7969
+ },
7970
+ "type": {
7971
+ "const": "azure",
8140
7972
  "type": "string"
8141
7973
  }
8142
7974
  },
@@ -8144,7 +7976,8 @@
8144
7976
  "certificateProfileName",
8145
7977
  "codeSigningAccountName",
8146
7978
  "endpoint",
8147
- "publisherName"
7979
+ "publisherName",
7980
+ "type"
8148
7981
  ],
8149
7982
  "type": "object"
8150
7983
  },
@@ -8172,27 +8005,15 @@
8172
8005
  "$ref": "#/definitions/AsarOptions"
8173
8006
  },
8174
8007
  {
8175
- "const": false,
8176
- "type": "boolean"
8177
- },
8178
- {
8179
- "type": "null"
8008
+ "type": [
8009
+ "null",
8010
+ "boolean"
8011
+ ]
8180
8012
  }
8181
8013
  ],
8182
8014
  "default": true,
8183
8015
  "description": "Whether to package the application's source code into an archive, using [Electron's archive format](http://electron.atom.io/docs/tutorial/application-packaging/).\n\nNode modules that must be unpacked will be detected automatically. Use {@link AsarOptions.unpack} to specify additional files to unpack."
8184
8016
  },
8185
- "azureSignOptions": {
8186
- "anyOf": [
8187
- {
8188
- "$ref": "#/definitions/WindowsAzureSigningConfiguration"
8189
- },
8190
- {
8191
- "type": "null"
8192
- }
8193
- ],
8194
- "description": "Options for usage of Azure Trusted Signing service\nCannot be used in conjunction with `signtoolOptions`, signing will default to Azure Trusted Signing"
8195
- },
8196
8017
  "compression": {
8197
8018
  "anyOf": [
8198
8019
  {
@@ -8466,41 +8287,44 @@
8466
8287
  "default": "asInvoker",
8467
8288
  "description": "The [security level](https://msdn.microsoft.com/en-us/library/6ad1fshk.aspx#Anchor_9) at which the application requests to be executed.\nCannot be specified per target, allowed only in the `win`."
8468
8289
  },
8469
- "signAndEditExecutable": {
8470
- "default": true,
8471
- "description": "Whether to sign and add metadata to executable via [`resedit`](https://www.npmjs.com/package/resedit).\nMetadata includes information about the app name/description/version, publisher, copyright, etc.\nThis property also is responsible for adding the app icon and setting execution level.\nSet to `false` only if you need to fully disable resedit-based resource editing.\nTo skip only code signing while keeping resource editing, use `signExecutable: false` instead.",
8472
- "type": "boolean"
8473
- },
8474
- "signExecutable": {
8475
- "default": true,
8476
- "description": "Whether to sign Windows executables and any additional files matched by `signExts`.\nSet to `false` to skip Windows code signing while still editing executable resources\n(icon, metadata, etc. via [`resedit`](https://www.npmjs.com/package/resedit)).\nThis option is not limited to the main executable edit/sign flow and can also affect\nsigning of Windows installers or other artifacts that use the standard signing path.",
8477
- "type": "boolean"
8478
- },
8479
- "signExts": {
8290
+ "sign": {
8480
8291
  "anyOf": [
8481
8292
  {
8482
- "items": {
8483
- "type": "string"
8484
- },
8485
- "type": "array"
8293
+ "$ref": "#/definitions/WindowsSigntoolSigningConfig"
8294
+ },
8295
+ {
8296
+ "$ref": "#/definitions/WindowsHsmSigningConfig"
8297
+ },
8298
+ {
8299
+ "$ref": "#/definitions/WindowsPkcs11SigningConfig"
8300
+ },
8301
+ {
8302
+ "$ref": "#/definitions/WindowsAzureSigningConfig"
8303
+ },
8304
+ {
8305
+ "const": false,
8306
+ "type": "boolean"
8486
8307
  },
8487
8308
  {
8488
8309
  "type": "null"
8489
8310
  }
8490
8311
  ],
8491
- "default": null,
8492
- "description": "Explicit file name/extensions (`str.endsWith`) to also sign. Advanced option.\nSupports negative patterns, e.g. example that excludes `.appx` files: `[\"somefilename\", \".dll\", \"!.appx\"]`."
8312
+ "description": "Code signing configuration. Set to `false` or `null` to disable Windows code signing\n(executable resources such as the icon and metadata are still edited). Leave unset to\nsign using credentials discovered from the environment (e.g. `WIN_CSC_LINK`). Otherwise\nprovide exactly one of the following signing modes:\n\n- `{ type: \"signtool\", ... }` — Sign with a local certificate file (.pfx/.p12) or a\n certificate from the Windows certificate store.\n- `{ type: \"hsm\", ... }` — Sign using a Hardware Security Module (HSM) or FIPS-compliant\n hardware token via signtool's `/csp` (cryptographic service provider) and `/kc` (key\n container) flags. Requires `toolsets.winCodeSign: \"1.x\"`. Windows-only.\n- `{ type: \"pkcs11\", ... }` — Sign using a PKCS#11 hardware token via osslsigncode.\n Available on macOS and Linux CI without a Windows VM.\n- `{ type: \"azure\", ... }` — Sign via Azure Trusted Signing (cloud service). Requires\n Azure Entra ID environment variables for authentication."
8493
8313
  },
8494
- "signtoolOptions": {
8314
+ "signExts": {
8495
8315
  "anyOf": [
8496
8316
  {
8497
- "$ref": "#/definitions/WindowsSigntoolConfiguration"
8317
+ "items": {
8318
+ "type": "string"
8319
+ },
8320
+ "type": "array"
8498
8321
  },
8499
8322
  {
8500
8323
  "type": "null"
8501
8324
  }
8502
8325
  ],
8503
- "description": "Options for usage with signtool.exe\nCannot be used in conjunction with `azureSignOptions`, signing will default to Azure Trusted Signing"
8326
+ "default": null,
8327
+ "description": "Explicit file name/extensions (`str.endsWith`) to also sign. Advanced option.\nSupports negative patterns, e.g. example that excludes `.appx` files: `[\"somefilename\", \".dll\", \"!.appx\"]`."
8504
8328
  },
8505
8329
  "target": {
8506
8330
  "anyOf": [
@@ -8538,7 +8362,227 @@
8538
8362
  },
8539
8363
  "type": "object"
8540
8364
  },
8541
- "WindowsSigntoolConfiguration": {
8365
+ "WindowsHsmSigningConfig": {
8366
+ "additionalProperties": false,
8367
+ "properties": {
8368
+ "additionalCertificateFile": {
8369
+ "description": "The path to an additional certificate file you want to add to the signature block.",
8370
+ "type": [
8371
+ "null",
8372
+ "string"
8373
+ ]
8374
+ },
8375
+ "certificateFile": {
8376
+ "description": "Path to the certificate file containing the public certificate chain (.crt / .cer / .pfx).\nThe private key is NOT read from this file — it is provided by the HSM via `cryptoServiceProvider`.",
8377
+ "type": [
8378
+ "null",
8379
+ "string"
8380
+ ]
8381
+ },
8382
+ "certificateSha1": {
8383
+ "description": "The SHA1 thumbprint of the certificate in the Windows certificate store.",
8384
+ "type": [
8385
+ "null",
8386
+ "string"
8387
+ ]
8388
+ },
8389
+ "certificateSubjectName": {
8390
+ "description": "The subject name of the certificate in the Windows certificate store.",
8391
+ "type": [
8392
+ "null",
8393
+ "string"
8394
+ ]
8395
+ },
8396
+ "cryptoServiceProvider": {
8397
+ "description": "The name of the cryptographic service provider (CSP) that holds the private key.\nMaps to signtool's `/csp` flag. Examples:\n- Google Cloud KMS: `\"Google Cloud KMS Provider\"`\n- Smart card / FIPS token: `\"Microsoft Base Smart Card Crypto Provider\"`\n\nRequires `toolsets.winCodeSign: \"1.x\"`. Windows-only — use `type: \"pkcs11\"` on macOS/Linux.",
8398
+ "type": "string"
8399
+ },
8400
+ "keyContainer": {
8401
+ "description": "The key container name within the CSP. Maps to signtool's `/kc` flag.\n\nExample for Google Cloud KMS:\n`\"projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/1\"`",
8402
+ "type": "string"
8403
+ },
8404
+ "publisherName": {
8405
+ "anyOf": [
8406
+ {
8407
+ "items": {
8408
+ "type": "string"
8409
+ },
8410
+ "type": "array"
8411
+ },
8412
+ {
8413
+ "type": [
8414
+ "null",
8415
+ "string"
8416
+ ]
8417
+ }
8418
+ ],
8419
+ "description": "[The publisher name](https://github.com/electron-userland/electron-builder/issues/1187#issuecomment-278972073), exactly as in your code signed certificate. Several names can be provided.\nDefaults to common name from your code signing certificate."
8420
+ },
8421
+ "rfc3161TimeStampServer": {
8422
+ "default": "http://timestamp.digicert.com",
8423
+ "description": "The URL of the RFC 3161 time stamp server.",
8424
+ "type": [
8425
+ "null",
8426
+ "string"
8427
+ ]
8428
+ },
8429
+ "sign": {
8430
+ "anyOf": [
8431
+ {
8432
+ "typeof": "function"
8433
+ },
8434
+ {
8435
+ "type": [
8436
+ "null",
8437
+ "string"
8438
+ ]
8439
+ }
8440
+ ],
8441
+ "description": "The custom function (or path to file or module id) to sign Windows executables."
8442
+ },
8443
+ "signingHashAlgorithms": {
8444
+ "anyOf": [
8445
+ {
8446
+ "items": {
8447
+ "enum": [
8448
+ "sha1",
8449
+ "sha256"
8450
+ ],
8451
+ "type": "string"
8452
+ },
8453
+ "type": "array"
8454
+ },
8455
+ {
8456
+ "type": "null"
8457
+ }
8458
+ ],
8459
+ "default": "['sha1', 'sha256']",
8460
+ "description": "Array of signing algorithms used. For AppX `sha256` is always used."
8461
+ },
8462
+ "timeStampServer": {
8463
+ "default": "http://timestamp.digicert.com",
8464
+ "description": "The URL of the time stamp server.",
8465
+ "type": [
8466
+ "null",
8467
+ "string"
8468
+ ]
8469
+ },
8470
+ "type": {
8471
+ "const": "hsm",
8472
+ "type": "string"
8473
+ }
8474
+ },
8475
+ "required": [
8476
+ "cryptoServiceProvider",
8477
+ "keyContainer",
8478
+ "type"
8479
+ ],
8480
+ "type": "object"
8481
+ },
8482
+ "WindowsPkcs11SigningConfig": {
8483
+ "additionalProperties": false,
8484
+ "properties": {
8485
+ "additionalCertificateFile": {
8486
+ "description": "The path to an additional certificate file you want to add to the signature block.",
8487
+ "type": [
8488
+ "null",
8489
+ "string"
8490
+ ]
8491
+ },
8492
+ "certificateFile": {
8493
+ "description": "Optional path to a certificate chain file to accompany the PKCS#11 key.\nIf omitted the certificate embedded in the token is used.",
8494
+ "type": [
8495
+ "null",
8496
+ "string"
8497
+ ]
8498
+ },
8499
+ "pkcs11KeyUri": {
8500
+ "description": "RFC 7512 PKCS#11 URI identifying the private key within the module.\nMaps to osslsigncode's `-key` parameter.\n\nExample: `\"pkcs11:token=MyToken;object=MyKey;type=private\"`\n\nMust be paired with `pkcs11Module`.",
8501
+ "type": "string"
8502
+ },
8503
+ "pkcs11Module": {
8504
+ "description": "Path to the PKCS#11 shared library (`.so` on Linux, `.dylib` on macOS).\nThe library must be installed separately — electron-builder does not bundle it.\n\nExample: `\"/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so\"`\n\nMust be paired with `pkcs11KeyUri`.",
8505
+ "type": "string"
8506
+ },
8507
+ "publisherName": {
8508
+ "anyOf": [
8509
+ {
8510
+ "items": {
8511
+ "type": "string"
8512
+ },
8513
+ "type": "array"
8514
+ },
8515
+ {
8516
+ "type": [
8517
+ "null",
8518
+ "string"
8519
+ ]
8520
+ }
8521
+ ],
8522
+ "description": "[The publisher name](https://github.com/electron-userland/electron-builder/issues/1187#issuecomment-278972073), exactly as in your code signed certificate. Several names can be provided.\nDefaults to common name from your code signing certificate."
8523
+ },
8524
+ "rfc3161TimeStampServer": {
8525
+ "default": "http://timestamp.digicert.com",
8526
+ "description": "The URL of the RFC 3161 time stamp server.",
8527
+ "type": [
8528
+ "null",
8529
+ "string"
8530
+ ]
8531
+ },
8532
+ "sign": {
8533
+ "anyOf": [
8534
+ {
8535
+ "typeof": "function"
8536
+ },
8537
+ {
8538
+ "type": [
8539
+ "null",
8540
+ "string"
8541
+ ]
8542
+ }
8543
+ ],
8544
+ "description": "The custom function (or path to file or module id) to sign Windows executables."
8545
+ },
8546
+ "signingHashAlgorithms": {
8547
+ "anyOf": [
8548
+ {
8549
+ "items": {
8550
+ "enum": [
8551
+ "sha1",
8552
+ "sha256"
8553
+ ],
8554
+ "type": "string"
8555
+ },
8556
+ "type": "array"
8557
+ },
8558
+ {
8559
+ "type": "null"
8560
+ }
8561
+ ],
8562
+ "default": "['sha1', 'sha256']",
8563
+ "description": "Array of signing algorithms used. For AppX `sha256` is always used."
8564
+ },
8565
+ "timeStampServer": {
8566
+ "default": "http://timestamp.digicert.com",
8567
+ "description": "The URL of the time stamp server.",
8568
+ "type": [
8569
+ "null",
8570
+ "string"
8571
+ ]
8572
+ },
8573
+ "type": {
8574
+ "const": "pkcs11",
8575
+ "type": "string"
8576
+ }
8577
+ },
8578
+ "required": [
8579
+ "pkcs11KeyUri",
8580
+ "pkcs11Module",
8581
+ "type"
8582
+ ],
8583
+ "type": "object"
8584
+ },
8585
+ "WindowsSigntoolSigningConfig": {
8542
8586
  "additionalProperties": false,
8543
8587
  "properties": {
8544
8588
  "additionalCertificateFile": {
@@ -8549,28 +8593,28 @@
8549
8593
  ]
8550
8594
  },
8551
8595
  "certificateFile": {
8552
- "description": "The path to the *.pfx certificate you want to sign with. Please use it only if you cannot use env variable `CSC_LINK` (`WIN_CSC_LINK`) for some reason.\nPlease see [Code Signing](https://www.electron.build/code-signing).",
8596
+ "description": "The path to the *.pfx or *.p12 certificate file. Prefer the `WIN_CSC_LINK` environment\nvariable when possible. See [Code Signing](https://www.electron.build/code-signing).",
8553
8597
  "type": [
8554
8598
  "null",
8555
8599
  "string"
8556
8600
  ]
8557
8601
  },
8558
8602
  "certificatePassword": {
8559
- "description": "The password to the certificate provided in `certificateFile`. Please use it only if you cannot use env variable `CSC_KEY_PASSWORD` (`WIN_CSC_KEY_PASSWORD`) for some reason.\nPlease see [Code Signing](https://www.electron.build/code-signing).",
8603
+ "description": "The password to the certificate provided in `certificateFile`. Prefer the\n`WIN_CSC_KEY_PASSWORD` environment variable when possible.",
8560
8604
  "type": [
8561
8605
  "null",
8562
8606
  "string"
8563
8607
  ]
8564
8608
  },
8565
8609
  "certificateSha1": {
8566
- "description": "The SHA1 hash of the signing certificate. The SHA1 hash is commonly specified when multiple certificates satisfy the criteria specified by the remaining switches. Works only on Windows (or on macOS if [Parallels Desktop](https://www.parallels.com/products/desktop/) Windows 10 virtual machines exits).",
8610
+ "description": "The SHA1 hash of the signing certificate. Works only on Windows (or macOS with Parallels Desktop).",
8567
8611
  "type": [
8568
8612
  "null",
8569
8613
  "string"
8570
8614
  ]
8571
8615
  },
8572
8616
  "certificateSubjectName": {
8573
- "description": "The name of the subject of the signing certificate, which is often labeled with the field name `issued to`. Required only for EV Code Signing and works only on Windows (or on macOS if [Parallels Desktop](https://www.parallels.com/products/desktop/) Windows 10 virtual machines exits).",
8617
+ "description": "The name of the subject of the signing certificate. Required for EV Code Signing.\nWorks only on Windows (or macOS with Parallels Desktop).",
8574
8618
  "type": [
8575
8619
  "null",
8576
8620
  "string"
@@ -8613,7 +8657,7 @@
8613
8657
  ]
8614
8658
  }
8615
8659
  ],
8616
- "description": "The custom function (or path to file or module id) to sign Windows executables"
8660
+ "description": "The custom function (or path to file or module id) to sign Windows executables."
8617
8661
  },
8618
8662
  "signingHashAlgorithms": {
8619
8663
  "anyOf": [
@@ -8641,8 +8685,15 @@
8641
8685
  "null",
8642
8686
  "string"
8643
8687
  ]
8688
+ },
8689
+ "type": {
8690
+ "const": "signtool",
8691
+ "type": "string"
8644
8692
  }
8645
8693
  },
8694
+ "required": [
8695
+ "type"
8696
+ ],
8646
8697
  "type": "object"
8647
8698
  }
8648
8699
  },
@@ -8800,11 +8851,10 @@
8800
8851
  "$ref": "#/definitions/AsarOptions"
8801
8852
  },
8802
8853
  {
8803
- "const": false,
8804
- "type": "boolean"
8805
- },
8806
- {
8807
- "type": "null"
8854
+ "type": [
8855
+ "null",
8856
+ "boolean"
8857
+ ]
8808
8858
  }
8809
8859
  ],
8810
8860
  "default": true,
@@ -8972,30 +9022,27 @@
8972
9022
  ],
8973
9023
  "description": "Override the source of the Electron distribution to stage.\n\nShould return the path to either:\n- A **directory** containing a pre-built, unpacked Electron app (e.g. `~/electron/out/R`).\n- A **directory** containing Electron zip archives following the naming convention\n `electron-v${version}-${platformName}-${arch}.zip`.\n\nWhen not set, electron-builder downloads the official Electron release from GitHub (or the\nmirror configured via `electronDownload`).\n\nReceives a {@link PrepareApplicationStageDirectoryOptions}."
8974
9024
  },
8975
- "electronDownload": {
9025
+ "electronFuses": {
8976
9026
  "anyOf": [
8977
9027
  {
8978
- "$ref": "#/definitions/ElectronDownloadOptions"
8979
- },
8980
- {
8981
- "$ref": "#/definitions/ElectronGetOptions"
9028
+ "$ref": "#/definitions/FuseOptionsV1"
8982
9029
  },
8983
9030
  {
8984
9031
  "type": "null"
8985
9032
  }
8986
9033
  ],
8987
- "description": "Options forwarded to [`@electron/get`](https://github.com/electron/get) when downloading the\nElectron distribution to package.\n\nAlso accepts the legacy `electron-download` shape for backward compatibility."
9034
+ "description": "Options forwarded to [`@electron/fuses`](https://github.com/electron/fuses) to flip Electron\nfeature flags in the binary.\n\nFuses are compile-time-like flags baked into the Electron binary that cannot be changed at\nruntime. Flipping them is the approved mechanism for hardening Electron apps (e.g., disabling\n`ELECTRON_RUN_AS_NODE`, enabling ASAR integrity, etc.).\n\nelectron-builder flips fuses after packaging but before signing so that the final signature\ncovers the modified binary."
8988
9035
  },
8989
- "electronFuses": {
9036
+ "electronGet": {
8990
9037
  "anyOf": [
8991
9038
  {
8992
- "$ref": "#/definitions/FuseOptionsV1"
9039
+ "$ref": "#/definitions/ElectronGetOptions"
8993
9040
  },
8994
9041
  {
8995
9042
  "type": "null"
8996
9043
  }
8997
9044
  ],
8998
- "description": "Options forwarded to [`@electron/fuses`](https://github.com/electron/fuses) to flip Electron\nfeature flags in the binary.\n\nFuses are compile-time-like flags baked into the Electron binary that cannot be changed at\nruntime. Flipping them is the approved mechanism for hardening Electron apps (e.g., disabling\n`ELECTRON_RUN_AS_NODE`, enabling ASAR integrity, etc.).\n\nelectron-builder flips fuses after packaging but before signing so that the final signature\ncovers the modified binary."
9045
+ "description": "Options forwarded to [`@electron/get`](https://github.com/electron/get) when downloading the\nElectron distribution to package."
8999
9046
  },
9000
9047
  "electronLanguages": {
9001
9048
  "anyOf": [