app-builder-lib 22.1.0 → 22.2.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.
- 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 +10 -10
- 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 +1 -1
- 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 +1 -1
- package/out/asar/asarUtil.js.map +0 -0
- package/out/asar/integrity.d.ts +0 -0
- package/out/asar/integrity.js +1 -1
- package/out/asar/integrity.js.map +0 -0
- package/out/asar/unpackDetector.d.ts +0 -0
- package/out/asar/unpackDetector.js +1 -1
- 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 +1 -1
- package/out/codeSign/codesign.js.map +0 -0
- package/out/codeSign/macCodeSign.d.ts +0 -0
- package/out/codeSign/macCodeSign.js +1 -1
- package/out/codeSign/macCodeSign.js.map +0 -0
- package/out/codeSign/windowsCodeSign.d.ts +0 -0
- package/out/codeSign/windowsCodeSign.js +3 -3
- package/out/codeSign/windowsCodeSign.js.map +1 -1
- 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 +1 -1
- package/out/electron/ElectronFramework.js +1 -1
- package/out/electron/ElectronFramework.js.map +1 -1
- package/out/electron/electronMac.d.ts +0 -0
- package/out/electron/electronMac.js +1 -1
- package/out/electron/electronMac.js.map +0 -0
- package/out/electron/electronVersion.d.ts +0 -0
- package/out/electron/electronVersion.js +1 -1
- 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 +1 -1
- package/out/fileMatcher.js.map +0 -0
- package/out/fileTransformer.d.ts +0 -0
- package/out/fileTransformer.js +1 -1
- package/out/fileTransformer.js.map +0 -0
- package/out/forge-maker.d.ts +0 -0
- package/out/forge-maker.js +1 -1
- package/out/forge-maker.js.map +0 -0
- package/out/frameworks/LibUiFramework.d.ts +0 -0
- package/out/frameworks/LibUiFramework.js +1 -1
- 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 +1 -1
- package/out/linuxPackager.js +0 -0
- package/out/linuxPackager.js.map +0 -0
- package/out/macPackager.d.ts +1 -1
- package/out/macPackager.js +1 -1
- 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 +4 -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 +4 -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 +11 -11
- package/out/packager.js +2 -2
- 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 +10 -10
- package/out/platformPackager.js +1 -1
- package/out/platformPackager.js.map +0 -0
- package/out/presets/rectCra.d.ts +0 -0
- package/out/presets/rectCra.js +1 -1
- package/out/presets/rectCra.js.map +0 -0
- package/out/publish/PublishManager.d.ts +0 -0
- package/out/publish/PublishManager.js +1 -1
- package/out/publish/PublishManager.js.map +0 -0
- package/out/publish/SnapStorePublisher.js +1 -1
- package/out/publish/s3/BaseS3Publisher.js +1 -1
- package/out/publish/updateInfoBuilder.d.ts +0 -0
- package/out/publish/updateInfoBuilder.js +1 -1
- package/out/publish/updateInfoBuilder.js.map +0 -0
- package/out/remoteBuilder/ProjectInfoManager.d.ts +0 -0
- package/out/remoteBuilder/ProjectInfoManager.js +1 -1
- package/out/remoteBuilder/ProjectInfoManager.js.map +0 -0
- package/out/remoteBuilder/RemoteBuilder.d.ts +0 -0
- package/out/remoteBuilder/RemoteBuilder.js +1 -1
- package/out/remoteBuilder/RemoteBuilder.js.map +0 -0
- package/out/remoteBuilder/builder-cli.d.ts +0 -0
- package/out/remoteBuilder/builder-cli.js +1 -1
- package/out/remoteBuilder/builder-cli.js.map +0 -0
- 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 +1 -1
- package/out/targets/AppImageTarget.js.map +1 -1
- package/out/targets/AppxTarget.d.ts +0 -0
- package/out/targets/AppxTarget.js +1 -1
- package/out/targets/AppxTarget.js.map +0 -0
- package/out/targets/ArchiveTarget.d.ts +0 -0
- package/out/targets/ArchiveTarget.js +1 -1
- package/out/targets/ArchiveTarget.js.map +0 -0
- package/out/targets/LinuxTargetHelper.d.ts +2 -2
- package/out/targets/LinuxTargetHelper.js +6 -0
- package/out/targets/LinuxTargetHelper.js.map +1 -1
- package/out/targets/MsiTarget.d.ts +0 -0
- package/out/targets/MsiTarget.js +1 -1
- package/out/targets/MsiTarget.js.map +0 -0
- package/out/targets/archive.d.ts +0 -0
- package/out/targets/archive.js +1 -1
- package/out/targets/archive.js.map +0 -0
- package/out/targets/differentialUpdateInfoBuilder.d.ts +0 -0
- package/out/targets/differentialUpdateInfoBuilder.js +1 -1
- package/out/targets/differentialUpdateInfoBuilder.js.map +0 -0
- package/out/targets/fpm.d.ts +0 -0
- package/out/targets/fpm.js +1 -1
- package/out/targets/fpm.js.map +0 -0
- package/out/targets/nsis/NsisTarget.d.ts +5 -5
- package/out/targets/nsis/NsisTarget.js +18 -7
- package/out/targets/nsis/NsisTarget.js.map +1 -1
- package/out/targets/nsis/WebInstallerTarget.d.ts +2 -2
- 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 +1 -1
- package/out/targets/nsis/nsisLang.js.map +0 -0
- package/out/targets/nsis/nsisLicense.d.ts +0 -0
- package/out/targets/nsis/nsisLicense.js +1 -1
- package/out/targets/nsis/nsisLicense.js.map +0 -0
- package/out/targets/nsis/nsisOptions.d.ts +4 -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 +3 -0
- package/out/targets/nsis/nsisUtil.js +193 -4
- package/out/targets/nsis/nsisUtil.js.map +1 -1
- package/out/targets/pkg.d.ts +0 -0
- package/out/targets/pkg.js +12 -1
- package/out/targets/pkg.js.map +1 -1
- package/out/targets/snap.d.ts +0 -0
- package/out/targets/snap.js +1 -1
- package/out/targets/snap.js.map +0 -0
- package/out/targets/targetFactory.d.ts +1 -1
- 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 +1 -1
- 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 +1 -1
- package/out/util/AppFileWalker.js.map +0 -0
- package/out/util/NodeModuleCopyHelper.d.ts +0 -0
- package/out/util/NodeModuleCopyHelper.js +1 -1
- 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 +13 -18
- package/out/util/appFileCopier.js.map +1 -1
- 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 +1 -1
- package/out/util/cacheManager.js.map +0 -0
- package/out/util/config.d.ts +0 -0
- package/out/util/config.js +2 -2
- package/out/util/config.js.map +0 -0
- package/out/util/filter.d.ts +0 -0
- package/out/util/filter.js +1 -1
- 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 +1 -1
- package/out/util/license.js.map +0 -0
- package/out/util/macosVersion.d.ts +0 -0
- package/out/util/macosVersion.js +1 -1
- 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 +1 -1
- package/out/util/packageMetadata.js.map +0 -0
- package/out/util/pathManager.d.ts +0 -0
- package/out/util/pathManager.js +1 -1
- package/out/util/pathManager.js.map +0 -0
- package/out/util/repositoryInfo.d.ts +0 -0
- package/out/util/repositoryInfo.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/out/vm/WineVm.js.map +0 -0
- package/out/vm/vm.d.ts +1 -1
- package/out/vm/vm.js +1 -1
- package/out/vm/vm.js.map +0 -0
- package/out/winPackager.d.ts +2 -2
- package/out/winPackager.js +1 -1
- 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 +8 -8
- package/scheme.json +154 -4
- package/templates/entitlements.mac.plist +1 -3
- package/templates/nsis/messages.yml +1 -1
- package/templates/nsis/multiUser.nsh +1 -1
- package/templates/nsis/portable.nsi +21 -2
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.CopyElevateHelper = exports.AppPackageHelper = exports.NSIS_PATH = exports.nsisTemplatesDir = void 0;
|
|
6
|
+
exports.UninstallerReader = exports.CopyElevateHelper = exports.AppPackageHelper = exports.NSIS_PATH = exports.nsisTemplatesDir = void 0;
|
|
7
7
|
|
|
8
8
|
function _bluebirdLst() {
|
|
9
9
|
const data = _interopRequireDefault(require("bluebird-lst"));
|
|
@@ -77,9 +77,21 @@ function _pathManager() {
|
|
|
77
77
|
return data;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
+
var _fs2 = _interopRequireDefault(require("fs"));
|
|
81
|
+
|
|
82
|
+
function _zlib() {
|
|
83
|
+
const data = _interopRequireDefault(require("zlib"));
|
|
84
|
+
|
|
85
|
+
_zlib = function () {
|
|
86
|
+
return data;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
return data;
|
|
90
|
+
}
|
|
91
|
+
|
|
80
92
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
81
93
|
|
|
82
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {};
|
|
94
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
83
95
|
|
|
84
96
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
85
97
|
|
|
@@ -93,7 +105,7 @@ const NSIS_PATH = new (_lazyVal().Lazy)(() => {
|
|
|
93
105
|
} // noinspection SpellCheckingInspection
|
|
94
106
|
|
|
95
107
|
|
|
96
|
-
return (0, _binDownload().getBinFromUrl)("nsis", "3.0.4", "
|
|
108
|
+
return (0, _binDownload().getBinFromUrl)("nsis", "3.0.4.1", "VKMiizYdmNdJOWpRGz4trl4lD++BvYP2irAXpMilheUP0pc93iKlWAoP843Vlraj8YG19CVn0j+dCo/hURz9+Q==");
|
|
97
109
|
});
|
|
98
110
|
exports.NSIS_PATH = NSIS_PATH;
|
|
99
111
|
|
|
@@ -189,6 +201,183 @@ class CopyElevateHelper {
|
|
|
189
201
|
return promise;
|
|
190
202
|
}
|
|
191
203
|
|
|
192
|
-
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
exports.CopyElevateHelper = CopyElevateHelper;
|
|
207
|
+
|
|
208
|
+
class BinaryReader {
|
|
209
|
+
constructor(buffer) {
|
|
210
|
+
this._buffer = buffer;
|
|
211
|
+
this._position = 0;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
get length() {
|
|
215
|
+
return this._buffer.length;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
get position() {
|
|
219
|
+
return this._position;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
match(signature) {
|
|
223
|
+
if (signature.every((v, i) => this._buffer[this._position + i] === v)) {
|
|
224
|
+
this._position += signature.length;
|
|
225
|
+
return true;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
return false;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
skip(offset) {
|
|
232
|
+
this._position += offset;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
bytes(size) {
|
|
236
|
+
const value = this._buffer.subarray(this._position, this._position + size);
|
|
237
|
+
|
|
238
|
+
this._position += size;
|
|
239
|
+
return value;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
uint16() {
|
|
243
|
+
const value = this._buffer[this._position] | this._buffer[this._position + 1] << 8;
|
|
244
|
+
this._position += 2;
|
|
245
|
+
return value;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
uint32() {
|
|
249
|
+
return this.uint16() | this.uint16() << 16;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
string(length) {
|
|
253
|
+
let value = "";
|
|
254
|
+
|
|
255
|
+
for (let i = 0; i < length; i++) {
|
|
256
|
+
const c = this._buffer[this._position + i];
|
|
257
|
+
|
|
258
|
+
if (c === 0x00) {
|
|
259
|
+
break;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
value += String.fromCharCode(c);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
this._position += length;
|
|
266
|
+
return value;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
class UninstallerReader {
|
|
272
|
+
// noinspection SpellCheckingInspection
|
|
273
|
+
static exec(installerPath, uninstallerPath) {
|
|
274
|
+
const buffer = _fs2.default.readFileSync(installerPath);
|
|
275
|
+
|
|
276
|
+
const reader = new BinaryReader(buffer); // IMAGE_DOS_HEADER
|
|
277
|
+
|
|
278
|
+
if (!reader.match([0x4D, 0x5A])) {
|
|
279
|
+
throw new Error("Invalid 'MZ' signature.");
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
reader.skip(58); // e_lfanew
|
|
283
|
+
|
|
284
|
+
reader.skip(reader.uint32() - reader.position); // IMAGE_FILE_HEADER
|
|
285
|
+
|
|
286
|
+
if (!reader.match([0x50, 0x45, 0x00, 0x00])) {
|
|
287
|
+
throw new Error("Invalid 'PE' signature.");
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
reader.skip(2);
|
|
291
|
+
const numberOfSections = reader.uint16();
|
|
292
|
+
reader.skip(12);
|
|
293
|
+
const sizeOfOptionalHeader = reader.uint16();
|
|
294
|
+
reader.skip(2);
|
|
295
|
+
reader.skip(sizeOfOptionalHeader); // IMAGE_SECTION_HEADER
|
|
296
|
+
|
|
297
|
+
let nsisOffset = 0;
|
|
298
|
+
|
|
299
|
+
for (let i = 0; i < numberOfSections; i++) {
|
|
300
|
+
const name = reader.string(8);
|
|
301
|
+
reader.skip(8);
|
|
302
|
+
const rawSize = reader.uint32();
|
|
303
|
+
const rawPointer = reader.uint32();
|
|
304
|
+
reader.skip(16);
|
|
305
|
+
|
|
306
|
+
switch (name) {
|
|
307
|
+
case ".text":
|
|
308
|
+
case ".rdata":
|
|
309
|
+
case ".data":
|
|
310
|
+
case ".rsrc":
|
|
311
|
+
{
|
|
312
|
+
nsisOffset = Math.max(rawPointer + rawSize, nsisOffset);
|
|
313
|
+
break;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
default:
|
|
317
|
+
{
|
|
318
|
+
if (rawPointer !== 0 && rawSize !== 0) {
|
|
319
|
+
throw new Error("Unsupported section '" + name + "'.");
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
break;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
const executable = buffer.subarray(0, nsisOffset);
|
|
328
|
+
const nsisSize = buffer.length - nsisOffset;
|
|
329
|
+
const nsisReader = new BinaryReader(buffer.subarray(nsisOffset, nsisOffset + nsisSize));
|
|
330
|
+
const nsisSignature = [0xEF, 0xBE, 0xAD, 0xDE, 0x4E, 0x75, 0x6C, 0x6C, 0x73, 0x6F, 0x66, 0x74, 0x49, 0x6E, 0x73, 0x74];
|
|
331
|
+
nsisReader.uint32(); // ?
|
|
332
|
+
|
|
333
|
+
if (!nsisReader.match(nsisSignature)) {
|
|
334
|
+
throw new Error("Invalid signature.");
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
nsisReader.uint32(); // ?
|
|
338
|
+
|
|
339
|
+
if (nsisSize !== nsisReader.uint32()) {
|
|
340
|
+
throw new Error("Size mismatch.");
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
let innerBuffer = null;
|
|
344
|
+
|
|
345
|
+
while (true) {
|
|
346
|
+
let size = nsisReader.uint32();
|
|
347
|
+
const compressed = (size & 0x80000000) !== 0;
|
|
348
|
+
size = size & 0x7FFFFFFF;
|
|
349
|
+
|
|
350
|
+
if (size === 0 || nsisReader.position + size > nsisReader.length || nsisReader.position >= nsisReader.length) {
|
|
351
|
+
break;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
let buffer = nsisReader.bytes(size);
|
|
355
|
+
|
|
356
|
+
if (compressed) {
|
|
357
|
+
buffer = _zlib().default.inflateRawSync(buffer);
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
const innerReader = new BinaryReader(buffer);
|
|
361
|
+
innerReader.uint32(); // ?
|
|
362
|
+
|
|
363
|
+
if (innerReader.match(nsisSignature)) {
|
|
364
|
+
if (innerBuffer) {
|
|
365
|
+
throw new Error("Multiple inner blocks.");
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
innerBuffer = buffer;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
if (!innerBuffer) {
|
|
373
|
+
throw new Error("Inner block not found.");
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
_fs2.default.writeFileSync(uninstallerPath, executable);
|
|
377
|
+
|
|
378
|
+
_fs2.default.appendFileSync(uninstallerPath, innerBuffer);
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
} exports.UninstallerReader = UninstallerReader;
|
|
193
382
|
// __ts-babel@6.0.4
|
|
194
383
|
//# sourceMappingURL=nsisUtil.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/targets/nsis/nsisUtil.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { Arch, log } from \"builder-util\"\nimport { PackageFileInfo } from \"builder-util-runtime\"\nimport { getBinFromUrl } from \"../../binDownload\"\nimport { copyFile } from \"builder-util/out/fs\"\nimport { unlink } from \"fs-extra\"\nimport { Lazy } from \"lazy-val\"\nimport * as path from \"path\"\nimport { getTemplatePath } from \"../../util/pathManager\"\nimport { NsisTarget } from \"./NsisTarget\"\n\nexport const nsisTemplatesDir = getTemplatePath(\"nsis\")\n\nexport const NSIS_PATH = new Lazy(() => {\n const custom = process.env.ELECTRON_BUILDER_NSIS_DIR\n if (custom != null && custom.length > 0) {\n return Promise.resolve(custom.trim())\n }\n // noinspection SpellCheckingInspection\n return getBinFromUrl(\"nsis\", \"3.0.4\", \"MNETIF8tex6+oiA0mgBi3/XKNH+jog4IBUp/F+Or7zUEhIP+c7cRjb9qGuBIofAXQ51z3RpyCfII4aPadsZB5Q==\")\n})\n\nexport class AppPackageHelper {\n private readonly archToFileInfo = new Map<Arch, Promise<PackageFileInfo>>()\n private readonly infoToIsDelete = new Map<PackageFileInfo, boolean>()\n\n /** @private */\n refCount = 0\n\n constructor(private readonly elevateHelper: CopyElevateHelper) {\n }\n\n async packArch(arch: Arch, target: NsisTarget): Promise<PackageFileInfo> {\n let infoPromise = this.archToFileInfo.get(arch)\n if (infoPromise == null) {\n const appOutDir = target.archs.get(arch)!\n infoPromise = this.elevateHelper.copy(appOutDir, target)\n .then(() => target.buildAppPackage(appOutDir, arch))\n this.archToFileInfo.set(arch, infoPromise)\n }\n\n const info = await infoPromise\n if (target.isWebInstaller) {\n this.infoToIsDelete.set(info, false)\n }\n else if (!this.infoToIsDelete.has(info)) {\n this.infoToIsDelete.set(info, true)\n }\n return info\n }\n\n async finishBuild(): Promise<any> {\n if (--this.refCount > 0) {\n return\n }\n\n const filesToDelete: Array<string> = []\n for (const [info, isDelete] of this.infoToIsDelete.entries()) {\n if (isDelete) {\n filesToDelete.push(info.path)\n }\n }\n\n await BluebirdPromise.map(filesToDelete, it => unlink(it))\n }\n}\n\nexport class CopyElevateHelper {\n private readonly copied = new Map<string, Promise<any>>()\n\n copy(appOutDir: string, target: NsisTarget): Promise<any> {\n if (!target.packager.info.framework.isCopyElevateHelper) {\n return Promise.resolve()\n }\n\n let isPackElevateHelper = target.options.packElevateHelper\n if (isPackElevateHelper === false && target.options.perMachine === true) {\n isPackElevateHelper = true\n log.warn(\"`packElevateHelper = false` is ignored, because `perMachine` is set to `true`\")\n }\n\n if (isPackElevateHelper === false) {\n return Promise.resolve()\n }\n\n let promise = this.copied.get(appOutDir)\n if (promise != null) {\n return promise\n }\n\n promise = NSIS_PATH.value\n .then(it => {\n const outFile = path.join(appOutDir, \"resources\", \"elevate.exe\")\n const promise = copyFile(path.join(it, \"elevate.exe\"), outFile, false)\n if (target.packager.platformSpecificBuildOptions.signAndEditExecutable !== false) {\n return promise.then(() => target.packager.sign(outFile))\n }\n return promise\n })\n this.copied.set(appOutDir, promise)\n return promise\n }\n}\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["../../../src/targets/nsis/nsisUtil.ts"],"names":[],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;AAEO,MAAM,gBAAgB,GAAG,oCAAgB,MAAhB,CAAzB;;AAEA,MAAM,SAAS,GAAG,KAAI,eAAJ,EAAS,MAAK;AACrC,QAAM,MAAM,GAAG,OAAO,CAAC,GAAR,CAAY,yBAA3B;;AACA,MAAI,MAAM,IAAI,IAAV,IAAkB,MAAM,CAAC,MAAP,GAAgB,CAAtC,EAAyC;AACvC,WAAO,OAAO,CAAC,OAAR,CAAgB,MAAM,CAAC,IAAP,EAAhB,CAAP;AACD,GAJoC,CAKrC;;;AACA,SAAO,kCAAc,MAAd,EAAsB,SAAtB,EAAiC,0FAAjC,CAAP;AACD,CAPwB,CAAlB;;;AASD,MAAO,gBAAP,CAAuB;AAO3B,EAAA,WAAA,CAA6B,aAA7B,EAA6D;AAAhC,SAAA,aAAA,GAAA,aAAA;AANZ,SAAA,cAAA,GAAiB,IAAI,GAAJ,EAAjB;AACA,SAAA,cAAA,GAAiB,IAAI,GAAJ,EAAjB;AAEjB;;AACA,SAAA,QAAA,GAAW,CAAX;AAGC;;AAED,QAAM,QAAN,CAAe,IAAf,EAA2B,MAA3B,EAA6C;AAC3C,QAAI,WAAW,GAAG,KAAK,cAAL,CAAoB,GAApB,CAAwB,IAAxB,CAAlB;;AACA,QAAI,WAAW,IAAI,IAAnB,EAAyB;AACvB,YAAM,SAAS,GAAG,MAAM,CAAC,KAAP,CAAa,GAAb,CAAiB,IAAjB,CAAlB;AACA,MAAA,WAAW,GAAG,KAAK,aAAL,CAAmB,IAAnB,CAAwB,SAAxB,EAAmC,MAAnC,EACX,IADW,CACN,MAAM,MAAM,CAAC,eAAP,CAAuB,SAAvB,EAAkC,IAAlC,CADA,CAAd;AAEA,WAAK,cAAL,CAAoB,GAApB,CAAwB,IAAxB,EAA8B,WAA9B;AACD;;AAED,UAAM,IAAI,GAAG,MAAM,WAAnB;;AACA,QAAI,MAAM,CAAC,cAAX,EAA2B;AACzB,WAAK,cAAL,CAAoB,GAApB,CAAwB,IAAxB,EAA8B,KAA9B;AACD,KAFD,MAGK,IAAI,CAAC,KAAK,cAAL,CAAoB,GAApB,CAAwB,IAAxB,CAAL,EAAoC;AACvC,WAAK,cAAL,CAAoB,GAApB,CAAwB,IAAxB,EAA8B,IAA9B;AACD;;AACD,WAAO,IAAP;AACD;;AAED,QAAM,WAAN,GAAiB;AACf,QAAI,EAAE,KAAK,QAAP,GAAkB,CAAtB,EAAyB;AACvB;AACD;;AAED,UAAM,aAAa,GAAkB,EAArC;;AACA,SAAK,MAAM,CAAC,IAAD,EAAO,QAAP,CAAX,IAA+B,KAAK,cAAL,CAAoB,OAApB,EAA/B,EAA8D;AAC5D,UAAI,QAAJ,EAAc;AACZ,QAAA,aAAa,CAAC,IAAd,CAAmB,IAAI,CAAC,IAAxB;AACD;AACF;;AAED,UAAM,uBAAgB,GAAhB,CAAoB,aAApB,EAAmC,EAAE,IAAI,uBAAO,EAAP,CAAzC,CAAN;AACD;;AA1C0B;;;;AA6CvB,MAAO,iBAAP,CAAwB;AAA9B,EAAA,WAAA,GAAA;AACmB,SAAA,MAAA,GAAS,IAAI,GAAJ,EAAT;AAkClB;;AAhCC,EAAA,IAAI,CAAC,SAAD,EAAoB,MAApB,EAAsC;AACxC,QAAI,CAAC,MAAM,CAAC,QAAP,CAAgB,IAAhB,CAAqB,SAArB,CAA+B,mBAApC,EAAyD;AACvD,aAAO,OAAO,CAAC,OAAR,EAAP;AACD;;AAED,QAAI,mBAAmB,GAAG,MAAM,CAAC,OAAP,CAAe,iBAAzC;;AACA,QAAI,mBAAmB,KAAK,KAAxB,IAAiC,MAAM,CAAC,OAAP,CAAe,UAAf,KAA8B,IAAnE,EAAyE;AACvE,MAAA,mBAAmB,GAAG,IAAtB;;AACA,yBAAI,IAAJ,CAAS,+EAAT;AACD;;AAED,QAAI,mBAAmB,KAAK,KAA5B,EAAmC;AACjC,aAAO,OAAO,CAAC,OAAR,EAAP;AACD;;AAED,QAAI,OAAO,GAAG,KAAK,MAAL,CAAY,GAAZ,CAAgB,SAAhB,CAAd;;AACA,QAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,aAAO,OAAP;AACD;;AAED,IAAA,OAAO,GAAG,SAAS,CAAC,KAAV,CACP,IADO,CACF,EAAE,IAAG;AACT,YAAM,OAAO,GAAG,IAAI,CAAC,IAAL,CAAU,SAAV,EAAqB,WAArB,EAAkC,aAAlC,CAAhB;AACA,YAAM,OAAO,GAAG,oBAAS,IAAI,CAAC,IAAL,CAAU,EAAV,EAAc,aAAd,CAAT,EAAuC,OAAvC,EAAgD,KAAhD,CAAhB;;AACA,UAAI,MAAM,CAAC,QAAP,CAAgB,4BAAhB,CAA6C,qBAA7C,KAAuE,KAA3E,EAAkF;AAChF,eAAO,OAAO,CAAC,IAAR,CAAa,MAAM,MAAM,CAAC,QAAP,CAAgB,IAAhB,CAAqB,OAArB,CAAnB,CAAP;AACD;;AACD,aAAO,OAAP;AACD,KARO,CAAV;AASA,SAAK,MAAL,CAAY,GAAZ,CAAgB,SAAhB,EAA2B,OAA3B;AACA,WAAO,OAAP;AACD;;AAlC2B;;;;AAqC9B,MAAM,YAAN,CAAkB;AAIhB,EAAA,WAAA,CAAY,MAAZ,EAA0B;AACxB,SAAK,OAAL,GAAe,MAAf;AACA,SAAK,SAAL,GAAiB,CAAjB;AACD;;AAED,MAAI,MAAJ,GAAU;AACR,WAAO,KAAK,OAAL,CAAa,MAApB;AACD;;AAED,MAAI,QAAJ,GAAY;AACV,WAAO,KAAK,SAAZ;AACD;;AAED,EAAA,KAAK,CAAC,SAAD,EAAyB;AAC5B,QAAI,SAAS,CAAC,KAAV,CAAgB,CAAC,CAAD,EAAI,CAAJ,KAAU,KAAK,OAAL,CAAa,KAAK,SAAL,GAAiB,CAA9B,MAAqC,CAA/D,CAAJ,EAAuE;AACrE,WAAK,SAAL,IAAkB,SAAS,CAAC,MAA5B;AACA,aAAO,IAAP;AACD;;AACD,WAAO,KAAP;AACD;;AAED,EAAA,IAAI,CAAC,MAAD,EAAe;AACjB,SAAK,SAAL,IAAkB,MAAlB;AACD;;AAED,EAAA,KAAK,CAAC,IAAD,EAAa;AAChB,UAAM,KAAK,GAAG,KAAK,OAAL,CAAa,QAAb,CAAsB,KAAK,SAA3B,EAAsC,KAAK,SAAL,GAAiB,IAAvD,CAAd;;AACA,SAAK,SAAL,IAAkB,IAAlB;AACA,WAAO,KAAP;AACD;;AAED,EAAA,MAAM,GAAA;AACJ,UAAM,KAAK,GAAG,KAAK,OAAL,CAAa,KAAK,SAAlB,IAAgC,KAAK,OAAL,CAAa,KAAK,SAAL,GAAiB,CAA9B,KAAoC,CAAlF;AACA,SAAK,SAAL,IAAkB,CAAlB;AACA,WAAO,KAAP;AACD;;AAED,EAAA,MAAM,GAAA;AACJ,WAAO,KAAK,MAAL,KAAiB,KAAK,MAAL,MAAiB,EAAzC;AACD;;AAED,EAAA,MAAM,CAAC,MAAD,EAAe;AACnB,QAAI,KAAK,GAAG,EAAZ;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAApB,EAA4B,CAAC,EAA7B,EAAiC;AAC/B,YAAM,CAAC,GAAG,KAAK,OAAL,CAAa,KAAK,SAAL,GAAiB,CAA9B,CAAV;;AACA,UAAI,CAAC,KAAK,IAAV,EAAgB;AACd;AACD;;AACD,MAAA,KAAK,IAAI,MAAM,CAAC,YAAP,CAAoB,CAApB,CAAT;AACD;;AACD,SAAK,SAAL,IAAkB,MAAlB;AACA,WAAO,KAAP;AACD;;AAxDe;;AA2DZ,MAAO,iBAAP,CAAwB;AAC5B;AACA,SAAO,IAAP,CAAY,aAAZ,EAAmC,eAAnC,EAA0D;AACxD,UAAM,MAAM,GAAG,aAAG,YAAH,CAAgB,aAAhB,CAAf;;AACA,UAAM,MAAM,GAAG,IAAI,YAAJ,CAAiB,MAAjB,CAAf,CAFwD,CAGxD;;AACA,QAAI,CAAC,MAAM,CAAC,KAAP,CAAa,CAAE,IAAF,EAAQ,IAAR,CAAb,CAAL,EAAmC;AACjC,YAAM,IAAI,KAAJ,CAAU,yBAAV,CAAN;AACD;;AACD,IAAA,MAAM,CAAC,IAAP,CAAY,EAAZ,EAPwD,CAQxD;;AACA,IAAA,MAAM,CAAC,IAAP,CAAY,MAAM,CAAC,MAAP,KAAkB,MAAM,CAAC,QAArC,EATwD,CAUxD;;AACA,QAAI,CAAC,MAAM,CAAC,KAAP,CAAa,CAAE,IAAF,EAAQ,IAAR,EAAc,IAAd,EAAoB,IAApB,CAAb,CAAL,EAA+C;AAC7C,YAAM,IAAI,KAAJ,CAAU,yBAAV,CAAN;AACD;;AACD,IAAA,MAAM,CAAC,IAAP,CAAY,CAAZ;AACA,UAAM,gBAAgB,GAAG,MAAM,CAAC,MAAP,EAAzB;AACA,IAAA,MAAM,CAAC,IAAP,CAAY,EAAZ;AACA,UAAM,oBAAoB,GAAG,MAAM,CAAC,MAAP,EAA7B;AACA,IAAA,MAAM,CAAC,IAAP,CAAY,CAAZ;AACA,IAAA,MAAM,CAAC,IAAP,CAAY,oBAAZ,EAnBwD,CAoBxD;;AACA,QAAI,UAAU,GAAG,CAAjB;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,gBAApB,EAAsC,CAAC,EAAvC,EAA2C;AACzC,YAAM,IAAI,GAAG,MAAM,CAAC,MAAP,CAAc,CAAd,CAAb;AACA,MAAA,MAAM,CAAC,IAAP,CAAY,CAAZ;AACA,YAAM,OAAO,GAAG,MAAM,CAAC,MAAP,EAAhB;AACA,YAAM,UAAU,GAAG,MAAM,CAAC,MAAP,EAAnB;AACA,MAAA,MAAM,CAAC,IAAP,CAAY,EAAZ;;AACA,cAAQ,IAAR;AACE,aAAK,OAAL;AACA,aAAK,QAAL;AACA,aAAK,OAAL;AACA,aAAK,OAAL;AAAc;AACZ,YAAA,UAAU,GAAG,IAAI,CAAC,GAAL,CAAS,UAAU,GAAG,OAAtB,EAA+B,UAA/B,CAAb;AACA;AACD;;AACD;AAAS;AACP,gBAAI,UAAU,KAAK,CAAf,IAAoB,OAAO,KAAK,CAApC,EAAuC;AACrC,oBAAM,IAAI,KAAJ,CAAU,0BAA0B,IAA1B,GAAiC,IAA3C,CAAN;AACD;;AACD;AACD;AAbH;AAeD;;AACD,UAAM,UAAU,GAAG,MAAM,CAAC,QAAP,CAAgB,CAAhB,EAAmB,UAAnB,CAAnB;AACA,UAAM,QAAQ,GAAG,MAAM,CAAC,MAAP,GAAgB,UAAjC;AACA,UAAM,UAAU,GAAG,IAAI,YAAJ,CAAiB,MAAM,CAAC,QAAP,CAAgB,UAAhB,EAA4B,UAAU,GAAG,QAAzC,CAAjB,CAAnB;AACA,UAAM,aAAa,GAAG,CAAE,IAAF,EAAQ,IAAR,EAAc,IAAd,EAAoB,IAApB,EAA0B,IAA1B,EAAgC,IAAhC,EAAsC,IAAtC,EAA4C,IAA5C,EAAkD,IAAlD,EAAwD,IAAxD,EAA8D,IAA9D,EAAoE,IAApE,EAA0E,IAA1E,EAAgF,IAAhF,EAAsF,IAAtF,EAA4F,IAA5F,CAAtB;AACA,IAAA,UAAU,CAAC,MAAX,GAhDwD,CAgDpC;;AACpB,QAAI,CAAC,UAAU,CAAC,KAAX,CAAiB,aAAjB,CAAL,EAAsC;AACpC,YAAM,IAAI,KAAJ,CAAU,oBAAV,CAAN;AACD;;AACD,IAAA,UAAU,CAAC,MAAX,GApDwD,CAoDpC;;AACpB,QAAI,QAAQ,KAAK,UAAU,CAAC,MAAX,EAAjB,EAAsC;AACpC,YAAM,IAAI,KAAJ,CAAU,gBAAV,CAAN;AACD;;AAED,QAAI,WAAW,GAAG,IAAlB;;AACA,WAAO,IAAP,EAAa;AACX,UAAI,IAAI,GAAG,UAAU,CAAC,MAAX,EAAX;AACA,YAAM,UAAU,GAAG,CAAC,IAAI,GAAG,UAAR,MAAwB,CAA3C;AACA,MAAA,IAAI,GAAG,IAAI,GAAG,UAAd;;AACA,UAAI,IAAI,KAAK,CAAT,IAAe,UAAU,CAAC,QAAX,GAAsB,IAAvB,GAA+B,UAAU,CAAC,MAAxD,IAAkE,UAAU,CAAC,QAAX,IAAuB,UAAU,CAAC,MAAxG,EAAgH;AAC9G;AACD;;AACD,UAAI,MAAM,GAAG,UAAU,CAAC,KAAX,CAAiB,IAAjB,CAAb;;AACA,UAAI,UAAJ,EAAgB;AACd,QAAA,MAAM,GAAG,gBAAK,cAAL,CAAoB,MAApB,CAAT;AACD;;AACD,YAAM,WAAW,GAAG,IAAI,YAAJ,CAAiB,MAAjB,CAApB;AACA,MAAA,WAAW,CAAC,MAAZ,GAZW,CAYU;;AACrB,UAAI,WAAW,CAAC,KAAZ,CAAkB,aAAlB,CAAJ,EAAsC;AACpC,YAAI,WAAJ,EAAiB;AACf,gBAAM,IAAI,KAAJ,CAAU,wBAAV,CAAN;AACD;;AACD,QAAA,WAAW,GAAG,MAAd;AACD;AACF;;AACD,QAAI,CAAC,WAAL,EAAkB;AAChB,YAAM,IAAI,KAAJ,CAAU,wBAAV,CAAN;AACD;;AACD,iBAAG,aAAH,CAAiB,eAAjB,EAAkC,UAAlC;;AACA,iBAAG,cAAH,CAAkB,eAAlB,EAAmC,WAAnC;AACD;;AArF2B,C","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { Arch, log } from \"builder-util\"\nimport { PackageFileInfo } from \"builder-util-runtime\"\nimport { getBinFromUrl } from \"../../binDownload\"\nimport { copyFile } from \"builder-util/out/fs\"\nimport { unlink } from \"fs-extra\"\nimport { Lazy } from \"lazy-val\"\nimport * as path from \"path\"\nimport { getTemplatePath } from \"../../util/pathManager\"\nimport { NsisTarget } from \"./NsisTarget\"\nimport fs from \"fs\"\nimport zlib from \"zlib\"\n\nexport const nsisTemplatesDir = getTemplatePath(\"nsis\")\n\nexport const NSIS_PATH = new Lazy(() => {\n const custom = process.env.ELECTRON_BUILDER_NSIS_DIR\n if (custom != null && custom.length > 0) {\n return Promise.resolve(custom.trim())\n }\n // noinspection SpellCheckingInspection\n return getBinFromUrl(\"nsis\", \"3.0.4.1\", \"VKMiizYdmNdJOWpRGz4trl4lD++BvYP2irAXpMilheUP0pc93iKlWAoP843Vlraj8YG19CVn0j+dCo/hURz9+Q==\")\n})\n\nexport class AppPackageHelper {\n private readonly archToFileInfo = new Map<Arch, Promise<PackageFileInfo>>()\n private readonly infoToIsDelete = new Map<PackageFileInfo, boolean>()\n\n /** @private */\n refCount = 0\n\n constructor(private readonly elevateHelper: CopyElevateHelper) {\n }\n\n async packArch(arch: Arch, target: NsisTarget): Promise<PackageFileInfo> {\n let infoPromise = this.archToFileInfo.get(arch)\n if (infoPromise == null) {\n const appOutDir = target.archs.get(arch)!\n infoPromise = this.elevateHelper.copy(appOutDir, target)\n .then(() => target.buildAppPackage(appOutDir, arch))\n this.archToFileInfo.set(arch, infoPromise)\n }\n\n const info = await infoPromise\n if (target.isWebInstaller) {\n this.infoToIsDelete.set(info, false)\n }\n else if (!this.infoToIsDelete.has(info)) {\n this.infoToIsDelete.set(info, true)\n }\n return info\n }\n\n async finishBuild(): Promise<any> {\n if (--this.refCount > 0) {\n return\n }\n\n const filesToDelete: Array<string> = []\n for (const [info, isDelete] of this.infoToIsDelete.entries()) {\n if (isDelete) {\n filesToDelete.push(info.path)\n }\n }\n\n await BluebirdPromise.map(filesToDelete, it => unlink(it))\n }\n}\n\nexport class CopyElevateHelper {\n private readonly copied = new Map<string, Promise<any>>()\n\n copy(appOutDir: string, target: NsisTarget): Promise<any> {\n if (!target.packager.info.framework.isCopyElevateHelper) {\n return Promise.resolve()\n }\n\n let isPackElevateHelper = target.options.packElevateHelper\n if (isPackElevateHelper === false && target.options.perMachine === true) {\n isPackElevateHelper = true\n log.warn(\"`packElevateHelper = false` is ignored, because `perMachine` is set to `true`\")\n }\n\n if (isPackElevateHelper === false) {\n return Promise.resolve()\n }\n\n let promise = this.copied.get(appOutDir)\n if (promise != null) {\n return promise\n }\n\n promise = NSIS_PATH.value\n .then(it => {\n const outFile = path.join(appOutDir, \"resources\", \"elevate.exe\")\n const promise = copyFile(path.join(it, \"elevate.exe\"), outFile, false)\n if (target.packager.platformSpecificBuildOptions.signAndEditExecutable !== false) {\n return promise.then(() => target.packager.sign(outFile))\n }\n return promise\n })\n this.copied.set(appOutDir, promise)\n return promise\n }\n}\n\nclass BinaryReader {\n private readonly _buffer: Buffer\n private _position: number\n\n constructor(buffer: Buffer) {\n this._buffer = buffer\n this._position = 0\n }\n\n get length(): number {\n return this._buffer.length\n }\n\n get position(): number {\n return this._position\n }\n\n match(signature: Array<number>): boolean {\n if (signature.every((v, i) => this._buffer[this._position + i] === v)) {\n this._position += signature.length\n return true\n }\n return false\n }\n\n skip(offset: number) {\n this._position += offset\n }\n\n bytes(size: number): Buffer {\n const value = this._buffer.subarray(this._position, this._position + size)\n this._position += size\n return value\n }\n\n uint16(): number {\n const value = this._buffer[this._position] | (this._buffer[this._position + 1] << 8)\n this._position += 2\n return value\n }\n\n uint32(): number {\n return this.uint16() | (this.uint16() << 16)\n }\n\n string(length: number): string {\n let value = \"\"\n for (let i = 0; i < length; i++) {\n const c = this._buffer[this._position + i]\n if (c === 0x00) {\n break\n }\n value += String.fromCharCode(c)\n }\n this._position += length\n return value\n }\n}\n\nexport class UninstallerReader {\n // noinspection SpellCheckingInspection\n static exec(installerPath: string, uninstallerPath: string) {\n const buffer = fs.readFileSync(installerPath)\n const reader = new BinaryReader(buffer)\n // IMAGE_DOS_HEADER\n if (!reader.match([ 0x4D, 0x5A ])) {\n throw new Error(\"Invalid 'MZ' signature.\")\n }\n reader.skip(58)\n // e_lfanew\n reader.skip(reader.uint32() - reader.position)\n // IMAGE_FILE_HEADER\n if (!reader.match([ 0x50, 0x45, 0x00, 0x00 ])) {\n throw new Error(\"Invalid 'PE' signature.\")\n }\n reader.skip(2)\n const numberOfSections = reader.uint16()\n reader.skip(12)\n const sizeOfOptionalHeader = reader.uint16()\n reader.skip(2)\n reader.skip(sizeOfOptionalHeader)\n // IMAGE_SECTION_HEADER\n let nsisOffset = 0\n for (let i = 0; i < numberOfSections; i++) {\n const name = reader.string(8)\n reader.skip(8)\n const rawSize = reader.uint32()\n const rawPointer = reader.uint32()\n reader.skip(16)\n switch (name) {\n case \".text\":\n case \".rdata\":\n case \".data\":\n case \".rsrc\": {\n nsisOffset = Math.max(rawPointer + rawSize, nsisOffset)\n break\n }\n default: {\n if (rawPointer !== 0 && rawSize !== 0) {\n throw new Error(\"Unsupported section '\" + name + \"'.\")\n }\n break\n }\n }\n }\n const executable = buffer.subarray(0, nsisOffset)\n const nsisSize = buffer.length - nsisOffset\n const nsisReader = new BinaryReader(buffer.subarray(nsisOffset, nsisOffset + nsisSize))\n const nsisSignature = [ 0xEF, 0xBE, 0xAD, 0xDE, 0x4E, 0x75, 0x6C, 0x6C, 0x73, 0x6F, 0x66, 0x74, 0x49, 0x6E, 0x73, 0x74 ]\n nsisReader.uint32() // ?\n if (!nsisReader.match(nsisSignature)) {\n throw new Error(\"Invalid signature.\")\n }\n nsisReader.uint32() // ?\n if (nsisSize !== nsisReader.uint32()) {\n throw new Error(\"Size mismatch.\")\n }\n\n let innerBuffer = null\n while (true) {\n let size = nsisReader.uint32()\n const compressed = (size & 0x80000000) !== 0\n size = size & 0x7FFFFFFF\n if (size === 0 || (nsisReader.position + size) > nsisReader.length || nsisReader.position >= nsisReader.length) {\n break\n }\n let buffer = nsisReader.bytes(size)\n if (compressed) {\n buffer = zlib.inflateRawSync(buffer)\n }\n const innerReader = new BinaryReader(buffer)\n innerReader.uint32() // ?\n if (innerReader.match(nsisSignature)) {\n if (innerBuffer) {\n throw new Error(\"Multiple inner blocks.\")\n }\n innerBuffer = buffer\n }\n }\n if (!innerBuffer) {\n throw new Error(\"Inner block not found.\")\n }\n fs.writeFileSync(uninstallerPath, executable)\n fs.appendFileSync(uninstallerPath, innerBuffer)\n }\n}\n"],"sourceRoot":""}
|
package/out/targets/pkg.d.ts
CHANGED
|
File without changes
|
package/out/targets/pkg.js
CHANGED
|
@@ -90,7 +90,7 @@ function _core() {
|
|
|
90
90
|
|
|
91
91
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
92
92
|
|
|
93
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {};
|
|
93
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
94
94
|
|
|
95
95
|
const certType = "Developer ID Installer"; // http://www.shanekirk.com/2013/10/creating-flat-packages-in-osx/
|
|
96
96
|
// to use --scripts, we must build .app bundle separately using pkgbuild
|
|
@@ -150,6 +150,17 @@ class PkgTarget extends _core().Target {
|
|
|
150
150
|
});
|
|
151
151
|
const options = this.options;
|
|
152
152
|
let distInfo = await (0, _fsExtra().readFile)(distInfoFile, "utf-8");
|
|
153
|
+
|
|
154
|
+
if (options.mustClose != null && options.mustClose.length !== 0) {
|
|
155
|
+
const startContent = ` <pkg-ref id="${this.packager.appInfo.id}">\n <must-close>\n`;
|
|
156
|
+
const endContent = " </must-close>\n </pkg-ref>\n</installer-gui-script>";
|
|
157
|
+
let mustCloseContent = "";
|
|
158
|
+
options.mustClose.forEach(appId => {
|
|
159
|
+
mustCloseContent += ` <app id="${appId}"/>\n`;
|
|
160
|
+
});
|
|
161
|
+
distInfo = distInfo.replace("</installer-gui-script>", `${startContent}${mustCloseContent}${endContent}`);
|
|
162
|
+
}
|
|
163
|
+
|
|
153
164
|
const insertIndex = distInfo.lastIndexOf("</installer-gui-script>");
|
|
154
165
|
distInfo = distInfo.substring(0, insertIndex) + ` <domains enable_anywhere="${options.allowAnywhere}" enable_currentUserHome="${options.allowCurrentUserHome}" enable_localSystem="${options.allowRootDirectory}" />\n` + distInfo.substring(insertIndex);
|
|
155
166
|
|
package/out/targets/pkg.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/targets/pkg.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arch, debug, exec, use } from \"builder-util\"\nimport { statOrNull } from \"builder-util/out/fs\"\nimport { executeAppBuilderAndWriteJson, executeAppBuilderAsJson } from \"../util/appBuilder\"\nimport { getNotLocalizedLicenseFile } from \"../util/license\"\nimport { readFile, unlink, writeFile } from \"fs-extra\"\nimport * as path from \"path\"\nimport { PkgOptions } from \"..\"\nimport { filterCFBundleIdentifier } from \"../appInfo\"\nimport { findIdentity, Identity } from \"../codeSign/macCodeSign\"\nimport { Target } from \"../core\"\nimport MacPackager from \"../macPackager\"\n\nconst certType = \"Developer ID Installer\"\n\n// http://www.shanekirk.com/2013/10/creating-flat-packages-in-osx/\n// to use --scripts, we must build .app bundle separately using pkgbuild\n// productbuild --scripts doesn't work (because scripts in this case not added to our package)\n// https://github.com/electron-userland/electron-osx-sign/issues/96#issuecomment-274986942\nexport class PkgTarget extends Target {\n readonly options: PkgOptions = {\n allowAnywhere: true,\n allowCurrentUserHome: true,\n allowRootDirectory: true,\n ...this.packager.config.pkg,\n }\n\n constructor(private readonly packager: MacPackager, readonly outDir: string) {\n super(\"pkg\")\n }\n\n async build(appPath: string, arch: Arch): Promise<any> {\n const packager = this.packager\n const options = this.options\n const appInfo = packager.appInfo\n\n // pkg doesn't like not ASCII symbols (Could not open package to list files: /Volumes/test/t-gIjdGK/test-project-0/dist/Test App ßW-1.1.0.pkg)\n const artifactName = packager.expandArtifactNamePattern(options, \"pkg\")\n const artifactPath = path.join(this.outDir, artifactName)\n\n await packager.info.callArtifactBuildStarted({\n targetPresentableName: \"pkg\",\n file: artifactPath,\n arch,\n })\n\n const keychainFile = (await packager.codeSigningInfo.value).keychainFile\n\n const appOutDir = this.outDir\n // https://developer.apple.com/library/content/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html\n const distInfoFile = path.join(appOutDir, \"distribution.xml\")\n\n const innerPackageFile = path.join(appOutDir, `${filterCFBundleIdentifier(appInfo.id)}.pkg`)\n const componentPropertyListFile = path.join(appOutDir, `${filterCFBundleIdentifier(appInfo.id)}.plist`)\n const identity = (await Promise.all([\n findIdentity(certType, options.identity || packager.platformSpecificBuildOptions.identity, keychainFile),\n this.customizeDistributionConfiguration(distInfoFile, appPath),\n this.buildComponentPackage(appPath, componentPropertyListFile, innerPackageFile),\n ]))[0]\n\n if (identity == null && packager.forceCodeSigning) {\n throw new Error(`Cannot find valid \"${certType}\" to sign standalone installer, please see https://electron.build/code-signing`)\n }\n\n const args = prepareProductBuildArgs(identity, keychainFile)\n args.push(\"--distribution\", distInfoFile)\n args.push(artifactPath)\n use(options.productbuild, it => args.push(...it as any))\n await exec(\"productbuild\", args, {\n cwd: appOutDir,\n })\n await Promise.all([unlink(innerPackageFile), unlink(distInfoFile)])\n\n await packager.dispatchArtifactCreated(artifactPath, this, arch, packager.computeSafeArtifactName(artifactName, \"pkg\", arch))\n }\n\n private async customizeDistributionConfiguration(distInfoFile: string, appPath: string) {\n await exec(\"productbuild\", [\"--synthesize\", \"--component\", appPath, distInfoFile], {\n cwd: this.outDir,\n })\n\n const options = this.options\n let distInfo = await readFile(distInfoFile, \"utf-8\")\n const insertIndex = distInfo.lastIndexOf(\"</installer-gui-script>\")\n distInfo = distInfo.substring(0, insertIndex) + ` <domains enable_anywhere=\"${options.allowAnywhere}\" enable_currentUserHome=\"${options.allowCurrentUserHome}\" enable_localSystem=\"${options.allowRootDirectory}\" />\\n` + distInfo.substring(insertIndex)\n\n if (options.background != null) {\n const background = await this.packager.getResource(options.background.file)\n if (background != null) {\n const alignment = options.background.alignment || \"center\"\n // noinspection SpellCheckingInspection\n const scaling = options.background.scaling || \"tofit\"\n distInfo = distInfo.substring(0, insertIndex) + ` <background file=\"${background}\" alignment=\"${alignment}\" scaling=\"${scaling}\"/>\\n` + distInfo.substring(insertIndex)\n }\n }\n\n const welcome = await this.packager.getResource(options.welcome)\n if (welcome != null) {\n distInfo = distInfo.substring(0, insertIndex) + ` <welcome file=\"${welcome}\"/>\\n` + distInfo.substring(insertIndex)\n }\n\n const license = await getNotLocalizedLicenseFile(options.license, this.packager)\n if (license != null) {\n distInfo = distInfo.substring(0, insertIndex) + ` <license file=\"${license}\"/>\\n` + distInfo.substring(insertIndex)\n }\n\n const conclusion = await this.packager.getResource(options.conclusion)\n if (conclusion != null) {\n distInfo = distInfo.substring(0, insertIndex) + ` <conclusion file=\"${conclusion}\"/>\\n` + distInfo.substring(insertIndex)\n }\n\n debug(distInfo)\n await writeFile(distInfoFile, distInfo)\n }\n\n private async buildComponentPackage(appPath: string, propertyListOutputFile: string, packageOutputFile: string) {\n const options = this.options\n const rootPath = path.dirname(appPath)\n\n // first produce a component plist template\n await exec(\"pkgbuild\", [\n \"--analyze\",\n \"--root\", rootPath,\n propertyListOutputFile,\n ])\n\n // process the template plist\n const plistInfo = (await executeAppBuilderAsJson<Array<any>>([\"decode-plist\", \"-f\", propertyListOutputFile]))[0].filter((it: any) => it.RootRelativeBundlePath !== \"Electron.dSYM\")\n if (plistInfo.length > 0) {\n const packageInfo = plistInfo[0]\n\n // ChildBundles lists all of electron binaries within the .app.\n // There is no particular reason for removing that key, except to be as close as possible to\n // the PackageInfo generated by previous versions of electron-builder.\n delete packageInfo.ChildBundles\n\n if (options.isRelocatable != null) {\n packageInfo.BundleIsRelocatable = options.isRelocatable\n }\n\n if (options.isVersionChecked != null) {\n packageInfo.BundleIsVersionChecked = options.isVersionChecked\n }\n\n if (options.hasStrictIdentifier != null) {\n packageInfo.BundleHasStrictIdentifier = options.hasStrictIdentifier\n }\n\n if (options.overwriteAction != null) {\n packageInfo.BundleOverwriteAction = options.overwriteAction\n }\n\n await executeAppBuilderAndWriteJson([\"encode-plist\"], {[propertyListOutputFile]: plistInfo})\n }\n\n // now build the package\n const args = [\n \"--root\", rootPath,\n \"--component-plist\", propertyListOutputFile,\n ]\n\n use(this.options.installLocation || \"/Applications\", it => args.push(\"--install-location\", it!))\n if (options.scripts != null) {\n args.push(\"--scripts\", path.resolve(this.packager.info.buildResourcesDir, options.scripts))\n }\n else if (options.scripts !== null) {\n const dir = path.join(this.packager.info.buildResourcesDir, \"pkg-scripts\")\n const stat = await statOrNull(dir)\n if (stat != null && stat.isDirectory()) {\n args.push(\"--scripts\", dir)\n }\n }\n\n args.push(packageOutputFile)\n\n await exec(\"pkgbuild\", args)\n }\n}\n\nexport function prepareProductBuildArgs(identity: Identity | null, keychain: string | null | undefined): Array<string> {\n const args: Array<string> = []\n if (identity != null) {\n args.push(\"--sign\", identity.hash)\n if (keychain != null) {\n args.push(\"--keychain\", keychain)\n }\n }\n return args\n}\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["../../src/targets/pkg.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arch, debug, exec, use } from \"builder-util\"\nimport { statOrNull } from \"builder-util/out/fs\"\nimport { executeAppBuilderAndWriteJson, executeAppBuilderAsJson } from \"../util/appBuilder\"\nimport { getNotLocalizedLicenseFile } from \"../util/license\"\nimport { readFile, unlink, writeFile } from \"fs-extra\"\nimport * as path from \"path\"\nimport { PkgOptions } from \"..\"\nimport { filterCFBundleIdentifier } from \"../appInfo\"\nimport { findIdentity, Identity } from \"../codeSign/macCodeSign\"\nimport { Target } from \"../core\"\nimport MacPackager from \"../macPackager\"\n\nconst certType = \"Developer ID Installer\"\n\n// http://www.shanekirk.com/2013/10/creating-flat-packages-in-osx/\n// to use --scripts, we must build .app bundle separately using pkgbuild\n// productbuild --scripts doesn't work (because scripts in this case not added to our package)\n// https://github.com/electron-userland/electron-osx-sign/issues/96#issuecomment-274986942\nexport class PkgTarget extends Target {\n readonly options: PkgOptions = {\n allowAnywhere: true,\n allowCurrentUserHome: true,\n allowRootDirectory: true,\n ...this.packager.config.pkg,\n }\n\n constructor(private readonly packager: MacPackager, readonly outDir: string) {\n super(\"pkg\")\n }\n\n async build(appPath: string, arch: Arch): Promise<any> {\n const packager = this.packager\n const options = this.options\n const appInfo = packager.appInfo\n\n // pkg doesn't like not ASCII symbols (Could not open package to list files: /Volumes/test/t-gIjdGK/test-project-0/dist/Test App ßW-1.1.0.pkg)\n const artifactName = packager.expandArtifactNamePattern(options, \"pkg\")\n const artifactPath = path.join(this.outDir, artifactName)\n\n await packager.info.callArtifactBuildStarted({\n targetPresentableName: \"pkg\",\n file: artifactPath,\n arch,\n })\n\n const keychainFile = (await packager.codeSigningInfo.value).keychainFile\n\n const appOutDir = this.outDir\n // https://developer.apple.com/library/content/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html\n const distInfoFile = path.join(appOutDir, \"distribution.xml\")\n\n const innerPackageFile = path.join(appOutDir, `${filterCFBundleIdentifier(appInfo.id)}.pkg`)\n const componentPropertyListFile = path.join(appOutDir, `${filterCFBundleIdentifier(appInfo.id)}.plist`)\n const identity = (await Promise.all([\n findIdentity(certType, options.identity || packager.platformSpecificBuildOptions.identity, keychainFile),\n this.customizeDistributionConfiguration(distInfoFile, appPath),\n this.buildComponentPackage(appPath, componentPropertyListFile, innerPackageFile),\n ]))[0]\n\n if (identity == null && packager.forceCodeSigning) {\n throw new Error(`Cannot find valid \"${certType}\" to sign standalone installer, please see https://electron.build/code-signing`)\n }\n\n const args = prepareProductBuildArgs(identity, keychainFile)\n args.push(\"--distribution\", distInfoFile)\n args.push(artifactPath)\n use(options.productbuild, it => args.push(...it as any))\n await exec(\"productbuild\", args, {\n cwd: appOutDir,\n })\n await Promise.all([unlink(innerPackageFile), unlink(distInfoFile)])\n\n await packager.dispatchArtifactCreated(artifactPath, this, arch, packager.computeSafeArtifactName(artifactName, \"pkg\", arch))\n }\n\n private async customizeDistributionConfiguration(distInfoFile: string, appPath: string) {\n await exec(\"productbuild\", [\"--synthesize\", \"--component\", appPath, distInfoFile], {\n cwd: this.outDir,\n })\n\n const options = this.options\n let distInfo = await readFile(distInfoFile, \"utf-8\")\n\n if (options.mustClose != null && options.mustClose.length !== 0) {\n const startContent = ` <pkg-ref id=\"${this.packager.appInfo.id}\">\\n <must-close>\\n`\n const endContent = \" </must-close>\\n </pkg-ref>\\n</installer-gui-script>\"\n let mustCloseContent = \"\"\n options.mustClose.forEach(appId => {\n mustCloseContent += ` <app id=\"${appId}\"/>\\n`\n })\n distInfo = distInfo.replace(\"</installer-gui-script>\", `${startContent}${mustCloseContent}${endContent}`)\n }\n\n const insertIndex = distInfo.lastIndexOf(\"</installer-gui-script>\")\n distInfo = distInfo.substring(0, insertIndex) + ` <domains enable_anywhere=\"${options.allowAnywhere}\" enable_currentUserHome=\"${options.allowCurrentUserHome}\" enable_localSystem=\"${options.allowRootDirectory}\" />\\n` + distInfo.substring(insertIndex)\n\n if (options.background != null) {\n const background = await this.packager.getResource(options.background.file)\n if (background != null) {\n const alignment = options.background.alignment || \"center\"\n // noinspection SpellCheckingInspection\n const scaling = options.background.scaling || \"tofit\"\n distInfo = distInfo.substring(0, insertIndex) + ` <background file=\"${background}\" alignment=\"${alignment}\" scaling=\"${scaling}\"/>\\n` + distInfo.substring(insertIndex)\n }\n }\n\n const welcome = await this.packager.getResource(options.welcome)\n if (welcome != null) {\n distInfo = distInfo.substring(0, insertIndex) + ` <welcome file=\"${welcome}\"/>\\n` + distInfo.substring(insertIndex)\n }\n\n const license = await getNotLocalizedLicenseFile(options.license, this.packager)\n if (license != null) {\n distInfo = distInfo.substring(0, insertIndex) + ` <license file=\"${license}\"/>\\n` + distInfo.substring(insertIndex)\n }\n\n const conclusion = await this.packager.getResource(options.conclusion)\n if (conclusion != null) {\n distInfo = distInfo.substring(0, insertIndex) + ` <conclusion file=\"${conclusion}\"/>\\n` + distInfo.substring(insertIndex)\n }\n\n debug(distInfo)\n await writeFile(distInfoFile, distInfo)\n }\n\n private async buildComponentPackage(appPath: string, propertyListOutputFile: string, packageOutputFile: string) {\n const options = this.options\n const rootPath = path.dirname(appPath)\n\n // first produce a component plist template\n await exec(\"pkgbuild\", [\n \"--analyze\",\n \"--root\", rootPath,\n propertyListOutputFile,\n ])\n\n // process the template plist\n const plistInfo = (await executeAppBuilderAsJson<Array<any>>([\"decode-plist\", \"-f\", propertyListOutputFile]))[0].filter((it: any) => it.RootRelativeBundlePath !== \"Electron.dSYM\")\n if (plistInfo.length > 0) {\n const packageInfo = plistInfo[0]\n\n // ChildBundles lists all of electron binaries within the .app.\n // There is no particular reason for removing that key, except to be as close as possible to\n // the PackageInfo generated by previous versions of electron-builder.\n delete packageInfo.ChildBundles\n\n if (options.isRelocatable != null) {\n packageInfo.BundleIsRelocatable = options.isRelocatable\n }\n\n if (options.isVersionChecked != null) {\n packageInfo.BundleIsVersionChecked = options.isVersionChecked\n }\n\n if (options.hasStrictIdentifier != null) {\n packageInfo.BundleHasStrictIdentifier = options.hasStrictIdentifier\n }\n\n if (options.overwriteAction != null) {\n packageInfo.BundleOverwriteAction = options.overwriteAction\n }\n\n await executeAppBuilderAndWriteJson([\"encode-plist\"], {[propertyListOutputFile]: plistInfo})\n }\n\n // now build the package\n const args = [\n \"--root\", rootPath,\n \"--component-plist\", propertyListOutputFile,\n ]\n\n use(this.options.installLocation || \"/Applications\", it => args.push(\"--install-location\", it!))\n if (options.scripts != null) {\n args.push(\"--scripts\", path.resolve(this.packager.info.buildResourcesDir, options.scripts))\n }\n else if (options.scripts !== null) {\n const dir = path.join(this.packager.info.buildResourcesDir, \"pkg-scripts\")\n const stat = await statOrNull(dir)\n if (stat != null && stat.isDirectory()) {\n args.push(\"--scripts\", dir)\n }\n }\n\n args.push(packageOutputFile)\n\n await exec(\"pkgbuild\", args)\n }\n}\n\nexport function prepareProductBuildArgs(identity: Identity | null, keychain: string | null | undefined): Array<string> {\n const args: Array<string> = []\n if (identity != null) {\n args.push(\"--sign\", identity.hash)\n if (keychain != null) {\n args.push(\"--keychain\", keychain)\n }\n }\n return args\n}\n"],"sourceRoot":""}
|
package/out/targets/snap.d.ts
CHANGED
|
File without changes
|
package/out/targets/snap.js
CHANGED
|
@@ -89,7 +89,7 @@ function _targetUtil() {
|
|
|
89
89
|
|
|
90
90
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
91
91
|
|
|
92
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {};
|
|
92
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
93
93
|
|
|
94
94
|
const defaultPlugs = ["desktop", "desktop-legacy", "home", "x11", "wayland", "unity7", "browser-support", "network", "gsettings", "pulseaudio", "opengl"];
|
|
95
95
|
|
package/out/targets/snap.js.map
CHANGED
|
File without changes
|
|
@@ -7,6 +7,6 @@ export declare function createCommonTarget(target: string, outDir: string, packa
|
|
|
7
7
|
export declare class NoOpTarget extends Target {
|
|
8
8
|
readonly options: null;
|
|
9
9
|
constructor(name: string);
|
|
10
|
-
|
|
10
|
+
get outDir(): string;
|
|
11
11
|
build(appOutDir: string, arch: Arch): Promise<any>;
|
|
12
12
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -32,7 +32,7 @@ function _builderUtil() {
|
|
|
32
32
|
|
|
33
33
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
34
34
|
|
|
35
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {};
|
|
35
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
36
36
|
|
|
37
37
|
class StageDir {
|
|
38
38
|
constructor(dir) {
|
|
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
|
|
@@ -19,7 +19,7 @@ var path = _interopRequireWildcard(require("path"));
|
|
|
19
19
|
|
|
20
20
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
21
21
|
|
|
22
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {};
|
|
22
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
23
|
|
|
24
24
|
const nodeModulesSystemDependentSuffix = `${path.sep}node_modules`;
|
|
25
25
|
|
|
File without changes
|
|
File without changes
|
|
@@ -69,7 +69,7 @@ function _AppFileWalker() {
|
|
|
69
69
|
|
|
70
70
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
71
71
|
|
|
72
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {};
|
|
72
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
73
73
|
|
|
74
74
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
75
75
|
|
|
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
|
|
@@ -114,7 +114,7 @@ function _NodeModuleCopyHelper() {
|
|
|
114
114
|
|
|
115
115
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
116
116
|
|
|
117
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {};
|
|
117
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
118
118
|
|
|
119
119
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
120
120
|
|
|
@@ -137,15 +137,17 @@ function getDestinationPath(file, fileSet) {
|
|
|
137
137
|
// hoisted node_modules
|
|
138
138
|
// not lastIndexOf, to ensure that nested module (top-level module depends on) copied to parent node_modules, not to top-level directory
|
|
139
139
|
// project https://github.com/angexis/punchcontrol/commit/cf929aba55c40d0d8901c54df7945e1d001ce022
|
|
140
|
-
|
|
140
|
+
let index = file.indexOf(_fileTransformer().NODE_MODULES_PATTERN);
|
|
141
|
+
|
|
142
|
+
if (index < 0 && file.endsWith(`${path.sep}node_modules`)) {
|
|
143
|
+
index = file.length - 13;
|
|
144
|
+
}
|
|
141
145
|
|
|
142
146
|
if (index < 0) {
|
|
143
147
|
throw new Error(`File "${file}" not under the source directory "${fileSet.src}"`);
|
|
144
148
|
}
|
|
145
149
|
|
|
146
|
-
return dest + file.substring(index
|
|
147
|
-
/* leading slash */
|
|
148
|
-
);
|
|
150
|
+
return dest + file.substring(index);
|
|
149
151
|
}
|
|
150
152
|
}
|
|
151
153
|
}
|
|
@@ -316,21 +318,14 @@ async function computeNodeModuleFileSets(platformPackager, mainMatcher) {
|
|
|
316
318
|
|
|
317
319
|
for (const info of deps) {
|
|
318
320
|
const source = info.dir;
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
files: [],
|
|
326
|
-
metadata: null
|
|
327
|
-
});
|
|
328
|
-
} else {
|
|
329
|
-
destination = mainMatcher.to + path.sep + "node_modules";
|
|
330
|
-
} // use main matcher patterns, so, user can exclude some files in such hoisted node modules
|
|
321
|
+
const destination = getDestinationPath(source, {
|
|
322
|
+
src: mainMatcher.from,
|
|
323
|
+
destination: mainMatcher.to,
|
|
324
|
+
files: [],
|
|
325
|
+
metadata: null
|
|
326
|
+
}); // use main matcher patterns, so, user can exclude some files in such hoisted node modules
|
|
331
327
|
// source here includes node_modules, but pattern base should be without because users expect that pattern "!node_modules/loot-core/src{,/**/*}" will work
|
|
332
328
|
|
|
333
|
-
|
|
334
329
|
const matcher = new (_fileMatcher().FileMatcher)(path.dirname(source), destination, mainMatcher.macroExpander, mainMatcher.patterns);
|
|
335
330
|
const copier = new (_NodeModuleCopyHelper().NodeModuleCopyHelper)(matcher, platformPackager.info);
|
|
336
331
|
const files = await copier.collectNodeModules(source, info.deps.map(it => it.name), nodeModuleExcludedExts);
|