app-builder-lib 26.15.2 → 27.0.0-alpha.0

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 (997) hide show
  1. package/dist/Framework.d.ts +40 -0
  2. package/dist/Framework.d.ts.map +1 -0
  3. package/dist/Framework.js +4 -0
  4. package/dist/Framework.js.map +1 -0
  5. package/dist/appInfo.d.ts +32 -0
  6. package/dist/appInfo.d.ts.map +1 -0
  7. package/dist/appInfo.js +145 -0
  8. package/dist/appInfo.js.map +1 -0
  9. package/dist/asar/asar.d.ts +39 -0
  10. package/dist/asar/asar.d.ts.map +1 -0
  11. package/dist/asar/asar.js +155 -0
  12. package/dist/asar/asar.js.map +1 -0
  13. package/dist/asar/asarFileChecker.d.ts +3 -0
  14. package/dist/asar/asarFileChecker.d.ts.map +1 -0
  15. package/dist/asar/asarFileChecker.js +22 -0
  16. package/dist/asar/asarFileChecker.js.map +1 -0
  17. package/dist/asar/asarUtil.d.ts +2 -0
  18. package/dist/asar/asarUtil.d.ts.map +1 -0
  19. package/dist/asar/asarUtil.js +278 -0
  20. package/dist/asar/asarUtil.js.map +1 -0
  21. package/dist/asar/integrity.d.ts +16 -0
  22. package/dist/asar/integrity.d.ts.map +1 -0
  23. package/dist/asar/integrity.js +59 -0
  24. package/dist/asar/integrity.js.map +1 -0
  25. package/dist/asar/unpackDetector.d.ts +2 -0
  26. package/dist/asar/unpackDetector.d.ts.map +1 -0
  27. package/dist/asar/unpackDetector.js +39 -0
  28. package/dist/asar/unpackDetector.js.map +1 -0
  29. package/dist/codeSign/certInfo.d.ts +55 -0
  30. package/dist/codeSign/certInfo.d.ts.map +1 -0
  31. package/dist/codeSign/certInfo.js +459 -0
  32. package/dist/codeSign/certInfo.js.map +1 -0
  33. package/dist/codeSign/codesign.d.ts +4 -0
  34. package/dist/codeSign/codesign.d.ts.map +1 -0
  35. package/dist/codeSign/codesign.js +32 -0
  36. package/dist/codeSign/codesign.js.map +1 -0
  37. package/dist/codeSign/mac/macCodeSign.d.ts +29 -0
  38. package/dist/codeSign/mac/macCodeSign.d.ts.map +1 -0
  39. package/dist/codeSign/mac/macCodeSign.js +273 -0
  40. package/dist/codeSign/mac/macCodeSign.js.map +1 -0
  41. package/dist/codeSign/signManager.d.ts +14 -0
  42. package/dist/codeSign/signManager.d.ts.map +1 -0
  43. package/dist/codeSign/signManager.js +2 -0
  44. package/dist/codeSign/signManager.js.map +1 -0
  45. package/dist/codeSign/win/windowsCodeSign.d.ts +8 -0
  46. package/dist/codeSign/win/windowsCodeSign.d.ts.map +1 -0
  47. package/dist/codeSign/win/windowsCodeSign.js +34 -0
  48. package/dist/codeSign/win/windowsCodeSign.js.map +1 -0
  49. package/dist/codeSign/win/windowsSignAzureManager.d.ts +18 -0
  50. package/dist/codeSign/win/windowsSignAzureManager.d.ts.map +1 -0
  51. package/dist/codeSign/win/windowsSignAzureManager.js +68 -0
  52. package/dist/codeSign/win/windowsSignAzureManager.js.map +1 -0
  53. package/dist/codeSign/win/windowsSignToolManager.d.ts +59 -0
  54. package/dist/codeSign/win/windowsSignToolManager.d.ts.map +1 -0
  55. package/dist/codeSign/win/windowsSignToolManager.js +364 -0
  56. package/dist/codeSign/win/windowsSignToolManager.js.map +1 -0
  57. package/dist/configuration.d.ts +1010 -0
  58. package/dist/configuration.d.ts.map +1 -0
  59. package/dist/configuration.js +2 -0
  60. package/dist/configuration.js.map +1 -0
  61. package/dist/core.d.ts +61 -0
  62. package/dist/core.d.ts.map +1 -0
  63. package/dist/core.js +61 -0
  64. package/dist/core.js.map +1 -0
  65. package/dist/electron/ElectronFramework.d.ts +17 -0
  66. package/dist/electron/ElectronFramework.d.ts.map +1 -0
  67. package/dist/electron/ElectronFramework.js +236 -0
  68. package/dist/electron/ElectronFramework.js.map +1 -0
  69. package/dist/electron/electronVersion.d.ts +7 -0
  70. package/dist/electron/electronVersion.d.ts.map +1 -0
  71. package/dist/electron/electronVersion.js +119 -0
  72. package/dist/electron/electronVersion.js.map +1 -0
  73. package/dist/electron/injectFFMPEG.d.ts +12 -0
  74. package/dist/electron/injectFFMPEG.d.ts.map +1 -0
  75. package/dist/electron/injectFFMPEG.js +53 -0
  76. package/dist/electron/injectFFMPEG.js.map +1 -0
  77. package/dist/electron/mac/electronMac.d.ts +2 -0
  78. package/dist/electron/mac/electronMac.d.ts.map +1 -0
  79. package/dist/electron/mac/electronMac.js +254 -0
  80. package/dist/electron/mac/electronMac.js.map +1 -0
  81. package/dist/electron/search-module.d.ts +24 -0
  82. package/dist/electron/search-module.d.ts.map +1 -0
  83. package/dist/electron/search-module.js +68 -0
  84. package/dist/electron/search-module.js.map +1 -0
  85. package/dist/electron/win/electronWin.d.ts +2 -0
  86. package/dist/electron/win/electronWin.d.ts.map +1 -0
  87. package/dist/electron/win/electronWin.js +36 -0
  88. package/dist/electron/win/electronWin.js.map +1 -0
  89. package/dist/errorMessages.d.ts +2 -0
  90. package/dist/errorMessages.d.ts.map +1 -0
  91. package/dist/errorMessages.js +8 -0
  92. package/dist/errorMessages.js.map +1 -0
  93. package/dist/fileMatcher.d.ts +31 -0
  94. package/dist/fileMatcher.d.ts.map +1 -0
  95. package/dist/fileMatcher.js +277 -0
  96. package/dist/fileMatcher.js.map +1 -0
  97. package/dist/fileTransformer.d.ts +2 -0
  98. package/dist/fileTransformer.d.ts.map +1 -0
  99. package/dist/fileTransformer.js +82 -0
  100. package/dist/fileTransformer.js.map +1 -0
  101. package/dist/forge-maker.d.ts +6 -0
  102. package/dist/forge-maker.d.ts.map +1 -0
  103. package/dist/forge-maker.js +20 -0
  104. package/dist/forge-maker.js.map +1 -0
  105. package/dist/index.d.ts +40 -0
  106. package/dist/index.d.ts.map +1 -0
  107. package/dist/index.js +77 -0
  108. package/dist/index.js.map +1 -0
  109. package/dist/indexInternal.d.ts +46 -0
  110. package/dist/indexInternal.d.ts.map +1 -0
  111. package/dist/indexInternal.js +39 -0
  112. package/dist/indexInternal.js.map +1 -0
  113. package/dist/linuxPackager.d.ts +13 -0
  114. package/dist/linuxPackager.d.ts.map +1 -0
  115. package/dist/linuxPackager.js +75 -0
  116. package/dist/linuxPackager.js.map +1 -0
  117. package/dist/macPackager.d.ts +50 -0
  118. package/dist/macPackager.d.ts.map +1 -0
  119. package/dist/macPackager.js +442 -0
  120. package/dist/macPackager.js.map +1 -0
  121. package/dist/node-module-collector/bunNodeModulesCollector.d.ts +11 -0
  122. package/dist/node-module-collector/bunNodeModulesCollector.d.ts.map +1 -0
  123. package/dist/node-module-collector/bunNodeModulesCollector.js +14 -0
  124. package/dist/node-module-collector/bunNodeModulesCollector.js.map +1 -0
  125. package/dist/node-module-collector/hoist.d.ts +124 -0
  126. package/dist/node-module-collector/hoist.d.ts.map +1 -0
  127. package/dist/node-module-collector/hoist.js +880 -0
  128. package/dist/node-module-collector/hoist.js.map +1 -0
  129. package/dist/node-module-collector/index.d.ts +21 -0
  130. package/dist/node-module-collector/index.d.ts.map +1 -0
  131. package/dist/node-module-collector/index.js +124 -0
  132. package/dist/node-module-collector/index.js.map +1 -0
  133. package/dist/node-module-collector/moduleManager.d.ts +94 -0
  134. package/dist/node-module-collector/moduleManager.d.ts.map +1 -0
  135. package/dist/node-module-collector/moduleManager.js +314 -0
  136. package/dist/node-module-collector/moduleManager.js.map +1 -0
  137. package/dist/node-module-collector/nodeModulesCollector.d.ts +138 -0
  138. package/dist/node-module-collector/nodeModulesCollector.d.ts.map +1 -0
  139. package/dist/node-module-collector/nodeModulesCollector.js +421 -0
  140. package/dist/node-module-collector/nodeModulesCollector.js.map +1 -0
  141. package/dist/node-module-collector/npmNodeModulesCollector.d.ts +15 -0
  142. package/dist/node-module-collector/npmNodeModulesCollector.d.ts.map +1 -0
  143. package/dist/node-module-collector/npmNodeModulesCollector.js +75 -0
  144. package/dist/node-module-collector/npmNodeModulesCollector.js.map +1 -0
  145. package/dist/node-module-collector/packageManager.d.ts +18 -0
  146. package/dist/node-module-collector/packageManager.d.ts.map +1 -0
  147. package/dist/node-module-collector/packageManager.js +137 -0
  148. package/dist/node-module-collector/packageManager.js.map +1 -0
  149. package/dist/node-module-collector/pnpmNodeModulesCollector.d.ts +45 -0
  150. package/dist/node-module-collector/pnpmNodeModulesCollector.d.ts.map +1 -0
  151. package/dist/node-module-collector/pnpmNodeModulesCollector.js +184 -0
  152. package/dist/node-module-collector/pnpmNodeModulesCollector.js.map +1 -0
  153. package/dist/node-module-collector/traversalNodeModulesCollector.d.ts +19 -0
  154. package/dist/node-module-collector/traversalNodeModulesCollector.d.ts.map +1 -0
  155. package/dist/node-module-collector/traversalNodeModulesCollector.js +118 -0
  156. package/dist/node-module-collector/traversalNodeModulesCollector.js.map +1 -0
  157. package/dist/node-module-collector/types.d.ts +53 -0
  158. package/dist/node-module-collector/types.d.ts.map +1 -0
  159. package/dist/node-module-collector/types.js +2 -0
  160. package/dist/node-module-collector/yarnBerryNodeModulesCollector.d.ts +16 -0
  161. package/dist/node-module-collector/yarnBerryNodeModulesCollector.d.ts.map +1 -0
  162. package/dist/node-module-collector/yarnBerryNodeModulesCollector.js +87 -0
  163. package/dist/node-module-collector/yarnBerryNodeModulesCollector.js.map +1 -0
  164. package/dist/node-module-collector/yarnNodeModulesCollector.d.ts +11 -0
  165. package/dist/node-module-collector/yarnNodeModulesCollector.d.ts.map +1 -0
  166. package/dist/node-module-collector/yarnNodeModulesCollector.js +18 -0
  167. package/dist/node-module-collector/yarnNodeModulesCollector.js.map +1 -0
  168. package/dist/options/AppXOptions.d.ts +106 -0
  169. package/dist/options/AppXOptions.d.ts.map +1 -0
  170. package/dist/options/AppXOptions.js +2 -0
  171. package/dist/options/AppXOptions.js.map +1 -0
  172. package/dist/options/CommonWindowsInstallerConfiguration.d.ts +48 -0
  173. package/dist/options/CommonWindowsInstallerConfiguration.d.ts.map +1 -0
  174. package/dist/options/CommonWindowsInstallerConfiguration.js +47 -0
  175. package/dist/options/CommonWindowsInstallerConfiguration.js.map +1 -0
  176. package/dist/options/FileAssociation.d.ts +46 -0
  177. package/dist/options/FileAssociation.d.ts.map +1 -0
  178. package/dist/options/FileAssociation.js +2 -0
  179. package/dist/options/MsiOptions.d.ts +27 -0
  180. package/dist/options/MsiOptions.d.ts.map +1 -0
  181. package/dist/options/MsiOptions.js +2 -0
  182. package/dist/options/MsiOptions.js.map +1 -0
  183. package/dist/options/MsiWrappedOptions.d.ts +27 -0
  184. package/dist/options/MsiWrappedOptions.d.ts.map +1 -0
  185. package/dist/options/MsiWrappedOptions.js +2 -0
  186. package/dist/options/MsiWrappedOptions.js.map +1 -0
  187. package/dist/options/PlatformSpecificBuildOptions.d.ts +261 -0
  188. package/dist/options/PlatformSpecificBuildOptions.d.ts.map +1 -0
  189. package/dist/options/PlatformSpecificBuildOptions.js +2 -0
  190. package/dist/options/PlatformSpecificBuildOptions.js.map +1 -0
  191. package/dist/options/SnapOptions.d.ts +480 -0
  192. package/dist/options/SnapOptions.d.ts.map +1 -0
  193. package/dist/options/SnapOptions.js +2 -0
  194. package/dist/options/SnapOptions.js.map +1 -0
  195. package/dist/options/SquirrelWindowsOptions.d.ts +47 -0
  196. package/dist/options/SquirrelWindowsOptions.d.ts.map +1 -0
  197. package/dist/options/SquirrelWindowsOptions.js +2 -0
  198. package/dist/options/SquirrelWindowsOptions.js.map +1 -0
  199. package/dist/options/linuxOptions.d.ts +289 -0
  200. package/dist/options/linuxOptions.d.ts.map +1 -0
  201. package/dist/options/linuxOptions.js +2 -0
  202. package/dist/options/linuxOptions.js.map +1 -0
  203. package/dist/options/macOptions.d.ts +390 -0
  204. package/dist/options/macOptions.d.ts.map +1 -0
  205. package/dist/options/macOptions.js +2 -0
  206. package/dist/options/macOptions.js.map +1 -0
  207. package/dist/options/metadata.d.ts +54 -0
  208. package/dist/options/metadata.d.ts.map +1 -0
  209. package/dist/options/metadata.js +2 -0
  210. package/dist/options/metadata.js.map +1 -0
  211. package/dist/options/pkgOptions.d.ts +137 -0
  212. package/dist/options/pkgOptions.d.ts.map +1 -0
  213. package/dist/options/pkgOptions.js +2 -0
  214. package/dist/options/pkgOptions.js.map +1 -0
  215. package/dist/options/winOptions.d.ts +166 -0
  216. package/dist/options/winOptions.d.ts.map +1 -0
  217. package/dist/options/winOptions.js +2 -0
  218. package/dist/options/winOptions.js.map +1 -0
  219. package/dist/packager.d.ts +100 -0
  220. package/dist/packager.d.ts.map +1 -0
  221. package/dist/packager.js +491 -0
  222. package/dist/packager.js.map +1 -0
  223. package/dist/packagerApi.d.ts +32 -0
  224. package/dist/packagerApi.d.ts.map +1 -0
  225. package/dist/packagerApi.js +2 -0
  226. package/dist/packagerApi.js.map +1 -0
  227. package/dist/platformPackager.d.ts +132 -0
  228. package/dist/platformPackager.d.ts.map +1 -0
  229. package/dist/platformPackager.js +761 -0
  230. package/dist/platformPackager.js.map +1 -0
  231. package/dist/presets/rectCra.d.ts +2 -0
  232. package/dist/presets/rectCra.d.ts.map +1 -0
  233. package/dist/presets/rectCra.js +19 -0
  234. package/dist/presets/rectCra.js.map +1 -0
  235. package/dist/publish/PublishManager.d.ts +33 -0
  236. package/dist/publish/PublishManager.d.ts.map +1 -0
  237. package/dist/publish/PublishManager.js +470 -0
  238. package/dist/publish/PublishManager.js.map +1 -0
  239. package/dist/publish/updateInfoBuilder.d.ts +15 -0
  240. package/dist/publish/updateInfoBuilder.d.ts.map +1 -0
  241. package/dist/publish/updateInfoBuilder.js +221 -0
  242. package/dist/publish/updateInfoBuilder.js.map +1 -0
  243. package/dist/targets/ArchiveTarget.d.ts +12 -0
  244. package/dist/targets/ArchiveTarget.d.ts.map +1 -0
  245. package/dist/targets/ArchiveTarget.js +93 -0
  246. package/dist/targets/ArchiveTarget.js.map +1 -0
  247. package/dist/targets/archive.d.ts +27 -0
  248. package/dist/targets/archive.d.ts.map +1 -0
  249. package/dist/targets/archive.js +174 -0
  250. package/dist/targets/archive.js.map +1 -0
  251. package/dist/targets/blockmap/blockmap.d.ts +17 -0
  252. package/dist/targets/blockmap/blockmap.d.ts.map +1 -0
  253. package/dist/targets/blockmap/blockmap.js +150 -0
  254. package/dist/targets/blockmap/blockmap.js.map +1 -0
  255. package/dist/targets/differentialUpdateInfoBuilder.d.ts +16 -0
  256. package/dist/targets/differentialUpdateInfoBuilder.d.ts.map +1 -0
  257. package/dist/targets/differentialUpdateInfoBuilder.js +73 -0
  258. package/dist/targets/differentialUpdateInfoBuilder.js.map +1 -0
  259. package/dist/targets/linux/FlatpakTarget.d.ts +21 -0
  260. package/dist/targets/linux/FlatpakTarget.d.ts.map +1 -0
  261. package/dist/targets/linux/FlatpakTarget.js +156 -0
  262. package/dist/targets/linux/FlatpakTarget.js.map +1 -0
  263. package/dist/targets/linux/FpmTarget.d.ts +23 -0
  264. package/dist/targets/linux/FpmTarget.d.ts.map +1 -0
  265. package/dist/targets/linux/FpmTarget.js +365 -0
  266. package/dist/targets/linux/FpmTarget.js.map +1 -0
  267. package/dist/targets/linux/LinuxTargetHelper.d.ts +24 -0
  268. package/dist/targets/linux/LinuxTargetHelper.d.ts.map +1 -0
  269. package/dist/targets/linux/LinuxTargetHelper.js +332 -0
  270. package/dist/targets/linux/LinuxTargetHelper.js.map +1 -0
  271. package/dist/targets/linux/appimage/AppImageTarget.d.ts +16 -0
  272. package/dist/targets/linux/appimage/AppImageTarget.d.ts.map +1 -0
  273. package/dist/targets/linux/appimage/AppImageTarget.js +141 -0
  274. package/dist/targets/linux/appimage/AppImageTarget.js.map +1 -0
  275. package/dist/targets/linux/appimage/appImageUtil.d.ts +57 -0
  276. package/dist/targets/linux/appimage/appImageUtil.d.ts.map +1 -0
  277. package/dist/targets/linux/appimage/appImageUtil.js +317 -0
  278. package/dist/targets/linux/appimage/appImageUtil.js.map +1 -0
  279. package/dist/targets/linux/appimage/appLauncher.d.ts +4 -0
  280. package/dist/targets/linux/appimage/appLauncher.d.ts.map +1 -0
  281. package/dist/targets/linux/appimage/appLauncher.js +91 -0
  282. package/dist/targets/linux/appimage/appLauncher.js.map +1 -0
  283. package/dist/targets/linux/snap/SnapTarget.d.ts +37 -0
  284. package/dist/targets/linux/snap/SnapTarget.d.ts.map +1 -0
  285. package/dist/targets/linux/snap/SnapTarget.js +96 -0
  286. package/dist/targets/linux/snap/SnapTarget.js.map +1 -0
  287. package/dist/targets/linux/snap/core24.d.ts +53 -0
  288. package/dist/targets/linux/snap/core24.d.ts.map +1 -0
  289. package/dist/targets/linux/snap/core24.js +444 -0
  290. package/dist/targets/linux/snap/core24.js.map +1 -0
  291. package/dist/targets/linux/snap/coreCustom.d.ts +29 -0
  292. package/dist/targets/linux/snap/coreCustom.d.ts.map +1 -0
  293. package/dist/targets/linux/snap/coreCustom.js +60 -0
  294. package/dist/targets/linux/snap/coreCustom.js.map +1 -0
  295. package/dist/targets/linux/snap/coreLegacy.d.ts +46 -0
  296. package/dist/targets/linux/snap/coreLegacy.d.ts.map +1 -0
  297. package/dist/targets/linux/snap/coreLegacy.js +402 -0
  298. package/dist/targets/linux/snap/coreLegacy.js.map +1 -0
  299. package/dist/targets/linux/snap/snapcraftBuilder.d.ts +40 -0
  300. package/dist/targets/linux/snap/snapcraftBuilder.d.ts.map +1 -0
  301. package/dist/targets/linux/snap/snapcraftBuilder.js +414 -0
  302. package/dist/targets/linux/snap/snapcraftBuilder.js.map +1 -0
  303. package/dist/targets/mac/MacTargetHelper.d.ts +30 -0
  304. package/dist/targets/mac/MacTargetHelper.d.ts.map +1 -0
  305. package/dist/targets/mac/MacTargetHelper.js +267 -0
  306. package/dist/targets/mac/MacTargetHelper.js.map +1 -0
  307. package/dist/targets/mac/pkg.d.ts +31 -0
  308. package/dist/targets/mac/pkg.d.ts.map +1 -0
  309. package/dist/targets/mac/pkg.js +271 -0
  310. package/dist/targets/mac/pkg.js.map +1 -0
  311. package/dist/targets/targetFactory.d.ts +13 -0
  312. package/dist/targets/targetFactory.d.ts.map +1 -0
  313. package/dist/targets/targetFactory.js +94 -0
  314. package/dist/targets/targetFactory.js.map +1 -0
  315. package/dist/targets/targetUtil.d.ts +16 -0
  316. package/dist/targets/targetUtil.d.ts.map +1 -0
  317. package/dist/targets/targetUtil.js +40 -0
  318. package/dist/targets/targetUtil.js.map +1 -0
  319. package/dist/targets/win/AppxCapabilities.d.ts +9 -0
  320. package/dist/targets/win/AppxCapabilities.d.ts.map +1 -0
  321. package/dist/targets/win/AppxCapabilities.js +254 -0
  322. package/dist/targets/win/AppxCapabilities.js.map +1 -0
  323. package/dist/targets/win/AppxTarget.d.ts +18 -0
  324. package/dist/targets/win/AppxTarget.d.ts.map +1 -0
  325. package/dist/targets/win/AppxTarget.js +398 -0
  326. package/dist/targets/win/AppxTarget.js.map +1 -0
  327. package/dist/targets/win/MsiTarget.d.ts +29 -0
  328. package/dist/targets/win/MsiTarget.d.ts.map +1 -0
  329. package/dist/targets/win/MsiTarget.js +268 -0
  330. package/dist/targets/win/MsiTarget.js.map +1 -0
  331. package/dist/targets/win/MsiWrappedTarget.d.ts +20 -0
  332. package/dist/targets/win/MsiWrappedTarget.d.ts.map +1 -0
  333. package/dist/targets/win/MsiWrappedTarget.js +77 -0
  334. package/dist/targets/win/MsiWrappedTarget.js.map +1 -0
  335. package/dist/targets/win/nsis/Commands.d.ts +10 -0
  336. package/dist/targets/win/nsis/Commands.d.ts.map +1 -0
  337. package/dist/targets/win/nsis/Commands.js +2 -0
  338. package/dist/targets/win/nsis/Commands.js.map +1 -0
  339. package/dist/targets/win/nsis/Defines.d.ts +81 -0
  340. package/dist/targets/win/nsis/Defines.d.ts.map +1 -0
  341. package/dist/targets/win/nsis/Defines.js +2 -0
  342. package/dist/targets/win/nsis/Defines.js.map +1 -0
  343. package/dist/targets/win/nsis/NsisTarget.d.ts +43 -0
  344. package/dist/targets/win/nsis/NsisTarget.d.ts.map +1 -0
  345. package/dist/targets/win/nsis/NsisTarget.js +726 -0
  346. package/dist/targets/win/nsis/NsisTarget.js.map +1 -0
  347. package/dist/targets/win/nsis/WebInstallerTarget.d.ts +14 -0
  348. package/dist/targets/win/nsis/WebInstallerTarget.d.ts.map +1 -0
  349. package/dist/targets/win/nsis/WebInstallerTarget.js +43 -0
  350. package/dist/targets/win/nsis/WebInstallerTarget.js.map +1 -0
  351. package/dist/targets/win/nsis/nsisLang.d.ts +11 -0
  352. package/dist/targets/win/nsis/nsisLang.d.ts.map +1 -0
  353. package/dist/targets/win/nsis/nsisLang.js +94 -0
  354. package/dist/targets/win/nsis/nsisLang.js.map +1 -0
  355. package/dist/targets/win/nsis/nsisLicense.d.ts +5 -0
  356. package/dist/targets/win/nsis/nsisLicense.d.ts.map +1 -0
  357. package/dist/targets/win/nsis/nsisLicense.js +73 -0
  358. package/dist/targets/win/nsis/nsisLicense.js.map +1 -0
  359. package/dist/targets/win/nsis/nsisOptions.d.ts +275 -0
  360. package/dist/targets/win/nsis/nsisOptions.d.ts.map +1 -0
  361. package/dist/targets/win/nsis/nsisOptions.js +2 -0
  362. package/dist/targets/win/nsis/nsisOptions.js.map +1 -0
  363. package/dist/targets/win/nsis/nsisScriptGenerator.d.ts +13 -0
  364. package/dist/targets/win/nsis/nsisScriptGenerator.d.ts.map +1 -0
  365. package/dist/targets/win/nsis/nsisScriptGenerator.js +59 -0
  366. package/dist/targets/win/nsis/nsisScriptGenerator.js.map +1 -0
  367. package/dist/targets/win/nsis/nsisUtil.d.ts +26 -0
  368. package/dist/targets/win/nsis/nsisUtil.d.ts.map +1 -0
  369. package/dist/targets/win/nsis/nsisUtil.js +218 -0
  370. package/dist/targets/win/nsis/nsisUtil.js.map +1 -0
  371. package/dist/targets/win/nsis/nsisValidation.d.ts +19 -0
  372. package/dist/targets/win/nsis/nsisValidation.d.ts.map +1 -0
  373. package/dist/targets/win/nsis/nsisValidation.js +49 -0
  374. package/dist/targets/win/nsis/nsisValidation.js.map +1 -0
  375. package/dist/toolsets/7zip.d.ts +9 -0
  376. package/dist/toolsets/7zip.d.ts.map +1 -0
  377. package/dist/toolsets/7zip.js +80 -0
  378. package/dist/toolsets/7zip.js.map +1 -0
  379. package/dist/toolsets/appimage.d.ts +20 -0
  380. package/dist/toolsets/appimage.d.ts.map +1 -0
  381. package/dist/toolsets/appimage.js +67 -0
  382. package/dist/toolsets/appimage.js.map +1 -0
  383. package/dist/toolsets/custom.d.ts +5 -0
  384. package/dist/toolsets/custom.d.ts.map +1 -0
  385. package/dist/toolsets/custom.js +200 -0
  386. package/dist/toolsets/custom.js.map +1 -0
  387. package/dist/toolsets/fpm.d.ts +3 -0
  388. package/dist/toolsets/fpm.d.ts.map +1 -0
  389. package/dist/toolsets/fpm.js +49 -0
  390. package/dist/toolsets/fpm.js.map +1 -0
  391. package/dist/toolsets/icons.d.ts +12 -0
  392. package/dist/toolsets/icons.d.ts.map +1 -0
  393. package/dist/toolsets/icons.js +36 -0
  394. package/dist/toolsets/icons.js.map +1 -0
  395. package/dist/toolsets/linuxToolsMac.d.ts +8 -0
  396. package/dist/toolsets/linuxToolsMac.d.ts.map +1 -0
  397. package/dist/toolsets/linuxToolsMac.js +31 -0
  398. package/dist/toolsets/linuxToolsMac.js.map +1 -0
  399. package/dist/toolsets/nsis.d.ts +13 -0
  400. package/dist/toolsets/nsis.d.ts.map +1 -0
  401. package/dist/toolsets/nsis.js +100 -0
  402. package/dist/toolsets/nsis.js.map +1 -0
  403. package/dist/toolsets/winCodeSign.d.ts +42 -0
  404. package/dist/toolsets/winCodeSign.d.ts.map +1 -0
  405. package/dist/toolsets/winCodeSign.js +142 -0
  406. package/dist/toolsets/winCodeSign.js.map +1 -0
  407. package/dist/toolsets/wine.d.ts +6 -0
  408. package/dist/toolsets/wine.d.ts.map +1 -0
  409. package/dist/toolsets/wine.js +79 -0
  410. package/dist/toolsets/wine.js.map +1 -0
  411. package/dist/util/AppFileWalker.d.ts +14 -0
  412. package/dist/util/AppFileWalker.d.ts.map +1 -0
  413. package/dist/util/AppFileWalker.js +69 -0
  414. package/dist/util/AppFileWalker.js.map +1 -0
  415. package/dist/util/NodeModuleCopyHelper.d.ts +2 -0
  416. package/dist/util/NodeModuleCopyHelper.d.ts.map +1 -0
  417. package/dist/util/NodeModuleCopyHelper.js +160 -0
  418. package/dist/util/NodeModuleCopyHelper.js.map +1 -0
  419. package/dist/util/appFileCopier.d.ts +17 -0
  420. package/dist/util/appFileCopier.d.ts.map +1 -0
  421. package/dist/util/appFileCopier.js +190 -0
  422. package/dist/util/appFileCopier.js.map +1 -0
  423. package/dist/util/asyncEventEmitter.d.ts +34 -0
  424. package/dist/util/asyncEventEmitter.d.ts.map +1 -0
  425. package/dist/util/asyncEventEmitter.js +56 -0
  426. package/dist/util/asyncEventEmitter.js.map +1 -0
  427. package/dist/util/bundledTool.d.ts +8 -0
  428. package/dist/util/bundledTool.d.ts.map +1 -0
  429. package/dist/util/bundledTool.js +16 -0
  430. package/dist/util/bundledTool.js.map +1 -0
  431. package/dist/util/cacheManager.d.ts +19 -0
  432. package/dist/util/cacheManager.d.ts.map +1 -0
  433. package/dist/util/cacheManager.js +65 -0
  434. package/dist/util/cacheManager.js.map +1 -0
  435. package/dist/util/cacheState.d.ts +29 -0
  436. package/dist/util/cacheState.d.ts.map +1 -0
  437. package/dist/util/cacheState.js +134 -0
  438. package/dist/util/cacheState.js.map +1 -0
  439. package/dist/util/config/config.d.ts +13 -0
  440. package/dist/util/config/config.d.ts.map +1 -0
  441. package/dist/util/config/config.js +236 -0
  442. package/dist/util/config/config.js.map +1 -0
  443. package/dist/util/config/load.d.ts +20 -0
  444. package/dist/util/config/load.d.ts.map +1 -0
  445. package/dist/util/config/load.js +122 -0
  446. package/dist/util/config/load.js.map +1 -0
  447. package/dist/util/config/schemaValidator.d.ts +8 -0
  448. package/dist/util/config/schemaValidator.d.ts.map +1 -0
  449. package/dist/util/config/schemaValidator.js +161 -0
  450. package/dist/util/config/schemaValidator.js.map +1 -0
  451. package/dist/util/dynamicImport.d.ts +2 -0
  452. package/dist/util/dynamicImport.d.ts.map +1 -0
  453. package/dist/util/dynamicImport.js +9 -0
  454. package/dist/util/dynamicImport.js.map +1 -0
  455. package/dist/util/electronGet.d.ts +68 -0
  456. package/dist/util/electronGet.d.ts.map +1 -0
  457. package/dist/util/electronGet.js +560 -0
  458. package/dist/util/electronGet.js.map +1 -0
  459. package/dist/util/filter.d.ts +2 -0
  460. package/dist/util/filter.d.ts.map +1 -0
  461. package/dist/util/filter.js +64 -0
  462. package/dist/util/filter.js.map +1 -0
  463. package/dist/util/flags.d.ts +16 -0
  464. package/dist/util/flags.d.ts.map +1 -0
  465. package/dist/util/flags.js +53 -0
  466. package/dist/util/flags.js.map +1 -0
  467. package/dist/util/hash.d.ts +2 -0
  468. package/dist/util/hash.d.ts.map +1 -0
  469. package/dist/util/hash.js +16 -0
  470. package/dist/util/hash.js.map +1 -0
  471. package/dist/util/iconConverter.d.ts +29 -0
  472. package/dist/util/iconConverter.d.ts.map +1 -0
  473. package/dist/util/iconConverter.js +255 -0
  474. package/dist/util/iconConverter.js.map +1 -0
  475. package/dist/util/langs.d.ts +190 -0
  476. package/dist/util/langs.d.ts.map +1 -0
  477. package/dist/util/langs.js +432 -0
  478. package/dist/util/langs.js.map +1 -0
  479. package/dist/util/license.d.ts +17 -0
  480. package/dist/util/license.d.ts.map +1 -0
  481. package/dist/util/license.js +42 -0
  482. package/dist/util/license.js.map +1 -0
  483. package/dist/util/mac/macosIconComposer.d.ts +11 -0
  484. package/dist/util/mac/macosIconComposer.d.ts.map +1 -0
  485. package/dist/util/mac/macosIconComposer.js +99 -0
  486. package/dist/util/mac/macosIconComposer.js.map +1 -0
  487. package/dist/util/mac/macosVersion.d.ts +4 -0
  488. package/dist/util/mac/macosVersion.d.ts.map +1 -0
  489. package/dist/util/mac/macosVersion.js +31 -0
  490. package/dist/util/mac/macosVersion.js.map +1 -0
  491. package/dist/util/mac/plist.d.ts +8 -0
  492. package/dist/util/mac/plist.d.ts.map +1 -0
  493. package/dist/util/mac/plist.js +27 -0
  494. package/dist/util/mac/plist.js.map +1 -0
  495. package/dist/util/macroExpander.d.ts +4 -0
  496. package/dist/util/macroExpander.d.ts.map +1 -0
  497. package/dist/util/macroExpander.js +61 -0
  498. package/dist/util/macroExpander.js.map +1 -0
  499. package/dist/util/normalizePackageData.d.ts +2 -0
  500. package/dist/util/normalizePackageData.d.ts.map +1 -0
  501. package/dist/util/normalizePackageData.js +323 -0
  502. package/dist/util/normalizePackageData.js.map +1 -0
  503. package/dist/util/packageMetadata.d.ts +2 -0
  504. package/dist/util/packageMetadata.d.ts.map +1 -0
  505. package/dist/util/packageMetadata.js +118 -0
  506. package/dist/util/packageMetadata.js.map +1 -0
  507. package/dist/util/pathManager.d.ts +4 -0
  508. package/dist/util/pathManager.d.ts.map +1 -0
  509. package/dist/util/pathManager.js +17 -0
  510. package/dist/util/pathManager.js.map +1 -0
  511. package/dist/util/rebuild.d.ts +3 -0
  512. package/dist/util/rebuild.d.ts.map +1 -0
  513. package/dist/util/rebuild.js +54 -0
  514. package/dist/util/rebuild.js.map +1 -0
  515. package/dist/util/repositoryInfo.d.ts +4 -0
  516. package/dist/util/repositoryInfo.d.ts.map +1 -0
  517. package/dist/util/repositoryInfo.js +76 -0
  518. package/dist/util/repositoryInfo.js.map +1 -0
  519. package/dist/util/resolve.d.ts +3 -0
  520. package/dist/util/resolve.d.ts.map +1 -0
  521. package/dist/util/resolve.js +56 -0
  522. package/dist/util/resolve.js.map +1 -0
  523. package/dist/util/timer.d.ts +12 -0
  524. package/dist/util/timer.d.ts.map +1 -0
  525. package/dist/util/timer.js +23 -0
  526. package/dist/util/timer.js.map +1 -0
  527. package/dist/util/toolsetLock.d.ts +2 -0
  528. package/dist/util/toolsetLock.d.ts.map +1 -0
  529. package/dist/util/toolsetLock.js +20 -0
  530. package/dist/util/toolsetLock.js.map +1 -0
  531. package/dist/util/win/resEdit.d.ts +11 -0
  532. package/dist/util/win/resEdit.d.ts.map +1 -0
  533. package/dist/util/win/resEdit.js +46 -0
  534. package/dist/util/win/resEdit.js.map +1 -0
  535. package/dist/util/yarn.d.ts +23 -0
  536. package/dist/util/yarn.d.ts.map +1 -0
  537. package/dist/util/yarn.js +153 -0
  538. package/dist/util/yarn.js.map +1 -0
  539. package/dist/version.d.ts +2 -0
  540. package/dist/version.d.ts.map +1 -0
  541. package/dist/version.js +2 -0
  542. package/dist/version.js.map +1 -0
  543. package/dist/vm/MonoVm.d.ts +9 -0
  544. package/dist/vm/MonoVm.d.ts.map +1 -0
  545. package/dist/vm/MonoVm.js +16 -0
  546. package/dist/vm/MonoVm.js.map +1 -0
  547. package/dist/vm/ParallelsVm.d.ts +24 -0
  548. package/dist/vm/ParallelsVm.d.ts.map +1 -0
  549. package/dist/vm/ParallelsVm.js +107 -0
  550. package/dist/vm/ParallelsVm.js.map +1 -0
  551. package/dist/vm/PwshVm.d.ts +7 -0
  552. package/dist/vm/PwshVm.d.ts.map +1 -0
  553. package/dist/vm/PwshVm.js +21 -0
  554. package/dist/vm/PwshVm.js.map +1 -0
  555. package/dist/vm/WineVm.d.ts +14 -0
  556. package/dist/vm/WineVm.d.ts.map +1 -0
  557. package/dist/vm/WineVm.js +35 -0
  558. package/dist/vm/WineVm.js.map +1 -0
  559. package/dist/vm/vm.d.ts +15 -0
  560. package/dist/vm/vm.d.ts.map +1 -0
  561. package/dist/vm/vm.js +81 -0
  562. package/dist/vm/vm.js.map +1 -0
  563. package/dist/winPackager.d.ts +30 -0
  564. package/dist/winPackager.d.ts.map +1 -0
  565. package/dist/winPackager.js +270 -0
  566. package/dist/winPackager.js.map +1 -0
  567. package/helpers/package.json +6 -0
  568. package/helpers/remote-rebuild.js +2 -4
  569. package/package.json +30 -33
  570. package/scheme.json +379 -721
  571. package/out/Framework.d.ts +0 -36
  572. package/out/Framework.js +0 -7
  573. package/out/Framework.js.map +0 -1
  574. package/out/ProtonFramework.d.ts +0 -10
  575. package/out/ProtonFramework.js +0 -94
  576. package/out/ProtonFramework.js.map +0 -1
  577. package/out/appInfo.d.ts +0 -31
  578. package/out/appInfo.js +0 -152
  579. package/out/appInfo.js.map +0 -1
  580. package/out/asar/asar.d.ts +0 -38
  581. package/out/asar/asar.js +0 -163
  582. package/out/asar/asar.js.map +0 -1
  583. package/out/asar/asarFileChecker.d.ts +0 -2
  584. package/out/asar/asarFileChecker.js +0 -25
  585. package/out/asar/asarFileChecker.js.map +0 -1
  586. package/out/asar/asarUtil.d.ts +0 -1
  587. package/out/asar/asarUtil.js +0 -285
  588. package/out/asar/asarUtil.js.map +0 -1
  589. package/out/asar/integrity.d.ts +0 -15
  590. package/out/asar/integrity.js +0 -62
  591. package/out/asar/integrity.js.map +0 -1
  592. package/out/asar/unpackDetector.d.ts +0 -1
  593. package/out/asar/unpackDetector.js +0 -43
  594. package/out/asar/unpackDetector.js.map +0 -1
  595. package/out/binDownload.d.ts +0 -5
  596. package/out/binDownload.js +0 -104
  597. package/out/binDownload.js.map +0 -1
  598. package/out/codeSign/certInfo.d.ts +0 -54
  599. package/out/codeSign/certInfo.js +0 -466
  600. package/out/codeSign/certInfo.js.map +0 -1
  601. package/out/codeSign/codesign.d.ts +0 -3
  602. package/out/codeSign/codesign.js +0 -33
  603. package/out/codeSign/codesign.js.map +0 -1
  604. package/out/codeSign/macCodeSign.d.ts +0 -28
  605. package/out/codeSign/macCodeSign.js +0 -284
  606. package/out/codeSign/macCodeSign.js.map +0 -1
  607. package/out/codeSign/signManager.d.ts +0 -13
  608. package/out/codeSign/signManager.js +0 -3
  609. package/out/codeSign/signManager.js.map +0 -1
  610. package/out/codeSign/windowsCodeSign.d.ts +0 -7
  611. package/out/codeSign/windowsCodeSign.js +0 -38
  612. package/out/codeSign/windowsCodeSign.js.map +0 -1
  613. package/out/codeSign/windowsSignAzureManager.d.ts +0 -17
  614. package/out/codeSign/windowsSignAzureManager.js +0 -73
  615. package/out/codeSign/windowsSignAzureManager.js.map +0 -1
  616. package/out/codeSign/windowsSignToolManager.d.ts +0 -58
  617. package/out/codeSign/windowsSignToolManager.js +0 -376
  618. package/out/codeSign/windowsSignToolManager.js.map +0 -1
  619. package/out/configuration.d.ts +0 -532
  620. package/out/configuration.js +0 -3
  621. package/out/configuration.js.map +0 -1
  622. package/out/core.d.ts +0 -60
  623. package/out/core.js +0 -66
  624. package/out/core.js.map +0 -1
  625. package/out/electron/ElectronFramework.d.ts +0 -16
  626. package/out/electron/ElectronFramework.js +0 -242
  627. package/out/electron/ElectronFramework.js.map +0 -1
  628. package/out/electron/electronMac.d.ts +0 -1
  629. package/out/electron/electronMac.js +0 -262
  630. package/out/electron/electronMac.js.map +0 -1
  631. package/out/electron/electronVersion.d.ts +0 -6
  632. package/out/electron/electronVersion.js +0 -125
  633. package/out/electron/electronVersion.js.map +0 -1
  634. package/out/electron/electronWin.d.ts +0 -1
  635. package/out/electron/electronWin.js +0 -38
  636. package/out/electron/electronWin.js.map +0 -1
  637. package/out/electron/injectFFMPEG.d.ts +0 -11
  638. package/out/electron/injectFFMPEG.js +0 -57
  639. package/out/electron/injectFFMPEG.js.map +0 -1
  640. package/out/electron/search-module.d.ts +0 -23
  641. package/out/electron/search-module.js +0 -73
  642. package/out/electron/search-module.js.map +0 -1
  643. package/out/errorMessages.d.ts +0 -1
  644. package/out/errorMessages.js +0 -11
  645. package/out/errorMessages.js.map +0 -1
  646. package/out/fileMatcher.d.ts +0 -29
  647. package/out/fileMatcher.js +0 -292
  648. package/out/fileMatcher.js.map +0 -1
  649. package/out/fileTransformer.d.ts +0 -1
  650. package/out/fileTransformer.js +0 -107
  651. package/out/fileTransformer.js.map +0 -1
  652. package/out/forge-maker.d.ts +0 -5
  653. package/out/forge-maker.js +0 -23
  654. package/out/forge-maker.js.map +0 -1
  655. package/out/frameworks/LibUiFramework.d.ts +0 -47
  656. package/out/frameworks/LibUiFramework.js +0 -197
  657. package/out/frameworks/LibUiFramework.js.map +0 -1
  658. package/out/index.d.ts +0 -39
  659. package/out/index.js +0 -99
  660. package/out/index.js.map +0 -1
  661. package/out/linuxPackager.d.ts +0 -12
  662. package/out/linuxPackager.js +0 -77
  663. package/out/linuxPackager.js.map +0 -1
  664. package/out/mac/MacTargetHelper.d.ts +0 -29
  665. package/out/mac/MacTargetHelper.js +0 -273
  666. package/out/mac/MacTargetHelper.js.map +0 -1
  667. package/out/macPackager.d.ts +0 -49
  668. package/out/macPackager.js +0 -445
  669. package/out/macPackager.js.map +0 -1
  670. package/out/node-module-collector/bunNodeModulesCollector.d.ts +0 -10
  671. package/out/node-module-collector/bunNodeModulesCollector.js +0 -18
  672. package/out/node-module-collector/bunNodeModulesCollector.js.map +0 -1
  673. package/out/node-module-collector/hoist.d.ts +0 -123
  674. package/out/node-module-collector/hoist.js +0 -884
  675. package/out/node-module-collector/hoist.js.map +0 -1
  676. package/out/node-module-collector/index.d.ts +0 -18
  677. package/out/node-module-collector/index.js +0 -130
  678. package/out/node-module-collector/index.js.map +0 -1
  679. package/out/node-module-collector/moduleManager.d.ts +0 -93
  680. package/out/node-module-collector/moduleManager.js +0 -321
  681. package/out/node-module-collector/moduleManager.js.map +0 -1
  682. package/out/node-module-collector/nodeModulesCollector.d.ts +0 -137
  683. package/out/node-module-collector/nodeModulesCollector.js +0 -428
  684. package/out/node-module-collector/nodeModulesCollector.js.map +0 -1
  685. package/out/node-module-collector/npmNodeModulesCollector.d.ts +0 -14
  686. package/out/node-module-collector/npmNodeModulesCollector.js +0 -80
  687. package/out/node-module-collector/npmNodeModulesCollector.js.map +0 -1
  688. package/out/node-module-collector/packageManager.d.ts +0 -17
  689. package/out/node-module-collector/packageManager.js +0 -144
  690. package/out/node-module-collector/packageManager.js.map +0 -1
  691. package/out/node-module-collector/pnpmNodeModulesCollector.d.ts +0 -44
  692. package/out/node-module-collector/pnpmNodeModulesCollector.js +0 -191
  693. package/out/node-module-collector/pnpmNodeModulesCollector.js.map +0 -1
  694. package/out/node-module-collector/traversalNodeModulesCollector.d.ts +0 -18
  695. package/out/node-module-collector/traversalNodeModulesCollector.js +0 -122
  696. package/out/node-module-collector/traversalNodeModulesCollector.js.map +0 -1
  697. package/out/node-module-collector/types.d.ts +0 -52
  698. package/out/node-module-collector/types.js +0 -3
  699. package/out/node-module-collector/yarnBerryNodeModulesCollector.d.ts +0 -15
  700. package/out/node-module-collector/yarnBerryNodeModulesCollector.js +0 -93
  701. package/out/node-module-collector/yarnBerryNodeModulesCollector.js.map +0 -1
  702. package/out/node-module-collector/yarnNodeModulesCollector.d.ts +0 -10
  703. package/out/node-module-collector/yarnNodeModulesCollector.js +0 -22
  704. package/out/node-module-collector/yarnNodeModulesCollector.js.map +0 -1
  705. package/out/options/AppXOptions.d.ts +0 -105
  706. package/out/options/AppXOptions.js +0 -3
  707. package/out/options/AppXOptions.js.map +0 -1
  708. package/out/options/CommonWindowsInstallerConfiguration.d.ts +0 -47
  709. package/out/options/CommonWindowsInstallerConfiguration.js +0 -51
  710. package/out/options/CommonWindowsInstallerConfiguration.js.map +0 -1
  711. package/out/options/FileAssociation.d.ts +0 -45
  712. package/out/options/FileAssociation.js +0 -3
  713. package/out/options/MsiOptions.d.ts +0 -26
  714. package/out/options/MsiOptions.js +0 -3
  715. package/out/options/MsiOptions.js.map +0 -1
  716. package/out/options/MsiWrappedOptions.d.ts +0 -26
  717. package/out/options/MsiWrappedOptions.js +0 -3
  718. package/out/options/MsiWrappedOptions.js.map +0 -1
  719. package/out/options/PlatformSpecificBuildOptions.d.ts +0 -238
  720. package/out/options/PlatformSpecificBuildOptions.js +0 -3
  721. package/out/options/PlatformSpecificBuildOptions.js.map +0 -1
  722. package/out/options/SnapOptions.d.ts +0 -500
  723. package/out/options/SnapOptions.js +0 -3
  724. package/out/options/SnapOptions.js.map +0 -1
  725. package/out/options/SquirrelWindowsOptions.d.ts +0 -46
  726. package/out/options/SquirrelWindowsOptions.js +0 -3
  727. package/out/options/SquirrelWindowsOptions.js.map +0 -1
  728. package/out/options/linuxOptions.d.ts +0 -287
  729. package/out/options/linuxOptions.js +0 -3
  730. package/out/options/linuxOptions.js.map +0 -1
  731. package/out/options/macOptions.d.ts +0 -388
  732. package/out/options/macOptions.js +0 -3
  733. package/out/options/macOptions.js.map +0 -1
  734. package/out/options/metadata.d.ts +0 -53
  735. package/out/options/metadata.js +0 -3
  736. package/out/options/metadata.js.map +0 -1
  737. package/out/options/pkgOptions.d.ts +0 -136
  738. package/out/options/pkgOptions.js +0 -3
  739. package/out/options/pkgOptions.js.map +0 -1
  740. package/out/options/winOptions.d.ts +0 -164
  741. package/out/options/winOptions.js +0 -3
  742. package/out/options/winOptions.js.map +0 -1
  743. package/out/packager.d.ts +0 -99
  744. package/out/packager.js +0 -515
  745. package/out/packager.js.map +0 -1
  746. package/out/packagerApi.d.ts +0 -31
  747. package/out/packagerApi.js +0 -3
  748. package/out/packagerApi.js.map +0 -1
  749. package/out/platformPackager.d.ts +0 -101
  750. package/out/platformPackager.js +0 -714
  751. package/out/platformPackager.js.map +0 -1
  752. package/out/presets/rectCra.d.ts +0 -1
  753. package/out/presets/rectCra.js +0 -22
  754. package/out/presets/rectCra.js.map +0 -1
  755. package/out/publish/PublishManager.d.ts +0 -30
  756. package/out/publish/PublishManager.js +0 -497
  757. package/out/publish/PublishManager.js.map +0 -1
  758. package/out/publish/updateInfoBuilder.d.ts +0 -14
  759. package/out/publish/updateInfoBuilder.js +0 -226
  760. package/out/publish/updateInfoBuilder.js.map +0 -1
  761. package/out/targets/AppxCapabilities.d.ts +0 -8
  762. package/out/targets/AppxCapabilities.js +0 -258
  763. package/out/targets/AppxCapabilities.js.map +0 -1
  764. package/out/targets/AppxTarget.d.ts +0 -17
  765. package/out/targets/AppxTarget.js +0 -403
  766. package/out/targets/AppxTarget.js.map +0 -1
  767. package/out/targets/ArchiveTarget.d.ts +0 -11
  768. package/out/targets/ArchiveTarget.js +0 -88
  769. package/out/targets/ArchiveTarget.js.map +0 -1
  770. package/out/targets/FlatpakTarget.d.ts +0 -20
  771. package/out/targets/FlatpakTarget.js +0 -159
  772. package/out/targets/FlatpakTarget.js.map +0 -1
  773. package/out/targets/FpmTarget.d.ts +0 -22
  774. package/out/targets/FpmTarget.js +0 -372
  775. package/out/targets/FpmTarget.js.map +0 -1
  776. package/out/targets/LinuxTargetHelper.d.ts +0 -23
  777. package/out/targets/LinuxTargetHelper.js +0 -346
  778. package/out/targets/LinuxTargetHelper.js.map +0 -1
  779. package/out/targets/MsiTarget.d.ts +0 -28
  780. package/out/targets/MsiTarget.js +0 -268
  781. package/out/targets/MsiTarget.js.map +0 -1
  782. package/out/targets/MsiWrappedTarget.d.ts +0 -19
  783. package/out/targets/MsiWrappedTarget.js +0 -80
  784. package/out/targets/MsiWrappedTarget.js.map +0 -1
  785. package/out/targets/appimage/AppImageTarget.d.ts +0 -15
  786. package/out/targets/appimage/AppImageTarget.js +0 -147
  787. package/out/targets/appimage/AppImageTarget.js.map +0 -1
  788. package/out/targets/appimage/appImageUtil.d.ts +0 -56
  789. package/out/targets/appimage/appImageUtil.js +0 -323
  790. package/out/targets/appimage/appImageUtil.js.map +0 -1
  791. package/out/targets/appimage/appLauncher.d.ts +0 -3
  792. package/out/targets/appimage/appLauncher.js +0 -95
  793. package/out/targets/appimage/appLauncher.js.map +0 -1
  794. package/out/targets/archive.d.ts +0 -26
  795. package/out/targets/archive.js +0 -178
  796. package/out/targets/archive.js.map +0 -1
  797. package/out/targets/blockmap/blockmap.d.ts +0 -16
  798. package/out/targets/blockmap/blockmap.js +0 -153
  799. package/out/targets/blockmap/blockmap.js.map +0 -1
  800. package/out/targets/differentialUpdateInfoBuilder.d.ts +0 -15
  801. package/out/targets/differentialUpdateInfoBuilder.js +0 -80
  802. package/out/targets/differentialUpdateInfoBuilder.js.map +0 -1
  803. package/out/targets/nsis/Commands.d.ts +0 -9
  804. package/out/targets/nsis/Commands.js +0 -3
  805. package/out/targets/nsis/Commands.js.map +0 -1
  806. package/out/targets/nsis/Defines.d.ts +0 -80
  807. package/out/targets/nsis/Defines.js +0 -3
  808. package/out/targets/nsis/Defines.js.map +0 -1
  809. package/out/targets/nsis/NsisTarget.d.ts +0 -37
  810. package/out/targets/nsis/NsisTarget.js +0 -729
  811. package/out/targets/nsis/NsisTarget.js.map +0 -1
  812. package/out/targets/nsis/WebInstallerTarget.d.ts +0 -13
  813. package/out/targets/nsis/WebInstallerTarget.js +0 -47
  814. package/out/targets/nsis/WebInstallerTarget.js.map +0 -1
  815. package/out/targets/nsis/nsisLang.d.ts +0 -10
  816. package/out/targets/nsis/nsisLang.js +0 -100
  817. package/out/targets/nsis/nsisLang.js.map +0 -1
  818. package/out/targets/nsis/nsisLicense.d.ts +0 -4
  819. package/out/targets/nsis/nsisLicense.js +0 -77
  820. package/out/targets/nsis/nsisLicense.js.map +0 -1
  821. package/out/targets/nsis/nsisOptions.d.ts +0 -274
  822. package/out/targets/nsis/nsisOptions.js +0 -3
  823. package/out/targets/nsis/nsisOptions.js.map +0 -1
  824. package/out/targets/nsis/nsisScriptGenerator.d.ts +0 -12
  825. package/out/targets/nsis/nsisScriptGenerator.js +0 -64
  826. package/out/targets/nsis/nsisScriptGenerator.js.map +0 -1
  827. package/out/targets/nsis/nsisUtil.d.ts +0 -25
  828. package/out/targets/nsis/nsisUtil.js +0 -225
  829. package/out/targets/nsis/nsisUtil.js.map +0 -1
  830. package/out/targets/nsis/nsisValidation.d.ts +0 -18
  831. package/out/targets/nsis/nsisValidation.js +0 -53
  832. package/out/targets/nsis/nsisValidation.js.map +0 -1
  833. package/out/targets/pkg.d.ts +0 -30
  834. package/out/targets/pkg.js +0 -279
  835. package/out/targets/pkg.js.map +0 -1
  836. package/out/targets/snap/SnapTarget.d.ts +0 -36
  837. package/out/targets/snap/SnapTarget.js +0 -105
  838. package/out/targets/snap/SnapTarget.js.map +0 -1
  839. package/out/targets/snap/core24.d.ts +0 -52
  840. package/out/targets/snap/core24.js +0 -449
  841. package/out/targets/snap/core24.js.map +0 -1
  842. package/out/targets/snap/coreCustom.d.ts +0 -28
  843. package/out/targets/snap/coreCustom.js +0 -63
  844. package/out/targets/snap/coreCustom.js.map +0 -1
  845. package/out/targets/snap/coreLegacy.d.ts +0 -43
  846. package/out/targets/snap/coreLegacy.js +0 -416
  847. package/out/targets/snap/coreLegacy.js.map +0 -1
  848. package/out/targets/snap/snapcraftBuilder.d.ts +0 -39
  849. package/out/targets/snap/snapcraftBuilder.js +0 -419
  850. package/out/targets/snap/snapcraftBuilder.js.map +0 -1
  851. package/out/targets/targetFactory.d.ts +0 -12
  852. package/out/targets/targetFactory.js +0 -101
  853. package/out/targets/targetFactory.js.map +0 -1
  854. package/out/targets/targetUtil.d.ts +0 -14
  855. package/out/targets/targetUtil.js +0 -47
  856. package/out/targets/targetUtil.js.map +0 -1
  857. package/out/toolsets/7zip.d.ts +0 -2
  858. package/out/toolsets/7zip.js +0 -72
  859. package/out/toolsets/7zip.js.map +0 -1
  860. package/out/toolsets/icons.d.ts +0 -8
  861. package/out/toolsets/icons.js +0 -37
  862. package/out/toolsets/icons.js.map +0 -1
  863. package/out/toolsets/linux.d.ts +0 -26
  864. package/out/toolsets/linux.js +0 -146
  865. package/out/toolsets/linux.js.map +0 -1
  866. package/out/toolsets/windows.d.ts +0 -61
  867. package/out/toolsets/windows.js +0 -259
  868. package/out/toolsets/windows.js.map +0 -1
  869. package/out/toolsets/wine.d.ts +0 -5
  870. package/out/toolsets/wine.js +0 -100
  871. package/out/toolsets/wine.js.map +0 -1
  872. package/out/util/AppFileWalker.d.ts +0 -13
  873. package/out/util/AppFileWalker.js +0 -74
  874. package/out/util/AppFileWalker.js.map +0 -1
  875. package/out/util/NodeModuleCopyHelper.d.ts +0 -1
  876. package/out/util/NodeModuleCopyHelper.js +0 -165
  877. package/out/util/NodeModuleCopyHelper.js.map +0 -1
  878. package/out/util/appFileCopier.d.ts +0 -16
  879. package/out/util/appFileCopier.js +0 -251
  880. package/out/util/appFileCopier.js.map +0 -1
  881. package/out/util/asyncEventEmitter.d.ts +0 -33
  882. package/out/util/asyncEventEmitter.js +0 -63
  883. package/out/util/asyncEventEmitter.js.map +0 -1
  884. package/out/util/bundledTool.d.ts +0 -7
  885. package/out/util/bundledTool.js +0 -20
  886. package/out/util/bundledTool.js.map +0 -1
  887. package/out/util/cacheManager.d.ts +0 -18
  888. package/out/util/cacheManager.js +0 -70
  889. package/out/util/cacheManager.js.map +0 -1
  890. package/out/util/cacheState.d.ts +0 -28
  891. package/out/util/cacheState.js +0 -143
  892. package/out/util/cacheState.js.map +0 -1
  893. package/out/util/config/config.d.ts +0 -12
  894. package/out/util/config/config.js +0 -256
  895. package/out/util/config/config.js.map +0 -1
  896. package/out/util/config/load.d.ts +0 -19
  897. package/out/util/config/load.js +0 -129
  898. package/out/util/config/load.js.map +0 -1
  899. package/out/util/config/schemaValidator.d.ts +0 -7
  900. package/out/util/config/schemaValidator.js +0 -154
  901. package/out/util/config/schemaValidator.js.map +0 -1
  902. package/out/util/dynamicImport.d.ts +0 -1
  903. package/out/util/dynamicImport.js +0 -12
  904. package/out/util/dynamicImport.js.map +0 -1
  905. package/out/util/electronGet.d.ts +0 -61
  906. package/out/util/electronGet.js +0 -464
  907. package/out/util/electronGet.js.map +0 -1
  908. package/out/util/envPath.d.ts +0 -2
  909. package/out/util/envPath.js +0 -28
  910. package/out/util/envPath.js.map +0 -1
  911. package/out/util/filter.d.ts +0 -1
  912. package/out/util/filter.js +0 -68
  913. package/out/util/filter.js.map +0 -1
  914. package/out/util/flags.d.ts +0 -3
  915. package/out/util/flags.js +0 -16
  916. package/out/util/flags.js.map +0 -1
  917. package/out/util/hash.d.ts +0 -1
  918. package/out/util/hash.js +0 -19
  919. package/out/util/hash.js.map +0 -1
  920. package/out/util/iconConverter.d.ts +0 -25
  921. package/out/util/iconConverter.js +0 -260
  922. package/out/util/iconConverter.js.map +0 -1
  923. package/out/util/langs.d.ts +0 -189
  924. package/out/util/langs.js +0 -436
  925. package/out/util/langs.js.map +0 -1
  926. package/out/util/license.d.ts +0 -16
  927. package/out/util/license.js +0 -47
  928. package/out/util/license.js.map +0 -1
  929. package/out/util/macosIconComposer.d.ts +0 -10
  930. package/out/util/macosIconComposer.js +0 -102
  931. package/out/util/macosIconComposer.js.map +0 -1
  932. package/out/util/macosVersion.d.ts +0 -3
  933. package/out/util/macosVersion.js +0 -36
  934. package/out/util/macosVersion.js.map +0 -1
  935. package/out/util/macroExpander.d.ts +0 -3
  936. package/out/util/macroExpander.js +0 -64
  937. package/out/util/macroExpander.js.map +0 -1
  938. package/out/util/normalizePackageData.d.ts +0 -1
  939. package/out/util/normalizePackageData.js +0 -328
  940. package/out/util/normalizePackageData.js.map +0 -1
  941. package/out/util/packageDependencies.d.ts +0 -6
  942. package/out/util/packageDependencies.js +0 -3
  943. package/out/util/packageDependencies.js.map +0 -1
  944. package/out/util/packageMetadata.d.ts +0 -1
  945. package/out/util/packageMetadata.js +0 -124
  946. package/out/util/packageMetadata.js.map +0 -1
  947. package/out/util/pathManager.d.ts +0 -3
  948. package/out/util/pathManager.js +0 -23
  949. package/out/util/pathManager.js.map +0 -1
  950. package/out/util/plist.d.ts +0 -7
  951. package/out/util/plist.js +0 -31
  952. package/out/util/plist.js.map +0 -1
  953. package/out/util/rebuild.d.ts +0 -2
  954. package/out/util/rebuild.js +0 -60
  955. package/out/util/rebuild.js.map +0 -1
  956. package/out/util/repositoryInfo.d.ts +0 -3
  957. package/out/util/repositoryInfo.js +0 -79
  958. package/out/util/repositoryInfo.js.map +0 -1
  959. package/out/util/resEdit.d.ts +0 -10
  960. package/out/util/resEdit.js +0 -49
  961. package/out/util/resEdit.js.map +0 -1
  962. package/out/util/resolve.d.ts +0 -2
  963. package/out/util/resolve.js +0 -59
  964. package/out/util/resolve.js.map +0 -1
  965. package/out/util/timer.d.ts +0 -11
  966. package/out/util/timer.js +0 -28
  967. package/out/util/timer.js.map +0 -1
  968. package/out/util/toolsetLock.d.ts +0 -1
  969. package/out/util/toolsetLock.js +0 -23
  970. package/out/util/toolsetLock.js.map +0 -1
  971. package/out/util/yarn.d.ts +0 -22
  972. package/out/util/yarn.js +0 -160
  973. package/out/util/yarn.js.map +0 -1
  974. package/out/version.d.ts +0 -1
  975. package/out/version.js +0 -5
  976. package/out/version.js.map +0 -1
  977. package/out/vm/MonoVm.d.ts +0 -8
  978. package/out/vm/MonoVm.js +0 -20
  979. package/out/vm/MonoVm.js.map +0 -1
  980. package/out/vm/ParallelsVm.d.ts +0 -23
  981. package/out/vm/ParallelsVm.js +0 -102
  982. package/out/vm/ParallelsVm.js.map +0 -1
  983. package/out/vm/PwshVm.d.ts +0 -6
  984. package/out/vm/PwshVm.js +0 -25
  985. package/out/vm/PwshVm.js.map +0 -1
  986. package/out/vm/WineVm.d.ts +0 -12
  987. package/out/vm/WineVm.js +0 -38
  988. package/out/vm/WineVm.js.map +0 -1
  989. package/out/vm/vm.d.ts +0 -14
  990. package/out/vm/vm.js +0 -88
  991. package/out/vm/vm.js.map +0 -1
  992. package/out/winPackager.d.ts +0 -29
  993. package/out/winPackager.js +0 -271
  994. package/out/winPackager.js.map +0 -1
  995. /package/{out → dist}/node-module-collector/types.js.map +0 -0
  996. /package/{out → dist}/options/FileAssociation.js.map +0 -0
  997. /package/helpers/{dynamic-import.js → dynamic-import.cjs} +0 -0
package/scheme.json CHANGED
@@ -407,6 +407,16 @@
407
407
  "AsarOptions": {
408
408
  "additionalProperties": false,
409
409
  "properties": {
410
+ "disableIntegrity": {
411
+ "default": false,
412
+ "description": "Whether to skip computing the ASAR integrity hash.\n\nNormally electron-builder computes and embeds a SHA-256 hash of `app.asar` so that Electron\ncan verify it at startup (when the `embeddedAsarIntegrityValidation` fuse is enabled). Set to\n`true` only for custom Electron forks with encrypted ASAR support where the header is not\nreadable by standard tools.",
413
+ "type": "boolean"
414
+ },
415
+ "disableSanityCheck": {
416
+ "default": false,
417
+ "description": "Whether to skip the ASAR package integrity sanity check.\n\nSet to `true` only when using a custom Electron fork that implements its own encrypted or\nnon-standard ASAR integrity validation that is not compatible with electron-builder's default\ncheck. Standard builds should leave this `false`.",
418
+ "type": "boolean"
419
+ },
410
420
  "ordering": {
411
421
  "description": "Path to a file containing the order in which files should be packed into the asar archive.\nEach line of the file is a relative path from the app directory. Files listed first are\npacked first, which can improve app startup time by front-loading frequently accessed modules.\nSee the [asar documentation](https://github.com/electron/asar) for details.",
412
422
  "type": [
@@ -418,6 +428,23 @@
418
428
  "default": true,
419
429
  "description": "Whether to automatically unpack executables files.",
420
430
  "type": "boolean"
431
+ },
432
+ "unpack": {
433
+ "anyOf": [
434
+ {
435
+ "items": {
436
+ "type": "string"
437
+ },
438
+ "type": "array"
439
+ },
440
+ {
441
+ "type": [
442
+ "null",
443
+ "string"
444
+ ]
445
+ }
446
+ ],
447
+ "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](#directories),\nwhich specifies which files to unpack when creating the asar archive."
421
448
  }
422
449
  },
423
450
  "type": "object"
@@ -507,10 +534,11 @@
507
534
  },
508
535
  "Concurrency": {
509
536
  "additionalProperties": false,
537
+ "description": "Configuration for experimental concurrent builds.",
510
538
  "properties": {
511
539
  "jobs": {
512
540
  "default": 1,
513
- "description": "The maximum number of concurrent jobs to run.",
541
+ "description": "Maximum number of platform/architecture builds to run in parallel.\n\nSet to `1` to disable concurrency (sequential builds, the safe default). Higher values\nreduce wall-clock time on multi-platform builds at the cost of increased memory and CPU\nusage. Ensure that your {@link Hooks} and build resources are safe to execute concurrently\nbefore raising this limit.",
514
542
  "type": "number"
515
543
  }
516
544
  },
@@ -1529,42 +1557,42 @@
1529
1557
  },
1530
1558
  "FuseOptionsV1": {
1531
1559
  "additionalProperties": false,
1532
- "description": "All options come from [@electron/fuses](https://github.com/electron/fuses)\nRef: https://raw.githubusercontent.com/electron/electron/refs/heads/main/docs/tutorial/fuses.md",
1560
+ "description": "Feature flags (\"fuses\") baked into the Electron binary at build time.\n\nAll options map 1:1 to the flags documented by\n[`@electron/fuses`](https://github.com/electron/fuses) and the upstream\n[Electron fuses guide](https://www.electronjs.org/docs/latest/tutorial/fuses).\n\nelectron-builder flips fuses after packaging and **before** signing so that the final\ncode signature covers the modified binary. On Apple Silicon, the ad-hoc signature is\nre-applied automatically after flipping fuses.",
1533
1561
  "properties": {
1534
1562
  "enableCookieEncryption": {
1535
- "description": "The cookieEncryption fuse toggles whether the cookie store on disk is encrypted using OS level cryptography keys. By default the sqlite database that Chromium uses to store cookies stores the values in plaintext. If you wish to ensure your apps cookies are encrypted in the same way Chrome does then you should enable this fuse. Please note it is a one-way transition, if you enable this fuse existing unencrypted cookies will be encrypted-on-write but if you then disable the fuse again your cookie store will effectively be corrupt and useless. Most apps can safely enable this fuse.",
1563
+ "description": "Controls whether the Chromium cookie store is encrypted using OS-level cryptography keys.\n\nWhen enabled, cookies are stored encrypted on disk (the same mechanism Chrome uses).\n**This is a one-way transition**: existing unencrypted cookies are re-encrypted on write, but\ndisabling the fuse afterwards will leave the cookie database unreadable.\n\nMost production apps can safely enable this fuse.",
1536
1564
  "type": "boolean"
1537
1565
  },
1538
1566
  "enableEmbeddedAsarIntegrityValidation": {
1539
- "description": "The embeddedAsarIntegrityValidation fuse toggles an experimental feature on macOS that validates the content of the `app.asar` file when it is loaded. This feature is designed to have a minimal performance impact but may marginally slow down file reads from inside the `app.asar` archive.\nCurrently, ASAR integrity checking is supported on:\n\n - macOS as of electron>=16.0.0\n - Windows as of electron>=30.0.0\n\nFor more information on how to use asar integrity validation please read the [Asar Integrity](https://github.com/electron/electron/blob/main/docs/tutorial/asar-integrity.md) documentation.",
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).",
1540
1568
  "type": "boolean"
1541
1569
  },
1542
1570
  "enableNodeCliInspectArguments": {
1543
- "description": "The nodeCliInspect fuse toggles whether the `--inspect`, `--inspect-brk`, etc. flags are respected or not. When disabled it also ensures that `SIGUSR1` signal does not initialize the main process inspector. Most apps can safely disable this fuse.",
1571
+ "description": "Controls whether the `--inspect`, `--inspect-brk`, and related Node.js debugger flags are\nhonoured.\n\nWhen disabled, `SIGUSR1` no longer opens the V8 inspector in the main process either.\nMost production apps can safely disable this fuse.",
1544
1572
  "type": "boolean"
1545
1573
  },
1546
1574
  "enableNodeOptionsEnvironmentVariable": {
1547
- "description": "The nodeOptions fuse toggles whether the [`NODE_OPTIONS`](https://nodejs.org/api/cli.html#node_optionsoptions) and [`NODE_EXTRA_CA_CERTS`](https://github.com/nodejs/node/blob/main/doc/api/cli.md#node_extra_ca_certsfile) environment variables are respected. The `NODE_OPTIONS` environment variable can be used to pass all kinds of custom options to the Node.js runtime and isn't typically used by apps in production. Most apps can safely disable this fuse.",
1575
+ "description": "Controls whether the [`NODE_OPTIONS`](https://nodejs.org/api/cli.html#node_optionsoptions)\nand `NODE_EXTRA_CA_CERTS` environment variables are respected.\n\n`NODE_OPTIONS` allows injecting arbitrary Node.js runtime flags (e.g. `--require`) and is\nrarely needed in production. Most apps can safely disable this fuse.",
1548
1576
  "type": "boolean"
1549
1577
  },
1550
1578
  "grantFileProtocolExtraPrivileges": {
1551
- "description": "The grantFileProtocolExtraPrivileges fuse changes whether pages loaded from the `file://` protocol are given privileges beyond what they would receive in a traditional web browser. This behavior was core to Electron apps in original versions of Electron but is no longer required as apps should be [serving local files from custom protocols](https://github.com/electron/electron/blob/main/docs/tutorial/security.md#18-avoid-usage-of-the-file-protocol-and-prefer-usage-of-custom-protocols) now instead. If you aren't serving pages from `file://` you should disable this fuse.\nThe extra privileges granted to the `file://` protocol by this fuse are incompletely documented below:\n\n - `file://` protocol pages can use `fetch` to load other assets over `file://`\n - `file://` protocol pages can use service workers\n - `file://` protocol pages have universal access granted to child frames also running on `file://` protocols regardless of sandbox settings",
1579
+ "description": "Controls whether pages loaded from the `file://` protocol receive elevated privileges\nbeyond what a standard web browser would grant.\n\nThese extra privileges include `fetch` to other `file://` URLs, service workers, and\nuniversal frame access for child frames also on `file://`. This behaviour pre-dates modern\nElectron security best practices.\n\nDisable this fuse if your app does not load content directly from `file://` (i.e. you use\na [custom protocol](https://www.electronjs.org/docs/latest/tutorial/security#18-avoid-usage-of-the-file-protocol-and-prefer-usage-of-custom-protocols)).",
1552
1580
  "type": "boolean"
1553
1581
  },
1554
1582
  "loadBrowserProcessSpecificV8Snapshot": {
1555
- "description": "The loadBrowserProcessSpecificV8Snapshot fuse changes which V8 snapshot file is used for the browser process. By default Electron's processes will all use the same V8 snapshot file. When this fuse is enabled the browser process uses the file called `browser_v8_context_snapshot.bin` for its V8 snapshot. The other processes will use the V8 snapshot file that they normally do.",
1583
+ "description": "When enabled, the browser (main) process uses a separate V8 snapshot file\n(`browser_v8_context_snapshot.bin`) instead of the shared one.\n\nThis is only useful when you ship a custom V8 snapshot for the main process that differs\nfrom the renderer snapshot. Standard apps do not need this.",
1556
1584
  "type": "boolean"
1557
1585
  },
1558
1586
  "onlyLoadAppFromAsar": {
1559
- "description": "The onlyLoadAppFromAsar fuse changes the search system that Electron uses to locate your app code. By default Electron will search in the following order `app.asar` -> `app` -> `default_app.asar`. When this fuse is enabled the search order becomes a single entry `app.asar` thus ensuring that when combined with the `embeddedAsarIntegrityValidation` fuse it is impossible to load non-validated code.",
1587
+ "description": "When enabled, Electron searches for the app exclusively in `app.asar`, skipping the `app`\ndirectory and `default_app.asar` fallbacks.\n\nCombined with `enableEmbeddedAsarIntegrityValidation`, this makes it impossible to side-load\nunverified code by replacing `app.asar` with an unarchived `app/` directory.",
1560
1588
  "type": "boolean"
1561
1589
  },
1562
1590
  "resetAdHocDarwinSignature": {
1563
- "description": "Resets the app signature, specifically used for macOS.\nNote: This should be unneeded since electron-builder signs the app directly after flipping the fuses.\nRef: https://github.com/electron/fuses?tab=readme-ov-file#apple-silicon",
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).",
1564
1592
  "type": "boolean"
1565
1593
  },
1566
1594
  "runAsNode": {
1567
- "description": "The runAsNode fuse toggles whether the `ELECTRON_RUN_AS_NODE` environment variable is respected or not. Please note that if this fuse is disabled then `process.fork` in the main process will not function as expected as it depends on this environment variable to function. Instead, we recommend that you use [Utility Processes](https://github.com/electron/electron/blob/main/docs/api/utility-process.md), which work for many use cases where you need a standalone Node.js process (like a Sqlite server process or similar scenarios).",
1595
+ "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.",
1568
1596
  "type": "boolean"
1569
1597
  }
1570
1598
  },
@@ -1740,7 +1768,8 @@
1740
1768
  "description": "Any custom request headers"
1741
1769
  },
1742
1770
  "tagNamePrefix": {
1743
- "description": "If defined, sets the prefix of the tag name that comes before the semver number.\ne.g. \"v\" in \"v1.2.3\" or \"test\" of \"test1.2.3\".\nOverrides `vPrefixedTagName`",
1771
+ "default": "v",
1772
+ "description": "If defined, sets the prefix of the tag name that comes before the semver number.\ne.g. \"v\" in \"v1.2.3\" or \"test\" of \"test1.2.3\".",
1744
1773
  "type": "string"
1745
1774
  },
1746
1775
  "timeout": {
@@ -1763,11 +1792,6 @@
1763
1792
  "null",
1764
1793
  "string"
1765
1794
  ]
1766
- },
1767
- "vPrefixedTagName": {
1768
- "default": true,
1769
- "description": "Whether to use `v`-prefixed tag name.",
1770
- "type": "boolean"
1771
1795
  }
1772
1796
  },
1773
1797
  "required": [
@@ -1994,31 +2018,15 @@
1994
2018
  "$ref": "#/definitions/AsarOptions"
1995
2019
  },
1996
2020
  {
1997
- "type": [
1998
- "null",
1999
- "boolean"
2000
- ]
2001
- }
2002
- ],
2003
- "default": true,
2004
- "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, you don't need to explicitly set [asarUnpack](#asarUnpack) - please file an issue if this doesn't work."
2005
- },
2006
- "asarUnpack": {
2007
- "anyOf": [
2008
- {
2009
- "items": {
2010
- "type": "string"
2011
- },
2012
- "type": "array"
2021
+ "const": false,
2022
+ "type": "boolean"
2013
2023
  },
2014
2024
  {
2015
- "type": [
2016
- "null",
2017
- "string"
2018
- ]
2025
+ "type": "null"
2019
2026
  }
2020
2027
  ],
2021
- "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](#directories), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
2028
+ "default": true,
2029
+ "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."
2022
2030
  },
2023
2031
  "category": {
2024
2032
  "description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).",
@@ -2663,31 +2671,15 @@
2663
2671
  "$ref": "#/definitions/AsarOptions"
2664
2672
  },
2665
2673
  {
2666
- "type": [
2667
- "null",
2668
- "boolean"
2669
- ]
2670
- }
2671
- ],
2672
- "default": true,
2673
- "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, you don't need to explicitly set [asarUnpack](#asarUnpack) - please file an issue if this doesn't work."
2674
- },
2675
- "asarUnpack": {
2676
- "anyOf": [
2677
- {
2678
- "items": {
2679
- "type": "string"
2680
- },
2681
- "type": "array"
2674
+ "const": false,
2675
+ "type": "boolean"
2682
2676
  },
2683
2677
  {
2684
- "type": [
2685
- "null",
2686
- "string"
2687
- ]
2678
+ "type": "null"
2688
2679
  }
2689
2680
  ],
2690
- "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](#directories), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
2681
+ "default": true,
2682
+ "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."
2691
2683
  },
2692
2684
  "binaries": {
2693
2685
  "anyOf": [
@@ -3301,31 +3293,15 @@
3301
3293
  "$ref": "#/definitions/AsarOptions"
3302
3294
  },
3303
3295
  {
3304
- "type": [
3305
- "null",
3306
- "boolean"
3307
- ]
3308
- }
3309
- ],
3310
- "default": true,
3311
- "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, you don't need to explicitly set [asarUnpack](#asarUnpack) - please file an issue if this doesn't work."
3312
- },
3313
- "asarUnpack": {
3314
- "anyOf": [
3315
- {
3316
- "items": {
3317
- "type": "string"
3318
- },
3319
- "type": "array"
3296
+ "const": false,
3297
+ "type": "boolean"
3320
3298
  },
3321
3299
  {
3322
- "type": [
3323
- "null",
3324
- "string"
3325
- ]
3300
+ "type": "null"
3326
3301
  }
3327
3302
  ],
3328
- "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](#directories), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
3303
+ "default": true,
3304
+ "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."
3329
3305
  },
3330
3306
  "binaries": {
3331
3307
  "anyOf": [
@@ -3903,9 +3879,10 @@
3903
3879
  },
3904
3880
  "MetadataDirectories": {
3905
3881
  "additionalProperties": false,
3882
+ "description": "Overrides for the input and output directories used during the build.",
3906
3883
  "properties": {
3907
3884
  "app": {
3908
- "description": "The application directory (containing the application package.json), defaults to `app`, `www` or working directory.",
3885
+ "description": "The directory that contains the application's `package.json` and source code.\n\nDefaults to `app`, then `www`, then the project root. Set this when your packagable app\nlives in a subdirectory (common in monorepos or when using a separate frontend build step).",
3909
3886
  "type": [
3910
3887
  "null",
3911
3888
  "string"
@@ -3913,7 +3890,7 @@
3913
3890
  },
3914
3891
  "buildResources": {
3915
3892
  "default": "build",
3916
- "description": "The path to build resources.\n\nPlease note — build resources are not packed into the app. If you need to use some files, e.g. as tray icon, please include required files explicitly: `\"files\": [\"**\\/*\", \"build/icon.*\"]`",
3893
+ "description": "The directory that contains static build resources (icons, background images, license files,\ncustom NSIS scripts, etc.) that electron-builder reads during packaging.\n\n**Build resources are not copied into the packaged app.** If you need runtime access to a\nfile (e.g. a tray icon), include it explicitly via the `files` option:\n```json\n{ \"files\": [\"**\\/*\", \"build/icon.*\"] }\n```",
3917
3894
  "type": [
3918
3895
  "null",
3919
3896
  "string"
@@ -3921,7 +3898,7 @@
3921
3898
  },
3922
3899
  "output": {
3923
3900
  "default": "dist",
3924
- "description": "The output directory. [File macros](https://www.electron.build/file-patterns#file-macros) are supported.",
3901
+ "description": "The directory where electron-builder writes its output (installers, zip archives, etc.).\n\n[File macros](https://www.electron.build/file-patterns#file-macros) are supported, e.g.\n`\"dist/${os}-${arch}\"` to separate outputs by platform and architecture.",
3925
3902
  "type": [
3926
3903
  "null",
3927
3904
  "string"
@@ -4206,6 +4183,44 @@
4206
4183
  },
4207
4184
  "type": "object"
4208
4185
  },
4186
+ "NativeModulesConfig": {
4187
+ "additionalProperties": false,
4188
+ "description": "Configuration for native Node.js module installation and rebuilding.\n\nAll options that control how electron-builder handles native modules — from forcing source\nbuilds at install time through to the `@electron/rebuild` compilation mode.",
4189
+ "properties": {
4190
+ "buildDependenciesFromSource": {
4191
+ "default": false,
4192
+ "description": "Whether to pass `--build-from-source` to the package manager when installing native\ndependencies, forcing them to compile from source rather than using pre-built binaries.\n\nUseful when pre-built binaries are not available for the target platform/arch combination,\nor when you need to ensure native modules are compiled against the exact Electron ABI.",
4193
+ "type": "boolean"
4194
+ },
4195
+ "nodeGypRebuild": {
4196
+ "default": false,
4197
+ "description": "Whether to run `node-gyp rebuild` with Electron headers before packaging.\n\nThis is a low-level escape hatch for cases where the standard `@electron/rebuild` path\n(controlled by {@link npmRebuild}) is insufficient. Most projects should leave this `false`\nand rely on `@electron/rebuild` instead.\n\nWhen `true`, electron-builder runs `node-gyp rebuild` with the correct `npm_config_*`\nenvironment variables set for the target Electron version and architecture before the\nnormal rebuild step.",
4198
+ "type": "boolean"
4199
+ },
4200
+ "npmRebuild": {
4201
+ "default": true,
4202
+ "description": "Whether to rebuild native Node.js modules for the target Electron version and architecture\nbefore packaging.\n\nWhen `true` (the default), electron-builder runs `@electron/rebuild` against the app's\n`node_modules` directory to ensure all native modules are compiled against the correct Electron\nABI. Set to `false` to skip this step entirely — useful when native modules are pre-built\nelsewhere in your pipeline or when the app has no native dependencies.\n\nThe compilation mode (`sequential` vs `parallel`) is controlled by {@link rebuildMode}.",
4203
+ "type": "boolean"
4204
+ },
4205
+ "rebuildMode": {
4206
+ "anyOf": [
4207
+ {
4208
+ "enum": [
4209
+ "parallel",
4210
+ "sequential"
4211
+ ],
4212
+ "type": "string"
4213
+ },
4214
+ {
4215
+ "type": "null"
4216
+ }
4217
+ ],
4218
+ "default": "sequential",
4219
+ "description": "Compilation mode for `@electron/rebuild`.\n\n- `\"sequential\"` — rebuilds native modules one at a time. Safer in memory-constrained\n environments and produces cleaner log output.\n- `\"parallel\"` — rebuilds all native modules concurrently. Faster on machines with many cores\n and plentiful memory, but may exhaust resources on CI agents with limited RAM."
4220
+ }
4221
+ },
4222
+ "type": "object"
4223
+ },
4209
4224
  "NsisOptions": {
4210
4225
  "additionalProperties": false,
4211
4226
  "properties": {
@@ -6472,9 +6487,9 @@
6472
6487
  "description": "Maps a named slot to its attribute object.\n`null` uses snapd defaults for that interface.",
6473
6488
  "type": "object"
6474
6489
  },
6475
- "SnapOptions": {
6490
+ "SnapOptions24": {
6476
6491
  "additionalProperties": false,
6477
- "description": "Flat snap options. Used via the `snap` key in your build config.",
6492
+ "description": "**[Beta]** Options for building a core24 snap. This interface does not extend the legacy\n`SnapBaseOptions` — it uses the snapcraft CLI directly.\n\nFields inherited from {@link CommonLinuxOptions} (`description`, `category`, `mimeTypes`,\n`executableArgs`, `desktop`, `synopsis`) are automatically populated from the root `linux.*`\nconfiguration. You do not need to duplicate them here; values set directly on this interface\ntake precedence over the cascaded `linux.*` values.",
6478
6493
  "properties": {
6479
6494
  "after": {
6480
6495
  "anyOf": [
@@ -6488,14 +6503,7 @@
6488
6503
  "type": "null"
6489
6504
  }
6490
6505
  ],
6491
- "description": "Names of snapcraft parts that must be built before the app part.\nDefaults to `[\"desktop-gtk2\"]`.\n\nUse `\"default\"` to keep the default and add extras:\n`[\"default\", \"my-helper-part\"]`."
6492
- },
6493
- "allowNativeWayland": {
6494
- "description": "Allow the snap to run with native Wayland support (`--ozone-platform=wayland`).\nDefaults to `false` for Electron < 38 (legacy behaviour); `true` for Electron ≥ 38.\nSet explicitly to override the version-based default.",
6495
- "type": [
6496
- "null",
6497
- "boolean"
6498
- ]
6506
+ "description": "Names of other snapcraft parts that must be built before the app part."
6499
6507
  },
6500
6508
  "appPartStage": {
6501
6509
  "anyOf": [
@@ -6509,7 +6517,7 @@
6509
6517
  "type": "null"
6510
6518
  }
6511
6519
  ],
6512
- "description": "Filesets controlling which files from the app part are staged into the snap.\nSupports individual files, directories, globs, globstars, and exclusions (prefix `!`).\nSee [Snapcraft filesets](https://snapcraft.io/docs/snapcraft-filesets).\nWhen not set, the snap template's default stage list is used for legacy bases (core18/core20/core22)."
6520
+ "description": "Filesets controlling which files from the app part are staged into the snap.\nSupports glob patterns and exclusions. See [filesets](https://snapcraft.io/docs/snapcraft-filesets)."
6513
6521
  },
6514
6522
  "artifactName": {
6515
6523
  "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
@@ -6533,20 +6541,13 @@
6533
6541
  ]
6534
6542
  }
6535
6543
  ],
6536
- "description": "[Snapd features](https://snapcraft.io/docs/snapcraft-yaml-reference#assumes) that must\nbe present on the host before the snap can be installed."
6544
+ "description": "Features that must be supported by the host snapd before the snap can be installed.\nSee [assumes](https://snapcraft.io/docs/snapcraft-yaml-reference#assumes)."
6537
6545
  },
6538
6546
  "autoStart": {
6539
6547
  "default": false,
6540
- "description": "Whether the snap should automatically start on login.",
6548
+ "description": "Whether the app should auto-start on login (creates an autostart desktop entry).",
6541
6549
  "type": "boolean"
6542
6550
  },
6543
- "base": {
6544
- "description": "The snap base to use as the execution environment.\nExamples: `core18`, `core20`, `core22`.\n\nFor new projects, use the `snapcraft` key with `base: \"core24\"` instead of\nthis legacy interface.",
6545
- "type": [
6546
- "null",
6547
- "string"
6548
- ]
6549
- },
6550
6551
  "buildPackages": {
6551
6552
  "anyOf": [
6552
6553
  {
@@ -6581,7 +6582,7 @@
6581
6582
  "type": "null"
6582
6583
  }
6583
6584
  ],
6584
- "description": "Compression algorithm for the snap SquashFS image.\n- `xz` — smaller file, slower decompression (good for distribution).\n- `lzo` — larger file, faster decompression (good for development iteration).\nOmit to use snapcraft's default (`xz`).\n\nWhen not set, `linux.compression` is mapped automatically:\n`\"store\"` → `\"lzo\"`, `\"maximum\"` → `\"xz\"`, `\"normal\"` → snapcraft default.\nExplicitly setting this field always overrides the mapped value."
6585
+ "description": "Compression algorithm for the snap SquashFS image.\n- `xz` — smaller file, slower decompression (recommended for distribution).\n- `lzo` — larger file, faster decompression (useful for development iteration).\nOmit to use snapcraft's default (`xz`).\n\nWhen not set, `linux.compression` is mapped automatically:\n`\"store\"` → `\"lzo\"`, `\"maximum\"` → `\"xz\"`, `\"normal\"` → snapcraft default.\nExplicitly setting this field always overrides the mapped value."
6585
6586
  },
6586
6587
  "confinement": {
6587
6588
  "anyOf": [
@@ -6598,7 +6599,7 @@
6598
6599
  }
6599
6600
  ],
6600
6601
  "default": "strict",
6601
- "description": "The type of [snap confinement](https://snapcraft.io/docs/reference/confinement).\n- `strict` — recommended; the snap runs in a fully isolated sandbox.\n- `devmode` — sandbox violations are logged but not enforced; for development only.\n- `classic` — no confinement; equivalent to a traditionally packaged application.\n Requires Snap Store approval before publishing."
6602
+ "description": "The type of [confinement](https://snapcraft.io/docs/reference/confinement) supported by the snap."
6602
6603
  },
6603
6604
  "description": {
6604
6605
  "description": "As [description](https://www.electron.build/configuration#description) from application package.json, but allows you to specify different for Linux.",
@@ -6630,7 +6631,7 @@
6630
6631
  "type": "null"
6631
6632
  }
6632
6633
  ],
6633
- "description": "Environment variables injected into the snap's runtime environment.\nMerged with the electron-builder default `{ TMPDIR: \"$XDG_RUNTIME_DIR\" }`.\nUser-supplied values take precedence."
6634
+ "description": "Additional environment variables injected into the snap's runtime environment.\nMerged with the electron-builder defaults (`TMPDIR=$XDG_RUNTIME_DIR`).\nUser-supplied values take precedence."
6634
6635
  },
6635
6636
  "executableArgs": {
6636
6637
  "anyOf": [
@@ -6646,6 +6647,27 @@
6646
6647
  ],
6647
6648
  "description": "The executable parameters. Pass to executableName"
6648
6649
  },
6650
+ "extensions": {
6651
+ "anyOf": [
6652
+ {
6653
+ "items": {
6654
+ "type": "string"
6655
+ },
6656
+ "type": "array"
6657
+ },
6658
+ {
6659
+ "type": "null"
6660
+ }
6661
+ ],
6662
+ "description": "[Snapcraft extensions](https://snapcraft.io/docs/snapcraft-extensions) to apply to the app.\nDefaults to `[\"gnome\"]` in normal builds (recommended for Electron apps on Ubuntu 24.04+).\nAutomatically set to `[]` in `useDestructiveMode` builds, where the gnome extension is\nincompatible. Explicitly including `\"gnome\"` while `useDestructiveMode` is set will throw.\nSee: https://snapcraft.io/docs/gnome-extension"
6663
+ },
6664
+ "forceX11": {
6665
+ "description": "Set to `true` to force X11 by injecting `--ozone-platform=x11` into the snap command line.\nWhen unset or `false`, no flag is injected and native Wayland is allowed.\nUnlike the legacy `snap.allowNativeWayland`, there is no electron-version-based default here —\ncore24 always allows Wayland unless this is explicitly `true`.",
6666
+ "type": [
6667
+ "null",
6668
+ "boolean"
6669
+ ]
6670
+ },
6649
6671
  "grade": {
6650
6672
  "anyOf": [
6651
6673
  {
@@ -6660,11 +6682,11 @@
6660
6682
  }
6661
6683
  ],
6662
6684
  "default": "stable",
6663
- "description": "The quality grade of the snap.\n- `stable` — suitable for all channels, including `stable` and `candidate`.\n- `devel` — development snapshot; cannot be promoted to `stable` or `candidate`."
6685
+ "description": "The quality grade of the snap.\n`devel` — not publishable to stable/candidate channels.\n`stable` — suitable for all channels."
6664
6686
  },
6665
6687
  "hooks": {
6666
6688
  "default": "build/snap-hooks",
6667
- "description": "Directory containing [snap hooks](https://snapcraft.io/docs/snap-hooks), relative to\nthe build resources directory (`build/`).",
6689
+ "description": "Directory containing [snap hooks](https://snapcraft.io/docs/snap-hooks), relative to\nthe build resources directory.",
6668
6690
  "type": [
6669
6691
  "null",
6670
6692
  "string"
@@ -6679,7 +6701,7 @@
6679
6701
  "type": "null"
6680
6702
  }
6681
6703
  ],
6682
- "description": "[Snap layouts](https://snapcraft.io/docs/snap-layouts) — bind-mount or symlink host paths\ninto the snap's namespace, making libraries or config at `/usr`, `/var`, `/etc`, etc.\naccessible inside the confined environment."
6704
+ "description": "[Snap layouts](https://snapcraft.io/docs/snap-layouts) — bind-mount or symlink host paths\ninto the snap's namespace. User-provided layouts always override the extension defaults."
6683
6705
  },
6684
6706
  "mimeTypes": {
6685
6707
  "anyOf": [
@@ -6717,7 +6739,7 @@
6717
6739
  "type": "null"
6718
6740
  }
6719
6741
  ],
6720
- "description": "[Plugs](https://snapcraft.io/docs/reference/interfaces) (consumed interfaces) to declare\nfor the app entry point.\nDefaults to `[\"desktop\", \"desktop-legacy\", \"home\", \"x11\", \"wayland\", \"unity7\",\n\"browser-support\", \"network\", \"gsettings\", \"audio-playback\", \"pulseaudio\", \"opengl\"]`.\n\nUse `\"default\"` in the list to keep the defaults and append extras:\n`[\"default\", \"camera\"]` adds `camera` to the standard set.\n\nTo configure plug attributes (e.g. `allow-sandbox` for Chromium's internal sandbox),\nuse a descriptor object:\n```json\n[\n { \"browser-sandbox\": { \"interface\": \"browser-support\", \"allow-sandbox\": true } },\n \"another-simple-plug-name\"\n]\n```"
6742
+ "description": "[Plugs](https://snapcraft.io/docs/reference/interfaces) (consumed interfaces) for the app.\nWhen the `gnome` extension is active, content-snap plugs (themes, GNOME platform, GPU)\nare added automatically — only list custom plugs here.\nWithout any extension, defaults to the standard Electron plug set.\n\nSupports descriptor objects for plugs with attributes:\n```json\n[{ \"browser-sandbox\": { \"interface\": \"browser-support\", \"allow-sandbox\": true } }]\n```"
6721
6743
  },
6722
6744
  "publish": {
6723
6745
  "anyOf": [
@@ -6762,6 +6784,17 @@
6762
6784
  }
6763
6785
  ]
6764
6786
  },
6787
+ "remoteBuild": {
6788
+ "anyOf": [
6789
+ {
6790
+ "$ref": "#/definitions/RemoteBuildOptions"
6791
+ },
6792
+ {
6793
+ "type": "null"
6794
+ }
6795
+ ],
6796
+ "description": "Configuration for a remote build on [Launchpad](https://launchpad.net/).\nEnables cross-architecture builds in CI without native hardware or nested virtualisation.\nEach build invocation targets one arch; use `arch: [\"x64\", \"arm64\"]` to build for multiple."
6797
+ },
6765
6798
  "slots": {
6766
6799
  "anyOf": [
6767
6800
  {
@@ -6784,7 +6817,7 @@
6784
6817
  "type": "null"
6785
6818
  }
6786
6819
  ],
6787
- "description": "[Slots](https://snapcraft.io/docs/reference/interfaces) (provided interfaces) to declare\nfor the app.\n\nTo expose an MPRIS player under the Chromium bus name (required for strict confinement):\n```json\n[{ \"mpris\": { \"name\": \"chromium\" } }]\n```\nChromium [hard-codes](https://source.chromium.org/chromium/chromium/src/+/master:components/system_media_controls/linux/system_media_controls_linux.cc;l=51;bpv=0;bpt=1)\nthe bus name `chromium`, so the slot name must match for snapd to\n[allow it](https://forum.snapcraft.io/t/unable-to-use-mpris-interface/15360/7)."
6820
+ "description": "[Slots](https://snapcraft.io/docs/reference/interfaces) (provided interfaces) for the app.\nUse for MPRIS, D-Bus services, etc.\n\nExample — expose MPRIS under the Chromium bus name:\n```json\n[{ \"mpris\": { \"name\": \"chromium\" } }]\n```"
6788
6821
  },
6789
6822
  "stagePackages": {
6790
6823
  "anyOf": [
@@ -6798,10 +6831,10 @@
6798
6831
  "type": "null"
6799
6832
  }
6800
6833
  ],
6801
- "description": "Ubuntu packages to **stage** alongside the app (equivalent to `depends` for deb).\nDefaults to `[\"libnspr4\", \"libnss3\", \"libxss1\", \"libappindicator3-1\", \"libsecret-1-0\"]`.\n\nUse the `\"default\"` keyword to extend the default list:\n`[\"default\", \"my-extra-lib\"]` appends `my-extra-lib` to the defaults."
6834
+ "description": "Ubuntu packages to **stage** alongside the app (equivalent to `depends` for deb).\nDefaults to `[\"libnspr4\", \"libnss3\", \"libxss1\", \"libappindicator3-1\", \"libsecret-1-0\"]`.\nSupports the `\"default\"` keyword to reference the default list:\n`[\"default\", \"my-extra-lib\"]` appends `my-extra-lib` to the defaults."
6802
6835
  },
6803
6836
  "summary": {
6804
- "description": "A short summary of the snap (max 78 characters).\nDefaults to [productName](./configuration.md#productName).",
6837
+ "description": "A short summary of the snap (max 78 characters). Defaults to `productName`.",
6805
6838
  "type": [
6806
6839
  "null",
6807
6840
  "string"
@@ -6815,22 +6848,58 @@
6815
6848
  ]
6816
6849
  },
6817
6850
  "title": {
6818
- "description": "Display title for the snap (may contain uppercase letters and spaces).\nDefaults to `productName`.\nSee [snap format](https://snapcraft.io/docs/snap-format).",
6851
+ "description": "An optional display title (may contain uppercase letters and spaces). Defaults to `productName`.\nSee [snap format](https://snapcraft.io/docs/snap-format).",
6819
6852
  "type": [
6820
6853
  "null",
6821
6854
  "string"
6822
6855
  ]
6823
6856
  },
6824
- "useTemplateApp": {
6825
- "description": "Whether to use the pre-built Electron snap template for faster builds.\nWhen `true`, electron-builder delegates snap assembly to the upstream Electron snap\ntemplate rather than running a full snapcraft build, significantly reducing build time.\nDefaults to `true` when `stagePackages` is not customised.\nOnly applicable to x64 and armv7l builds.",
6826
- "type": "boolean"
6857
+ "useDestructiveMode": {
6858
+ "description": "Build directly on the host without an isolated VM or container (snapcraft `--destructive-mode`).\nEquivalent to setting `SNAPCRAFT_BUILD_ENVIRONMENT=host`.\n\n**Not recommended for most use cases.** Destructive mode pollutes the host environment\nand produces builds that are difficult to reproduce — any library or tool present on the\nhost at build time can silently end up in the snap. Prefer `useLXD` or `useMultipass`\nfor clean, reproducible builds; use `remoteBuild` for multi-architecture CI.\n\nValid reasons to enable this option:\n- Building inside a Docker container where nested virtualisation (LXD / Multipass) is\n unavailable and a remote Launchpad build is not acceptable.\n- Running test suites in CI where the environment is already fully controlled.\n\nThe `gnome` extension is incompatible with this mode enabled — do not include it in `extensions`.",
6859
+ "type": [
6860
+ "null",
6861
+ "boolean"
6862
+ ]
6863
+ },
6864
+ "useLXD": {
6865
+ "description": "Use [LXD](https://canonical.com/lxd) as the isolated build environment.\nPreferred over Multipass on most Linux CI systems where nested virtualisation is unavailable.\nMutually exclusive with `useMultipass` and `useDestructiveMode`.",
6866
+ "type": [
6867
+ "null",
6868
+ "boolean"
6869
+ ]
6870
+ },
6871
+ "useMultipass": {
6872
+ "description": "Use [Multipass](https://multipass.run/) as the isolated build environment.\nMutually exclusive with `useLXD` and `useDestructiveMode`.",
6873
+ "type": [
6874
+ "null",
6875
+ "boolean"
6876
+ ]
6827
6877
  }
6828
6878
  },
6829
6879
  "type": "object"
6830
6880
  },
6831
- "SnapOptions24": {
6881
+ "SnapOptionsCustom": {
6882
+ "additionalProperties": false,
6883
+ "properties": {
6884
+ "yaml": {
6885
+ "anyOf": [
6886
+ {
6887
+ "$ref": "#/definitions/SnapcraftYAML"
6888
+ },
6889
+ {
6890
+ "type": [
6891
+ "null",
6892
+ "string"
6893
+ ]
6894
+ }
6895
+ ],
6896
+ "description": "Supports 2 routes:\n- Path to an existing `snapcraft.yaml` file, relative to `buildResourcesDir`. electron-builder reads the file and passes it through without modification.\n- A `SnapcraftYAML` object directly in the configuration. electron-builder uses the object to generate a `snapcraft.yaml` file, which is then passed through without modification."
6897
+ }
6898
+ },
6899
+ "type": "object"
6900
+ },
6901
+ "SnapOptionsLegacy": {
6832
6902
  "additionalProperties": false,
6833
- "description": "**[Beta]** Options for building a core24 snap. This interface does not extend the legacy\n`SnapBaseOptions` — it uses the snapcraft CLI directly.\n\nFields inherited from {@link CommonLinuxOptions} (`description`, `category`, `mimeTypes`,\n`executableArgs`, `desktop`, `synopsis`) are automatically populated from the root `linux.*`\nconfiguration. You do not need to duplicate them here; values set directly on this interface\ntake precedence over the cascaded `linux.*` values.",
6834
6903
  "properties": {
6835
6904
  "after": {
6836
6905
  "anyOf": [
@@ -6844,7 +6913,14 @@
6844
6913
  "type": "null"
6845
6914
  }
6846
6915
  ],
6847
- "description": "Names of other snapcraft parts that must be built before the app part."
6916
+ "description": "Names of snapcraft parts that must be built before the app part.\nDefaults to `[\"desktop-gtk2\"]`.\n\nUse `\"default\"` to keep the default and add extras:\n`[\"default\", \"my-helper-part\"]`."
6917
+ },
6918
+ "allowNativeWayland": {
6919
+ "description": "Allow the snap to run with native Wayland support (`--ozone-platform=wayland`).\nDefaults to `false` for Electron < 38 (legacy behaviour); `true` for Electron ≥ 38.\nSet explicitly to override the version-based default.",
6920
+ "type": [
6921
+ "null",
6922
+ "boolean"
6923
+ ]
6848
6924
  },
6849
6925
  "appPartStage": {
6850
6926
  "anyOf": [
@@ -6858,7 +6934,7 @@
6858
6934
  "type": "null"
6859
6935
  }
6860
6936
  ],
6861
- "description": "Filesets controlling which files from the app part are staged into the snap.\nSupports glob patterns and exclusions. See [filesets](https://snapcraft.io/docs/snapcraft-filesets)."
6937
+ "description": "Filesets controlling which files from the app part are staged into the snap.\nSupports individual files, directories, globs, globstars, and exclusions (prefix `!`).\nSee [Snapcraft filesets](https://snapcraft.io/docs/snapcraft-filesets).\nWhen not set, the snap template's default stage list is used for legacy bases (core18/core20/core22)."
6862
6938
  },
6863
6939
  "artifactName": {
6864
6940
  "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
@@ -6882,11 +6958,11 @@
6882
6958
  ]
6883
6959
  }
6884
6960
  ],
6885
- "description": "Features that must be supported by the host snapd before the snap can be installed.\nSee [assumes](https://snapcraft.io/docs/snapcraft-yaml-reference#assumes)."
6961
+ "description": "[Snapd features](https://snapcraft.io/docs/snapcraft-yaml-reference#assumes) that must\nbe present on the host before the snap can be installed."
6886
6962
  },
6887
6963
  "autoStart": {
6888
6964
  "default": false,
6889
- "description": "Whether the app should auto-start on login (creates an autostart desktop entry).",
6965
+ "description": "Whether the snap should automatically start on login.",
6890
6966
  "type": "boolean"
6891
6967
  },
6892
6968
  "buildPackages": {
@@ -6923,7 +6999,7 @@
6923
6999
  "type": "null"
6924
7000
  }
6925
7001
  ],
6926
- "description": "Compression algorithm for the snap SquashFS image.\n- `xz` — smaller file, slower decompression (recommended for distribution).\n- `lzo` — larger file, faster decompression (useful for development iteration).\nOmit to use snapcraft's default (`xz`).\n\nWhen not set, `linux.compression` is mapped automatically:\n`\"store\"` → `\"lzo\"`, `\"maximum\"` → `\"xz\"`, `\"normal\"` → snapcraft default.\nExplicitly setting this field always overrides the mapped value."
7002
+ "description": "Compression algorithm for the snap SquashFS image.\n- `xz` — smaller file, slower decompression (good for distribution).\n- `lzo` — larger file, faster decompression (good for development iteration).\nOmit to use snapcraft's default (`xz`).\n\nWhen not set, `linux.compression` is mapped automatically:\n`\"store\"` → `\"lzo\"`, `\"maximum\"` → `\"xz\"`, `\"normal\"` → snapcraft default.\nExplicitly setting this field always overrides the mapped value."
6927
7003
  },
6928
7004
  "confinement": {
6929
7005
  "anyOf": [
@@ -6940,7 +7016,7 @@
6940
7016
  }
6941
7017
  ],
6942
7018
  "default": "strict",
6943
- "description": "The type of [confinement](https://snapcraft.io/docs/reference/confinement) supported by the snap."
7019
+ "description": "The type of [snap confinement](https://snapcraft.io/docs/reference/confinement).\n- `strict` — recommended; the snap runs in a fully isolated sandbox.\n- `devmode` — sandbox violations are logged but not enforced; for development only.\n- `classic` — no confinement; equivalent to a traditionally packaged application.\n Requires Snap Store approval before publishing."
6944
7020
  },
6945
7021
  "description": {
6946
7022
  "description": "As [description](https://www.electron.build/configuration#description) from application package.json, but allows you to specify different for Linux.",
@@ -6972,7 +7048,7 @@
6972
7048
  "type": "null"
6973
7049
  }
6974
7050
  ],
6975
- "description": "Additional environment variables injected into the snap's runtime environment.\nMerged with the electron-builder defaults (`TMPDIR=$XDG_RUNTIME_DIR`).\nUser-supplied values take precedence."
7051
+ "description": "Environment variables injected into the snap's runtime environment.\nMerged with the electron-builder default `{ TMPDIR: \"$XDG_RUNTIME_DIR\" }`.\nUser-supplied values take precedence."
6976
7052
  },
6977
7053
  "executableArgs": {
6978
7054
  "anyOf": [
@@ -6988,421 +7064,7 @@
6988
7064
  ],
6989
7065
  "description": "The executable parameters. Pass to executableName"
6990
7066
  },
6991
- "extensions": {
6992
- "anyOf": [
6993
- {
6994
- "items": {
6995
- "type": "string"
6996
- },
6997
- "type": "array"
6998
- },
6999
- {
7000
- "type": "null"
7001
- }
7002
- ],
7003
- "description": "[Snapcraft extensions](https://snapcraft.io/docs/snapcraft-extensions) to apply to the app.\nDefaults to `[\"gnome\"]` in normal builds (recommended for Electron apps on Ubuntu 24.04+).\nAutomatically set to `[]` in `useDestructiveMode` builds, where the gnome extension is\nincompatible. Explicitly including `\"gnome\"` while `useDestructiveMode` is set will throw.\nSee: https://snapcraft.io/docs/gnome-extension"
7004
- },
7005
- "forceX11": {
7006
- "description": "Set to `true` to force X11 by injecting `--ozone-platform=x11` into the snap command line.\nWhen unset or `false`, no flag is injected and native Wayland is allowed.\nUnlike the legacy `snap.allowNativeWayland`, there is no electron-version-based default here —\ncore24 always allows Wayland unless this is explicitly `true`.",
7007
- "type": [
7008
- "null",
7009
- "boolean"
7010
- ]
7011
- },
7012
- "grade": {
7013
- "anyOf": [
7014
- {
7015
- "enum": [
7016
- "devel",
7017
- "stable"
7018
- ],
7019
- "type": "string"
7020
- },
7021
- {
7022
- "type": "null"
7023
- }
7024
- ],
7025
- "default": "stable",
7026
- "description": "The quality grade of the snap.\n`devel` — not publishable to stable/candidate channels.\n`stable` — suitable for all channels."
7027
- },
7028
- "hooks": {
7029
- "default": "build/snap-hooks",
7030
- "description": "Directory containing [snap hooks](https://snapcraft.io/docs/snap-hooks), relative to\nthe build resources directory.",
7031
- "type": [
7032
- "null",
7033
- "string"
7034
- ]
7035
- },
7036
- "layout": {
7037
- "anyOf": [
7038
- {
7039
- "typeof": "function"
7040
- },
7041
- {
7042
- "type": "null"
7043
- }
7044
- ],
7045
- "description": "[Snap layouts](https://snapcraft.io/docs/snap-layouts) — bind-mount or symlink host paths\ninto the snap's namespace. User-provided layouts always override the extension defaults."
7046
- },
7047
- "mimeTypes": {
7048
- "anyOf": [
7049
- {
7050
- "items": {
7051
- "type": "string"
7052
- },
7053
- "type": "array"
7054
- },
7055
- {
7056
- "type": "null"
7057
- }
7058
- ],
7059
- "description": "The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing."
7060
- },
7061
- "plugs": {
7062
- "anyOf": [
7063
- {
7064
- "$ref": "#/definitions/PlugDescriptor"
7065
- },
7066
- {
7067
- "items": {
7068
- "anyOf": [
7069
- {
7070
- "$ref": "#/definitions/PlugDescriptor"
7071
- },
7072
- {
7073
- "type": "string"
7074
- }
7075
- ]
7076
- },
7077
- "type": "array"
7078
- },
7079
- {
7080
- "type": "null"
7081
- }
7082
- ],
7083
- "description": "[Plugs](https://snapcraft.io/docs/reference/interfaces) (consumed interfaces) for the app.\nWhen the `gnome` extension is active, content-snap plugs (themes, GNOME platform, GPU)\nare added automatically — only list custom plugs here.\nWithout any extension, defaults to the standard Electron plug set.\n\nSupports descriptor objects for plugs with attributes:\n```json\n[{ \"browser-sandbox\": { \"interface\": \"browser-support\", \"allow-sandbox\": true } }]\n```"
7084
- },
7085
- "publish": {
7086
- "anyOf": [
7087
- {
7088
- "$ref": "#/definitions/GithubOptions"
7089
- },
7090
- {
7091
- "$ref": "#/definitions/GitlabOptions"
7092
- },
7093
- {
7094
- "$ref": "#/definitions/S3Options"
7095
- },
7096
- {
7097
- "$ref": "#/definitions/SpacesOptions"
7098
- },
7099
- {
7100
- "$ref": "#/definitions/GenericServerOptions"
7101
- },
7102
- {
7103
- "$ref": "#/definitions/CustomPublishOptions"
7104
- },
7105
- {
7106
- "$ref": "#/definitions/KeygenOptions"
7107
- },
7108
- {
7109
- "$ref": "#/definitions/SnapStoreOptions"
7110
- },
7111
- {
7112
- "$ref": "#/definitions/BitbucketOptions"
7113
- },
7114
- {
7115
- "items": {
7116
- "$ref": "#/definitions/AllPublishOptions"
7117
- },
7118
- "type": "array"
7119
- },
7120
- {
7121
- "type": [
7122
- "null",
7123
- "string"
7124
- ]
7125
- }
7126
- ]
7127
- },
7128
- "remoteBuild": {
7129
- "anyOf": [
7130
- {
7131
- "$ref": "#/definitions/RemoteBuildOptions"
7132
- },
7133
- {
7134
- "type": "null"
7135
- }
7136
- ],
7137
- "description": "Configuration for a remote build on [Launchpad](https://launchpad.net/).\nEnables cross-architecture builds in CI without native hardware or nested virtualisation.\nEach build invocation targets one arch; use `arch: [\"x64\", \"arm64\"]` to build for multiple."
7138
- },
7139
- "slots": {
7140
- "anyOf": [
7141
- {
7142
- "$ref": "#/definitions/SlotDescriptor"
7143
- },
7144
- {
7145
- "items": {
7146
- "anyOf": [
7147
- {
7148
- "$ref": "#/definitions/SlotDescriptor"
7149
- },
7150
- {
7151
- "type": "string"
7152
- }
7153
- ]
7154
- },
7155
- "type": "array"
7156
- },
7157
- {
7158
- "type": "null"
7159
- }
7160
- ],
7161
- "description": "[Slots](https://snapcraft.io/docs/reference/interfaces) (provided interfaces) for the app.\nUse for MPRIS, D-Bus services, etc.\n\nExample — expose MPRIS under the Chromium bus name:\n```json\n[{ \"mpris\": { \"name\": \"chromium\" } }]\n```"
7162
- },
7163
- "stagePackages": {
7164
- "anyOf": [
7165
- {
7166
- "items": {
7167
- "type": "string"
7168
- },
7169
- "type": "array"
7170
- },
7171
- {
7172
- "type": "null"
7173
- }
7174
- ],
7175
- "description": "Ubuntu packages to **stage** alongside the app (equivalent to `depends` for deb).\nDefaults to `[\"libnspr4\", \"libnss3\", \"libxss1\", \"libappindicator3-1\", \"libsecret-1-0\"]`.\nSupports the `\"default\"` keyword to reference the default list:\n`[\"default\", \"my-extra-lib\"]` appends `my-extra-lib` to the defaults."
7176
- },
7177
- "summary": {
7178
- "description": "A short summary of the snap (max 78 characters). Defaults to `productName`.",
7179
- "type": [
7180
- "null",
7181
- "string"
7182
- ]
7183
- },
7184
- "synopsis": {
7185
- "description": "The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).",
7186
- "type": [
7187
- "null",
7188
- "string"
7189
- ]
7190
- },
7191
- "title": {
7192
- "description": "An optional display title (may contain uppercase letters and spaces). Defaults to `productName`.\nSee [snap format](https://snapcraft.io/docs/snap-format).",
7193
- "type": [
7194
- "null",
7195
- "string"
7196
- ]
7197
- },
7198
- "useDestructiveMode": {
7199
- "description": "Build directly on the host without an isolated VM or container (snapcraft `--destructive-mode`).\nEquivalent to setting `SNAPCRAFT_BUILD_ENVIRONMENT=host`.\n\n**Not recommended for most use cases.** Destructive mode pollutes the host environment\nand produces builds that are difficult to reproduce — any library or tool present on the\nhost at build time can silently end up in the snap. Prefer `useLXD` or `useMultipass`\nfor clean, reproducible builds; use `remoteBuild` for multi-architecture CI.\n\nValid reasons to enable this option:\n- Building inside a Docker container where nested virtualisation (LXD / Multipass) is\n unavailable and a remote Launchpad build is not acceptable.\n- Running test suites in CI where the environment is already fully controlled.\n\nThe `gnome` extension is incompatible with this mode enabled — do not include it in `extensions`.",
7200
- "type": [
7201
- "null",
7202
- "boolean"
7203
- ]
7204
- },
7205
- "useLXD": {
7206
- "description": "Use [LXD](https://canonical.com/lxd) as the isolated build environment.\nPreferred over Multipass on most Linux CI systems where nested virtualisation is unavailable.\nMutually exclusive with `useMultipass` and `useDestructiveMode`.",
7207
- "type": [
7208
- "null",
7209
- "boolean"
7210
- ]
7211
- },
7212
- "useMultipass": {
7213
- "description": "Use [Multipass](https://multipass.run/) as the isolated build environment.\nMutually exclusive with `useLXD` and `useDestructiveMode`.",
7214
- "type": [
7215
- "null",
7216
- "boolean"
7217
- ]
7218
- }
7219
- },
7220
- "type": "object"
7221
- },
7222
- "SnapOptionsCustom": {
7223
- "additionalProperties": false,
7224
- "properties": {
7225
- "yaml": {
7226
- "anyOf": [
7227
- {
7228
- "$ref": "#/definitions/SnapcraftYAML"
7229
- },
7230
- {
7231
- "type": [
7232
- "null",
7233
- "string"
7234
- ]
7235
- }
7236
- ],
7237
- "description": "Supports 2 routes:\n- Path to an existing `snapcraft.yaml` file, relative to `buildResourcesDir`. electron-builder reads the file and passes it through without modification.\n- A `SnapcraftYAML` object directly in the configuration. electron-builder uses the object to generate a `snapcraft.yaml` file, which is then passed through without modification."
7238
- }
7239
- },
7240
- "type": "object"
7241
- },
7242
- "SnapOptionsLegacy": {
7243
- "additionalProperties": false,
7244
- "properties": {
7245
- "after": {
7246
- "anyOf": [
7247
- {
7248
- "items": {
7249
- "type": "string"
7250
- },
7251
- "type": "array"
7252
- },
7253
- {
7254
- "type": "null"
7255
- }
7256
- ],
7257
- "description": "Names of snapcraft parts that must be built before the app part.\nDefaults to `[\"desktop-gtk2\"]`.\n\nUse `\"default\"` to keep the default and add extras:\n`[\"default\", \"my-helper-part\"]`."
7258
- },
7259
- "allowNativeWayland": {
7260
- "description": "Allow the snap to run with native Wayland support (`--ozone-platform=wayland`).\nDefaults to `false` for Electron < 38 (legacy behaviour); `true` for Electron ≥ 38.\nSet explicitly to override the version-based default.",
7261
- "type": [
7262
- "null",
7263
- "boolean"
7264
- ]
7265
- },
7266
- "appPartStage": {
7267
- "anyOf": [
7268
- {
7269
- "items": {
7270
- "type": "string"
7271
- },
7272
- "type": "array"
7273
- },
7274
- {
7275
- "type": "null"
7276
- }
7277
- ],
7278
- "description": "Filesets controlling which files from the app part are staged into the snap.\nSupports individual files, directories, globs, globstars, and exclusions (prefix `!`).\nSee [Snapcraft filesets](https://snapcraft.io/docs/snapcraft-filesets).\nWhen not set, the snap template's default stage list is used for legacy bases (core18/core20/core22)."
7279
- },
7280
- "artifactName": {
7281
- "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
7282
- "type": [
7283
- "null",
7284
- "string"
7285
- ]
7286
- },
7287
- "assumes": {
7288
- "anyOf": [
7289
- {
7290
- "items": {
7291
- "type": "string"
7292
- },
7293
- "type": "array"
7294
- },
7295
- {
7296
- "type": [
7297
- "null",
7298
- "string"
7299
- ]
7300
- }
7301
- ],
7302
- "description": "[Snapd features](https://snapcraft.io/docs/snapcraft-yaml-reference#assumes) that must\nbe present on the host before the snap can be installed."
7303
- },
7304
- "autoStart": {
7305
- "default": false,
7306
- "description": "Whether the snap should automatically start on login.",
7307
- "type": "boolean"
7308
- },
7309
- "buildPackages": {
7310
- "anyOf": [
7311
- {
7312
- "items": {
7313
- "type": "string"
7314
- },
7315
- "type": "array"
7316
- },
7317
- {
7318
- "type": "null"
7319
- }
7320
- ],
7321
- "description": "Debian packages required at **build** time (installed inside the build environment)."
7322
- },
7323
- "category": {
7324
- "description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).",
7325
- "type": [
7326
- "null",
7327
- "string"
7328
- ]
7329
- },
7330
- "compression": {
7331
- "anyOf": [
7332
- {
7333
- "enum": [
7334
- "lzo",
7335
- "xz"
7336
- ],
7337
- "type": "string"
7338
- },
7339
- {
7340
- "type": "null"
7341
- }
7342
- ],
7343
- "description": "Compression algorithm for the snap SquashFS image.\n- `xz` — smaller file, slower decompression (good for distribution).\n- `lzo` — larger file, faster decompression (good for development iteration).\nOmit to use snapcraft's default (`xz`).\n\nWhen not set, `linux.compression` is mapped automatically:\n`\"store\"` → `\"lzo\"`, `\"maximum\"` → `\"xz\"`, `\"normal\"` → snapcraft default.\nExplicitly setting this field always overrides the mapped value."
7344
- },
7345
- "confinement": {
7346
- "anyOf": [
7347
- {
7348
- "enum": [
7349
- "classic",
7350
- "devmode",
7351
- "strict"
7352
- ],
7353
- "type": "string"
7354
- },
7355
- {
7356
- "type": "null"
7357
- }
7358
- ],
7359
- "default": "strict",
7360
- "description": "The type of [snap confinement](https://snapcraft.io/docs/reference/confinement).\n- `strict` — recommended; the snap runs in a fully isolated sandbox.\n- `devmode` — sandbox violations are logged but not enforced; for development only.\n- `classic` — no confinement; equivalent to a traditionally packaged application.\n Requires Snap Store approval before publishing."
7361
- },
7362
- "description": {
7363
- "description": "As [description](https://www.electron.build/configuration#description) from application package.json, but allows you to specify different for Linux.",
7364
- "type": [
7365
- "null",
7366
- "string"
7367
- ]
7368
- },
7369
- "desktop": {
7370
- "anyOf": [
7371
- {
7372
- "$ref": "#/definitions/LinuxDesktopFile"
7373
- },
7374
- {
7375
- "type": "null"
7376
- }
7377
- ],
7378
- "description": "The [Desktop file](https://developer.gnome.org/documentation/guidelines/maintainer/integrating.html#desktop-files)"
7379
- },
7380
- "environment": {
7381
- "anyOf": [
7382
- {
7383
- "typeof": "function"
7384
- },
7385
- {
7386
- "type": "null"
7387
- }
7388
- ],
7389
- "description": "Environment variables injected into the snap's runtime environment.\nMerged with the electron-builder default `{ TMPDIR: \"$XDG_RUNTIME_DIR\" }`.\nUser-supplied values take precedence."
7390
- },
7391
- "executableArgs": {
7392
- "anyOf": [
7393
- {
7394
- "items": {
7395
- "type": "string"
7396
- },
7397
- "type": "array"
7398
- },
7399
- {
7400
- "type": "null"
7401
- }
7402
- ],
7403
- "description": "The executable parameters. Pass to executableName"
7404
- },
7405
- "grade": {
7067
+ "grade": {
7406
7068
  "anyOf": [
7407
7069
  {
7408
7070
  "enum": [
@@ -8272,10 +7934,13 @@
8272
7934
  },
8273
7935
  "ToolsetConfig": {
8274
7936
  "additionalProperties": false,
8275
- "description": "Configuration of toolsets utilized by electron-builder",
7937
+ "description": "Version pins and custom bundle overrides for the binary toolsets that electron-builder\ndownloads and caches locally.\n\nEach toolset is a versioned archive hosted at\n[electron-userland/electron-builder-binaries](https://github.com/electron-userland/electron-builder-binaries/releases).\nOmitting a property (or setting it to `null`) selects the modern default for that toolset.\nSetting a property to `\"0.0.0\"` forces the legacy bundle — useful only for diagnosing\nregressions introduced by newer toolset bundles.\n\nTo supply your own bundle, set the property to a {@link ToolsetCustom} object with a `url`\n(https:// or file://) and a `checksum` for verification. The bundle must mirror the expected\ndirectory layout of the corresponding built-in bundle; see the build scripts at\nhttps://github.com/electron-userland/electron-builder-binaries/tree/master/packages.",
8276
7938
  "properties": {
8277
7939
  "appimage": {
8278
7940
  "anyOf": [
7941
+ {
7942
+ "$ref": "#/definitions/ToolsetCustom"
7943
+ },
8279
7944
  {
8280
7945
  "enum": [
8281
7946
  "0.0.0",
@@ -8288,11 +7953,62 @@
8288
7953
  "type": "null"
8289
7954
  }
8290
7955
  ],
8291
- "default": "0.0.0",
8292
- "description": "`appimage` bundle version to use for Appimage packaging and runtime.\nLocated at https://github.com/electron-userland/electron-builder-binaries/releases?q=appimage&expanded=true\n0.0.0 - legacy toolset (appimage)\n\nBetas:\n1.0.2 - Runtime 20251108\n1.0.3 - Runtime 20251108 (Resolves GH issue #9598)"
7956
+ "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"
7958
+ },
7959
+ "fpm": {
7960
+ "anyOf": [
7961
+ {
7962
+ "$ref": "#/definitions/ToolsetCustom"
7963
+ },
7964
+ {
7965
+ "const": "2.2.1",
7966
+ "type": "string"
7967
+ },
7968
+ {
7969
+ "type": "null"
7970
+ }
7971
+ ],
7972
+ "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"
7974
+ },
7975
+ "icons": {
7976
+ "anyOf": [
7977
+ {
7978
+ "$ref": "#/definitions/ToolsetCustom"
7979
+ },
7980
+ {
7981
+ "const": "1.1.0",
7982
+ "type": "string"
7983
+ },
7984
+ {
7985
+ "type": "null"
7986
+ }
7987
+ ],
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"
7990
+ },
7991
+ "linuxToolsMac": {
7992
+ "anyOf": [
7993
+ {
7994
+ "$ref": "#/definitions/ToolsetCustom"
7995
+ },
7996
+ {
7997
+ "const": "1.0.0",
7998
+ "type": "string"
7999
+ },
8000
+ {
8001
+ "type": "null"
8002
+ }
8003
+ ],
8004
+ "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"
8293
8006
  },
8294
8007
  "nsis": {
8295
8008
  "anyOf": [
8009
+ {
8010
+ "$ref": "#/definitions/ToolsetCustom"
8011
+ },
8296
8012
  {
8297
8013
  "enum": [
8298
8014
  "0.0.0",
@@ -8304,11 +8020,30 @@
8304
8020
  "type": "null"
8305
8021
  }
8306
8022
  ],
8307
- "default": "0.0.0",
8308
- "description": "`nsis` bundle version to use for NSIS installer compilation.\nLocated at https://github.com/electron-userland/electron-builder-binaries/releases?q=nsis&expanded=true\n0.0.0 - legacy toolset (nsis-3.0.4.1 + nsis-resources-3.4.1)\n\nBetas:\n1.2.1 - unified bundle (makensis 3.12 + plugins in one archive, entrypoint scripts auto-set NSISDIR)"
8023
+ "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"
8025
+ },
8026
+ "sevenZip": {
8027
+ "anyOf": [
8028
+ {
8029
+ "$ref": "#/definitions/ToolsetCustom"
8030
+ },
8031
+ {
8032
+ "const": "1.0.0",
8033
+ "type": "string"
8034
+ },
8035
+ {
8036
+ "type": "null"
8037
+ }
8038
+ ],
8039
+ "default": "1.0.0",
8040
+ "description": "Version of the 7-Zip binary bundle used internally to extract `.7z` and `.tar.xz` archives.\n\nSet to a {@link ToolsetCustom} object to supply your own 7za binary.\nThe `url` must point to a directory (or a `.tar.gz`/`.zip` archive of one) that contains\n`bin/7za` (macOS/Linux) or `bin/7za.exe` (Windows).\n\n**Bootstrap constraint:** the custom bundle itself must be a `.tar.gz` or `.zip` archive\n(or a bare `file://` directory). `.7z` and `.tar.xz` archives cannot be used here because\nextracting them requires 7za — a circular dependency."
8309
8041
  },
8310
8042
  "winCodeSign": {
8311
8043
  "anyOf": [
8044
+ {
8045
+ "$ref": "#/definitions/ToolsetCustom"
8046
+ },
8312
8047
  {
8313
8048
  "enum": [
8314
8049
  "0.0.0",
@@ -8321,16 +8056,16 @@
8321
8056
  "type": "null"
8322
8057
  }
8323
8058
  ],
8324
- "default": "0.0.0",
8325
- "description": "`win-codesign` version to use for signing Windows artifacts.\nLocated at https://github.com/electron-userland/electron-builder-binaries/releases?q=win-codesign&expanded=true\n\nStable:\nv0.0.0 (winCodeSign)\n\nBeta:\nWindows Kits 10.0.26100.0\nv1.0.0, v1.1.0"
8059
+ "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"
8326
8061
  },
8327
8062
  "wine": {
8328
8063
  "anyOf": [
8329
8064
  {
8330
- "enum": [
8331
- "0.0.0",
8332
- "1.0.1"
8333
- ],
8065
+ "$ref": "#/definitions/ToolsetCustom"
8066
+ },
8067
+ {
8068
+ "const": "0.0.0",
8334
8069
  "type": "string"
8335
8070
  },
8336
8071
  {
@@ -8338,9 +8073,31 @@
8338
8073
  }
8339
8074
  ],
8340
8075
  "default": "0.0.0",
8341
- "description": "`wine` bundle version to use for running Windows tools on non-Windows platforms.\nLocated at https://github.com/electron-userland/electron-builder-binaries/releases?q=wine&expanded=true\n0.0.0 - legacy toolset (wine 4.0.1 portable; mac-only support)\n\nBeta:\n1.0.1 - Wine 11 bundle (unified wine binary, ia32 via WoW64)"
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"
8077
+ }
8078
+ },
8079
+ "type": "object"
8080
+ },
8081
+ "ToolsetCustom": {
8082
+ "additionalProperties": false,
8083
+ "description": "A custom toolset bundle supplied by the user in place of a built-in versioned bundle.\n\nThe bundle must mirror the expected directory layout of the corresponding built-in bundle.\nSee the build scripts at\nhttps://github.com/electron-userland/electron-builder-binaries/tree/master/packages.\n\nFile formats supported for `url` archives: `.zip`, `.7z`, `.tar.gz`, `.tar.xz`.",
8084
+ "properties": {
8085
+ "checksum": {
8086
+ "description": "SHA checksum of the custom toolset bundle for verification.\nRequired for remote (`https://`) URLs and local archive files (`file://`).\nNot needed for bare directory paths — the directory is used as-is with no caching.",
8087
+ "type": "string"
8088
+ },
8089
+ "url": {
8090
+ "description": "The `https://` URL or `file://` path to load the custom toolset bundle from.\n\n- `https://` — downloaded and cached locally; the archive is extracted before use.\n- `file:///absolute/path` — used directly; relative paths must be within the project resources dir.\n\nArchives (`.zip`, `.7z`, `.tar.gz`, `.tar.xz`) are extracted automatically.\nA bare directory path (no archive) is used as-is.",
8091
+ "type": "string"
8092
+ },
8093
+ "version": {
8094
+ "description": "Optional version label used in the local cache directory name.\nFalls back to the first 8 characters of `checksum` when omitted.",
8095
+ "type": "string"
8342
8096
  }
8343
8097
  },
8098
+ "required": [
8099
+ "url"
8100
+ ],
8344
8101
  "type": "object"
8345
8102
  },
8346
8103
  "WindowsAzureSigningConfiguration": {
@@ -8415,31 +8172,15 @@
8415
8172
  "$ref": "#/definitions/AsarOptions"
8416
8173
  },
8417
8174
  {
8418
- "type": [
8419
- "null",
8420
- "boolean"
8421
- ]
8422
- }
8423
- ],
8424
- "default": true,
8425
- "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, you don't need to explicitly set [asarUnpack](#asarUnpack) - please file an issue if this doesn't work."
8426
- },
8427
- "asarUnpack": {
8428
- "anyOf": [
8429
- {
8430
- "items": {
8431
- "type": "string"
8432
- },
8433
- "type": "array"
8175
+ "const": false,
8176
+ "type": "boolean"
8434
8177
  },
8435
8178
  {
8436
- "type": [
8437
- "null",
8438
- "string"
8439
- ]
8179
+ "type": "null"
8440
8180
  }
8441
8181
  ],
8442
- "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](#directories), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
8182
+ "default": true,
8183
+ "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."
8443
8184
  },
8444
8185
  "azureSignOptions": {
8445
8186
  "anyOf": [
@@ -8905,6 +8646,7 @@
8905
8646
  "type": "object"
8906
8647
  }
8907
8648
  },
8649
+ "description": "The root build configuration object passed to electron-builder.\n\nExtends {@link CommonConfiguration} with top-level Electron-specific options, configuration\ninheritance/presets, and all per-platform build hooks.",
8908
8650
  "properties": {
8909
8651
  "afterAllArtifactBuild": {
8910
8652
  "anyOf": [
@@ -8918,7 +8660,7 @@
8918
8660
  ]
8919
8661
  }
8920
8662
  ],
8921
- "description": "The function (or path to file or module id) to be run after all artifacts are built.\nReceives a {@link BuildResult}. May return an array of additional file paths to publish.\n\nFor file/module setup, see {@link beforePack}."
8663
+ "description": "Called after **all** artifacts across all platforms/architectures have been built.\n\nMay return an array of additional file paths that should be treated as publish targets\n(i.e. uploaded to the configured publisher).\n\nReceives a {@link BuildResult}."
8922
8664
  },
8923
8665
  "afterExtract": {
8924
8666
  "anyOf": [
@@ -8932,7 +8674,7 @@
8932
8674
  ]
8933
8675
  }
8934
8676
  ],
8935
- "description": "The function (or path to file or module id) to be run after the prebuilt Electron binary has been extracted to the output directory.\nReceives an {@link AfterExtractContext}. For file/module setup, see {@link beforePack}."
8677
+ "description": "Called after the prebuilt Electron binary has been extracted to the staging directory but\nbefore the app files have been copied into it.\n\nUse this hook to patch or augment the Electron binary itself (e.g. rename helper processes,\ninject native libraries) before the app payload is laid down on top.\n\nReceives an {@link AfterExtractContext}."
8936
8678
  },
8937
8679
  "afterPack": {
8938
8680
  "anyOf": [
@@ -8946,7 +8688,7 @@
8946
8688
  ]
8947
8689
  }
8948
8690
  ],
8949
- "description": "The function (or path to file or module id) to be run after pack but before pack into distributable format and sign.\nReceives an {@link AfterPackContext}. For file/module setup, see {@link beforePack}."
8691
+ "description": "Called after the app files have been copied into the staging directory (and ASAR created if\napplicable) but **before** signing and before the output archive/installer is built.\n\nUse this hook to post-process the staged app bundle (e.g. strip debug symbols, inject\nplatform-specific resources).\n\nReceives an {@link AfterPackContext}."
8950
8692
  },
8951
8693
  "afterSign": {
8952
8694
  "anyOf": [
@@ -8960,7 +8702,7 @@
8960
8702
  ]
8961
8703
  }
8962
8704
  ],
8963
- "description": "The function (or path to file or module id) to be run after pack and sign but before pack into distributable format.\nReceives an {@link AfterPackContext}. For file/module setup, see {@link beforePack}."
8705
+ "description": "Called after code signing but **before** the signed app is packed into the final\ndistributable format (e.g. before `dmg` is created from the signed `.app`).\n\nUse this hook to perform post-sign validation or to add signed resources that are not part of\nthe main app bundle.\n\nReceives an {@link AfterPackContext}."
8964
8706
  },
8965
8707
  "apk": {
8966
8708
  "anyOf": [
@@ -8971,11 +8713,11 @@
8971
8713
  "type": "null"
8972
8714
  }
8973
8715
  ],
8974
- "description": "Alpine Linux APK package options. Produces an `.apk` archive installable via `apk add`."
8716
+ "description": "Alpine Linux APK package options.\n\nProduces an `.apk` archive installable via `apk add --allow-untrusted ./package.apk`."
8975
8717
  },
8976
8718
  "appId": {
8977
8719
  "default": "com.electron.${name}",
8978
- "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.",
8720
+ "description": "The application identifier.\n\nUsed as [`CFBundleIdentifier`](https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleidentifier)\non macOS and as the\n[Application User Model ID](https://learn.microsoft.com/en-us/windows/win32/shell/appids)\non Windows (NSIS target only; Squirrel.Windows does not support custom Application User Model IDs).\n\nIt is strongly recommended to set an explicit, reverse-DNS-style identifier (e.g. `\"com.example.myapp\"`)\nrather than relying on the generated default.",
8979
8721
  "type": [
8980
8722
  "null",
8981
8723
  "string"
@@ -8990,7 +8732,7 @@
8990
8732
  "type": "null"
8991
8733
  }
8992
8734
  ],
8993
- "description": "AppImage options. AppImage is a portable application format that bundles the app\nand its dependencies into a single self-contained executable that runs on most\nLinux distributions without installation."
8735
+ "description": "AppImage options.\n\nAppImage is a portable application format that bundles the app and its runtime dependencies\ninto a single self-contained executable that runs on most Linux distributions without\ninstallation. The produced `.AppImage` file is executable after `chmod +x`."
8994
8736
  },
8995
8737
  "appx": {
8996
8738
  "anyOf": [
@@ -9001,7 +8743,7 @@
9001
8743
  "type": "null"
9002
8744
  }
9003
8745
  ],
9004
- "description": "Windows Store (AppX) package options."
8746
+ "description": "Windows Store (MSIX/AppX) package options.\n\nProduces a `.appx` or `.msix` package suitable for distribution through the Microsoft Store or\nside-loading."
9005
8747
  },
9006
8748
  "appxManifestCreated": {
9007
8749
  "anyOf": [
@@ -9015,7 +8757,7 @@
9015
8757
  ]
9016
8758
  }
9017
8759
  ],
9018
- "description": "The function (or path to file or module id) to be run after Appx manifest created on disk - not packed into .appx package yet."
8760
+ "description": "Called after the AppX/MSIX manifest XML has been written to the staging directory but before\n`makeappx` packages it.\n\nThe hook receives the path to the manifest file as a string. Use it to inject custom manifest\nextensions (capabilities, protocol handlers, etc.) not exposed through {@link AppXOptions}."
9019
8761
  },
9020
8762
  "artifactBuildCompleted": {
9021
8763
  "anyOf": [
@@ -9029,7 +8771,7 @@
9029
8771
  ]
9030
8772
  }
9031
8773
  ],
9032
- "description": "The function (or path to file or module id) to be run when an individual artifact build completes.\nReceives an {@link ArtifactCreated}. For file/module setup, see {@link beforePack}."
8774
+ "description": "Called when an individual artifact has been successfully built and written to disk.\n\nUse this hook to collect artifact paths, upload to custom destinations, or trigger\npost-processing steps.\n\nReceives an {@link ArtifactCreated}."
9033
8775
  },
9034
8776
  "artifactBuildStarted": {
9035
8777
  "anyOf": [
@@ -9043,7 +8785,7 @@
9043
8785
  ]
9044
8786
  }
9045
8787
  ],
9046
- "description": "The function (or path to file or module id) to be run when an individual artifact build starts.\nReceives an {@link ArtifactBuildStarted}. For file/module setup, see {@link beforePack}."
8788
+ "description": "Called when an individual artifact build starts (e.g. just before a `.dmg` or `.exe` is\nwritten to disk).\n\nReceives an {@link ArtifactBuildStarted}."
9047
8789
  },
9048
8790
  "artifactName": {
9049
8791
  "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).",
@@ -9058,31 +8800,15 @@
9058
8800
  "$ref": "#/definitions/AsarOptions"
9059
8801
  },
9060
8802
  {
9061
- "type": [
9062
- "null",
9063
- "boolean"
9064
- ]
9065
- }
9066
- ],
9067
- "default": true,
9068
- "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, you don't need to explicitly set [asarUnpack](#asarUnpack) - please file an issue if this doesn't work."
9069
- },
9070
- "asarUnpack": {
9071
- "anyOf": [
9072
- {
9073
- "items": {
9074
- "type": "string"
9075
- },
9076
- "type": "array"
8803
+ "const": false,
8804
+ "type": "boolean"
9077
8805
  },
9078
8806
  {
9079
- "type": [
9080
- "null",
9081
- "string"
9082
- ]
8807
+ "type": "null"
9083
8808
  }
9084
8809
  ],
9085
- "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](#directories), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
8810
+ "default": true,
8811
+ "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."
9086
8812
  },
9087
8813
  "beforeBuild": {
9088
8814
  "anyOf": [
@@ -9096,7 +8822,7 @@
9096
8822
  ]
9097
8823
  }
9098
8824
  ],
9099
- "description": "The function (or path to file or module id) to be run before dependencies are installed or rebuilt. Works when `npmRebuild` is set to `true`. Resolving to `false` will skip dependencies install or rebuild.\n\nIf provided and `node_modules` are missing, it will not invoke production dependencies check."
8825
+ "description": "Called before dependencies are installed or native modules are rebuilt.\n\nReturn `false` (or a `Promise` that resolves to `false`) to skip the install/rebuild step\nentirely — useful when you manage `node_modules` externally (e.g. in a CI pipeline that\nrestores them from cache). When not set, electron-builder proceeds with the normal\ninstall/rebuild flow.\n\nIf this hook is provided and `node_modules` is missing, electron-builder will not perform\nthe production-dependencies check.\n\nReceives a {@link BeforeBuildContext}."
9100
8826
  },
9101
8827
  "beforePack": {
9102
8828
  "anyOf": [
@@ -9110,22 +8836,17 @@
9110
8836
  ]
9111
8837
  }
9112
8838
  ],
9113
- "description": "The function (or path to file or module id) to be run before pack.\nReceives a {@link BeforePackContext}.\n\nCan be specified inline as a function in JavaScript configs:\n```js\n// electron-builder.config.js\nmodule.exports = {\n beforePack: async (context) => {\n // your code\n }\n}\n```\n\nOr as a path to a module that exports the function as its default export:\n```json\n{ \"build\": { \"beforePack\": \"./myBeforePackHook.js\" } }\n```\n```js\n// myBeforePackHook.js\nexports.default = async function(context) {\n // your custom code\n}\n```"
9114
- },
9115
- "buildDependenciesFromSource": {
9116
- "default": false,
9117
- "description": "Whether to build the application native dependencies from source.",
9118
- "type": "boolean"
8839
+ "description": "Called immediately before electron-builder begins packing the app for each platform/arch\ncombination.\n\nUse this hook to perform last-minute modifications to source files or build resources before\nthey are read by the packager.\n\nReceives a {@link BeforePackContext}."
9119
8840
  },
9120
8841
  "buildNumber": {
9121
- "description": "The build number. Maps to the `--iteration` flag for builds using FPM on Linux.\nIf not defined, then it will fallback to `BUILD_NUMBER` or `TRAVIS_BUILD_NUMBER` or `APPVEYOR_BUILD_NUMBER` or `CIRCLE_BUILD_NUM` or `BUILD_BUILDNUMBER` or `CI_PIPELINE_IID` env.",
8842
+ "description": "The build number.\n\nMaps to the `--iteration` flag for FPM-based Linux targets and is appended to the version\nstring in `CFBundleVersion` (macOS) and `FileVersion` (Windows) when {@link buildVersion} is\nnot set explicitly.\n\nIf not set, falls back to the first defined environment variable among:\n`BUILD_NUMBER`, `TRAVIS_BUILD_NUMBER`, `APPVEYOR_BUILD_NUMBER`, `CIRCLE_BUILD_NUM`,\n`BUILD_BUILDNUMBER`, `CI_PIPELINE_IID`.",
9122
8843
  "type": [
9123
8844
  "null",
9124
8845
  "string"
9125
8846
  ]
9126
8847
  },
9127
8848
  "buildVersion": {
9128
- "description": "The build version. Maps to the `CFBundleVersion` on macOS, and `FileVersion` metadata property on Windows. Defaults to the `version`.\nIf `buildVersion` is not defined and `buildNumber` (or one of the `buildNumber` envs) is defined, it will be used as a build version (`version.buildNumber`).",
8849
+ "description": "The full build version string.\n\nMaps to `CFBundleVersion` on macOS and the `FileVersion` metadata field on Windows.\nDefaults to the `version` field from `package.json`.\n\nIf `buildVersion` is not set but {@link buildNumber} is defined (or resolved from an\nenvironment variable), the effective build version becomes `${version}.${buildNumber}`.",
9129
8850
  "type": [
9130
8851
  "null",
9131
8852
  "string"
@@ -9157,11 +8878,11 @@
9157
8878
  "type": "null"
9158
8879
  }
9159
8880
  ],
9160
- "description": "[Experimental] Configuration for concurrent builds."
8881
+ "description": "Configuration for experimental concurrent (multi-platform / multi-arch) builds.\n\nWhen `jobs > 1`, electron-builder runs up to `jobs` platform builds in parallel. This is an\nexperimental feature — use with caution and verify that your hook functions and build resources\nare safe to execute concurrently."
9161
8882
  },
9162
8883
  "copyright": {
9163
- "default": "Copyright © year ${author}",
9164
- "description": "The human-readable copyright line for the app.",
8884
+ "default": "Copyright © ${year} ${author}",
8885
+ "description": "The copyright string embedded in the built artifacts.\n\nAppears in the Windows `LegalCopyright` version-info field and the macOS `NSHumanReadableCopyright`\nInfo.plist key.",
9165
8886
  "type": [
9166
8887
  "null",
9167
8888
  "string"
@@ -9188,7 +8909,7 @@
9188
8909
  "type": "null"
9189
8910
  }
9190
8911
  ],
9191
- "description": "Debian package options. Targets Debian, Ubuntu, and Debian-based distributions.\nProduces a `.deb` archive installable via `dpkg -i` or `apt install`."
8912
+ "description": "Debian package options.\n\nTargets Debian, Ubuntu, and Debian-based distributions. Produces a `.deb` archive\ninstallable via `dpkg -i` or `apt install ./package.deb`."
9192
8913
  },
9193
8914
  "defaultArch": {
9194
8915
  "description": "The default architecture to build for when no `--arch` flag is specified.\nDefaults to the current machine's architecture.",
@@ -9208,12 +8929,7 @@
9208
8929
  "type": "null"
9209
8930
  }
9210
8931
  ],
9211
- "description": "Directories for build resources"
9212
- },
9213
- "disableAsarIntegrity": {
9214
- "default": false,
9215
- "description": "Whether to skip ASAR integrity hash computation. Useful for custom electron forks with encrypted ASAR support where the header is not readable by standard tools.",
9216
- "type": "boolean"
8932
+ "description": "Overrides for input/output directory paths used during the build."
9217
8933
  },
9218
8934
  "disableDefaultIgnoredFiles": {
9219
8935
  "default": false,
@@ -9223,11 +8939,6 @@
9223
8939
  "boolean"
9224
8940
  ]
9225
8941
  },
9226
- "disableSanityCheckAsar": {
9227
- "default": false,
9228
- "description": "Whether to disable sanity check asar package (useful for custom electron forks that implement their own encrypted integrity validation)",
9229
- "type": "boolean"
9230
- },
9231
8942
  "dmg": {
9232
8943
  "anyOf": [
9233
8944
  {
@@ -9237,19 +8948,15 @@
9237
8948
  "type": "null"
9238
8949
  }
9239
8950
  ],
9240
- "description": "macOS DMG options."
8951
+ "description": "macOS DMG disk image options (background image, window position, icon layout, licence, etc.)."
9241
8952
  },
9242
8953
  "downloadAlternateFFmpeg": {
9243
- "description": "Whether to download the alternate FFmpeg library from Electron's release assets and replace the default FFmpeg library prior to signing",
8954
+ "description": "Whether to download the FFmpeg library variant from Electron's release assets and replace the\ndefault (proprietary codec) FFmpeg library before signing.\n\nThe alternate FFmpeg is compiled without proprietary codec support (H.264, AAC, etc.) and is\nrequired for distributing on certain platforms (e.g., Linux distributions that prohibit\nproprietary codecs). Enabling this swaps the bundled `ffmpeg` dynamic library before the app\nis signed.",
9244
8955
  "type": "boolean"
9245
8956
  },
9246
8957
  "electronBranding": {
9247
8958
  "$ref": "#/definitions/ElectronBrandingOptions",
9248
- "description": "The branding used by Electron's distributables. This is needed if a fork has modified Electron's BRANDING.json file."
9249
- },
9250
- "electronCompile": {
9251
- "description": "Whether to use [electron-compile](http://github.com/electron/electron-compile) to compile app. Defaults to `true` if `electron-compile` in the dependencies. And `false` if in the `devDependencies` or doesn't specified.",
9252
- "type": "boolean"
8959
+ "description": "Electron branding overrides.\n\nRequired only when packaging a custom Electron fork that ships a modified `BRANDING.json`\n(e.g., a fork that renames the `Electron Helper` process or the `Electron Framework`).\nStandard Electron builds do not need this."
9253
8960
  },
9254
8961
  "electronDist": {
9255
8962
  "anyOf": [
@@ -9263,7 +8970,7 @@
9263
8970
  ]
9264
8971
  }
9265
8972
  ],
9266
- "description": "The function (or path to file or module id) to be run when staging the electron artifact environment.\nReturns the path to custom Electron build (e.g. `~/electron/out/R`) or folder of electron zips.\n\nZip files must follow the pattern `electron-v${version}-${platformName}-${arch}.zip`, otherwise it will be assumed to be an unpacked Electron app directory"
8973
+ "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}."
9267
8974
  },
9268
8975
  "electronDownload": {
9269
8976
  "anyOf": [
@@ -9277,7 +8984,7 @@
9277
8984
  "type": "null"
9278
8985
  }
9279
8986
  ],
9280
- "description": "The [electron-download](https://github.com/electron-userland/electron-download#usage) options. (legacy)\nAlternatively, you can use [electron/get](https://github.com/electron/get#usage) options."
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."
9281
8988
  },
9282
8989
  "electronFuses": {
9283
8990
  "anyOf": [
@@ -9288,7 +8995,7 @@
9288
8995
  "type": "null"
9289
8996
  }
9290
8997
  ],
9291
- "description": "Options to pass to `@electron/fuses`\nRef: https://github.com/electron/fuses"
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."
9292
8999
  },
9293
9000
  "electronLanguages": {
9294
9001
  "anyOf": [
@@ -9312,7 +9019,7 @@
9312
9019
  ]
9313
9020
  },
9314
9021
  "electronVersion": {
9315
- "description": "The version of electron you are packaging for. Defaults to version of `electron`, `electron-prebuilt` or `electron-prebuilt-compile` dependency.",
9022
+ "description": "The Electron version to package against.\n\nDefaults to the version of the `electron` (or `electron-prebuilt`) dependency declared in\n`package.json`. Set this explicitly only when the installed Electron version is not the one\nyou want to package against (e.g., in monorepos where the Electron dependency lives in a\ndifferent workspace).",
9316
9023
  "type": [
9317
9024
  "null",
9318
9025
  "string"
@@ -9340,7 +9047,7 @@
9340
9047
  ]
9341
9048
  }
9342
9049
  ],
9343
- "description": "The name of a built-in configuration preset (currently, only `react-cra` is supported) or any number of paths to config files (relative to project dir).\n\nThe latter allows to mixin a config from multiple other configs, as if you `Object.assign` them, but properly combine `files` glob patterns.\n\nIf `react-scripts` in the app dependencies, `react-cra` will be set automatically. Set to `null` to disable automatic detection."
9050
+ "description": "One or more configuration presets or file paths to merge into this configuration.\n\nAccepts a string or array of strings, each of which is either:\n- A built-in preset name (`\"react-cra\"` is the only currently supported value).\n- A path to a JS/JSON config file relative to the project directory.\n\nConfigs are merged left-to-right using a deep-assign strategy that properly combines `files`\nglob patterns rather than replacing them.\n\nThe `react-cra` preset is applied automatically when `react-scripts` is found in\n`dependencies`. Set `extends: null` to opt out of automatic preset detection."
9344
9051
  },
9345
9052
  "extraFiles": {
9346
9053
  "anyOf": [
@@ -9370,7 +9077,7 @@
9370
9077
  "description": "The same as [extraResources](#extraresources) but copy into the app's content directory (`Contents` for MacOS, root directory for Linux and Windows)."
9371
9078
  },
9372
9079
  "extraMetadata": {
9373
- "description": "Inject properties to `package.json`."
9080
+ "description": "Additional properties to deep-merge into the app's `package.json` at build time.\n\nUseful for injecting build-time metadata (e.g., a git commit hash or CI build URL) that\nshould be readable at runtime via `require('./package.json')` or `import.meta.url`."
9374
9081
  },
9375
9082
  "extraResources": {
9376
9083
  "anyOf": [
@@ -9449,20 +9156,13 @@
9449
9156
  "type": "null"
9450
9157
  }
9451
9158
  ],
9452
- "description": "Flatpak options. Flatpak is a sandboxed application distribution format for Linux\nthat runs in a controlled environment and is distributed via [Flathub](https://flathub.org/)\nor other Flatpak repositories."
9159
+ "description": "Flatpak options.\n\nFlatpak is a sandboxed application distribution format for Linux distributed via\n[Flathub](https://flathub.org/) or self-hosted OSTree repositories."
9453
9160
  },
9454
9161
  "forceCodeSigning": {
9455
9162
  "default": false,
9456
- "description": "Whether to fail if the application is not signed (to prevent unsigned app if code signing configuration is not correct).",
9163
+ "description": "Whether to throw an error and abort the build if the app could not be code-signed.\n\nSet to `true` in release pipelines to catch missing or misconfigured signing credentials\nbefore producing unsigned artifacts. When `false` (the default), missing signing credentials\nproduce a warning and the build continues unsigned.",
9457
9164
  "type": "boolean"
9458
9165
  },
9459
- "framework": {
9460
- "description": "The framework name. One of `electron`, `proton`, `libui`. Defaults to `electron`.",
9461
- "type": [
9462
- "null",
9463
- "string"
9464
- ]
9465
- },
9466
9166
  "freebsd": {
9467
9167
  "anyOf": [
9468
9168
  {
@@ -9472,7 +9172,7 @@
9472
9172
  "type": "null"
9473
9173
  }
9474
9174
  ],
9475
- "description": "FreeBSD package options. Produces a `.pkg` archive for the FreeBSD `pkg` package manager."
9175
+ "description": "FreeBSD `pkg` package options.\n\nProduces a `.pkg` archive for the FreeBSD package manager."
9476
9176
  },
9477
9177
  "generateUpdatesFilesForAllChannels": {
9478
9178
  "default": false,
@@ -9487,17 +9187,9 @@
9487
9187
  },
9488
9188
  "includePdb": {
9489
9189
  "default": false,
9490
- "description": "Whether to include PDB files.",
9190
+ "description": "Whether to include `.pdb` (Program Database) symbol files in the output.\n\nPDB files enable Windows crash-dump analysis but significantly increase artifact size. Enable\nfor internal builds where you want symbol information; disable for public distribution.",
9491
9191
  "type": "boolean"
9492
9192
  },
9493
- "launchUiVersion": {
9494
- "description": "*libui-based frameworks only* The version of LaunchUI you are packaging for. Applicable for Windows only. Defaults to version suitable for used framework version.",
9495
- "type": [
9496
- "null",
9497
- "string",
9498
- "boolean"
9499
- ]
9500
- },
9501
9193
  "linux": {
9502
9194
  "anyOf": [
9503
9195
  {
@@ -9518,7 +9210,7 @@
9518
9210
  "type": "null"
9519
9211
  }
9520
9212
  ],
9521
- "description": "Options related to how build macOS targets."
9213
+ "description": "macOS-specific build options (signing, entitlements, notarization, target categories, etc.)."
9522
9214
  },
9523
9215
  "mas": {
9524
9216
  "anyOf": [
@@ -9529,7 +9221,7 @@
9529
9221
  "type": "null"
9530
9222
  }
9531
9223
  ],
9532
- "description": "MAS (Mac Application Store) options."
9224
+ "description": "macOS App Store (MAS) submission options."
9533
9225
  },
9534
9226
  "masDev": {
9535
9227
  "anyOf": [
@@ -9540,7 +9232,7 @@
9540
9232
  "type": "null"
9541
9233
  }
9542
9234
  ],
9543
- "description": "MAS (Mac Application Store) development options (`mas-dev` target)."
9235
+ "description": "macOS App Store development-signing options (`mas-dev` target).\nUsed for local testing of MAS builds without submitting to the store."
9544
9236
  },
9545
9237
  "msi": {
9546
9238
  "anyOf": [
@@ -9551,7 +9243,7 @@
9551
9243
  "type": "null"
9552
9244
  }
9553
9245
  ],
9554
- "description": "MSI package options."
9246
+ "description": "WiX-based MSI installer options.\n\nProduces a traditional `.msi` package built with the WiX Toolset. Best for enterprise\ndeployments that require MSI-based installation policies."
9555
9247
  },
9556
9248
  "msiProjectCreated": {
9557
9249
  "anyOf": [
@@ -9565,7 +9257,7 @@
9565
9257
  ]
9566
9258
  }
9567
9259
  ],
9568
- "description": "The function (or path to file or module id) to be run after MSI project created on disk - not packed into .msi package yet."
9260
+ "description": "Called after the WiX MSI project XML has been written to a temporary directory but before\n`candle.exe` / `light.exe` compile it into a `.msi` package.\n\nThe hook receives the path to the project directory as a string. Use it to patch the generated\n`.wxs` files for customizations not exposed through electron-builder's options."
9569
9261
  },
9570
9262
  "msiWrapped": {
9571
9263
  "anyOf": [
@@ -9576,36 +9268,18 @@
9576
9268
  "type": "null"
9577
9269
  }
9578
9270
  ],
9579
- "description": "MSI-wrapped installer options."
9271
+ "description": "MSI-wrapped NSIS installer options.\n\nWraps the standard NSIS installer inside an MSI package so that it can be deployed via\nGroup Policy or other MSI-only channels while preserving the NSIS installer UX."
9580
9272
  },
9581
- "nativeRebuilder": {
9273
+ "nativeModules": {
9582
9274
  "anyOf": [
9583
9275
  {
9584
- "enum": [
9585
- "legacy",
9586
- "parallel",
9587
- "sequential"
9588
- ],
9589
- "type": "string"
9276
+ "$ref": "#/definitions/NativeModulesConfig"
9590
9277
  },
9591
9278
  {
9592
9279
  "type": "null"
9593
9280
  }
9594
9281
  ],
9595
- "default": "sequential",
9596
- "description": "Use `legacy` app-builder binary for installing native dependencies, or `@electron/rebuild` in `sequential` or `parallel` compilation modes."
9597
- },
9598
- "nodeGypRebuild": {
9599
- "default": false,
9600
- "description": "Whether to execute `node-gyp rebuild` before starting to package the app.\n\nDon't [use](https://github.com/electron-userland/electron-builder/issues/683#issuecomment-241214075) [npm](http://electron.atom.io/docs/tutorial/using-native-node-modules/#using-npm) (neither `.npmrc`) for configuring electron headers. Use `electron-builder node-gyp-rebuild` instead.",
9601
- "type": "boolean"
9602
- },
9603
- "nodeVersion": {
9604
- "description": "*libui-based frameworks only* The version of NodeJS you are packaging for.\nYou can set it to `current` to set the Node.js version that you use to run.",
9605
- "type": [
9606
- "null",
9607
- "string"
9608
- ]
9282
+ "description": "Configuration for native Node.js module installation and rebuilding.\n\nGroups all options that control how electron-builder handles native modules — from forcing\nsource builds during install through to the `@electron/rebuild` compilation mode."
9609
9283
  },
9610
9284
  "npmArgs": {
9611
9285
  "anyOf": [
@@ -9622,12 +9296,7 @@
9622
9296
  ]
9623
9297
  }
9624
9298
  ],
9625
- "description": "Additional command line arguments to use when installing app native deps."
9626
- },
9627
- "npmRebuild": {
9628
- "default": true,
9629
- "description": "Whether to [rebuild](https://docs.npmjs.com/cli/rebuild) native dependencies before starting to package the app.",
9630
- "type": "boolean"
9299
+ "description": "Additional command-line arguments appended to the package manager's `install` command when\nelectron-builder installs app dependencies (i.e., when `node_modules` is missing and a fresh\ninstall is required).\n\nThese arguments are appended **only** during the install phase, not during the rebuild phase.\nTo influence `@electron/rebuild` directly, see {@link NativeModulesConfig.rebuildMode}."
9631
9300
  },
9632
9301
  "nsis": {
9633
9302
  "anyOf": [
@@ -9638,7 +9307,7 @@
9638
9307
  "type": "null"
9639
9308
  }
9640
9309
  ],
9641
- "description": "NSIS installer options."
9310
+ "description": "NSIS one-click installer options.\n\nNSIS (Nullsoft Scriptable Install System) is the default Windows installer format produced by\nelectron-builder. It generates a lightweight, self-extracting `.exe` installer."
9642
9311
  },
9643
9312
  "nsisWeb": {
9644
9313
  "anyOf": [
@@ -9649,7 +9318,7 @@
9649
9318
  "type": "null"
9650
9319
  }
9651
9320
  ],
9652
- "description": "NSIS web installer options (downloads app package at install time)."
9321
+ "description": "NSIS web installer options.\n\nLike the standard NSIS installer but the app payload is downloaded from a remote URL at install\ntime rather than bundled into the `.exe`. Useful for very large apps or staged rollouts."
9653
9322
  },
9654
9323
  "onNodeModuleFile": {
9655
9324
  "anyOf": [
@@ -9663,7 +9332,7 @@
9663
9332
  ]
9664
9333
  }
9665
9334
  ],
9666
- "description": "The function (or path to file or module id) to be [run on each node module](#onnodemodulefile) file. Returning `true`/`false` will determine whether to force include or to use the default copier logic"
9335
+ "description": "Called for every file inside each `node_modules` package directory as electron-builder\ndecides whether to include it in the packaged app.\n\nReturn `true` to force-include the file regardless of the default exclusion rules.\nReturn `false` or `undefined` to let electron-builder apply its normal filtering logic.\n\nReceives the absolute path of the file as a string."
9667
9336
  },
9668
9337
  "p5p": {
9669
9338
  "anyOf": [
@@ -9674,7 +9343,7 @@
9674
9343
  "type": "null"
9675
9344
  }
9676
9345
  ],
9677
- "description": "Solaris IPS package options. Produces a `.p5p` archive for the Solaris Image Packaging\nSystem (`pkg`)."
9346
+ "description": "Solaris IPS package options.\n\nProduces a `.p5p` archive for the Solaris Image Packaging System (`pkg`)."
9678
9347
  },
9679
9348
  "pacman": {
9680
9349
  "anyOf": [
@@ -9685,7 +9354,7 @@
9685
9354
  "type": "null"
9686
9355
  }
9687
9356
  ],
9688
- "description": "Pacman package options. Targets Arch Linux and Arch-based distributions\n(Manjaro, EndeavourOS, etc.). Produces a `.pacman` archive installable via `pacman -U`."
9357
+ "description": "Pacman package options.\n\nTargets Arch Linux and Arch-based distributions (Manjaro, EndeavourOS, etc.).\nProduces a `.pacman` archive installable via `pacman -U ./package.pacman`."
9689
9358
  },
9690
9359
  "pkg": {
9691
9360
  "anyOf": [
@@ -9696,7 +9365,7 @@
9696
9365
  "type": "null"
9697
9366
  }
9698
9367
  ],
9699
- "description": "macOS PKG options."
9368
+ "description": "macOS PKG flat-package installer options."
9700
9369
  },
9701
9370
  "portable": {
9702
9371
  "anyOf": [
@@ -9707,10 +9376,10 @@
9707
9376
  "type": "null"
9708
9377
  }
9709
9378
  ],
9710
- "description": "Portable executable options (no installation required)."
9379
+ "description": "Portable executable options.\n\nProduces a single `.exe` that requires no installation — it extracts and runs directly."
9711
9380
  },
9712
9381
  "productName": {
9713
- "description": "As [name](#metadata), but allows you to specify a product name for your executable which contains spaces and other special characters not allowed in the [name property](https://docs.npmjs.com/files/package.json#name).\nIf not specified inside of the `build` configuration, `productName` property defined at the top level of `package.json` is used. If not specified at the top level of `package.json`, [name property](https://docs.npmjs.com/files/package.json#name) is used.",
9382
+ "description": "The human-readable product name displayed in installers, the macOS dock, and the Windows\nApps & Features list.\n\nUnlike the `name` field in `package.json`, this value may contain spaces and other characters\nthat are not allowed in npm package names.\n\nResolution order:\n1. `productName` inside the `build` configuration block.\n2. `productName` at the top level of `package.json`.\n3. `name` at the top level of `package.json`.",
9714
9383
  "type": [
9715
9384
  "null",
9716
9385
  "string"
@@ -9780,12 +9449,12 @@
9780
9449
  },
9781
9450
  "removePackageKeywords": {
9782
9451
  "default": true,
9783
- "description": "Whether to remove `keywords` field from `package.json` files.",
9452
+ "description": "Whether to remove the `keywords` field from bundled `package.json` files.\n\nThe `keywords` array is only meaningful for package registry discoverability and has no\nruntime value inside a packaged Electron app. Removing it marginally reduces artifact size.",
9784
9453
  "type": "boolean"
9785
9454
  },
9786
9455
  "removePackageScripts": {
9787
9456
  "default": true,
9788
- "description": "Whether to remove `scripts` field from `package.json` files.",
9457
+ "description": "Whether to remove the `scripts` field from bundled `package.json` files.\n\nLifecycle scripts (`preinstall`, `postinstall`, etc.) have no meaning inside a packaged\nElectron app and can trigger unintended behaviour if any tooling inspects the bundled\n`package.json`. Removing them reduces artifact size and prevents accidental execution.",
9789
9458
  "type": "boolean"
9790
9459
  },
9791
9460
  "rpm": {
@@ -9797,18 +9466,7 @@
9797
9466
  "type": "null"
9798
9467
  }
9799
9468
  ],
9800
- "description": "RPM package options. Targets Fedora, Red Hat Enterprise Linux, SUSE, and related\ndistributions. Produces a `.rpm` archive installable via `rpm` or `dnf`."
9801
- },
9802
- "snap": {
9803
- "anyOf": [
9804
- {
9805
- "$ref": "#/definitions/SnapOptions"
9806
- },
9807
- {
9808
- "type": "null"
9809
- }
9810
- ],
9811
- "description": "Flat snap configuration targeting core22 and older snap bases."
9469
+ "description": "RPM package options.\n\nTargets Fedora, Red Hat Enterprise Linux, SUSE, and RPM-based distributions.\nProduces a `.rpm` archive installable via `rpm -i` or `dnf install ./package.rpm`."
9812
9470
  },
9813
9471
  "snapcraft": {
9814
9472
  "anyOf": [
@@ -9819,7 +9477,7 @@
9819
9477
  "type": "null"
9820
9478
  }
9821
9479
  ],
9822
- "description": "Snapcraft configuration. Prefer this over the deprecated `snap` field.\n\nSelects the snapcraft base and provides per-core options:\n- `base: \"core18\" | \"core20\" | \"core22\"` — legacy builds; accepts the same options as `snap`\n- `base: \"core24\"` — modern builds with the GNOME extension (recommended for new apps, requires Electron 25+)\n- `base: \"custom\"` — pass an existing `snapcraft.yaml` through unchanged; no plugs, extensions,\n or desktop files are injected\n\nWhen both `snapcraft` and `snap` are set, `snapcraft` takes precedence."
9480
+ "description": "Snapcraft configuration.\n\nSelects the snapcraft base and provides per-core options:\n- `base: \"core18\" | \"core20\" | \"core22\"` — legacy bases; still functional but not recommended\n for new apps.\n- `base: \"core24\"` — modern base with the GNOME extension (recommended, requires Electron 25+).\n- `base: \"custom\"` — pass an existing `snapcraft.yaml` through unchanged; no plugs, extensions,\n or desktop files are injected."
9823
9481
  },
9824
9482
  "squirrelWindows": {
9825
9483
  "anyOf": [
@@ -9830,7 +9488,7 @@
9830
9488
  "type": "null"
9831
9489
  }
9832
9490
  ],
9833
- "description": "Squirrel.Windows installer options. Requires the `electron-builder-squirrel-windows` dependency."
9491
+ "description": "Squirrel.Windows auto-update installer options.\n\nRequires the `electron-builder-squirrel-windows` optional dependency."
9834
9492
  },
9835
9493
  "target": {
9836
9494
  "anyOf": [
@@ -9868,7 +9526,7 @@
9868
9526
  "type": "null"
9869
9527
  }
9870
9528
  ],
9871
- "description": "Configuration of toolsets utilized by electron-builder"
9529
+ "description": "Pinned versions of the binary toolsets electron-builder downloads and uses internally.\n\nEach property selects a specific release of the corresponding tool bundle. Set a property to\n`\"0.0.0\"` to force the legacy bundle (pre-v27 behaviour). Leave a property unset (or set to\n`null`) to use the modern default for that toolset."
9872
9530
  },
9873
9531
  "win": {
9874
9532
  "anyOf": [
@@ -9879,7 +9537,7 @@
9879
9537
  "type": "null"
9880
9538
  }
9881
9539
  ],
9882
- "description": "Options related to how build Windows targets."
9540
+ "description": "Windows-specific build options (signing, NSIS, icon, file associations, etc.)."
9883
9541
  },
9884
9542
  "$schema": {
9885
9543
  "description": "JSON Schema for this document.",