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
@@ -1,39 +0,0 @@
1
- import { LinuxPackager } from "../../linuxPackager";
2
- import { RemoteBuildOptions } from "../../options/SnapOptions";
3
- import { SnapcraftYAML } from "./snapcraft";
4
- export declare const SNAPCRAFT_YAML_OPTIONS: {
5
- readonly indent: 2;
6
- readonly lineWidth: -1;
7
- readonly noRefs: true;
8
- };
9
- export declare const DEFAULT_STAGE_PACKAGES: string[];
10
- interface BuildSnapOptions {
11
- /** The snapcraft YAML configuration */
12
- snapcraftConfig: SnapcraftYAML;
13
- /** Working directory where snapcraft.yaml is written and the build executes */
14
- stageDir: string;
15
- /** Whether to use remote build (builds on Launchpad) */
16
- remoteBuild?: RemoteBuildOptions;
17
- /** Whether to use LXD for local builds */
18
- useLXD?: boolean;
19
- /** Whether to use Multipass for local builds */
20
- useMultipass?: boolean;
21
- /** Whether to use destructive mode (builds directly on host, Linux only) */
22
- useDestructiveMode?: boolean;
23
- /** The snap output path */
24
- artifactPath: string;
25
- /** LinuxPackager instance, used to resolve workspace dir for remote build authentication */
26
- packager: LinuxPackager;
27
- /** Snap Store credentials from SnapcraftOptions root — base64 string or file path */
28
- cscLink?: string;
29
- }
30
- /**
31
- * Builds a snap package from SnapcraftYAML configuration.
32
- *
33
- * `SNAPCRAFT_NO_NETWORK` is intentionally **not** forced to `"1"` here.
34
- * All build modes (destructive-mode, LXD, Multipass, remote) require network
35
- * access to download stage-packages, the base image, and extensions.
36
- * To opt into an offline build, set `SNAPCRAFT_NO_NETWORK=1` in your environment.
37
- */
38
- export declare function buildSnap(options: BuildSnapOptions): Promise<string>;
39
- export {};
@@ -1,419 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_STAGE_PACKAGES = exports.SNAPCRAFT_YAML_OPTIONS = void 0;
4
- exports.buildSnap = buildSnap;
5
- const builder_util_1 = require("builder-util");
6
- const childProcess = require("child_process");
7
- const crypto_1 = require("crypto");
8
- const electron_publish_1 = require("electron-publish");
9
- const fs_extra_1 = require("fs-extra");
10
- const path = require("path");
11
- const util = require("util");
12
- const builder_util_runtime_1 = require("builder-util-runtime");
13
- const execAsync = util.promisify(childProcess.exec);
14
- exports.SNAPCRAFT_YAML_OPTIONS = { indent: 2, lineWidth: -1, noRefs: true };
15
- exports.DEFAULT_STAGE_PACKAGES = ["libnspr4", "libnss3", "libxss1", "libappindicator3-1", "libsecret-1-0"];
16
- /**
17
- * Validates snapcraft.yaml using snapcraft's built-in `expand-extensions` command.
18
- * Throws on failure. The caller in `buildSnap` catches this and treats it as a non-fatal warning.
19
- */
20
- async function validateSnapcraftYamlWithCLI(workDir) {
21
- try {
22
- const { stdout } = await execAsync("snapcraft expand-extensions", {
23
- cwd: workDir,
24
- timeout: 30000,
25
- });
26
- builder_util_1.log.debug({ expandedYaml: stdout }, "validated extended snapcraft.yaml");
27
- }
28
- catch (error) {
29
- builder_util_1.log.error({ error: error.message, stderr: error.stderr }, "snapcraft.yaml validation failed");
30
- throw new Error(`Invalid snapcraft.yaml: ${error.message}\n` +
31
- `Snapcraft output: ${error.stderr || error.stdout || "No output"}\n` +
32
- `Run 'snapcraft expand-extensions' in ${workDir} for more details`);
33
- }
34
- }
35
- /**
36
- * Validates snapcraft.yaml configuration with basic client-side checks
37
- * This is a fast pre-check before running the full CLI validation
38
- */
39
- function validateSnapcraftConfig(config) {
40
- const errors = [];
41
- const warnings = [];
42
- // Required fields
43
- if (!config.name) {
44
- errors.push("name is required");
45
- }
46
- if (!config.base) {
47
- errors.push("base is required");
48
- }
49
- if (!config.confinement) {
50
- errors.push("confinement is required");
51
- }
52
- if (!config.parts || Object.keys(config.parts).length === 0) {
53
- errors.push("at least one part is required");
54
- }
55
- // Name validation
56
- if (config.name) {
57
- if (!/^[a-z0-9-]*$/.test(config.name)) {
58
- errors.push("name must only contain lowercase letters, numbers, and hyphens");
59
- }
60
- if (config.name.length > 40) {
61
- errors.push("name must be 40 characters or less");
62
- }
63
- if (config.name.startsWith("-") || config.name.endsWith("-")) {
64
- errors.push("name cannot start or end with a hyphen");
65
- }
66
- }
67
- // Parts validation
68
- Object.entries(config.parts).forEach(([partName, part]) => {
69
- if (!part.plugin) {
70
- errors.push(`part '${partName}' missing required 'plugin' field`);
71
- }
72
- });
73
- // Apps validation
74
- if (config.apps) {
75
- Object.entries(config.apps).forEach(([appName, app]) => {
76
- if (!app.command) {
77
- errors.push(`app '${appName}' missing required 'command' field`);
78
- }
79
- });
80
- }
81
- // Summary validation
82
- if (config.summary && config.summary.length > 78) {
83
- warnings.push(`summary is ${config.summary.length} characters (recommended: 78 or less)`);
84
- }
85
- // Log results
86
- if (errors.length > 0) {
87
- builder_util_1.log.error({ errors }, "snapcraft.yaml validation failed");
88
- throw new builder_util_1.InvalidConfigurationError(`Invalid snapcraft.yaml: ${errors.join(", ")}`);
89
- }
90
- if (warnings.length > 0) {
91
- builder_util_1.log.warn({ warnings }, "snapcraft.yaml validation warnings");
92
- }
93
- }
94
- /**
95
- * Retry wrapper for operations that may fail transiently
96
- */
97
- async function executeWithRetry(fn, options = {}) {
98
- var _a;
99
- const { maxRetries = 3, retryDelay = 5000, retryableErrors = ["network timeout", "connection refused", "temporary failure", "snap store error"] } = options;
100
- let lastError;
101
- for (let attempt = 1; attempt <= maxRetries; attempt++) {
102
- try {
103
- return await fn();
104
- }
105
- catch (error) {
106
- lastError = error;
107
- const errorMessage = ((_a = error.message) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || "";
108
- const isRetryable = retryableErrors.some(pattern => errorMessage.includes(pattern));
109
- if (attempt < maxRetries && isRetryable) {
110
- builder_util_1.log.warn({ attempt, maxRetries, error: error.message, retryIn: retryDelay }, "build failed with retryable error, retrying...");
111
- await new Promise(resolve => setTimeout(resolve, retryDelay));
112
- }
113
- else {
114
- break;
115
- }
116
- }
117
- }
118
- throw lastError;
119
- }
120
- /**
121
- * Cleans up build artifacts
122
- */
123
- async function cleanupBuildArtifacts(workDir) {
124
- const artifactsToClean = ["parts", "stage", "prime"];
125
- for (const artifact of artifactsToClean) {
126
- const artifactPath = path.join(workDir, artifact);
127
- try {
128
- await (0, fs_extra_1.remove)(artifactPath);
129
- builder_util_1.log.debug({ artifact }, "cleaned build artifact");
130
- }
131
- catch (e) {
132
- builder_util_1.log.debug({ artifact, error: e.message }, "no build artifact to clean");
133
- }
134
- }
135
- try {
136
- const files = await (0, fs_extra_1.readdir)(workDir);
137
- for (const file of files) {
138
- if (file.endsWith(".snap")) {
139
- await (0, fs_extra_1.remove)(path.join(workDir, file));
140
- builder_util_1.log.debug({ file }, "cleaned snap file");
141
- }
142
- }
143
- }
144
- catch (e) {
145
- builder_util_1.log.debug({ error: e.message }, "no snap files to clean");
146
- }
147
- }
148
- async function copySnapToArtifactPath(workDir, outputBasename, outputFileName) {
149
- const snapInWorkDir = path.join(workDir, outputBasename);
150
- if (snapInWorkDir !== outputFileName) {
151
- await (0, fs_extra_1.ensureDir)(path.dirname(outputFileName));
152
- await (0, fs_extra_1.copyFile)(snapInWorkDir, outputFileName);
153
- builder_util_1.log.debug({ from: snapInWorkDir, to: outputFileName }, "copied snap from build dir to artifact path");
154
- }
155
- return outputFileName;
156
- }
157
- /**
158
- * Builds a snap package from SnapcraftYAML configuration.
159
- *
160
- * `SNAPCRAFT_NO_NETWORK` is intentionally **not** forced to `"1"` here.
161
- * All build modes (destructive-mode, LXD, Multipass, remote) require network
162
- * access to download stage-packages, the base image, and extensions.
163
- * To opt into an offline build, set `SNAPCRAFT_NO_NETWORK=1` in your environment.
164
- */
165
- async function buildSnap(options) {
166
- const { SNAPCRAFT_NO_NETWORK } = process.env;
167
- const { snapcraftConfig, artifactPath, remoteBuild, stageDir, useLXD = false, useMultipass = false, useDestructiveMode = false, cscLink } = options;
168
- const isolatedEnv = {
169
- ...(SNAPCRAFT_NO_NETWORK != null ? { SNAPCRAFT_NO_NETWORK } : {}),
170
- };
171
- if (useDestructiveMode) {
172
- isolatedEnv.SNAPCRAFT_BUILD_ENVIRONMENT = "host";
173
- }
174
- if (useLXD && process.platform !== "linux") {
175
- throw new builder_util_1.InvalidConfigurationError(`useLXD is only supported on Linux. On ${process.platform}, use useMultipass or remoteBuild instead.`);
176
- }
177
- if (useDestructiveMode && process.platform !== "linux") {
178
- throw new builder_util_1.InvalidConfigurationError(`useDestructiveMode is only supported on Linux (requires Ubuntu 24.04 host for core24). On ${process.platform}, use useMultipass or remoteBuild instead.`);
179
- }
180
- // Config validation — throws InvalidConfigurationError, no build artifacts exist yet.
181
- validateSnapcraftConfig(snapcraftConfig);
182
- try {
183
- await validateSnapcraftYamlWithCLI(stageDir);
184
- }
185
- catch (validationError) {
186
- builder_util_1.log.warn({ error: validationError.message }, "snapcraft CLI pre-validation failed (non-fatal), continuing build");
187
- }
188
- await ensureSnapcraftInstalled();
189
- // Inject credentials for all build modes from snapcraft.cscLink / SNAP_CSC_LINK.
190
- const credEnv = await (0, electron_publish_1.resolveSnapCredentials)(cscLink, options.packager.buildResourcesDir);
191
- (0, builder_util_runtime_1.deepAssign)(isolatedEnv, credEnv);
192
- if (remoteBuild === null || remoteBuild === void 0 ? void 0 : remoteBuild.enabled) {
193
- // Remote-build auth does additional checks (interactive session, throws on missing creds)
194
- // and overrides any credential already set above.
195
- const authEnv = await ensureRemoteBuildAuthentication(cscLink, options.packager.buildResourcesDir);
196
- (0, builder_util_runtime_1.deepAssign)(isolatedEnv, authEnv);
197
- }
198
- const projectAppDir = path.join(stageDir, "app");
199
- if (!(await (0, fs_extra_1.pathExists)(projectAppDir))) {
200
- throw new builder_util_1.InvalidConfigurationError(`snap build failed: expected app directory not found at ${projectAppDir}`);
201
- }
202
- builder_util_1.log.debug({ appFiles: (await (0, fs_extra_1.readdir)(projectAppDir)).slice(0, 20) }, "app directory contents (truncated)");
203
- if (!(remoteBuild === null || remoteBuild === void 0 ? void 0 : remoteBuild.enabled) && !useLXD && !useMultipass && !useDestructiveMode && process.platform !== "linux") {
204
- throw new builder_util_1.InvalidConfigurationError(`No snap build environment specified for ${process.platform}. Set one of: useMultipass, useLXD (Linux only), useDestructiveMode (Linux only), or remoteBuild.enabled`);
205
- }
206
- // Actual build — only this step can leave partial artifacts that need cleanup.
207
- try {
208
- return await executeWithRetry(() => executeSnapcraftBuild({
209
- workDir: stageDir,
210
- remoteBuild,
211
- outputSnap: artifactPath,
212
- useLXD,
213
- useMultipass,
214
- useDestructiveMode,
215
- isolatedEnv: isolatedEnv,
216
- }), { maxRetries: (remoteBuild === null || remoteBuild === void 0 ? void 0 : remoteBuild.enabled) ? 3 : 1, retryDelay: 10000 });
217
- }
218
- catch (error) {
219
- builder_util_1.log.error({ error: error.message }, "snap build failed");
220
- await cleanupBuildArtifacts(stageDir).catch((cleanupError) => {
221
- builder_util_1.log.warn({ error: cleanupError.message }, "failed to cleanup build artifacts");
222
- });
223
- throw error;
224
- }
225
- }
226
- /**
227
- * Ensures snapcraft is installed on the system
228
- */
229
- async function ensureSnapcraftInstalled() {
230
- try {
231
- const { stdout } = await execAsync("snapcraft --version");
232
- builder_util_1.log.info({ version: stdout.trim() }, "snapcraft found");
233
- }
234
- catch (error) {
235
- builder_util_1.log.error({ error: error.message }, "snapcraft is not installed");
236
- const platform = process.platform;
237
- if (platform === "linux") {
238
- builder_util_1.log.error(null, "Install with: sudo snap install snapcraft --classic");
239
- }
240
- else if (platform === "darwin") {
241
- builder_util_1.log.error(null, "Install snapcraft with: pip3 install snapcraft");
242
- builder_util_1.log.error(null, "On macOS, useMultipass or remoteBuild are the only supported build modes for core24");
243
- }
244
- else if (platform === "win32") {
245
- builder_util_1.log.error(null, "Install snapcraft via WSL2 or use remote-build");
246
- builder_util_1.log.error(null, "See: https://snapcraft.io/docs/snapcraft-overview");
247
- }
248
- throw new builder_util_1.InvalidConfigurationError("snapcraft not found - please install snapcraft to continue");
249
- }
250
- }
251
- /**
252
- * Resolves Snapcraft Store authentication for remote builds and returns the credential
253
- * env entries to inject. Returns an empty map when snapcraft can authenticate itself
254
- * (interactive session). Throws when no credential source is found.
255
- */
256
- async function ensureRemoteBuildAuthentication(cscLink, resourcesDir) {
257
- var _a;
258
- builder_util_1.log.debug(null, "resolving remote build authentication...");
259
- // 1. snapcraft.cscLink / SNAP_CSC_LINK — config-level or env credential (base64 or file path).
260
- // resolveSnapCredentials already ran for all build modes; re-run here so remote-build
261
- // gets the same result and the interactive-session fallback is only reached when neither is set.
262
- const credEnv = await (0, electron_publish_1.resolveSnapCredentials)(cscLink, resourcesDir);
263
- if (Object.keys(credEnv).length > 0) {
264
- return credEnv;
265
- }
266
- // 2. SNAPCRAFT_STORE_CREDENTIALS env var — directly provide the credentials string (not base64-encoded).
267
- const SNAPCRAFT_STORE_CREDENTIALS = (_a = process.env.SNAPCRAFT_STORE_CREDENTIALS) === null || _a === void 0 ? void 0 : _a.trim();
268
- if (!(0, builder_util_1.isEmptyOrSpaces)(SNAPCRAFT_STORE_CREDENTIALS)) {
269
- builder_util_1.log.debug(null, "using SNAPCRAFT_STORE_CREDENTIALS from environment, verbatim");
270
- return { SNAPCRAFT_STORE_CREDENTIALS };
271
- }
272
- // 3. Interactive snapcraft session.
273
- try {
274
- const { stdout } = await execAsync("snapcraft whoami");
275
- if (stdout.includes("email:")) {
276
- builder_util_1.log.debug({ account: stdout.trim() }, "already authenticated with snapcraft");
277
- return {};
278
- }
279
- }
280
- catch {
281
- // Not logged in, fall through to error.
282
- }
283
- throw new builder_util_1.InvalidConfigurationError("Snapcraft authentication required for remote build.\n" +
284
- "Authenticate with one of any:\n" +
285
- " 1. Set SNAP_CSC_LINK\n" +
286
- " 2. Set snapcraft.cscLink in your build config\n" +
287
- " 3. Run: snapcraft login\n" +
288
- " 4. Set SNAPCRAFT_STORE_CREDENTIALS environment variable directly");
289
- }
290
- /**
291
- * Executes the snapcraft build command
292
- */
293
- async function executeSnapcraftBuild(options) {
294
- const { workDir, outputSnap: outputFileName, remoteBuild, useLXD, useMultipass, useDestructiveMode, isolatedEnv } = options;
295
- let processedEnv = { ...(0, builder_util_1.stripSensitiveEnvVars)(process.env), ...isolatedEnv };
296
- // Use a UUID-based temp name as the --output target so the copy below doesn't
297
- // depend on snapcraft's naming convention (which always uses underscores).
298
- const tmpSnap = `eb-snap-${(0, crypto_1.randomUUID)().replace(/-/g, "")}.snap`;
299
- if (useDestructiveMode && !(remoteBuild === null || remoteBuild === void 0 ? void 0 : remoteBuild.enabled)) {
300
- return await runDestructiveBuild(workDir, processedEnv, tmpSnap, outputFileName);
301
- }
302
- const command = "snapcraft";
303
- const args = [];
304
- if (remoteBuild === null || remoteBuild === void 0 ? void 0 : remoteBuild.enabled) {
305
- const remoteBuildArgs = generateRemoteBuildArgs(remoteBuild, workDir);
306
- // Remote build on Launchpad (works from any platform)
307
- args.push(...remoteBuildArgs.args);
308
- processedEnv = { ...processedEnv, ...remoteBuildArgs.isolatedEnv };
309
- }
310
- else {
311
- // `snapcraft pack` runs the full lifecycle (pull → build → stage → prime → pack).
312
- // snapcraft 8.x removed --use-multipass entirely; Multipass is now configured
313
- // via the SNAPCRAFT_BUILD_ENVIRONMENT env var (or auto-selected on macOS).
314
- // --use-lxd remains a supported CLI flag on `pack`.
315
- args.push("pack");
316
- if (useLXD) {
317
- args.push("--use-lxd");
318
- builder_util_1.log.debug(null, "using LXD for build");
319
- }
320
- else if (useMultipass) {
321
- processedEnv.SNAPCRAFT_BUILD_ENVIRONMENT = "multipass";
322
- builder_util_1.log.debug(null, "using Multipass for build (via SNAPCRAFT_BUILD_ENVIRONMENT)");
323
- }
324
- else {
325
- args.push("--output", tmpSnap);
326
- }
327
- }
328
- if (builder_util_1.log.isDebugEnabled) {
329
- args.push("--verbose");
330
- }
331
- builder_util_1.log.info({ workDir: builder_util_1.log.filePath(workDir) }, "executing snapcraft");
332
- await (0, builder_util_1.spawn)(command, args, {
333
- cwd: workDir,
334
- env: processedEnv,
335
- });
336
- if ((remoteBuild === null || remoteBuild === void 0 ? void 0 : remoteBuild.enabled) || useLXD || useMultipass) {
337
- // snapcraft names the output snap itself (e.g. <name>_<version>_<arch>.snap).
338
- // Each electron-builder build invocation targets exactly one arch, so exactly one snap is expected.
339
- const files = await (0, fs_extra_1.readdir)(workDir);
340
- const builtSnap = files.find(f => f.endsWith(".snap"));
341
- if (!builtSnap) {
342
- throw new Error(`Build succeeded but no .snap file found in ${workDir}`);
343
- }
344
- return copySnapToArtifactPath(workDir, builtSnap, outputFileName);
345
- }
346
- return copySnapToArtifactPath(workDir, tmpSnap, outputFileName);
347
- }
348
- function generateRemoteBuildArgs(remoteBuild, workDir) {
349
- const isolatedEnv = {};
350
- const args = ["remote-build"];
351
- builder_util_1.log.debug(null, "using remote-build (Launchpad)");
352
- // Add remote build specific options
353
- if (remoteBuild.launchpadUsername) {
354
- args.push("--user", remoteBuild.launchpadUsername);
355
- }
356
- if (remoteBuild.acceptPublicUpload) {
357
- args.push("--launchpad-accept-public-upload");
358
- }
359
- else {
360
- builder_util_1.log.warn(null, "your project will be publicly uploaded to Launchpad. Use `acceptPublicUpload: true` to suppress this warning");
361
- }
362
- if (remoteBuild.privateProject) {
363
- args.push("--project", remoteBuild.privateProject);
364
- builder_util_1.log.debug({ project: remoteBuild.privateProject }, "using private Launchpad project");
365
- }
366
- if (remoteBuild.buildFor) {
367
- args.push("--build-for", remoteBuild.buildFor);
368
- builder_util_1.log.debug({ arch: remoteBuild.buildFor }, "building for architecture");
369
- }
370
- if (remoteBuild.recover) {
371
- args.push("--recover");
372
- builder_util_1.log.debug(null, "recovering previous build");
373
- }
374
- if (remoteBuild.strategy) {
375
- isolatedEnv.SNAPCRAFT_REMOTE_BUILD_STRATEGY = remoteBuild.strategy;
376
- }
377
- if (remoteBuild.timeout) {
378
- args.push("--timeout", String(remoteBuild.timeout));
379
- builder_util_1.log.debug({ timeout: `${remoteBuild.timeout}s` }, "build timeout configured");
380
- }
381
- // Remote-build downloads the finished snap into workDir.
382
- // --output-dir (not --output <file>) lets snapcraft name the file itself.
383
- args.push("--output-dir", workDir);
384
- return { args, isolatedEnv };
385
- }
386
- // Snapcraft 8 (craft-application) hangs after a successful destructive-mode
387
- // build in containerised environments (Docker/CI without snapd running).
388
- // craft-application's PackageService teardown tries to reach
389
- // /run/snapd-snap.socket (snapctl IPC) which doesn't exist without a live
390
- // snapd daemon — causing an indefinite block.
391
- //
392
- // Work-around: split into two steps:
393
- // 1. `snapcraft prime --destructive-mode` — runs pull/build/stage/prime,
394
- // exits cleanly (no post-pack teardown executed).
395
- // 2. `snapcraft pack <primeDir>` — packs the pre-primed directory without
396
- // running the full build lifecycle, avoiding the problematic teardown.
397
- async function runDestructiveBuild(workDir, processedEnv, tmpSnap, outputFileName) {
398
- const primeArgs = ["prime", "--destructive-mode"];
399
- if (builder_util_1.log.isDebugEnabled) {
400
- primeArgs.push("--verbose");
401
- }
402
- builder_util_1.log.info({ command: `snapcraft ${primeArgs.join(" ")}`, workDir: builder_util_1.log.filePath(workDir) }, "snapcraft prime (1/2)");
403
- await (0, builder_util_1.spawn)("snapcraft", primeArgs, {
404
- cwd: workDir,
405
- env: processedEnv,
406
- });
407
- const primeDir = path.join(workDir, "prime");
408
- const snapcraftPackArgs = ["pack", "--output", tmpSnap, primeDir];
409
- if (builder_util_1.log.isDebugEnabled) {
410
- snapcraftPackArgs.push("--verbose");
411
- }
412
- builder_util_1.log.info({ command: `snapcraft ${snapcraftPackArgs.join(" ")}`, workDir: builder_util_1.log.filePath(workDir) }, "snapcraft pack prime dir (2/2)");
413
- await (0, builder_util_1.spawn)("snapcraft", snapcraftPackArgs, {
414
- cwd: workDir,
415
- env: processedEnv,
416
- });
417
- return copySnapToArtifactPath(workDir, tmpSnap, outputFileName);
418
- }
419
- //# sourceMappingURL=snapcraftBuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapcraftBuilder.js","sourceRoot":"","sources":["../../../src/targets/snap/snapcraftBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import { InvalidConfigurationError, isEmptyOrSpaces, log, spawn, stripSensitiveEnvVars } from \"builder-util\"\nimport * as childProcess from \"child_process\"\nimport { randomUUID } from \"crypto\"\nimport { resolveSnapCredentials } from \"electron-publish\"\nimport { copyFile, ensureDir, pathExists, readdir, remove } from \"fs-extra\"\nimport * as path from \"path\"\nimport * as util from \"util\"\nimport { LinuxPackager } from \"../../linuxPackager\"\nimport { RemoteBuildOptions } from \"../../options/SnapOptions\"\nimport { SnapcraftYAML } from \"./snapcraft\"\nimport { deepAssign } from \"builder-util-runtime\"\n\nconst execAsync = util.promisify(childProcess.exec)\n\nexport const SNAPCRAFT_YAML_OPTIONS = { indent: 2, lineWidth: -1, noRefs: true } as const\nexport const DEFAULT_STAGE_PACKAGES: string[] = [\"libnspr4\", \"libnss3\", \"libxss1\", \"libappindicator3-1\", \"libsecret-1-0\"]\n\ninterface BuildSnapOptions {\n /** The snapcraft YAML configuration */\n snapcraftConfig: SnapcraftYAML\n /** Working directory where snapcraft.yaml is written and the build executes */\n stageDir: string\n /** Whether to use remote build (builds on Launchpad) */\n remoteBuild?: RemoteBuildOptions\n /** Whether to use LXD for local builds */\n useLXD?: boolean\n /** Whether to use Multipass for local builds */\n useMultipass?: boolean\n /** Whether to use destructive mode (builds directly on host, Linux only) */\n useDestructiveMode?: boolean\n /** The snap output path */\n artifactPath: string\n /** LinuxPackager instance, used to resolve workspace dir for remote build authentication */\n packager: LinuxPackager\n /** Snap Store credentials from SnapcraftOptions root — base64 string or file path */\n cscLink?: string\n}\n\n/**\n * Validates snapcraft.yaml using snapcraft's built-in `expand-extensions` command.\n * Throws on failure. The caller in `buildSnap` catches this and treats it as a non-fatal warning.\n */\nasync function validateSnapcraftYamlWithCLI(workDir: string): Promise<void> {\n try {\n const { stdout } = await execAsync(\"snapcraft expand-extensions\", {\n cwd: workDir,\n timeout: 30000,\n })\n log.debug({ expandedYaml: stdout }, \"validated extended snapcraft.yaml\")\n } catch (error: any) {\n log.error({ error: error.message, stderr: error.stderr }, \"snapcraft.yaml validation failed\")\n throw new Error(\n `Invalid snapcraft.yaml: ${error.message}\\n` +\n `Snapcraft output: ${error.stderr || error.stdout || \"No output\"}\\n` +\n `Run 'snapcraft expand-extensions' in ${workDir} for more details`\n )\n }\n}\n\n/**\n * Validates snapcraft.yaml configuration with basic client-side checks\n * This is a fast pre-check before running the full CLI validation\n */\nfunction validateSnapcraftConfig(config: SnapcraftYAML): void {\n const errors: string[] = []\n const warnings: string[] = []\n\n // Required fields\n if (!config.name) {\n errors.push(\"name is required\")\n }\n if (!config.base) {\n errors.push(\"base is required\")\n }\n if (!config.confinement) {\n errors.push(\"confinement is required\")\n }\n if (!config.parts || Object.keys(config.parts).length === 0) {\n errors.push(\"at least one part is required\")\n }\n\n // Name validation\n if (config.name) {\n if (!/^[a-z0-9-]*$/.test(config.name)) {\n errors.push(\"name must only contain lowercase letters, numbers, and hyphens\")\n }\n if (config.name.length > 40) {\n errors.push(\"name must be 40 characters or less\")\n }\n if (config.name.startsWith(\"-\") || config.name.endsWith(\"-\")) {\n errors.push(\"name cannot start or end with a hyphen\")\n }\n }\n\n // Parts validation\n Object.entries(config.parts).forEach(([partName, part]) => {\n if (!part.plugin) {\n errors.push(`part '${partName}' missing required 'plugin' field`)\n }\n })\n\n // Apps validation\n if (config.apps) {\n Object.entries(config.apps).forEach(([appName, app]) => {\n if (!app.command) {\n errors.push(`app '${appName}' missing required 'command' field`)\n }\n })\n }\n\n // Summary validation\n if (config.summary && config.summary.length > 78) {\n warnings.push(`summary is ${config.summary.length} characters (recommended: 78 or less)`)\n }\n\n // Log results\n if (errors.length > 0) {\n log.error({ errors }, \"snapcraft.yaml validation failed\")\n throw new InvalidConfigurationError(`Invalid snapcraft.yaml: ${errors.join(\", \")}`)\n }\n\n if (warnings.length > 0) {\n log.warn({ warnings }, \"snapcraft.yaml validation warnings\")\n }\n}\n\n/**\n * Retry wrapper for operations that may fail transiently\n */\nasync function executeWithRetry<T>(\n fn: () => Promise<T>,\n options: {\n maxRetries?: number\n retryDelay?: number\n retryableErrors?: string[]\n } = {}\n): Promise<T> {\n const { maxRetries = 3, retryDelay = 5000, retryableErrors = [\"network timeout\", \"connection refused\", \"temporary failure\", \"snap store error\"] } = options\n\n let lastError: Error | undefined\n\n for (let attempt = 1; attempt <= maxRetries; attempt++) {\n try {\n return await fn()\n } catch (error: any) {\n lastError = error\n const errorMessage = error.message?.toLowerCase() || \"\"\n const isRetryable = retryableErrors.some(pattern => errorMessage.includes(pattern))\n\n if (attempt < maxRetries && isRetryable) {\n log.warn({ attempt, maxRetries, error: error.message, retryIn: retryDelay }, \"build failed with retryable error, retrying...\")\n await new Promise(resolve => setTimeout(resolve, retryDelay))\n } else {\n break\n }\n }\n }\n\n throw lastError!\n}\n\n/**\n * Cleans up build artifacts\n */\nasync function cleanupBuildArtifacts(workDir: string): Promise<void> {\n const artifactsToClean = [\"parts\", \"stage\", \"prime\"]\n\n for (const artifact of artifactsToClean) {\n const artifactPath = path.join(workDir, artifact)\n try {\n await remove(artifactPath)\n log.debug({ artifact }, \"cleaned build artifact\")\n } catch (e: any) {\n log.debug({ artifact, error: e.message }, \"no build artifact to clean\")\n }\n }\n\n try {\n const files = await readdir(workDir)\n for (const file of files) {\n if (file.endsWith(\".snap\")) {\n await remove(path.join(workDir, file))\n log.debug({ file }, \"cleaned snap file\")\n }\n }\n } catch (e: any) {\n log.debug({ error: e.message }, \"no snap files to clean\")\n }\n}\n\nasync function copySnapToArtifactPath(workDir: string, outputBasename: string, outputFileName: string): Promise<string> {\n const snapInWorkDir = path.join(workDir, outputBasename)\n if (snapInWorkDir !== outputFileName) {\n await ensureDir(path.dirname(outputFileName))\n await copyFile(snapInWorkDir, outputFileName)\n log.debug({ from: snapInWorkDir, to: outputFileName }, \"copied snap from build dir to artifact path\")\n }\n return outputFileName\n}\n\n/**\n * Builds a snap package from SnapcraftYAML configuration.\n *\n * `SNAPCRAFT_NO_NETWORK` is intentionally **not** forced to `\"1\"` here.\n * All build modes (destructive-mode, LXD, Multipass, remote) require network\n * access to download stage-packages, the base image, and extensions.\n * To opt into an offline build, set `SNAPCRAFT_NO_NETWORK=1` in your environment.\n */\nexport async function buildSnap(options: BuildSnapOptions): Promise<string> {\n const { SNAPCRAFT_NO_NETWORK } = process.env\n const { snapcraftConfig, artifactPath, remoteBuild, stageDir, useLXD = false, useMultipass = false, useDestructiveMode = false, cscLink } = options\n\n const isolatedEnv: Record<string, string> = {\n ...(SNAPCRAFT_NO_NETWORK != null ? { SNAPCRAFT_NO_NETWORK } : {}),\n }\n if (useDestructiveMode) {\n isolatedEnv.SNAPCRAFT_BUILD_ENVIRONMENT = \"host\"\n }\n\n if (useLXD && process.platform !== \"linux\") {\n throw new InvalidConfigurationError(`useLXD is only supported on Linux. On ${process.platform}, use useMultipass or remoteBuild instead.`)\n }\n if (useDestructiveMode && process.platform !== \"linux\") {\n throw new InvalidConfigurationError(\n `useDestructiveMode is only supported on Linux (requires Ubuntu 24.04 host for core24). On ${process.platform}, use useMultipass or remoteBuild instead.`\n )\n }\n\n // Config validation — throws InvalidConfigurationError, no build artifacts exist yet.\n validateSnapcraftConfig(snapcraftConfig)\n\n try {\n await validateSnapcraftYamlWithCLI(stageDir)\n } catch (validationError: any) {\n log.warn({ error: validationError.message }, \"snapcraft CLI pre-validation failed (non-fatal), continuing build\")\n }\n\n await ensureSnapcraftInstalled()\n\n // Inject credentials for all build modes from snapcraft.cscLink / SNAP_CSC_LINK.\n const credEnv = await resolveSnapCredentials(cscLink, options.packager.buildResourcesDir)\n deepAssign(isolatedEnv, credEnv)\n\n if (remoteBuild?.enabled) {\n // Remote-build auth does additional checks (interactive session, throws on missing creds)\n // and overrides any credential already set above.\n const authEnv = await ensureRemoteBuildAuthentication(cscLink, options.packager.buildResourcesDir)\n deepAssign(isolatedEnv, authEnv)\n }\n\n const projectAppDir = path.join(stageDir, \"app\")\n if (!(await pathExists(projectAppDir))) {\n throw new InvalidConfigurationError(`snap build failed: expected app directory not found at ${projectAppDir}`)\n }\n log.debug({ appFiles: (await readdir(projectAppDir)).slice(0, 20) }, \"app directory contents (truncated)\")\n\n if (!remoteBuild?.enabled && !useLXD && !useMultipass && !useDestructiveMode && process.platform !== \"linux\") {\n throw new InvalidConfigurationError(\n `No snap build environment specified for ${process.platform}. Set one of: useMultipass, useLXD (Linux only), useDestructiveMode (Linux only), or remoteBuild.enabled`\n )\n }\n\n // Actual build — only this step can leave partial artifacts that need cleanup.\n try {\n return await executeWithRetry(\n () =>\n executeSnapcraftBuild({\n workDir: stageDir,\n remoteBuild,\n outputSnap: artifactPath,\n useLXD,\n useMultipass,\n useDestructiveMode,\n isolatedEnv: isolatedEnv,\n }),\n { maxRetries: remoteBuild?.enabled ? 3 : 1, retryDelay: 10000 }\n )\n } catch (error: any) {\n log.error({ error: error.message }, \"snap build failed\")\n await cleanupBuildArtifacts(stageDir).catch((cleanupError: any) => {\n log.warn({ error: cleanupError.message }, \"failed to cleanup build artifacts\")\n })\n throw error\n }\n}\n\n/**\n * Ensures snapcraft is installed on the system\n */\nasync function ensureSnapcraftInstalled(): Promise<void> {\n try {\n const { stdout } = await execAsync(\"snapcraft --version\")\n log.info({ version: stdout.trim() }, \"snapcraft found\")\n } catch (error: any) {\n log.error({ error: error.message }, \"snapcraft is not installed\")\n\n const platform = process.platform\n if (platform === \"linux\") {\n log.error(null, \"Install with: sudo snap install snapcraft --classic\")\n } else if (platform === \"darwin\") {\n log.error(null, \"Install snapcraft with: pip3 install snapcraft\")\n log.error(null, \"On macOS, useMultipass or remoteBuild are the only supported build modes for core24\")\n } else if (platform === \"win32\") {\n log.error(null, \"Install snapcraft via WSL2 or use remote-build\")\n log.error(null, \"See: https://snapcraft.io/docs/snapcraft-overview\")\n }\n\n throw new InvalidConfigurationError(\"snapcraft not found - please install snapcraft to continue\")\n }\n}\n\n/**\n * Resolves Snapcraft Store authentication for remote builds and returns the credential\n * env entries to inject. Returns an empty map when snapcraft can authenticate itself\n * (interactive session). Throws when no credential source is found.\n */\nasync function ensureRemoteBuildAuthentication(cscLink: string | undefined, resourcesDir: string | undefined): Promise<Record<string, string>> {\n log.debug(null, \"resolving remote build authentication...\")\n\n // 1. snapcraft.cscLink / SNAP_CSC_LINK — config-level or env credential (base64 or file path).\n // resolveSnapCredentials already ran for all build modes; re-run here so remote-build\n // gets the same result and the interactive-session fallback is only reached when neither is set.\n const credEnv = await resolveSnapCredentials(cscLink, resourcesDir)\n if (Object.keys(credEnv).length > 0) {\n return credEnv\n }\n\n // 2. SNAPCRAFT_STORE_CREDENTIALS env var — directly provide the credentials string (not base64-encoded).\n const SNAPCRAFT_STORE_CREDENTIALS = process.env.SNAPCRAFT_STORE_CREDENTIALS?.trim()\n if (!isEmptyOrSpaces(SNAPCRAFT_STORE_CREDENTIALS)) {\n log.debug(null, \"using SNAPCRAFT_STORE_CREDENTIALS from environment, verbatim\")\n return { SNAPCRAFT_STORE_CREDENTIALS }\n }\n\n // 3. Interactive snapcraft session.\n try {\n const { stdout } = await execAsync(\"snapcraft whoami\")\n if (stdout.includes(\"email:\")) {\n log.debug({ account: stdout.trim() }, \"already authenticated with snapcraft\")\n return {}\n }\n } catch {\n // Not logged in, fall through to error.\n }\n\n throw new InvalidConfigurationError(\n \"Snapcraft authentication required for remote build.\\n\" +\n \"Authenticate with one of any:\\n\" +\n \" 1. Set SNAP_CSC_LINK\\n\" +\n \" 2. Set snapcraft.cscLink in your build config\\n\" +\n \" 3. Run: snapcraft login\\n\" +\n \" 4. Set SNAPCRAFT_STORE_CREDENTIALS environment variable directly\"\n )\n}\n\ninterface ExecuteSnapcraftOptions {\n workDir: string\n outputSnap: string\n remoteBuild?: RemoteBuildOptions\n useLXD: boolean\n useMultipass: boolean\n useDestructiveMode: boolean\n isolatedEnv: Record<string, string>\n}\n\n/**\n * Executes the snapcraft build command\n */\nasync function executeSnapcraftBuild(options: ExecuteSnapcraftOptions): Promise<string> {\n const { workDir, outputSnap: outputFileName, remoteBuild, useLXD, useMultipass, useDestructiveMode, isolatedEnv } = options\n let processedEnv: NodeJS.ProcessEnv = { ...stripSensitiveEnvVars(process.env), ...isolatedEnv }\n\n // Use a UUID-based temp name as the --output target so the copy below doesn't\n // depend on snapcraft's naming convention (which always uses underscores).\n const tmpSnap = `eb-snap-${randomUUID().replace(/-/g, \"\")}.snap`\n\n if (useDestructiveMode && !remoteBuild?.enabled) {\n return await runDestructiveBuild(workDir, processedEnv, tmpSnap, outputFileName)\n }\n\n const command = \"snapcraft\"\n const args: string[] = []\n\n if (remoteBuild?.enabled) {\n const remoteBuildArgs = generateRemoteBuildArgs(remoteBuild, workDir)\n // Remote build on Launchpad (works from any platform)\n args.push(...remoteBuildArgs.args)\n processedEnv = { ...processedEnv, ...remoteBuildArgs.isolatedEnv }\n } else {\n // `snapcraft pack` runs the full lifecycle (pull → build → stage → prime → pack).\n // snapcraft 8.x removed --use-multipass entirely; Multipass is now configured\n // via the SNAPCRAFT_BUILD_ENVIRONMENT env var (or auto-selected on macOS).\n // --use-lxd remains a supported CLI flag on `pack`.\n args.push(\"pack\")\n if (useLXD) {\n args.push(\"--use-lxd\")\n log.debug(null, \"using LXD for build\")\n } else if (useMultipass) {\n processedEnv.SNAPCRAFT_BUILD_ENVIRONMENT = \"multipass\"\n log.debug(null, \"using Multipass for build (via SNAPCRAFT_BUILD_ENVIRONMENT)\")\n } else {\n args.push(\"--output\", tmpSnap)\n }\n }\n\n if (log.isDebugEnabled) {\n args.push(\"--verbose\")\n }\n\n log.info({ workDir: log.filePath(workDir) }, \"executing snapcraft\")\n\n await spawn(command, args, {\n cwd: workDir,\n env: processedEnv,\n })\n\n if (remoteBuild?.enabled || useLXD || useMultipass) {\n // snapcraft names the output snap itself (e.g. <name>_<version>_<arch>.snap).\n // Each electron-builder build invocation targets exactly one arch, so exactly one snap is expected.\n const files = await readdir(workDir)\n const builtSnap = files.find(f => f.endsWith(\".snap\"))\n if (!builtSnap) {\n throw new Error(`Build succeeded but no .snap file found in ${workDir}`)\n }\n return copySnapToArtifactPath(workDir, builtSnap, outputFileName)\n }\n\n return copySnapToArtifactPath(workDir, tmpSnap, outputFileName)\n}\n\nfunction generateRemoteBuildArgs(remoteBuild: RemoteBuildOptions, workDir: string) {\n const isolatedEnv: Record<string, string> = {}\n const args: string[] = [\"remote-build\"]\n\n log.debug(null, \"using remote-build (Launchpad)\")\n\n // Add remote build specific options\n if (remoteBuild.launchpadUsername) {\n args.push(\"--user\", remoteBuild.launchpadUsername)\n }\n\n if (remoteBuild.acceptPublicUpload) {\n args.push(\"--launchpad-accept-public-upload\")\n } else {\n log.warn(null, \"your project will be publicly uploaded to Launchpad. Use `acceptPublicUpload: true` to suppress this warning\")\n }\n\n if (remoteBuild.privateProject) {\n args.push(\"--project\", remoteBuild.privateProject)\n log.debug({ project: remoteBuild.privateProject }, \"using private Launchpad project\")\n }\n\n if (remoteBuild.buildFor) {\n args.push(\"--build-for\", remoteBuild.buildFor)\n log.debug({ arch: remoteBuild.buildFor }, \"building for architecture\")\n }\n\n if (remoteBuild.recover) {\n args.push(\"--recover\")\n log.debug(null, \"recovering previous build\")\n }\n\n if (remoteBuild.strategy) {\n isolatedEnv.SNAPCRAFT_REMOTE_BUILD_STRATEGY = remoteBuild.strategy\n }\n\n if (remoteBuild.timeout) {\n args.push(\"--timeout\", String(remoteBuild.timeout))\n log.debug({ timeout: `${remoteBuild.timeout}s` }, \"build timeout configured\")\n }\n\n // Remote-build downloads the finished snap into workDir.\n // --output-dir (not --output <file>) lets snapcraft name the file itself.\n args.push(\"--output-dir\", workDir)\n\n return { args, isolatedEnv }\n}\n\n// Snapcraft 8 (craft-application) hangs after a successful destructive-mode\n// build in containerised environments (Docker/CI without snapd running).\n// craft-application's PackageService teardown tries to reach\n// /run/snapd-snap.socket (snapctl IPC) which doesn't exist without a live\n// snapd daemon — causing an indefinite block.\n//\n// Work-around: split into two steps:\n// 1. `snapcraft prime --destructive-mode` — runs pull/build/stage/prime,\n// exits cleanly (no post-pack teardown executed).\n// 2. `snapcraft pack <primeDir>` — packs the pre-primed directory without\n// running the full build lifecycle, avoiding the problematic teardown.\nasync function runDestructiveBuild(workDir: string, processedEnv: NodeJS.ProcessEnv, tmpSnap: string, outputFileName: string) {\n const primeArgs = [\"prime\", \"--destructive-mode\"]\n if (log.isDebugEnabled) {\n primeArgs.push(\"--verbose\")\n }\n log.info({ command: `snapcraft ${primeArgs.join(\" \")}`, workDir: log.filePath(workDir) }, \"snapcraft prime (1/2)\")\n await spawn(\"snapcraft\", primeArgs, {\n cwd: workDir,\n env: processedEnv,\n })\n\n const primeDir = path.join(workDir, \"prime\")\n const snapcraftPackArgs = [\"pack\", \"--output\", tmpSnap, primeDir]\n if (log.isDebugEnabled) {\n snapcraftPackArgs.push(\"--verbose\")\n }\n log.info({ command: `snapcraft ${snapcraftPackArgs.join(\" \")}`, workDir: log.filePath(workDir) }, \"snapcraft pack prime dir (2/2)\")\n await spawn(\"snapcraft\", snapcraftPackArgs, {\n cwd: workDir,\n env: processedEnv,\n })\n\n return copySnapToArtifactPath(workDir, tmpSnap, outputFileName)\n}\n"]}
@@ -1,12 +0,0 @@
1
- import { Arch } from "builder-util";
2
- import { Platform, Target } from "../core";
3
- import { PlatformPackager } from "../platformPackager";
4
- export declare function computeArchToTargetNamesMap(raw: Map<Arch, Array<string>>, platformPackager: PlatformPackager<any>, platform: Platform): Map<Arch, Array<string>>;
5
- export declare function createTargets(nameToTarget: Map<string, Target>, rawList: Array<string>, outDir: string, packager: PlatformPackager<any>): Array<Target>;
6
- export declare function createCommonTarget(target: string, outDir: string, packager: PlatformPackager<any>): Target;
7
- export declare class NoOpTarget extends Target {
8
- readonly options: null;
9
- constructor(name: string);
10
- get outDir(): string;
11
- build(appOutDir: string, arch: Arch): Promise<any>;
12
- }
@@ -1,101 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NoOpTarget = void 0;
4
- exports.computeArchToTargetNamesMap = computeArchToTargetNamesMap;
5
- exports.createTargets = createTargets;
6
- exports.createCommonTarget = createCommonTarget;
7
- const builder_util_1 = require("builder-util");
8
- const core_1 = require("../core");
9
- const ArchiveTarget_1 = require("./ArchiveTarget");
10
- const archiveTargets = new Set(["zip", "7z", "tar.xz", "tar.lz", "tar.gz", "tar.bz2"]);
11
- function computeArchToTargetNamesMap(raw, platformPackager, platform) {
12
- for (const targetNames of raw.values()) {
13
- if (targetNames.length > 0) {
14
- // https://github.com/electron-userland/electron-builder/issues/1355
15
- return raw;
16
- }
17
- }
18
- const defaultArchs = raw.size === 0 ? [process.arch] : Array.from(raw.keys()).map(it => builder_util_1.Arch[it]);
19
- const result = new Map(raw);
20
- for (const target of (0, builder_util_1.asArray)(platformPackager.platformSpecificBuildOptions.target).map(it => (typeof it === "string" ? { target: it } : it))) {
21
- let name = target.target;
22
- let archs = target.arch;
23
- const suffixPos = name.lastIndexOf(":");
24
- if (suffixPos > 0) {
25
- name = target.target.substring(0, suffixPos);
26
- if (archs == null) {
27
- archs = target.target.substring(suffixPos + 1);
28
- }
29
- }
30
- for (const arch of archs == null ? defaultArchs : (0, builder_util_1.asArray)(archs)) {
31
- (0, builder_util_1.addValue)(result, (0, builder_util_1.archFromString)(arch), name);
32
- }
33
- }
34
- if (result.size === 0) {
35
- const defaultTarget = platformPackager.defaultTarget;
36
- if (raw.size === 0 && platform === core_1.Platform.LINUX && (process.platform === "darwin" || process.platform === "win32")) {
37
- result.set(builder_util_1.Arch.x64, defaultTarget);
38
- // cannot enable arm because of native dependencies - e.g. keytar doesn't provide pre-builds for arm
39
- // result.set(Arch.armv7l, ["snap"])
40
- }
41
- else {
42
- for (const arch of defaultArchs) {
43
- result.set((0, builder_util_1.archFromString)(arch), defaultTarget);
44
- }
45
- }
46
- }
47
- return result;
48
- }
49
- function createTargets(nameToTarget, rawList, outDir, packager) {
50
- const result = [];
51
- const mapper = (name, factory) => {
52
- let target = nameToTarget.get(name);
53
- if (target == null) {
54
- target = factory(outDir);
55
- nameToTarget.set(name, target);
56
- }
57
- result.push(target);
58
- };
59
- const targets = normalizeTargets(rawList, packager.defaultTarget);
60
- packager.createTargets(targets, mapper);
61
- return result;
62
- }
63
- function normalizeTargets(targets, defaultTarget) {
64
- const list = [];
65
- for (const t of targets) {
66
- const name = t.toLowerCase().trim();
67
- if (name === core_1.DEFAULT_TARGET) {
68
- list.push(...defaultTarget);
69
- }
70
- else {
71
- list.push(name);
72
- }
73
- }
74
- return list;
75
- }
76
- function createCommonTarget(target, outDir, packager) {
77
- if (archiveTargets.has(target)) {
78
- return new ArchiveTarget_1.ArchiveTarget(target, outDir, packager);
79
- }
80
- else if (target === core_1.DIR_TARGET) {
81
- return new NoOpTarget(core_1.DIR_TARGET);
82
- }
83
- else {
84
- throw new Error(`Unknown target: ${target}`);
85
- }
86
- }
87
- class NoOpTarget extends core_1.Target {
88
- constructor(name) {
89
- super(name);
90
- this.options = null;
91
- }
92
- get outDir() {
93
- throw new Error("NoOpTarget");
94
- }
95
- // eslint-disable-next-line
96
- async build(appOutDir, arch) {
97
- // no build
98
- }
99
- }
100
- exports.NoOpTarget = NoOpTarget;
101
- //# sourceMappingURL=targetFactory.js.map