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.
- package/out/Framework.d.ts +0 -0
- package/out/Framework.js +0 -0
- package/out/Framework.js.map +0 -0
- package/out/ProtonFramework.d.ts +0 -0
- package/out/ProtonFramework.js +0 -0
- package/out/ProtonFramework.js.map +0 -0
- package/out/appInfo.d.ts +0 -0
- package/out/appInfo.js +0 -0
- package/out/appInfo.js.map +0 -0
- package/out/asar/asar.d.ts +0 -0
- package/out/asar/asar.js +0 -0
- package/out/asar/asar.js.map +0 -0
- package/out/asar/asarFileChecker.d.ts +0 -0
- package/out/asar/asarFileChecker.js +0 -0
- package/out/asar/asarFileChecker.js.map +0 -0
- package/out/asar/asarUtil.d.ts +0 -0
- package/out/asar/asarUtil.js +0 -0
- package/out/asar/asarUtil.js.map +0 -0
- package/out/asar/integrity.d.ts +0 -0
- package/out/asar/integrity.js +0 -0
- package/out/asar/integrity.js.map +0 -0
- package/out/asar/unpackDetector.d.ts +0 -0
- package/out/asar/unpackDetector.js +0 -0
- package/out/asar/unpackDetector.js.map +0 -0
- package/out/binDownload.d.ts +0 -0
- package/out/binDownload.js +0 -0
- package/out/binDownload.js.map +0 -0
- package/out/codeSign/codesign.d.ts +0 -0
- package/out/codeSign/codesign.js +0 -0
- package/out/codeSign/codesign.js.map +0 -0
- package/out/codeSign/macCodeSign.d.ts +0 -0
- package/out/codeSign/macCodeSign.js +0 -0
- package/out/codeSign/macCodeSign.js.map +0 -0
- package/out/codeSign/windowsCodeSign.d.ts +0 -0
- package/out/codeSign/windowsCodeSign.js +0 -0
- package/out/codeSign/windowsCodeSign.js.map +0 -0
- package/out/configuration.d.ts +0 -0
- package/out/configuration.js +0 -0
- package/out/configuration.js.map +0 -0
- package/out/core.d.ts +0 -0
- package/out/core.js +0 -0
- package/out/core.js.map +0 -0
- package/out/electron/ElectronFramework.d.ts +0 -0
- package/out/electron/ElectronFramework.js +0 -0
- package/out/electron/ElectronFramework.js.map +0 -0
- package/out/electron/electronMac.d.ts +0 -0
- package/out/electron/electronMac.js +0 -0
- package/out/electron/electronMac.js.map +0 -0
- package/out/electron/electronVersion.d.ts +0 -0
- package/out/electron/electronVersion.js +0 -0
- package/out/electron/electronVersion.js.map +0 -0
- package/out/errorMessages.d.ts +0 -0
- package/out/errorMessages.js +0 -0
- package/out/errorMessages.js.map +0 -0
- package/out/fileMatcher.d.ts +0 -0
- package/out/fileMatcher.js +0 -0
- package/out/fileMatcher.js.map +0 -0
- package/out/fileTransformer.d.ts +0 -0
- package/out/fileTransformer.js +0 -0
- package/out/fileTransformer.js.map +0 -0
- package/out/forge-maker.d.ts +0 -0
- package/out/forge-maker.js +0 -0
- package/out/forge-maker.js.map +0 -0
- package/out/frameworks/LibUiFramework.d.ts +0 -0
- package/out/frameworks/LibUiFramework.js +0 -0
- package/out/frameworks/LibUiFramework.js.map +0 -0
- package/out/index.d.ts +0 -0
- package/out/index.js +0 -0
- package/out/index.js.map +0 -0
- package/out/linuxPackager.d.ts +0 -0
- package/out/linuxPackager.js +2 -1
- package/out/linuxPackager.js.map +1 -1
- package/out/macPackager.d.ts +0 -0
- package/out/macPackager.js +0 -0
- package/out/macPackager.js.map +0 -0
- package/out/options/AppXOptions.d.ts +0 -0
- package/out/options/AppXOptions.js +0 -0
- package/out/options/AppXOptions.js.map +0 -0
- package/out/options/CommonWindowsInstallerConfiguration.d.ts +0 -0
- package/out/options/CommonWindowsInstallerConfiguration.js +0 -0
- package/out/options/CommonWindowsInstallerConfiguration.js.map +0 -0
- package/out/options/FileAssociation.d.ts +0 -0
- package/out/options/FileAssociation.js +0 -0
- package/out/options/FileAssociation.js.map +0 -0
- package/out/options/MsiOptions.d.ts +0 -0
- package/out/options/MsiOptions.js +0 -0
- package/out/options/MsiOptions.js.map +0 -0
- package/out/options/PlatformSpecificBuildOptions.d.ts +0 -0
- package/out/options/PlatformSpecificBuildOptions.js +0 -0
- package/out/options/PlatformSpecificBuildOptions.js.map +0 -0
- package/out/options/SnapOptions.d.ts +0 -0
- package/out/options/SnapOptions.js +0 -0
- package/out/options/SnapOptions.js.map +0 -0
- package/out/options/SquirrelWindowsOptions.d.ts +0 -0
- package/out/options/SquirrelWindowsOptions.js +0 -0
- package/out/options/SquirrelWindowsOptions.js.map +0 -0
- package/out/options/linuxOptions.d.ts +0 -0
- package/out/options/linuxOptions.js +0 -0
- package/out/options/linuxOptions.js.map +0 -0
- package/out/options/macOptions.d.ts +0 -0
- package/out/options/macOptions.js +0 -0
- package/out/options/macOptions.js.map +0 -0
- package/out/options/metadata.d.ts +0 -0
- package/out/options/metadata.js +0 -0
- package/out/options/metadata.js.map +0 -0
- package/out/options/pkgOptions.d.ts +0 -0
- package/out/options/pkgOptions.js +0 -0
- package/out/options/pkgOptions.js.map +0 -0
- package/out/options/winOptions.d.ts +0 -0
- package/out/options/winOptions.js +0 -0
- package/out/options/winOptions.js.map +0 -0
- package/out/packager.d.ts +0 -0
- package/out/packager.js +1 -1
- package/out/packager.js.map +0 -0
- package/out/packagerApi.d.ts +0 -0
- package/out/packagerApi.js +0 -0
- package/out/packagerApi.js.map +0 -0
- package/out/platformPackager.d.ts +0 -0
- package/out/platformPackager.js +0 -0
- package/out/platformPackager.js.map +0 -0
- package/out/presets/rectCra.d.ts +0 -0
- package/out/presets/rectCra.js +0 -0
- package/out/presets/rectCra.js.map +0 -0
- package/out/publish/PublishManager.d.ts +0 -0
- package/out/publish/PublishManager.js +0 -0
- package/out/publish/PublishManager.js.map +0 -0
- package/out/publish/updateInfoBuilder.d.ts +0 -0
- package/out/publish/updateInfoBuilder.js +0 -0
- package/out/publish/updateInfoBuilder.js.map +0 -0
- package/out/remoteBuilder/ProjectInfoManager.d.ts +0 -0
- package/out/remoteBuilder/ProjectInfoManager.js +0 -0
- package/out/remoteBuilder/ProjectInfoManager.js.map +0 -0
- package/out/remoteBuilder/RemoteBuilder.d.ts +0 -11
- package/out/remoteBuilder/RemoteBuilder.js +2 -3
- package/out/remoteBuilder/RemoteBuilder.js.map +1 -1
- package/out/remoteBuilder/builder-cli.d.ts +0 -0
- package/out/remoteBuilder/builder-cli.js +16 -6
- package/out/remoteBuilder/builder-cli.js.map +1 -1
- package/out/remoteBuilder/remote-builder-certs.d.ts +0 -0
- package/out/remoteBuilder/remote-builder-certs.js +0 -0
- package/out/remoteBuilder/remote-builder-certs.js.map +0 -0
- package/out/targets/AppImageTarget.d.ts +0 -0
- package/out/targets/AppImageTarget.js +0 -0
- package/out/targets/AppImageTarget.js.map +0 -0
- package/out/targets/AppxTarget.d.ts +0 -0
- package/out/targets/AppxTarget.js +0 -0
- package/out/targets/AppxTarget.js.map +0 -0
- package/out/targets/ArchiveTarget.d.ts +0 -0
- package/out/targets/ArchiveTarget.js +0 -0
- package/out/targets/ArchiveTarget.js.map +0 -0
- package/out/targets/LinuxTargetHelper.d.ts +0 -0
- package/out/targets/LinuxTargetHelper.js +0 -0
- package/out/targets/LinuxTargetHelper.js.map +0 -0
- package/out/targets/MsiTarget.d.ts +0 -0
- package/out/targets/MsiTarget.js +0 -0
- package/out/targets/MsiTarget.js.map +0 -0
- package/out/targets/archive.d.ts +0 -0
- package/out/targets/archive.js +0 -0
- package/out/targets/archive.js.map +0 -0
- package/out/targets/differentialUpdateInfoBuilder.d.ts +0 -0
- package/out/targets/differentialUpdateInfoBuilder.js +0 -0
- package/out/targets/differentialUpdateInfoBuilder.js.map +0 -0
- package/out/targets/fpm.d.ts +0 -0
- package/out/targets/fpm.js +0 -0
- package/out/targets/fpm.js.map +0 -0
- package/out/targets/nsis/NsisTarget.d.ts +0 -0
- package/out/targets/nsis/NsisTarget.js +0 -0
- package/out/targets/nsis/NsisTarget.js.map +0 -0
- package/out/targets/nsis/WebInstallerTarget.d.ts +0 -0
- package/out/targets/nsis/WebInstallerTarget.js +0 -0
- package/out/targets/nsis/WebInstallerTarget.js.map +0 -0
- package/out/targets/nsis/nsisLang.d.ts +0 -0
- package/out/targets/nsis/nsisLang.js +0 -0
- package/out/targets/nsis/nsisLang.js.map +0 -0
- package/out/targets/nsis/nsisLicense.d.ts +0 -0
- package/out/targets/nsis/nsisLicense.js +0 -0
- package/out/targets/nsis/nsisLicense.js.map +0 -0
- package/out/targets/nsis/nsisOptions.d.ts +0 -0
- package/out/targets/nsis/nsisOptions.js +0 -0
- package/out/targets/nsis/nsisOptions.js.map +0 -0
- package/out/targets/nsis/nsisScriptGenerator.d.ts +0 -0
- package/out/targets/nsis/nsisScriptGenerator.js +0 -0
- package/out/targets/nsis/nsisScriptGenerator.js.map +0 -0
- package/out/targets/nsis/nsisUtil.d.ts +0 -0
- package/out/targets/nsis/nsisUtil.js +0 -0
- package/out/targets/nsis/nsisUtil.js.map +0 -0
- package/out/targets/pkg.d.ts +0 -0
- package/out/targets/pkg.js +0 -0
- package/out/targets/pkg.js.map +0 -0
- package/out/targets/snap.d.ts +2 -1
- package/out/targets/snap.js +35 -37
- package/out/targets/snap.js.map +1 -1
- package/out/targets/targetFactory.d.ts +0 -0
- package/out/targets/targetFactory.js +0 -0
- package/out/targets/targetFactory.js.map +0 -0
- package/out/targets/targetUtil.d.ts +0 -0
- package/out/targets/targetUtil.js +0 -0
- package/out/targets/targetUtil.js.map +0 -0
- package/out/targets/tools.d.ts +0 -0
- package/out/targets/tools.js +0 -0
- package/out/targets/tools.js.map +0 -0
- package/out/util/AppFileWalker.d.ts +0 -0
- package/out/util/AppFileWalker.js +0 -0
- package/out/util/AppFileWalker.js.map +0 -0
- package/out/util/NodeModuleCopyHelper.d.ts +0 -0
- package/out/util/NodeModuleCopyHelper.js +0 -0
- package/out/util/NodeModuleCopyHelper.js.map +0 -0
- package/out/util/appBuilder.d.ts +0 -0
- package/out/util/appBuilder.js +0 -0
- package/out/util/appBuilder.js.map +0 -0
- package/out/util/appFileCopier.d.ts +0 -0
- package/out/util/appFileCopier.js +0 -0
- package/out/util/appFileCopier.js.map +0 -0
- package/out/util/bundledTool.d.ts +0 -0
- package/out/util/bundledTool.js +0 -0
- package/out/util/bundledTool.js.map +0 -0
- package/out/util/cacheManager.d.ts +0 -0
- package/out/util/cacheManager.js +0 -0
- package/out/util/cacheManager.js.map +0 -0
- package/out/util/config.d.ts +0 -0
- package/out/util/config.js +0 -0
- package/out/util/config.js.map +0 -0
- package/out/util/filter.d.ts +0 -0
- package/out/util/filter.js +0 -0
- package/out/util/filter.js.map +0 -0
- package/out/util/flags.d.ts +0 -0
- package/out/util/flags.js +0 -0
- package/out/util/flags.js.map +0 -0
- package/out/util/hash.d.ts +0 -0
- package/out/util/hash.js +0 -0
- package/out/util/hash.js.map +0 -0
- package/out/util/langs.d.ts +0 -0
- package/out/util/langs.js +0 -0
- package/out/util/langs.js.map +0 -0
- package/out/util/license.d.ts +0 -0
- package/out/util/license.js +0 -0
- package/out/util/license.js.map +0 -0
- package/out/util/macosVersion.d.ts +0 -0
- package/out/util/macosVersion.js +0 -0
- package/out/util/macosVersion.js.map +0 -0
- package/out/util/macroExpander.d.ts +0 -0
- package/out/util/macroExpander.js +0 -0
- package/out/util/macroExpander.js.map +0 -0
- package/out/util/packageDependencies.d.ts +0 -0
- package/out/util/packageDependencies.js +0 -0
- package/out/util/packageDependencies.js.map +0 -0
- package/out/util/packageMetadata.d.ts +0 -0
- package/out/util/packageMetadata.js +0 -0
- package/out/util/packageMetadata.js.map +0 -0
- package/out/util/pathManager.d.ts +0 -0
- package/out/util/pathManager.js +0 -0
- package/out/util/pathManager.js.map +0 -0
- package/out/util/repositoryInfo.d.ts +0 -0
- package/out/util/repositoryInfo.js +0 -0
- package/out/util/repositoryInfo.js.map +0 -0
- package/out/util/timer.d.ts +0 -0
- package/out/util/timer.js +0 -0
- package/out/util/timer.js.map +0 -0
- package/out/util/yarn.d.ts +0 -0
- package/out/util/yarn.js +0 -0
- package/out/util/yarn.js.map +0 -0
- package/out/vm/MonoVm.d.ts +0 -0
- package/out/vm/MonoVm.js +0 -0
- package/out/vm/MonoVm.js.map +0 -0
- package/out/vm/ParallelsVm.d.ts +0 -0
- package/out/vm/ParallelsVm.js +0 -0
- package/out/vm/ParallelsVm.js.map +0 -0
- package/out/vm/WineVm.d.ts +0 -0
- package/out/vm/WineVm.js +0 -0
- package/out/vm/WineVm.js.map +0 -0
- package/out/vm/vm.d.ts +0 -0
- package/out/vm/vm.js +0 -0
- package/out/vm/vm.js.map +0 -0
- package/out/winPackager.d.ts +0 -0
- package/out/winPackager.js +0 -0
- package/out/winPackager.js.map +0 -0
- package/out/wine.d.ts +0 -0
- package/out/wine.js +0 -0
- package/out/wine.js.map +0 -0
- 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
|
package/out/targets/MsiTarget.js
CHANGED
|
File without changes
|
|
File without changes
|
package/out/targets/archive.d.ts
CHANGED
|
File without changes
|
package/out/targets/archive.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/out/targets/fpm.d.ts
CHANGED
|
File without changes
|
package/out/targets/fpm.js
CHANGED
|
File without changes
|
package/out/targets/fpm.js.map
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
|
package/out/targets/pkg.d.ts
CHANGED
|
File without changes
|
package/out/targets/pkg.js
CHANGED
|
File without changes
|
package/out/targets/pkg.js.map
CHANGED
|
File without changes
|
package/out/targets/snap.d.ts
CHANGED
|
@@ -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
|
}
|
package/out/targets/snap.js
CHANGED
|
@@ -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
|
|
134
|
+
static getDefaultStagePackages() {
|
|
135
|
+
// libxss1 - was "error while loading shared libraries: libXss.so.1" on Xubuntu 16.04
|
|
136
136
|
// noinspection SpellCheckingInspection
|
|
137
|
-
|
|
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 (
|
|
151
|
-
|
|
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,
|
|
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);
|
|
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 (
|
|
279
|
+
if (_this2.isElectronVersionGreaterOrEqualThen("5.0.0") && !isBrowserSandboxAllowed(snap)) {
|
|
283
280
|
args.push("--extraAppArgs=--no-sandbox");
|
|
284
|
-
|
|
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",
|
|
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;
|
package/out/targets/snap.js.map
CHANGED
|
@@ -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
|
package/out/targets/tools.d.ts
CHANGED
|
File without changes
|
package/out/targets/tools.js
CHANGED
|
File without changes
|
package/out/targets/tools.js.map
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/out/util/appBuilder.d.ts
CHANGED
|
File without changes
|
package/out/util/appBuilder.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/out/util/bundledTool.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/out/util/cacheManager.js
CHANGED
|
File without changes
|
|
File without changes
|
package/out/util/config.d.ts
CHANGED
|
File without changes
|
package/out/util/config.js
CHANGED
|
File without changes
|
package/out/util/config.js.map
CHANGED
|
File without changes
|
package/out/util/filter.d.ts
CHANGED
|
File without changes
|
package/out/util/filter.js
CHANGED
|
File without changes
|
package/out/util/filter.js.map
CHANGED
|
File without changes
|
package/out/util/flags.d.ts
CHANGED
|
File without changes
|
package/out/util/flags.js
CHANGED
|
File without changes
|
package/out/util/flags.js.map
CHANGED
|
File without changes
|
package/out/util/hash.d.ts
CHANGED
|
File without changes
|
package/out/util/hash.js
CHANGED
|
File without changes
|
package/out/util/hash.js.map
CHANGED
|
File without changes
|
package/out/util/langs.d.ts
CHANGED
|
File without changes
|
package/out/util/langs.js
CHANGED
|
File without changes
|
package/out/util/langs.js.map
CHANGED
|
File without changes
|
package/out/util/license.d.ts
CHANGED
|
File without changes
|
package/out/util/license.js
CHANGED
|
File without changes
|
package/out/util/license.js.map
CHANGED
|
File without changes
|
|
File without changes
|
package/out/util/macosVersion.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
|
package/out/util/pathManager.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/out/util/timer.d.ts
CHANGED
|
File without changes
|
package/out/util/timer.js
CHANGED
|
File without changes
|
package/out/util/timer.js.map
CHANGED
|
File without changes
|
package/out/util/yarn.d.ts
CHANGED
|
File without changes
|
package/out/util/yarn.js
CHANGED
|
File without changes
|
package/out/util/yarn.js.map
CHANGED
|
File without changes
|
package/out/vm/MonoVm.d.ts
CHANGED
|
File without changes
|
package/out/vm/MonoVm.js
CHANGED
|
File without changes
|
package/out/vm/MonoVm.js.map
CHANGED
|
File without changes
|
package/out/vm/ParallelsVm.d.ts
CHANGED
|
File without changes
|
package/out/vm/ParallelsVm.js
CHANGED
|
File without changes
|
|
File without changes
|
package/out/vm/WineVm.d.ts
CHANGED
|
File without changes
|
package/out/vm/WineVm.js
CHANGED
|
File without changes
|
package/out/vm/WineVm.js.map
CHANGED
|
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
|
package/out/winPackager.d.ts
CHANGED
|
File without changes
|
package/out/winPackager.js
CHANGED
|
File without changes
|
package/out/winPackager.js.map
CHANGED
|
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.
|
|
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.
|
|
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.
|
|
50
|
+
"builder-util": "10.1.2",
|
|
51
51
|
"electron-osx-sign": "0.4.11",
|
|
52
|
-
"electron-publish": "20.44.
|
|
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.
|
|
67
|
+
"ejs": "^2.6.2"
|
|
68
68
|
},
|
|
69
69
|
"typings": "./out/index.d.ts"
|
|
70
70
|
}
|