app-builder-lib 20.44.0 → 20.44.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/out/Framework.d.ts +0 -0
  2. package/out/Framework.js +0 -0
  3. package/out/Framework.js.map +0 -0
  4. package/out/ProtonFramework.d.ts +0 -0
  5. package/out/ProtonFramework.js +0 -0
  6. package/out/ProtonFramework.js.map +0 -0
  7. package/out/appInfo.d.ts +0 -0
  8. package/out/appInfo.js +0 -0
  9. package/out/appInfo.js.map +0 -0
  10. package/out/asar/asar.d.ts +0 -0
  11. package/out/asar/asar.js +0 -0
  12. package/out/asar/asar.js.map +0 -0
  13. package/out/asar/asarFileChecker.d.ts +0 -0
  14. package/out/asar/asarFileChecker.js +0 -0
  15. package/out/asar/asarFileChecker.js.map +0 -0
  16. package/out/asar/asarUtil.d.ts +0 -0
  17. package/out/asar/asarUtil.js +0 -0
  18. package/out/asar/asarUtil.js.map +0 -0
  19. package/out/asar/integrity.d.ts +0 -0
  20. package/out/asar/integrity.js +0 -0
  21. package/out/asar/integrity.js.map +0 -0
  22. package/out/asar/unpackDetector.d.ts +0 -0
  23. package/out/asar/unpackDetector.js +0 -0
  24. package/out/asar/unpackDetector.js.map +0 -0
  25. package/out/binDownload.d.ts +0 -0
  26. package/out/binDownload.js +0 -0
  27. package/out/binDownload.js.map +0 -0
  28. package/out/codeSign/codesign.d.ts +0 -0
  29. package/out/codeSign/codesign.js +0 -0
  30. package/out/codeSign/codesign.js.map +0 -0
  31. package/out/codeSign/macCodeSign.d.ts +0 -0
  32. package/out/codeSign/macCodeSign.js +0 -0
  33. package/out/codeSign/macCodeSign.js.map +0 -0
  34. package/out/codeSign/windowsCodeSign.d.ts +0 -0
  35. package/out/codeSign/windowsCodeSign.js +0 -0
  36. package/out/codeSign/windowsCodeSign.js.map +0 -0
  37. package/out/configuration.d.ts +0 -0
  38. package/out/configuration.js +0 -0
  39. package/out/configuration.js.map +0 -0
  40. package/out/core.d.ts +0 -0
  41. package/out/core.js +0 -0
  42. package/out/core.js.map +0 -0
  43. package/out/electron/ElectronFramework.d.ts +0 -0
  44. package/out/electron/ElectronFramework.js +0 -0
  45. package/out/electron/ElectronFramework.js.map +0 -0
  46. package/out/electron/electronMac.d.ts +0 -0
  47. package/out/electron/electronMac.js +0 -0
  48. package/out/electron/electronMac.js.map +0 -0
  49. package/out/electron/electronVersion.d.ts +0 -0
  50. package/out/electron/electronVersion.js +0 -0
  51. package/out/electron/electronVersion.js.map +0 -0
  52. package/out/errorMessages.d.ts +0 -0
  53. package/out/errorMessages.js +0 -0
  54. package/out/errorMessages.js.map +0 -0
  55. package/out/fileMatcher.d.ts +0 -0
  56. package/out/fileMatcher.js +0 -0
  57. package/out/fileMatcher.js.map +0 -0
  58. package/out/fileTransformer.d.ts +0 -0
  59. package/out/fileTransformer.js +0 -0
  60. package/out/fileTransformer.js.map +0 -0
  61. package/out/forge-maker.d.ts +0 -0
  62. package/out/forge-maker.js +0 -0
  63. package/out/forge-maker.js.map +0 -0
  64. package/out/frameworks/LibUiFramework.d.ts +0 -0
  65. package/out/frameworks/LibUiFramework.js +0 -0
  66. package/out/frameworks/LibUiFramework.js.map +0 -0
  67. package/out/index.d.ts +0 -0
  68. package/out/index.js +0 -0
  69. package/out/index.js.map +0 -0
  70. package/out/linuxPackager.d.ts +0 -0
  71. package/out/linuxPackager.js +2 -1
  72. package/out/linuxPackager.js.map +1 -1
  73. package/out/macPackager.d.ts +0 -0
  74. package/out/macPackager.js +0 -0
  75. package/out/macPackager.js.map +0 -0
  76. package/out/options/AppXOptions.d.ts +0 -0
  77. package/out/options/AppXOptions.js +0 -0
  78. package/out/options/AppXOptions.js.map +0 -0
  79. package/out/options/CommonWindowsInstallerConfiguration.d.ts +0 -0
  80. package/out/options/CommonWindowsInstallerConfiguration.js +0 -0
  81. package/out/options/CommonWindowsInstallerConfiguration.js.map +0 -0
  82. package/out/options/FileAssociation.d.ts +0 -0
  83. package/out/options/FileAssociation.js +0 -0
  84. package/out/options/FileAssociation.js.map +0 -0
  85. package/out/options/MsiOptions.d.ts +0 -0
  86. package/out/options/MsiOptions.js +0 -0
  87. package/out/options/MsiOptions.js.map +0 -0
  88. package/out/options/PlatformSpecificBuildOptions.d.ts +0 -0
  89. package/out/options/PlatformSpecificBuildOptions.js +0 -0
  90. package/out/options/PlatformSpecificBuildOptions.js.map +0 -0
  91. package/out/options/SnapOptions.d.ts +0 -0
  92. package/out/options/SnapOptions.js +0 -0
  93. package/out/options/SnapOptions.js.map +0 -0
  94. package/out/options/SquirrelWindowsOptions.d.ts +0 -0
  95. package/out/options/SquirrelWindowsOptions.js +0 -0
  96. package/out/options/SquirrelWindowsOptions.js.map +0 -0
  97. package/out/options/linuxOptions.d.ts +0 -0
  98. package/out/options/linuxOptions.js +0 -0
  99. package/out/options/linuxOptions.js.map +0 -0
  100. package/out/options/macOptions.d.ts +0 -0
  101. package/out/options/macOptions.js +0 -0
  102. package/out/options/macOptions.js.map +0 -0
  103. package/out/options/metadata.d.ts +0 -0
  104. package/out/options/metadata.js +0 -0
  105. package/out/options/metadata.js.map +0 -0
  106. package/out/options/pkgOptions.d.ts +0 -0
  107. package/out/options/pkgOptions.js +0 -0
  108. package/out/options/pkgOptions.js.map +0 -0
  109. package/out/options/winOptions.d.ts +0 -0
  110. package/out/options/winOptions.js +0 -0
  111. package/out/options/winOptions.js.map +0 -0
  112. package/out/packager.d.ts +0 -0
  113. package/out/packager.js +1 -1
  114. package/out/packager.js.map +0 -0
  115. package/out/packagerApi.d.ts +0 -0
  116. package/out/packagerApi.js +0 -0
  117. package/out/packagerApi.js.map +0 -0
  118. package/out/platformPackager.d.ts +0 -0
  119. package/out/platformPackager.js +0 -0
  120. package/out/platformPackager.js.map +0 -0
  121. package/out/presets/rectCra.d.ts +0 -0
  122. package/out/presets/rectCra.js +0 -0
  123. package/out/presets/rectCra.js.map +0 -0
  124. package/out/publish/PublishManager.d.ts +0 -0
  125. package/out/publish/PublishManager.js +0 -0
  126. package/out/publish/PublishManager.js.map +0 -0
  127. package/out/publish/updateInfoBuilder.d.ts +0 -0
  128. package/out/publish/updateInfoBuilder.js +0 -0
  129. package/out/publish/updateInfoBuilder.js.map +0 -0
  130. package/out/remoteBuilder/ProjectInfoManager.d.ts +0 -0
  131. package/out/remoteBuilder/ProjectInfoManager.js +0 -0
  132. package/out/remoteBuilder/ProjectInfoManager.js.map +0 -0
  133. package/out/remoteBuilder/RemoteBuilder.d.ts +0 -11
  134. package/out/remoteBuilder/RemoteBuilder.js +2 -3
  135. package/out/remoteBuilder/RemoteBuilder.js.map +1 -1
  136. package/out/remoteBuilder/builder-cli.d.ts +0 -0
  137. package/out/remoteBuilder/builder-cli.js +16 -6
  138. package/out/remoteBuilder/builder-cli.js.map +1 -1
  139. package/out/remoteBuilder/remote-builder-certs.d.ts +0 -0
  140. package/out/remoteBuilder/remote-builder-certs.js +0 -0
  141. package/out/remoteBuilder/remote-builder-certs.js.map +0 -0
  142. package/out/targets/AppImageTarget.d.ts +0 -0
  143. package/out/targets/AppImageTarget.js +0 -0
  144. package/out/targets/AppImageTarget.js.map +0 -0
  145. package/out/targets/AppxTarget.d.ts +0 -0
  146. package/out/targets/AppxTarget.js +0 -0
  147. package/out/targets/AppxTarget.js.map +0 -0
  148. package/out/targets/ArchiveTarget.d.ts +0 -0
  149. package/out/targets/ArchiveTarget.js +0 -0
  150. package/out/targets/ArchiveTarget.js.map +0 -0
  151. package/out/targets/LinuxTargetHelper.d.ts +0 -0
  152. package/out/targets/LinuxTargetHelper.js +0 -0
  153. package/out/targets/LinuxTargetHelper.js.map +0 -0
  154. package/out/targets/MsiTarget.d.ts +0 -0
  155. package/out/targets/MsiTarget.js +0 -0
  156. package/out/targets/MsiTarget.js.map +0 -0
  157. package/out/targets/archive.d.ts +0 -0
  158. package/out/targets/archive.js +0 -0
  159. package/out/targets/archive.js.map +0 -0
  160. package/out/targets/differentialUpdateInfoBuilder.d.ts +0 -0
  161. package/out/targets/differentialUpdateInfoBuilder.js +0 -0
  162. package/out/targets/differentialUpdateInfoBuilder.js.map +0 -0
  163. package/out/targets/fpm.d.ts +0 -0
  164. package/out/targets/fpm.js +0 -0
  165. package/out/targets/fpm.js.map +0 -0
  166. package/out/targets/nsis/NsisTarget.d.ts +0 -0
  167. package/out/targets/nsis/NsisTarget.js +0 -0
  168. package/out/targets/nsis/NsisTarget.js.map +0 -0
  169. package/out/targets/nsis/WebInstallerTarget.d.ts +0 -0
  170. package/out/targets/nsis/WebInstallerTarget.js +0 -0
  171. package/out/targets/nsis/WebInstallerTarget.js.map +0 -0
  172. package/out/targets/nsis/nsisLang.d.ts +0 -0
  173. package/out/targets/nsis/nsisLang.js +0 -0
  174. package/out/targets/nsis/nsisLang.js.map +0 -0
  175. package/out/targets/nsis/nsisLicense.d.ts +0 -0
  176. package/out/targets/nsis/nsisLicense.js +0 -0
  177. package/out/targets/nsis/nsisLicense.js.map +0 -0
  178. package/out/targets/nsis/nsisOptions.d.ts +0 -0
  179. package/out/targets/nsis/nsisOptions.js +0 -0
  180. package/out/targets/nsis/nsisOptions.js.map +0 -0
  181. package/out/targets/nsis/nsisScriptGenerator.d.ts +0 -0
  182. package/out/targets/nsis/nsisScriptGenerator.js +0 -0
  183. package/out/targets/nsis/nsisScriptGenerator.js.map +0 -0
  184. package/out/targets/nsis/nsisUtil.d.ts +0 -0
  185. package/out/targets/nsis/nsisUtil.js +0 -0
  186. package/out/targets/nsis/nsisUtil.js.map +0 -0
  187. package/out/targets/pkg.d.ts +0 -0
  188. package/out/targets/pkg.js +0 -0
  189. package/out/targets/pkg.js.map +0 -0
  190. package/out/targets/snap.d.ts +2 -1
  191. package/out/targets/snap.js +35 -37
  192. package/out/targets/snap.js.map +1 -1
  193. package/out/targets/targetFactory.d.ts +0 -0
  194. package/out/targets/targetFactory.js +0 -0
  195. package/out/targets/targetFactory.js.map +0 -0
  196. package/out/targets/targetUtil.d.ts +0 -0
  197. package/out/targets/targetUtil.js +0 -0
  198. package/out/targets/targetUtil.js.map +0 -0
  199. package/out/targets/tools.d.ts +0 -0
  200. package/out/targets/tools.js +0 -0
  201. package/out/targets/tools.js.map +0 -0
  202. package/out/util/AppFileWalker.d.ts +0 -0
  203. package/out/util/AppFileWalker.js +0 -0
  204. package/out/util/AppFileWalker.js.map +0 -0
  205. package/out/util/NodeModuleCopyHelper.d.ts +0 -0
  206. package/out/util/NodeModuleCopyHelper.js +0 -0
  207. package/out/util/NodeModuleCopyHelper.js.map +0 -0
  208. package/out/util/appBuilder.d.ts +0 -0
  209. package/out/util/appBuilder.js +0 -0
  210. package/out/util/appBuilder.js.map +0 -0
  211. package/out/util/appFileCopier.d.ts +0 -0
  212. package/out/util/appFileCopier.js +0 -0
  213. package/out/util/appFileCopier.js.map +0 -0
  214. package/out/util/bundledTool.d.ts +0 -0
  215. package/out/util/bundledTool.js +0 -0
  216. package/out/util/bundledTool.js.map +0 -0
  217. package/out/util/cacheManager.d.ts +0 -0
  218. package/out/util/cacheManager.js +0 -0
  219. package/out/util/cacheManager.js.map +0 -0
  220. package/out/util/config.d.ts +0 -0
  221. package/out/util/config.js +0 -0
  222. package/out/util/config.js.map +0 -0
  223. package/out/util/filter.d.ts +0 -0
  224. package/out/util/filter.js +0 -0
  225. package/out/util/filter.js.map +0 -0
  226. package/out/util/flags.d.ts +0 -0
  227. package/out/util/flags.js +0 -0
  228. package/out/util/flags.js.map +0 -0
  229. package/out/util/hash.d.ts +0 -0
  230. package/out/util/hash.js +0 -0
  231. package/out/util/hash.js.map +0 -0
  232. package/out/util/langs.d.ts +0 -0
  233. package/out/util/langs.js +0 -0
  234. package/out/util/langs.js.map +0 -0
  235. package/out/util/license.d.ts +0 -0
  236. package/out/util/license.js +0 -0
  237. package/out/util/license.js.map +0 -0
  238. package/out/util/macosVersion.d.ts +0 -0
  239. package/out/util/macosVersion.js +0 -0
  240. package/out/util/macosVersion.js.map +0 -0
  241. package/out/util/macroExpander.d.ts +0 -0
  242. package/out/util/macroExpander.js +0 -0
  243. package/out/util/macroExpander.js.map +0 -0
  244. package/out/util/packageDependencies.d.ts +0 -0
  245. package/out/util/packageDependencies.js +0 -0
  246. package/out/util/packageDependencies.js.map +0 -0
  247. package/out/util/packageMetadata.d.ts +0 -0
  248. package/out/util/packageMetadata.js +0 -0
  249. package/out/util/packageMetadata.js.map +0 -0
  250. package/out/util/pathManager.d.ts +0 -0
  251. package/out/util/pathManager.js +0 -0
  252. package/out/util/pathManager.js.map +0 -0
  253. package/out/util/repositoryInfo.d.ts +0 -0
  254. package/out/util/repositoryInfo.js +0 -0
  255. package/out/util/repositoryInfo.js.map +0 -0
  256. package/out/util/timer.d.ts +0 -0
  257. package/out/util/timer.js +0 -0
  258. package/out/util/timer.js.map +0 -0
  259. package/out/util/yarn.d.ts +0 -0
  260. package/out/util/yarn.js +0 -0
  261. package/out/util/yarn.js.map +0 -0
  262. package/out/vm/MonoVm.d.ts +0 -0
  263. package/out/vm/MonoVm.js +0 -0
  264. package/out/vm/MonoVm.js.map +0 -0
  265. package/out/vm/ParallelsVm.d.ts +0 -0
  266. package/out/vm/ParallelsVm.js +0 -0
  267. package/out/vm/ParallelsVm.js.map +0 -0
  268. package/out/vm/WineVm.d.ts +0 -0
  269. package/out/vm/WineVm.js +0 -0
  270. package/out/vm/WineVm.js.map +0 -0
  271. package/out/vm/vm.d.ts +0 -0
  272. package/out/vm/vm.js +0 -0
  273. package/out/vm/vm.js.map +0 -0
  274. package/out/winPackager.d.ts +0 -0
  275. package/out/winPackager.js +0 -0
  276. package/out/winPackager.js.map +0 -0
  277. package/out/wine.d.ts +0 -0
  278. package/out/wine.js +0 -0
  279. package/out/wine.js.map +0 -0
  280. package/package.json +5 -5
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -11,7 +11,8 @@ export default class SnapTarget extends Target {
11
11
  isUseTemplateApp: boolean;
12
12
  constructor(name: string, packager: LinuxPackager, helper: LinuxTargetHelper, outDir: string);
13
13
  private replaceDefault;
14
- private getDefaultStagePackages;
14
+ private static getDefaultStagePackages;
15
15
  private createDescriptor;
16
16
  build(appOutDir: string, arch: Arch): Promise<any>;
17
+ private isElectronVersionGreaterOrEqualThen;
17
18
  }
@@ -45,6 +45,16 @@ function _fsExtraP() {
45
45
  return data;
46
46
  }
47
47
 
48
+ function _jsYaml() {
49
+ const data = require("js-yaml");
50
+
51
+ _jsYaml = function () {
52
+ return data;
53
+ };
54
+
55
+ return data;
56
+ }
57
+
48
58
  var path = _interopRequireWildcard(require("path"));
49
59
 
50
60
  function semver() {
@@ -97,16 +107,6 @@ function _targetUtil() {
97
107
  return data;
98
108
  }
99
109
 
100
- function _jsYaml() {
101
- const data = require("js-yaml");
102
-
103
- _jsYaml = function () {
104
- return data;
105
- };
106
-
107
- return data;
108
- }
109
-
110
110
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
111
111
 
112
112
  const defaultPlugs = ["desktop", "desktop-legacy", "home", "x11", "unity7", "browser-support", "network", "gsettings", "pulseaudio", "opengl"];
@@ -131,24 +131,22 @@ class SnapTarget extends _core().Target {
131
131
  return result;
132
132
  }
133
133
 
134
- getDefaultStagePackages() {
135
- // libxss1, libasound2 - was "error while loading shared libraries: libXss.so.1" on Xubuntu 16.04
134
+ static getDefaultStagePackages() {
135
+ // libxss1 - was "error while loading shared libraries: libXss.so.1" on Xubuntu 16.04
136
136
  // noinspection SpellCheckingInspection
137
- const result = ["libnspr4", "libnss3", "libxss1", "libappindicator3-1", "libsecret-1-0"]; // const result = []
138
-
139
- if (semver().lt(this.packager.config.electronVersion || "5.0.3", "4.0.0")) {
140
- result.push("libgconf2-4");
141
- }
142
-
143
- return result;
137
+ return ["libnspr4", "libnss3", "libxss1", "libappindicator3-1", "libsecret-1-0"];
144
138
  }
145
139
 
146
140
  createDescriptor(arch) {
147
141
  var _this = this;
148
142
 
149
143
  return (0, _bluebirdLst().coroutine)(function* () {
150
- if (semver().lt(_this.packager.config.electronVersion || "5.0.3", "2.0.0-beta.1")) {
151
- throw new Error("Electron 2 and higher is required to build Snap");
144
+ if (!_this.isElectronVersionGreaterOrEqualThen("4.0.0")) {
145
+ if (!_this.isElectronVersionGreaterOrEqualThen("2.0.0-beta.1")) {
146
+ throw new (_builderUtil().InvalidConfigurationError)("Electron 2 and higher is required to build Snap");
147
+ }
148
+
149
+ _builderUtil().log.warn("Electron 4 and higher is highly recommended for Snap");
152
150
  }
153
151
 
154
152
  const appInfo = _this.packager.appInfo;
@@ -165,7 +163,6 @@ class SnapTarget extends _core().Target {
165
163
  _this.isUseTemplateApp = _this.options.useTemplateApp !== false && arch === _builderUtil().Arch.x64 && buildPackages.length === 0;
166
164
  const appDescriptor = {
167
165
  command: "command.sh",
168
- // command: "$SNAP/" + (this.isUseTemplateApp ? "" : "app/") + this.packager.executableName
169
166
  plugs: plugNames,
170
167
  adapter: "none"
171
168
  };
@@ -194,7 +191,7 @@ class SnapTarget extends _core().Target {
194
191
  },
195
192
  parts: {
196
193
  app: {
197
- "stage-packages": _this.replaceDefault(options.stagePackages, _this.getDefaultStagePackages())
194
+ "stage-packages": _this.replaceDefault(options.stagePackages, SnapTarget.getDefaultStagePackages())
198
195
  }
199
196
  }
200
197
  });
@@ -259,10 +256,8 @@ class SnapTarget extends _core().Target {
259
256
  delete snap.parts;
260
257
  }
261
258
 
262
- const stageDir = yield (0, _targetUtil().createStageDirPath)(_this2, packager, arch); // snapcraft.yaml inside a snap directory
263
-
264
- const snapMetaDir = path.join(stageDir, _this2.isUseTemplateApp ? "meta" : "snap");
265
- const args = ["snap", "--app", appOutDir, "--stage", stageDir, "--arch", (0, _builderUtil().toLinuxArchString)(arch, true), "--output", _this2.isUseTemplateApp ? artifactPath : "out.snap", "--executable", _this2.packager.executableName];
259
+ const stageDir = yield (0, _targetUtil().createStageDirPath)(_this2, packager, arch);
260
+ const args = ["snap", "--app", appOutDir, "--stage", stageDir, "--arch", (0, _builderUtil().toLinuxArchString)(arch, true), "--output", artifactPath, "--executable", _this2.packager.executableName];
266
261
  yield _this2.helper.icons;
267
262
 
268
263
  if (_this2.helper.maxIconPath != null) {
@@ -271,17 +266,22 @@ class SnapTarget extends _core().Target {
271
266
  }
272
267
 
273
268
  args.push("--icon", _this2.helper.maxIconPath);
274
- }
269
+ } // snapcraft.yaml inside a snap directory
275
270
 
271
+
272
+ const snapMetaDir = path.join(stageDir, _this2.isUseTemplateApp ? "meta" : "snap");
276
273
  const desktopFile = path.join(snapMetaDir, "gui", `${snap.name}.desktop`);
277
274
  yield _this2.helper.writeDesktopEntry(_this2.options, packager.executableName, desktopFile, {
278
275
  // tslint:disable:no-invalid-template-strings
279
276
  Icon: "${SNAP}/meta/gui/icon.png"
280
277
  });
281
278
 
282
- if (semver().gte(_this2.packager.config.electronVersion || "5.0.3", "5.0.0") && !isBrowserSandboxAllowed(snap)) {
279
+ if (_this2.isElectronVersionGreaterOrEqualThen("5.0.0") && !isBrowserSandboxAllowed(snap)) {
283
280
  args.push("--extraAppArgs=--no-sandbox");
284
- args.push("--exclude", "chrome-sandbox");
281
+
282
+ if (_this2.isUseTemplateApp) {
283
+ args.push("--exclude", "chrome-sandbox");
284
+ }
285
285
  }
286
286
 
287
287
  if (packager.packagerOptions.effectiveOptionComputed != null && (yield packager.packagerOptions.effectiveOptionComputed({
@@ -300,20 +300,18 @@ class SnapTarget extends _core().Target {
300
300
  }
301
301
 
302
302
  if (_this2.isUseTemplateApp) {
303
- args.push("--template-url", semver().gte(_this2.packager.config.electronVersion || "5.0.3", "4.0.0") ? "electron4" : "electron2");
303
+ args.push("--template-url", "electron4");
304
304
  }
305
305
 
306
306
  yield (0, _builderUtil().executeAppBuilder)(args);
307
-
308
- if (!_this2.isUseTemplateApp) {
309
- // multipass cannot access files outside of snapcraft command working dir
310
- yield (0, _fsExtraP().rename)(path.join(stageDir, "out.snap"), artifactPath);
311
- }
312
-
313
307
  yield packager.dispatchArtifactCreated(artifactPath, _this2, arch, packager.computeSafeArtifactName(artifactName, "snap", arch, false));
314
308
  })();
315
309
  }
316
310
 
311
+ isElectronVersionGreaterOrEqualThen(version) {
312
+ return semver().gte(this.packager.config.electronVersion || "5.0.3", version);
313
+ }
314
+
317
315
  }
318
316
 
319
317
  exports.default = SnapTarget;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/targets/snap.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arch, executeAppBuilder, replaceDefault as _replaceDefault, serializeToYaml, toLinuxArchString, deepAssign } from \"builder-util\"\nimport { asArray } from \"builder-util-runtime\"\nimport { outputFile, readFile, rename } from \"fs-extra-p\"\nimport * as path from \"path\"\nimport * as semver from \"semver\"\nimport { SnapOptions } from \"..\"\nimport { Target } from \"../core\"\nimport { LinuxPackager, toAppImageOrSnapArch } from \"../linuxPackager\"\nimport { PlugDescriptor } from \"../options/SnapOptions\"\nimport { getTemplatePath } from \"../util/pathManager\"\nimport { LinuxTargetHelper } from \"./LinuxTargetHelper\"\nimport { createStageDirPath } from \"./targetUtil\"\nimport { safeLoad } from \"js-yaml\"\n\nconst defaultPlugs = [\"desktop\", \"desktop-legacy\", \"home\", \"x11\", \"unity7\", \"browser-support\", \"network\", \"gsettings\", \"pulseaudio\", \"opengl\"]\n\nexport default class SnapTarget extends Target {\n readonly options: SnapOptions = {...this.packager.platformSpecificBuildOptions, ...(this.packager.config as any)[this.name]}\n\n public isUseTemplateApp = false\n\n constructor(name: string, private readonly packager: LinuxPackager, private readonly helper: LinuxTargetHelper, readonly outDir: string) {\n super(name)\n }\n\n private replaceDefault(inList: Array<string> | null | undefined, defaultList: Array<string>) {\n const result = _replaceDefault(inList, defaultList)\n if (result !== defaultList) {\n this.isUseTemplateApp = false\n }\n return result\n }\n\n private getDefaultStagePackages() {\n // libxss1, libasound2 - was \"error while loading shared libraries: libXss.so.1\" on Xubuntu 16.04\n // noinspection SpellCheckingInspection\n const result = [\"libnspr4\", \"libnss3\", \"libxss1\", \"libappindicator3-1\", \"libsecret-1-0\"]\n // const result = []\n if (semver.lt(this.packager.config.electronVersion || \"5.0.3\", \"4.0.0\")) {\n result.push(\"libgconf2-4\")\n }\n return result\n }\n\n private async createDescriptor(arch: Arch): Promise<any> {\n if (semver.lt(this.packager.config.electronVersion || \"5.0.3\", \"2.0.0-beta.1\")) {\n throw new Error(\"Electron 2 and higher is required to build Snap\")\n }\n\n const appInfo = this.packager.appInfo\n const snapName = this.packager.executableName.toLowerCase()\n const options = this.options\n const linuxArchName = toAppImageOrSnapArch(arch)\n\n const plugs = normalizePlugConfiguration(this.options.plugs)\n\n const plugNames = this.replaceDefault(plugs == null ? null : Object.getOwnPropertyNames(plugs), defaultPlugs)\n const buildPackages = asArray(options.buildPackages)\n this.isUseTemplateApp = this.options.useTemplateApp !== false && arch === Arch.x64 && buildPackages.length === 0\n\n const appDescriptor: any = {\n command: \"command.sh\",\n // command: \"$SNAP/\" + (this.isUseTemplateApp ? \"\" : \"app/\") + this.packager.executableName\n plugs: plugNames,\n adapter: \"none\",\n }\n\n const snap: any = safeLoad(await readFile(path.join(getTemplatePath(\"snap\"), \"snapcraft.yaml\"), \"utf-8\"))\n if (this.isUseTemplateApp) {\n delete appDescriptor.adapter\n }\n if (options.grade != null) {\n snap.grade = options.grade\n }\n if (options.confinement != null) {\n snap.confinement = options.confinement\n }\n deepAssign(snap, {\n name: snapName,\n version: appInfo.version,\n summary: options.summary || appInfo.productName,\n description: this.helper.getDescription(options),\n architectures: [toLinuxArchString(arch, true)],\n apps: {\n [snapName]: appDescriptor\n },\n parts: {\n app: {\n \"stage-packages\": this.replaceDefault(options.stagePackages, this.getDefaultStagePackages()),\n }\n },\n })\n\n if (options.confinement === \"classic\") {\n delete appDescriptor.plugs\n delete snap.plugs\n }\n else {\n appDescriptor.environment = {\n TMPDIR: \"$XDG_RUNTIME_DIR\",\n PATH: \"$SNAP/usr/sbin:$SNAP/usr/bin:$SNAP/sbin:$SNAP/bin:$PATH\",\n SNAP_DESKTOP_RUNTIME: \"$SNAP/gnome-platform\",\n LD_LIBRARY_PATH: [\n \"$SNAP_LIBRARY_PATH\",\n \"$SNAP/lib:$SNAP/usr/lib:$SNAP/lib/\" + linuxArchName + \"-linux-gnu:$SNAP/usr/lib/\" + linuxArchName + \"-linux-gnu\",\n \"$LD_LIBRARY_PATH:$SNAP/lib:$SNAP/usr/lib\",\n \"$SNAP/lib/\" + linuxArchName + \"-linux-gnu:$SNAP/usr/lib/\" + linuxArchName + \"-linux-gnu\"\n ].join(\":\"),\n ...options.environment,\n }\n\n if (plugs != null) {\n for (const plugName of plugNames) {\n const plugOptions = plugs[plugName]\n if (plugOptions == null) {\n continue\n }\n\n snap.plugs[plugName] = plugOptions\n }\n }\n }\n\n if (buildPackages.length > 0) {\n snap.parts.app[\"build-packages\"] = buildPackages\n }\n if (options.after != null) {\n snap.parts.app.after = options.after\n }\n\n if (options.assumes != null) {\n snap.assumes = asArray(options.assumes)\n }\n\n return snap\n }\n\n async build(appOutDir: string, arch: Arch): Promise<any> {\n const packager = this.packager\n const options = this.options\n // tslint:disable-next-line:no-invalid-template-strings\n const artifactName = packager.expandArtifactNamePattern(this.options, \"snap\", arch, \"${name}_${version}_${arch}.${ext}\", false)\n const artifactPath = path.join(this.outDir, artifactName)\n await packager.info.callArtifactBuildStarted({\n targetPresentableName: \"snap\",\n file: artifactPath,\n arch,\n })\n\n const snap = await this.createDescriptor(arch)\n if (this.isUseTemplateApp) {\n delete snap.parts\n }\n\n const stageDir = await createStageDirPath(this, packager, arch)\n // snapcraft.yaml inside a snap directory\n const snapMetaDir = path.join(stageDir, this.isUseTemplateApp ? \"meta\" : \"snap\")\n\n const args = [\n \"snap\",\n \"--app\", appOutDir,\n \"--stage\", stageDir,\n \"--arch\", toLinuxArchString(arch, true),\n \"--output\", this.isUseTemplateApp ? artifactPath : \"out.snap\",\n \"--executable\", this.packager.executableName,\n ]\n\n await this.helper.icons\n if (this.helper.maxIconPath != null) {\n if (!this.isUseTemplateApp) {\n snap.icon = \"snap/gui/icon.png\"\n }\n args.push(\"--icon\", this.helper.maxIconPath)\n }\n\n const desktopFile = path.join(snapMetaDir, \"gui\", `${snap.name}.desktop`)\n await this.helper.writeDesktopEntry(this.options, packager.executableName, desktopFile, {\n // tslint:disable:no-invalid-template-strings\n Icon: \"${SNAP}/meta/gui/icon.png\"\n })\n\n if (semver.gte(this.packager.config.electronVersion || \"5.0.3\", \"5.0.0\") && !isBrowserSandboxAllowed(snap)) {\n args.push(\"--extraAppArgs=--no-sandbox\")\n args.push(\"--exclude\", \"chrome-sandbox\")\n }\n\n if (packager.packagerOptions.effectiveOptionComputed != null && await packager.packagerOptions.effectiveOptionComputed({snap, desktopFile, args})) {\n return\n }\n\n await outputFile(path.join(snapMetaDir, this.isUseTemplateApp ? \"snap.yaml\" : \"snapcraft.yaml\"), serializeToYaml(snap))\n\n const hooksDir = await packager.getResource(options.hooks, \"snap-hooks\")\n if (hooksDir != null) {\n args.push(\"--hooks\", hooksDir)\n }\n\n if (this.isUseTemplateApp) {\n args.push(\"--template-url\", semver.gte(this.packager.config.electronVersion || \"5.0.3\", \"4.0.0\") ? \"electron4\" : \"electron2\")\n }\n await executeAppBuilder(args)\n\n if (!this.isUseTemplateApp) {\n // multipass cannot access files outside of snapcraft command working dir\n await rename(path.join(stageDir, \"out.snap\"), artifactPath)\n }\n await packager.dispatchArtifactCreated(artifactPath, this, arch, packager.computeSafeArtifactName(artifactName, \"snap\", arch, false))\n }\n}\n\nfunction normalizePlugConfiguration(raw: Array<string | PlugDescriptor> | PlugDescriptor | null | undefined): { [key: string]: {[name: string]: any; } | null } | null {\n if (raw == null) {\n return null\n }\n\n const result: any = {}\n for (const item of (Array.isArray(raw) ? raw : [raw])) {\n if (typeof item === \"string\") {\n result[item] = null\n }\n else {\n Object.assign(result, item)\n }\n }\n return result\n}\n\nfunction isBrowserSandboxAllowed(snap: any): boolean {\n if (snap.plugs != null) {\n for (const plugName of Object.keys(snap.plugs)) {\n const plug = snap.plugs[plugName]\n if (plug.interface === \"browser-support\" && plug[\"allow-sandbox\"] === true) {\n return true\n }\n }\n }\n return false\n}"],"sourceRoot":""}
1
+ {"version":3,"sources":["../../src/targets/snap.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arch, deepAssign, executeAppBuilder, replaceDefault as _replaceDefault, serializeToYaml, toLinuxArchString, InvalidConfigurationError, log } from \"builder-util\"\nimport { asArray } from \"builder-util-runtime\"\nimport { outputFile, readFile } from \"fs-extra-p\"\nimport { safeLoad } from \"js-yaml\"\nimport * as path from \"path\"\nimport * as semver from \"semver\"\nimport { SnapOptions } from \"..\"\nimport { Target } from \"../core\"\nimport { LinuxPackager, toAppImageOrSnapArch } from \"../linuxPackager\"\nimport { PlugDescriptor } from \"../options/SnapOptions\"\nimport { getTemplatePath } from \"../util/pathManager\"\nimport { LinuxTargetHelper } from \"./LinuxTargetHelper\"\nimport { createStageDirPath } from \"./targetUtil\"\n\nconst defaultPlugs = [\"desktop\", \"desktop-legacy\", \"home\", \"x11\", \"unity7\", \"browser-support\", \"network\", \"gsettings\", \"pulseaudio\", \"opengl\"]\n\nexport default class SnapTarget extends Target {\n readonly options: SnapOptions = {...this.packager.platformSpecificBuildOptions, ...(this.packager.config as any)[this.name]}\n\n public isUseTemplateApp = false\n\n constructor(name: string, private readonly packager: LinuxPackager, private readonly helper: LinuxTargetHelper, readonly outDir: string) {\n super(name)\n }\n\n private replaceDefault(inList: Array<string> | null | undefined, defaultList: Array<string>) {\n const result = _replaceDefault(inList, defaultList)\n if (result !== defaultList) {\n this.isUseTemplateApp = false\n }\n return result\n }\n\n private static getDefaultStagePackages() {\n // libxss1 - was \"error while loading shared libraries: libXss.so.1\" on Xubuntu 16.04\n // noinspection SpellCheckingInspection\n return [\"libnspr4\", \"libnss3\", \"libxss1\", \"libappindicator3-1\", \"libsecret-1-0\"]\n }\n\n private async createDescriptor(arch: Arch): Promise<any> {\n if (!this.isElectronVersionGreaterOrEqualThen(\"4.0.0\")) {\n if (!this.isElectronVersionGreaterOrEqualThen(\"2.0.0-beta.1\")) {\n throw new InvalidConfigurationError(\"Electron 2 and higher is required to build Snap\")\n }\n\n log.warn(\"Electron 4 and higher is highly recommended for Snap\")\n }\n\n const appInfo = this.packager.appInfo\n const snapName = this.packager.executableName.toLowerCase()\n const options = this.options\n const linuxArchName = toAppImageOrSnapArch(arch)\n\n const plugs = normalizePlugConfiguration(this.options.plugs)\n\n const plugNames = this.replaceDefault(plugs == null ? null : Object.getOwnPropertyNames(plugs), defaultPlugs)\n const buildPackages = asArray(options.buildPackages)\n this.isUseTemplateApp = this.options.useTemplateApp !== false && arch === Arch.x64 && buildPackages.length === 0\n\n const appDescriptor: any = {\n command: \"command.sh\",\n plugs: plugNames,\n adapter: \"none\",\n }\n\n const snap: any = safeLoad(await readFile(path.join(getTemplatePath(\"snap\"), \"snapcraft.yaml\"), \"utf-8\"))\n if (this.isUseTemplateApp) {\n delete appDescriptor.adapter\n }\n if (options.grade != null) {\n snap.grade = options.grade\n }\n if (options.confinement != null) {\n snap.confinement = options.confinement\n }\n deepAssign(snap, {\n name: snapName,\n version: appInfo.version,\n summary: options.summary || appInfo.productName,\n description: this.helper.getDescription(options),\n architectures: [toLinuxArchString(arch, true)],\n apps: {\n [snapName]: appDescriptor\n },\n parts: {\n app: {\n \"stage-packages\": this.replaceDefault(options.stagePackages, SnapTarget.getDefaultStagePackages()),\n }\n },\n })\n\n if (options.confinement === \"classic\") {\n delete appDescriptor.plugs\n delete snap.plugs\n }\n else {\n appDescriptor.environment = {\n TMPDIR: \"$XDG_RUNTIME_DIR\",\n PATH: \"$SNAP/usr/sbin:$SNAP/usr/bin:$SNAP/sbin:$SNAP/bin:$PATH\",\n SNAP_DESKTOP_RUNTIME: \"$SNAP/gnome-platform\",\n LD_LIBRARY_PATH: [\n \"$SNAP_LIBRARY_PATH\",\n \"$SNAP/lib:$SNAP/usr/lib:$SNAP/lib/\" + linuxArchName + \"-linux-gnu:$SNAP/usr/lib/\" + linuxArchName + \"-linux-gnu\",\n \"$LD_LIBRARY_PATH:$SNAP/lib:$SNAP/usr/lib\",\n \"$SNAP/lib/\" + linuxArchName + \"-linux-gnu:$SNAP/usr/lib/\" + linuxArchName + \"-linux-gnu\"\n ].join(\":\"),\n ...options.environment,\n }\n\n if (plugs != null) {\n for (const plugName of plugNames) {\n const plugOptions = plugs[plugName]\n if (plugOptions == null) {\n continue\n }\n\n snap.plugs[plugName] = plugOptions\n }\n }\n }\n\n if (buildPackages.length > 0) {\n snap.parts.app[\"build-packages\"] = buildPackages\n }\n if (options.after != null) {\n snap.parts.app.after = options.after\n }\n\n if (options.assumes != null) {\n snap.assumes = asArray(options.assumes)\n }\n\n return snap\n }\n\n async build(appOutDir: string, arch: Arch): Promise<any> {\n const packager = this.packager\n const options = this.options\n // tslint:disable-next-line:no-invalid-template-strings\n const artifactName = packager.expandArtifactNamePattern(this.options, \"snap\", arch, \"${name}_${version}_${arch}.${ext}\", false)\n const artifactPath = path.join(this.outDir, artifactName)\n await packager.info.callArtifactBuildStarted({\n targetPresentableName: \"snap\",\n file: artifactPath,\n arch,\n })\n\n const snap = await this.createDescriptor(arch)\n if (this.isUseTemplateApp) {\n delete snap.parts\n }\n\n const stageDir = await createStageDirPath(this, packager, arch)\n const args = [\n \"snap\",\n \"--app\", appOutDir,\n \"--stage\", stageDir,\n \"--arch\", toLinuxArchString(arch, true),\n \"--output\", artifactPath,\n \"--executable\", this.packager.executableName,\n ]\n\n await this.helper.icons\n if (this.helper.maxIconPath != null) {\n if (!this.isUseTemplateApp) {\n snap.icon = \"snap/gui/icon.png\"\n }\n args.push(\"--icon\", this.helper.maxIconPath)\n }\n\n // snapcraft.yaml inside a snap directory\n const snapMetaDir = path.join(stageDir, this.isUseTemplateApp ? \"meta\" : \"snap\")\n const desktopFile = path.join(snapMetaDir, \"gui\", `${snap.name}.desktop`)\n await this.helper.writeDesktopEntry(this.options, packager.executableName, desktopFile, {\n // tslint:disable:no-invalid-template-strings\n Icon: \"${SNAP}/meta/gui/icon.png\"\n })\n\n if (this.isElectronVersionGreaterOrEqualThen(\"5.0.0\") && !isBrowserSandboxAllowed(snap)) {\n args.push(\"--extraAppArgs=--no-sandbox\")\n if (this.isUseTemplateApp) {\n args.push(\"--exclude\", \"chrome-sandbox\")\n }\n }\n\n if (packager.packagerOptions.effectiveOptionComputed != null && await packager.packagerOptions.effectiveOptionComputed({snap, desktopFile, args})) {\n return\n }\n\n await outputFile(path.join(snapMetaDir, this.isUseTemplateApp ? \"snap.yaml\" : \"snapcraft.yaml\"), serializeToYaml(snap))\n\n const hooksDir = await packager.getResource(options.hooks, \"snap-hooks\")\n if (hooksDir != null) {\n args.push(\"--hooks\", hooksDir)\n }\n\n if (this.isUseTemplateApp) {\n args.push(\"--template-url\", \"electron4\")\n }\n await executeAppBuilder(args)\n\n await packager.dispatchArtifactCreated(artifactPath, this, arch, packager.computeSafeArtifactName(artifactName, \"snap\", arch, false))\n }\n\n private isElectronVersionGreaterOrEqualThen(version: string) {\n return semver.gte(this.packager.config.electronVersion || \"5.0.3\", version)\n }\n}\n\nfunction normalizePlugConfiguration(raw: Array<string | PlugDescriptor> | PlugDescriptor | null | undefined): { [key: string]: {[name: string]: any; } | null } | null {\n if (raw == null) {\n return null\n }\n\n const result: any = {}\n for (const item of (Array.isArray(raw) ? raw : [raw])) {\n if (typeof item === \"string\") {\n result[item] = null\n }\n else {\n Object.assign(result, item)\n }\n }\n return result\n}\n\nfunction isBrowserSandboxAllowed(snap: any): boolean {\n if (snap.plugs != null) {\n for (const plugName of Object.keys(snap.plugs)) {\n const plug = snap.plugs[plugName]\n if (plug.interface === \"browser-support\" && plug[\"allow-sandbox\"] === true) {\n return true\n }\n }\n }\n return false\n}"],"sourceRoot":""}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/out/util/flags.js CHANGED
File without changes
File without changes
File without changes
package/out/util/hash.js CHANGED
File without changes
File without changes
File without changes
package/out/util/langs.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/out/util/timer.js CHANGED
File without changes
File without changes
File without changes
package/out/util/yarn.js CHANGED
File without changes
File without changes
File without changes
package/out/vm/MonoVm.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/out/vm/WineVm.js CHANGED
File without changes
File without changes
package/out/vm/vm.d.ts CHANGED
File without changes
package/out/vm/vm.js CHANGED
File without changes
package/out/vm/vm.js.map CHANGED
File without changes
File without changes
File without changes
File without changes
package/out/wine.d.ts CHANGED
File without changes
package/out/wine.js CHANGED
File without changes
package/out/wine.js.map CHANGED
File without changes
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "app-builder-lib",
3
3
  "description": "electron-builder lib",
4
- "version": "20.44.0",
4
+ "version": "20.44.4",
5
5
  "main": "out/index.js",
6
6
  "files": [
7
7
  "out",
@@ -42,14 +42,14 @@
42
42
  "homepage": "https://github.com/electron-userland/electron-builder",
43
43
  "dependencies": {
44
44
  "7zip-bin": "~4.1.0",
45
- "app-builder-bin": "2.6.12",
45
+ "app-builder-bin": "2.7.1",
46
46
  "async-exit-hook": "^2.0.1",
47
47
  "bluebird-lst": "^1.0.9",
48
48
  "chromium-pickle-js": "^0.2.0",
49
49
  "builder-util-runtime": "8.2.5",
50
- "builder-util": "10.0.3",
50
+ "builder-util": "10.1.2",
51
51
  "electron-osx-sign": "0.4.11",
52
- "electron-publish": "20.44.0",
52
+ "electron-publish": "20.44.4",
53
53
  "fs-extra-p": "^8.0.2",
54
54
  "hosted-git-info": "^2.7.1",
55
55
  "is-ci": "^2.0.0",
@@ -64,7 +64,7 @@
64
64
  "debug": "^4.1.1",
65
65
  "lazy-val": "^1.0.4",
66
66
  "temp-file": "^3.3.3",
67
- "ejs": "^2.6.1"
67
+ "ejs": "^2.6.2"
68
68
  },
69
69
  "typings": "./out/index.d.ts"
70
70
  }